diff options
Diffstat (limited to 'arch/arm/mach-pxa')
-rw-r--r-- | arch/arm/mach-pxa/Kconfig | 4 | ||||
-rw-r--r-- | arch/arm/mach-pxa/corgi.c | 10 | ||||
-rw-r--r-- | arch/arm/mach-pxa/em-x270.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-pxa/generic.h | 3 | ||||
-rw-r--r-- | arch/arm/mach-pxa/include/mach/audio.h | 10 | ||||
-rw-r--r-- | arch/arm/mach-pxa/include/mach/colibri.h | 4 | ||||
-rw-r--r-- | arch/arm/mach-pxa/include/mach/palmasoc.h | 7 | ||||
-rw-r--r-- | arch/arm/mach-pxa/include/mach/palmt5.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-pxa/include/mach/palmtx.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-pxa/littleton.c | 9 | ||||
-rw-r--r-- | arch/arm/mach-pxa/mioa701.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-pxa/palmld.c | 18 | ||||
-rw-r--r-- | arch/arm/mach-pxa/palmt5.c | 29 | ||||
-rw-r--r-- | arch/arm/mach-pxa/palmtx.c | 34 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pcm990-baseboard.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-pxa/spitz.c | 10 | ||||
-rw-r--r-- | arch/arm/mach-pxa/time.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/zylonite_pxa300.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-pxa/zylonite_pxa320.c | 1 |
19 files changed, 129 insertions, 37 deletions
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig index 3e66d9099eab..17d3fbd368a3 100644 --- a/arch/arm/mach-pxa/Kconfig +++ b/arch/arm/mach-pxa/Kconfig | |||
@@ -289,12 +289,12 @@ config MACH_LITTLETON | |||
289 | config MACH_TAVOREVB | 289 | config MACH_TAVOREVB |
290 | bool "PXA930 Evaluation Board (aka TavorEVB)" | 290 | bool "PXA930 Evaluation Board (aka TavorEVB)" |
291 | select PXA3xx | 291 | select PXA3xx |
292 | select PXA930 | 292 | select CPU_PXA930 |
293 | 293 | ||
294 | config MACH_SAAR | 294 | config MACH_SAAR |
295 | bool "PXA930 Handheld Platform (aka SAAR)" | 295 | bool "PXA930 Handheld Platform (aka SAAR)" |
296 | select PXA3xx | 296 | select PXA3xx |
297 | select PXA930 | 297 | select CPU_PXA930 |
298 | 298 | ||
299 | config MACH_ARMCORE | 299 | config MACH_ARMCORE |
300 | bool "CompuLab CM-X255/CM-X270 modules" | 300 | bool "CompuLab CM-X255/CM-X270 modules" |
diff --git a/arch/arm/mach-pxa/corgi.c b/arch/arm/mach-pxa/corgi.c index cdf21dd135b4..930e364ccde9 100644 --- a/arch/arm/mach-pxa/corgi.c +++ b/arch/arm/mach-pxa/corgi.c | |||
@@ -427,12 +427,22 @@ static struct pxa2xx_spi_master corgi_spi_info = { | |||
427 | .num_chipselect = 3, | 427 | .num_chipselect = 3, |
428 | }; | 428 | }; |
429 | 429 | ||
430 | static void corgi_wait_for_hsync(void) | ||
431 | { | ||
432 | while (gpio_get_value(CORGI_GPIO_HSYNC)) | ||
433 | cpu_relax(); | ||
434 | |||
435 | while (!gpio_get_value(CORGI_GPIO_HSYNC)) | ||
436 | cpu_relax(); | ||
437 | } | ||
438 | |||
430 | static struct ads7846_platform_data corgi_ads7846_info = { | 439 | static struct ads7846_platform_data corgi_ads7846_info = { |
431 | .model = 7846, | 440 | .model = 7846, |
432 | .vref_delay_usecs = 100, | 441 | .vref_delay_usecs = 100, |
433 | .x_plate_ohms = 419, | 442 | .x_plate_ohms = 419, |
434 | .y_plate_ohms = 486, | 443 | .y_plate_ohms = 486, |
435 | .gpio_pendown = CORGI_GPIO_TP_INT, | 444 | .gpio_pendown = CORGI_GPIO_TP_INT, |
445 | .wait_for_sync = corgi_wait_for_hsync, | ||
436 | }; | 446 | }; |
437 | 447 | ||
438 | static void corgi_ads7846_cs(u32 command) | 448 | static void corgi_ads7846_cs(u32 command) |
diff --git a/arch/arm/mach-pxa/em-x270.c b/arch/arm/mach-pxa/em-x270.c index 67611dadb44e..bc0f73fbd4ca 100644 --- a/arch/arm/mach-pxa/em-x270.c +++ b/arch/arm/mach-pxa/em-x270.c | |||
@@ -28,7 +28,6 @@ | |||
28 | #include <linux/spi/libertas_spi.h> | 28 | #include <linux/spi/libertas_spi.h> |
29 | #include <linux/power_supply.h> | 29 | #include <linux/power_supply.h> |
30 | #include <linux/apm-emulation.h> | 30 | #include <linux/apm-emulation.h> |
31 | #include <linux/delay.h> | ||
32 | 31 | ||
33 | #include <media/soc_camera.h> | 32 | #include <media/soc_camera.h> |
34 | 33 | ||
@@ -644,8 +643,9 @@ static struct pxa2xx_spi_master em_x270_spi_info = { | |||
644 | }; | 643 | }; |
645 | 644 | ||
646 | static struct pxa2xx_spi_chip em_x270_tdo24m_chip = { | 645 | static struct pxa2xx_spi_chip em_x270_tdo24m_chip = { |
647 | .rx_threshold = 1, | 646 | .rx_threshold = 1, |
648 | .tx_threshold = 1, | 647 | .tx_threshold = 1, |
648 | .gpio_cs = -1, | ||
649 | }; | 649 | }; |
650 | 650 | ||
651 | static struct tdo24m_platform_data em_x270_tdo24m_pdata = { | 651 | static struct tdo24m_platform_data em_x270_tdo24m_pdata = { |
diff --git a/arch/arm/mach-pxa/generic.h b/arch/arm/mach-pxa/generic.h index 3465268ca716..485fede83d97 100644 --- a/arch/arm/mach-pxa/generic.h +++ b/arch/arm/mach-pxa/generic.h | |||
@@ -15,6 +15,9 @@ extern struct sys_timer pxa_timer; | |||
15 | extern void __init pxa_init_irq(int irq_nr, | 15 | extern void __init pxa_init_irq(int irq_nr, |
16 | int (*set_wake)(unsigned int, unsigned int)); | 16 | int (*set_wake)(unsigned int, unsigned int)); |
17 | extern void __init pxa25x_init_irq(void); | 17 | extern void __init pxa25x_init_irq(void); |
18 | #ifdef CONFIG_CPU_PXA26x | ||
19 | extern void __init pxa26x_init_irq(void); | ||
20 | #endif | ||
18 | extern void __init pxa27x_init_irq(void); | 21 | extern void __init pxa27x_init_irq(void); |
19 | extern void __init pxa3xx_init_irq(void); | 22 | extern void __init pxa3xx_init_irq(void); |
20 | extern void __init pxa_map_io(void); | 23 | extern void __init pxa_map_io(void); |
diff --git a/arch/arm/mach-pxa/include/mach/audio.h b/arch/arm/mach-pxa/include/mach/audio.h index f82f96dd1053..16eb02552d5d 100644 --- a/arch/arm/mach-pxa/include/mach/audio.h +++ b/arch/arm/mach-pxa/include/mach/audio.h | |||
@@ -4,12 +4,22 @@ | |||
4 | #include <sound/core.h> | 4 | #include <sound/core.h> |
5 | #include <sound/pcm.h> | 5 | #include <sound/pcm.h> |
6 | 6 | ||
7 | /* | ||
8 | * @reset_gpio: AC97 reset gpio (normally gpio113 or gpio95) | ||
9 | * a -1 value means no gpio will be used for reset | ||
10 | |||
11 | * reset_gpio should only be specified for pxa27x CPUs where a silicon | ||
12 | * bug prevents correct operation of the reset line. If not specified, | ||
13 | * the default behaviour on these CPUs is to consider gpio 113 as the | ||
14 | * AC97 reset line, which is the default on most boards. | ||
15 | */ | ||
7 | typedef struct { | 16 | typedef struct { |
8 | int (*startup)(struct snd_pcm_substream *, void *); | 17 | int (*startup)(struct snd_pcm_substream *, void *); |
9 | void (*shutdown)(struct snd_pcm_substream *, void *); | 18 | void (*shutdown)(struct snd_pcm_substream *, void *); |
10 | void (*suspend)(void *); | 19 | void (*suspend)(void *); |
11 | void (*resume)(void *); | 20 | void (*resume)(void *); |
12 | void *priv; | 21 | void *priv; |
22 | int reset_gpio; | ||
13 | } pxa2xx_audio_ops_t; | 23 | } pxa2xx_audio_ops_t; |
14 | 24 | ||
15 | extern void pxa_set_ac97_info(pxa2xx_audio_ops_t *ops); | 25 | extern void pxa_set_ac97_info(pxa2xx_audio_ops_t *ops); |
diff --git a/arch/arm/mach-pxa/include/mach/colibri.h b/arch/arm/mach-pxa/include/mach/colibri.h index 90230c6f9925..a88d7caff0d1 100644 --- a/arch/arm/mach-pxa/include/mach/colibri.h +++ b/arch/arm/mach-pxa/include/mach/colibri.h | |||
@@ -10,13 +10,13 @@ | |||
10 | #if defined(CONFIG_MMC_PXA) || defined(CONFIG_MMC_PXA_MODULE) | 10 | #if defined(CONFIG_MMC_PXA) || defined(CONFIG_MMC_PXA_MODULE) |
11 | extern void colibri_pxa3xx_init_mmc(mfp_cfg_t *pins, int len, int detect_pin); | 11 | extern void colibri_pxa3xx_init_mmc(mfp_cfg_t *pins, int len, int detect_pin); |
12 | #else | 12 | #else |
13 | static inline void colibri_pxa3xx_init_mmc(mfp_cfg_t *, int, int) {} | 13 | static inline void colibri_pxa3xx_init_mmc(mfp_cfg_t *pins, int len, int detect_pin) {} |
14 | #endif | 14 | #endif |
15 | 15 | ||
16 | #if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE) | 16 | #if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE) |
17 | extern void colibri_pxa3xx_init_lcd(int bl_pin); | 17 | extern void colibri_pxa3xx_init_lcd(int bl_pin); |
18 | #else | 18 | #else |
19 | static inline void colibri_pxa3xx_init_lcd(int) {} | 19 | static inline void colibri_pxa3xx_init_lcd(int bl_pin) {} |
20 | #endif | 20 | #endif |
21 | 21 | ||
22 | #if defined(CONFIG_AX88796) | 22 | #if defined(CONFIG_AX88796) |
diff --git a/arch/arm/mach-pxa/include/mach/palmasoc.h b/arch/arm/mach-pxa/include/mach/palmasoc.h index 6c4b1f7de20a..58afb30d5298 100644 --- a/arch/arm/mach-pxa/include/mach/palmasoc.h +++ b/arch/arm/mach-pxa/include/mach/palmasoc.h | |||
@@ -1,13 +1,8 @@ | |||
1 | #ifndef _INCLUDE_PALMASOC_H_ | 1 | #ifndef _INCLUDE_PALMASOC_H_ |
2 | #define _INCLUDE_PALMASOC_H_ | 2 | #define _INCLUDE_PALMASOC_H_ |
3 | |||
3 | struct palm27x_asoc_info { | 4 | struct palm27x_asoc_info { |
4 | int jack_gpio; | 5 | int jack_gpio; |
5 | }; | 6 | }; |
6 | 7 | ||
7 | #ifdef CONFIG_SND_PXA2XX_SOC_PALM27X | ||
8 | void __init palm27x_asoc_set_pdata(struct palm27x_asoc_info *data); | ||
9 | #else | ||
10 | static inline void palm27x_asoc_set_pdata(struct palm27x_asoc_info *data) {} | ||
11 | #endif | ||
12 | |||
13 | #endif | 8 | #endif |
diff --git a/arch/arm/mach-pxa/include/mach/palmt5.h b/arch/arm/mach-pxa/include/mach/palmt5.h index 052bfe788ada..d15662aba008 100644 --- a/arch/arm/mach-pxa/include/mach/palmt5.h +++ b/arch/arm/mach-pxa/include/mach/palmt5.h | |||
@@ -37,7 +37,6 @@ | |||
37 | 37 | ||
38 | /* USB */ | 38 | /* USB */ |
39 | #define GPIO_NR_PALMT5_USB_DETECT_N 15 | 39 | #define GPIO_NR_PALMT5_USB_DETECT_N 15 |
40 | #define GPIO_NR_PALMT5_USB_POWER 95 | ||
41 | #define GPIO_NR_PALMT5_USB_PULLUP 93 | 40 | #define GPIO_NR_PALMT5_USB_PULLUP 93 |
42 | 41 | ||
43 | /* LCD/BACKLIGHT */ | 42 | /* LCD/BACKLIGHT */ |
diff --git a/arch/arm/mach-pxa/include/mach/palmtx.h b/arch/arm/mach-pxa/include/mach/palmtx.h index 9f7d62fb4cbb..e74082c872e1 100644 --- a/arch/arm/mach-pxa/include/mach/palmtx.h +++ b/arch/arm/mach-pxa/include/mach/palmtx.h | |||
@@ -38,7 +38,6 @@ | |||
38 | 38 | ||
39 | /* USB */ | 39 | /* USB */ |
40 | #define GPIO_NR_PALMTX_USB_DETECT_N 13 | 40 | #define GPIO_NR_PALMTX_USB_DETECT_N 13 |
41 | #define GPIO_NR_PALMTX_USB_POWER 95 | ||
42 | #define GPIO_NR_PALMTX_USB_PULLUP 93 | 41 | #define GPIO_NR_PALMTX_USB_PULLUP 93 |
43 | 42 | ||
44 | /* LCD/BACKLIGHT */ | 43 | /* LCD/BACKLIGHT */ |
diff --git a/arch/arm/mach-pxa/littleton.c b/arch/arm/mach-pxa/littleton.c index e13f6a81c223..c872b9feb4d4 100644 --- a/arch/arm/mach-pxa/littleton.c +++ b/arch/arm/mach-pxa/littleton.c | |||
@@ -334,6 +334,11 @@ static struct led_info littleton_da9034_leds[] = { | |||
334 | }, | 334 | }, |
335 | }; | 335 | }; |
336 | 336 | ||
337 | static struct da9034_touch_pdata littleton_da9034_touch = { | ||
338 | .x_inverted = 1, | ||
339 | .interval_ms = 20, | ||
340 | }; | ||
341 | |||
337 | static struct da903x_subdev_info littleton_da9034_subdevs[] = { | 342 | static struct da903x_subdev_info littleton_da9034_subdevs[] = { |
338 | { | 343 | { |
339 | .name = "da903x-led", | 344 | .name = "da903x-led", |
@@ -350,6 +355,10 @@ static struct da903x_subdev_info littleton_da9034_subdevs[] = { | |||
350 | }, { | 355 | }, { |
351 | .name = "da903x-backlight", | 356 | .name = "da903x-backlight", |
352 | .id = DA9034_ID_WLED, | 357 | .id = DA9034_ID_WLED, |
358 | }, { | ||
359 | .name = "da9034-touch", | ||
360 | .id = DA9034_ID_TOUCH, | ||
361 | .platform_data = &littleton_da9034_touch, | ||
353 | }, | 362 | }, |
354 | }; | 363 | }; |
355 | 364 | ||
diff --git a/arch/arm/mach-pxa/mioa701.c b/arch/arm/mach-pxa/mioa701.c index 9203b069b35c..ff8052ce0a05 100644 --- a/arch/arm/mach-pxa/mioa701.c +++ b/arch/arm/mach-pxa/mioa701.c | |||
@@ -742,6 +742,10 @@ struct i2c_pxa_platform_data i2c_pdata = { | |||
742 | .fast_mode = 1, | 742 | .fast_mode = 1, |
743 | }; | 743 | }; |
744 | 744 | ||
745 | static pxa2xx_audio_ops_t mioa701_ac97_info = { | ||
746 | .reset_gpio = 95, | ||
747 | }; | ||
748 | |||
745 | /* | 749 | /* |
746 | * Mio global | 750 | * Mio global |
747 | */ | 751 | */ |
@@ -815,7 +819,7 @@ static void __init mioa701_machine_init(void) | |||
815 | pxa_set_keypad_info(&mioa701_keypad_info); | 819 | pxa_set_keypad_info(&mioa701_keypad_info); |
816 | wm97xx_bat_set_pdata(&mioa701_battery_data); | 820 | wm97xx_bat_set_pdata(&mioa701_battery_data); |
817 | pxa_set_udc_info(&mioa701_udc_info); | 821 | pxa_set_udc_info(&mioa701_udc_info); |
818 | pxa_set_ac97_info(NULL); | 822 | pxa_set_ac97_info(&mioa701_ac97_info); |
819 | pm_power_off = mioa701_poweroff; | 823 | pm_power_off = mioa701_poweroff; |
820 | arm_pm_restart = mioa701_restart; | 824 | arm_pm_restart = mioa701_restart; |
821 | platform_add_devices(devices, ARRAY_SIZE(devices)); | 825 | platform_add_devices(devices, ARRAY_SIZE(devices)); |
diff --git a/arch/arm/mach-pxa/palmld.c b/arch/arm/mach-pxa/palmld.c index ecf5910e39d7..1cec1806f002 100644 --- a/arch/arm/mach-pxa/palmld.c +++ b/arch/arm/mach-pxa/palmld.c | |||
@@ -477,10 +477,22 @@ static struct wm97xx_batt_info wm97xx_batt_pdata = { | |||
477 | /****************************************************************************** | 477 | /****************************************************************************** |
478 | * aSoC audio | 478 | * aSoC audio |
479 | ******************************************************************************/ | 479 | ******************************************************************************/ |
480 | static struct palm27x_asoc_info palm27x_asoc_pdata = { | 480 | static struct palm27x_asoc_info palmld_asoc_pdata = { |
481 | .jack_gpio = GPIO_NR_PALMLD_EARPHONE_DETECT, | 481 | .jack_gpio = GPIO_NR_PALMLD_EARPHONE_DETECT, |
482 | }; | 482 | }; |
483 | 483 | ||
484 | static pxa2xx_audio_ops_t palmld_ac97_pdata = { | ||
485 | .reset_gpio = 95, | ||
486 | }; | ||
487 | |||
488 | static struct platform_device palmld_asoc = { | ||
489 | .name = "palm27x-asoc", | ||
490 | .id = -1, | ||
491 | .dev = { | ||
492 | .platform_data = &palmld_asoc_pdata, | ||
493 | }, | ||
494 | }; | ||
495 | |||
484 | /****************************************************************************** | 496 | /****************************************************************************** |
485 | * Framebuffer | 497 | * Framebuffer |
486 | ******************************************************************************/ | 498 | ******************************************************************************/ |
@@ -544,6 +556,7 @@ static struct platform_device *devices[] __initdata = { | |||
544 | &palmld_backlight, | 556 | &palmld_backlight, |
545 | &palmld_leds, | 557 | &palmld_leds, |
546 | &power_supply, | 558 | &power_supply, |
559 | &palmld_asoc, | ||
547 | }; | 560 | }; |
548 | 561 | ||
549 | static struct map_desc palmld_io_desc[] __initdata = { | 562 | static struct map_desc palmld_io_desc[] __initdata = { |
@@ -573,11 +586,10 @@ static void __init palmld_init(void) | |||
573 | 586 | ||
574 | set_pxa_fb_info(&palmld_lcd_screen); | 587 | set_pxa_fb_info(&palmld_lcd_screen); |
575 | pxa_set_mci_info(&palmld_mci_platform_data); | 588 | pxa_set_mci_info(&palmld_mci_platform_data); |
576 | pxa_set_ac97_info(NULL); | 589 | pxa_set_ac97_info(&palmld_ac97_pdata); |
577 | pxa_set_ficp_info(&palmld_ficp_platform_data); | 590 | pxa_set_ficp_info(&palmld_ficp_platform_data); |
578 | pxa_set_keypad_info(&palmld_keypad_platform_data); | 591 | pxa_set_keypad_info(&palmld_keypad_platform_data); |
579 | wm97xx_bat_set_pdata(&wm97xx_batt_pdata); | 592 | wm97xx_bat_set_pdata(&wm97xx_batt_pdata); |
580 | palm27x_asoc_set_pdata(&palm27x_asoc_pdata); | ||
581 | 593 | ||
582 | platform_add_devices(devices, ARRAY_SIZE(devices)); | 594 | platform_add_devices(devices, ARRAY_SIZE(devices)); |
583 | } | 595 | } |
diff --git a/arch/arm/mach-pxa/palmt5.c b/arch/arm/mach-pxa/palmt5.c index 0680f1a575a3..30662363907b 100644 --- a/arch/arm/mach-pxa/palmt5.c +++ b/arch/arm/mach-pxa/palmt5.c | |||
@@ -64,6 +64,7 @@ static unsigned long palmt5_pin_config[] __initdata = { | |||
64 | GPIO29_AC97_SDATA_IN_0, | 64 | GPIO29_AC97_SDATA_IN_0, |
65 | GPIO30_AC97_SDATA_OUT, | 65 | GPIO30_AC97_SDATA_OUT, |
66 | GPIO31_AC97_SYNC, | 66 | GPIO31_AC97_SYNC, |
67 | GPIO95_AC97_nRESET, | ||
67 | 68 | ||
68 | /* IrDA */ | 69 | /* IrDA */ |
69 | GPIO40_GPIO, /* ir disable */ | 70 | GPIO40_GPIO, /* ir disable */ |
@@ -72,7 +73,7 @@ static unsigned long palmt5_pin_config[] __initdata = { | |||
72 | 73 | ||
73 | /* USB */ | 74 | /* USB */ |
74 | GPIO15_GPIO, /* usb detect */ | 75 | GPIO15_GPIO, /* usb detect */ |
75 | GPIO95_GPIO, /* usb power */ | 76 | GPIO93_GPIO, /* usb power */ |
76 | 77 | ||
77 | /* MATRIX KEYPAD */ | 78 | /* MATRIX KEYPAD */ |
78 | GPIO100_KP_MKIN_0 | WAKEUP_ON_LEVEL_HIGH, | 79 | GPIO100_KP_MKIN_0 | WAKEUP_ON_LEVEL_HIGH, |
@@ -344,7 +345,7 @@ static struct pxaficp_platform_data palmt5_ficp_platform_data = { | |||
344 | static struct pxa2xx_udc_mach_info palmt5_udc_info __initdata = { | 345 | static struct pxa2xx_udc_mach_info palmt5_udc_info __initdata = { |
345 | .gpio_vbus = GPIO_NR_PALMT5_USB_DETECT_N, | 346 | .gpio_vbus = GPIO_NR_PALMT5_USB_DETECT_N, |
346 | .gpio_vbus_inverted = 1, | 347 | .gpio_vbus_inverted = 1, |
347 | .gpio_pullup = GPIO_NR_PALMT5_USB_POWER, | 348 | .gpio_pullup = GPIO_NR_PALMT5_USB_PULLUP, |
348 | .gpio_pullup_inverted = 0, | 349 | .gpio_pullup_inverted = 0, |
349 | }; | 350 | }; |
350 | 351 | ||
@@ -419,10 +420,22 @@ static struct wm97xx_batt_info wm97xx_batt_pdata = { | |||
419 | /****************************************************************************** | 420 | /****************************************************************************** |
420 | * aSoC audio | 421 | * aSoC audio |
421 | ******************************************************************************/ | 422 | ******************************************************************************/ |
422 | static struct palm27x_asoc_info palm27x_asoc_pdata = { | 423 | static struct palm27x_asoc_info palmt5_asoc_pdata = { |
423 | .jack_gpio = GPIO_NR_PALMT5_EARPHONE_DETECT, | 424 | .jack_gpio = GPIO_NR_PALMT5_EARPHONE_DETECT, |
424 | }; | 425 | }; |
425 | 426 | ||
427 | static pxa2xx_audio_ops_t palmt5_ac97_pdata = { | ||
428 | .reset_gpio = 95, | ||
429 | }; | ||
430 | |||
431 | static struct platform_device palmt5_asoc = { | ||
432 | .name = "palm27x-asoc", | ||
433 | .id = -1, | ||
434 | .dev = { | ||
435 | .platform_data = &palmt5_asoc_pdata, | ||
436 | }, | ||
437 | }; | ||
438 | |||
426 | /****************************************************************************** | 439 | /****************************************************************************** |
427 | * Framebuffer | 440 | * Framebuffer |
428 | ******************************************************************************/ | 441 | ******************************************************************************/ |
@@ -485,14 +498,15 @@ static struct platform_device *devices[] __initdata = { | |||
485 | #endif | 498 | #endif |
486 | &palmt5_backlight, | 499 | &palmt5_backlight, |
487 | &power_supply, | 500 | &power_supply, |
501 | &palmt5_asoc, | ||
488 | }; | 502 | }; |
489 | 503 | ||
490 | /* setup udc GPIOs initial state */ | 504 | /* setup udc GPIOs initial state */ |
491 | static void __init palmt5_udc_init(void) | 505 | static void __init palmt5_udc_init(void) |
492 | { | 506 | { |
493 | if (!gpio_request(GPIO_NR_PALMT5_USB_POWER, "UDC Vbus")) { | 507 | if (!gpio_request(GPIO_NR_PALMT5_USB_PULLUP, "UDC Vbus")) { |
494 | gpio_direction_output(GPIO_NR_PALMT5_USB_POWER, 1); | 508 | gpio_direction_output(GPIO_NR_PALMT5_USB_PULLUP, 1); |
495 | gpio_free(GPIO_NR_PALMT5_USB_POWER); | 509 | gpio_free(GPIO_NR_PALMT5_USB_PULLUP); |
496 | } | 510 | } |
497 | } | 511 | } |
498 | 512 | ||
@@ -503,12 +517,11 @@ static void __init palmt5_init(void) | |||
503 | set_pxa_fb_info(&palmt5_lcd_screen); | 517 | set_pxa_fb_info(&palmt5_lcd_screen); |
504 | pxa_set_mci_info(&palmt5_mci_platform_data); | 518 | pxa_set_mci_info(&palmt5_mci_platform_data); |
505 | palmt5_udc_init(); | 519 | palmt5_udc_init(); |
520 | pxa_set_ac97_info(&palmt5_ac97_pdata); | ||
506 | pxa_set_udc_info(&palmt5_udc_info); | 521 | pxa_set_udc_info(&palmt5_udc_info); |
507 | pxa_set_ac97_info(NULL); | ||
508 | pxa_set_ficp_info(&palmt5_ficp_platform_data); | 522 | pxa_set_ficp_info(&palmt5_ficp_platform_data); |
509 | pxa_set_keypad_info(&palmt5_keypad_platform_data); | 523 | pxa_set_keypad_info(&palmt5_keypad_platform_data); |
510 | wm97xx_bat_set_pdata(&wm97xx_batt_pdata); | 524 | wm97xx_bat_set_pdata(&wm97xx_batt_pdata); |
511 | palm27x_asoc_set_pdata(&palm27x_asoc_pdata); | ||
512 | platform_add_devices(devices, ARRAY_SIZE(devices)); | 525 | platform_add_devices(devices, ARRAY_SIZE(devices)); |
513 | } | 526 | } |
514 | 527 | ||
diff --git a/arch/arm/mach-pxa/palmtx.c b/arch/arm/mach-pxa/palmtx.c index 59d0c1cba556..e2d44b1a8a9b 100644 --- a/arch/arm/mach-pxa/palmtx.c +++ b/arch/arm/mach-pxa/palmtx.c | |||
@@ -40,6 +40,7 @@ | |||
40 | #include <mach/irda.h> | 40 | #include <mach/irda.h> |
41 | #include <mach/pxa27x_keypad.h> | 41 | #include <mach/pxa27x_keypad.h> |
42 | #include <mach/udc.h> | 42 | #include <mach/udc.h> |
43 | #include <mach/palmasoc.h> | ||
43 | 44 | ||
44 | #include "generic.h" | 45 | #include "generic.h" |
45 | #include "devices.h" | 46 | #include "devices.h" |
@@ -64,6 +65,7 @@ static unsigned long palmtx_pin_config[] __initdata = { | |||
64 | GPIO29_AC97_SDATA_IN_0, | 65 | GPIO29_AC97_SDATA_IN_0, |
65 | GPIO30_AC97_SDATA_OUT, | 66 | GPIO30_AC97_SDATA_OUT, |
66 | GPIO31_AC97_SYNC, | 67 | GPIO31_AC97_SYNC, |
68 | GPIO95_AC97_nRESET, | ||
67 | 69 | ||
68 | /* IrDA */ | 70 | /* IrDA */ |
69 | GPIO40_GPIO, /* ir disable */ | 71 | GPIO40_GPIO, /* ir disable */ |
@@ -75,7 +77,7 @@ static unsigned long palmtx_pin_config[] __initdata = { | |||
75 | 77 | ||
76 | /* USB */ | 78 | /* USB */ |
77 | GPIO13_GPIO, /* usb detect */ | 79 | GPIO13_GPIO, /* usb detect */ |
78 | GPIO95_GPIO, /* usb power */ | 80 | GPIO93_GPIO, /* usb power */ |
79 | 81 | ||
80 | /* PCMCIA */ | 82 | /* PCMCIA */ |
81 | GPIO48_nPOE, | 83 | GPIO48_nPOE, |
@@ -359,7 +361,7 @@ static struct pxaficp_platform_data palmtx_ficp_platform_data = { | |||
359 | static struct pxa2xx_udc_mach_info palmtx_udc_info __initdata = { | 361 | static struct pxa2xx_udc_mach_info palmtx_udc_info __initdata = { |
360 | .gpio_vbus = GPIO_NR_PALMTX_USB_DETECT_N, | 362 | .gpio_vbus = GPIO_NR_PALMTX_USB_DETECT_N, |
361 | .gpio_vbus_inverted = 1, | 363 | .gpio_vbus_inverted = 1, |
362 | .gpio_pullup = GPIO_NR_PALMTX_USB_POWER, | 364 | .gpio_pullup = GPIO_NR_PALMTX_USB_PULLUP, |
363 | .gpio_pullup_inverted = 0, | 365 | .gpio_pullup_inverted = 0, |
364 | }; | 366 | }; |
365 | 367 | ||
@@ -433,6 +435,25 @@ static struct wm97xx_batt_info wm97xx_batt_pdata = { | |||
433 | }; | 435 | }; |
434 | 436 | ||
435 | /****************************************************************************** | 437 | /****************************************************************************** |
438 | * aSoC audio | ||
439 | ******************************************************************************/ | ||
440 | static struct palm27x_asoc_info palmtx_asoc_pdata = { | ||
441 | .jack_gpio = GPIO_NR_PALMTX_EARPHONE_DETECT, | ||
442 | }; | ||
443 | |||
444 | static pxa2xx_audio_ops_t palmtx_ac97_pdata = { | ||
445 | .reset_gpio = 95, | ||
446 | }; | ||
447 | |||
448 | static struct platform_device palmtx_asoc = { | ||
449 | .name = "palm27x-asoc", | ||
450 | .id = -1, | ||
451 | .dev = { | ||
452 | .platform_data = &palmtx_asoc_pdata, | ||
453 | }, | ||
454 | }; | ||
455 | |||
456 | /****************************************************************************** | ||
436 | * Framebuffer | 457 | * Framebuffer |
437 | ******************************************************************************/ | 458 | ******************************************************************************/ |
438 | static struct pxafb_mode_info palmtx_lcd_modes[] = { | 459 | static struct pxafb_mode_info palmtx_lcd_modes[] = { |
@@ -494,6 +515,7 @@ static struct platform_device *devices[] __initdata = { | |||
494 | #endif | 515 | #endif |
495 | &palmtx_backlight, | 516 | &palmtx_backlight, |
496 | &power_supply, | 517 | &power_supply, |
518 | &palmtx_asoc, | ||
497 | }; | 519 | }; |
498 | 520 | ||
499 | static struct map_desc palmtx_io_desc[] __initdata = { | 521 | static struct map_desc palmtx_io_desc[] __initdata = { |
@@ -514,9 +536,9 @@ static void __init palmtx_map_io(void) | |||
514 | /* setup udc GPIOs initial state */ | 536 | /* setup udc GPIOs initial state */ |
515 | static void __init palmtx_udc_init(void) | 537 | static void __init palmtx_udc_init(void) |
516 | { | 538 | { |
517 | if (!gpio_request(GPIO_NR_PALMTX_USB_POWER, "UDC Vbus")) { | 539 | if (!gpio_request(GPIO_NR_PALMTX_USB_PULLUP, "UDC Vbus")) { |
518 | gpio_direction_output(GPIO_NR_PALMTX_USB_POWER, 1); | 540 | gpio_direction_output(GPIO_NR_PALMTX_USB_PULLUP, 1); |
519 | gpio_free(GPIO_NR_PALMTX_USB_POWER); | 541 | gpio_free(GPIO_NR_PALMTX_USB_PULLUP); |
520 | } | 542 | } |
521 | } | 543 | } |
522 | 544 | ||
@@ -528,8 +550,8 @@ static void __init palmtx_init(void) | |||
528 | set_pxa_fb_info(&palmtx_lcd_screen); | 550 | set_pxa_fb_info(&palmtx_lcd_screen); |
529 | pxa_set_mci_info(&palmtx_mci_platform_data); | 551 | pxa_set_mci_info(&palmtx_mci_platform_data); |
530 | palmtx_udc_init(); | 552 | palmtx_udc_init(); |
553 | pxa_set_ac97_info(&palmtx_ac97_pdata); | ||
531 | pxa_set_udc_info(&palmtx_udc_info); | 554 | pxa_set_udc_info(&palmtx_udc_info); |
532 | pxa_set_ac97_info(NULL); | ||
533 | pxa_set_ficp_info(&palmtx_ficp_platform_data); | 555 | pxa_set_ficp_info(&palmtx_ficp_platform_data); |
534 | pxa_set_keypad_info(&palmtx_keypad_platform_data); | 556 | pxa_set_keypad_info(&palmtx_keypad_platform_data); |
535 | wm97xx_bat_set_pdata(&wm97xx_batt_pdata); | 557 | wm97xx_bat_set_pdata(&wm97xx_batt_pdata); |
diff --git a/arch/arm/mach-pxa/pcm990-baseboard.c b/arch/arm/mach-pxa/pcm990-baseboard.c index 6112740b4ae9..6c12b5a3132f 100644 --- a/arch/arm/mach-pxa/pcm990-baseboard.c +++ b/arch/arm/mach-pxa/pcm990-baseboard.c | |||
@@ -377,7 +377,7 @@ struct pxacamera_platform_data pcm990_pxacamera_platform_data = { | |||
377 | #include <linux/i2c/pca953x.h> | 377 | #include <linux/i2c/pca953x.h> |
378 | 378 | ||
379 | static struct pca953x_platform_data pca9536_data = { | 379 | static struct pca953x_platform_data pca9536_data = { |
380 | .gpio_base = NR_BUILTIN_GPIO + 1, | 380 | .gpio_base = NR_BUILTIN_GPIO, |
381 | }; | 381 | }; |
382 | 382 | ||
383 | static int gpio_bus_switch; | 383 | static int gpio_bus_switch; |
@@ -405,9 +405,9 @@ static unsigned long pcm990_camera_query_bus_param(struct soc_camera_link *link) | |||
405 | int ret; | 405 | int ret; |
406 | 406 | ||
407 | if (!gpio_bus_switch) { | 407 | if (!gpio_bus_switch) { |
408 | ret = gpio_request(NR_BUILTIN_GPIO + 1, "camera"); | 408 | ret = gpio_request(NR_BUILTIN_GPIO, "camera"); |
409 | if (!ret) { | 409 | if (!ret) { |
410 | gpio_bus_switch = NR_BUILTIN_GPIO + 1; | 410 | gpio_bus_switch = NR_BUILTIN_GPIO; |
411 | gpio_direction_output(gpio_bus_switch, 0); | 411 | gpio_direction_output(gpio_bus_switch, 0); |
412 | } else | 412 | } else |
413 | gpio_bus_switch = -EINVAL; | 413 | gpio_bus_switch = -EINVAL; |
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index 8c61ddac119e..c18e34acafcb 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c | |||
@@ -299,12 +299,22 @@ static struct pxa2xx_spi_master spitz_spi_info = { | |||
299 | .num_chipselect = 3, | 299 | .num_chipselect = 3, |
300 | }; | 300 | }; |
301 | 301 | ||
302 | static void spitz_wait_for_hsync(void) | ||
303 | { | ||
304 | while (gpio_get_value(SPITZ_GPIO_HSYNC)) | ||
305 | cpu_relax(); | ||
306 | |||
307 | while (!gpio_get_value(SPITZ_GPIO_HSYNC)) | ||
308 | cpu_relax(); | ||
309 | } | ||
310 | |||
302 | static struct ads7846_platform_data spitz_ads7846_info = { | 311 | static struct ads7846_platform_data spitz_ads7846_info = { |
303 | .model = 7846, | 312 | .model = 7846, |
304 | .vref_delay_usecs = 100, | 313 | .vref_delay_usecs = 100, |
305 | .x_plate_ohms = 419, | 314 | .x_plate_ohms = 419, |
306 | .y_plate_ohms = 486, | 315 | .y_plate_ohms = 486, |
307 | .gpio_pendown = SPITZ_GPIO_TP_INT, | 316 | .gpio_pendown = SPITZ_GPIO_TP_INT, |
317 | .wait_for_sync = spitz_wait_for_hsync, | ||
308 | }; | 318 | }; |
309 | 319 | ||
310 | static void spitz_ads7846_cs(u32 command) | 320 | static void spitz_ads7846_cs(u32 command) |
diff --git a/arch/arm/mach-pxa/time.c b/arch/arm/mach-pxa/time.c index 8eb3830fbb0b..750c448db672 100644 --- a/arch/arm/mach-pxa/time.c +++ b/arch/arm/mach-pxa/time.c | |||
@@ -125,7 +125,7 @@ static struct clock_event_device ckevt_pxa_osmr0 = { | |||
125 | .set_mode = pxa_osmr0_set_mode, | 125 | .set_mode = pxa_osmr0_set_mode, |
126 | }; | 126 | }; |
127 | 127 | ||
128 | static cycle_t pxa_read_oscr(void) | 128 | static cycle_t pxa_read_oscr(struct clocksource *cs) |
129 | { | 129 | { |
130 | return OSCR; | 130 | return OSCR; |
131 | } | 131 | } |
diff --git a/arch/arm/mach-pxa/zylonite_pxa300.c b/arch/arm/mach-pxa/zylonite_pxa300.c index c1f73205d078..c256c57642c0 100644 --- a/arch/arm/mach-pxa/zylonite_pxa300.c +++ b/arch/arm/mach-pxa/zylonite_pxa300.c | |||
@@ -72,6 +72,7 @@ static mfp_cfg_t common_mfp_cfg[] __initdata = { | |||
72 | GPIO25_AC97_SDATA_IN_0, | 72 | GPIO25_AC97_SDATA_IN_0, |
73 | GPIO27_AC97_SDATA_OUT, | 73 | GPIO27_AC97_SDATA_OUT, |
74 | GPIO28_AC97_SYNC, | 74 | GPIO28_AC97_SYNC, |
75 | GPIO17_GPIO, /* SDATA_IN_1 but unused - configure to GPIO */ | ||
75 | 76 | ||
76 | /* SSP3 */ | 77 | /* SSP3 */ |
77 | GPIO91_SSP3_SCLK, | 78 | GPIO91_SSP3_SCLK, |
@@ -126,6 +127,10 @@ static mfp_cfg_t common_mfp_cfg[] __initdata = { | |||
126 | /* Standard I2C */ | 127 | /* Standard I2C */ |
127 | GPIO21_I2C_SCL, | 128 | GPIO21_I2C_SCL, |
128 | GPIO22_I2C_SDA, | 129 | GPIO22_I2C_SDA, |
130 | |||
131 | /* GPIO */ | ||
132 | GPIO18_GPIO, /* GPIO Expander #0 INT_N */ | ||
133 | GPIO19_GPIO, /* GPIO Expander #1 INT_N */ | ||
129 | }; | 134 | }; |
130 | 135 | ||
131 | static mfp_cfg_t pxa300_mfp_cfg[] __initdata = { | 136 | static mfp_cfg_t pxa300_mfp_cfg[] __initdata = { |
diff --git a/arch/arm/mach-pxa/zylonite_pxa320.c b/arch/arm/mach-pxa/zylonite_pxa320.c index 4e1c488c6906..cc5a22833605 100644 --- a/arch/arm/mach-pxa/zylonite_pxa320.c +++ b/arch/arm/mach-pxa/zylonite_pxa320.c | |||
@@ -68,6 +68,7 @@ static mfp_cfg_t mfp_cfg[] __initdata = { | |||
68 | GPIO38_AC97_SYNC, | 68 | GPIO38_AC97_SYNC, |
69 | GPIO39_AC97_BITCLK, | 69 | GPIO39_AC97_BITCLK, |
70 | GPIO40_AC97_nACRESET, | 70 | GPIO40_AC97_nACRESET, |
71 | GPIO36_GPIO, /* SDATA_IN_1 but unused - configure to GPIO */ | ||
71 | 72 | ||
72 | /* SSP3 */ | 73 | /* SSP3 */ |
73 | GPIO89_SSP3_SCLK, | 74 | GPIO89_SSP3_SCLK, |