• Russ Dill's avatar
    ARM: am33xx: Fix DDR initialization delays · b67d6b00
    Russ Dill authored
    The current delays in the DDR initialization routines for am33xx
    architectures are sometimes not running long enough leading to DDR
    init errors. On am437x, this shows up as an L3 NOC error after the
    kernel boots. This is due to the timer not being initialized
    properly, but instead still containing the timer init values from
    the boot ROM which cause timers to expire in 1/4th the time
    required.
    
    timer_init is typically not called until board_init_r, however on
    am33xx/am43xx udelay is required in sdram_init which is called
    from board_init_f, so a call to timer_init is required earlier.
    
    Note that this issue introduced in v2015.01 by:
    
    b352dde1 "am33xx: Drop timer_init call from s_init".
    
    Although this could instead fixed by reverting said commit, it
    would cause timer_init to be called twice in both SPL and non-SPL
    cases. This gives a little more fine grained control and also
    matches what is being done on omap-command and fsl-layerscape.
    Signed-off-by: default avatarRuss Dill <russ.dill@ti.com>
    b67d6b00
Name
Last commit
Last update
..
arc Loading commit data...
arm Loading commit data...
avr32 Loading commit data...
blackfin Loading commit data...
m68k Loading commit data...
microblaze Loading commit data...
mips Loading commit data...
nds32 Loading commit data...
nios2 Loading commit data...
openrisc Loading commit data...
powerpc Loading commit data...
sandbox Loading commit data...
sh Loading commit data...
sparc Loading commit data...
x86 Loading commit data...
.gitignore Loading commit data...
Kconfig Loading commit data...