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