Internal Used/By-pass advloader
From ESS-WIKI
Modify and Build U-boot
Yocto 1.5
You can download patch file as below:
File:bypass_advloader_Yocto_1.5.patch
u-boot-imx/arch/arm/lib/board.c
Index: arch/arm/lib/board.c
===================================================================
--- arch/arm/lib/board.c (revision 2241)
+++ arch/arm/lib/board.c (working copy)
@@ -411,7 +411,6 @@
switch(dev)
{
case 1:
- default:
/* booting from SD*/
printf("booting from SD\n");
setenv("mmcdev", "0");
@@ -448,6 +447,11 @@
if(emmc_exist) setenv("mmcdev", "1");
break;
#endif
+ default:
+ printf("Default boot device\n");
+ printf("booting from SD\n");
+ setenv("mmcdev", "1");
+ break;
}
/*record ddr bit, 32 or 64 bit*/
build u-boot (we take DDR 1G for example)
make mx6qrom5420_1G_config make u-boot.imx -j4
Then you can put this file to mfgtool folder
Yocto 2.1
You can download patch file as below:
File:bypass_advloader_Yocto_2.1.patch
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -927,7 +927,6 @@ int board_set_boot_device(void)
#else
/* Linux */
case 1:
- default:
/* booting from SD*/
printf("booting from SD\n");
setenv("mmcdev", "0");
@@ -976,6 +975,11 @@ int board_set_boot_device(void)
setenv("mmcroot",buf);
break;
#endif
+ default:
+ printf("Default boot device\n");
+ printf("booting from SD\n");
+ setenv("mmcdev", "1");
+ break;
#endif /*CONFIG_ANDROID_SUPPORT*/
}
build u-boot (we take DDR 1G for example)
make mx6qrom5420b1_1G_defconfig make u-boot.imx -j4
Then you can put this file to mfgtool folder
Modify mfgtool
- ucl2.xml
We add a new task for burning u-boot.imx to spi
<LIST name="ADV bypass adv-loader" desc="update u-boot.imx to spi">
<CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot.imx" ifdev="MX6Q">Loading U-boot</CMD>
<CMD state="BootStrap" type="load" file="firmware/uImage" address="0x12000000"
loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q">Loading Kernel.</CMD>
<CMD state="BootStrap" type="load" file="firmware/initramfs.cpio.gz.uboot" address="0x12C00000"
loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q">Loading Initramfs.</CMD>
<CMD state="BootStrap" type="load" file="firmware/imx6q-%board%.dtb" address="0x18000000"
loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q">Loading device tree.</CMD>
<CMD state="BootStrap" type="jump" > Jumping to OS image. </CMD>
<CMD state="Updater" type="push" body="$ flash_erase /dev/mtd0 0 192">Erasing SPI</CMD>
<CMD state="Updater" type="push" body="send" file="files/u-boot.imx" ifdev="MX6Q">Sending u-boot.imx</CMD>
<CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mtd0 bs=512 seek=2">write u-boot.imx</CMD>
<CMD state="Updater" type="push" body="$ echo Update Complete!">Done</CMD>
</LIST>
- cfg.ini
[LIST] name = ADV bypass adv-loader
At last , we can refer to Mfgtool to update spi.