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 */ 44