ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / include / asm-arm / arch-sa1100 / graphicsmaster.h
1 /*
2  * linux/include/asm-arm/arch-sa1100/graphicsmaster.h
3  *
4  * Created 2000/12/18 by Woojung Huh <whuh@applieddata.net>
5  *
6  * This file comes from graphicsclient.h of Nicolas Pitre <nico@cam.org>
7  *
8  * This file contains the hardware specific definitions for the
9  * ADS GraphicsMaster
10  */
11
12 #ifndef __ASM_ARCH_HARDWARE_H
13 #error "include <asm/hardware.h> instead"
14 #endif
15
16 #define ADS_CPLD_BASE           (0x10000000)
17 #define ADS_p2v( x )            ((x) - ADS_CPLD_BASE + 0xf0000000)
18 #define ADS_v2p( x )            ((x) - 0xf0000000 + ADS_CPLD_BASE)
19
20
21 #define _ADS_SW_SWITCHES        0x10060000      /* Software Switches */
22
23 /* Extra IRQ Controller */
24 #define _ADS_INT_ST1            0x10080000      /* IRQ Status #1 */
25 #define _ADS_INT_ST2            0x10080004      /* IRQ Status #2 */
26 #define _ADS_INT_EN1            0x10080008      /* IRQ Enable #1 */
27 #define _ADS_INT_EN2            0x1008000c      /* IRQ Enable #2 */
28 #define _ADS_DCR                        0x10080018      /* Discrete Control Reg */
29
30 /* Discrete Controller (AVR:Atmel AT90LS8535) */
31 #define _ADS_AVR_REG            0x10080018
32
33 /* On-Board Ethernet */
34 #define _ADS_ETHERNET           0x100e0000      /* Ethernet */
35
36 /* On-Board Quad UART 16C554 */
37 #define ADS_QUAD_UART1          0x10100000
38 #define ADS_QUAD_UART2          0x10120000
39 #define ADS_QUAD_UART3          0x10140000
40 #define ADS_QUAD_UART4          0x10160000
41
42 /* LEDs */
43 #define ADS_LED0        GPIO_GPIO20             /* on-board Green */
44 #define ADS_LED1        GPIO_GPIO25             /* on-board Yellow */
45 #define ADS_LED2        GPIO_GPIO26             /* on-board Red */
46
47 /* DCR */
48 #define DCR_AVR_RESET           0x01
49 #define DCR_SA1111_RESET        0x02
50 #define DCR_BACKLITE_ON         0x04
51
52 /* Virtual register addresses */
53
54 #ifndef __ASSEMBLY__
55 #define ADS_INT_ST1     (*((volatile u_char *) ADS_p2v(_ADS_INT_ST1)))
56 #define ADS_INT_ST2     (*((volatile u_char *) ADS_p2v(_ADS_INT_ST2)))
57 #define ADS_INT_EN1     (*((volatile u_char *) ADS_p2v(_ADS_INT_EN1)))
58 #define ADS_INT_EN2     (*((volatile u_char *) ADS_p2v(_ADS_INT_EN2)))
59 #define ADS_ETHERNET    ((int) ADS_p2v(_ADS_ETHERNET))
60 #define ADS_AVR_REG     (*((volatile u_char *) ADS_p2v(_ADS_AVR_REG)))
61 #define ADS_DCR         (*((volatile u_char *) ADS_p2v(_ADS_DCR)))
62 #endif
63
64 #define SA1111_BASE     (0x18000000)