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 ADS_SA1111_BASE		(0x18000000)
65