Linux 2.6.25.3
[linux/fpc-iii.git] / include / asm-arm / arch-cl7500 / hardware.h
blob1adfd18e6154ba116c1121bb76825afdb489cd53
1 /*
2 * linux/include/asm-arm/arch-cl7500/hardware.h
4 * Copyright (C) 1996-1999 Russell King.
5 * Copyright (C) 1999 Nexus Electronics Ltd.
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
13 #include <asm/arch/memory.h>
14 #include <asm/hardware/iomd.h>
16 #ifdef __ASSEMBLY__
17 #define IOMEM(x) x
18 #else
19 #define IOMEM(x) ((void __iomem *)(x))
20 #endif
23 * What hardware must be present
25 #define HAS_IOMD
26 #define HAS_VIDC20
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
34 #define IO_START 0x03000000 /* I/O */
35 #define IO_SIZE 0x01000000
36 #define IO_BASE IOMEM(0xe0000000)
38 #define ISA_START 0x0c000000 /* ISA */
39 #define ISA_SIZE 0x00010000
40 #define ISA_BASE 0xe1000000
42 #define FLASH_START 0x01000000 /* XXX */
43 #define FLASH_SIZE 0x01000000
44 #define FLASH_BASE 0xe2000000
46 #define LED_START 0x0302B000
47 #define LED_SIZE 0x00001000
48 #define LED_BASE 0xe3000000
49 #define LED_ADDRESS (LED_BASE + 0xa00)
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
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)
62 #define vidc_writel(val) __raw_writel(val, VIDC_BASE)
64 /* in/out bias for the ISA slot region */
65 #define ISASLOT_IO 0x80400000
67 #endif