On default i.MX6UL EVK board, it supports three boot device: SD Card boot in main board, micro-SD card boot in CPU board and QSPI-FLASH in CPU board. As we know, i.MX6UL supports NAND device boot and there are NAND device footprint in the EVK board. If customer wants to use NAND boot, there is something to rework in both hardware and software.
NAND device boot mode is conflict with micro-SD card and QSPI-FLASH device boot modes.
1. Remove U303 in CPU board and DO NOT insert micro-SD card into J301
2. Solder U302 NAND FLASH on EVK board
In Yocto-Linux BSP standard release, NAND device boot is not supported. We need add support in u-boot, linux DTB and MFGTool.
1. u-boot-imx modification and build
- Replace u-boot-imx/include/configs/mx6ul_14x14_evk.h with the same file in the attachment
- Copy mx6ul_14x14_evk_nand_defconfig in the attachment to u-boot-imx/configs/
- Build the new u-boot.imx: make distclean; make mx6ul_14x14_evk_nand_defconfig;make
- Rename u-boot.imx to u-boot-imx6ulevk_nand.imx
2. Linux DTB modification and build
- Copy imx6ul-14x14-evk-gpmi-weim.dts in the attachment to kernel/arch/arm/boot/dts/
- Build imx6ul-14x14-evk-gpmi-weim.dtb: make imx6ul-14x14-evk-gpmi-weim.dtb
- Rename imx6ul-14x14-evk-gpmi-weim.dtb to zImage-imx6ul-14x14-evk-gpmi-weim.dtb
3. MFGTOOL modification
- Copy mfgtool2-yocto-mx6ul-evk-nand.vbs in the attachment to MFGTOOL root direcory
- Copy u-boot-imx6ulevk_nand.imx and zImage-imx6ul-14x14-evk-gpmi-weim.dtb to MFGTOOL\Profiles\Linux\OS Firmware\firmware\
- Copy u-boot-imx6ulevk_nand.imx and zImage-imx6ul-14x14-evk-gpmi-weim.dtb to MFGTOOL\Profiles\Linux\OS Firmware\files\
Congratulations!!! You can burn NAND image to i.MX6UL-EVK board with mfgtool2-yocto-mx6ul-evk-nand.vbs script now!!