[U-Boot] [PATCH, REGRESSION] mpc83xx: provide option to set LCRR early

Peter Korsgaard jacmet at sunsite.dk
Fri Nov 27 10:06:43 CET 2009


>>>>> "Peter" == Peter Korsgaard <jacmet at sunsite.dk> writes:

 Peter> Commit c7190f02 (retain POR values of non-configured ACR, SPCR, SCCR,
 Peter> and LCRR bitfields) moved the LCRR assignment to after relocation
 Peter> to RAM because of the potential problem with changing the local bus
 Peter> clock while executing from flash.

Comments?

 Peter> For some boards this isn't needed (E.G. when running from a normal async
 Peter> NOR flash), and running all code up to cpu_init_r at the slow bootup
 Peter> speed adversively affects the startup time.

 Peter> E.G. on a 8347 board a bootup time increase of ~600ms has been observed:

 Peter>    0.020 CPU:   e300c1, MPC8347_PBGA_EA, Rev: 3.0 at 400 MHz, CSB: 266.667 MHz
 Peter>    0.168 RS:    232
 Peter>    0.172 I2C:   ready
 Peter>    0.176 DRAM:  64 MB
 Peter>    1.236 FLASH: 32 MB

 Peter> Versus:

 Peter>    0.016 CPU:   e300c1, MPC8347_PBGA_EA, Rev: 3.0 at 400 MHz, CSB: 266.667 MHz
 Peter>    0.092 RS:    232
 Peter>    0.092 I2C:   ready
 Peter>    0.096 DRAM:  64 MB
 Peter>    0.644 FLASH: 32 MB

 Peter> Fix it by introducing CONFIG_SYS_LCRR_EARLY, and set LCRR in cpu_init_f
 Peter> instead of in cpu_init_r if set.

 Peter> Signed-off-by: Peter Korsgaard <jacmet at sunsite.dk>
 Peter> ---
 Peter>  cpu/mpc83xx/cpu_init.c |   35 +++++++++++++++++++++++++++++++++++
 Peter>  1 files changed, 35 insertions(+), 0 deletions(-)

-- 
Bye, Peter Korsgaard


More information about the U-Boot mailing list