Merge tag 'v3.3.7' into 3.3/master
[zen-stable.git] / arch / arm / mach-ux500 / include / mach / hardware.h
blobb6ba26a1367da3ebffcc2cfa794a2f7c3497743c
1 /*
2 * Copyright (C) 2009 ST-Ericsson.
4 * U8500 hardware definitions
6 * This file is licensed under the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without any
8 * warranty of any kind, whether express or implied.
9 */
10 #ifndef __MACH_HARDWARE_H
11 #define __MACH_HARDWARE_H
14 * Macros to get at IO space when running virtually
15 * We dont map all the peripherals, let ioremap do
16 * this for us. We map only very basic peripherals here.
18 #define U8500_IO_VIRTUAL 0xf0000000
19 #define U8500_IO_PHYSICAL 0xa0000000
21 /* This macro is used in assembly, so no cast */
22 #define IO_ADDRESS(x) \
23 (((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + U8500_IO_VIRTUAL)
25 /* typesafe io address */
26 #define __io_address(n) __io(IO_ADDRESS(n))
27 /* Used by some plat-nomadik code */
28 #define io_p2v(n) __io_address(n)
30 #include <mach/db8500-regs.h>
31 #include <mach/db5500-regs.h>
33 #ifndef __ASSEMBLY__
35 #include <mach/id.h>
36 extern void __iomem *_PRCMU_BASE;
38 #define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x)
40 #endif /* __ASSEMBLY__ */
41 #endif /* __MACH_HARDWARE_H */