1/* 2 * arch/arm/mach-integrator/include/mach/hardware.h 3 * 4 * This file contains the hardware definitions of the Integrator. 5 * 6 * Copyright (C) 1999 ARM Limited. 7 * 8 * This program is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License as published by 10 * the Free Software Foundation; either version 2 of the License, or 11 * (at your option) any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with this program; if not, write to the Free Software 20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 */ 22#ifndef __ASM_ARCH_HARDWARE_H 23#define __ASM_ARCH_HARDWARE_H 24 25#include <asm/sizes.h> 26 27/* 28 * Where in virtual memory the IO devices (timers, system controllers 29 * and so on) 30 */ 31#define IO_BASE 0xF0000000 // VA of IO 32#define IO_SIZE 0x0B000000 // How much? 33#define IO_START INTEGRATOR_HDR_BASE // PA of IO 34 35#define PCIMEM_BASE PCI_MEMORY_VADDR 36 37#define pcibios_assign_all_busses() 1 38 39#define PCIBIOS_MIN_IO 0x6000 40#define PCIBIOS_MIN_MEM 0x00100000 41 42/* macro to get at IO space when running virtually */ 43#ifdef CONFIG_MMU 44#define IO_ADDRESS(x) (((x) & 0x000fffff) | (((x) >> 4) & 0x0ff00000) | IO_BASE) 45#else 46#define IO_ADDRESS(x) (x) 47#endif 48 49#define __io_address(n) ((void __iomem *)IO_ADDRESS(n)) 50 51#endif 52 53