diff options
author | Tony Lindgren <tony@atomide.com> | 2008-07-03 05:24:44 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2008-07-03 05:24:44 -0400 |
commit | a58caad11301a5bdc2d7b76596ab5477221f7a9b (patch) | |
tree | 95bb4df0ad450b0439cdf6256d2a2b2345b03231 | |
parent | e1f80bfca86ab48b7bed731b32262fb1a2835de5 (diff) |
ARM: OMAP: Introduce omap_globals and prcm access functions for multi-omap
New struct omap_globals contains the omap processor specific
module bases. Use omap_globals to set the various base addresses
to make detecting omap chip type simpler.
Also introduce OMAP1_IO_ADDRESS and OMAP2_IO_ADDRESS for future multi-omap
patches.
Signed-off-by: Tony Lindgren <tony@atomide.com>
-rw-r--r-- | arch/arm/mach-omap2/cm.h | 13 | ||||
-rw-r--r-- | arch/arm/mach-omap2/control.c | 24 | ||||
-rw-r--r-- | arch/arm/mach-omap2/memory.c | 11 | ||||
-rw-r--r-- | arch/arm/mach-omap2/mux.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/prcm.c | 55 | ||||
-rw-r--r-- | arch/arm/mach-omap2/prm.h | 12 | ||||
-rw-r--r-- | arch/arm/mach-omap2/sdrc.h | 10 | ||||
-rw-r--r-- | arch/arm/plat-omap/common.c | 59 | ||||
-rw-r--r-- | include/asm-arm/arch-omap/common.h | 15 | ||||
-rw-r--r-- | include/asm-arm/arch-omap/control.h | 4 | ||||
-rw-r--r-- | include/asm-arm/arch-omap/io.h | 3 |
11 files changed, 150 insertions, 58 deletions
diff --git a/arch/arm/mach-omap2/cm.h b/arch/arm/mach-omap2/cm.h index 8489f3029fed..e2d404e69454 100644 --- a/arch/arm/mach-omap2/cm.h +++ b/arch/arm/mach-omap2/cm.h | |||
@@ -96,15 +96,10 @@ | |||
96 | /* Clock management domain register get/set */ | 96 | /* Clock management domain register get/set */ |
97 | 97 | ||
98 | #ifndef __ASSEMBLER__ | 98 | #ifndef __ASSEMBLER__ |
99 | static inline void cm_write_mod_reg(u32 val, s16 module, s16 idx) | 99 | |
100 | { | 100 | extern u32 cm_read_mod_reg(s16 module, u16 idx); |
101 | __raw_writel(val, OMAP_CM_REGADDR(module, idx)); | 101 | extern void cm_write_mod_reg(u32 val, s16 module, u16 idx); |
102 | } | 102 | |
103 | |||
104 | static inline u32 cm_read_mod_reg(s16 module, s16 idx) | ||
105 | { | ||
106 | return __raw_readl(OMAP_CM_REGADDR(module, idx)); | ||
107 | } | ||
108 | #endif | 103 | #endif |
109 | 104 | ||
110 | /* CM register bits shared between 24XX and 3430 */ | 105 | /* CM register bits shared between 24XX and 3430 */ |
diff --git a/arch/arm/mach-omap2/control.c b/arch/arm/mach-omap2/control.c index a5d86a49c213..51f70300996f 100644 --- a/arch/arm/mach-omap2/control.c +++ b/arch/arm/mach-omap2/control.c | |||
@@ -13,22 +13,21 @@ | |||
13 | #undef DEBUG | 13 | #undef DEBUG |
14 | 14 | ||
15 | #include <linux/kernel.h> | 15 | #include <linux/kernel.h> |
16 | #include <linux/io.h> | ||
16 | 17 | ||
17 | #include <asm/io.h> | 18 | #include <asm/arch/common.h> |
18 | |||
19 | #include <asm/arch/control.h> | 19 | #include <asm/arch/control.h> |
20 | 20 | ||
21 | static u32 omap2_ctrl_base; | 21 | static void __iomem *omap2_ctrl_base; |
22 | 22 | ||
23 | #define OMAP_CTRL_REGADDR(reg) (void __iomem *)IO_ADDRESS(omap2_ctrl_base \ | 23 | #define OMAP_CTRL_REGADDR(reg) (omap2_ctrl_base + (reg)) |
24 | + (reg)) | ||
25 | 24 | ||
26 | void omap_ctrl_base_set(u32 base) | 25 | void __init omap2_set_globals_control(struct omap_globals *omap2_globals) |
27 | { | 26 | { |
28 | omap2_ctrl_base = base; | 27 | omap2_ctrl_base = omap2_globals->ctrl; |
29 | } | 28 | } |
30 | 29 | ||
31 | u32 omap_ctrl_base_get(void) | 30 | void __iomem *omap_ctrl_base_get(void) |
32 | { | 31 | { |
33 | return omap2_ctrl_base; | 32 | return omap2_ctrl_base; |
34 | } | 33 | } |
@@ -50,25 +49,16 @@ u32 omap_ctrl_readl(u16 offset) | |||
50 | 49 | ||
51 | void omap_ctrl_writeb(u8 val, u16 offset) | 50 | void omap_ctrl_writeb(u8 val, u16 offset) |
52 | { | 51 | { |
53 | pr_debug("omap_ctrl_writeb: writing 0x%0x to 0x%0x\n", val, | ||
54 | (u32)OMAP_CTRL_REGADDR(offset)); | ||
55 | |||
56 | __raw_writeb(val, OMAP_CTRL_REGADDR(offset)); | 52 | __raw_writeb(val, OMAP_CTRL_REGADDR(offset)); |
57 | } | 53 | } |
58 | 54 | ||
59 | void omap_ctrl_writew(u16 val, u16 offset) | 55 | void omap_ctrl_writew(u16 val, u16 offset) |
60 | { | 56 | { |
61 | pr_debug("omap_ctrl_writew: writing 0x%0x to 0x%0x\n", val, | ||
62 | (u32)OMAP_CTRL_REGADDR(offset)); | ||
63 | |||
64 | __raw_writew(val, OMAP_CTRL_REGADDR(offset)); | 57 | __raw_writew(val, OMAP_CTRL_REGADDR(offset)); |
65 | } | 58 | } |
66 | 59 | ||
67 | void omap_ctrl_writel(u32 val, u16 offset) | 60 | void omap_ctrl_writel(u32 val, u16 offset) |
68 | { | 61 | { |
69 | pr_debug("omap_ctrl_writel: writing 0x%0x to 0x%0x\n", val, | ||
70 | (u32)OMAP_CTRL_REGADDR(offset)); | ||
71 | |||
72 | __raw_writel(val, OMAP_CTRL_REGADDR(offset)); | 62 | __raw_writel(val, OMAP_CTRL_REGADDR(offset)); |
73 | } | 63 | } |
74 | 64 | ||
diff --git a/arch/arm/mach-omap2/memory.c b/arch/arm/mach-omap2/memory.c index 12479081881a..73cadb2c75cf 100644 --- a/arch/arm/mach-omap2/memory.c +++ b/arch/arm/mach-omap2/memory.c | |||
@@ -24,6 +24,7 @@ | |||
24 | 24 | ||
25 | #include <asm/io.h> | 25 | #include <asm/io.h> |
26 | 26 | ||
27 | #include <asm/arch/common.h> | ||
27 | #include <asm/arch/clock.h> | 28 | #include <asm/arch/clock.h> |
28 | #include <asm/arch/sram.h> | 29 | #include <asm/arch/sram.h> |
29 | 30 | ||
@@ -32,8 +33,8 @@ | |||
32 | #include "memory.h" | 33 | #include "memory.h" |
33 | #include "sdrc.h" | 34 | #include "sdrc.h" |
34 | 35 | ||
35 | unsigned long omap2_sdrc_base; | 36 | void __iomem *omap2_sdrc_base; |
36 | unsigned long omap2_sms_base; | 37 | void __iomem *omap2_sms_base; |
37 | 38 | ||
38 | static struct memory_timings mem_timings; | 39 | static struct memory_timings mem_timings; |
39 | static u32 curr_perf_level = CORE_CLK_SRC_DPLL_X2; | 40 | static u32 curr_perf_level = CORE_CLK_SRC_DPLL_X2; |
@@ -154,6 +155,12 @@ void omap2_init_memory_params(u32 force_lock_to_unlock_mode) | |||
154 | mem_timings.slow_dll_ctrl |= ((1 << 1) | (3 << 8)); | 155 | mem_timings.slow_dll_ctrl |= ((1 << 1) | (3 << 8)); |
155 | } | 156 | } |
156 | 157 | ||
158 | void __init omap2_set_globals_memory(struct omap_globals *omap2_globals) | ||
159 | { | ||
160 | omap2_sdrc_base = omap2_globals->sdrc; | ||
161 | omap2_sms_base = omap2_globals->sms; | ||
162 | } | ||
163 | |||
157 | /* turn on smart idle modes for SDRAM scheduler and controller */ | 164 | /* turn on smart idle modes for SDRAM scheduler and controller */ |
158 | void __init omap2_init_memory(void) | 165 | void __init omap2_init_memory(void) |
159 | { | 166 | { |
diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c index 930770012a75..8f98b20f30a1 100644 --- a/arch/arm/mach-omap2/mux.c +++ b/arch/arm/mach-omap2/mux.c | |||
@@ -236,7 +236,7 @@ void __init_or_module omap2_cfg_debug(const struct pin_config *cfg, u8 reg) | |||
236 | warn = (orig != reg); | 236 | warn = (orig != reg); |
237 | if (debug || warn) | 237 | if (debug || warn) |
238 | printk(KERN_WARNING | 238 | printk(KERN_WARNING |
239 | "MUX: setup %s (0x%08x): 0x%02x -> 0x%02x\n", | 239 | "MUX: setup %s (0x%p): 0x%04x -> 0x%04x\n", |
240 | cfg->name, omap_ctrl_base_get() + cfg->mux_reg, | 240 | cfg->name, omap_ctrl_base_get() + cfg->mux_reg, |
241 | orig, reg); | 241 | orig, reg); |
242 | } | 242 | } |
diff --git a/arch/arm/mach-omap2/prcm.c b/arch/arm/mach-omap2/prcm.c index b12f423b8595..9584376d055a 100644 --- a/arch/arm/mach-omap2/prcm.c +++ b/arch/arm/mach-omap2/prcm.c | |||
@@ -16,12 +16,18 @@ | |||
16 | #include <linux/module.h> | 16 | #include <linux/module.h> |
17 | #include <linux/init.h> | 17 | #include <linux/init.h> |
18 | #include <linux/clk.h> | 18 | #include <linux/clk.h> |
19 | #include <linux/io.h> | ||
19 | 20 | ||
20 | #include <asm/io.h> | 21 | #include <asm/arch/common.h> |
22 | #include <asm/arch/prcm.h> | ||
21 | 23 | ||
24 | #include "clock.h" | ||
22 | #include "prm.h" | 25 | #include "prm.h" |
23 | #include "prm-regbits-24xx.h" | 26 | #include "prm-regbits-24xx.h" |
24 | 27 | ||
28 | static void __iomem *prm_base; | ||
29 | static void __iomem *cm_base; | ||
30 | |||
25 | extern void omap2_clk_prepare_for_reboot(void); | 31 | extern void omap2_clk_prepare_for_reboot(void); |
26 | 32 | ||
27 | u32 omap_prcm_get_reset_sources(void) | 33 | u32 omap_prcm_get_reset_sources(void) |
@@ -41,3 +47,50 @@ void omap_prcm_arch_reset(char mode) | |||
41 | prm_write_mod_reg(wkup, WKUP_MOD, RM_RSTCTRL); | 47 | prm_write_mod_reg(wkup, WKUP_MOD, RM_RSTCTRL); |
42 | } | 48 | } |
43 | } | 49 | } |
50 | |||
51 | static inline u32 __omap_prcm_read(void __iomem *base, s16 module, u16 reg) | ||
52 | { | ||
53 | BUG_ON(!base); | ||
54 | return __raw_readl(base + module + reg); | ||
55 | } | ||
56 | |||
57 | static inline void __omap_prcm_write(u32 value, void __iomem *base, | ||
58 | s16 module, u16 reg) | ||
59 | { | ||
60 | BUG_ON(!base); | ||
61 | __raw_writel(value, base + module + reg); | ||
62 | } | ||
63 | |||
64 | /* Read a register in a PRM module */ | ||
65 | u32 prm_read_mod_reg(s16 module, u16 idx) | ||
66 | { | ||
67 | return __omap_prcm_read(prm_base, module, idx); | ||
68 | } | ||
69 | EXPORT_SYMBOL(prm_read_mod_reg); | ||
70 | |||
71 | /* Write into a register in a PRM module */ | ||
72 | void prm_write_mod_reg(u32 val, s16 module, u16 idx) | ||
73 | { | ||
74 | __omap_prcm_write(val, prm_base, module, idx); | ||
75 | } | ||
76 | EXPORT_SYMBOL(prm_write_mod_reg); | ||
77 | |||
78 | /* Read a register in a CM module */ | ||
79 | u32 cm_read_mod_reg(s16 module, u16 idx) | ||
80 | { | ||
81 | return __omap_prcm_read(cm_base, module, idx); | ||
82 | } | ||
83 | EXPORT_SYMBOL(cm_read_mod_reg); | ||
84 | |||
85 | /* Write into a register in a CM module */ | ||
86 | void cm_write_mod_reg(u32 val, s16 module, u16 idx) | ||
87 | { | ||
88 | __omap_prcm_write(val, cm_base, module, idx); | ||
89 | } | ||
90 | EXPORT_SYMBOL(cm_write_mod_reg); | ||
91 | |||
92 | void __init omap2_set_globals_prcm(struct omap_globals *omap2_globals) | ||
93 | { | ||
94 | prm_base = omap2_globals->prm; | ||
95 | cm_base = omap2_globals->cm; | ||
96 | } | ||
diff --git a/arch/arm/mach-omap2/prm.h b/arch/arm/mach-omap2/prm.h index dcdb35bfa0c0..e901fb99b237 100644 --- a/arch/arm/mach-omap2/prm.h +++ b/arch/arm/mach-omap2/prm.h | |||
@@ -166,16 +166,8 @@ | |||
166 | #ifndef __ASSEMBLER__ | 166 | #ifndef __ASSEMBLER__ |
167 | 167 | ||
168 | /* Power/reset management domain register get/set */ | 168 | /* Power/reset management domain register get/set */ |
169 | 169 | extern u32 prm_read_mod_reg(s16 module, u16 idx); | |
170 | static inline void prm_write_mod_reg(u32 val, s16 module, s16 idx) | 170 | extern void prm_write_mod_reg(u32 val, s16 module, u16 idx); |
171 | { | ||
172 | __raw_writel(val, OMAP_PRM_REGADDR(module, idx)); | ||
173 | } | ||
174 | |||
175 | static inline u32 prm_read_mod_reg(s16 module, s16 idx) | ||
176 | { | ||
177 | return __raw_readl(OMAP_PRM_REGADDR(module, idx)); | ||
178 | } | ||
179 | 171 | ||
180 | #endif | 172 | #endif |
181 | 173 | ||
diff --git a/arch/arm/mach-omap2/sdrc.h b/arch/arm/mach-omap2/sdrc.h index d7f23bc9550a..1b1fe4f6e030 100644 --- a/arch/arm/mach-omap2/sdrc.h +++ b/arch/arm/mach-omap2/sdrc.h | |||
@@ -18,13 +18,11 @@ | |||
18 | #include <asm/arch/sdrc.h> | 18 | #include <asm/arch/sdrc.h> |
19 | 19 | ||
20 | #ifndef __ASSEMBLER__ | 20 | #ifndef __ASSEMBLER__ |
21 | extern unsigned long omap2_sdrc_base; | 21 | extern void __iomem *omap2_sdrc_base; |
22 | extern unsigned long omap2_sms_base; | 22 | extern void __iomem *omap2_sms_base; |
23 | 23 | ||
24 | #define OMAP_SDRC_REGADDR(reg) \ | 24 | #define OMAP_SDRC_REGADDR(reg) (omap2_sdrc_base + (reg)) |
25 | (void __iomem *)IO_ADDRESS(omap2_sdrc_base + (reg)) | 25 | #define OMAP_SMS_REGADDR(reg) (omap2_sms_base + (reg)) |
26 | #define OMAP_SMS_REGADDR(reg) \ | ||
27 | (void __iomem *)IO_ADDRESS(omap2_sms_base + (reg)) | ||
28 | 26 | ||
29 | /* SDRC global register get/set */ | 27 | /* SDRC global register get/set */ |
30 | 28 | ||
diff --git a/arch/arm/plat-omap/common.c b/arch/arm/plat-omap/common.c index bd1cef2c3c14..8d04929a3c75 100644 --- a/arch/arm/plat-omap/common.c +++ b/arch/arm/plat-omap/common.c | |||
@@ -26,6 +26,7 @@ | |||
26 | #include <asm/io.h> | 26 | #include <asm/io.h> |
27 | #include <asm/setup.h> | 27 | #include <asm/setup.h> |
28 | 28 | ||
29 | #include <asm/arch/common.h> | ||
29 | #include <asm/arch/board.h> | 30 | #include <asm/arch/board.h> |
30 | #include <asm/arch/control.h> | 31 | #include <asm/arch/control.h> |
31 | #include <asm/arch/mux.h> | 32 | #include <asm/arch/mux.h> |
@@ -241,30 +242,70 @@ arch_initcall(omap_init_clocksource_32k); | |||
241 | 242 | ||
242 | /* Global address base setup code */ | 243 | /* Global address base setup code */ |
243 | 244 | ||
245 | #if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) | ||
246 | |||
247 | static struct omap_globals *omap2_globals; | ||
248 | |||
249 | static void __init __omap2_set_globals(void) | ||
250 | { | ||
251 | omap2_set_globals_memory(omap2_globals); | ||
252 | omap2_set_globals_control(omap2_globals); | ||
253 | omap2_set_globals_prcm(omap2_globals); | ||
254 | } | ||
255 | |||
256 | #endif | ||
257 | |||
244 | #if defined(CONFIG_ARCH_OMAP2420) | 258 | #if defined(CONFIG_ARCH_OMAP2420) |
259 | |||
260 | static struct omap_globals omap242x_globals = { | ||
261 | .tap = (__force void __iomem *)OMAP2_IO_ADDRESS(0x48014000), | ||
262 | .sdrc = (__force void __iomem *)OMAP2_IO_ADDRESS(OMAP2420_SDRC_BASE), | ||
263 | .sms = (__force void __iomem *)OMAP2_IO_ADDRESS(OMAP2420_SMS_BASE), | ||
264 | .ctrl = (__force void __iomem *)OMAP2_IO_ADDRESS(OMAP2420_CTRL_BASE), | ||
265 | .prm = (__force void __iomem *)OMAP2_IO_ADDRESS(OMAP2420_PRM_BASE), | ||
266 | .cm = (__force void __iomem *)OMAP2_IO_ADDRESS(OMAP2420_CM_BASE), | ||
267 | }; | ||
268 | |||
245 | void __init omap2_set_globals_242x(void) | 269 | void __init omap2_set_globals_242x(void) |
246 | { | 270 | { |
247 | omap2_sdrc_base = OMAP2420_SDRC_BASE; | 271 | omap2_globals = &omap242x_globals; |
248 | omap2_sms_base = OMAP2420_SMS_BASE; | 272 | __omap2_set_globals(); |
249 | omap_ctrl_base_set(OMAP2420_CTRL_BASE); | ||
250 | } | 273 | } |
251 | #endif | 274 | #endif |
252 | 275 | ||
253 | #if defined(CONFIG_ARCH_OMAP2430) | 276 | #if defined(CONFIG_ARCH_OMAP2430) |
277 | |||
278 | static struct omap_globals omap243x_globals = { | ||
279 | .tap = (__force void __iomem *)OMAP2_IO_ADDRESS(0x4900a000), | ||
280 | .sdrc = (__force void __iomem *)OMAP2_IO_ADDRESS(OMAP243X_SDRC_BASE), | ||
281 | .sms = (__force void __iomem *)OMAP2_IO_ADDRESS(OMAP243X_SMS_BASE), | ||
282 | .ctrl = (__force void __iomem *)OMAP2_IO_ADDRESS(OMAP243X_CTRL_BASE), | ||
283 | .prm = (__force void __iomem *)OMAP2_IO_ADDRESS(OMAP2430_PRM_BASE), | ||
284 | .cm = (__force void __iomem *)OMAP2_IO_ADDRESS(OMAP2430_CM_BASE), | ||
285 | }; | ||
286 | |||
254 | void __init omap2_set_globals_243x(void) | 287 | void __init omap2_set_globals_243x(void) |
255 | { | 288 | { |
256 | omap2_sdrc_base = OMAP243X_SDRC_BASE; | 289 | omap2_globals = &omap243x_globals; |
257 | omap2_sms_base = OMAP243X_SMS_BASE; | 290 | __omap2_set_globals(); |
258 | omap_ctrl_base_set(OMAP243X_CTRL_BASE); | ||
259 | } | 291 | } |
260 | #endif | 292 | #endif |
261 | 293 | ||
262 | #if defined(CONFIG_ARCH_OMAP3430) | 294 | #if defined(CONFIG_ARCH_OMAP3430) |
295 | |||
296 | static struct omap_globals omap343x_globals = { | ||
297 | .tap = (__force void __iomem *)OMAP2_IO_ADDRESS(0x4830A000), | ||
298 | .sdrc = (__force void __iomem *)OMAP2_IO_ADDRESS(OMAP343X_SDRC_BASE), | ||
299 | .sms = (__force void __iomem *)OMAP2_IO_ADDRESS(OMAP343X_SMS_BASE), | ||
300 | .ctrl = (__force void __iomem *)OMAP2_IO_ADDRESS(OMAP343X_CTRL_BASE), | ||
301 | .prm = (__force void __iomem *)OMAP2_IO_ADDRESS(OMAP3430_PRM_BASE), | ||
302 | .cm = (__force void __iomem *)OMAP2_IO_ADDRESS(OMAP3430_CM_BASE), | ||
303 | }; | ||
304 | |||
263 | void __init omap2_set_globals_343x(void) | 305 | void __init omap2_set_globals_343x(void) |
264 | { | 306 | { |
265 | omap2_sdrc_base = OMAP343X_SDRC_BASE; | 307 | omap2_globals = &omap343x_globals; |
266 | omap2_sms_base = OMAP343X_SMS_BASE; | 308 | __omap2_set_globals(); |
267 | omap_ctrl_base_set(OMAP343X_CTRL_BASE); | ||
268 | } | 309 | } |
269 | #endif | 310 | #endif |
270 | 311 | ||
diff --git a/include/asm-arm/arch-omap/common.h b/include/asm-arm/arch-omap/common.h index 36a3b62d4d8d..8ac03071f60c 100644 --- a/include/asm-arm/arch-omap/common.h +++ b/include/asm-arm/arch-omap/common.h | |||
@@ -47,8 +47,23 @@ static inline int omap_register_i2c_bus(int bus_id, u32 clkrate, | |||
47 | } | 47 | } |
48 | #endif | 48 | #endif |
49 | 49 | ||
50 | /* IO bases for various OMAP processors */ | ||
51 | struct omap_globals { | ||
52 | void __iomem *tap; /* Control module ID code */ | ||
53 | void __iomem *sdrc; /* SDRAM Controller */ | ||
54 | void __iomem *sms; /* SDRAM Memory Scheduler */ | ||
55 | void __iomem *ctrl; /* System Control Module */ | ||
56 | void __iomem *prm; /* Power and Reset Management */ | ||
57 | void __iomem *cm; /* Clock Management */ | ||
58 | }; | ||
59 | |||
50 | void omap2_set_globals_242x(void); | 60 | void omap2_set_globals_242x(void); |
51 | void omap2_set_globals_243x(void); | 61 | void omap2_set_globals_243x(void); |
52 | void omap2_set_globals_343x(void); | 62 | void omap2_set_globals_343x(void); |
53 | 63 | ||
64 | /* These get called from omap2_set_globals_xxxx(), do not call these */ | ||
65 | void omap2_set_globals_memory(struct omap_globals *); | ||
66 | void omap2_set_globals_control(struct omap_globals *); | ||
67 | void omap2_set_globals_prcm(struct omap_globals *); | ||
68 | |||
54 | #endif /* __ARCH_ARM_MACH_OMAP_COMMON_H */ | 69 | #endif /* __ARCH_ARM_MACH_OMAP_COMMON_H */ |
diff --git a/include/asm-arm/arch-omap/control.h b/include/asm-arm/arch-omap/control.h index 59c0686f8be7..987553e3eeb9 100644 --- a/include/asm-arm/arch-omap/control.h +++ b/include/asm-arm/arch-omap/control.h | |||
@@ -167,8 +167,7 @@ | |||
167 | 167 | ||
168 | #ifndef __ASSEMBLY__ | 168 | #ifndef __ASSEMBLY__ |
169 | #if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) | 169 | #if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) |
170 | extern void omap_ctrl_base_set(u32 base); | 170 | extern void __iomem *omap_ctrl_base_get(void); |
171 | extern u32 omap_ctrl_base_get(void); | ||
172 | extern u8 omap_ctrl_readb(u16 offset); | 171 | extern u8 omap_ctrl_readb(u16 offset); |
173 | extern u16 omap_ctrl_readw(u16 offset); | 172 | extern u16 omap_ctrl_readw(u16 offset); |
174 | extern u32 omap_ctrl_readl(u16 offset); | 173 | extern u32 omap_ctrl_readl(u16 offset); |
@@ -176,7 +175,6 @@ extern void omap_ctrl_writeb(u8 val, u16 offset); | |||
176 | extern void omap_ctrl_writew(u16 val, u16 offset); | 175 | extern void omap_ctrl_writew(u16 val, u16 offset); |
177 | extern void omap_ctrl_writel(u32 val, u16 offset); | 176 | extern void omap_ctrl_writel(u32 val, u16 offset); |
178 | #else | 177 | #else |
179 | #define omap_ctrl_base_set(x) WARN_ON(1) | ||
180 | #define omap_ctrl_base_get() 0 | 178 | #define omap_ctrl_base_get() 0 |
181 | #define omap_ctrl_readb(x) 0 | 179 | #define omap_ctrl_readb(x) 0 |
182 | #define omap_ctrl_readw(x) 0 | 180 | #define omap_ctrl_readw(x) 0 |
diff --git a/include/asm-arm/arch-omap/io.h b/include/asm-arm/arch-omap/io.h index e1fb7ec7d478..0b13557fd30b 100644 --- a/include/asm-arm/arch-omap/io.h +++ b/include/asm-arm/arch-omap/io.h | |||
@@ -60,6 +60,7 @@ | |||
60 | #define IO_SIZE 0x40000 | 60 | #define IO_SIZE 0x40000 |
61 | #define IO_VIRT (IO_PHYS - IO_OFFSET) | 61 | #define IO_VIRT (IO_PHYS - IO_OFFSET) |
62 | #define IO_ADDRESS(pa) ((pa) - IO_OFFSET) | 62 | #define IO_ADDRESS(pa) ((pa) - IO_OFFSET) |
63 | #define OMAP1_IO_ADDRESS(pa) ((pa) - IO_OFFSET) | ||
63 | #define io_p2v(pa) ((pa) - IO_OFFSET) | 64 | #define io_p2v(pa) ((pa) - IO_OFFSET) |
64 | #define io_v2p(va) ((va) + IO_OFFSET) | 65 | #define io_v2p(va) ((va) + IO_OFFSET) |
65 | 66 | ||
@@ -91,6 +92,7 @@ | |||
91 | 92 | ||
92 | #define IO_OFFSET 0x90000000 | 93 | #define IO_OFFSET 0x90000000 |
93 | #define IO_ADDRESS(pa) ((pa) + IO_OFFSET) /* Works for L3 and L4 */ | 94 | #define IO_ADDRESS(pa) ((pa) + IO_OFFSET) /* Works for L3 and L4 */ |
95 | #define OMAP2_IO_ADDRESS(pa) ((pa) + IO_OFFSET) /* Works for L3 and L4 */ | ||
94 | #define io_p2v(pa) ((pa) + IO_OFFSET) /* Works for L3 and L4 */ | 96 | #define io_p2v(pa) ((pa) + IO_OFFSET) /* Works for L3 and L4 */ |
95 | #define io_v2p(va) ((va) - IO_OFFSET) /* Works for L3 and L4 */ | 97 | #define io_v2p(va) ((va) - IO_OFFSET) /* Works for L3 and L4 */ |
96 | 98 | ||
@@ -148,6 +150,7 @@ | |||
148 | 150 | ||
149 | #define IO_OFFSET 0x90000000 | 151 | #define IO_OFFSET 0x90000000 |
150 | #define IO_ADDRESS(pa) ((pa) + IO_OFFSET)/* Works for L3 and L4 */ | 152 | #define IO_ADDRESS(pa) ((pa) + IO_OFFSET)/* Works for L3 and L4 */ |
153 | #define OMAP2_IO_ADDRESS(pa) ((pa) + IO_OFFSET)/* Works for L3 and L4 */ | ||
151 | #define io_p2v(pa) ((pa) + IO_OFFSET)/* Works for L3 and L4 */ | 154 | #define io_p2v(pa) ((pa) + IO_OFFSET)/* Works for L3 and L4 */ |
152 | #define io_v2p(va) ((va) - IO_OFFSET)/* Works for L3 and L4 */ | 155 | #define io_v2p(va) ((va) - IO_OFFSET)/* Works for L3 and L4 */ |
153 | 156 | ||