u-boot/arch/arm/cpu/armv7/sunxi
Siarhei Siamashka f8e88b6837 sunxi: dram: Fix CKE delay handling for sun4i/sun5i
Before driving the CKE pin (Clock Enable) high, the DDR3 spec requires
to wait for additional 500 us after the RESET pin is de-asserted.

The DRAM controller takes care of this delay by itself, using a
configurable counter in the SDR_IDCR register. This works in the same
way on sun4i/sun5i/sun7i hardware (even the default register value
0x00c80064 is identical). Except that the counter is ticking a bit
slower on sun7i (3 DRAM clock cycles instead of 2), resulting in
longer actual delays for the same settings.

This patch configures the SDR_IDCR register for all sun4i/sun5i/sun7i
SoC variants and not just for sun7i alone. Also an explicit udelay(500)
is added immediately after DDR3 reset for extra safety. This is a
duplicated functionality. But since we don't have perfect documentation,
it may be reasonable to play safe. Half a millisecond boot time increase
is not that significant. Boot time can be always optimized later.
Preferebly by the people, who have the hardware equipment to check the
actual signals on the RESET and CKE lines and verify all the timings.

The old code did not configure the SDR_IDCR register for sun4i/sun5i,
but performed the DDR3 reset very early for sun4i/sun5i. This resulted
in a larger time gap between the DDR3 reset and the DDR3 initialization
steps and reduced the chances of CKE delay timing violation to cause
real troubles.

Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2014-08-12 08:42:32 +02:00
..
board.c sunxi: Add CONFIG_MACPWR option 2014-07-31 15:37:23 +02:00
clock.c sunxi: add sun7i clocks and timer support. 2014-05-25 16:12:12 +02:00
clock_sun4i.c ahci: provide sunxi SATA driver using AHCI platform framework 2014-07-31 15:37:22 +02:00
config.mk sunxi: non-FEL SPL boot support for sun7i 2014-05-25 16:31:03 +02:00
cpu_info.c sunxi: Add sun5i support 2014-07-06 20:12:44 +01:00
dram.c sunxi: dram: Fix CKE delay handling for sun4i/sun5i 2014-08-12 08:42:32 +02:00
Makefile sunxi: HYP/non-sec: add sun7i PSCI backend 2014-07-31 15:37:24 +02:00
pinmux.c sunxi: add sun7i pinmux and gpio support 2014-05-25 16:12:21 +02:00
psci.S sunxi: HYP/non-sec: add sun7i PSCI backend 2014-07-31 15:37:24 +02:00
start.c sunxi: add sun7i cpu, board and start of day support 2014-05-25 16:12:40 +02:00
timer.c sunxi: add sun7i clocks and timer support. 2014-05-25 16:12:12 +02:00
u-boot-spl-fel.lds sunxi: Add i2c support 2014-07-18 19:41:30 +01:00
u-boot-spl.lds sunxi: Add i2c support 2014-07-18 19:41:30 +01:00