summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/linux/linux-rp-2.6.26/spitz_h_rewrite.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-kernel/linux/linux-rp-2.6.26/spitz_h_rewrite.patch')
-rw-r--r--meta/recipes-kernel/linux/linux-rp-2.6.26/spitz_h_rewrite.patch497
1 files changed, 497 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux/linux-rp-2.6.26/spitz_h_rewrite.patch b/meta/recipes-kernel/linux/linux-rp-2.6.26/spitz_h_rewrite.patch
new file mode 100644
index 0000000000..3dcf4ed8af
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-rp-2.6.26/spitz_h_rewrite.patch
@@ -0,0 +1,497 @@
1http://www.uwsg.indiana.edu/hypermail/linux/kernel/0802.1/3541.html
2
3Here is a rewrite of spitz.h, which includes comments documenting
4function of particular GPIO pins.
5
6spitz_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
16Thanks to Trisoft for providing needed information.
17
18Index: 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)
44Index: 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);
57Index: 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
78Index: 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
460Index: 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);
486Index: 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 */