i.MX6UL NAND boot time issue

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX6UL NAND boot time issue

603 Views
kravik
Contributor IV

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
=>

Labels (2)
Tags (1)
0 Kudos
1 Reply

421 Views
igorpadykov
NXP Employee
NXP Employee

Hi Ravi

for boot time optimizations may be recommended to proceed with Professional Services

as this greatly depends on custom board/configurations.

NXP Professional Services|NXP 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos