u-boot performace

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

u-boot performace

1,014 Views
tangyongjun
Contributor I

u-boot booting time is very big with i.mx6solo than with i.mx53.  they do almost same thing: init system, read uImage from nand,and then bootm.   time of i.mx53 is 1 second, and time of imx6solo is 5 second. how can we speed up u-boot booting  with i.mx6solo?   below is booting log:

U-Boot 2009.08-svn110 (Jan 20 2015 - 12:45:01)

CPU: Freescale i.MX6 family TO1.1 at 984 MHz

Thermal sensor with ratio = 188

Temperature:   38 C, calibration data 0x5a850c69

mx6q pll1: 984MHz

mx6q pll2: 528MHz

mx6q pll3: 480MHz

mx6q pll8: 50MHz

ipg clock     : 66000000Hz

ipg per clock : 66000000Hz

uart clock    : 80000000Hz

cspi clock    : 60000000Hz

ahb clock     : 132000000Hz

axi clock   : 198000000Hz

emi_slow clock: 99000000Hz

ddr clock     : 396000000Hz

usdhc1 clock  : 198000000Hz

usdhc2 clock  : 198000000Hz

usdhc3 clock  : 198000000Hz

usdhc4 clock  : 198000000Hz

nfc clock     : 11000000Hz

Board: i.MX6DL/Solo-SABRESD: unknown-board Board: 0x61011 [WDOG ]

Boot Device: NAND

DRAM:  512 MB

board.c 335 time:73

NAND:  Manufacturer ID: 0xad, Chip ID: 0xf1 (Hynix NAND 128MiB 3,3V 8-bit), page size: 2048, OOB size: 64

128 MiB

board.c 495 time:736

Hit any key to stop autoboot:  0

cmd_nand.c 235 time:749

NAND read: device 0 offset 0x3b00000, size 0x320000

3276800 bytes read: OK

cmd_nand.c 421 time:2859

cmd_bootm.c 580 time:2861

## Booting kernel from Legacy Image at 10800000 ...

   Image Name:   Linux-3.0.35-2666-gbdde708-svn84

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    3138564 Bytes =  3 MB

   Load Address: 10008000

   Entry Point:  10008000

   Verifying Checksum ... OK

   Loading Kernel Image ... OK

OK

cmd_bootm.c 693 time:4429

Starting kernel ...

U-Boot 2009.08 (Jan 19 2015 - 16:07:16)

CPU:   Freescale i.MX53 family 2.0V at 800 MHz

mx53 pll1: 800MHz

mx53 pll2: 400MHz

mx53 pll3: 216MHz

mx53 pll4: 455MHz

ipg clock     : 66666666Hz

ipg per clock : 33333333Hz

uart clock    : 21600000Hz

cspi clock    : 54000000Hz

ahb clock     : 133333333Hz

axi_a clock   : 400000000Hz

axi_b clock   : 200000000Hz

emi_slow clock: 133333333Hz

ddr clock     : 400000000Hz

esdhc1 clock  : 80000000Hz

esdhc2 clock  : 80000000Hz

esdhc3 clock  : 80000000Hz

esdhc4 clock  : 80000000Hz

nfc clock     : 26666666Hz

Board: MX53-LOCO 1.0

Boot Reason: [POR]

Boot Device: NAND

I2C:   ready

DRAM:  512 MB

board.c 364 time:60

NAND:  Manufacturer      : Hynix (0xad)

Device Code       : 0xf1

Cell Technology   : SLC

Chip Size         : 128 MiB

Pages per Block   : 64

Page Geometry     : 2048+64

ECC Strength      : 4 bits

ECC Size          : 512 B

Data Setup Time   : 45 ns

Data Hold Time    : 30 ns

Address Setup Time: 25 ns

GPMI Sample Delay : 6 ns

tREA              : Unknown

tRLOH             : Unknown

tRHOH             : Unknown

Description       : <None>

128 MiB

board.c 522 time:182

Hit any key to stop autoboot:  0

cmd_nand.c 235 time:192

NAND read: device 0 offset 0x3b00000, size 0x280000

2621440 bytes read: OK

cmd_nand.c 421 time:721

cmd_bootm.c 573 time:724

## Booting kernel from Legacy Image at 70800000 ...

   Image Name:   Linux-2.6.35.3-744-g27fdf7b

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    2431424 Bytes =  2.3 MB

   Load Address: 70008000

   Entry Point:  70008000

   Verifying Checksum ... OK

   Loading Kernel Image ... OK

OK

cmd_bootm.c 675 time:808

Starting kernel ...

Labels (1)
Tags (3)
0 Kudos
2 Replies

552 Views
CarlosCasillas
NXP Employee
NXP Employee

Hi,

According to the log file, it seems that both boards are booting from NAND, isn’t it? However, the NAND Flash Controller clock on the i.MX6 is 11 MHz (nfc clock : 11000000Hz) while on the i.MX53 is 26.6 MHz (nfc clock : 26666666Hz). Additionally, the NAND image on the i.MX6 is 3 MB, while it is 2.3 MB on the i.MX53.

So, you could consider modify the NAND clock on the i.MX6 (if available) remembering that the U-Boot varies depending of the BSP provider.


Hope this will be useful for you.
Best regards!
/Carlos

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

0 Kudos

552 Views
tangyongjun
Contributor I

Dear Carlos,

Thank you very much.

I agree on What you said.

boot time of u-boot booting include 3 parts: system init, nand read(kernel uImage), bootm(do analysis kernel format and move kernel).

system-init nand-read bootm total time

i.MX6solo 0.7 second 2.1 second 1.8 second 4.6 second(0.72.11.8=4.6)

i.MX53 0.2 second 0.5 second 0.1 second 0.8 second(0.20.50.1=0.8)

i.MX6 GPMI module is slower than i.MX53 NAND Flash controller (NFC) in real life applications is one reason. there may be any other reasons. Do you have any ideas?

Best regards,

YongJunTang

0 Kudos