1 /*
2  * Hardware definitions common to all DaVinci family processors
3  *
4  * Author: Kevin Hilman, Deep Root Systems, LLC
5  *
6  * 2007 (c) Deep Root Systems, LLC. This file is licensed under
7  * the terms of the GNU General Public License version 2. This program
8  * is licensed "as is" without any warranty of any kind, whether express
9  * or implied.
10  */
11 #ifndef __ASM_ARCH_HARDWARE_H
12 #define __ASM_ARCH_HARDWARE_H
13 
14 /*
15  * Before you add anything to ths file:
16  *
17  * This header is for defines common to ALL DaVinci family chips.
18  * Anything that is chip specific should go in <chipname>.h,
19  * and the chip/board init code should then explicitly include
20  * <chipname>.h
21  */
22 #define DAVINCI_SYSTEM_MODULE_BASE        0x01C40000
23 
24 /* System control register offsets */
25 #define DM64XX_VDD3P3V_PWDN	0x48
26 
27 /*
28  * I/O mapping
29  */
30 #define IO_PHYS				0x01c00000UL
31 #define IO_OFFSET			0xfd000000 /* Virtual IO = 0xfec00000 */
32 #define IO_SIZE				0x00400000
33 #define IO_VIRT				(IO_PHYS + IO_OFFSET)
34 #define io_v2p(va)			((va) - IO_OFFSET)
35 #define __IO_ADDRESS(x)			((x) + IO_OFFSET)
36 #define IO_ADDRESS(pa)			IOMEM(__IO_ADDRESS(pa))
37 
38 #ifdef __ASSEMBLER__
39 #define IOMEM(x)                	x
40 #else
41 #define IOMEM(x)                	((void __force __iomem *)(x))
42 #endif
43 
44 #endif /* __ASM_ARCH_HARDWARE_H */
45