2 * linux/include/asm-arm/arch-sa1100/graphicsclient.h
4 * Created 2000/06/11 by Nicolas Pitre <nico@cam.org>
5 * Modified 7/27/00 by Woojung <whuh@applieddata.net>
7 * This file contains the hardware specific definitions for the
8 * ADS GraphicsClient/ThinClient boards.
11 #ifndef __ASM_ARCH_HARDWARE_H
12 #error "include <asm/hardware.h> instead"
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)
23 #define _ADS_PPDR 0x10020000 /* parallel port data reg */
24 #define _ADS_PPSR 0x10020004 /* parallel port status reg */
29 #define _ADS_CS_STATUS 0x10040000 /* PCMCIA status reg */
30 #define ADS_CS_ST_A_READY (1 << 0) /* Socket A Card Ready */
31 #define ADS_CS_ST_A_CD (1 << 2) /* Socket A Card Detect */
32 #define ADS_CS_ST_A_BUSY (1 << 4) /* Socket A Card Busy */
33 #define ADS_CS_ST_A_STS (1 << 6) /* Socket A Card STS */
35 #define _ADS_CS_PR 0x10040004 /* PCMCIA Power/Reset */
36 #define ADS_CS_PR_A_5V_POWER (1 << 0) /* Socket A Enable 5V Power */
37 #define ADS_CS_PR_A_3V_POWER (1 << 0) /* Socket A Enable 3.3V Power */
38 #define ADS_CS_PR_A_RESET (1 << 2) /* Socket A Reset */
41 #define _ADS_SW_SWITCHES 0x10060000 /* Software Switches */
44 /* Extra IRQ Controller */
46 #define _ADS_INT_ST1 0x10080000 /* IRQ Status #1 */
47 #define _ADS_INT_ST2 0x10080004 /* IRQ Status #2 */
48 #define _ADS_INT_EN1 0x10080008 /* IRQ Enable #1 */
49 #define _ADS_INT_EN2 0x1008000c /* IRQ Enable #2 */
51 /* Discrete Controller (AVR:Atmel AT90LS8535) */
52 #define _ADS_AVR_REG 0x10080018
54 /* On-Board Ethernet */
56 #define _ADS_ETHERNET 0x100e0000 /* Ethernet */
61 #define _ADS_UARTA 0x10100000 /* UART A */
62 #define _ADS_UARTB 0x10120000 /* UART B */
63 #define _ADS_UARTC 0x10140000 /* UART C */
64 #define _ADS_UARTD 0x10160000 /* UART D */
66 /* UART control lines GPIOs */
67 #define GPIO_GC_UART0_RTS GPIO_GPIO15
68 #define GPIO_GC_UART1_RTS GPIO_GPIO17
69 #define GPIO_GC_UART2_RTS GPIO_GPIO19
70 #define GPIO_GC_UART0_CTS GPIO_GPIO14
71 #define GPIO_GC_UART1_CTS GPIO_GPIO16
72 #define GPIO_GC_UART2_CTS GPIO_GPIO17
74 /* UART control lines IRQs */
75 #define IRQ_GC_UART0_CTS IRQ_GPIO14
76 #define IRQ_GC_UART1_CTS IRQ_GPIO16
77 #define IRQ_GC_UART2_CTS IRQ_GPIO17
81 #define ADS_LED0 GPIO_GPIO20 /* on-board D22 */
82 #define ADS_LED1 GPIO_GPIO21 /* on-board D21 */
83 #define ADS_LED2 GPIO_GPIO22 /* on-board D20 */
84 #define ADS_LED3 GPIO_GPIO23 /* external */
85 #define ADS_LED4 GPIO_GPIO24 /* external */
86 #define ADS_LED5 GPIO_GPIO25 /* external */
87 #define ADS_LED6 GPIO_GPIO26 /* external */
88 #define ADS_LED7 GPIO_GPIO27 /* external */
91 /* Virtual register addresses */
94 #define ADS_INT_ST1 (*((volatile u_char *) ADS_p2v(_ADS_INT_ST1)))
95 #define ADS_INT_ST2 (*((volatile u_char *) ADS_p2v(_ADS_INT_ST2)))
96 #define ADS_INT_EN1 (*((volatile u_char *) ADS_p2v(_ADS_INT_EN1)))
97 #define ADS_INT_EN2 (*((volatile u_char *) ADS_p2v(_ADS_INT_EN2)))
98 #define ADS_ETHERNET ((int) ADS_p2v(_ADS_ETHERNET))
99 #define ADS_AVR_REG (*((volatile u_char *) ADS_p2v(_ADS_AVR_REG)))