diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2010-02-04 05:18:09 -0500 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2010-02-04 05:18:09 -0500 |
commit | 9fd96bbb6a3a1fd9ba24e84a2d7ccc6ccb6beb60 (patch) | |
tree | b0f46e9a9164f75efb59ca241ca16b6ce03be0b6 /arch/arm/plat-mxc/include/mach/mxc91231.h | |
parent | 5c17ef878fa25e04b1e8f1d8f5fa8b267753472c (diff) | |
parent | e27bf72465f4d867a2aea33cad5e9e255c4d92ff (diff) |
Merge branch 'imx/master' of git://git.pengutronix.de/git/ukl/linux-2.6 into mxc-master
Diffstat (limited to 'arch/arm/plat-mxc/include/mach/mxc91231.h')
-rw-r--r-- | arch/arm/plat-mxc/include/mach/mxc91231.h | 58 |
1 files changed, 10 insertions, 48 deletions
diff --git a/arch/arm/plat-mxc/include/mach/mxc91231.h b/arch/arm/plat-mxc/include/mach/mxc91231.h index 81484d1ef232..5182b986b785 100644 --- a/arch/arm/plat-mxc/include/mach/mxc91231.h +++ b/arch/arm/plat-mxc/include/mach/mxc91231.h | |||
@@ -184,60 +184,22 @@ | |||
184 | #define MXC91231_CS4_BASE_ADDR 0xB4000000 | 184 | #define MXC91231_CS4_BASE_ADDR 0xB4000000 |
185 | #define MXC91231_CS5_BASE_ADDR 0xB6000000 | 185 | #define MXC91231_CS5_BASE_ADDR 0xB6000000 |
186 | 186 | ||
187 | /* Is given address belongs to the specified memory region? */ | ||
188 | #define ADDRESS_IN_REGION(addr, start, size) \ | ||
189 | (((addr) >= (start)) && ((addr) < (start)+(size))) | ||
190 | |||
191 | /* Is given address belongs to the specified named `module'? */ | ||
192 | #define MXC91231_IS_MODULE(addr, module) \ | ||
193 | ADDRESS_IN_REGION(addr, MXC91231_ ## module ## _BASE_ADDR, \ | ||
194 | MXC91231_ ## module ## _SIZE) | ||
195 | /* | 187 | /* |
196 | * This macro defines the physical to virtual address mapping for all the | 188 | * This macro defines the physical to virtual address mapping for all the |
197 | * peripheral modules. It is used by passing in the physical address as x | 189 | * peripheral modules. It is used by passing in the physical address as x |
198 | * and returning the virtual address. If the physical address is not mapped, | 190 | * and returning the virtual address. If the physical address is not mapped, |
199 | * it returns 0xDEADBEEF | 191 | * it returns 0. |
200 | */ | ||
201 | |||
202 | #define MXC91231_IO_ADDRESS(x) \ | ||
203 | (void __iomem *) \ | ||
204 | (MXC91231_IS_MODULE(x, L2CC) ? MXC91231_L2CC_IO_ADDRESS(x) : \ | ||
205 | MXC91231_IS_MODULE(x, AIPS1) ? MXC91231_AIPS1_IO_ADDRESS(x) : \ | ||
206 | MXC91231_IS_MODULE(x, AIPS2) ? MXC91231_AIPS2_IO_ADDRESS(x) : \ | ||
207 | MXC91231_IS_MODULE(x, SPBA0) ? MXC91231_SPBA0_IO_ADDRESS(x) : \ | ||
208 | MXC91231_IS_MODULE(x, SPBA1) ? MXC91231_SPBA1_IO_ADDRESS(x) : \ | ||
209 | MXC91231_IS_MODULE(x, ROMP) ? MXC91231_ROMP_IO_ADDRESS(x) : \ | ||
210 | MXC91231_IS_MODULE(x, AVIC) ? MXC91231_AVIC_IO_ADDRESS(x) : \ | ||
211 | MXC91231_IS_MODULE(x, X_MEMC) ? MXC91231_X_MEMC_IO_ADDRESS(x) : \ | ||
212 | 0xDEADBEEF) | ||
213 | |||
214 | |||
215 | /* | ||
216 | * define the address mapping macros: in physical address order | ||
217 | */ | 192 | */ |
218 | #define MXC91231_L2CC_IO_ADDRESS(x) \ | ||
219 | (((x) - MXC91231_L2CC_BASE_ADDR) + MXC91231_L2CC_BASE_ADDR_VIRT) | ||
220 | |||
221 | #define MXC91231_AIPS1_IO_ADDRESS(x) \ | ||
222 | (((x) - MXC91231_AIPS1_BASE_ADDR) + MXC91231_AIPS1_BASE_ADDR_VIRT) | ||
223 | |||
224 | #define MXC91231_SPBA0_IO_ADDRESS(x) \ | ||
225 | (((x) - MXC91231_SPBA0_BASE_ADDR) + MXC91231_SPBA0_BASE_ADDR_VIRT) | ||
226 | |||
227 | #define MXC91231_SPBA1_IO_ADDRESS(x) \ | ||
228 | (((x) - MXC91231_SPBA1_BASE_ADDR) + MXC91231_SPBA1_BASE_ADDR_VIRT) | ||
229 | |||
230 | #define MXC91231_AIPS2_IO_ADDRESS(x) \ | ||
231 | (((x) - MXC91231_AIPS2_BASE_ADDR) + MXC91231_AIPS2_BASE_ADDR_VIRT) | ||
232 | |||
233 | #define MXC91231_ROMP_IO_ADDRESS(x) \ | ||
234 | (((x) - MXC91231_ROMP_BASE_ADDR) + MXC91231_ROMP_BASE_ADDR_VIRT) | ||
235 | |||
236 | #define MXC91231_AVIC_IO_ADDRESS(x) \ | ||
237 | (((x) - MXC91231_AVIC_BASE_ADDR) + MXC91231_AVIC_BASE_ADDR_VIRT) | ||
238 | 193 | ||
239 | #define MXC91231_X_MEMC_IO_ADDRESS(x) \ | 194 | #define MXC91231_IO_ADDRESS(x) ( \ |
240 | (((x) - MXC91231_X_MEMC_BASE_ADDR) + MXC91231_X_MEMC_BASE_ADDR_VIRT) | 195 | IMX_IO_ADDRESS(x, MXC91231_L2CC) ?: \ |
196 | IMX_IO_ADDRESS(x, MXC91231_X_MEMC) ?: \ | ||
197 | IMX_IO_ADDRESS(x, MXC91231_ROMP) ?: \ | ||
198 | IMX_IO_ADDRESS(x, MXC91231_AVIC) ?: \ | ||
199 | IMX_IO_ADDRESS(x, MXC91231_AIPS1) ?: \ | ||
200 | IMX_IO_ADDRESS(x, MXC91231_SPBA0) ?: \ | ||
201 | IMX_IO_ADDRESS(x, MXC91231_SPBA1) ?: \ | ||
202 | IMX_IO_ADDRESS(x, MXC91231_AIPS2)) | ||
241 | 203 | ||
242 | /* | 204 | /* |
243 | * Interrupt numbers | 205 | * Interrupt numbers |