File: /usr/src/linux/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
89