summaryrefslogtreecommitdiffstats
path: root/arch/arm/boards/edb93xx
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2012-10-14 22:24:12 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-02-04 15:52:39 +0100
commitb7e7def62319d617a06addea382d709978ab8c4f (patch)
treedb7a081e73ad8241573638b969a8653b4b414b57 /arch/arm/boards/edb93xx
parentbf61adb050a1285ef312aea2f6043215c06127c6 (diff)
downloadbarebox-b7e7def62319d617a06addea382d709978ab8c4f.tar.gz
barebox-b7e7def62319d617a06addea382d709978ab8c4f.tar.xz
ARM ep93xx boards: switch to barebox_arm_entry
This architecture is a bit strange. It has up to four SDRAM banks, but all have a quite limited size. The SDRAM size for the different boards currently is unknown as it's configurable with Kconfig. We use a SDRAM size based on the value of the only board we have in the defconfigs: edb9301. This likely breaks other ep93xx boards. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/boards/edb93xx')
-rw-r--r--arch/arm/boards/edb93xx/sdram_cfg.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/boards/edb93xx/sdram_cfg.c b/arch/arm/boards/edb93xx/sdram_cfg.c
index 944212963f..5c2a5372e0 100644
--- a/arch/arm/boards/edb93xx/sdram_cfg.c
+++ b/arch/arm/boards/edb93xx/sdram_cfg.c
@@ -36,6 +36,10 @@ static void program_mode_registers(void);
void sdram_cfg(void)
{
struct sdram_regs *sdram = (struct sdram_regs *)SDRAM_BASE;
+ unsigned long pc = get_pc();
+
+ if (pc < CONFIG_EP93XX_SDRAM_BANK3_BASE + CONFIG_EP93XX_SDRAM_BANK3_SIZE)
+ return;
writel(SDRAM_DEVCFG_VAL, &sdram->SDRAM_DEVCFG_REG);