blob: 41c89386e39b46f416aa4c9e12ee6332364ce21b [file] [log] [blame]
Kevin Hilman7c6337e2007-04-30 19:37:19 +01001/*
Kevin Hilmanf5c122d2009-04-14 07:04:16 -05002 * Hardware definitions common to all DaVinci family processors
Kevin Hilman7c6337e2007-04-30 19:37:19 +01003 *
Kevin Hilmanf5c122d2009-04-14 07:04:16 -05004 * Author: Kevin Hilman, Deep Root Systems, LLC
Kevin Hilman7c6337e2007-04-30 19:37:19 +01005 *
Kevin Hilmanf5c122d2009-04-14 07:04:16 -05006 * 2007 (c) Deep Root Systems, LLC. This file is licensed under
Kevin Hilman7c6337e2007-04-30 19:37:19 +01007 * 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
Vladimir Barinov3d9edf02007-07-10 13:03:43 +010014/*
Kevin Hilmanf5c122d2009-04-14 07:04:16 -050015 * 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
Vladimir Barinov3d9edf02007-07-10 13:03:43 +010021 */
Kevin Hilmanf5c122d2009-04-14 07:04:16 -050022#define DAVINCI_SYSTEM_MODULE_BASE 0x01C40000
23
24/* System control register offsets */
25#define DM64XX_VDD3P3V_PWDN 0x48
Vladimir Barinov3d9edf02007-07-10 13:03:43 +010026
Hemant Pedanekar9eb71152009-06-24 10:15:47 +053027/*
28 * I/O mapping
29 */
30#define IO_PHYS 0x01c00000
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
Kevin Hilman7c6337e2007-04-30 19:37:19 +010044#endif /* __ASM_ARCH_HARDWARE_H */