diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2010-10-25 09:44:25 -0400 |
---|---|---|
committer | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2010-11-17 02:58:11 -0500 |
commit | a99631489bbd1b4647b82d0822b6a3942e2dd731 (patch) | |
tree | 9af7ee56eea709ae48587ca5409e768fbf68917a /arch/arm/plat-mxc/include/mach/mx3x.h | |
parent | cf3a6aba2f8402d4e45f7f263a0e69f779cd1bdc (diff) |
ARM: imx: change static io mapping to use a function
Now only the virtual addresses [0xf4000000, 0xf5ffffff] are used for
static per-SoC mappings. The few mappings of whole chip selects are
moved accordingly.
The now wrong defines for virtual base addresses are removed.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Diffstat (limited to 'arch/arm/plat-mxc/include/mach/mx3x.h')
-rw-r--r-- | arch/arm/plat-mxc/include/mach/mx3x.h | 65 |
1 files changed, 3 insertions, 62 deletions
diff --git a/arch/arm/plat-mxc/include/mach/mx3x.h b/arch/arm/plat-mxc/include/mach/mx3x.h index d1bd26d7b8a6..da22cd481829 100644 --- a/arch/arm/plat-mxc/include/mach/mx3x.h +++ b/arch/arm/plat-mxc/include/mach/mx3x.h | |||
@@ -44,7 +44,7 @@ | |||
44 | * AIPS 1 | 44 | * AIPS 1 |
45 | */ | 45 | */ |
46 | #define MX3x_AIPS1_BASE_ADDR 0x43f00000 | 46 | #define MX3x_AIPS1_BASE_ADDR 0x43f00000 |
47 | #define MX3x_AIPS1_BASE_ADDR_VIRT 0xfc000000 | 47 | #define MX3x_AIPS1_BASE_ADDR_VIRT 0xf5300000 |
48 | #define MX3x_AIPS1_SIZE SZ_1M | 48 | #define MX3x_AIPS1_SIZE SZ_1M |
49 | #define MX3x_MAX_BASE_ADDR (MX3x_AIPS1_BASE_ADDR + 0x04000) | 49 | #define MX3x_MAX_BASE_ADDR (MX3x_AIPS1_BASE_ADDR + 0x04000) |
50 | #define MX3x_EVTMON_BASE_ADDR (MX3x_AIPS1_BASE_ADDR + 0x08000) | 50 | #define MX3x_EVTMON_BASE_ADDR (MX3x_AIPS1_BASE_ADDR + 0x08000) |
@@ -69,7 +69,6 @@ | |||
69 | * SPBA global module enabled #0 | 69 | * SPBA global module enabled #0 |
70 | */ | 70 | */ |
71 | #define MX3x_SPBA0_BASE_ADDR 0x50000000 | 71 | #define MX3x_SPBA0_BASE_ADDR 0x50000000 |
72 | #define MX3x_SPBA0_BASE_ADDR_VIRT 0xfc100000 | ||
73 | #define MX3x_SPBA0_SIZE SZ_1M | 72 | #define MX3x_SPBA0_SIZE SZ_1M |
74 | #define MX3x_UART3_BASE_ADDR (MX3x_SPBA0_BASE_ADDR + 0x0c000) | 73 | #define MX3x_UART3_BASE_ADDR (MX3x_SPBA0_BASE_ADDR + 0x0c000) |
75 | #define MX3x_CSPI2_BASE_ADDR (MX3x_SPBA0_BASE_ADDR + 0x10000) | 74 | #define MX3x_CSPI2_BASE_ADDR (MX3x_SPBA0_BASE_ADDR + 0x10000) |
@@ -82,7 +81,6 @@ | |||
82 | * AIPS 2 | 81 | * AIPS 2 |
83 | */ | 82 | */ |
84 | #define MX3x_AIPS2_BASE_ADDR 0x53f00000 | 83 | #define MX3x_AIPS2_BASE_ADDR 0x53f00000 |
85 | #define MX3x_AIPS2_BASE_ADDR_VIRT 0xfc200000 | ||
86 | #define MX3x_AIPS2_SIZE SZ_1M | 84 | #define MX3x_AIPS2_SIZE SZ_1M |
87 | #define MX3x_CCM_BASE_ADDR (MX3x_AIPS2_BASE_ADDR + 0x80000) | 85 | #define MX3x_CCM_BASE_ADDR (MX3x_AIPS2_BASE_ADDR + 0x80000) |
88 | #define MX3x_GPT1_BASE_ADDR (MX3x_AIPS2_BASE_ADDR + 0x90000) | 86 | #define MX3x_GPT1_BASE_ADDR (MX3x_AIPS2_BASE_ADDR + 0x90000) |
@@ -105,11 +103,9 @@ | |||
105 | * ROMP and AVIC | 103 | * ROMP and AVIC |
106 | */ | 104 | */ |
107 | #define MX3x_ROMP_BASE_ADDR 0x60000000 | 105 | #define MX3x_ROMP_BASE_ADDR 0x60000000 |
108 | #define MX3x_ROMP_BASE_ADDR_VIRT 0xfc500000 | ||
109 | #define MX3x_ROMP_SIZE SZ_1M | 106 | #define MX3x_ROMP_SIZE SZ_1M |
110 | 107 | ||
111 | #define MX3x_AVIC_BASE_ADDR 0x68000000 | 108 | #define MX3x_AVIC_BASE_ADDR 0x68000000 |
112 | #define MX3x_AVIC_BASE_ADDR_VIRT 0xfc400000 | ||
113 | #define MX3x_AVIC_SIZE SZ_1M | 109 | #define MX3x_AVIC_SIZE SZ_1M |
114 | 110 | ||
115 | /* | 111 | /* |
@@ -125,18 +121,17 @@ | |||
125 | #define MX3x_CS3_BASE_ADDR 0xb2000000 | 121 | #define MX3x_CS3_BASE_ADDR 0xb2000000 |
126 | 122 | ||
127 | #define MX3x_CS4_BASE_ADDR 0xb4000000 | 123 | #define MX3x_CS4_BASE_ADDR 0xb4000000 |
128 | #define MX3x_CS4_BASE_ADDR_VIRT 0xf4000000 | 124 | #define MX3x_CS4_BASE_ADDR_VIRT 0xf6000000 |
129 | #define MX3x_CS4_SIZE SZ_32M | 125 | #define MX3x_CS4_SIZE SZ_32M |
130 | 126 | ||
131 | #define MX3x_CS5_BASE_ADDR 0xb6000000 | 127 | #define MX3x_CS5_BASE_ADDR 0xb6000000 |
132 | #define MX3x_CS5_BASE_ADDR_VIRT 0xf6000000 | 128 | #define MX3x_CS5_BASE_ADDR_VIRT 0xf8000000 |
133 | #define MX3x_CS5_SIZE SZ_32M | 129 | #define MX3x_CS5_SIZE SZ_32M |
134 | 130 | ||
135 | /* | 131 | /* |
136 | * NAND, SDRAM, WEIM, M3IF, EMI controllers | 132 | * NAND, SDRAM, WEIM, M3IF, EMI controllers |
137 | */ | 133 | */ |
138 | #define MX3x_X_MEMC_BASE_ADDR 0xb8000000 | 134 | #define MX3x_X_MEMC_BASE_ADDR 0xb8000000 |
139 | #define MX3x_X_MEMC_BASE_ADDR_VIRT 0xfc320000 | ||
140 | #define MX3x_X_MEMC_SIZE SZ_64K | 135 | #define MX3x_X_MEMC_SIZE SZ_64K |
141 | #define MX3x_ESDCTL_BASE_ADDR (MX3x_X_MEMC_BASE_ADDR + 0x1000) | 136 | #define MX3x_ESDCTL_BASE_ADDR (MX3x_X_MEMC_BASE_ADDR + 0x1000) |
142 | #define MX3x_WEIM_BASE_ADDR (MX3x_X_MEMC_BASE_ADDR + 0x2000) | 137 | #define MX3x_WEIM_BASE_ADDR (MX3x_X_MEMC_BASE_ADDR + 0x2000) |
@@ -146,56 +141,9 @@ | |||
146 | 141 | ||
147 | #define MX3x_PCMCIA_MEM_BASE_ADDR 0xbc000000 | 142 | #define MX3x_PCMCIA_MEM_BASE_ADDR 0xbc000000 |
148 | 143 | ||
149 | /*! | ||
150 | * This macro defines the physical to virtual address mapping for all the | ||
151 | * peripheral modules. It is used by passing in the physical address as x | ||
152 | * and returning the virtual address. If the physical address is not mapped, | ||
153 | * it returns 0xDEADBEEF | ||
154 | */ | ||
155 | #define IO_ADDRESS(x) \ | ||
156 | (void __force __iomem *) \ | ||
157 | (((x >= AIPS1_BASE_ADDR) && (x < (AIPS1_BASE_ADDR + AIPS1_SIZE))) ? AIPS1_IO_ADDRESS(x):\ | ||
158 | ((x >= SPBA0_BASE_ADDR) && (x < (SPBA0_BASE_ADDR + SPBA0_SIZE))) ? SPBA0_IO_ADDRESS(x):\ | ||
159 | ((x >= AIPS2_BASE_ADDR) && (x < (AIPS2_BASE_ADDR + AIPS2_SIZE))) ? AIPS2_IO_ADDRESS(x):\ | ||
160 | ((x >= ROMP_BASE_ADDR) && (x < (ROMP_BASE_ADDR + ROMP_SIZE))) ? ROMP_IO_ADDRESS(x):\ | ||
161 | ((x >= AVIC_BASE_ADDR) && (x < (AVIC_BASE_ADDR + AVIC_SIZE))) ? AVIC_IO_ADDRESS(x):\ | ||
162 | ((x >= CS4_BASE_ADDR) && (x < (CS4_BASE_ADDR + CS4_SIZE))) ? CS4_IO_ADDRESS(x):\ | ||
163 | ((x >= X_MEMC_BASE_ADDR) && (x < (X_MEMC_BASE_ADDR + X_MEMC_SIZE))) ? X_MEMC_IO_ADDRESS(x):\ | ||
164 | 0xDEADBEEF) | ||
165 | |||
166 | /* | ||
167 | * define the address mapping macros: in physical address order | ||
168 | */ | ||
169 | #define L2CC_IO_ADDRESS(x) \ | ||
170 | (((x) - L2CC_BASE_ADDR) + L2CC_BASE_ADDR_VIRT) | ||
171 | |||
172 | #define AIPS1_IO_ADDRESS(x) \ | 144 | #define AIPS1_IO_ADDRESS(x) \ |
173 | (((x) - AIPS1_BASE_ADDR) + AIPS1_BASE_ADDR_VIRT) | 145 | (((x) - AIPS1_BASE_ADDR) + AIPS1_BASE_ADDR_VIRT) |
174 | 146 | ||
175 | #define SPBA0_IO_ADDRESS(x) \ | ||
176 | (((x) - SPBA0_BASE_ADDR) + SPBA0_BASE_ADDR_VIRT) | ||
177 | |||
178 | #define AIPS2_IO_ADDRESS(x) \ | ||
179 | (((x) - AIPS2_BASE_ADDR) + AIPS2_BASE_ADDR_VIRT) | ||
180 | |||
181 | #define ROMP_IO_ADDRESS(x) \ | ||
182 | (((x) - ROMP_BASE_ADDR) + ROMP_BASE_ADDR_VIRT) | ||
183 | |||
184 | #define AVIC_IO_ADDRESS(x) \ | ||
185 | (((x) - AVIC_BASE_ADDR) + AVIC_BASE_ADDR_VIRT) | ||
186 | |||
187 | #define CS4_IO_ADDRESS(x) \ | ||
188 | (((x) - CS4_BASE_ADDR) + CS4_BASE_ADDR_VIRT) | ||
189 | |||
190 | #define CS5_IO_ADDRESS(x) \ | ||
191 | (((x) - CS5_BASE_ADDR) + CS5_BASE_ADDR_VIRT) | ||
192 | |||
193 | #define X_MEMC_IO_ADDRESS(x) \ | ||
194 | (((x) - X_MEMC_BASE_ADDR) + X_MEMC_BASE_ADDR_VIRT) | ||
195 | |||
196 | #define PCMCIA_IO_ADDRESS(x) \ | ||
197 | (((x) - X_MEMC_BASE_ADDR) + X_MEMC_BASE_ADDR_VIRT) | ||
198 | |||
199 | /* | 147 | /* |
200 | * Interrupt numbers | 148 | * Interrupt numbers |
201 | */ | 149 | */ |
@@ -303,7 +251,6 @@ static inline int mx35_revision(void) | |||
303 | #define ECT_IP1_BASE_ADDR MX3x_ECT_IP1_BASE_ADDR | 251 | #define ECT_IP1_BASE_ADDR MX3x_ECT_IP1_BASE_ADDR |
304 | #define ECT_IP2_BASE_ADDR MX3x_ECT_IP2_BASE_ADDR | 252 | #define ECT_IP2_BASE_ADDR MX3x_ECT_IP2_BASE_ADDR |
305 | #define SPBA0_BASE_ADDR MX3x_SPBA0_BASE_ADDR | 253 | #define SPBA0_BASE_ADDR MX3x_SPBA0_BASE_ADDR |
306 | #define SPBA0_BASE_ADDR_VIRT MX3x_SPBA0_BASE_ADDR_VIRT | ||
307 | #define SPBA0_SIZE MX3x_SPBA0_SIZE | 254 | #define SPBA0_SIZE MX3x_SPBA0_SIZE |
308 | #define UART3_BASE_ADDR MX3x_UART3_BASE_ADDR | 255 | #define UART3_BASE_ADDR MX3x_UART3_BASE_ADDR |
309 | #define CSPI2_BASE_ADDR MX3x_CSPI2_BASE_ADDR | 256 | #define CSPI2_BASE_ADDR MX3x_CSPI2_BASE_ADDR |
@@ -312,7 +259,6 @@ static inline int mx35_revision(void) | |||
312 | #define MSHC1_BASE_ADDR MX3x_MSHC1_BASE_ADDR | 259 | #define MSHC1_BASE_ADDR MX3x_MSHC1_BASE_ADDR |
313 | #define SPBA_CTRL_BASE_ADDR MX3x_SPBA_CTRL_BASE_ADDR | 260 | #define SPBA_CTRL_BASE_ADDR MX3x_SPBA_CTRL_BASE_ADDR |
314 | #define AIPS2_BASE_ADDR MX3x_AIPS2_BASE_ADDR | 261 | #define AIPS2_BASE_ADDR MX3x_AIPS2_BASE_ADDR |
315 | #define AIPS2_BASE_ADDR_VIRT MX3x_AIPS2_BASE_ADDR_VIRT | ||
316 | #define AIPS2_SIZE MX3x_AIPS2_SIZE | 262 | #define AIPS2_SIZE MX3x_AIPS2_SIZE |
317 | #define CCM_BASE_ADDR MX3x_CCM_BASE_ADDR | 263 | #define CCM_BASE_ADDR MX3x_CCM_BASE_ADDR |
318 | #define GPT1_BASE_ADDR MX3x_GPT1_BASE_ADDR | 264 | #define GPT1_BASE_ADDR MX3x_GPT1_BASE_ADDR |
@@ -331,10 +277,8 @@ static inline int mx35_revision(void) | |||
331 | #define PWM_BASE_ADDR MX3x_PWM_BASE_ADDR | 277 | #define PWM_BASE_ADDR MX3x_PWM_BASE_ADDR |
332 | #define RTIC_BASE_ADDR MX3x_RTIC_BASE_ADDR | 278 | #define RTIC_BASE_ADDR MX3x_RTIC_BASE_ADDR |
333 | #define ROMP_BASE_ADDR MX3x_ROMP_BASE_ADDR | 279 | #define ROMP_BASE_ADDR MX3x_ROMP_BASE_ADDR |
334 | #define ROMP_BASE_ADDR_VIRT MX3x_ROMP_BASE_ADDR_VIRT | ||
335 | #define ROMP_SIZE MX3x_ROMP_SIZE | 280 | #define ROMP_SIZE MX3x_ROMP_SIZE |
336 | #define AVIC_BASE_ADDR MX3x_AVIC_BASE_ADDR | 281 | #define AVIC_BASE_ADDR MX3x_AVIC_BASE_ADDR |
337 | #define AVIC_BASE_ADDR_VIRT MX3x_AVIC_BASE_ADDR_VIRT | ||
338 | #define AVIC_SIZE MX3x_AVIC_SIZE | 282 | #define AVIC_SIZE MX3x_AVIC_SIZE |
339 | #define IPU_MEM_BASE_ADDR MX3x_IPU_MEM_BASE_ADDR | 283 | #define IPU_MEM_BASE_ADDR MX3x_IPU_MEM_BASE_ADDR |
340 | #define CSD0_BASE_ADDR MX3x_CSD0_BASE_ADDR | 284 | #define CSD0_BASE_ADDR MX3x_CSD0_BASE_ADDR |
@@ -344,13 +288,10 @@ static inline int mx35_revision(void) | |||
344 | #define CS2_BASE_ADDR MX3x_CS2_BASE_ADDR | 288 | #define CS2_BASE_ADDR MX3x_CS2_BASE_ADDR |
345 | #define CS3_BASE_ADDR MX3x_CS3_BASE_ADDR | 289 | #define CS3_BASE_ADDR MX3x_CS3_BASE_ADDR |
346 | #define CS4_BASE_ADDR MX3x_CS4_BASE_ADDR | 290 | #define CS4_BASE_ADDR MX3x_CS4_BASE_ADDR |
347 | #define CS4_BASE_ADDR_VIRT MX3x_CS4_BASE_ADDR_VIRT | ||
348 | #define CS4_SIZE MX3x_CS4_SIZE | 291 | #define CS4_SIZE MX3x_CS4_SIZE |
349 | #define CS5_BASE_ADDR MX3x_CS5_BASE_ADDR | 292 | #define CS5_BASE_ADDR MX3x_CS5_BASE_ADDR |
350 | #define CS5_BASE_ADDR_VIRT MX3x_CS5_BASE_ADDR_VIRT | ||
351 | #define CS5_SIZE MX3x_CS5_SIZE | 293 | #define CS5_SIZE MX3x_CS5_SIZE |
352 | #define X_MEMC_BASE_ADDR MX3x_X_MEMC_BASE_ADDR | 294 | #define X_MEMC_BASE_ADDR MX3x_X_MEMC_BASE_ADDR |
353 | #define X_MEMC_BASE_ADDR_VIRT MX3x_X_MEMC_BASE_ADDR_VIRT | ||
354 | #define X_MEMC_SIZE MX3x_X_MEMC_SIZE | 295 | #define X_MEMC_SIZE MX3x_X_MEMC_SIZE |
355 | #define ESDCTL_BASE_ADDR MX3x_ESDCTL_BASE_ADDR | 296 | #define ESDCTL_BASE_ADDR MX3x_ESDCTL_BASE_ADDR |
356 | #define WEIM_BASE_ADDR MX3x_WEIM_BASE_ADDR | 297 | #define WEIM_BASE_ADDR MX3x_WEIM_BASE_ADDR |