[pxa] refresh 2.6.21 patches
[openwrt.git] / target / linux / pxa / patches-2.6.21 / 002-header.patch
1 --- /dev/null
2 +++ b/include/asm-arm/arch-pxa/gumstix.h
3 @@ -0,0 +1,165 @@
4 +/*
5 + *  linux/include/asm-arm/arch-pxa/gumstix.h
6 + *
7 + * This program is free software; you can redistribute it and/or modify
8 + * it under the terms of the GNU General Public License version 2 as
9 + * published by the Free Software Foundation.
10 + */
11 +
12 +
13 +/* BTRESET - Reset line to Bluetooth module, active low signal. */
14 +#define GPIO_GUMSTIX_BTRESET          7
15 +#define GPIO_GUMSTIX_BTRESET_MD                (GPIO_GUMSTIX_BTRESET | GPIO_OUT)
16 +
17 +
18 +/* GPIOn - Input from MAX823 (or equiv), normalizing USB +5V 
19 +     into a clean interrupt signal for determining cable presence 
20 +     On the original gumstix, this is GPIO81, and GPIO83 needs to be defined as well.
21 +     On the gumstix F, this moves to GPIO17 and GPIO37 */
22 +/* GPIOx - Connects to USB D+ and used as a pull-up after GPIOn 
23 +     has detected a cable insertion; driven low otherwise. */
24 +
25 +#ifdef CONFIG_ARCH_GUMSTIX_ORIG
26 +
27 +#define GPIO_GUMSTIX_USB_GPIOn         81
28 +#define GPIO_GUMSTIX_USB_GPIOx         83
29 +
30 +#else
31 +
32 +#define GPIO_GUMSTIX_USB_GPIOn         35
33 +#define GPIO_GUMSTIX_USB_GPIOx         41
34 +
35 +#endif
36 +
37 +#define GUMSTIX_USB_INTR_IRQ           IRQ_GPIO(GPIO_GUMSTIX_USB_GPIOn)    /* usb state change */
38 +#define GPIO_GUMSTIX_USB_GPIOn_MD      (GPIO_GUMSTIX_USB_GPIOn | GPIO_IN)
39 +#define GPIO_GUMSTIX_USB_GPIOx_CON_MD  (GPIO_GUMSTIX_USB_GPIOx | GPIO_OUT)
40 +#define GPIO_GUMSTIX_USB_GPIOx_DIS_MD  (GPIO_GUMSTIX_USB_GPIOx | GPIO_IN)
41 +
42 +
43 +/*
44 + * SMC Ethernet definitions
45 + * ETH_RST provides a hardware reset line to the ethernet chip
46 + * ETH is the IRQ line in from the ethernet chip to the PXA
47 + */
48 +#ifndef CONFIG_ARCH_GUMSTIX_VERDEX
49 +#define GPIO_GUMSTIX_ETH0_RST          80
50 +#define GPIO_GUMSTIX_ETH0              36
51 +#else
52 +#define GPIO_GUMSTIX_ETH0_RST          32
53 +#define GPIO_GUMSTIX_ETH0              99
54 +#endif
55 +#define GPIO_GUMSTIX_ETH1_RST          52
56 +#define GPIO_GUMSTIX_ETH1              27
57 +
58 +#define GPIO_GUMSTIX_ETH0_RST_MD       (GPIO_GUMSTIX_ETH0_RST | GPIO_OUT)
59 +#define GPIO_GUMSTIX_ETH1_RST_MD       (GPIO_GUMSTIX_ETH1_RST | GPIO_OUT)
60 +#define GPIO_GUMSTIX_ETH0_MD           (GPIO_GUMSTIX_ETH0 | GPIO_IN)
61 +#define GPIO_GUMSTIX_ETH1_MD           (GPIO_GUMSTIX_ETH1 | GPIO_IN)
62 +
63 +#define GUMSTIX_ETH0_IRQ               IRQ_GPIO(GPIO_GUMSTIX_ETH0)
64 +#define GUMSTIX_ETH1_IRQ               IRQ_GPIO(GPIO_GUMSTIX_ETH1)
65 +
66 +
67 +/* CF reset line */
68 +#define GPIO8_CF_RESET                 8
69 +#define GPIO97_CF_RESET                        97
70 +#define GPIO110_CF_RESET               110
71 +#ifndef CONFIG_ARCH_GUMSTIX_VERDEX
72 +#define GPIO_GUMSTIX_CF_RESET          GPIO8_CF_RESET
73 +#else
74 +#define GPIO_GUMSTIX_CF_RESET          GPIO97_CF_RESET
75 +#endif
76 +#define GPIO_GUMSTIX_CF_OLD_RESET      GPIO110_CF_RESET
77 +
78 +
79 +/* CF signals shared by both sockets */
80 +#define GPIO_GUMSTIX_nPOE GPIO48_nPOE
81 +#define GPIO_GUMSTIX_nPWE GPIO49_nPWE
82 +#define GPIO_GUMSTIX_nPIOR GPIO50_nPIOR
83 +#define GPIO_GUMSTIX_nPIOW GPIO51_nPIOW
84 +#ifndef CONFIG_ARCH_GUMSTIX_VERDEX
85 +#define GPIO_GUMSTIX_nPCE_1 GPIO52_nPCE_1
86 +#define GPIO_GUMSTIX_nPCE_2 GPIO53_nPCE_2
87 +#define GPIO_GUMSTIX_pSKTSEL GPIO54_pSKTSEL
88 +#else
89 +#define GPIO_GUMSTIX_nPCE_1 GPIO102_nPCE_1
90 +#define GPIO_GUMSTIX_nPCE_2 GPIO105_nPCE_2
91 +#define GPIO_GUMSTIX_pSKTSEL GPIO79_pSKTSEL
92 +#endif
93 +#define GPIO_GUMSTIX_nPREG GPIO55_nPREG
94 +#define GPIO_GUMSTIX_nPWAIT GPIO56_nPWAIT
95 +#define GPIO_GUMSTIX_nIOIS16 GPIO57_nIOIS16
96 +
97 +#define GPIO_GUMSTIX_nPOE_MD GPIO48_nPOE_MD
98 +#define GPIO_GUMSTIX_nPWE_MD GPIO49_nPWE_MD
99 +#define GPIO_GUMSTIX_nPIOR_MD GPIO50_nPIOR_MD
100 +#define GPIO_GUMSTIX_nPIOW_MD GPIO51_nPIOW_MD
101 +#ifndef CONFIG_ARCH_GUMSTIX_VERDEX
102 +#define GPIO_GUMSTIX_nPCE_1_MD GPIO52_nPCE_1_MD
103 +#define GPIO_GUMSTIX_nPCE_2_MD GPIO53_nPCE_2_MD
104 +#define GPIO_GUMSTIX_pSKTSEL_MD GPIO54_pSKTSEL_MD
105 +#else
106 +#define GPIO_GUMSTIX_nPCE_1_MD GPIO102_nPCE_1_MD
107 +#define GPIO_GUMSTIX_nPCE_2_MD GPIO105_nPCE_2_MD
108 +#define GPIO_GUMSTIX_pSKTSEL_MD GPIO79_pSKTSEL_MD
109 +#endif
110 +#define GPIO_GUMSTIX_nPREG_MD GPIO55_nPREG_MD
111 +#define GPIO_GUMSTIX_nPWAIT_MD GPIO56_nPWAIT_MD
112 +#define GPIO_GUMSTIX_nIOIS16_MD GPIO57_nIOIS16_MD
113 +
114 +/* CF slot 0 */
115 +#define GPIO4_nBVD1_0                  4
116 +#define GPIO4_nSTSCHG_0                        GPIO4_nBVD1_0
117 +#define GPIO11_nCD_0                   11
118 +#define GPIO26_PRDY_nBSY_0             26
119 +
120 +#define GPIO111_nBVD1_0                        111
121 +#define GPIO111_nSTSCHG_0              GPIO111_nBVD1_0
122 +#define GPIO104_nCD_0                  104
123 +#define GPIO96_PRDY_nBSY_0             96
124 +#define GPIO109_PRDY_nBSY_0            109
125 +
126 +#ifndef CONFIG_ARCH_GUMSTIX_VERDEX
127 +#define GPIO_GUMSTIX_nBVD1_0           GPIO4_nBVD1_0
128 +#define GPIO_GUMSTIX_nSTSCHG_0         GPIO4_nSTSCHG_0
129 +#define GPIO_GUMSTIX_nCD_0             GPIO11_nCD_0
130 +#define GPIO_GUMSTIX_PRDY_nBSY_0       GPIO26_PRDY_nBSY_0
131 +#else
132 +#define GPIO_GUMSTIX_nBVD1_0           GPIO111_nBVD1_0
133 +#define GPIO_GUMSTIX_nSTSCHG_0         GPIO111_nSTSCHG_0
134 +#define GPIO_GUMSTIX_nCD_0             GPIO104_nCD_0
135 +#define GPIO_GUMSTIX_PRDY_nBSY_0       GPIO96_PRDY_nBSY_0
136 +#endif
137 +#define GPIO_GUMSTIX_PRDY_nBSY_0_OLD   GPIO109_PRDY_nBSY_0
138 +
139 +#define GUMSTIX_S0_nSTSCHG_IRQ         IRQ_GPIO(GPIO_GUMSTIX_nSTSCHG_0)
140 +#define GUMSTIX_S0_nCD_IRQ             IRQ_GPIO(GPIO_GUMSTIX_nCD_0)
141 +#define GUMSTIX_S0_PRDY_nBSY_IRQ       IRQ_GPIO(GPIO_GUMSTIX_PRDY_nBSY_0)
142 +#define GUMSTIX_S0_PRDY_nBSY_OLD_IRQ   IRQ_GPIO(GPIO_GUMSTIX_PRDY_nBSY_0_OLD)
143 +
144 +/* CF slot 1 */
145 +#define GPIO18_nBVD1_1                 18
146 +#define GPIO18_nSTSCHG_1               GPIO18_nBVD1_1
147 +#define GPIO36_nCD_1                   36
148 +#define GPIO27_PRDY_nBSY_1             27
149 +
150 +#define GPIO_GUMSTIX_nBVD1_1           GPIO18_nBVD1_1
151 +#define GPIO_GUMSTIX_nSTSCHG_1         GPIO18_nSTSCHG_1
152 +#define GPIO_GUMSTIX_nCD_1             GPIO36_nCD_1
153 +#define GPIO_GUMSTIX_PRDY_nBSY_1       GPIO27_PRDY_nBSY_1
154 +
155 +#define GUMSTIX_S1_nSTSCHG_IRQ         IRQ_GPIO(GPIO_GUMSTIX_nSTSCHG_1)
156 +#define GUMSTIX_S1_nCD_IRQ             IRQ_GPIO(GPIO_GUMSTIX_nCD_1)
157 +#define GUMSTIX_S1_PRDY_nBSY_IRQ       IRQ_GPIO(GPIO_GUMSTIX_PRDY_nBSY_1)
158 +
159 +/* CF GPIO line modes */
160 +#define GPIO_GUMSTIX_CF_RESET_MD       ( GPIO_GUMSTIX_CF_RESET | GPIO_OUT )
161 +#define GPIO_GUMSTIX_CF_OLD_RESET_MD   ( GPIO_GUMSTIX_CF_OLD_RESET | GPIO_OUT )
162 +#define GPIO_GUMSTIX_nSTSCHG_0_MD      ( GPIO_GUMSTIX_nSTSCHG_0 | GPIO_IN )
163 +#define GPIO_GUMSTIX_nCD_0_MD          ( GPIO_GUMSTIX_nCD_0 | GPIO_IN )
164 +#define GPIO_GUMSTIX_PRDY_nBSY_0_MD    ( GPIO_GUMSTIX_PRDY_nBSY_0 | GPIO_IN )
165 +#define GPIO_GUMSTIX_PRDY_nBSY_0_OLD_MD        ( GPIO_GUMSTIX_PRDY_nBSY_0_OLD | GPIO_IN )
166 +#define GPIO_GUMSTIX_nSTSCHG_1_MD      ( GPIO_GUMSTIX_nSTSCHG_1 | GPIO_IN )
167 +#define GPIO_GUMSTIX_nCD_1_MD          ( GPIO_GUMSTIX_nCD_1 | GPIO_IN )
168 +#define GPIO_GUMSTIX_PRDY_nBSY_1_MD    ( GPIO_GUMSTIX_PRDY_nBSY_1 | GPIO_IN )