AnsweredAssumed Answered

i.MX6UL NAND boot time issue

Question asked by Ravi Kumar on Nov 30, 2018
Latest reply on Dec 3, 2018 by igorpadykov

Working on iMX6UL custom board, while booting from NAND, I could see that NAND read of zImage is taking more time(around 2secs). But with sdcard the load time is negligible(in msecs).

 

[0.008100 0.000052] CPU: Freescale i.MX6UL rev1.2 528 MHz (running at 396 MHz)
[0.013223 0.005123] CPU: Commercial temperature grade (0C to 95C) at 34C
[0.028188 0.014965] Reset cause: POR
[0.030030 0.001842] Model: Freescale i.MX6 UltraLite 14x14 EVK Board
[0.034153 0.004123] Board: MX6UL 14x14 EVK
[0.036188 0.002035] DRAM: 512 MiB
[0.091716 0.055528] NAND: 512 MiB
[0.099715 0.007999] MMC: FSL_SDHC: 0
[0.269463 0.169748] *** Warning - bad CRC, using default environment
[0.274489 0.005026]
[0.277464 0.002975] Display: TFT43AB (480x272)
[0.279788 0.002324] Video: 480x272x24
[0.286464 0.006676] In: serial
[0.287720 0.001256] Out: serial
[0.288857 0.001137] Err: serial
[0.290582 0.001725] Net: No ethernet found.
[0.296752 0.006170] Normal Boot
[0.302464 0.005712] Hit any key to stop autoboot: 0
[0.305666 0.003202]
[0.305716 0.000050] NAND read: device 0 offset 0x4000000, size 0x800000
[2.324317 2.018601] 8388608 bytes read: OK
[2.326589 0.002272]

Any reason why it is taking more time to load in case of NAND.
Is it possible to change the clock value of NAND in U-boot? if so can you help in bumping up the clock value for NAND in GPMC?
The U-boot source which I am using is "https://source.codeaurora.org/external/imx/uboot-imx/log/?h=nxp/imx_v2017.03_4.9.11_1.0.0_ga".

 

 

 

To analyze further, tried changing the "mtdparts" variable value, but board is failing to boot if I change the boot and kernel partition sizes in "mtdparts".
Is there any specific reason of giving more size for boot and kernel sizes in mtdparts?
Following is the mtdparts defined in the i.MX6UL header file in U-boot.

mtdparts=gpmi-nand:64m(boot),16m(kernel),16m(dtb),-(rootfs)\0


I have changed the mtdparts value as shown below, then got error "Bad Linux ARM zImage magic!".

mtdparts=gpmi-nand:2m(boot),8m(kernel),2m(dtb),-(rootfs)\0

Below error occurred while booting after loading the images.

NAND read: device 0 offset 0x4000000, size 0x800000
8388608 bytes read: OK

NAND read: device 0 offset 0x5000000, size 0x100000
1048576 bytes read: OK
Bad Linux ARM zImage magic!
=>

 

 

I have changed the mtdparts value as shown below then got error "ERROR: Did not find a cmdline Flattened Device Tree".

mtdparts=gpmi-nand:64m(boot),8m(kernel),2m(dtb),-(rootfs)\0

Below error occurred while booting after loading the images.

NAND read: device 0 offset 0x4000000, size 0x800000
8388608 bytes read: OK

NAND read: device 0 offset 0x5000000, size 0x100000
1048576 bytes read: OK
Kernel image @ 0x80800000 [ 0x000000 - 0x53ce00 ]
ERROR: Did not find a cmdline Flattened Device Tree
Could not find a valid device tree
=>

Outcomes