I am trying to boot an i.MX8MQLite board using raw nand / GPMI. All i.MX8M examples I find on-line assume eMMC and/or SD card, not raw nand. Instructions I find are for similar devices (i.MX8Q/i.MX6, etc). Are there any direct instructions / suggestions for this particular situation (i.MX8MQLite / raw nand)?
I have gotten through the revised DDR configuration / training tasks, have built the u-boot and gotten up to the point where the NAND is to be programmed, and the process fails.
Specifics
- board design based on iMX8MQ_evk, but without eMMC/SD and slightly-altered LPDDR4 (swizzled DQ6/DQ7lines).
- imx-yocto-L4.14.98-2.0.0_ga
- Separate u-boot build (2018.03, per the above yocto instructions).
- LPDDR4 training / timing / initialization successful.
- imx_mkimage builds the resulting combined U-boot (SPL + standard), ATF, SCUFW, DDR setup).
- Using UUU (with the built-in "nand" script), boots U-Boot SPL, configures DDR, loads standard u-boot, boots into it, then gets to the point where it attempts nand programming.
- fails on the uuu script line "FB: ucmd if env exists nandfit_part; then nand erase.part nandfit; nand write ${fastboot_buffer} nandfit ${fastboot_bytes}; fi;"
- If I break into the u-boot prompt, I can issue commands to manually read nand flash pages.
I am about to manually transfer and program pages of the flash, but since the automatic scripts fail, I'm concerned that there is a missing step somewhere that I can't find.
Any other's comments / experience with this configuration would be helpful (for me and for others attempting this configuration). Thanks.
Hi Matthew,
About NAND BOOT of I.MX8MQ, see descriptions below, please!
------------------------
1. You should use SLC NAND FLASH
Starting from Linux BSP 4.14.X, MLC NAND Flash is not recommended, because UBI file system doesn't continue to support MLC NAND.
2. I.MX8MQ-EVK doesn't support NAND Flash
For the reason that I.MX8MQ-EVK doesn't support NAND FLASH, NAND flash device is not supported in device tree.
3. How to support NAND FLASH on i.MX8MQ Platform
You can find source code of imx8mq-arm2 board in linux BSP(U-BOOT / Kernel device tree), the board is imx8mq validation board, it supports NAND Flash. So you can refer to it's souce code and add NAND to your board.
--------------------------
Hope above information is helpful for you!
Have a great day!
BR,
Weidong