1/* 2 * linux/include/asm-arm/arch-cl7500/hardware.h 3 * 4 * Copyright (C) 1996-1999 Russell King. 5 * Copyright (C) 1999 Nexus Electronics Ltd. 6 * 7 * This file contains the hardware definitions of the 8 * CL7500 evaluation board. 9 */ 10#ifndef __ASM_ARCH_HARDWARE_H 11#define __ASM_ARCH_HARDWARE_H 12 13#include <asm/arch/memory.h> 14#include <asm/hardware/iomd.h> 15 16#ifdef __ASSEMBLY__ 17#define IOMEM(x) x 18#else 19#define IOMEM(x) ((void __iomem *)(x)) 20#endif 21 22/* 23 * What hardware must be present 24 */ 25#define HAS_IOMD 26#define HAS_VIDC20 27 28/* Hardware addresses of major areas. 29 * *_START is the physical address 30 * *_SIZE is the size of the region 31 * *_BASE is the virtual address 32 */ 33 34#define IO_START 0x03000000 /* I/O */ 35#define IO_SIZE 0x01000000 36#define IO_BASE IOMEM(0xe0000000) 37 38#define ISA_START 0x0c000000 /* ISA */ 39#define ISA_SIZE 0x00010000 40#define ISA_BASE 0xe1000000 41 42#define FLASH_START 0x01000000 43#define FLASH_SIZE 0x01000000 44#define FLASH_BASE 0xe2000000 45 46#define LED_START 0x0302B000 47#define LED_SIZE 0x00001000 48#define LED_BASE 0xe3000000 49#define LED_ADDRESS (LED_BASE + 0xa00) 50 51/* Let's define SCREEN_START for CL7500, even though it's a lie. */ 52#define SCREEN_START 0x02000000 /* VRAM */ 53#define SCREEN_END 0xdfc00000 54#define SCREEN_BASE 0xdf800000 55 56#define VIDC_BASE (void __iomem *)0xe0400000 57#define IOMD_BASE IOMEM(0xe0200000) 58#define IOC_BASE IOMEM(0xe0200000) 59#define FLOPPYDMA_BASE IOMEM(0xe002a000) 60#define PCIO_BASE IOMEM(0xe0010000) 61 62#define vidc_writel(val) __raw_writel(val, VIDC_BASE) 63 64/* in/out bias for the ISA slot region */ 65#define ISASLOT_IO 0x80400000 66 67#endif 68