summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/linux/linux-rp-2.6.24/spitz_h_rewrite.patch
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:14:24 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:29:45 +0100
commit29d6678fd546377459ef75cf54abeef5b969b5cf (patch)
tree8edd65790e37a00d01c3f203f773fe4b5012db18 /meta/recipes-kernel/linux/linux-rp-2.6.24/spitz_h_rewrite.patch
parentda49de6885ee1bc424e70bc02f21f6ab920efb55 (diff)
downloadpoky-29d6678fd546377459ef75cf54abeef5b969b5cf.tar.gz
Major layout change to the packages directory
Having one monolithic packages directory makes it hard to find things and is generally overwhelming. This commit splits it into several logical sections roughly based on function, recipes.txt gives more information about the classifications used. The opportunity is also used to switch from "packages" to "recipes" as used in OpenEmbedded as the term "packages" can be confusing to people and has many different meanings. Not all recipes have been classified yet, this is just a first pass at separating things out. Some packages are moved to meta-extras as they're no longer actively used or maintained. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta/recipes-kernel/linux/linux-rp-2.6.24/spitz_h_rewrite.patch')
-rw-r--r--meta/recipes-kernel/linux/linux-rp-2.6.24/spitz_h_rewrite.patch497
1 files changed, 497 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux/linux-rp-2.6.24/spitz_h_rewrite.patch b/meta/recipes-kernel/linux/linux-rp-2.6.24/spitz_h_rewrite.patch
new file mode 100644
index 0000000000..df6d5f66c2
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-rp-2.6.24/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.24/arch/arm/mach-pxa/spitz_pm.c
19===================================================================
20--- linux-2.6.24.orig/arch/arm/mach-pxa/spitz_pm.c 2008-01-24 22:58:37.000000000 +0000
21+++ linux-2.6.24/arch/arm/mach-pxa/spitz_pm.c 2008-02-13 13:49:22.000000000 +0000
22@@ -110,9 +110,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@@ -128,7 +128,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.24/drivers/video/pxafb.c
45===================================================================
46--- linux-2.6.24.orig/drivers/video/pxafb.c 2008-02-13 13:49:04.000000000 +0000
47+++ linux-2.6.24/drivers/video/pxafb.c 2008-02-13 13:49:57.000000000 +0000
48@@ -920,7 +920,7 @@
49 return;
50 }
51
52- for (gpio = 58; ldd_bits > 0; gpio++, ldd_bits--) {
53+ for (gpio = GPIO58_LDD_0; ldd_bits > 0; gpio++, ldd_bits--) {
54 pxa_gpio_mode(gpio | GPIO_ALT_FN_2_OUT);
55 }
56 pxa_gpio_mode(GPIO74_LCD_FCLK_MD);
57Index: linux-2.6.24/include/asm-arm/arch-pxa/akita.h
58===================================================================
59--- linux-2.6.24.orig/include/asm-arm/arch-pxa/akita.h 2008-01-24 22:58:37.000000000 +0000
60+++ linux-2.6.24/include/asm-arm/arch-pxa/akita.h 2008-02-13 13:49:22.000000000 +0000
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.24/include/asm-arm/arch-pxa/pxa-regs.h
79===================================================================
80--- linux-2.6.24.orig/include/asm-arm/arch-pxa/pxa-regs.h 2008-02-13 13:49:07.000000000 +0000
81+++ linux-2.6.24/include/asm-arm/arch-pxa/pxa-regs.h 2008-02-13 13:49:22.000000000 +0000
82@@ -1334,6 +1334,7 @@
83 #define GPIO85_nPCE_1 85 /* Card Enable for Card Space (PXA27x) */
84 #define GPIO92_MMCDAT0 92 /* MMC DAT0 (PXA27x) */
85 #define GPIO102_nPCE_1 102 /* PCMCIA (PXA27x) */
86+#define GPIO104_pSKTSEL 104 /* PCMCIA Socket Select (PXA27x) */
87 #define GPIO109_MMCDAT1 109 /* MMC DAT1 (PXA27x) */
88 #define GPIO110_MMCDAT2 110 /* MMC DAT2 (PXA27x) */
89 #define GPIO110_MMCCS0 110 /* MMC Chip Select 0 (PXA27x) */
90Index: linux-2.6.24/include/asm-arm/arch-pxa/spitz.h
91===================================================================
92--- linux-2.6.24.orig/include/asm-arm/arch-pxa/spitz.h 2008-02-13 13:49:01.000000000 +0000
93+++ linux-2.6.24/include/asm-arm/arch-pxa/spitz.h 2008-02-13 13:49:22.000000000 +0000
94@@ -1,8 +1,9 @@
95 /*
96- * Hardware specific definitions for SL-Cx000 series of PDAs
97+ * Hardware specific definitions for SL-Cxx00 series of PDAs
98 *
99 * Copyright (c) 2005 Alexander Wykes
100 * Copyright (c) 2005 Richard Purdie
101+ * Copyright (c) 2008 Stanislav Brabec
102 *
103 * Based on Sharp's 2.4 kernel patches
104 *
105@@ -13,140 +14,257 @@
106 */
107 #ifndef __ASM_ARCH_SPITZ_H
108 #define __ASM_ARCH_SPITZ_H 1
109-#endif
110
111-#include <linux/fb.h>
112+#include <asm-arm/arch-pxa/irqs.h>
113+#include <linux/platform_device.h>
114
115 /* Spitz/Akita GPIOs */
116
117-#define SPITZ_GPIO_KEY_INT (0) /* Key Interrupt */
118-#define SPITZ_GPIO_RESET (1)
119-#define SPITZ_GPIO_nSD_DETECT (9)
120-#define SPITZ_GPIO_TP_INT (11) /* Touch Panel interrupt */
121-#define SPITZ_GPIO_AK_INT (13) /* Remote Control */
122-#define SPITZ_GPIO_ADS7846_CS (14)
123-#define SPITZ_GPIO_SYNC (16)
124-#define SPITZ_GPIO_MAX1111_CS (20)
125-#define SPITZ_GPIO_FATAL_BAT (21)
126-#define SPITZ_GPIO_HSYNC (22)
127-#define SPITZ_GPIO_nSD_CLK (32)
128-#define SPITZ_GPIO_USB_DEVICE (35)
129-#define SPITZ_GPIO_USB_HOST (37)
130-#define SPITZ_GPIO_USB_CONNECT (41)
131-#define SPITZ_GPIO_LCDCON_CS (53)
132-#define SPITZ_GPIO_nPCE (54)
133-#define SPITZ_GPIO_nSD_WP (81)
134-#define SPITZ_GPIO_ON_RESET (89)
135-#define SPITZ_GPIO_BAT_COVER (90)
136-#define SPITZ_GPIO_CF_CD (94)
137-#define SPITZ_GPIO_ON_KEY (95)
138-#define SPITZ_GPIO_SWA (97)
139-#define SPITZ_GPIO_SWB (96)
140-#define SPITZ_GPIO_CHRG_FULL (101)
141-#define SPITZ_GPIO_CO (101)
142-#define SPITZ_GPIO_CF_IRQ (105)
143-#define SPITZ_GPIO_AC_IN (115)
144-#define SPITZ_GPIO_HP_IN (116)
145+/* This list refers to all GPIO pins either in defines or in comments.
146+ *
147+ * GPIO pins not listed:
148+ * GPIO2 SYS_EN: System Power Enable
149+ * GPIO5-GPIO8 PWR_CAP0-PWR_CAP3: sleep DC-DC converter power capacitors
150+ * GPIO40 not connected
151+ */
152
153-/* Spitz Only GPIOs */
154
155-#define SPITZ_GPIO_CF2_IRQ (106) /* CF slot1 Ready */
156-#define SPITZ_GPIO_CF2_CD (93)
157+/* Spitz/Akita System GPIO */
158+
159+#define SPITZ_GPIO_KEY_INT (0) /* Key Interrupt */
160+#define SPITZ_GPIO_SYNC (16) /* IOPORT Wake Up (input) */
161+#define SPITZ_GPIO_NAND_CS (79) /* NAND Flash Chip Select */
162+#define SPITZ_GPIO_NC_10 (10) /* Not Connected (but used in kernel) */
163+/* This GPIO pin is connected:
164+ * GPIO1_RST
165+ */
166
167
168+/* Compact Flash Interface */
169+
170+/* Spitz/Akita Compact Flash Interface */
171+#define SPITZ_GPIO_CF_CD (94) /* CF IRQ */
172+#define SPITZ_GPIO_CF_IRQ (105) /* CF Ready */
173+/* These GPIO pins are connected:
174+ * GPIO48_nPOE
175+ * GPIO49_nPWE
176+ * GPIO50_nPIOR
177+ * GPIO51_nPIOW
178+ * GPIO54_nPCE_2
179+ * GPIO55_nPREG
180+ * GPIO56_nPWAIT
181+ * GPIO57_nIOIS16
182+ * GPIO80_nCS_4
183+ * GPIO85_nPCE_1
184+ * GPIO104_pSKTSEL
185+ */
186+
187+/* Spitz only Compact Flash Interface */
188+#define SPITZ_GPIO_CF2_CD (93) /* CF slot1 IRQ */
189+#define SPITZ_GPIO_CF2_IRQ (106) /* CF slot1 Ready */
190+/* This GPIO pin is connected:
191+ * GPIO78_nCS_2
192+ */
193+
194+
195+/* Spitz/Akita Battery, Power and Service Connector */
196+
197+#define SPITZ_GPIO_FATAL_BAT (21) /* Fatal Battery */
198+#define SPITZ_GPIO_BAT_COVER (90) /* Battery Cover switch */
199+#define SPITZ_GPIO_BAT_COVER2 (15) /* Battery Cover switch, parallel pin */
200+#define SPITZ_GPIO_CHRG_FULL (101) /* Battery Full */
201+#define SPITZ_GPIO_AC_IN (115) /* External Power Supply is active */
202+#define SPITZ_GPIO_ON_RESET (89) /* Software Reset */
203+#define SPITZ_GPIO_SERVICE0 (83) /* Service Connector */
204+#define SPITZ_GPIO_SERVICE1 (84) /* Service Connector */
205+/* This GPIO pin is connected:
206+ * GPIO18_RDY
207+ */
208+
209+
210+/* Spitz/Akita Display Controller */
211+
212+#define SPITZ_GPIO_HSYNC (22) /* Line Sync Feedback */
213+/* These GPIO pins are connected:
214+ * GPIO58_LDD_0-GPIO58_LDD_15
215+ * GPIO74_LCD_FCLK
216+ * GPIO75_LCD_LCLK
217+ * GPIO76_LCD_PCLK
218+ * GPIO77_LCD_ACBIAS
219+ */
220+
221+
222+/* Spitz/Akita SSP/SPI Bus and Devices */
223+
224+#define SPITZ_GPIO_SSP_CLK (19) /* SSP bus Clock */
225+#define SPITZ_GPIO_SSP_RXD (86) /* SSP bus RxD */
226+#define SPITZ_GPIO_SSP_TXD (87) /* SSP bus TxD */
227+#define SPITZ_GPIO_TP_INT (11) /* Touch Panel IRQ */
228+#define SPITZ_GPIO_ADS7846_CS (14) /* Touch Panel Controller Chip Select */
229+#define SPITZ_GPIO_MAX1111_CS (20) /* Multi Channel ADC Chip Select */
230+#define SPITZ_GPIO_LCDCON_CS (53) /* LCD Controller Chip Select */
231+
232+
233+/* Spitz/Akita Supplementary USB OTG Pins */
234+
235+#define SPITZ_GPIO_USB_DEVICE (35) /* USB Client power is present */
236+#define SPITZ_GPIO_USB_HOST (37) /* USB OTG 5V Host power supply control */
237+#define SPITZ_GPIO_USB_CONNECT (41) /* USB Host Cable is connected */
238+
239+
240+/* Spitz/Akita Audio */
241+
242+#define SPITZ_GPIO_HP_IN (116) /* CPU Headphone detect */
243+#define SPITZ_GPIO_AK_INT (13) /* Remote Control detect */
244+/* These GPIO AC97 pins are connected:
245+ * GPIO28_BITCLK
246+ * GPIO29_SDATA_IN
247+ * GPIO30_SDATA_OUT
248+ * GPIO31_SYNC
249+ * GPIO113_AC97_RESET_N
250+ */
251+
252+
253+/* Spitz/Akita SD Slot */
254+
255+#define SPITZ_GPIO_nSD_DETECT (9) /* SD Card Presence */
256+#define SPITZ_GPIO_nSD_WP (81) /* SD Write Protection */
257+/* These GPIO pins are connected:
258+ * GPIO32_MMCCLK
259+ * GPIO92_MMCDAT0
260+ * GPIO109_MMCDAT1
261+ * GPIO110_MMCDAT2
262+ * GPIO111_MMCDAT3
263+ * GPIO112_MMCCMD
264+ */
265+
266+/* Spitz/Akita I2C bus */
267+#define SPITZ_GPIO_SCL (117) /* I2C SCL */
268+#define SPITZ_GPIO_SDA (118) /* I2C SDA */
269+#define SPITZ_GPIO_PWR_SCL (3) /* I2C SCL power */
270+#define SPITZ_GPIO_PWR_SDA (4) /* I2C SDA power */
271+
272+/* audio codec pins */
273+
274+
275+/* Spitz/Akita UART ports */
276+
277+/* Fully Featured UART - connected to IOPORT connector */
278+#define SPITZ_GPIO_FFRXD (102) /* IOPORT has nRXD inverted levels */
279+#define SPITZ_GPIO_FFTXD (99) /* IOPORT has nTXD inverted levels */
280+#define SPITZ_GPIO_FFRTS (98)
281+#define SPITZ_GPIO_FFCTS (100)
282+#define SPITZ_GPIO_FFDTR (82)
283+#define SPITZ_GPIO_FFDSR (33)
284+
285+/* These UART GPIO pins are connected to Bluetooth
286+ * (only on Akita version with Bluetooth)
287+ * GPIO42_BTRXD
288+ * GPIO43_BTTXD
289+ * GPIO44_BTCTS
290+ * GPIO45_BTRTS
291+ */
292+
293+/* These UART GPIO pins are connected to IrDA:
294+ * GPIO46_STRXD
295+ * GPIO47_STTXD
296+ */
297+
298 /* Spitz/Akita Keyboard Definitions */
299
300-#define SPITZ_KEY_STROBE_NUM (11)
301-#define SPITZ_KEY_SENSE_NUM (7)
302-#define SPITZ_GPIO_G0_STROBE_BIT 0x0f800000
303-#define SPITZ_GPIO_G1_STROBE_BIT 0x00100000
304-#define SPITZ_GPIO_G2_STROBE_BIT 0x01000000
305-#define SPITZ_GPIO_G3_STROBE_BIT 0x00041880
306-#define SPITZ_GPIO_G0_SENSE_BIT 0x00021000
307-#define SPITZ_GPIO_G1_SENSE_BIT 0x000000d4
308-#define SPITZ_GPIO_G2_SENSE_BIT 0x08000000
309-#define SPITZ_GPIO_G3_SENSE_BIT 0x00000000
310-
311-#define SPITZ_GPIO_KEY_STROBE0 88
312-#define SPITZ_GPIO_KEY_STROBE1 23
313-#define SPITZ_GPIO_KEY_STROBE2 24
314-#define SPITZ_GPIO_KEY_STROBE3 25
315-#define SPITZ_GPIO_KEY_STROBE4 26
316-#define SPITZ_GPIO_KEY_STROBE5 27
317-#define SPITZ_GPIO_KEY_STROBE6 52
318-#define SPITZ_GPIO_KEY_STROBE7 103
319-#define SPITZ_GPIO_KEY_STROBE8 107
320-#define SPITZ_GPIO_KEY_STROBE9 108
321-#define SPITZ_GPIO_KEY_STROBE10 114
322-
323-#define SPITZ_GPIO_KEY_SENSE0 12
324-#define SPITZ_GPIO_KEY_SENSE1 17
325-#define SPITZ_GPIO_KEY_SENSE2 91
326-#define SPITZ_GPIO_KEY_SENSE3 34
327-#define SPITZ_GPIO_KEY_SENSE4 36
328-#define SPITZ_GPIO_KEY_SENSE5 38
329-#define SPITZ_GPIO_KEY_SENSE6 39
330+#define SPITZ_KEY_STROBE_NUM (11)
331+#define SPITZ_KEY_SENSE_NUM (7)
332+#define SPITZ_GPIO_G0_STROBE_BIT 0x0f800000
333+#define SPITZ_GPIO_G1_STROBE_BIT 0x00100000
334+#define SPITZ_GPIO_G2_STROBE_BIT 0x01000000
335+#define SPITZ_GPIO_G3_STROBE_BIT 0x00041880
336+#define SPITZ_GPIO_G0_SENSE_BIT 0x00021000
337+#define SPITZ_GPIO_G1_SENSE_BIT 0x000000d4
338+#define SPITZ_GPIO_G2_SENSE_BIT 0x08000000
339+#define SPITZ_GPIO_G3_SENSE_BIT 0x00000000
340+#define SPITZ_GPIO_KEY_STROBE0 (88)
341+#define SPITZ_GPIO_KEY_STROBE1 (23)
342+#define SPITZ_GPIO_KEY_STROBE2 (24)
343+#define SPITZ_GPIO_KEY_STROBE3 (25)
344+#define SPITZ_GPIO_KEY_STROBE4 (26)
345+#define SPITZ_GPIO_KEY_STROBE5 (27)
346+#define SPITZ_GPIO_KEY_STROBE6 (52)
347+#define SPITZ_GPIO_KEY_STROBE7 (103)
348+#define SPITZ_GPIO_KEY_STROBE8 (107)
349+#define SPITZ_GPIO_KEY_STROBE9 (108)
350+#define SPITZ_GPIO_KEY_STROBE10 (114)
351+#define SPITZ_GPIO_KEY_SENSE0 (12)
352+#define SPITZ_GPIO_KEY_SENSE1 (17)
353+#define SPITZ_GPIO_KEY_SENSE2 (91)
354+#define SPITZ_GPIO_KEY_SENSE3 (34)
355+#define SPITZ_GPIO_KEY_SENSE4 (36)
356+#define SPITZ_GPIO_KEY_SENSE5 (38)
357+#define SPITZ_GPIO_KEY_SENSE6 (39)
358+
359+#define SPITZ_GPIO_SWA (97) /* Keyboard Interrupt A */
360+#define SPITZ_GPIO_SWB (96) /* Keyboard Interrupt B */
361+#define SPITZ_GPIO_ON_KEY (95) /* Power On Key */
362
363
364-/* Spitz Scoop Device (No. 1) GPIOs */
365+/* Spitz/Akita Scoop Device (No. 1) GPIOs */
366 /* Suspend States in comments */
367-#define SPITZ_SCP_LED_GREEN SCOOP_GPCR_PA11 /* Keep */
368-#define SPITZ_SCP_JK_B SCOOP_GPCR_PA12 /* Keep */
369-#define SPITZ_SCP_CHRG_ON SCOOP_GPCR_PA13 /* Keep */
370-#define SPITZ_SCP_MUTE_L SCOOP_GPCR_PA14 /* Low */
371-#define SPITZ_SCP_MUTE_R SCOOP_GPCR_PA15 /* Low */
372-#define SPITZ_SCP_CF_POWER SCOOP_GPCR_PA16 /* Keep */
373-#define SPITZ_SCP_LED_ORANGE SCOOP_GPCR_PA17 /* Keep */
374-#define SPITZ_SCP_JK_A SCOOP_GPCR_PA18 /* Low */
375-#define SPITZ_SCP_ADC_TEMP_ON SCOOP_GPCR_PA19 /* Low */
376+#define SPITZ_SCP_LED_GREEN SCOOP_GPCR_PA11 /* Green LED, Keep */
377+#define SPITZ_SCP_JK_B SCOOP_GPCR_PA12 /* Fast Charge On, Keep */
378+#define SPITZ_SCP_CHRG_ON SCOOP_GPCR_PA13 /* Charge On, Keep */
379+#define SPITZ_SCP_MUTE_L SCOOP_GPCR_PA14 /* Extra Mute Left, Low */
380+#define SPITZ_SCP_MUTE_R SCOOP_GPCR_PA15 /* Extra Mute Right, Low */
381+#define SPITZ_SCP_CF_POWER SCOOP_GPCR_PA16 /* CF+SD Power Circuit, Keep */
382+#define SPITZ_SCP_LED_ORANGE SCOOP_GPCR_PA17 /* Orange LED, Keep */
383+#define SPITZ_SCP_JK_A SCOOP_GPCR_PA18 /* Dummy Load, Low */
384+#define SPITZ_SCP_ADC_TEMP_ON SCOOP_GPCR_PA19 /* Battery Sensor On, Low */
385
386 #define SPITZ_SCP_IO_DIR (SPITZ_SCP_LED_GREEN | SPITZ_SCP_JK_B | SPITZ_SCP_CHRG_ON | \
387- SPITZ_SCP_MUTE_L | SPITZ_SCP_MUTE_R | SPITZ_SCP_LED_ORANGE | \
388- SPITZ_SCP_CF_POWER | SPITZ_SCP_JK_A | SPITZ_SCP_ADC_TEMP_ON)
389+ SPITZ_SCP_MUTE_L | SPITZ_SCP_MUTE_R | SPITZ_SCP_LED_ORANGE | \
390+ SPITZ_SCP_CF_POWER | SPITZ_SCP_JK_A | SPITZ_SCP_ADC_TEMP_ON)
391 #define SPITZ_SCP_IO_OUT (SPITZ_SCP_CHRG_ON | SPITZ_SCP_MUTE_L | SPITZ_SCP_MUTE_R)
392 #define SPITZ_SCP_SUS_CLR (SPITZ_SCP_MUTE_L | SPITZ_SCP_MUTE_R | SPITZ_SCP_JK_A | SPITZ_SCP_ADC_TEMP_ON)
393 #define SPITZ_SCP_SUS_SET 0
394
395 /* Spitz Scoop Device (No. 2) GPIOs */
396-/* Suspend States in comments */
397-#define SPITZ_SCP2_IR_ON SCOOP_GPCR_PA11 /* High */
398-#define SPITZ_SCP2_AKIN_PULLUP SCOOP_GPCR_PA12 /* Keep */
399-#define SPITZ_SCP2_RESERVED_1 SCOOP_GPCR_PA13 /* High */
400-#define SPITZ_SCP2_RESERVED_2 SCOOP_GPCR_PA14 /* Low */
401-#define SPITZ_SCP2_RESERVED_3 SCOOP_GPCR_PA15 /* Low */
402-#define SPITZ_SCP2_RESERVED_4 SCOOP_GPCR_PA16 /* Low */
403-#define SPITZ_SCP2_BACKLIGHT_CONT SCOOP_GPCR_PA17 /* Low */
404-#define SPITZ_SCP2_BACKLIGHT_ON SCOOP_GPCR_PA18 /* Low */
405-#define SPITZ_SCP2_MIC_BIAS SCOOP_GPCR_PA19 /* Low */
406+/* Suspend States in comments
407+ * Spitz only, Akita uses corresponding AKITA_IOEXP_ */
408+#define SPITZ_SCP2_IR_ON SCOOP_GPCR_PA11 /* IrDA On, High */
409+#define SPITZ_SCP2_AKIN_PULLUP SCOOP_GPCR_PA12 /* Pull-Up for Remote, Keep */
410+#define SPITZ_SCP2_RESERVED_1 SCOOP_GPCR_PA13 /* High */
411+#define SPITZ_SCP2_RESERVED_2 SCOOP_GPCR_PA14 /* Low */
412+#define SPITZ_SCP2_RESERVED_3 SCOOP_GPCR_PA15 /* Low */
413+#define SPITZ_SCP2_RESERVED_4 SCOOP_GPCR_PA16 /* Low */
414+#define SPITZ_SCP2_BACKLIGHT_CONT SCOOP_GPCR_PA17 /* Backlight Control, Low */
415+#define SPITZ_SCP2_BACKLIGHT_ON SCOOP_GPCR_PA18 /* Backlight On, Low */
416+#define SPITZ_SCP2_MIC_BIAS SCOOP_GPCR_PA19 /* Mic Bias On, Low */
417
418 #define SPITZ_SCP2_IO_DIR (SPITZ_SCP2_IR_ON | SPITZ_SCP2_AKIN_PULLUP | SPITZ_SCP2_RESERVED_1 | \
419- SPITZ_SCP2_RESERVED_2 | SPITZ_SCP2_RESERVED_3 | SPITZ_SCP2_RESERVED_4 | \
420- SPITZ_SCP2_BACKLIGHT_CONT | SPITZ_SCP2_BACKLIGHT_ON | SPITZ_SCP2_MIC_BIAS)
421+ SPITZ_SCP2_RESERVED_2 | SPITZ_SCP2_RESERVED_3 | SPITZ_SCP2_RESERVED_4 | \
422+ SPITZ_SCP2_BACKLIGHT_CONT | SPITZ_SCP2_BACKLIGHT_ON | SPITZ_SCP2_MIC_BIAS)
423
424 #define SPITZ_SCP2_IO_OUT (SPITZ_SCP2_IR_ON | SPITZ_SCP2_AKIN_PULLUP | SPITZ_SCP2_RESERVED_1)
425 #define SPITZ_SCP2_SUS_CLR (SPITZ_SCP2_RESERVED_2 | SPITZ_SCP2_RESERVED_3 | SPITZ_SCP2_RESERVED_4 | \
426- SPITZ_SCP2_BACKLIGHT_CONT | SPITZ_SCP2_BACKLIGHT_ON | SPITZ_SCP2_MIC_BIAS)
427+ SPITZ_SCP2_BACKLIGHT_CONT | SPITZ_SCP2_BACKLIGHT_ON | SPITZ_SCP2_MIC_BIAS)
428 #define SPITZ_SCP2_SUS_SET (SPITZ_SCP2_IR_ON | SPITZ_SCP2_RESERVED_1)
429
430
431-/* Spitz IRQ Definitions */
432+/* Spitz/Akita IRQ Definitions */
433
434-#define SPITZ_IRQ_GPIO_KEY_INT IRQ_GPIO(SPITZ_GPIO_KEY_INT)
435-#define SPITZ_IRQ_GPIO_AC_IN IRQ_GPIO(SPITZ_GPIO_AC_IN)
436-#define SPITZ_IRQ_GPIO_AK_INT IRQ_GPIO(SPITZ_GPIO_AK_INT)
437-#define SPITZ_IRQ_GPIO_HP_IN IRQ_GPIO(SPITZ_GPIO_HP_IN)
438-#define SPITZ_IRQ_GPIO_TP_INT IRQ_GPIO(SPITZ_GPIO_TP_INT)
439-#define SPITZ_IRQ_GPIO_SYNC IRQ_GPIO(SPITZ_GPIO_SYNC)
440-#define SPITZ_IRQ_GPIO_ON_KEY IRQ_GPIO(SPITZ_GPIO_ON_KEY)
441-#define SPITZ_IRQ_GPIO_SWA IRQ_GPIO(SPITZ_GPIO_SWA)
442-#define SPITZ_IRQ_GPIO_SWB IRQ_GPIO(SPITZ_GPIO_SWB)
443+#define SPITZ_IRQ_GPIO_KEY_INT IRQ_GPIO(SPITZ_GPIO_KEY_INT)
444+#define SPITZ_IRQ_GPIO_AC_IN IRQ_GPIO(SPITZ_GPIO_AC_IN)
445+#define SPITZ_IRQ_GPIO_AK_INT IRQ_GPIO(SPITZ_GPIO_AK_INT)
446+#define SPITZ_IRQ_GPIO_HP_IN IRQ_GPIO(SPITZ_GPIO_HP_IN)
447+#define SPITZ_IRQ_GPIO_TP_INT IRQ_GPIO(SPITZ_GPIO_TP_INT)
448+#define SPITZ_IRQ_GPIO_SYNC IRQ_GPIO(SPITZ_GPIO_SYNC)
449+#define SPITZ_IRQ_GPIO_ON_KEY IRQ_GPIO(SPITZ_GPIO_ON_KEY)
450+#define SPITZ_IRQ_GPIO_SWA IRQ_GPIO(SPITZ_GPIO_SWA)
451+#define SPITZ_IRQ_GPIO_SWB IRQ_GPIO(SPITZ_GPIO_SWB)
452 #define SPITZ_IRQ_GPIO_BAT_COVER IRQ_GPIO(SPITZ_GPIO_BAT_COVER)
453 #define SPITZ_IRQ_GPIO_FATAL_BAT IRQ_GPIO(SPITZ_GPIO_FATAL_BAT)
454-#define SPITZ_IRQ_GPIO_CO IRQ_GPIO(SPITZ_GPIO_CO)
455-#define SPITZ_IRQ_GPIO_CF_IRQ IRQ_GPIO(SPITZ_GPIO_CF_IRQ)
456-#define SPITZ_IRQ_GPIO_CF_CD IRQ_GPIO(SPITZ_GPIO_CF_CD)
457-#define SPITZ_IRQ_GPIO_CF2_IRQ IRQ_GPIO(SPITZ_GPIO_CF2_IRQ)
458-#define SPITZ_IRQ_GPIO_nSD_INT IRQ_GPIO(SPITZ_GPIO_nSD_INT)
459+#define SPITZ_IRQ_GPIO_CF_IRQ IRQ_GPIO(SPITZ_GPIO_CF_IRQ)
460+#define SPITZ_IRQ_GPIO_CF_CD IRQ_GPIO(SPITZ_GPIO_CF_CD)
461+#define SPITZ_IRQ_GPIO_CF2_IRQ IRQ_GPIO(SPITZ_GPIO_CF2_IRQ)
462+#define SPITZ_IRQ_GPIO_nSD_INT IRQ_GPIO(SPITZ_GPIO_nSD_INT)
463 #define SPITZ_IRQ_GPIO_nSD_DETECT IRQ_GPIO(SPITZ_GPIO_nSD_DETECT)
464
465 /*
466@@ -156,3 +274,5 @@
467 extern struct platform_device spitzscoop2_device;
468 extern struct platform_device spitzssp_device;
469 extern struct sharpsl_charger_machinfo spitz_pm_machinfo;
470+
471+#endif
472Index: linux-2.6.24/sound/arm/pxa2xx-ac97.c
473===================================================================
474--- linux-2.6.24.orig/sound/arm/pxa2xx-ac97.c 2008-01-24 22:58:37.000000000 +0000
475+++ linux-2.6.24/sound/arm/pxa2xx-ac97.c 2008-02-13 13:49:22.000000000 +0000
476@@ -133,10 +133,10 @@
477 #ifdef CONFIG_PXA27x
478 /* warm reset broken on Bulverde,
479 so manually keep AC97 reset high */
480- pxa_gpio_mode(113 | GPIO_OUT | GPIO_DFLT_HIGH);
481+ pxa_gpio_mode(GPIO113_AC97_RESET_N | GPIO_OUT | GPIO_DFLT_HIGH);
482 udelay(10);
483 GCR |= GCR_WARM_RST;
484- pxa_gpio_mode(113 | GPIO_ALT_FN_2_OUT);
485+ pxa_gpio_mode(GPIO113_AC97_RESET_N_MD);
486 udelay(500);
487 #else
488 GCR |= GCR_WARM_RST|GCR_PRIRDY_IEN|GCR_SECRDY_IEN;
489@@ -335,7 +335,7 @@
490 pxa_gpio_mode(GPIO29_SDATA_IN_AC97_MD);
491 #ifdef CONFIG_PXA27x
492 /* Use GPIO 113 as AC97 Reset on Bulverde */
493- pxa_gpio_mode(113 | GPIO_ALT_FN_2_OUT);
494+ pxa_gpio_mode(GPIO113_AC97_RESET_N_MD);
495 #endif
496 pxa_set_cken(CKEN_AC97, 1);
497