1 /*
2  * linux/include/asm-arm/arch-sa1100/adsbitsy.h
3  *
4  * Created Feb 7, 2003 by Robert Whaley <rwhaley@applieddata.net>
5  *
6  * This file comes from adsbitsy.h of Woojung Huh <whuh@applieddata.net>
7  *
8  * This file contains the hardware specific definitions for the
9  * ADS Bitsy Board
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 + 0xf1000000)
18 #define ADS_v2p( x )		((x) - 0xf1000000 + ADS_CPLD_BASE)
19 
20 
21 #define _ADS_CPLD_IO1                0x10000000
22 #define _ADS_CPLD_IO2                0x10000004
23 #define _ADS_CPLD_IODR1              0x10000008
24 #define _ADS_CPLD_IODR2              0x1000000C
25 #define _ADS_CPLD_PCON               0x10000010
26 #define _ADS_CPLD_SUPPC              0x10000014
27 
28 /* IO bits */
29 #define ADS_IO1_MASK 0xFF
30 #define ADS_IO2_MASK 0x03
31 
32 #define ADS_IO1_BIT0 0x01
33 #define ADS_IO1_BIT1 0x02
34 #define ADS_IO1_BIT2 0x04
35 #define ADS_IO1_BIT3 0x08
36 #define ADS_IO1_BIT4 0x10
37 #define ADS_IO1_BIT5 0x20
38 #define ADS_IO1_BIT6 0x40
39 #define ADS_IO1_BIT7 0x80
40 #define ADS_IO2_BIT8 0x01
41 #define ADS_IO2_BIT9 0x02
42 
43 #define ADS_IO2_CPLD_REV_MASK 0xF0
44 #define ADS_IO2_CPLD_REV_5_MAGIC 0x30
45 
46 #define ADS_PCON_PANEL_ON   0x01
47 #define ADS_PCON_AUDIO_ON   0x02
48 #define ADS_PCON_AUDIOPA_ON 0x04
49 #define ADS_PCON_COM1_3_ON  0x08
50 #define ADS_PCON_CONN_B_PE1 0x10
51 #define ADS_PCON_CONN_B_PE2 0x20
52 
53 #define ADS_SUPPC_VEE_ON     0x01
54 #define ADS_SUPPC_TS_SPI_SEL 0x02
55 #define ADS_SUPPC_CB_SPI_SEL 0x04
56 #define ADS_SUPPC_AVR_WKP    0x08
57 
58 /* Virtual register addresses */
59 
60 #ifndef __ASSEMBLY__
61 #define ADS_CPLD_IO1                (*((volatile u_char *) ADS_p2v(_ADS_CPLD_IO1)))
62 #define ADS_CPLD_IO2                (*((volatile u_char *) ADS_p2v(_ADS_CPLD_IO2)))
63 #define ADS_CPLD_IODR1              (*((volatile u_char *) ADS_p2v(_ADS_CPLD_IODR1)))
64 #define ADS_CPLD_IODR2              (*((volatile u_char *) ADS_p2v(_ADS_CPLD_IODR2)))
65 #define ADS_CPLD_PCON               (*((volatile u_char *) ADS_p2v(_ADS_CPLD_PCON)))
66 #define ADS_CPLD_SUPPC              (*((volatile u_char *) ADS_p2v(_ADS_CPLD_SUPPC)))
67 
68 #endif
69 
70 #define ADSBITSYPLUS_SA1111_BASE	(0x18000000)
71