Merge tag 'cleanup2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[linux-2.6-block.git] / arch / arm / mach-ux500 / include / mach / hardware.h
1 /*
2  * Copyright (C) 2009 ST-Ericsson.
3  *
4  * U8500 hardware definitions
5  *
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
12
13 /*
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.
17  */
18 #define U8500_IO_VIRTUAL        0xf0000000
19 #define U8500_IO_PHYSICAL       0xa0000000
20
21 /* This macro is used in assembly, so no cast */
22 #define IO_ADDRESS(x)           \
23         (((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + U8500_IO_VIRTUAL)
24
25 /* typesafe io address */
26 #define __io_address(n)         IOMEM(IO_ADDRESS(n))
27 /* Used by some plat-nomadik code */
28 #define io_p2v(n)               __io_address(n)
29
30 #include <mach/db8500-regs.h>
31 #include <mach/db5500-regs.h>
32
33 #define MSP_TX_RX_REG_OFFSET    0
34
35 #ifndef __ASSEMBLY__
36
37 #include <mach/id.h>
38 extern void __iomem *_PRCMU_BASE;
39
40 #define ARRAY_AND_SIZE(x)       (x), ARRAY_SIZE(x)
41
42 #endif                          /* __ASSEMBLY__ */
43 #endif                          /* __MACH_HARDWARE_H */