Patchwork [meta-fsl-arm] SabreLite and u-boot-scripts-boundary

login
register
mail settings
Submitter Erik Botö
Date May 28, 2013, 8:17 a.m.
Message ID <CA+AhUGw6xdYG-u+p1=PD3HN5Mp2mHuOjNPgJhgSUE-NyDD3uCw@mail.gmail.com>
Download mbox | patch
Permalink /patch/50611/
State Not Applicable
Delegated to: Otavio Salvador
Headers show

Comments

Erik Botö - May 28, 2013, 8:17 a.m.
Hi,

I just got a hold of a new SabreLite, and when booting this board
u-boot looks for 6x_bootscript just like nitrogen6x boards. I think
this is an untouched u-boot, could someone verify that this is the way
SabreLites are/were shipped?

But when using MACHINE=imx6qsabrelite this file is not shipped on the
sdcard, so I did some comparisons between the nitrogen6x and
imx6qsabrelite machine configs and found that
PREFERRED_PROVIDER_u-boot = "u-boot-boundary" is not set in the
sabrelite case, and the BOOT_SCRIPTS variable either.

Also, the u-boot-scripts-boundary recipe uses ${MACHINE} to find the
right script in ${S}, but there is no board/boundary/imx6qsabrelite/
directory and the scripts in board/boundary/nitrogen6x/ suggest that
they should be used for sabrelite as well.

I have done the modifications below to make it work, if someone can
confirm that this is the way it's supposed to be I can format a proper
patch and mail it.

Cheers,
Erik


-    install ${S}/board/boundary/${MACHINE}/6x_upgrade \
+    install ${S}/board/boundary/nitrogen6x/6x_upgrade \
             ${DEPLOYDIR}/6x_upgrade-${MACHINE}-${PV}-${PR}

     cd ${DEPLOYDIR}
Gary Thomas - May 28, 2013, 12:23 p.m.
On 2013-05-28 02:17, Erik Botö wrote:
> Hi,
>
> I just got a hold of a new SabreLite, and when booting this board
> u-boot looks for 6x_bootscript just like nitrogen6x boards. I think
> this is an untouched u-boot, could someone verify that this is the way
> SabreLites are/were shipped?
>
> But when using MACHINE=imx6qsabrelite this file is not shipped on the
> sdcard, so I did some comparisons between the nitrogen6x and
> imx6qsabrelite machine configs and found that
> PREFERRED_PROVIDER_u-boot = "u-boot-boundary" is not set in the
> sabrelite case, and the BOOT_SCRIPTS variable either.
>
> Also, the u-boot-scripts-boundary recipe uses ${MACHINE} to find the
> right script in ${S}, but there is no board/boundary/imx6qsabrelite/
> directory and the scripts in board/boundary/nitrogen6x/ suggest that
> they should be used for sabrelite as well.
>
> I have done the modifications below to make it work, if someone can
> confirm that this is the way it's supposed to be I can format a proper
> patch and mail it.

You should just use MACHINE=nitrogen6x as the sabrelite support is being
phased out and the two machines are close enough (and the code has runtime
checks to figure out which is which)

