more changes on original files
[linux-2.4.git] / include / asm-arm / arch-arc / hardware.h
1 /*
2  *  linux/include/asm-arm/arch-arc/hardware.h
3  *
4  *  Copyright (C) 1996-1999 Russell King.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  *
10  *  This file contains the hardware definitions of the
11  *  Acorn Archimedes/A5000 machines.
12  *
13  *  Modifications:
14  *   04-04-1998 PJB/RMK Merged arc and a5k versions
15  */
16 #ifndef __ASM_ARCH_HARDWARE_H
17 #define __ASM_ARCH_HARDWARE_H
18
19 #include <linux/config.h>
20
21 #include <asm/arch/memory.h>
22
23 /*
24  * What hardware must be present - these can be tested by the kernel
25  * source.
26  */
27 #define HAS_IOC
28 #define HAS_MEMC
29 #include <asm/hardware/memc.h>
30 #define HAS_VIDC
31
32 /* Hardware addresses of major areas.
33  *  *_START is the physical address
34  *  *_SIZE  is the size of the region
35  *  *_BASE  is the virtual address
36  */
37 #define IO_START                0x03000000
38 #define IO_SIZE                 0x01000000
39 #define IO_BASE                 0x03000000
40
41 /*
42  * Screen mapping information
43  */
44 #define SCREEN_START            0x02000000
45 #define SCREEN_END              0x02078000
46 #define SCREEN_BASE             0x02000000
47
48
49 #define EXPMASK_BASE            0x03360000
50 #define IOEB_BASE               0x03350000
51 #define VIDC_BASE               0x03400000
52 #define LATCHA_BASE             0x03250040
53 #define LATCHB_BASE             0x03250018
54 #define IOC_BASE                0x03200000
55 #define FLOPPYDMA_BASE          0x0302a000
56 #define PCIO_BASE               0x03010000
57
58 #define vidc_writel(val)        __raw_writel(val, VIDC_BASE)
59
60 #ifndef __ASSEMBLY__
61
62 /*
63  * for use with inb/outb
64  */
65 #ifdef CONFIG_ARCH_A5K
66 #define IOEB_VID_CTL            (IOEB_BASE + 0x48)
67 #define IOEB_PRESENT            (IOEB_BASE + 0x50)
68 #define IOEB_PSCLR              (IOEB_BASE + 0x58)
69 #define IOEB_MONTYPE            (IOEB_BASE + 0x70)
70 #endif
71
72 #define IO_EC_IOC_BASE          0x80090000
73 #define IO_EC_MEMC_BASE         0x80000000
74
75 #ifdef CONFIG_ARCH_ARC
76 /* A680 hardware */
77 #define WD1973_BASE             0x03290000
78 #define WD1973_LATCH            0x03350000
79 #define Z8530_BASE              0x032b0008
80 #define SCSI_BASE               0x03100000
81 #endif
82
83 #endif
84
85 #define EXPMASK_STATUS          (EXPMASK_BASE + 0x00)
86 #define EXPMASK_ENABLE          (EXPMASK_BASE + 0x04)
87
88 #endif