* [PATCH 1/6] Balloon3: Disperse MFP config
@ 2010-08-09 4:23 Marek Vasut
2010-08-09 4:23 ` [PATCH 2/6] PXA: Vpac270: Fix gpio_power for MMC Marek Vasut
` (5 more replies)
0 siblings, 6 replies; 8+ messages in thread
From: Marek Vasut @ 2010-08-09 4:23 UTC (permalink / raw)
To: linux-arm-kernel
Move pin config to appropriate places and use it only if needed.
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
arch/arm/mach-pxa/balloon3.c | 104 +++++++++++++++++++++++++++--------------
1 files changed, 68 insertions(+), 36 deletions(-)
diff --git a/arch/arm/mach-pxa/balloon3.c b/arch/arm/mach-pxa/balloon3.c
index 9041340..7f62448 100644
--- a/arch/arm/mach-pxa/balloon3.c
+++ b/arch/arm/mach-pxa/balloon3.c
@@ -68,42 +68,6 @@ static unsigned long balloon3_pin_config[] __initdata = {
/* Reset, configured as GPIO wakeup source */
GPIO1_GPIO | WAKEUP_ON_EDGE_BOTH,
-
- /* LEDs */
- GPIO9_GPIO, /* NAND activity LED */
- GPIO10_GPIO, /* Heartbeat LED */
-
- /* AC97 */
- GPIO28_AC97_BITCLK,
- GPIO29_AC97_SDATA_IN_0,
- GPIO30_AC97_SDATA_OUT,
- GPIO31_AC97_SYNC,
- GPIO113_AC97_nRESET,
- GPIO95_GPIO,
-
- /* MMC */
- GPIO32_MMC_CLK,
- GPIO92_MMC_DAT_0,
- GPIO109_MMC_DAT_1,
- GPIO110_MMC_DAT_2,
- GPIO111_MMC_DAT_3,
- GPIO112_MMC_CMD,
-
- /* USB Host */
- GPIO88_USBH1_PWR,
- GPIO89_USBH1_PEN,
-
- /* PC Card */
- GPIO48_nPOE,
- GPIO49_nPWE,
- GPIO50_nPIOR,
- GPIO51_nPIOW,
- GPIO85_nPCE_1,
- GPIO54_nPCE_2,
- GPIO79_PSKTSEL,
- GPIO55_nPREG,
- GPIO56_nPWAIT,
- GPIO57_nIOIS16,
};
/******************************************************************************
@@ -132,6 +96,34 @@ int __init parse_balloon3_features(char *arg)
early_param("balloon3_features", parse_balloon3_features);
/******************************************************************************
+ * Compact Flash slot
+ ******************************************************************************/
+#if defined(CONFIG_PCMCIA_PXA2XX) || defined(CONFIG_PCMCIA_PXA2XX_MODULE)
+static unsigned long balloon3_cf_pin_config[] __initdata = {
+ GPIO48_nPOE,
+ GPIO49_nPWE,
+ GPIO50_nPIOR,
+ GPIO51_nPIOW,
+ GPIO85_nPCE_1,
+ GPIO54_nPCE_2,
+ GPIO79_PSKTSEL,
+ GPIO55_nPREG,
+ GPIO56_nPWAIT,
+ GPIO57_nIOIS16,
+};
+
+static void __init balloon3_cf_init(void)
+{
+ if (!balloon3_has(BALLOON3_FEATURE_CF))
+ return;
+
+ pxa2xx_mfp_config(ARRAY_AND_SIZE(balloon3_cf_pin_config));
+}
+#else
+static inline void balloon3_cf_init(void) {}
+#endif
+
+/******************************************************************************
* NOR Flash
******************************************************************************/
#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
@@ -179,6 +171,15 @@ static inline void balloon3_nor_init(void) {}
******************************************************************************/
#if defined(CONFIG_TOUCHSCREEN_UCB1400) || \
defined(CONFIG_TOUCHSCREEN_UCB1400_MODULE)
+static unsigned long balloon3_ac97_pin_config[] __initdata = {
+ GPIO28_AC97_BITCLK,
+ GPIO29_AC97_SDATA_IN_0,
+ GPIO30_AC97_SDATA_OUT,
+ GPIO31_AC97_SYNC,
+ GPIO113_AC97_nRESET,
+ GPIO95_GPIO,
+};
+
static struct ucb1400_pdata vpac270_ucb1400_pdata = {
.irq = IRQ_GPIO(BALLOON3_GPIO_CODEC_IRQ),
};
@@ -197,6 +198,7 @@ static void __init balloon3_ts_init(void)
if (!balloon3_has(BALLOON3_FEATURE_AUDIO))
return;
+ pxa2xx_mfp_config(ARRAY_AND_SIZE(balloon3_ac97_pin_config));
pxa_set_ac97_info(NULL);
platform_device_register(&balloon3_ucb1400_device);
}
@@ -208,6 +210,11 @@ static inline void balloon3_ts_init(void) {}
* Framebuffer
******************************************************************************/
#if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE)
+static unsigned long balloon3_lcd_pin_config[] __initdata = {
+ GPIOxx_LCD_TFT_16BPP,
+ GPIO99_GPIO,
+};
+
static struct pxafb_mode_info balloon3_lcd_modes[] = {
{
.pixclock = 38000,
@@ -242,6 +249,8 @@ static void __init balloon3_lcd_init(void)
if (!balloon3_has(BALLOON3_FEATURE_TOPPOLY))
return;
+ pxa2xx_mfp_config(ARRAY_AND_SIZE(balloon3_lcd_pin_config));
+
ret = gpio_request(BALLOON3_GPIO_RUN_BACKLIGHT, "BKL-ON");
if (ret) {
pr_err("Requesting BKL-ON GPIO failed!\n");
@@ -271,6 +280,15 @@ static inline void balloon3_lcd_init(void) {}
* SD/MMC card controller
******************************************************************************/
#if defined(CONFIG_MMC_PXA) || defined(CONFIG_MMC_PXA_MODULE)
+static unsigned long balloon3_mmc_pin_config[] __initdata = {
+ GPIO32_MMC_CLK,
+ GPIO92_MMC_DAT_0,
+ GPIO109_MMC_DAT_1,
+ GPIO110_MMC_DAT_2,
+ GPIO111_MMC_DAT_3,
+ GPIO112_MMC_CMD,
+};
+
static struct pxamci_platform_data balloon3_mci_platform_data = {
.ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
.gpio_card_detect = -1,
@@ -281,6 +299,7 @@ static struct pxamci_platform_data balloon3_mci_platform_data = {
static void __init balloon3_mmc_init(void)
{
+ pxa2xx_mfp_config(ARRAY_AND_SIZE(balloon3_mmc_pin_config));
pxa_set_mci_info(&balloon3_mci_platform_data);
}
#else
@@ -339,6 +358,11 @@ static inline void balloon3_irda_init(void) {}
* USB Host
******************************************************************************/
#if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE)
+static unsigned long balloon3_uhc_pin_config[] __initdata = {
+ GPIO88_USBH1_PWR,
+ GPIO89_USBH1_PEN,
+};
+
static struct pxaohci_platform_data balloon3_ohci_info = {
.port_mode = PMM_PERPORT_MODE,
.flags = ENABLE_PORT_ALL | POWER_CONTROL_LOW | POWER_SENSE_LOW,
@@ -348,6 +372,7 @@ static void __init balloon3_uhc_init(void)
{
if (!balloon3_has(BALLOON3_FEATURE_OHCI))
return;
+ pxa2xx_mfp_config(ARRAY_AND_SIZE(balloon3_uhc_pin_config));
pxa_set_ohci_info(&balloon3_ohci_info);
}
#else
@@ -358,6 +383,11 @@ static inline void balloon3_uhc_init(void) {}
* LEDs
******************************************************************************/
#if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
+static unsigned long balloon3_led_pin_config[] __initdata = {
+ GPIO9_GPIO, /* NAND activity LED */
+ GPIO10_GPIO, /* Heartbeat LED */
+};
+
struct gpio_led balloon3_gpio_leds[] = {
{
.name = "balloon3:green:idle",
@@ -436,6 +466,7 @@ static struct platform_device balloon3_pcf_leds = {
static void __init balloon3_leds_init(void)
{
+ pxa2xx_mfp_config(ARRAY_AND_SIZE(balloon3_led_pin_config));
platform_device_register(&balloon3_leds);
platform_device_register(&balloon3_pcf_leds);
}
@@ -757,6 +788,7 @@ static void __init balloon3_init(void)
balloon3_ts_init();
balloon3_udc_init();
balloon3_uhc_init();
+ balloon3_cf_init();
}
static struct map_desc balloon3_io_desc[] __initdata = {
--
1.7.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/6] PXA: Vpac270: Fix gpio_power for MMC
2010-08-09 4:23 [PATCH 1/6] Balloon3: Disperse MFP config Marek Vasut
@ 2010-08-09 4:23 ` Marek Vasut
2010-08-09 4:23 ` [PATCH 3/6] PXA: PalmTC: Modularize Palm Tungsten|C Marek Vasut
` (4 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Marek Vasut @ 2010-08-09 4:23 UTC (permalink / raw)
To: linux-arm-kernel
GPIO 0 is valid, yet this platform doesn't have any power GPIO for MMC.
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
arch/arm/mach-pxa/vpac270.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-pxa/vpac270.c b/arch/arm/mach-pxa/vpac270.c
index c9b747c..37d6173 100644
--- a/arch/arm/mach-pxa/vpac270.c
+++ b/arch/arm/mach-pxa/vpac270.c
@@ -240,6 +240,7 @@ static void __init vpac270_onenand_init(void) {}
#if defined(CONFIG_MMC_PXA) || defined(CONFIG_MMC_PXA_MODULE)
static struct pxamci_platform_data vpac270_mci_platform_data = {
.ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
+ .gpio_power = -1,
.gpio_card_detect = GPIO53_VPAC270_SD_DETECT_N,
.gpio_card_ro = GPIO52_VPAC270_SD_READONLY,
.detect_delay_ms = 200,
--
1.7.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 3/6] PXA: PalmTC: Modularize Palm Tungsten|C
2010-08-09 4:23 [PATCH 1/6] Balloon3: Disperse MFP config Marek Vasut
2010-08-09 4:23 ` [PATCH 2/6] PXA: Vpac270: Fix gpio_power for MMC Marek Vasut
@ 2010-08-09 4:23 ` Marek Vasut
2010-08-09 4:37 ` Marek Vasut
2010-08-09 4:23 ` [PATCH 4/6] PXA: Vpac270: Correct touch IRQ passing to UCB1400 Marek Vasut
` (3 subsequent siblings)
5 siblings, 1 reply; 8+ messages in thread
From: Marek Vasut @ 2010-08-09 4:23 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
arch/arm/mach-pxa/palmtc.c | 147 ++++++++++++++++++++++++++++++++++---------
1 files changed, 116 insertions(+), 31 deletions(-)
diff --git a/arch/arm/mach-pxa/palmtc.c b/arch/arm/mach-pxa/palmtc.c
index ce1104d..9887094 100644
--- a/arch/arm/mach-pxa/palmtc.c
+++ b/arch/arm/mach-pxa/palmtc.c
@@ -25,6 +25,7 @@
#include <linux/power_supply.h>
#include <linux/gpio_keys.h>
#include <linux/mtd/physmap.h>
+#include <linux/usb/gpio_vbus.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
@@ -116,6 +117,7 @@ static unsigned long palmtc_pin_config[] __initdata = {
/******************************************************************************
* SD/MMC card controller
******************************************************************************/
+#if defined(CONFIG_MMC_PXA) || defined(CONFIG_MMC_PXA_MODULE)
static struct pxamci_platform_data palmtc_mci_platform_data = {
.ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
.gpio_power = GPIO_NR_PALMTC_SD_POWER,
@@ -124,9 +126,18 @@ static struct pxamci_platform_data palmtc_mci_platform_data = {
.detect_delay_ms = 200,
};
+static void __init palmtc_mmc_init(void)
+{
+ pxa_set_mci_info(&palmtc_mci_platform_data);
+}
+#else
+static inline void palmtc_mmc_init(void) {}
+#endif
+
/******************************************************************************
* GPIO keys
******************************************************************************/
+#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
static struct gpio_keys_button palmtc_pxa_buttons[] = {
{KEY_F8, GPIO_NR_PALMTC_HOTSYNC_BUTTON, 1, "HotSync Button", EV_KEY, 1},
};
@@ -144,9 +155,18 @@ static struct platform_device palmtc_pxa_keys = {
},
};
+static void __init palmtc_keys_init(void)
+{
+ platform_device_register(&palmtc_pxa_keys);
+}
+#else
+static inline void palmtc_keys_init(void) {}
+#endif
+
/******************************************************************************
* Backlight
******************************************************************************/
+#if defined(CONFIG_BACKLIGHT_PWM) || defined(CONFIG_BACKLIGHT_PWM_MODULE)
static int palmtc_backlight_init(struct device *dev)
{
int ret;
@@ -196,17 +216,35 @@ static struct platform_device palmtc_backlight = {
},
};
+static void __init palmtc_pwm_init(void)
+{
+ platform_device_register(&palmtc_backlight);
+}
+#else
+static inline void palmtc_pwm_init(void) {}
+#endif
+
/******************************************************************************
* IrDA
******************************************************************************/
+#if defined(CONFIG_IRDA) || defined(CONFIG_IRDA_MODULE)
static struct pxaficp_platform_data palmtc_ficp_platform_data = {
.gpio_pwdown = GPIO_NR_PALMTC_IR_DISABLE,
.transceiver_cap = IR_SIRMODE | IR_OFF,
};
+static void __init palmtc_irda_init(void)
+{
+ pxa_set_ficp_info(&palmtc_ficp_platform_data);
+}
+#else
+static inline void palmtc_irda_init(void) {}
+#endif
+
/******************************************************************************
* Keyboard
******************************************************************************/
+#if defined(CONFIG_KEYBOARD_MATRIX) || defined(CONFIG_KEYBOARD_MATRIX_MODULE)
static const uint32_t palmtc_matrix_keys[] = {
KEY(0, 0, KEY_F1),
KEY(0, 1, KEY_X),
@@ -290,27 +328,63 @@ static struct platform_device palmtc_keyboard = {
.platform_data = &palmtc_keypad_platform_data,
},
};
+static void __init palmtc_mkp_init(void)
+{
+ platform_device_register(&palmtc_keyboard);
+}
+#else
+static inline void palmtc_mkp_init(void) {}
+#endif
/******************************************************************************
* UDC
******************************************************************************/
-static struct pxa2xx_udc_mach_info palmtc_udc_info __initdata = {
+#if defined(CONFIG_USB_GADGET_PXA27X)||defined(CONFIG_USB_GADGET_PXA27X_MODULE)
+static struct gpio_vbus_mach_info palmtc_udc_info = {
.gpio_vbus = GPIO_NR_PALMTC_USB_DETECT_N,
.gpio_vbus_inverted = 1,
.gpio_pullup = GPIO_NR_PALMTC_USB_POWER,
};
+static struct platform_device palmtc_gpio_vbus = {
+ .name = "gpio-vbus",
+ .id = -1,
+ .dev = {
+ .platform_data = &palmtc_udc_info,
+ },
+};
+
+static void __init palmtc_udc_init(void)
+{
+ platform_device_register(&palmtc_gpio_vbus);
+};
+#else
+static inline void palmtc_udc_init(void) {}
+#endif
+
/******************************************************************************
* Touchscreen / Battery / GPIO-extender
******************************************************************************/
-static struct platform_device palmtc_ucb1400_core = {
+#if defined(CONFIG_TOUCHSCREEN_UCB1400) || \
+ defined(CONFIG_TOUCHSCREEN_UCB1400_MODULE)
+static struct platform_device palmtc_ucb1400_device = {
.name = "ucb1400_core",
.id = -1,
};
+static void __init palmtc_ts_init(void)
+{
+ pxa_set_ac97_info(NULL);
+ platform_device_register(&palmtc_ucb1400_device);
+}
+#else
+static inline void palmtc_ts_init(void) {}
+#endif
+
/******************************************************************************
* NOR Flash
******************************************************************************/
+#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
static struct resource palmtc_flash_resource = {
.start = PXA_CS0_PHYS,
.end = PXA_CS0_PHYS + SZ_16M - 1,
@@ -356,24 +430,33 @@ static struct platform_device palmtc_flash = {
},
};
+static void __init palmtc_nor_init(void)
+{
+ platform_device_register(&palmtc_flash);
+}
+#else
+static inline void palmtc_nor_init(void) {}
+#endif
+
/******************************************************************************
* Framebuffer
******************************************************************************/
+#if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE)
static struct pxafb_mode_info palmtc_lcd_modes[] = {
-{
- .pixclock = 115384,
- .xres = 320,
- .yres = 320,
- .bpp = 16,
-
- .left_margin = 27,
- .right_margin = 7,
- .upper_margin = 7,
- .lower_margin = 8,
-
- .hsync_len = 6,
- .vsync_len = 1,
-},
+ {
+ .pixclock = 115384,
+ .xres = 320,
+ .yres = 320,
+ .bpp = 16,
+
+ .left_margin = 27,
+ .right_margin = 7,
+ .upper_margin = 7,
+ .lower_margin = 8,
+
+ .hsync_len = 6,
+ .vsync_len = 1,
+ },
};
static struct pxafb_mach_info palmtc_lcd_screen = {
@@ -382,17 +465,17 @@ static struct pxafb_mach_info palmtc_lcd_screen = {
.lcd_conn = LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL,
};
+static void __init palmtc_lcd_init(void)
+{
+ set_pxa_fb_info(&palmtc_lcd_screen);
+}
+#else
+static inline void palmtc_lcd_init(void) {}
+#endif
+
/******************************************************************************
* Machine init
******************************************************************************/
-static struct platform_device *devices[] __initdata = {
- &palmtc_backlight,
- &palmtc_ucb1400_core,
- &palmtc_keyboard,
- &palmtc_pxa_keys,
- &palmtc_flash,
-};
-
static void __init palmtc_init(void)
{
pxa2xx_mfp_config(ARRAY_AND_SIZE(palmtc_pin_config));
@@ -402,13 +485,15 @@ static void __init palmtc_init(void)
pxa_set_stuart_info(NULL);
pxa_set_hwuart_info(NULL);
- set_pxa_fb_info(&palmtc_lcd_screen);
- pxa_set_mci_info(&palmtc_mci_platform_data);
- pxa_set_udc_info(&palmtc_udc_info);
- pxa_set_ac97_info(NULL);
- pxa_set_ficp_info(&palmtc_ficp_platform_data);
-
- platform_add_devices(devices, ARRAY_SIZE(devices));
+ palmtc_mmc_init();
+ palmtc_keys_init();
+ palmtc_pwm_init();
+ palmtc_irda_init();
+ palmtc_mkp_init();
+ palmtc_udc_init();
+ palmtc_ts_init();
+ palmtc_nor_init();
+ palmtc_lcd_init();
};
MACHINE_START(PALMTC, "Palm Tungsten|C")
--
1.7.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 4/6] PXA: Vpac270: Correct touch IRQ passing to UCB1400
2010-08-09 4:23 [PATCH 1/6] Balloon3: Disperse MFP config Marek Vasut
2010-08-09 4:23 ` [PATCH 2/6] PXA: Vpac270: Fix gpio_power for MMC Marek Vasut
2010-08-09 4:23 ` [PATCH 3/6] PXA: PalmTC: Modularize Palm Tungsten|C Marek Vasut
@ 2010-08-09 4:23 ` Marek Vasut
2010-08-09 4:23 ` [PATCH 5/6] PXA: PalmTC: Pass GPIO offset to ucb1400-gpio Marek Vasut
` (2 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Marek Vasut @ 2010-08-09 4:23 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
arch/arm/mach-pxa/vpac270.c | 12 +++++-------
1 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/arch/arm/mach-pxa/vpac270.c b/arch/arm/mach-pxa/vpac270.c
index 37d6173..562cf55 100644
--- a/arch/arm/mach-pxa/vpac270.c
+++ b/arch/arm/mach-pxa/vpac270.c
@@ -430,20 +430,18 @@ static inline void vpac270_eth_init(void) {}
******************************************************************************/
#if defined(CONFIG_TOUCHSCREEN_UCB1400) || \
defined(CONFIG_TOUCHSCREEN_UCB1400_MODULE)
-static pxa2xx_audio_ops_t vpac270_ac97_pdata = {
- .reset_gpio = 95,
-};
-
static struct ucb1400_pdata vpac270_ucb1400_pdata = {
.irq = IRQ_GPIO(GPIO113_VPAC270_TS_IRQ),
};
+static pxa2xx_audio_ops_t vpac270_ac97_pdata = {
+ .reset_gpio = 95,
+ .codec_pdata = { &vpac270_ucb1400_pdata, },
+};
+
static struct platform_device vpac270_ucb1400_device = {
.name = "ucb1400_core",
.id = -1,
- .dev = {
- .platform_data = &vpac270_ucb1400_pdata,
- },
};
static void __init vpac270_ts_init(void)
--
1.7.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 5/6] PXA: PalmTC: Pass GPIO offset to ucb1400-gpio
2010-08-09 4:23 [PATCH 1/6] Balloon3: Disperse MFP config Marek Vasut
` (2 preceding siblings ...)
2010-08-09 4:23 ` [PATCH 4/6] PXA: Vpac270: Correct touch IRQ passing to UCB1400 Marek Vasut
@ 2010-08-09 4:23 ` Marek Vasut
2010-08-09 4:23 ` [PATCH 6/6] PXA: PalmTC: Add gpio-leds and vibrator support Marek Vasut
2010-08-10 16:38 ` [PATCH 1/6] Balloon3: Disperse MFP config Jonathan McDowell
5 siblings, 0 replies; 8+ messages in thread
From: Marek Vasut @ 2010-08-09 4:23 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
arch/arm/mach-pxa/palmtc.c | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-pxa/palmtc.c b/arch/arm/mach-pxa/palmtc.c
index 9887094..d48835e 100644
--- a/arch/arm/mach-pxa/palmtc.c
+++ b/arch/arm/mach-pxa/palmtc.c
@@ -367,6 +367,14 @@ static inline void palmtc_udc_init(void) {}
******************************************************************************/
#if defined(CONFIG_TOUCHSCREEN_UCB1400) || \
defined(CONFIG_TOUCHSCREEN_UCB1400_MODULE)
+static struct ucb1400_pdata palmtc_ucb1400_pdata = {
+ .gpio_offset = PALMTC_UCB1400_GPIO_OFFSET,
+};
+
+static pxa2xx_audio_ops_t palmtc_ac97_pdata = {
+ .codec_pdata = { &palmtc_ucb1400_pdata, },
+};
+
static struct platform_device palmtc_ucb1400_device = {
.name = "ucb1400_core",
.id = -1,
@@ -374,7 +382,7 @@ static struct platform_device palmtc_ucb1400_device = {
static void __init palmtc_ts_init(void)
{
- pxa_set_ac97_info(NULL);
+ pxa_set_ac97_info(&palmtc_ac97_pdata);
platform_device_register(&palmtc_ucb1400_device);
}
#else
--
1.7.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 6/6] PXA: PalmTC: Add gpio-leds and vibrator support
2010-08-09 4:23 [PATCH 1/6] Balloon3: Disperse MFP config Marek Vasut
` (3 preceding siblings ...)
2010-08-09 4:23 ` [PATCH 5/6] PXA: PalmTC: Pass GPIO offset to ucb1400-gpio Marek Vasut
@ 2010-08-09 4:23 ` Marek Vasut
2010-08-10 16:38 ` [PATCH 1/6] Balloon3: Disperse MFP config Jonathan McDowell
5 siblings, 0 replies; 8+ messages in thread
From: Marek Vasut @ 2010-08-09 4:23 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
arch/arm/mach-pxa/palmtc.c | 41 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 41 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-pxa/palmtc.c b/arch/arm/mach-pxa/palmtc.c
index d48835e..bcc7dad 100644
--- a/arch/arm/mach-pxa/palmtc.c
+++ b/arch/arm/mach-pxa/palmtc.c
@@ -390,6 +390,46 @@ static inline void palmtc_ts_init(void) {}
#endif
/******************************************************************************
+ * LEDs
+ ******************************************************************************/
+#if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
+struct gpio_led palmtc_gpio_leds[] = {
+{
+ .name = "palmtc:green:user",
+ .default_trigger = "none",
+ .gpio = GPIO_NR_PALMTC_LED_POWER,
+ .active_low = 1,
+}, {
+ .name = "palmtc:vibra:vibra",
+ .default_trigger = "none",
+ .gpio = GPIO_NR_PALMTC_VIBRA_POWER,
+ .active_low = 1,
+}
+
+};
+
+static struct gpio_led_platform_data palmtc_gpio_led_info = {
+ .leds = palmtc_gpio_leds,
+ .num_leds = ARRAY_SIZE(palmtc_gpio_leds),
+};
+
+static struct platform_device palmtc_leds = {
+ .name = "leds-gpio",
+ .id = -1,
+ .dev = {
+ .platform_data = &palmtc_gpio_led_info,
+ }
+};
+
+static void __init palmtc_leds_init(void)
+{
+ platform_device_register(&palmtc_leds);
+}
+#else
+static inline void palmtc_leds_init(void) {}
+#endif
+
+/******************************************************************************
* NOR Flash
******************************************************************************/
#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
@@ -502,6 +542,7 @@ static void __init palmtc_init(void)
palmtc_ts_init();
palmtc_nor_init();
palmtc_lcd_init();
+ palmtc_leds_init();
};
MACHINE_START(PALMTC, "Palm Tungsten|C")
--
1.7.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 3/6] PXA: PalmTC: Modularize Palm Tungsten|C
2010-08-09 4:23 ` [PATCH 3/6] PXA: PalmTC: Modularize Palm Tungsten|C Marek Vasut
@ 2010-08-09 4:37 ` Marek Vasut
0 siblings, 0 replies; 8+ messages in thread
From: Marek Vasut @ 2010-08-09 4:37 UTC (permalink / raw)
To: linux-arm-kernel
Dne Po 9. srpna 2010 06:23:30 Marek Vasut napsal(a):
> Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
> ---
> arch/arm/mach-pxa/palmtc.c | 147
> ++++++++++++++++++++++++++++++++++--------- 1 files changed, 116
> insertions(+), 31 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/palmtc.c b/arch/arm/mach-pxa/palmtc.c
> index ce1104d..9887094 100644
> --- a/arch/arm/mach-pxa/palmtc.c
> +++ b/arch/arm/mach-pxa/palmtc.c
> @@ -25,6 +25,7 @@
> #include <linux/power_supply.h>
> #include <linux/gpio_keys.h>
> #include <linux/mtd/physmap.h>
> +#include <linux/usb/gpio_vbus.h>
>
> #include <asm/mach-types.h>
> #include <asm/mach/arch.h>
> @@ -116,6 +117,7 @@ static unsigned long palmtc_pin_config[] __initdata = {
> /*************************************************************************
> ***** * SD/MMC card controller
>
> **************************************************************************
> ****/ +#if defined(CONFIG_MMC_PXA) || defined(CONFIG_MMC_PXA_MODULE)
> static struct pxamci_platform_data palmtc_mci_platform_data = {
> .ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
> .gpio_power = GPIO_NR_PALMTC_SD_POWER,
> @@ -124,9 +126,18 @@ static struct pxamci_platform_data
> palmtc_mci_platform_data = { .detect_delay_ms = 200,
> };
>
> +static void __init palmtc_mmc_init(void)
> +{
> + pxa_set_mci_info(&palmtc_mci_platform_data);
> +}
> +#else
> +static inline void palmtc_mmc_init(void) {}
> +#endif
> +
> /*************************************************************************
> ***** * GPIO keys
>
> **************************************************************************
> ****/ +#if defined(CONFIG_KEYBOARD_GPIO) ||
> defined(CONFIG_KEYBOARD_GPIO_MODULE) static struct gpio_keys_button
> palmtc_pxa_buttons[] = {
> {KEY_F8, GPIO_NR_PALMTC_HOTSYNC_BUTTON, 1, "HotSync Button", EV_KEY, 1},
> };
> @@ -144,9 +155,18 @@ static struct platform_device palmtc_pxa_keys = {
> },
> };
>
> +static void __init palmtc_keys_init(void)
> +{
> + platform_device_register(&palmtc_pxa_keys);
> +}
> +#else
> +static inline void palmtc_keys_init(void) {}
> +#endif
> +
> /*************************************************************************
> ***** * Backlight
>
> **************************************************************************
> ****/ +#if defined(CONFIG_BACKLIGHT_PWM) ||
> defined(CONFIG_BACKLIGHT_PWM_MODULE) static int
> palmtc_backlight_init(struct device *dev)
> {
> int ret;
> @@ -196,17 +216,35 @@ static struct platform_device palmtc_backlight = {
> },
> };
>
> +static void __init palmtc_pwm_init(void)
> +{
> + platform_device_register(&palmtc_backlight);
> +}
> +#else
> +static inline void palmtc_pwm_init(void) {}
> +#endif
> +
> /*************************************************************************
> ***** * IrDA
>
> **************************************************************************
> ****/ +#if defined(CONFIG_IRDA) || defined(CONFIG_IRDA_MODULE)
> static struct pxaficp_platform_data palmtc_ficp_platform_data = {
> .gpio_pwdown = GPIO_NR_PALMTC_IR_DISABLE,
> .transceiver_cap = IR_SIRMODE | IR_OFF,
> };
>
> +static void __init palmtc_irda_init(void)
> +{
> + pxa_set_ficp_info(&palmtc_ficp_platform_data);
> +}
> +#else
> +static inline void palmtc_irda_init(void) {}
> +#endif
> +
> /*************************************************************************
> ***** * Keyboard
>
> **************************************************************************
> ****/ +#if defined(CONFIG_KEYBOARD_MATRIX) ||
> defined(CONFIG_KEYBOARD_MATRIX_MODULE) static const uint32_t
> palmtc_matrix_keys[] = {
> KEY(0, 0, KEY_F1),
> KEY(0, 1, KEY_X),
> @@ -290,27 +328,63 @@ static struct platform_device palmtc_keyboard = {
> .platform_data = &palmtc_keypad_platform_data,
> },
> };
> +static void __init palmtc_mkp_init(void)
> +{
> + platform_device_register(&palmtc_keyboard);
> +}
> +#else
> +static inline void palmtc_mkp_init(void) {}
> +#endif
>
> /*************************************************************************
> ***** * UDC
>
> **************************************************************************
> ****/ -static struct pxa2xx_udc_mach_info palmtc_udc_info __initdata = {
> +#if
> defined(CONFIG_USB_GADGET_PXA27X)||defined(CONFIG_USB_GADGET_PXA27X_MODULE
NAK, you damned sleep-coder ... updated patch (PXA25X) already pushed into tree.
See, Eric, this is the result of the lack of sleep (and I don't mean the fact
that I talk to myself and NAK my own patches in this mail ;-) )
> ) +static struct gpio_vbus_mach_info palmtc_udc_info = {
> .gpio_vbus = GPIO_NR_PALMTC_USB_DETECT_N,
> .gpio_vbus_inverted = 1,
> .gpio_pullup = GPIO_NR_PALMTC_USB_POWER,
> };
>
> +static struct platform_device palmtc_gpio_vbus = {
> + .name = "gpio-vbus",
> + .id = -1,
> + .dev = {
> + .platform_data = &palmtc_udc_info,
> + },
> +};
> +
> +static void __init palmtc_udc_init(void)
> +{
> + platform_device_register(&palmtc_gpio_vbus);
> +};
> +#else
> +static inline void palmtc_udc_init(void) {}
> +#endif
> +
> /*************************************************************************
> ***** * Touchscreen / Battery / GPIO-extender
>
> **************************************************************************
> ****/ -static struct platform_device palmtc_ucb1400_core = {
> +#if defined(CONFIG_TOUCHSCREEN_UCB1400) || \
> + defined(CONFIG_TOUCHSCREEN_UCB1400_MODULE)
> +static struct platform_device palmtc_ucb1400_device = {
> .name = "ucb1400_core",
> .id = -1,
> };
>
> +static void __init palmtc_ts_init(void)
> +{
> + pxa_set_ac97_info(NULL);
> + platform_device_register(&palmtc_ucb1400_device);
> +}
> +#else
> +static inline void palmtc_ts_init(void) {}
> +#endif
> +
> /*************************************************************************
> ***** * NOR Flash
>
> **************************************************************************
> ****/ +#if defined(CONFIG_MTD_PHYSMAP) ||
> defined(CONFIG_MTD_PHYSMAP_MODULE) static struct resource
> palmtc_flash_resource = {
> .start = PXA_CS0_PHYS,
> .end = PXA_CS0_PHYS + SZ_16M - 1,
> @@ -356,24 +430,33 @@ static struct platform_device palmtc_flash = {
> },
> };
>
> +static void __init palmtc_nor_init(void)
> +{
> + platform_device_register(&palmtc_flash);
> +}
> +#else
> +static inline void palmtc_nor_init(void) {}
> +#endif
> +
> /*************************************************************************
> ***** * Framebuffer
>
> **************************************************************************
> ****/ +#if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE)
> static struct pxafb_mode_info palmtc_lcd_modes[] = {
> -{
> - .pixclock = 115384,
> - .xres = 320,
> - .yres = 320,
> - .bpp = 16,
> -
> - .left_margin = 27,
> - .right_margin = 7,
> - .upper_margin = 7,
> - .lower_margin = 8,
> -
> - .hsync_len = 6,
> - .vsync_len = 1,
> -},
> + {
> + .pixclock = 115384,
> + .xres = 320,
> + .yres = 320,
> + .bpp = 16,
> +
> + .left_margin = 27,
> + .right_margin = 7,
> + .upper_margin = 7,
> + .lower_margin = 8,
> +
> + .hsync_len = 6,
> + .vsync_len = 1,
> + },
> };
>
> static struct pxafb_mach_info palmtc_lcd_screen = {
> @@ -382,17 +465,17 @@ static struct pxafb_mach_info palmtc_lcd_screen = {
> .lcd_conn = LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL,
> };
>
> +static void __init palmtc_lcd_init(void)
> +{
> + set_pxa_fb_info(&palmtc_lcd_screen);
> +}
> +#else
> +static inline void palmtc_lcd_init(void) {}
> +#endif
> +
> /*************************************************************************
> ***** * Machine init
>
> **************************************************************************
> ****/ -static struct platform_device *devices[] __initdata = {
> - &palmtc_backlight,
> - &palmtc_ucb1400_core,
> - &palmtc_keyboard,
> - &palmtc_pxa_keys,
> - &palmtc_flash,
> -};
> -
> static void __init palmtc_init(void)
> {
> pxa2xx_mfp_config(ARRAY_AND_SIZE(palmtc_pin_config));
> @@ -402,13 +485,15 @@ static void __init palmtc_init(void)
> pxa_set_stuart_info(NULL);
> pxa_set_hwuart_info(NULL);
>
> - set_pxa_fb_info(&palmtc_lcd_screen);
> - pxa_set_mci_info(&palmtc_mci_platform_data);
> - pxa_set_udc_info(&palmtc_udc_info);
> - pxa_set_ac97_info(NULL);
> - pxa_set_ficp_info(&palmtc_ficp_platform_data);
> -
> - platform_add_devices(devices, ARRAY_SIZE(devices));
> + palmtc_mmc_init();
> + palmtc_keys_init();
> + palmtc_pwm_init();
> + palmtc_irda_init();
> + palmtc_mkp_init();
> + palmtc_udc_init();
> + palmtc_ts_init();
> + palmtc_nor_init();
> + palmtc_lcd_init();
> };
>
> MACHINE_START(PALMTC, "Palm Tungsten|C")
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/6] Balloon3: Disperse MFP config
2010-08-09 4:23 [PATCH 1/6] Balloon3: Disperse MFP config Marek Vasut
` (4 preceding siblings ...)
2010-08-09 4:23 ` [PATCH 6/6] PXA: PalmTC: Add gpio-leds and vibrator support Marek Vasut
@ 2010-08-10 16:38 ` Jonathan McDowell
5 siblings, 0 replies; 8+ messages in thread
From: Jonathan McDowell @ 2010-08-10 16:38 UTC (permalink / raw)
To: linux-arm-kernel
On Mon, Aug 09, 2010 at 06:23:28AM +0200, Marek Vasut wrote:
> Move pin config to appropriate places and use it only if needed.
>
> Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Looks good.
Acked-By: Jonathan McDowell <noodles@earth.li>
> ---
> arch/arm/mach-pxa/balloon3.c | 104 +++++++++++++++++++++++++++--------------
> 1 files changed, 68 insertions(+), 36 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/balloon3.c b/arch/arm/mach-pxa/balloon3.c
> index 9041340..7f62448 100644
> --- a/arch/arm/mach-pxa/balloon3.c
> +++ b/arch/arm/mach-pxa/balloon3.c
> @@ -68,42 +68,6 @@ static unsigned long balloon3_pin_config[] __initdata = {
>
> /* Reset, configured as GPIO wakeup source */
> GPIO1_GPIO | WAKEUP_ON_EDGE_BOTH,
> -
> - /* LEDs */
> - GPIO9_GPIO, /* NAND activity LED */
> - GPIO10_GPIO, /* Heartbeat LED */
> -
> - /* AC97 */
> - GPIO28_AC97_BITCLK,
> - GPIO29_AC97_SDATA_IN_0,
> - GPIO30_AC97_SDATA_OUT,
> - GPIO31_AC97_SYNC,
> - GPIO113_AC97_nRESET,
> - GPIO95_GPIO,
> -
> - /* MMC */
> - GPIO32_MMC_CLK,
> - GPIO92_MMC_DAT_0,
> - GPIO109_MMC_DAT_1,
> - GPIO110_MMC_DAT_2,
> - GPIO111_MMC_DAT_3,
> - GPIO112_MMC_CMD,
> -
> - /* USB Host */
> - GPIO88_USBH1_PWR,
> - GPIO89_USBH1_PEN,
> -
> - /* PC Card */
> - GPIO48_nPOE,
> - GPIO49_nPWE,
> - GPIO50_nPIOR,
> - GPIO51_nPIOW,
> - GPIO85_nPCE_1,
> - GPIO54_nPCE_2,
> - GPIO79_PSKTSEL,
> - GPIO55_nPREG,
> - GPIO56_nPWAIT,
> - GPIO57_nIOIS16,
> };
>
> /******************************************************************************
> @@ -132,6 +96,34 @@ int __init parse_balloon3_features(char *arg)
> early_param("balloon3_features", parse_balloon3_features);
>
> /******************************************************************************
> + * Compact Flash slot
> + ******************************************************************************/
> +#if defined(CONFIG_PCMCIA_PXA2XX) || defined(CONFIG_PCMCIA_PXA2XX_MODULE)
> +static unsigned long balloon3_cf_pin_config[] __initdata = {
> + GPIO48_nPOE,
> + GPIO49_nPWE,
> + GPIO50_nPIOR,
> + GPIO51_nPIOW,
> + GPIO85_nPCE_1,
> + GPIO54_nPCE_2,
> + GPIO79_PSKTSEL,
> + GPIO55_nPREG,
> + GPIO56_nPWAIT,
> + GPIO57_nIOIS16,
> +};
> +
> +static void __init balloon3_cf_init(void)
> +{
> + if (!balloon3_has(BALLOON3_FEATURE_CF))
> + return;
> +
> + pxa2xx_mfp_config(ARRAY_AND_SIZE(balloon3_cf_pin_config));
> +}
> +#else
> +static inline void balloon3_cf_init(void) {}
> +#endif
> +
> +/******************************************************************************
> * NOR Flash
> ******************************************************************************/
> #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
> @@ -179,6 +171,15 @@ static inline void balloon3_nor_init(void) {}
> ******************************************************************************/
> #if defined(CONFIG_TOUCHSCREEN_UCB1400) || \
> defined(CONFIG_TOUCHSCREEN_UCB1400_MODULE)
> +static unsigned long balloon3_ac97_pin_config[] __initdata = {
> + GPIO28_AC97_BITCLK,
> + GPIO29_AC97_SDATA_IN_0,
> + GPIO30_AC97_SDATA_OUT,
> + GPIO31_AC97_SYNC,
> + GPIO113_AC97_nRESET,
> + GPIO95_GPIO,
> +};
> +
> static struct ucb1400_pdata vpac270_ucb1400_pdata = {
> .irq = IRQ_GPIO(BALLOON3_GPIO_CODEC_IRQ),
> };
> @@ -197,6 +198,7 @@ static void __init balloon3_ts_init(void)
> if (!balloon3_has(BALLOON3_FEATURE_AUDIO))
> return;
>
> + pxa2xx_mfp_config(ARRAY_AND_SIZE(balloon3_ac97_pin_config));
> pxa_set_ac97_info(NULL);
> platform_device_register(&balloon3_ucb1400_device);
> }
> @@ -208,6 +210,11 @@ static inline void balloon3_ts_init(void) {}
> * Framebuffer
> ******************************************************************************/
> #if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE)
> +static unsigned long balloon3_lcd_pin_config[] __initdata = {
> + GPIOxx_LCD_TFT_16BPP,
> + GPIO99_GPIO,
> +};
> +
> static struct pxafb_mode_info balloon3_lcd_modes[] = {
> {
> .pixclock = 38000,
> @@ -242,6 +249,8 @@ static void __init balloon3_lcd_init(void)
> if (!balloon3_has(BALLOON3_FEATURE_TOPPOLY))
> return;
>
> + pxa2xx_mfp_config(ARRAY_AND_SIZE(balloon3_lcd_pin_config));
> +
> ret = gpio_request(BALLOON3_GPIO_RUN_BACKLIGHT, "BKL-ON");
> if (ret) {
> pr_err("Requesting BKL-ON GPIO failed!\n");
> @@ -271,6 +280,15 @@ static inline void balloon3_lcd_init(void) {}
> * SD/MMC card controller
> ******************************************************************************/
> #if defined(CONFIG_MMC_PXA) || defined(CONFIG_MMC_PXA_MODULE)
> +static unsigned long balloon3_mmc_pin_config[] __initdata = {
> + GPIO32_MMC_CLK,
> + GPIO92_MMC_DAT_0,
> + GPIO109_MMC_DAT_1,
> + GPIO110_MMC_DAT_2,
> + GPIO111_MMC_DAT_3,
> + GPIO112_MMC_CMD,
> +};
> +
> static struct pxamci_platform_data balloon3_mci_platform_data = {
> .ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
> .gpio_card_detect = -1,
> @@ -281,6 +299,7 @@ static struct pxamci_platform_data balloon3_mci_platform_data = {
>
> static void __init balloon3_mmc_init(void)
> {
> + pxa2xx_mfp_config(ARRAY_AND_SIZE(balloon3_mmc_pin_config));
> pxa_set_mci_info(&balloon3_mci_platform_data);
> }
> #else
> @@ -339,6 +358,11 @@ static inline void balloon3_irda_init(void) {}
> * USB Host
> ******************************************************************************/
> #if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE)
> +static unsigned long balloon3_uhc_pin_config[] __initdata = {
> + GPIO88_USBH1_PWR,
> + GPIO89_USBH1_PEN,
> +};
> +
> static struct pxaohci_platform_data balloon3_ohci_info = {
> .port_mode = PMM_PERPORT_MODE,
> .flags = ENABLE_PORT_ALL | POWER_CONTROL_LOW | POWER_SENSE_LOW,
> @@ -348,6 +372,7 @@ static void __init balloon3_uhc_init(void)
> {
> if (!balloon3_has(BALLOON3_FEATURE_OHCI))
> return;
> + pxa2xx_mfp_config(ARRAY_AND_SIZE(balloon3_uhc_pin_config));
> pxa_set_ohci_info(&balloon3_ohci_info);
> }
> #else
> @@ -358,6 +383,11 @@ static inline void balloon3_uhc_init(void) {}
> * LEDs
> ******************************************************************************/
> #if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
> +static unsigned long balloon3_led_pin_config[] __initdata = {
> + GPIO9_GPIO, /* NAND activity LED */
> + GPIO10_GPIO, /* Heartbeat LED */
> +};
> +
> struct gpio_led balloon3_gpio_leds[] = {
> {
> .name = "balloon3:green:idle",
> @@ -436,6 +466,7 @@ static struct platform_device balloon3_pcf_leds = {
>
> static void __init balloon3_leds_init(void)
> {
> + pxa2xx_mfp_config(ARRAY_AND_SIZE(balloon3_led_pin_config));
> platform_device_register(&balloon3_leds);
> platform_device_register(&balloon3_pcf_leds);
> }
> @@ -757,6 +788,7 @@ static void __init balloon3_init(void)
> balloon3_ts_init();
> balloon3_udc_init();
> balloon3_uhc_init();
> + balloon3_cf_init();
> }
>
> static struct map_desc balloon3_io_desc[] __initdata = {
> --
> 1.7.1
>
J.
--
xmpp:noodles at earth.li
"Drink until the seat isn't uncomfortable." -- Huey on
long distance flights
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2010-08-10 16:38 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-09 4:23 [PATCH 1/6] Balloon3: Disperse MFP config Marek Vasut
2010-08-09 4:23 ` [PATCH 2/6] PXA: Vpac270: Fix gpio_power for MMC Marek Vasut
2010-08-09 4:23 ` [PATCH 3/6] PXA: PalmTC: Modularize Palm Tungsten|C Marek Vasut
2010-08-09 4:37 ` Marek Vasut
2010-08-09 4:23 ` [PATCH 4/6] PXA: Vpac270: Correct touch IRQ passing to UCB1400 Marek Vasut
2010-08-09 4:23 ` [PATCH 5/6] PXA: PalmTC: Pass GPIO offset to ucb1400-gpio Marek Vasut
2010-08-09 4:23 ` [PATCH 6/6] PXA: PalmTC: Add gpio-leds and vibrator support Marek Vasut
2010-08-10 16:38 ` [PATCH 1/6] Balloon3: Disperse MFP config Jonathan McDowell
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.