>
> Cheers,
> Erik
>
>
> diff --git a/conf/machine/imx6qsabrelite.conf b/conf/machine/imx6qsabrelite.conf
> index 2155ba0..48128e0 100644
> --- a/conf/machine/imx6qsabrelite.conf
> +++ b/conf/machine/imx6qsabrelite.conf
> @@ -10,10 +10,17 @@ SOC_FAMILY = "mx6:mx6q"
>
>   KERNEL_DEVICETREE = "${S}/arch/arm/boot/dts/imx6q-sabrelite.dts"
>
> +PREFERRED_PROVIDER_u-boot = "u-boot-boundary"
>   PREFERRED_PROVIDER_virtual/kernel = "linux-boundary"
>
>   UBOOT_MACHINE = "mx6qsabrelite_config"
>
>   SERIAL_CONSOLE = "115200 ttymxc1"
>
> +# Ensure boot scripts will be available at rootfs time
> +do_rootfs[depends] += "u-boot-script-boundary:do_deploy"
> +
> +# Boot scripts to install
> +BOOT_SCRIPTS = "6x_bootscript-${MACHINE}:6x_bootscript"
> +
>   MACHINE_FEATURES += " pci wifi bluetooth"
> diff --git a/recipes-bsp/u-boot/u-boot-script-boundary_git.bb
> b/recipes-bsp/u-boot/u-boot-script-boundary_git.bb
> index 4d5e7db..dad313a 100644
> --- a/recipes-bsp/u-boot/u-boot-script-boundary_git.bb
> +++ b/recipes-bsp/u-boot/u-boot-script-boundary_git.bb
> @@ -15,21 +15,21 @@ inherit deploy
>
>   do_mkimage () {
>       uboot-mkimage  -A arm -O linux -T script -C none -a 0 -e 0 \
> -                   -n "boot script" -d
> board/boundary/${MACHINE}/6x_bootscript.txt \
> -                   board/boundary/${MACHINE}/6x_bootscript
> +                   -n "boot script" -d
> board/boundary/nitrogen6x/6x_bootscript.txt \
> +                   board/boundary/nitrogen6x/6x_bootscript
>
>       uboot-mkimage  -A arm -O linux -T script -C none -a 0 -e 0 \
> -                   -n "upgrade script" -d
> board/boundary/${MACHINE}/6x_upgrade.txt \
> -                   board/boundary/${MACHINE}/6x_upgrade
> +                   -n "upgrade script" -d
> board/boundary/nitrogen6x/6x_upgrade.txt \
> +                   board/boundary/nitrogen6x/6x_upgrade
>   }
>
>   addtask mkimage after do_compile before do_install
>
>   do_deploy () {
>       install -d ${DEPLOYDIR}
> -    install ${S}/board/boundary/${MACHINE}/6x_bootscript \
> +    install ${S}/board/boundary/nitrogen6x/6x_bootscript \
>               ${DEPLOYDIR}/6x_bootscript-${MACHINE}-${PV}-${PR}
> -    install ${S}/board/boundary/${MACHINE}/6x_upgrade \
> +    install ${S}/board/boundary/nitrogen6x/6x_upgrade \
>               ${DEPLOYDIR}/6x_upgrade-${MACHINE}-${PV}-${PR}
>
>       cd ${DEPLOYDIR}
> _______________________________________________
> meta-freescale mailing list
> meta-freescale@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-freescale
>
Sébastien Taylor - May 28, 2013, 2:46 p.m.
I ran into the same issue but was able to get the u-boot-fslc layer to work correctly which is the default when MACHINE=imx6qsabrelite.  Some oddities though are that it stores the environment on the MMC card even though u-boot is stored on SPI for this device, and compared to the nitrogen board you need to use the bottom full size sd slot and not the top side micro-sd slot.  Detecting the mmc card also is highly unreliable and nearly always fails the first time, using run bootcmd twice seems to work around this issue.

As far as phasing out support for sabrelite, what does this mean?  Support in u-boot or yocto or …?


On 2013-05-28, at 6:23 AM, Gary Thomas <gary@mlbassoc.com> wrote:

> On 2013-05-28 02:17, Erik Botö wrote:
>> Hi,
>> 
>> I just got a hold of a new SabreLite, and when booting this board
>> u-boot looks for 6x_bootscript just like nitrogen6x boards. I think
>> this is an untouched u-boot, could someone verify that this is the way
>> SabreLites are/were shipped?
>> 
>> But when using MACHINE=imx6qsabrelite this file is not shipped on the
>> sdcard, so I did some comparisons between the nitrogen6x and
>> imx6qsabrelite machine configs and found that
>> PREFERRED_PROVIDER_u-boot = "u-boot-boundary" is not set in the
>> sabrelite case, and the BOOT_SCRIPTS variable either.
>> 
>> Also, the u-boot-scripts-boundary recipe uses ${MACHINE} to find the
>> right script in ${S}, but there is no board/boundary/imx6qsabrelite/
>> directory and the scripts in board/boundary/nitrogen6x/ suggest that
>> they should be used for sabrelite as well.
>> 
>> I have done the modifications below to make it work, if someone can
>> confirm that this is the way it's supposed to be I can format a proper
>> patch and mail it.
> 
> You should just use MACHINE=nitrogen6x as the sabrelite support is being
> phased out and the two machines are close enough (and the code has runtime
> checks to figure out which is which)
> 
>> 
>> Cheers,
>> Erik
>> 
>> 
>> diff --git a/conf/machine/imx6qsabrelite.conf b/conf/machine/imx6qsabrelite.conf
>> index 2155ba0..48128e0 100644
>> --- a/conf/machine/imx6qsabrelite.conf
>> +++ b/conf/machine/imx6qsabrelite.conf
>> @@ -10,10 +10,17 @@ SOC_FAMILY = "mx6:mx6q"
>> 
>>  KERNEL_DEVICETREE = "${S}/arch/arm/boot/dts/imx6q-sabrelite.dts"
>> 
>> +PREFERRED_PROVIDER_u-boot = "u-boot-boundary"
>>  PREFERRED_PROVIDER_virtual/kernel = "linux-boundary"
>> 
>>  UBOOT_MACHINE = "mx6qsabrelite_config"
>> 
>>  SERIAL_CONSOLE = "115200 ttymxc1"
>> 
>> +# Ensure boot scripts will be available at rootfs time
>> +do_rootfs[depends] += "u-boot-script-boundary:do_deploy"
>> +
>> +# Boot scripts to install
>> +BOOT_SCRIPTS = "6x_bootscript-${MACHINE}:6x_bootscript"
>> +
>>  MACHINE_FEATURES += " pci wifi bluetooth"
>> diff --git a/recipes-bsp/u-boot/u-boot-script-boundary_git.bb
>> b/recipes-bsp/u-boot/u-boot-script-boundary_git.bb
>> index 4d5e7db..dad313a 100644
>> --- a/recipes-bsp/u-boot/u-boot-script-boundary_git.bb
>> +++ b/recipes-bsp/u-boot/u-boot-script-boundary_git.bb
>> @@ -15,21 +15,21 @@ inherit deploy
>> 
>>  do_mkimage () {
>>      uboot-mkimage  -A arm -O linux -T script -C none -a 0 -e 0 \
>> -                   -n "boot script" -d
>> board/boundary/${MACHINE}/6x_bootscript.txt \
>> -                   board/boundary/${MACHINE}/6x_bootscript
>> +                   -n "boot script" -d
>> board/boundary/nitrogen6x/6x_bootscript.txt \
>> +                   board/boundary/nitrogen6x/6x_bootscript
>> 
>>      uboot-mkimage  -A arm -O linux -T script -C none -a 0 -e 0 \
>> -                   -n "upgrade script" -d
>> board/boundary/${MACHINE}/6x_upgrade.txt \
>> -                   board/boundary/${MACHINE}/6x_upgrade
>> +                   -n "upgrade script" -d
>> board/boundary/nitrogen6x/6x_upgrade.txt \
>> +                   board/boundary/nitrogen6x/6x_upgrade
>>  }
>> 
>>  addtask mkimage after do_compile before do_install
>> 
>>  do_deploy () {
>>      install -d ${DEPLOYDIR}
>> -    install ${S}/board/boundary/${MACHINE}/6x_bootscript \
>> +    install ${S}/board/boundary/nitrogen6x/6x_bootscript \
>>              ${DEPLOYDIR}/6x_bootscript-${MACHINE}-${PV}-${PR}
>> -    install ${S}/board/boundary/${MACHINE}/6x_upgrade \
>> +    install ${S}/board/boundary/nitrogen6x/6x_upgrade \
>>              ${DEPLOYDIR}/6x_upgrade-${MACHINE}-${PV}-${PR}
>> 
>>      cd ${DEPLOYDIR}
>> _______________________________________________
>> meta-freescale mailing list
>> meta-freescale@yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/meta-freescale
>> 
> 
> -- 
> ------------------------------------------------------------
> Gary Thomas                 |  Consulting for the
> MLB Associates              |    Embedded world
> ------------------------------------------------------------
> _______________________________________________
> meta-freescale mailing list
> meta-freescale@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-freescale
Gary Thomas - May 28, 2013, 2:56 p.m.
On 2013-05-28 08:46, Sébastien Taylor wrote:
> I ran into the same issue but was able to get the u-boot-fslc layer to work correctly which is the default when MACHINE=imx6qsabrelite.  Some oddities though are that it stores the environment on the MMC card even though u-boot is stored on SPI for this device, and compared to the nitrogen board you need to use the bottom full size sd slot and not the top side micro-sd slot.  Detecting the mmc card also is highly unreliable and nearly always fails the first time, using run bootcmd twice seems to work around this issue.
>
> As far as phasing out support for sabrelite, what does this mean?  Support in u-boot or yocto or …?

I'm just relaying what I got from Eric Nelson @ Boundary Devices.
Using nitrogen6x works a treat on my SabreLite so that's how I'm
proceeding.

>
>
> On 2013-05-28, at 6:23 AM, Gary Thomas <gary@mlbassoc.com> wrote:
>
>> On 2013-05-28 02:17, Erik Botö wrote:
>>> Hi,
>>>
>>> I just got a hold of a new SabreLite, and when booting this board
>>> u-boot looks for 6x_bootscript just like nitrogen6x boards. I think
>>> this is an untouched u-boot, could someone verify that this is the way
>>> SabreLites are/were shipped?
>>>
>>> But when using MACHINE=imx6qsabrelite this file is not shipped on the
>>> sdcard, so I did some comparisons between the nitrogen6x and
>>> imx6qsabrelite machine configs and found that
>>> PREFERRED_PROVIDER_u-boot = "u-boot-boundary" is not set in the
>>> sabrelite case, and the BOOT_SCRIPTS variable either.
>>>
>>> Also, the u-boot-scripts-boundary recipe uses ${MACHINE} to find the
>>> right script in ${S}, but there is no board/boundary/imx6qsabrelite/
>>> directory and the scripts in board/boundary/nitrogen6x/ suggest that
>>> they should be used for sabrelite as well.
>>>
>>> I have done the modifications below to make it work, if someone can
>>> confirm that this is the way it's supposed to be I can format a proper
>>> patch and mail it.
>>
>> You should just use MACHINE=nitrogen6x as the sabrelite support is being
>> phased out and the two machines are close enough (and the code has runtime
>> checks to figure out which is which)
>>
>>>
>>> Cheers,
>>> Erik
>>>
>>>
>>> diff --git a/conf/machine/imx6qsabrelite.conf b/conf/machine/imx6qsabrelite.conf
>>> index 2155ba0..48128e0 100644
>>> --- a/conf/machine/imx6qsabrelite.conf
>>> +++ b/conf/machine/imx6qsabrelite.conf
>>> @@ -10,10 +10,17 @@ SOC_FAMILY = "mx6:mx6q"
>>>
>>>   KERNEL_DEVICETREE = "${S}/arch/arm/boot/dts/imx6q-sabrelite.dts"
>>>
>>> +PREFERRED_PROVIDER_u-boot = "u-boot-boundary"
>>>   PREFERRED_PROVIDER_virtual/kernel = "linux-boundary"
>>>
>>>   UBOOT_MACHINE = "mx6qsabrelite_config"
>>>
>>>   SERIAL_CONSOLE = "115200 ttymxc1"
>>>
>>> +# Ensure boot scripts will be available at rootfs time
>>> +do_rootfs[depends] += "u-boot-script-boundary:do_deploy"
>>> +
>>> +# Boot scripts to install
>>> +BOOT_SCRIPTS = "6x_bootscript-${MACHINE}:6x_bootscript"
>>> +
>>>   MACHINE_FEATURES += " pci wifi bluetooth"
>>> diff --git a/recipes-bsp/u-boot/u-boot-script-boundary_git.bb
>>> b/recipes-bsp/u-boot/u-boot-script-boundary_git.bb
>>> index 4d5e7db..dad313a 100644
>>> --- a/recipes-bsp/u-boot/u-boot-script-boundary_git.bb
>>> +++ b/recipes-bsp/u-boot/u-boot-script-boundary_git.bb
>>> @@ -15,21 +15,21 @@ inherit deploy
>>>
>>>   do_mkimage () {
>>>       uboot-mkimage  -A arm -O linux -T script -C none -a 0 -e 0 \
>>> -                   -n "boot script" -d
>>> board/boundary/${MACHINE}/6x_bootscript.txt \
>>> -                   board/boundary/${MACHINE}/6x_bootscript
>>> +                   -n "boot script" -d
>>> board/boundary/nitrogen6x/6x_bootscript.txt \
>>> +                   board/boundary/nitrogen6x/6x_bootscript
>>>
>>>       uboot-mkimage  -A arm -O linux -T script -C none -a 0 -e 0 \
>>> -                   -n "upgrade script" -d
>>> board/boundary/${MACHINE}/6x_upgrade.txt \
>>> -                   board/boundary/${MACHINE}/6x_upgrade
>>> +                   -n "upgrade script" -d
>>> board/boundary/nitrogen6x/6x_upgrade.txt \
>>> +                   board/boundary/nitrogen6x/6x_upgrade
>>>   }
>>>
>>>   addtask mkimage after do_compile before do_install
>>>
>>>   do_deploy () {
>>>       install -d ${DEPLOYDIR}
>>> -    install ${S}/board/boundary/${MACHINE}/6x_bootscript \
>>> +    install ${S}/board/boundary/nitrogen6x/6x_bootscript \
>>>               ${DEPLOYDIR}/6x_bootscript-${MACHINE}-${PV}-${PR}
>>> -    install ${S}/board/boundary/${MACHINE}/6x_upgrade \
>>> +    install ${S}/board/boundary/nitrogen6x/6x_upgrade \
>>>               ${DEPLOYDIR}/6x_upgrade-${MACHINE}-${PV}-${PR}
>>>
>>>       cd ${DEPLOYDIR}
>>> _______________________________________________
>>> meta-freescale mailing list
>>> meta-freescale@yoctoproject.org
>>> https://lists.yoctoproject.org/listinfo/meta-freescale
>>>
>>
>> --
>> ------------------------------------------------------------
>> Gary Thomas                 |  Consulting for the
>> MLB Associates              |    Embedded world
>> ------------------------------------------------------------
>> _______________________________________________
>> meta-freescale mailing list
>> meta-freescale@yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/meta-freescale

Patch

diff --git a/conf/machine/imx6qsabrelite.conf b/conf/machine/imx6qsabrelite.conf
index 2155ba0..48128e0 100644
--- a/conf/machine/imx6qsabrelite.conf
+++ b/conf/machine/imx6qsabrelite.conf
@@ -10,10 +10,17 @@  SOC_FAMILY = "mx6:mx6q"

 KERNEL_DEVICETREE = "${S}/arch/arm/boot/dts/imx6q-sabrelite.dts"

+PREFERRED_PROVIDER_u-boot = "u-boot-boundary"
 PREFERRED_PROVIDER_virtual/kernel = "linux-boundary"

 UBOOT_MACHINE = "mx6qsabrelite_config"

 SERIAL_CONSOLE = "115200 ttymxc1"

+# Ensure boot scripts will be available at rootfs time
+do_rootfs[depends] += "u-boot-script-boundary:do_deploy"
+
+# Boot scripts to install
+BOOT_SCRIPTS = "6x_bootscript-${MACHINE}:6x_bootscript"
+
 MACHINE_FEATURES += " pci wifi bluetooth"
diff --git a/recipes-bsp/u-boot/u-boot-script-boundary_git.bb
b/recipes-bsp/u-boot/u-boot-script-boundary_git.bb
index 4d5e7db..dad313a 100644
--- a/recipes-bsp/u-boot/u-boot-script-boundary_git.bb
+++ b/recipes-bsp/u-boot/u-boot-script-boundary_git.bb
@@ -15,21 +15,21 @@  inherit deploy

 do_mkimage () {
     uboot-mkimage  -A arm -O linux -T script -C none -a 0 -e 0 \
-                   -n "boot script" -d
board/boundary/${MACHINE}/6x_bootscript.txt \
-                   board/boundary/${MACHINE}/6x_bootscript
+                   -n "boot script" -d
board/boundary/nitrogen6x/6x_bootscript.txt \
+                   board/boundary/nitrogen6x/6x_bootscript

     uboot-mkimage  -A arm -O linux -T script -C none -a 0 -e 0 \
-                   -n "upgrade script" -d
board/boundary/${MACHINE}/6x_upgrade.txt \
-                   board/boundary/${MACHINE}/6x_upgrade
+                   -n "upgrade script" -d
board/boundary/nitrogen6x/6x_upgrade.txt \
+                   board/boundary/nitrogen6x/6x_upgrade
 }

 addtask mkimage after do_compile before do_install

 do_deploy () {
     install -d ${DEPLOYDIR}
-    install ${S}/board/boundary/${MACHINE}/6x_bootscript \
+    install ${S}/board/boundary/nitrogen6x/6x_bootscript \
             ${DEPLOYDIR}/6x_bootscript-${MACHINE}-${PV}-${PR}