1 /* include/asm-arm/arch-goldfish/hardware.h 2 ** 3 ** Copyright (C) 2007 Google, Inc. 4 ** 5 ** This software is licensed under the terms of the GNU General Public 6 ** License version 2, as published by the Free Software Foundation, and 7 ** may be copied, distributed, and modified under those terms. 8 ** 9 ** This program is distributed in the hope that it will be useful, 10 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 11 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 ** GNU General Public License for more details. 13 ** 14 */ 15 16 #ifndef __ASM_ARCH_HARDWARE_H 17 #define __ASM_ARCH_HARDWARE_H 18 19 #include <asm/sizes.h> 20 21 /* 22 * Where in virtual memory the IO devices (timers, system controllers 23 * and so on) 24 */ 25 #define IO_BASE 0xfe000000 // VA of IO 26 #define IO_SIZE 0x00800000 // How much? 27 #define IO_START 0xff000000 // PA of IO 28 29 #define GOLDFISH_INTERRUPT_BASE (0x0) 30 #define GOLDFISH_INTERRUPT_STATUS (0x00) // number of pending interrupts 31 #define GOLDFISH_INTERRUPT_NUMBER (0x04) 32 #define GOLDFISH_INTERRUPT_DISABLE_ALL (0x08) 33 #define GOLDFISH_INTERRUPT_DISABLE (0x0c) 34 #define GOLDFISH_INTERRUPT_ENABLE (0x10) 35 36 #define GOLDFISH_PDEV_BUS_BASE (0x1000) 37 #define GOLDFISH_PDEV_BUS_END (0x100) 38 39 #define GOLDFISH_TTY_BASE (0x2000) 40 #define GOLDFISH_TIMER_BASE (0x3000) 41 42 /* macro to get at IO space when running virtually */ 43 #define IO_ADDRESS(x) ((x) + IO_BASE) 44 45 #endif 46