aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-omap2/control.c7
-rw-r--r--arch/arm/plat-omap/common.c3
-rw-r--r--arch/arm/plat-omap/include/plat/common.h1
3 files changed, 10 insertions, 1 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)
diff --git a/arch/arm/plat-omap/common.c b/arch/arm/plat-omap/common.c
index 3008e7104487..480718ba4edc 100644
--- a/arch/arm/plat-omap/common.c
+++ b/arch/arm/plat-omap/common.c
@@ -336,7 +336,8 @@ void __init omap3_map_io(void)
336static struct omap_globals omap4_globals = { 336static struct omap_globals omap4_globals = {
337 .class = OMAP443X_CLASS, 337 .class = OMAP443X_CLASS,
338 .tap = OMAP2_L4_IO_ADDRESS(OMAP443X_SCM_BASE), 338 .tap = OMAP2_L4_IO_ADDRESS(OMAP443X_SCM_BASE),
339 .ctrl = OMAP443X_CTRL_BASE, 339 .ctrl = OMAP443X_CTRL_BASE, /* FIXME: Move this to control core */
340 .ctrl_pad = OMAP443X_CTRL_BASE,
340 .prm = OMAP4430_PRM_BASE, 341 .prm = OMAP4430_PRM_BASE,
341 .cm = OMAP4430_CM_BASE, 342 .cm = OMAP4430_CM_BASE,
342 .cm2 = OMAP4430_CM2_BASE, 343 .cm2 = OMAP4430_CM2_BASE,
diff --git a/arch/arm/plat-omap/include/plat/common.h b/arch/arm/plat-omap/include/plat/common.h
index 9776b41ad76f..7cd01807c1e0 100644
--- a/arch/arm/plat-omap/include/plat/common.h
+++ b/arch/arm/plat-omap/include/plat/common.h
@@ -47,6 +47,7 @@ struct omap_globals {
47 unsigned long sdrc; /* SDRAM Controller */ 47 unsigned long sdrc; /* SDRAM Controller */
48 unsigned long sms; /* SDRAM Memory Scheduler */ 48 unsigned long sms; /* SDRAM Memory Scheduler */
49 unsigned long ctrl; /* System Control Module */ 49 unsigned long ctrl; /* System Control Module */
50 unsigned long ctrl_pad; /* PAD Control Module */
50 unsigned long prm; /* Power and Reset Management */ 51 unsigned long prm; /* Power and Reset Management */
51 unsigned long cm; /* Clock Management */ 52 unsigned long cm; /* Clock Management */
52 unsigned long cm2; 53 unsigned long cm2;