merge of '49118a4c6035353c0f8cf1aa30297dd36e43241f'
[vuplus_openembedded] / packages / linux / linux-rp-2.6.26 / spitz_h_rewrite.patch
1 http://www.uwsg.indiana.edu/hypermail/linux/kernel/0802.1/3541.html
2
3 Here is a rewrite of spitz.h, which includes comments documenting
4 function of particular GPIO pins.
5
6 spitz_h_rewrite.patch provides:
7 - no changes in compiled code
8 - partial spitz.h rewrite:
9   * organized by function
10   * describes complete GPIO pinout
11   * comments added
12   * removed defines cloning pxa-regs.h
13 - prefer generic pxa-regs.h GPIO if available
14 - use GPIO names instead of numbers
15
16 Thanks to Trisoft for providing needed information.
17
18 Index: linux-2.6.26-rc4/arch/arm/mach-pxa/spitz_pm.c
19 ===================================================================
20 --- linux-2.6.26-rc4.orig/arch/arm/mach-pxa/spitz_pm.c  2008-06-02 00:13:53.000000000 +0100
21 +++ linux-2.6.26-rc4/arch/arm/mach-pxa/spitz_pm.c       2008-06-02 00:13:53.000000000 +0100
22 @@ -111,9 +111,9 @@
23         pxa_gpio_mode(GPIO18_RDY|GPIO_OUT | GPIO_DFLT_HIGH);
24  
25         PRER = GPIO_bit(SPITZ_GPIO_KEY_INT);
26 -       PFER = GPIO_bit(SPITZ_GPIO_KEY_INT) | GPIO_bit(SPITZ_GPIO_RESET);
27 -       PWER = GPIO_bit(SPITZ_GPIO_KEY_INT) | GPIO_bit(SPITZ_GPIO_RESET) | PWER_RTC;
28 -       PKWR = GPIO_bit(SPITZ_GPIO_SYNC) | GPIO_bit(SPITZ_GPIO_KEY_INT) | GPIO_bit(SPITZ_GPIO_RESET);
29 +       PFER = GPIO_bit(SPITZ_GPIO_KEY_INT) | GPIO_bit(GPIO1_RST);
30 +       PWER = GPIO_bit(SPITZ_GPIO_KEY_INT) | GPIO_bit(GPIO1_RST) | PWER_RTC;
31 +       PKWR = GPIO_bit(SPITZ_GPIO_SYNC) | GPIO_bit(SPITZ_GPIO_KEY_INT) | GPIO_bit(GPIO1_RST);
32         PKSR = 0xffffffff; // clear
33  
34         /* nRESET_OUT Disable */
35 @@ -126,7 +126,7 @@
36  static void spitz_postsuspend(void)
37  {
38         pxa_gpio_mode(GPIO18_RDY_MD);
39 -       pxa_gpio_mode(10 | GPIO_IN);
40 +       pxa_gpio_mode(SPITZ_GPIO_NC_10 | GPIO_IN);
41  }
42  
43  static int spitz_should_wakeup(unsigned int resume_on_alarm)
44 Index: linux-2.6.26-rc4/drivers/video/pxafb.c
45 ===================================================================
46 --- linux-2.6.26-rc4.orig/drivers/video/pxafb.c 2008-05-26 19:08:11.000000000 +0100
47 +++ linux-2.6.26-rc4/drivers/video/pxafb.c      2008-06-02 00:15:22.000000000 +0100
48 @@ -966,7 +966,7 @@
49                 return;
50         }
51  
52 -       for (gpio = 58; ldd_bits; gpio++, ldd_bits--)
53 +       for (gpio = GPIO58_LDD_0; ldd_bits; gpio++, ldd_bits--)
54                 pxa_gpio_mode(gpio | GPIO_ALT_FN_2_OUT);
55         pxa_gpio_mode(GPIO74_LCD_FCLK_MD);
56         pxa_gpio_mode(GPIO75_LCD_LCLK_MD);
57 Index: linux-2.6.26-rc4/include/asm-arm/arch-pxa/akita.h
58 ===================================================================
59 --- linux-2.6.26-rc4.orig/include/asm-arm/arch-pxa/akita.h      2008-05-26 19:08:11.000000000 +0100
60 +++ linux-2.6.26-rc4/include/asm-arm/arch-pxa/akita.h   2008-06-02 00:13:53.000000000 +0100
61 @@ -12,11 +12,11 @@
62  /* Akita IO Expander GPIOs */
63  
64  #define AKITA_IOEXP_RESERVED_7      (1 << 7)
65 -#define AKITA_IOEXP_IR_ON           (1 << 6)
66 -#define AKITA_IOEXP_AKIN_PULLUP     (1 << 5)
67 -#define AKITA_IOEXP_BACKLIGHT_CONT  (1 << 4)
68 -#define AKITA_IOEXP_BACKLIGHT_ON    (1 << 3)
69 -#define AKITA_IOEXP_MIC_BIAS        (1 << 2)
70 +#define AKITA_IOEXP_IR_ON           (1 << 6)   /* IrDA On */
71 +#define AKITA_IOEXP_AKIN_PULLUP     (1 << 5)   /* Pull-Up for Remote */
72 +#define AKITA_IOEXP_BACKLIGHT_CONT  (1 << 4)   /* Backlight Control */
73 +#define AKITA_IOEXP_BACKLIGHT_ON    (1 << 3)   /* Backlight On */
74 +#define AKITA_IOEXP_MIC_BIAS        (1 << 2)   /* Mic Bias On */
75  #define AKITA_IOEXP_RESERVED_1      (1 << 1)
76  #define AKITA_IOEXP_RESERVED_0      (1 << 0)
77  
78 Index: linux-2.6.26-rc4/include/asm-arm/arch-pxa/spitz.h
79 ===================================================================
80 --- linux-2.6.26-rc4.orig/include/asm-arm/arch-pxa/spitz.h      2008-05-26 19:08:11.000000000 +0100
81 +++ linux-2.6.26-rc4/include/asm-arm/arch-pxa/spitz.h   2008-06-02 00:13:53.000000000 +0100
82 @@ -1,8 +1,9 @@
83  /*
84 - * Hardware specific definitions for SL-Cx000 series of PDAs
85 + * Hardware specific definitions for SL-Cxx00 series of PDAs
86   *
87   * Copyright (c) 2005 Alexander Wykes
88   * Copyright (c) 2005 Richard Purdie
89 + * Copyright (c) 2008 Stanislav Brabec
90   *
91   * Based on Sharp's 2.4 kernel patches
92   *
93 @@ -13,140 +14,257 @@
94   */
95  #ifndef __ASM_ARCH_SPITZ_H
96  #define __ASM_ARCH_SPITZ_H  1
97 -#endif
98  
99 -#include <linux/fb.h>
100 +#include <asm-arm/arch-pxa/irqs.h>
101 +#include <linux/platform_device.h>
102  
103  /* Spitz/Akita GPIOs */
104  
105 -#define SPITZ_GPIO_KEY_INT         (0) /* Key Interrupt */
106 -#define SPITZ_GPIO_RESET           (1)
107 -#define SPITZ_GPIO_nSD_DETECT      (9)
108 -#define SPITZ_GPIO_TP_INT          (11) /* Touch Panel interrupt */
109 -#define SPITZ_GPIO_AK_INT          (13) /* Remote Control */
110 -#define SPITZ_GPIO_ADS7846_CS      (14)
111 -#define SPITZ_GPIO_SYNC            (16)
112 -#define SPITZ_GPIO_MAX1111_CS      (20)
113 -#define SPITZ_GPIO_FATAL_BAT       (21)
114 -#define SPITZ_GPIO_HSYNC           (22)
115 -#define SPITZ_GPIO_nSD_CLK         (32)
116 -#define SPITZ_GPIO_USB_DEVICE      (35)
117 -#define SPITZ_GPIO_USB_HOST        (37)
118 -#define SPITZ_GPIO_USB_CONNECT     (41)
119 -#define SPITZ_GPIO_LCDCON_CS       (53)
120 -#define SPITZ_GPIO_nPCE            (54)
121 -#define SPITZ_GPIO_nSD_WP          (81)
122 -#define SPITZ_GPIO_ON_RESET        (89)
123 -#define SPITZ_GPIO_BAT_COVER       (90)
124 -#define SPITZ_GPIO_CF_CD           (94)
125 -#define SPITZ_GPIO_ON_KEY          (95)
126 -#define SPITZ_GPIO_SWA             (97)
127 -#define SPITZ_GPIO_SWB             (96)
128 -#define SPITZ_GPIO_CHRG_FULL       (101)
129 -#define SPITZ_GPIO_CO              (101)
130 -#define SPITZ_GPIO_CF_IRQ          (105)
131 -#define SPITZ_GPIO_AC_IN           (115)
132 -#define SPITZ_GPIO_HP_IN           (116)
133 +/* This list refers to all GPIO pins either in defines or in comments.
134 + *
135 + * GPIO pins not listed:
136 + * GPIO2       SYS_EN:                 System Power Enable
137 + * GPIO5-GPIO8 PWR_CAP0-PWR_CAP3:      sleep DC-DC converter power capacitors
138 + * GPIO40      not connected
139 + */
140  
141 -/* Spitz Only GPIOs */
142  
143 -#define SPITZ_GPIO_CF2_IRQ         (106) /* CF slot1 Ready */
144 -#define SPITZ_GPIO_CF2_CD          (93)
145 +/* Spitz/Akita System GPIO */
146 +
147 +#define SPITZ_GPIO_KEY_INT        (0)  /* Key Interrupt */
148 +#define SPITZ_GPIO_SYNC                  (16)  /* IOPORT Wake Up (input) */
149 +#define SPITZ_GPIO_NAND_CS       (79)  /* NAND Flash Chip Select */
150 +#define SPITZ_GPIO_NC_10         (10)  /* Not Connected (but used in kernel) */
151 +/* This GPIO pin is connected:
152 + * GPIO1_RST
153 + */
154  
155  
156 +/* Compact Flash Interface */
157 +
158 +/* Spitz/Akita Compact Flash Interface */
159 +#define SPITZ_GPIO_CF_CD         (94)  /* CF IRQ */
160 +#define SPITZ_GPIO_CF_IRQ       (105)  /* CF Ready */
161 +/* These GPIO pins are connected:
162 + * GPIO48_nPOE
163 + * GPIO49_nPWE
164 + * GPIO50_nPIOR
165 + * GPIO51_nPIOW
166 + * GPIO54_nPCE_2
167 + * GPIO55_nPREG
168 + * GPIO56_nPWAIT
169 + * GPIO57_nIOIS16
170 + * GPIO80_nCS_4
171 + * GPIO85_nPCE_1
172 + * GPIO104_pSKTSEL
173 + */
174 +
175 +/* Spitz only Compact Flash Interface */
176 +#define SPITZ_GPIO_CF2_CD        (93)  /* CF slot1 IRQ */
177 +#define SPITZ_GPIO_CF2_IRQ      (106)  /* CF slot1 Ready */
178 +/* This GPIO pin is connected:
179 + * GPIO78_nCS_2
180 + */
181 +
182 +
183 +/* Spitz/Akita Battery, Power and Service Connector */
184 +
185 +#define SPITZ_GPIO_FATAL_BAT     (21)  /* Fatal Battery */
186 +#define SPITZ_GPIO_BAT_COVER     (90)  /* Battery Cover switch */
187 +#define SPITZ_GPIO_BAT_COVER2    (15)  /* Battery Cover switch, parallel pin */
188 +#define SPITZ_GPIO_CHRG_FULL    (101)  /* Battery Full */
189 +#define SPITZ_GPIO_AC_IN        (115)  /* External Power Supply is active */
190 +#define SPITZ_GPIO_ON_RESET      (89)  /* Software Reset */
191 +#define SPITZ_GPIO_SERVICE0      (83)  /* Service Connector */
192 +#define SPITZ_GPIO_SERVICE1      (84)  /* Service Connector */
193 +/* This GPIO pin is connected:
194 + * GPIO18_RDY
195 + */
196 +
197 +
198 +/* Spitz/Akita Display Controller */
199 +
200 +#define SPITZ_GPIO_HSYNC         (22)  /* Line Sync Feedback */
201 +/* These GPIO pins are connected:
202 + * GPIO58_LDD_0-GPIO58_LDD_15
203 + * GPIO74_LCD_FCLK
204 + * GPIO75_LCD_LCLK
205 + * GPIO76_LCD_PCLK
206 + * GPIO77_LCD_ACBIAS
207 + */
208 +
209 +
210 +/* Spitz/Akita SSP/SPI Bus and Devices */
211 +
212 +#define SPITZ_GPIO_SSP_CLK       (19)  /* SSP bus Clock */
213 +#define SPITZ_GPIO_SSP_RXD       (86)  /* SSP bus RxD */
214 +#define SPITZ_GPIO_SSP_TXD       (87)  /* SSP bus TxD */
215 +#define SPITZ_GPIO_TP_INT        (11)  /* Touch Panel IRQ */
216 +#define SPITZ_GPIO_ADS7846_CS    (14)  /* Touch Panel Controller Chip Select */
217 +#define SPITZ_GPIO_MAX1111_CS    (20)  /* Multi Channel ADC Chip Select */
218 +#define SPITZ_GPIO_LCDCON_CS     (53)  /* LCD Controller Chip Select */
219 +
220 +
221 +/* Spitz/Akita Supplementary USB OTG Pins */
222 +
223 +#define SPITZ_GPIO_USB_DEVICE    (35)  /* USB Client power is present */
224 +#define SPITZ_GPIO_USB_HOST      (37)  /* USB OTG 5V Host power supply control */
225 +#define SPITZ_GPIO_USB_CONNECT   (41)  /* USB Host Cable is connected */
226 +
227 +
228 +/* Spitz/Akita Audio */
229 +
230 +#define SPITZ_GPIO_HP_IN        (116)  /* CPU Headphone detect */
231 +#define SPITZ_GPIO_AK_INT        (13)  /* Remote Control detect */
232 +/* These GPIO AC97 pins are connected:
233 + * GPIO28_BITCLK
234 + * GPIO29_SDATA_IN
235 + * GPIO30_SDATA_OUT
236 + * GPIO31_SYNC
237 + * GPIO113_AC97_RESET_N
238 + */
239 +
240 +
241 +/* Spitz/Akita SD Slot */
242 +
243 +#define SPITZ_GPIO_nSD_DETECT    (9)   /* SD Card Presence */
244 +#define SPITZ_GPIO_nSD_WP       (81)   /* SD Write Protection */
245 +/* These GPIO pins are connected:
246 + * GPIO32_MMCCLK
247 + * GPIO92_MMCDAT0
248 + * GPIO109_MMCDAT1
249 + * GPIO110_MMCDAT2
250 + * GPIO111_MMCDAT3
251 + * GPIO112_MMCCMD
252 + */
253 +
254 +/* Spitz/Akita I2C bus */
255 +#define SPITZ_GPIO_SCL          (117)  /* I2C SCL */
256 +#define SPITZ_GPIO_SDA          (118)  /* I2C SDA */
257 +#define SPITZ_GPIO_PWR_SCL        (3)  /* I2C SCL power */
258 +#define SPITZ_GPIO_PWR_SDA        (4)  /* I2C SDA power */
259 +
260 +/* audio codec pins */
261 +
262 +
263 +/* Spitz/Akita UART ports */
264 +
265 +/* Fully Featured UART - connected to IOPORT connector */
266 +#define SPITZ_GPIO_FFRXD        (102)  /* IOPORT has nRXD inverted levels */
267 +#define SPITZ_GPIO_FFTXD         (99)  /* IOPORT has nTXD inverted levels */
268 +#define SPITZ_GPIO_FFRTS         (98)
269 +#define SPITZ_GPIO_FFCTS        (100)
270 +#define SPITZ_GPIO_FFDTR         (82)
271 +#define SPITZ_GPIO_FFDSR         (33)
272 +
273 +/* These UART GPIO pins are connected to Bluetooth
274 + * (only on Akita version with Bluetooth)
275 + * GPIO42_BTRXD
276 + * GPIO43_BTTXD
277 + * GPIO44_BTCTS
278 + * GPIO45_BTRTS
279 + */
280 +
281 +/* These UART GPIO pins are connected to IrDA:
282 + * GPIO46_STRXD
283 + * GPIO47_STTXD
284 + */
285 +
286  /* Spitz/Akita Keyboard Definitions */
287  
288 -#define SPITZ_KEY_STROBE_NUM         (11)
289 -#define SPITZ_KEY_SENSE_NUM          (7)
290 -#define SPITZ_GPIO_G0_STROBE_BIT     0x0f800000
291 -#define SPITZ_GPIO_G1_STROBE_BIT     0x00100000
292 -#define SPITZ_GPIO_G2_STROBE_BIT     0x01000000
293 -#define SPITZ_GPIO_G3_STROBE_BIT     0x00041880
294 -#define SPITZ_GPIO_G0_SENSE_BIT      0x00021000
295 -#define SPITZ_GPIO_G1_SENSE_BIT      0x000000d4
296 -#define SPITZ_GPIO_G2_SENSE_BIT      0x08000000
297 -#define SPITZ_GPIO_G3_SENSE_BIT      0x00000000
298 -
299 -#define SPITZ_GPIO_KEY_STROBE0       88
300 -#define SPITZ_GPIO_KEY_STROBE1       23
301 -#define SPITZ_GPIO_KEY_STROBE2       24
302 -#define SPITZ_GPIO_KEY_STROBE3       25
303 -#define SPITZ_GPIO_KEY_STROBE4       26
304 -#define SPITZ_GPIO_KEY_STROBE5       27
305 -#define SPITZ_GPIO_KEY_STROBE6       52
306 -#define SPITZ_GPIO_KEY_STROBE7       103
307 -#define SPITZ_GPIO_KEY_STROBE8       107
308 -#define SPITZ_GPIO_KEY_STROBE9       108
309 -#define SPITZ_GPIO_KEY_STROBE10      114
310 -
311 -#define SPITZ_GPIO_KEY_SENSE0        12
312 -#define SPITZ_GPIO_KEY_SENSE1        17
313 -#define SPITZ_GPIO_KEY_SENSE2        91
314 -#define SPITZ_GPIO_KEY_SENSE3        34
315 -#define SPITZ_GPIO_KEY_SENSE4        36
316 -#define SPITZ_GPIO_KEY_SENSE5        38
317 -#define SPITZ_GPIO_KEY_SENSE6        39
318 +#define SPITZ_KEY_STROBE_NUM     (11)
319 +#define SPITZ_KEY_SENSE_NUM       (7)
320 +#define SPITZ_GPIO_G0_STROBE_BIT  0x0f800000
321 +#define SPITZ_GPIO_G1_STROBE_BIT  0x00100000
322 +#define SPITZ_GPIO_G2_STROBE_BIT  0x01000000
323 +#define SPITZ_GPIO_G3_STROBE_BIT  0x00041880
324 +#define SPITZ_GPIO_G0_SENSE_BIT   0x00021000
325 +#define SPITZ_GPIO_G1_SENSE_BIT   0x000000d4
326 +#define SPITZ_GPIO_G2_SENSE_BIT   0x08000000
327 +#define SPITZ_GPIO_G3_SENSE_BIT   0x00000000
328 +#define SPITZ_GPIO_KEY_STROBE0   (88)
329 +#define SPITZ_GPIO_KEY_STROBE1   (23)
330 +#define SPITZ_GPIO_KEY_STROBE2   (24)
331 +#define SPITZ_GPIO_KEY_STROBE3   (25)
332 +#define SPITZ_GPIO_KEY_STROBE4   (26)
333 +#define SPITZ_GPIO_KEY_STROBE5   (27)
334 +#define SPITZ_GPIO_KEY_STROBE6   (52)
335 +#define SPITZ_GPIO_KEY_STROBE7   (103)
336 +#define SPITZ_GPIO_KEY_STROBE8   (107)
337 +#define SPITZ_GPIO_KEY_STROBE9   (108)
338 +#define SPITZ_GPIO_KEY_STROBE10  (114)
339 +#define SPITZ_GPIO_KEY_SENSE0    (12)
340 +#define SPITZ_GPIO_KEY_SENSE1    (17)
341 +#define SPITZ_GPIO_KEY_SENSE2    (91)
342 +#define SPITZ_GPIO_KEY_SENSE3    (34)
343 +#define SPITZ_GPIO_KEY_SENSE4    (36)
344 +#define SPITZ_GPIO_KEY_SENSE5    (38)
345 +#define SPITZ_GPIO_KEY_SENSE6    (39)
346 +
347 +#define SPITZ_GPIO_SWA           (97)  /* Keyboard Interrupt A */
348 +#define SPITZ_GPIO_SWB           (96)  /* Keyboard Interrupt B */
349 +#define SPITZ_GPIO_ON_KEY        (95)  /* Power On Key */
350  
351  
352 -/* Spitz Scoop Device (No. 1) GPIOs */
353 +/* Spitz/Akita Scoop Device (No. 1) GPIOs */
354  /* Suspend States in comments */
355 -#define SPITZ_SCP_LED_GREEN     SCOOP_GPCR_PA11  /* Keep */
356 -#define SPITZ_SCP_JK_B          SCOOP_GPCR_PA12  /* Keep */
357 -#define SPITZ_SCP_CHRG_ON       SCOOP_GPCR_PA13  /* Keep */
358 -#define SPITZ_SCP_MUTE_L        SCOOP_GPCR_PA14  /* Low */
359 -#define SPITZ_SCP_MUTE_R        SCOOP_GPCR_PA15  /* Low */
360 -#define SPITZ_SCP_CF_POWER      SCOOP_GPCR_PA16  /* Keep */
361 -#define SPITZ_SCP_LED_ORANGE    SCOOP_GPCR_PA17  /* Keep */
362 -#define SPITZ_SCP_JK_A          SCOOP_GPCR_PA18  /* Low */
363 -#define SPITZ_SCP_ADC_TEMP_ON   SCOOP_GPCR_PA19  /* Low */
364 +#define SPITZ_SCP_LED_GREEN    SCOOP_GPCR_PA11  /* Green LED, Keep */
365 +#define SPITZ_SCP_JK_B         SCOOP_GPCR_PA12  /* Fast Charge On, Keep */
366 +#define SPITZ_SCP_CHRG_ON      SCOOP_GPCR_PA13  /* Charge On, Keep */
367 +#define SPITZ_SCP_MUTE_L       SCOOP_GPCR_PA14  /* Extra Mute Left, Low */
368 +#define SPITZ_SCP_MUTE_R       SCOOP_GPCR_PA15  /* Extra Mute Right, Low */
369 +#define SPITZ_SCP_CF_POWER     SCOOP_GPCR_PA16  /* CF+SD Power Circuit, Keep */
370 +#define SPITZ_SCP_LED_ORANGE   SCOOP_GPCR_PA17  /* Orange LED, Keep */
371 +#define SPITZ_SCP_JK_A         SCOOP_GPCR_PA18  /* Dummy Load, Low */
372 +#define SPITZ_SCP_ADC_TEMP_ON  SCOOP_GPCR_PA19  /* Battery Sensor On, Low */
373  
374  #define SPITZ_SCP_IO_DIR      (SPITZ_SCP_LED_GREEN | SPITZ_SCP_JK_B | SPITZ_SCP_CHRG_ON | \
375 -                               SPITZ_SCP_MUTE_L | SPITZ_SCP_MUTE_R | SPITZ_SCP_LED_ORANGE | \
376 -                               SPITZ_SCP_CF_POWER | SPITZ_SCP_JK_A | SPITZ_SCP_ADC_TEMP_ON)
377 +                              SPITZ_SCP_MUTE_L | SPITZ_SCP_MUTE_R | SPITZ_SCP_LED_ORANGE | \
378 +                              SPITZ_SCP_CF_POWER | SPITZ_SCP_JK_A | SPITZ_SCP_ADC_TEMP_ON)
379  #define SPITZ_SCP_IO_OUT      (SPITZ_SCP_CHRG_ON | SPITZ_SCP_MUTE_L | SPITZ_SCP_MUTE_R)
380  #define SPITZ_SCP_SUS_CLR     (SPITZ_SCP_MUTE_L | SPITZ_SCP_MUTE_R | SPITZ_SCP_JK_A | SPITZ_SCP_ADC_TEMP_ON)
381  #define SPITZ_SCP_SUS_SET     0
382  
383  /* Spitz Scoop Device (No. 2) GPIOs */
384 -/* Suspend States in comments */
385 -#define SPITZ_SCP2_IR_ON           SCOOP_GPCR_PA11  /* High */
386 -#define SPITZ_SCP2_AKIN_PULLUP     SCOOP_GPCR_PA12  /* Keep */
387 -#define SPITZ_SCP2_RESERVED_1      SCOOP_GPCR_PA13  /* High */
388 -#define SPITZ_SCP2_RESERVED_2      SCOOP_GPCR_PA14  /* Low */
389 -#define SPITZ_SCP2_RESERVED_3      SCOOP_GPCR_PA15  /* Low */
390 -#define SPITZ_SCP2_RESERVED_4      SCOOP_GPCR_PA16  /* Low */
391 -#define SPITZ_SCP2_BACKLIGHT_CONT  SCOOP_GPCR_PA17  /* Low */
392 -#define SPITZ_SCP2_BACKLIGHT_ON    SCOOP_GPCR_PA18  /* Low */
393 -#define SPITZ_SCP2_MIC_BIAS        SCOOP_GPCR_PA19  /* Low */
394 +/* Suspend States in comments
395 + * Spitz only, Akita uses corresponding AKITA_IOEXP_ */
396 +#define SPITZ_SCP2_IR_ON          SCOOP_GPCR_PA11  /* IrDA On, High */
397 +#define SPITZ_SCP2_AKIN_PULLUP    SCOOP_GPCR_PA12  /* Pull-Up for Remote, Keep */
398 +#define SPITZ_SCP2_RESERVED_1     SCOOP_GPCR_PA13  /* High */
399 +#define SPITZ_SCP2_RESERVED_2     SCOOP_GPCR_PA14  /* Low */
400 +#define SPITZ_SCP2_RESERVED_3     SCOOP_GPCR_PA15  /* Low */
401 +#define SPITZ_SCP2_RESERVED_4     SCOOP_GPCR_PA16  /* Low */
402 +#define SPITZ_SCP2_BACKLIGHT_CONT  SCOOP_GPCR_PA17  /* Backlight Control, Low */
403 +#define SPITZ_SCP2_BACKLIGHT_ON           SCOOP_GPCR_PA18  /* Backlight On, Low */
404 +#define SPITZ_SCP2_MIC_BIAS       SCOOP_GPCR_PA19  /* Mic Bias On, Low */
405  
406  #define SPITZ_SCP2_IO_DIR (SPITZ_SCP2_IR_ON | SPITZ_SCP2_AKIN_PULLUP | SPITZ_SCP2_RESERVED_1 | \
407 -                           SPITZ_SCP2_RESERVED_2 | SPITZ_SCP2_RESERVED_3 | SPITZ_SCP2_RESERVED_4 | \
408 -                           SPITZ_SCP2_BACKLIGHT_CONT | SPITZ_SCP2_BACKLIGHT_ON | SPITZ_SCP2_MIC_BIAS)
409 +                          SPITZ_SCP2_RESERVED_2 | SPITZ_SCP2_RESERVED_3 | SPITZ_SCP2_RESERVED_4 | \
410 +                          SPITZ_SCP2_BACKLIGHT_CONT | SPITZ_SCP2_BACKLIGHT_ON | SPITZ_SCP2_MIC_BIAS)
411  
412  #define SPITZ_SCP2_IO_OUT   (SPITZ_SCP2_IR_ON | SPITZ_SCP2_AKIN_PULLUP | SPITZ_SCP2_RESERVED_1)
413  #define SPITZ_SCP2_SUS_CLR  (SPITZ_SCP2_RESERVED_2 | SPITZ_SCP2_RESERVED_3 | SPITZ_SCP2_RESERVED_4 | \
414 -                             SPITZ_SCP2_BACKLIGHT_CONT | SPITZ_SCP2_BACKLIGHT_ON | SPITZ_SCP2_MIC_BIAS)
415 +                            SPITZ_SCP2_BACKLIGHT_CONT | SPITZ_SCP2_BACKLIGHT_ON | SPITZ_SCP2_MIC_BIAS)
416  #define SPITZ_SCP2_SUS_SET  (SPITZ_SCP2_IR_ON | SPITZ_SCP2_RESERVED_1)
417  
418  
419 -/* Spitz IRQ Definitions */
420 +/* Spitz/Akita IRQ Definitions */
421  
422 -#define SPITZ_IRQ_GPIO_KEY_INT        IRQ_GPIO(SPITZ_GPIO_KEY_INT)
423 -#define SPITZ_IRQ_GPIO_AC_IN          IRQ_GPIO(SPITZ_GPIO_AC_IN)
424 -#define SPITZ_IRQ_GPIO_AK_INT         IRQ_GPIO(SPITZ_GPIO_AK_INT)
425 -#define SPITZ_IRQ_GPIO_HP_IN          IRQ_GPIO(SPITZ_GPIO_HP_IN)
426 -#define SPITZ_IRQ_GPIO_TP_INT         IRQ_GPIO(SPITZ_GPIO_TP_INT)
427 -#define SPITZ_IRQ_GPIO_SYNC           IRQ_GPIO(SPITZ_GPIO_SYNC)
428 -#define SPITZ_IRQ_GPIO_ON_KEY         IRQ_GPIO(SPITZ_GPIO_ON_KEY)
429 -#define SPITZ_IRQ_GPIO_SWA            IRQ_GPIO(SPITZ_GPIO_SWA)
430 -#define SPITZ_IRQ_GPIO_SWB            IRQ_GPIO(SPITZ_GPIO_SWB)
431 +#define SPITZ_IRQ_GPIO_KEY_INT       IRQ_GPIO(SPITZ_GPIO_KEY_INT)
432 +#define SPITZ_IRQ_GPIO_AC_IN         IRQ_GPIO(SPITZ_GPIO_AC_IN)
433 +#define SPITZ_IRQ_GPIO_AK_INT        IRQ_GPIO(SPITZ_GPIO_AK_INT)
434 +#define SPITZ_IRQ_GPIO_HP_IN         IRQ_GPIO(SPITZ_GPIO_HP_IN)
435 +#define SPITZ_IRQ_GPIO_TP_INT        IRQ_GPIO(SPITZ_GPIO_TP_INT)
436 +#define SPITZ_IRQ_GPIO_SYNC          IRQ_GPIO(SPITZ_GPIO_SYNC)
437 +#define SPITZ_IRQ_GPIO_ON_KEY        IRQ_GPIO(SPITZ_GPIO_ON_KEY)
438 +#define SPITZ_IRQ_GPIO_SWA           IRQ_GPIO(SPITZ_GPIO_SWA)
439 +#define SPITZ_IRQ_GPIO_SWB           IRQ_GPIO(SPITZ_GPIO_SWB)
440  #define SPITZ_IRQ_GPIO_BAT_COVER      IRQ_GPIO(SPITZ_GPIO_BAT_COVER)
441  #define SPITZ_IRQ_GPIO_FATAL_BAT      IRQ_GPIO(SPITZ_GPIO_FATAL_BAT)
442 -#define SPITZ_IRQ_GPIO_CO             IRQ_GPIO(SPITZ_GPIO_CO)
443 -#define SPITZ_IRQ_GPIO_CF_IRQ         IRQ_GPIO(SPITZ_GPIO_CF_IRQ)
444 -#define SPITZ_IRQ_GPIO_CF_CD          IRQ_GPIO(SPITZ_GPIO_CF_CD)
445 -#define SPITZ_IRQ_GPIO_CF2_IRQ        IRQ_GPIO(SPITZ_GPIO_CF2_IRQ)
446 -#define SPITZ_IRQ_GPIO_nSD_INT        IRQ_GPIO(SPITZ_GPIO_nSD_INT)
447 +#define SPITZ_IRQ_GPIO_CF_IRQ        IRQ_GPIO(SPITZ_GPIO_CF_IRQ)
448 +#define SPITZ_IRQ_GPIO_CF_CD         IRQ_GPIO(SPITZ_GPIO_CF_CD)
449 +#define SPITZ_IRQ_GPIO_CF2_IRQ       IRQ_GPIO(SPITZ_GPIO_CF2_IRQ)
450 +#define SPITZ_IRQ_GPIO_nSD_INT       IRQ_GPIO(SPITZ_GPIO_nSD_INT)
451  #define SPITZ_IRQ_GPIO_nSD_DETECT     IRQ_GPIO(SPITZ_GPIO_nSD_DETECT)
452  
453  /*
454 @@ -156,3 +274,5 @@
455  extern struct platform_device spitzscoop2_device;
456  extern struct platform_device spitzssp_device;
457  extern struct sharpsl_charger_machinfo spitz_pm_machinfo;
458 +
459 +#endif
460 Index: linux-2.6.26-rc4/sound/arm/pxa2xx-ac97.c
461 ===================================================================
462 --- linux-2.6.26-rc4.orig/sound/arm/pxa2xx-ac97.c       2008-05-26 19:08:11.000000000 +0100
463 +++ linux-2.6.26-rc4/sound/arm/pxa2xx-ac97.c    2008-06-02 00:19:38.000000000 +0100
464 @@ -156,10 +156,10 @@
465  #ifdef CONFIG_PXA27x
466                 /* warm reset broken on Bulverde,
467                    so manually keep AC97 reset high */
468 -               pxa_gpio_mode(113 | GPIO_OUT | GPIO_DFLT_HIGH); 
469 +               pxa_gpio_mode(GPIO113_AC97_RESET_N | GPIO_OUT | GPIO_DFLT_HIGH); 
470                 udelay(10);
471                 GCR |= GCR_WARM_RST;
472 -               pxa_gpio_mode(113 | GPIO_ALT_FN_2_OUT);
473 +               pxa_gpio_mode(GPIO113_AC97_RESET_N_MD);
474                 udelay(500);
475  #elif defined(CONFIG_PXA3xx)
476                 timeout = 100;
477 @@ -364,7 +364,7 @@
478         pxa_gpio_mode(GPIO29_SDATA_IN_AC97_MD);
479  #ifdef CONFIG_PXA27x
480         /* Use GPIO 113 as AC97 Reset on Bulverde */
481 -       pxa_gpio_mode(113 | GPIO_ALT_FN_2_OUT);
482 +       pxa_gpio_mode(GPIO113_AC97_RESET_N_MD | GPIO_ALT_FN_2_OUT);
483         ac97conf_clk = clk_get(&dev->dev, "AC97CONFCLK");
484         if (IS_ERR(ac97conf_clk)) {
485                 ret = PTR_ERR(ac97conf_clk);
486 Index: linux-2.6.26-rc4/include/asm-arm/arch-pxa/pxa2xx-gpio.h
487 ===================================================================
488 --- linux-2.6.26-rc4.orig/include/asm-arm/arch-pxa/pxa2xx-gpio.h        2008-06-02 00:18:07.000000000 +0100
489 +++ linux-2.6.26-rc4/include/asm-arm/arch-pxa/pxa2xx-gpio.h     2008-06-02 00:18:28.000000000 +0100
490 @@ -138,6 +138,7 @@
491  #define GPIO102_nPCE_1         102     /* PCMCIA (PXA27x) */
492  #define GPIO103_CIF_DD_3       103     /* Camera data pin 3 */
493  #define GPIO104_CIF_DD_2       104     /* Camera data pin 2 */
494 +#define GPIO104_pSKTSEL                104     /* PCMCIA Socket Select (PXA27x) */
495  #define GPIO105_CIF_DD_1       105     /* Camera data pin 1 */
496  #define GPIO106_CIF_DD_9       106     /* Camera data pin 9 */
497  #define GPIO107_CIF_DD_8       107     /* Camera data pin 8 */