aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/control.c
diff options
context:
space:
mode:
authorSantosh Shilimkar <santosh.shilimkar@ti.com>2010-09-27 16:02:57 -0400
committerPaul Walmsley <paul@pwsan.com>2010-09-27 16:02:57 -0400
commit0c3492467c99f3d0d83a48012ee6e672b016759c (patch)
tree8b997549219f0b9206bad7b7e3c02e386f367280 /arch/arm/mach-omap2/control.c
parent0edc9e858222ca8fd685756f0d7e546633c39ff0 (diff)
omap4: control: Add ctrl_pad_base to omap_globals
On omap4 control module is divided in four IP blocks. - CTRL_MODULE_CORE 0x4a002000 - CTRL_MODULE_PAD_CORE 0x4a100000 - CTRL_MODULE_WKUP 0x4a30c000 - CTRL_MODULE_PAD_WKUP 0x4a31e000 Addressing all the modules with single base address is not possible considering 16 bit offsets. The mux code manages the pad core and pad wakeup related base address inside the mux framework. For other usage only control core and control pad bases are necessary. So this patch maps only needed pad control base address which is used by device drivers and infrastructure code The main control core base is still kept same in this patch to keep git-bisect working. This will be fixed in the relevant patch in this series. Signed-off-by: Benoit Cousson <b-cousson@ti.com> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Signed-off-by: Paul Walmsley <paul@pwsan.com>
Diffstat (limited to 'arch/arm/mach-omap2/control.c')
-rw-r--r--arch/arm/mach-omap2/control.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/control.c b/arch/arm/mach-omap2/control.c
index a8d20eef2306..99c0eb645d4d 100644
--- a/arch/arm/mach-omap2/control.c
+++ b/arch/arm/mach-omap2/control.c
@@ -25,6 +25,7 @@
25#include "sdrc.h" 25#include "sdrc.h"
26 26
27static void __iomem *omap2_ctrl_base; 27static void __iomem *omap2_ctrl_base;
28static void __iomem *omap4_ctrl_pad_base;
28 29
29#if defined(CONFIG_ARCH_OMAP3) && defined(CONFIG_PM) 30#if defined(CONFIG_ARCH_OMAP3) && defined(CONFIG_PM)
30struct omap3_scratchpad { 31struct omap3_scratchpad {
@@ -145,6 +146,12 @@ void __init omap2_set_globals_control(struct omap_globals *omap2_globals)
145 omap2_ctrl_base = ioremap(omap2_globals->ctrl, SZ_4K); 146 omap2_ctrl_base = ioremap(omap2_globals->ctrl, SZ_4K);
146 WARN_ON(!omap2_ctrl_base); 147 WARN_ON(!omap2_ctrl_base);
147 } 148 }
149
150 /* Static mapping, never released */
151 if (omap2_globals->ctrl_pad) {
152 omap4_ctrl_pad_base = ioremap(omap2_globals->ctrl_pad, SZ_4K);
153 WARN_ON(!omap4_ctrl_pad_base);
154 }
148} 155}
149 156
150void __iomem *omap_ctrl_base_get(void) 157void __iomem *omap_ctrl_base_get(void)