summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Fleming <matt@console-pimps.org>2009-11-05 08:01:10 +0000
committerMatt Fleming <matt@console-pimps.org>2010-01-16 14:31:44 +0000
commit6f82b6ebb1dcc0c3c23820a70a5d79a60c4f5e84 (patch)
treefa12777307f9153742d445bdd7c2305b24ae8ab2
parent4d35b93a66e9b87df20784fcf130d2e8760be53f (diff)
sh: Use ioremap_fixmed to map the SM501 DRAM config register
We need to write to the DRAM config register very early and at such an early stage ioremap() is not available. So use ioremap_fixed() to map the register. The reason that we are avoiding using the legacy P2 mapping is that there will come a day when the legacy P2 mappings no longer exist. Signed-off-by: Matt Fleming <matt@console-pimps.org>
-rw-r--r--arch/sh/boards/board-sh7785lcr.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/sh/boards/board-sh7785lcr.c b/arch/sh/boards/board-sh7785lcr.c
index 7eea90db6cea..511de38d2046 100644
--- a/arch/sh/boards/board-sh7785lcr.c
+++ b/arch/sh/boards/board-sh7785lcr.c
@@ -332,8 +332,15 @@ static void __init sh7785lcr_setup(char **cmdline_p)
pm_power_off = sh7785lcr_power_off;
/* sm501 DRAM configuration */
- sm501_reg = (void __iomem *)0xb3e00000 + SM501_DRAM_CONTROL;
- writel(0x000307c2, sm501_reg);
+ sm501_reg = ioremap_fixed(SM107_REG_ADDR, SM501_DRAM_CONTROL,
+ PAGE_KERNEL);
+ if (!sm501_reg) {
+ printk(KERN_ERR "%s: ioremap error.\n", __func__);
+ return;
+ }
+
+ writel(0x000307c2, sm501_reg + SM501_DRAM_CONTROL);
+ iounmap_fixed(sm501_reg);
}
/* Return the board specific boot mode pin configuration */