1*a09e64fbSRussell King /* 2*a09e64fbSRussell King * arch/arm/mach-rpc/include/mach/hardware.h 3*a09e64fbSRussell King * 4*a09e64fbSRussell King * Copyright (C) 1996-1999 Russell King. 5*a09e64fbSRussell King * 6*a09e64fbSRussell King * This program is free software; you can redistribute it and/or modify 7*a09e64fbSRussell King * it under the terms of the GNU General Public License version 2 as 8*a09e64fbSRussell King * published by the Free Software Foundation. 9*a09e64fbSRussell King * 10*a09e64fbSRussell King * This file contains the hardware definitions of the RiscPC series machines. 11*a09e64fbSRussell King */ 12*a09e64fbSRussell King #ifndef __ASM_ARCH_HARDWARE_H 13*a09e64fbSRussell King #define __ASM_ARCH_HARDWARE_H 14*a09e64fbSRussell King 15*a09e64fbSRussell King #include <mach/memory.h> 16*a09e64fbSRussell King 17*a09e64fbSRussell King #ifndef __ASSEMBLY__ 18*a09e64fbSRussell King #define IOMEM(x) ((void __iomem *)(unsigned long)(x)) 19*a09e64fbSRussell King #else 20*a09e64fbSRussell King #define IOMEM(x) x 21*a09e64fbSRussell King #endif /* __ASSEMBLY__ */ 22*a09e64fbSRussell King 23*a09e64fbSRussell King /* 24*a09e64fbSRussell King * What hardware must be present 25*a09e64fbSRussell King */ 26*a09e64fbSRussell King #define HAS_IOMD 27*a09e64fbSRussell King #define HAS_VIDC20 28*a09e64fbSRussell King 29*a09e64fbSRussell King /* Hardware addresses of major areas. 30*a09e64fbSRussell King * *_START is the physical address 31*a09e64fbSRussell King * *_SIZE is the size of the region 32*a09e64fbSRussell King * *_BASE is the virtual address 33*a09e64fbSRussell King */ 34*a09e64fbSRussell King #define RAM_SIZE 0x10000000 35*a09e64fbSRussell King #define RAM_START 0x10000000 36*a09e64fbSRussell King 37*a09e64fbSRussell King #define EASI_SIZE 0x08000000 /* EASI I/O */ 38*a09e64fbSRussell King #define EASI_START 0x08000000 39*a09e64fbSRussell King #define EASI_BASE 0xe5000000 40*a09e64fbSRussell King 41*a09e64fbSRussell King #define IO_START 0x03000000 /* I/O */ 42*a09e64fbSRussell King #define IO_SIZE 0x01000000 43*a09e64fbSRussell King #define IO_BASE IOMEM(0xe0000000) 44*a09e64fbSRussell King 45*a09e64fbSRussell King #define SCREEN_START 0x02000000 /* VRAM */ 46*a09e64fbSRussell King #define SCREEN_END 0xdfc00000 47*a09e64fbSRussell King #define SCREEN_BASE 0xdf800000 48*a09e64fbSRussell King 49*a09e64fbSRussell King #define UNCACHEABLE_ADDR 0xdf010000 50*a09e64fbSRussell King 51*a09e64fbSRussell King /* 52*a09e64fbSRussell King * IO Addresses 53*a09e64fbSRussell King */ 54*a09e64fbSRussell King #define VIDC_BASE IOMEM(0xe0400000) 55*a09e64fbSRussell King #define EXPMASK_BASE 0xe0360000 56*a09e64fbSRussell King #define IOMD_BASE IOMEM(0xe0200000) 57*a09e64fbSRussell King #define IOC_BASE IOMEM(0xe0200000) 58*a09e64fbSRussell King #define PCIO_BASE IOMEM(0xe0010000) 59*a09e64fbSRussell King #define FLOPPYDMA_BASE IOMEM(0xe002a000) 60*a09e64fbSRussell King 61*a09e64fbSRussell King #define vidc_writel(val) __raw_writel(val, VIDC_BASE) 62*a09e64fbSRussell King 63*a09e64fbSRussell King #define IO_EC_EASI_BASE 0x81400000 64*a09e64fbSRussell King #define IO_EC_IOC4_BASE 0x8009c000 65*a09e64fbSRussell King #define IO_EC_IOC_BASE 0x80090000 66*a09e64fbSRussell King #define IO_EC_MEMC8_BASE 0x8000ac00 67*a09e64fbSRussell King #define IO_EC_MEMC_BASE 0x80000000 68*a09e64fbSRussell King 69*a09e64fbSRussell King #define NETSLOT_BASE 0x0302b000 70*a09e64fbSRussell King #define NETSLOT_SIZE 0x00001000 71*a09e64fbSRussell King 72*a09e64fbSRussell King #define PODSLOT_IOC0_BASE 0x03240000 73*a09e64fbSRussell King #define PODSLOT_IOC4_BASE 0x03270000 74*a09e64fbSRussell King #define PODSLOT_IOC_SIZE (1 << 14) 75*a09e64fbSRussell King #define PODSLOT_MEMC_BASE 0x03000000 76*a09e64fbSRussell King #define PODSLOT_MEMC_SIZE (1 << 14) 77*a09e64fbSRussell King #define PODSLOT_EASI_BASE 0x08000000 78*a09e64fbSRussell King #define PODSLOT_EASI_SIZE (1 << 24) 79*a09e64fbSRussell King 80*a09e64fbSRussell King #define EXPMASK_STATUS (EXPMASK_BASE + 0x00) 81*a09e64fbSRussell King #define EXPMASK_ENABLE (EXPMASK_BASE + 0x04) 82*a09e64fbSRussell King 83*a09e64fbSRussell King #endif 84