* [PATCH 1/5] pxa: Sane naming of gpios for palm platform
@ 2010-07-13 7:51 Marek Vasut
2010-07-13 7:51 ` [PATCH v2 2/5] pxa: Introduce Palm27x Marek Vasut
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Marek Vasut @ 2010-07-13 7:51 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
arch/arm/mach-pxa/include/mach/palmld.h | 58 ++++++++++++++--------------
arch/arm/mach-pxa/include/mach/palmt5.h | 30 +++++++-------
arch/arm/mach-pxa/include/mach/palmtx.h | 44 +++++++++++-----------
arch/arm/mach-pxa/include/mach/palmz72.h | 28 +++++++-------
arch/arm/mach-pxa/palmld.c | 60 +++++++++++++++---------------
arch/arm/mach-pxa/palmt5.c | 52 +++++++++++++-------------
arch/arm/mach-pxa/palmtx.c | 52 +++++++++++++-------------
arch/arm/mach-pxa/palmz72.c | 60 +++++++++++++++---------------
drivers/ata/pata_palmld.c | 22 +++++-----
drivers/pcmcia/pxa2xx_palmld.c | 32 ++++++++--------
drivers/pcmcia/pxa2xx_palmtx.c | 42 ++++++++++----------
11 files changed, 240 insertions(+), 240 deletions(-)
create mode 100644 arch/arm/mach-pxa/palm27x.c
create mode 100644 configs/config-colibri
create mode 100644 configs/config-income
create mode 100644 configs/config-littleton
create mode 100644 configs/config-vpac270
create mode 100644 configs/config-vpac270-minimal
create mode 100644 configs/config-zaurus
create mode 100644 configs/config-zipitz2
diff --git a/arch/arm/mach-pxa/include/mach/palmld.h b/arch/arm/mach-pxa/include/mach/palmld.h
index ae536e8..8f9034d 100644
--- a/arch/arm/mach-pxa/include/mach/palmld.h
+++ b/arch/arm/mach-pxa/include/mach/palmld.h
@@ -16,55 +16,55 @@
/** HERE ARE GPIOs **/
/* GPIOs */
-#define GPIO_NR_PALMLD_GPIO_RESET 1
-#define GPIO_NR_PALMLD_POWER_DETECT 4
-#define GPIO_NR_PALMLD_HOTSYNC_BUTTON_N 10
-#define GPIO_NR_PALMLD_POWER_SWITCH 12
-#define GPIO_NR_PALMLD_EARPHONE_DETECT 13
-#define GPIO_NR_PALMLD_LOCK_SWITCH 15
+#define GPIO1_PALMLD_GPIO_RESET 1
+#define GPIO4_PALMLD_POWER_DETECT 4
+#define GPIO10_PALMLD_HOTSYNC_BUTTON_N 10
+#define GPIO12_PALMLD_POWER_SWITCH 12
+#define GPIO13_PALMLD_EARPHONE_DETECT 13
+#define GPIO15_PALMLD_LOCK_SWITCH 15
/* SD/MMC */
-#define GPIO_NR_PALMLD_SD_DETECT_N 14
-#define GPIO_NR_PALMLD_SD_POWER 114
-#define GPIO_NR_PALMLD_SD_READONLY 116
+#define GPIO14_PALMLD_SD_DETECT_N 14
+#define GPIO114_PALMLD_SD_POWER 114
+#define GPIO116_PALMLD_SD_READONLY 116
/* TOUCHSCREEN */
-#define GPIO_NR_PALMLD_WM9712_IRQ 27
+#define GPIO27_PALMLD_WM9712_IRQ 27
/* IRDA */
-#define GPIO_NR_PALMLD_IR_DISABLE 108
+#define GPIO108_PALMLD_IR_DISABLE 108
/* LCD/BACKLIGHT */
-#define GPIO_NR_PALMLD_BL_POWER 19
-#define GPIO_NR_PALMLD_LCD_POWER 96
+#define GPIO19_PALMLD_BL_POWER 19
+#define GPIO96_PALMLD_LCD_POWER 96
/* LCD BORDER */
-#define GPIO_NR_PALMLD_BORDER_SWITCH 21
-#define GPIO_NR_PALMLD_BORDER_SELECT 22
+#define GPIO21_PALMLD_BORDER_SWITCH 21
+#define GPIO22_PALMLD_BORDER_SELECT 22
/* BLUETOOTH */
-#define GPIO_NR_PALMLD_BT_POWER 17
-#define GPIO_NR_PALMLD_BT_RESET 83
+#define GPIO17_PALMLD_BT_POWER 17
+#define GPIO83_PALMLD_BT_RESET 83
/* PCMCIA (WiFi) */
-#define GPIO_NR_PALMLD_PCMCIA_READY 38
-#define GPIO_NR_PALMLD_PCMCIA_POWER 36
-#define GPIO_NR_PALMLD_PCMCIA_RESET 81
+#define GPIO38_PALMLD_PCMCIA_READY 38
+#define GPIO36_PALMLD_PCMCIA_POWER 36
+#define GPIO81_PALMLD_PCMCIA_RESET 81
/* LEDs */
-#define GPIO_NR_PALMLD_LED_GREEN 52
-#define GPIO_NR_PALMLD_LED_AMBER 94
+#define GPIO52_PALMLD_LED_GREEN 52
+#define GPIO94_PALMLD_LED_AMBER 94
/* IDE */
-#define GPIO_NR_PALMLD_IDE_RESET 98
-#define GPIO_NR_PALMLD_IDE_PWEN 115
+#define GPIO98_PALMLD_IDE_RESET 98
+#define GPIO115_PALMLD_IDE_PWEN 115
/* USB */
-#define GPIO_NR_PALMLD_USB_DETECT_N 3
-#define GPIO_NR_PALMLD_USB_READY 86
-#define GPIO_NR_PALMLD_USB_RESET 88
-#define GPIO_NR_PALMLD_USB_INT 106
-#define GPIO_NR_PALMLD_USB_POWER 118
+#define GPIO3_PALMLD_USB_DETECT_N 3
+#define GPIO86_PALMLD_USB_READY 86
+#define GPIO88_PALMLD_USB_RESET 88
+#define GPIO106_PALMLD_USB_INT 106
+#define GPIO118_PALMLD_USB_POWER 118
/* 20, 53 and 86 are usb related too */
/* INTERRUPTS */
diff --git a/arch/arm/mach-pxa/include/mach/palmt5.h b/arch/arm/mach-pxa/include/mach/palmt5.h
index 6baf746..d70bb62 100644
--- a/arch/arm/mach-pxa/include/mach/palmt5.h
+++ b/arch/arm/mach-pxa/include/mach/palmt5.h
@@ -18,34 +18,34 @@
/** HERE ARE GPIOs **/
/* GPIOs */
-#define GPIO_NR_PALMT5_GPIO_RESET 1
+#define GPIO1_PALMT5_GPIO_RESET 1
-#define GPIO_NR_PALMT5_POWER_DETECT 90
-#define GPIO_NR_PALMT5_HOTSYNC_BUTTON_N 10
-#define GPIO_NR_PALMT5_EARPHONE_DETECT 107
+#define GPIO90_PALMT5_POWER_DETECT 90
+#define GPIO10_PALMT5_HOTSYNC_BUTTON_N 10
+#define GPIO107_PALMT5_EARPHONE_DETECT 107
/* SD/MMC */
-#define GPIO_NR_PALMT5_SD_DETECT_N 14
-#define GPIO_NR_PALMT5_SD_POWER 114
-#define GPIO_NR_PALMT5_SD_READONLY 115
+#define GPIO14_PALMT5_SD_DETECT_N 14
+#define GPIO114_PALMT5_SD_POWER 114
+#define GPIO115_PALMT5_SD_READONLY 115
/* TOUCHSCREEN */
-#define GPIO_NR_PALMT5_WM9712_IRQ 27
+#define GPIO27_PALMT5_WM9712_IRQ 27
/* IRDA - disable GPIO connected to SD pin of tranceiver (TFBS4710?) ? */
-#define GPIO_NR_PALMT5_IR_DISABLE 40
+#define GPIO40_PALMT5_IR_DISABLE 40
/* USB */
-#define GPIO_NR_PALMT5_USB_DETECT_N 15
-#define GPIO_NR_PALMT5_USB_PULLUP 93
+#define GPIO15_PALMT5_USB_DETECT_N 15
+#define GPIO93_PALMT5_USB_PULLUP 93
/* LCD/BACKLIGHT */
-#define GPIO_NR_PALMT5_BL_POWER 84
-#define GPIO_NR_PALMT5_LCD_POWER 96
+#define GPIO84_PALMT5_BL_POWER 84
+#define GPIO96_PALMT5_LCD_POWER 96
/* BLUETOOTH */
-#define GPIO_NR_PALMT5_BT_POWER 17
-#define GPIO_NR_PALMT5_BT_RESET 83
+#define GPIO17_PALMT5_BT_POWER 17
+#define GPIO83_PALMT5_BT_RESET 83
/* INTERRUPTS */
#define IRQ_GPIO_PALMT5_SD_DETECT_N IRQ_GPIO(GPIO_NR_PALMT5_SD_DETECT_N)
diff --git a/arch/arm/mach-pxa/include/mach/palmtx.h b/arch/arm/mach-pxa/include/mach/palmtx.h
index 10abc4f..8b97b4d 100644
--- a/arch/arm/mach-pxa/include/mach/palmtx.h
+++ b/arch/arm/mach-pxa/include/mach/palmtx.h
@@ -19,47 +19,47 @@
/** HERE ARE GPIOs **/
/* GPIOs */
-#define GPIO_NR_PALMTX_GPIO_RESET 1
+#define GPIO1_PALMTX_GPIO_RESET 1
-#define GPIO_NR_PALMTX_POWER_DETECT 12 /* 90 */
-#define GPIO_NR_PALMTX_HOTSYNC_BUTTON_N 10
-#define GPIO_NR_PALMTX_EARPHONE_DETECT 107
+#define GPIO12_PALMTX_POWER_DETECT 12 /* 90 */
+#define GPIO10_PALMTX_HOTSYNC_BUTTON_N 10
+#define GPIO107_PALMTX_EARPHONE_DETECT 107
/* SD/MMC */
-#define GPIO_NR_PALMTX_SD_DETECT_N 14
-#define GPIO_NR_PALMTX_SD_POWER 114 /* probably */
-#define GPIO_NR_PALMTX_SD_READONLY 115 /* probably */
+#define GPIO14_PALMTX_SD_DETECT_N 14
+#define GPIO114_PALMTX_SD_POWER 114 /* probably */
+#define GPIO115_PALMTX_SD_READONLY 115 /* probably */
/* TOUCHSCREEN */
-#define GPIO_NR_PALMTX_WM9712_IRQ 27
+#define GPIO27_PALMTX_WM9712_IRQ 27
/* IRDA - disable GPIO connected to SD pin of tranceiver (TFBS4710?) ? */
-#define GPIO_NR_PALMTX_IR_DISABLE 40
+#define GPIO40_PALMTX_IR_DISABLE 40
/* USB */
-#define GPIO_NR_PALMTX_USB_DETECT_N 13
-#define GPIO_NR_PALMTX_USB_PULLUP 93
+#define GPIO13_PALMTX_USB_DETECT_N 13
+#define GPIO93_PALMTX_USB_PULLUP 93
/* LCD/BACKLIGHT */
-#define GPIO_NR_PALMTX_BL_POWER 84
-#define GPIO_NR_PALMTX_LCD_POWER 96
+#define GPIO84_PALMTX_BL_POWER 84
+#define GPIO96_PALMTX_LCD_POWER 96
/* LCD BORDER */
-#define GPIO_NR_PALMTX_BORDER_SWITCH 98
-#define GPIO_NR_PALMTX_BORDER_SELECT 22
+#define GPIO98_PALMTX_BORDER_SWITCH 98
+#define GPIO22_PALMTX_BORDER_SELECT 22
/* BLUETOOTH */
-#define GPIO_NR_PALMTX_BT_POWER 17
-#define GPIO_NR_PALMTX_BT_RESET 83
+#define GPIO17_PALMTX_BT_POWER 17
+#define GPIO83_PALMTX_BT_RESET 83
/* PCMCIA (WiFi) */
-#define GPIO_NR_PALMTX_PCMCIA_POWER1 94
-#define GPIO_NR_PALMTX_PCMCIA_POWER2 108
-#define GPIO_NR_PALMTX_PCMCIA_RESET 79
-#define GPIO_NR_PALMTX_PCMCIA_READY 116
+#define GPIO94_PALMTX_PCMCIA_POWER1 94
+#define GPIO108_PALMTX_PCMCIA_POWER2 108
+#define GPIO79_PALMTX_PCMCIA_RESET 79
+#define GPIO116_PALMTX_PCMCIA_READY 116
/* NAND Flash ... this GPIO may be incorrect! */
-#define GPIO_NR_PALMTX_NAND_BUFFER_DIR 79
+#define GPIO79_PALMTX_NAND_BUFFER_DIR 79
/* INTERRUPTS */
#define IRQ_GPIO_PALMTX_SD_DETECT_N IRQ_GPIO(GPIO_NR_PALMTX_SD_DETECT_N)
diff --git a/arch/arm/mach-pxa/include/mach/palmz72.h b/arch/arm/mach-pxa/include/mach/palmz72.h
index 2bbcf70..83dced5 100644
--- a/arch/arm/mach-pxa/include/mach/palmz72.h
+++ b/arch/arm/mach-pxa/include/mach/palmz72.h
@@ -15,34 +15,34 @@
#define _INCLUDE_PALMZ72_H_
/* Power and control */
-#define GPIO_NR_PALMZ72_GPIO_RESET 1
-#define GPIO_NR_PALMZ72_POWER_DETECT 0
+#define GPIO1_PALMZ72_GPIO_RESET 1
+#define GPIO0_PALMZ72_POWER_DETECT 0
/* SD/MMC */
-#define GPIO_NR_PALMZ72_SD_DETECT_N 14
-#define GPIO_NR_PALMZ72_SD_POWER_N 98
-#define GPIO_NR_PALMZ72_SD_RO 115
+#define GPIO14_PALMZ72_SD_DETECT_N 14
+#define GPIO98_PALMZ72_SD_POWER_N 98
+#define GPIO115_PALMZ72_SD_RO 115
/* Touchscreen */
-#define GPIO_NR_PALMZ72_WM9712_IRQ 27
+#define GPIO27_PALMZ72_WM9712_IRQ 27
/* IRDA - disable GPIO connected to SD pin of tranceiver (TFBS4710?) ? */
-#define GPIO_NR_PALMZ72_IR_DISABLE 49
+#define GPIO49_PALMZ72_IR_DISABLE 49
/* USB */
-#define GPIO_NR_PALMZ72_USB_DETECT_N 15
-#define GPIO_NR_PALMZ72_USB_PULLUP 95
+#define GPIO15_PALMZ72_USB_DETECT_N 15
+#define GPIO95_PALMZ72_USB_PULLUP 95
/* LCD/Backlight */
-#define GPIO_NR_PALMZ72_BL_POWER 20
-#define GPIO_NR_PALMZ72_LCD_POWER 96
+#define GPIO20_PALMZ72_BL_POWER 20
+#define GPIO96_PALMZ72_LCD_POWER 96
/* LED */
-#define GPIO_NR_PALMZ72_LED_GREEN 88
+#define GPIO88_PALMZ72_LED_GREEN 88
/* Bluetooth */
-#define GPIO_NR_PALMZ72_BT_POWER 17
-#define GPIO_NR_PALMZ72_BT_RESET 83
+#define GPIO17_PALMZ72_BT_POWER 17
+#define GPIO83_PALMZ72_BT_RESET 83
/** Initial values **/
diff --git a/arch/arm/mach-pxa/palm27x.c b/arch/arm/mach-pxa/palm27x.c
new file mode 100644
index 0000000..e69de29
diff --git a/arch/arm/mach-pxa/palmld.c b/arch/arm/mach-pxa/palmld.c
index 83a1a55..bec35e2 100644
--- a/arch/arm/mach-pxa/palmld.c
+++ b/arch/arm/mach-pxa/palmld.c
@@ -165,9 +165,9 @@ static struct platform_device palmld_flash = {
******************************************************************************/
static struct pxamci_platform_data palmld_mci_platform_data = {
.ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
- .gpio_card_detect = GPIO_NR_PALMLD_SD_DETECT_N,
- .gpio_card_ro = GPIO_NR_PALMLD_SD_READONLY,
- .gpio_power = GPIO_NR_PALMLD_SD_POWER,
+ .gpio_card_detect = GPIO14_PALMLD_SD_DETECT_N,
+ .gpio_card_ro = GPIO116_PALMLD_SD_READONLY,
+ .gpio_power = GPIO114_PALMLD_SD_POWER,
.detect_delay_ms = 200,
};
@@ -204,9 +204,9 @@ static struct pxa27x_keypad_platform_data palmld_keypad_platform_data = {
* GPIO keys
******************************************************************************/
static struct gpio_keys_button palmld_pxa_buttons[] = {
- {KEY_F8, GPIO_NR_PALMLD_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
- {KEY_F9, GPIO_NR_PALMLD_LOCK_SWITCH, 0, "Lock Switch" },
- {KEY_POWER, GPIO_NR_PALMLD_POWER_SWITCH, 0, "Power Switch" },
+ {KEY_F8, GPIO10_PALMLD_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
+ {KEY_F9, GPIO15_PALMLD_LOCK_SWITCH, 0, "Lock Switch" },
+ {KEY_POWER, GPIO12_PALMLD_POWER_SWITCH, 0, "Power Switch" },
};
static struct gpio_keys_platform_data palmld_pxa_keys_data = {
@@ -229,39 +229,39 @@ static int palmld_backlight_init(struct device *dev)
{
int ret;
- ret = gpio_request(GPIO_NR_PALMLD_BL_POWER, "BL POWER");
+ ret = gpio_request(GPIO19_PALMLD_BL_POWER, "BL POWER");
if (ret)
goto err;
- ret = gpio_direction_output(GPIO_NR_PALMLD_BL_POWER, 0);
+ ret = gpio_direction_output(GPIO19_PALMLD_BL_POWER, 0);
if (ret)
goto err2;
- ret = gpio_request(GPIO_NR_PALMLD_LCD_POWER, "LCD POWER");
+ ret = gpio_request(GPIO96_PALMLD_LCD_POWER, "LCD POWER");
if (ret)
goto err2;
- ret = gpio_direction_output(GPIO_NR_PALMLD_LCD_POWER, 0);
+ ret = gpio_direction_output(GPIO96_PALMLD_LCD_POWER, 0);
if (ret)
goto err3;
return 0;
err3:
- gpio_free(GPIO_NR_PALMLD_LCD_POWER);
+ gpio_free(GPIO96_PALMLD_LCD_POWER);
err2:
- gpio_free(GPIO_NR_PALMLD_BL_POWER);
+ gpio_free(GPIO19_PALMLD_BL_POWER);
err:
return ret;
}
static int palmld_backlight_notify(struct device *dev, int brightness)
{
- gpio_set_value(GPIO_NR_PALMLD_BL_POWER, brightness);
- gpio_set_value(GPIO_NR_PALMLD_LCD_POWER, brightness);
+ gpio_set_value(GPIO19_PALMLD_BL_POWER, brightness);
+ gpio_set_value(GPIO96_PALMLD_LCD_POWER, brightness);
return brightness;
}
static void palmld_backlight_exit(struct device *dev)
{
- gpio_free(GPIO_NR_PALMLD_BL_POWER);
- gpio_free(GPIO_NR_PALMLD_LCD_POWER);
+ gpio_free(GPIO19_PALMLD_BL_POWER);
+ gpio_free(GPIO96_PALMLD_LCD_POWER);
}
static struct platform_pwm_backlight_data palmld_backlight_data = {
@@ -286,7 +286,7 @@ static struct platform_device palmld_backlight = {
* IrDA
******************************************************************************/
static struct pxaficp_platform_data palmld_ficp_platform_data = {
- .gpio_pwdown = GPIO_NR_PALMLD_IR_DISABLE,
+ .gpio_pwdown = GPIO108_PALMLD_IR_DISABLE,
.transceiver_cap = IR_SIRMODE | IR_OFF,
};
@@ -297,11 +297,11 @@ struct gpio_led gpio_leds[] = {
{
.name = "palmld:green:led",
.default_trigger = "none",
- .gpio = GPIO_NR_PALMLD_LED_GREEN,
+ .gpio = GPIO52_PALMLD_LED_GREEN,
}, {
.name = "palmld:amber:led",
.default_trigger = "none",
- .gpio = GPIO_NR_PALMLD_LED_AMBER,
+ .gpio = GPIO94_PALMLD_LED_AMBER,
},
};
@@ -325,44 +325,44 @@ static int power_supply_init(struct device *dev)
{
int ret;
- ret = gpio_request(GPIO_NR_PALMLD_POWER_DETECT, "CABLE_STATE_AC");
+ ret = gpio_request(GPIO4_PALMLD_POWER_DETECT, "CABLE_STATE_AC");
if (ret)
goto err1;
- ret = gpio_direction_input(GPIO_NR_PALMLD_POWER_DETECT);
+ ret = gpio_direction_input(GPIO4_PALMLD_POWER_DETECT);
if (ret)
goto err2;
- ret = gpio_request(GPIO_NR_PALMLD_USB_DETECT_N, "CABLE_STATE_USB");
+ ret = gpio_request(GPIO3_PALMLD_USB_DETECT_N, "CABLE_STATE_USB");
if (ret)
goto err2;
- ret = gpio_direction_input(GPIO_NR_PALMLD_USB_DETECT_N);
+ ret = gpio_direction_input(GPIO3_PALMLD_USB_DETECT_N);
if (ret)
goto err3;
return 0;
err3:
- gpio_free(GPIO_NR_PALMLD_USB_DETECT_N);
+ gpio_free(GPIO3_PALMLD_USB_DETECT_N);
err2:
- gpio_free(GPIO_NR_PALMLD_POWER_DETECT);
+ gpio_free(GPIO4_PALMLD_POWER_DETECT);
err1:
return ret;
}
static int palmld_is_ac_online(void)
{
- return gpio_get_value(GPIO_NR_PALMLD_POWER_DETECT);
+ return gpio_get_value(GPIO4_PALMLD_POWER_DETECT);
}
static int palmld_is_usb_online(void)
{
- return !gpio_get_value(GPIO_NR_PALMLD_USB_DETECT_N);
+ return !gpio_get_value(GPIO3_PALMLD_USB_DETECT_N);
}
static void power_supply_exit(struct device *dev)
{
- gpio_free(GPIO_NR_PALMLD_USB_DETECT_N);
- gpio_free(GPIO_NR_PALMLD_POWER_DETECT);
+ gpio_free(GPIO3_PALMLD_USB_DETECT_N);
+ gpio_free(GPIO4_PALMLD_POWER_DETECT);
}
static char *palmld_supplicants[] = {
@@ -413,7 +413,7 @@ static pxa2xx_audio_ops_t palmld_ac97_pdata = {
};
static struct palm27x_asoc_info palmld_asoc_pdata = {
- .jack_gpio = GPIO_NR_PALMLD_EARPHONE_DETECT,
+ .jack_gpio = GPIO13_PALMLD_EARPHONE_DETECT,
};
static struct platform_device palmld_asoc = {
diff --git a/arch/arm/mach-pxa/palmt5.c b/arch/arm/mach-pxa/palmt5.c
index 0b36d7d..8037cfc 100644
--- a/arch/arm/mach-pxa/palmt5.c
+++ b/arch/arm/mach-pxa/palmt5.c
@@ -107,9 +107,9 @@ static unsigned long palmt5_pin_config[] __initdata = {
******************************************************************************/
static struct pxamci_platform_data palmt5_mci_platform_data = {
.ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
- .gpio_card_detect = GPIO_NR_PALMT5_SD_DETECT_N,
- .gpio_card_ro = GPIO_NR_PALMT5_SD_READONLY,
- .gpio_power = GPIO_NR_PALMT5_SD_POWER,
+ .gpio_card_detect = GPIO14_PALMT5_SD_DETECT_N,
+ .gpio_card_ro = GPIO115_PALMT5_SD_READONLY,
+ .gpio_power = GPIO114_PALMT5_SD_POWER,
.detect_delay_ms = 200,
};
@@ -145,7 +145,7 @@ static struct pxa27x_keypad_platform_data palmt5_keypad_platform_data = {
* GPIO keys
******************************************************************************/
static struct gpio_keys_button palmt5_pxa_buttons[] = {
- {KEY_F8, GPIO_NR_PALMT5_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
+ {KEY_F8, GPIO10_PALMT5_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
};
static struct gpio_keys_platform_data palmt5_pxa_keys_data = {
@@ -168,39 +168,39 @@ static int palmt5_backlight_init(struct device *dev)
{
int ret;
- ret = gpio_request(GPIO_NR_PALMT5_BL_POWER, "BL POWER");
+ ret = gpio_request(GPIO84_PALMT5_BL_POWER, "BL POWER");
if (ret)
goto err;
- ret = gpio_direction_output(GPIO_NR_PALMT5_BL_POWER, 0);
+ ret = gpio_direction_output(GPIO84_PALMT5_BL_POWER, 0);
if (ret)
goto err2;
- ret = gpio_request(GPIO_NR_PALMT5_LCD_POWER, "LCD POWER");
+ ret = gpio_request(GPIO96_PALMT5_LCD_POWER, "LCD POWER");
if (ret)
goto err2;
- ret = gpio_direction_output(GPIO_NR_PALMT5_LCD_POWER, 0);
+ ret = gpio_direction_output(GPIO96_PALMT5_LCD_POWER, 0);
if (ret)
goto err3;
return 0;
err3:
- gpio_free(GPIO_NR_PALMT5_LCD_POWER);
+ gpio_free(GPIO96_PALMT5_LCD_POWER);
err2:
- gpio_free(GPIO_NR_PALMT5_BL_POWER);
+ gpio_free(GPIO84_PALMT5_BL_POWER);
err:
return ret;
}
static int palmt5_backlight_notify(struct device *dev, int brightness)
{
- gpio_set_value(GPIO_NR_PALMT5_BL_POWER, brightness);
- gpio_set_value(GPIO_NR_PALMT5_LCD_POWER, brightness);
+ gpio_set_value(GPIO84_PALMT5_BL_POWER, brightness);
+ gpio_set_value(GPIO96_PALMT5_LCD_POWER, brightness);
return brightness;
}
static void palmt5_backlight_exit(struct device *dev)
{
- gpio_free(GPIO_NR_PALMT5_BL_POWER);
- gpio_free(GPIO_NR_PALMT5_LCD_POWER);
+ gpio_free(GPIO84_PALMT5_BL_POWER);
+ gpio_free(GPIO96_PALMT5_LCD_POWER);
}
static struct platform_pwm_backlight_data palmt5_backlight_data = {
@@ -225,7 +225,7 @@ static struct platform_device palmt5_backlight = {
* IrDA
******************************************************************************/
static struct pxaficp_platform_data palmt5_ficp_platform_data = {
- .gpio_pwdown = GPIO_NR_PALMT5_IR_DISABLE,
+ .gpio_pwdown = GPIO40_PALMT5_IR_DISABLE,
.transceiver_cap = IR_SIRMODE | IR_OFF,
};
@@ -233,9 +233,9 @@ static struct pxaficp_platform_data palmt5_ficp_platform_data = {
* UDC
******************************************************************************/
static struct gpio_vbus_mach_info palmt5_udc_info = {
- .gpio_vbus = GPIO_NR_PALMT5_USB_DETECT_N,
+ .gpio_vbus = GPIO15_PALMT5_USB_DETECT_N,
.gpio_vbus_inverted = 1,
- .gpio_pullup = GPIO_NR_PALMT5_USB_PULLUP,
+ .gpio_pullup = GPIO93_PALMT5_USB_PULLUP,
};
static struct platform_device palmt5_gpio_vbus = {
@@ -253,28 +253,28 @@ static int power_supply_init(struct device *dev)
{
int ret;
- ret = gpio_request(GPIO_NR_PALMT5_POWER_DETECT, "CABLE_STATE_AC");
+ ret = gpio_request(GPIO90_PALMT5_POWER_DETECT, "CABLE_STATE_AC");
if (ret)
goto err1;
- ret = gpio_direction_input(GPIO_NR_PALMT5_POWER_DETECT);
+ ret = gpio_direction_input(GPIO90_PALMT5_POWER_DETECT);
if (ret)
goto err2;
return 0;
err2:
- gpio_free(GPIO_NR_PALMT5_POWER_DETECT);
+ gpio_free(GPIO90_PALMT5_POWER_DETECT);
err1:
return ret;
}
static int palmt5_is_ac_online(void)
{
- return gpio_get_value(GPIO_NR_PALMT5_POWER_DETECT);
+ return gpio_get_value(GPIO90_PALMT5_POWER_DETECT);
}
static void power_supply_exit(struct device *dev)
{
- gpio_free(GPIO_NR_PALMT5_POWER_DETECT);
+ gpio_free(GPIO90_PALMT5_POWER_DETECT);
}
static char *palmt5_supplicants[] = {
@@ -324,7 +324,7 @@ static pxa2xx_audio_ops_t palmt5_ac97_pdata = {
};
static struct palm27x_asoc_info palmt5_asoc_pdata = {
- .jack_gpio = GPIO_NR_PALMT5_EARPHONE_DETECT,
+ .jack_gpio = GPIO107_PALMT5_EARPHONE_DETECT,
};
static struct platform_device palmt5_asoc = {
@@ -392,9 +392,9 @@ static struct platform_device *devices[] __initdata = {
/* setup udc GPIOs initial state */
static void __init palmt5_udc_init(void)
{
- if (!gpio_request(GPIO_NR_PALMT5_USB_PULLUP, "UDC Vbus")) {
- gpio_direction_output(GPIO_NR_PALMT5_USB_PULLUP, 1);
- gpio_free(GPIO_NR_PALMT5_USB_PULLUP);
+ if (!gpio_request(GPIO93_PALMT5_USB_PULLUP, "UDC Vbus")) {
+ gpio_direction_output(GPIO93_PALMT5_USB_PULLUP, 1);
+ gpio_free(GPIO93_PALMT5_USB_PULLUP);
}
}
diff --git a/arch/arm/mach-pxa/palmtx.c b/arch/arm/mach-pxa/palmtx.c
index a5429cd..a835034 100644
--- a/arch/arm/mach-pxa/palmtx.c
+++ b/arch/arm/mach-pxa/palmtx.c
@@ -167,9 +167,9 @@ static struct platform_device palmtx_flash = {
******************************************************************************/
static struct pxamci_platform_data palmtx_mci_platform_data = {
.ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
- .gpio_card_detect = GPIO_NR_PALMTX_SD_DETECT_N,
- .gpio_card_ro = GPIO_NR_PALMTX_SD_READONLY,
- .gpio_power = GPIO_NR_PALMTX_SD_POWER,
+ .gpio_card_detect = GPIO14_PALMTX_SD_DETECT_N,
+ .gpio_card_ro = GPIO115_PALMTX_SD_READONLY,
+ .gpio_power = GPIO114_PALMTX_SD_POWER,
.detect_delay_ms = 200,
};
@@ -205,7 +205,7 @@ static struct pxa27x_keypad_platform_data palmtx_keypad_platform_data = {
* GPIO keys
******************************************************************************/
static struct gpio_keys_button palmtx_pxa_buttons[] = {
- {KEY_F8, GPIO_NR_PALMTX_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
+ {KEY_F8, GPIO10_PALMTX_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
};
static struct gpio_keys_platform_data palmtx_pxa_keys_data = {
@@ -228,39 +228,39 @@ static int palmtx_backlight_init(struct device *dev)
{
int ret;
- ret = gpio_request(GPIO_NR_PALMTX_BL_POWER, "BL POWER");
+ ret = gpio_request(GPIO84_PALMTX_BL_POWER, "BL POWER");
if (ret)
goto err;
- ret = gpio_direction_output(GPIO_NR_PALMTX_BL_POWER, 0);
+ ret = gpio_direction_output(GPIO84_PALMTX_BL_POWER, 0);
if (ret)
goto err2;
- ret = gpio_request(GPIO_NR_PALMTX_LCD_POWER, "LCD POWER");
+ ret = gpio_request(GPIO96_PALMTX_LCD_POWER, "LCD POWER");
if (ret)
goto err2;
- ret = gpio_direction_output(GPIO_NR_PALMTX_LCD_POWER, 0);
+ ret = gpio_direction_output(GPIO96_PALMTX_LCD_POWER, 0);
if (ret)
goto err3;
return 0;
err3:
- gpio_free(GPIO_NR_PALMTX_LCD_POWER);
+ gpio_free(GPIO96_PALMTX_LCD_POWER);
err2:
- gpio_free(GPIO_NR_PALMTX_BL_POWER);
+ gpio_free(GPIO84_PALMTX_BL_POWER);
err:
return ret;
}
static int palmtx_backlight_notify(struct device *dev, int brightness)
{
- gpio_set_value(GPIO_NR_PALMTX_BL_POWER, brightness);
- gpio_set_value(GPIO_NR_PALMTX_LCD_POWER, brightness);
+ gpio_set_value(GPIO84_PALMTX_BL_POWER, brightness);
+ gpio_set_value(GPIO96_PALMTX_LCD_POWER, brightness);
return brightness;
}
static void palmtx_backlight_exit(struct device *dev)
{
- gpio_free(GPIO_NR_PALMTX_BL_POWER);
- gpio_free(GPIO_NR_PALMTX_LCD_POWER);
+ gpio_free(GPIO84_PALMTX_BL_POWER);
+ gpio_free(GPIO96_PALMTX_LCD_POWER);
}
static struct platform_pwm_backlight_data palmtx_backlight_data = {
@@ -285,7 +285,7 @@ static struct platform_device palmtx_backlight = {
* IrDA
******************************************************************************/
static struct pxaficp_platform_data palmtx_ficp_platform_data = {
- .gpio_pwdown = GPIO_NR_PALMTX_IR_DISABLE,
+ .gpio_pwdown = GPIO40_PALMTX_IR_DISABLE,
.transceiver_cap = IR_SIRMODE | IR_OFF,
};
@@ -293,9 +293,9 @@ static struct pxaficp_platform_data palmtx_ficp_platform_data = {
* UDC
******************************************************************************/
static struct gpio_vbus_mach_info palmtx_udc_info = {
- .gpio_vbus = GPIO_NR_PALMTX_USB_DETECT_N,
+ .gpio_vbus = GPIO13_PALMTX_USB_DETECT_N,
.gpio_vbus_inverted = 1,
- .gpio_pullup = GPIO_NR_PALMTX_USB_PULLUP,
+ .gpio_pullup = GPIO93_PALMTX_USB_PULLUP,
};
static struct platform_device palmtx_gpio_vbus = {
@@ -313,29 +313,29 @@ static int power_supply_init(struct device *dev)
{
int ret;
- ret = gpio_request(GPIO_NR_PALMTX_POWER_DETECT, "CABLE_STATE_AC");
+ ret = gpio_request(GPIO12_PALMTX_POWER_DETECT, "CABLE_STATE_AC");
if (ret)
goto err1;
- ret = gpio_direction_input(GPIO_NR_PALMTX_POWER_DETECT);
+ ret = gpio_direction_input(GPIO12_PALMTX_POWER_DETECT);
if (ret)
goto err2;
return 0;
err2:
- gpio_free(GPIO_NR_PALMTX_POWER_DETECT);
+ gpio_free(GPIO12_PALMTX_POWER_DETECT);
err1:
return ret;
}
static int palmtx_is_ac_online(void)
{
- return gpio_get_value(GPIO_NR_PALMTX_POWER_DETECT);
+ return gpio_get_value(GPIO12_PALMTX_POWER_DETECT);
}
static void power_supply_exit(struct device *dev)
{
- gpio_free(GPIO_NR_PALMTX_POWER_DETECT);
+ gpio_free(GPIO12_PALMTX_POWER_DETECT);
}
static char *palmtx_supplicants[] = {
@@ -385,7 +385,7 @@ static pxa2xx_audio_ops_t palmtx_ac97_pdata = {
};
static struct palm27x_asoc_info palmtx_asoc_pdata = {
- .jack_gpio = GPIO_NR_PALMTX_EARPHONE_DETECT,
+ .jack_gpio = GPIO107_PALMTX_EARPHONE_DETECT,
};
static struct platform_device palmtx_asoc = {
@@ -542,9 +542,9 @@ static void __init palmtx_map_io(void)
/* setup udc GPIOs initial state */
static void __init palmtx_udc_init(void)
{
- if (!gpio_request(GPIO_NR_PALMTX_USB_PULLUP, "UDC Vbus")) {
- gpio_direction_output(GPIO_NR_PALMTX_USB_PULLUP, 1);
- gpio_free(GPIO_NR_PALMTX_USB_PULLUP);
+ if (!gpio_request(GPIO93_PALMTX_USB_PULLUP, "UDC Vbus")) {
+ gpio_direction_output(GPIO93_PALMTX_USB_PULLUP, 1);
+ gpio_free(GPIO93_PALMTX_USB_PULLUP);
}
}
diff --git a/arch/arm/mach-pxa/palmz72.c b/arch/arm/mach-pxa/palmz72.c
index b78c6b4..91bc5a3 100644
--- a/arch/arm/mach-pxa/palmz72.c
+++ b/arch/arm/mach-pxa/palmz72.c
@@ -115,9 +115,9 @@ static unsigned long palmz72_pin_config[] __initdata = {
* select, i.e. it is inverted */
static struct pxamci_platform_data palmz72_mci_platform_data = {
.ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
- .gpio_card_detect = GPIO_NR_PALMZ72_SD_DETECT_N,
- .gpio_card_ro = GPIO_NR_PALMZ72_SD_RO,
- .gpio_power = GPIO_NR_PALMZ72_SD_POWER_N,
+ .gpio_card_detect = GPIO14_PALMZ72_SD_DETECT_N,
+ .gpio_card_ro = GPIO115_PALMZ72_SD_RO,
+ .gpio_power = GPIO98_PALMZ72_SD_POWER_N,
.gpio_power_invert = 1,
};
@@ -156,39 +156,39 @@ static int palmz72_backlight_init(struct device *dev)
{
int ret;
- ret = gpio_request(GPIO_NR_PALMZ72_BL_POWER, "BL POWER");
+ ret = gpio_request(GPIO20_PALMZ72_BL_POWER, "BL POWER");
if (ret)
goto err;
- ret = gpio_direction_output(GPIO_NR_PALMZ72_BL_POWER, 0);
+ ret = gpio_direction_output(GPIO20_PALMZ72_BL_POWER, 0);
if (ret)
goto err2;
- ret = gpio_request(GPIO_NR_PALMZ72_LCD_POWER, "LCD POWER");
+ ret = gpio_request(GPIO96_PALMZ72_LCD_POWER, "LCD POWER");
if (ret)
goto err2;
- ret = gpio_direction_output(GPIO_NR_PALMZ72_LCD_POWER, 0);
+ ret = gpio_direction_output(GPIO96_PALMZ72_LCD_POWER, 0);
if (ret)
goto err3;
return 0;
err3:
- gpio_free(GPIO_NR_PALMZ72_LCD_POWER);
+ gpio_free(GPIO96_PALMZ72_LCD_POWER);
err2:
- gpio_free(GPIO_NR_PALMZ72_BL_POWER);
+ gpio_free(GPIO20_PALMZ72_BL_POWER);
err:
return ret;
}
static int palmz72_backlight_notify(struct device *dev, int brightness)
{
- gpio_set_value(GPIO_NR_PALMZ72_BL_POWER, brightness);
- gpio_set_value(GPIO_NR_PALMZ72_LCD_POWER, brightness);
+ gpio_set_value(GPIO20_PALMZ72_BL_POWER, brightness);
+ gpio_set_value(GPIO96_PALMZ72_LCD_POWER, brightness);
return brightness;
}
static void palmz72_backlight_exit(struct device *dev)
{
- gpio_free(GPIO_NR_PALMZ72_BL_POWER);
- gpio_free(GPIO_NR_PALMZ72_LCD_POWER);
+ gpio_free(GPIO20_PALMZ72_BL_POWER);
+ gpio_free(GPIO96_PALMZ72_LCD_POWER);
}
static struct platform_pwm_backlight_data palmz72_backlight_data = {
@@ -213,7 +213,7 @@ static struct platform_device palmz72_backlight = {
* IrDA
******************************************************************************/
static struct pxaficp_platform_data palmz72_ficp_platform_data = {
- .gpio_pwdown = GPIO_NR_PALMZ72_IR_DISABLE,
+ .gpio_pwdown = GPIO49_PALMZ72_IR_DISABLE,
.transceiver_cap = IR_SIRMODE | IR_OFF,
};
@@ -224,7 +224,7 @@ static struct gpio_led gpio_leds[] = {
{
.name = "palmz72:green:led",
.default_trigger = "none",
- .gpio = GPIO_NR_PALMZ72_LED_GREEN,
+ .gpio = GPIO88_PALMZ72_LED_GREEN,
},
};
@@ -245,8 +245,8 @@ static struct platform_device palmz72_leds = {
* UDC
******************************************************************************/
static struct gpio_vbus_mach_info palmz72_udc_info = {
- .gpio_vbus = GPIO_NR_PALMZ72_USB_DETECT_N,
- .gpio_pullup = GPIO_NR_PALMZ72_USB_PULLUP,
+ .gpio_vbus = GPIO15_PALMZ72_USB_DETECT_N,
+ .gpio_pullup = GPIO95_PALMZ72_USB_PULLUP,
};
static struct platform_device palmz72_gpio_vbus = {
@@ -264,43 +264,43 @@ static int power_supply_init(struct device *dev)
{
int ret;
- ret = gpio_request(GPIO_NR_PALMZ72_POWER_DETECT, "CABLE_STATE_AC");
+ ret = gpio_request(GPIO0_PALMZ72_POWER_DETECT, "CABLE_STATE_AC");
if (ret)
goto err1;
- ret = gpio_direction_input(GPIO_NR_PALMZ72_POWER_DETECT);
+ ret = gpio_direction_input(GPIO0_PALMZ72_POWER_DETECT);
if (ret)
goto err2;
- ret = gpio_request(GPIO_NR_PALMZ72_USB_DETECT_N, "CABLE_STATE_USB");
+ ret = gpio_request(GPIO15_PALMZ72_USB_DETECT_N, "CABLE_STATE_USB");
if (ret)
goto err2;
- ret = gpio_direction_input(GPIO_NR_PALMZ72_USB_DETECT_N);
+ ret = gpio_direction_input(GPIO15_PALMZ72_USB_DETECT_N);
if (ret)
goto err3;
return 0;
err3:
- gpio_free(GPIO_NR_PALMZ72_USB_DETECT_N);
+ gpio_free(GPIO15_PALMZ72_USB_DETECT_N);
err2:
- gpio_free(GPIO_NR_PALMZ72_POWER_DETECT);
+ gpio_free(GPIO0_PALMZ72_POWER_DETECT);
err1:
return ret;
}
static int palmz72_is_ac_online(void)
{
- return gpio_get_value(GPIO_NR_PALMZ72_POWER_DETECT);
+ return gpio_get_value(GPIO0_PALMZ72_POWER_DETECT);
}
static int palmz72_is_usb_online(void)
{
- return !gpio_get_value(GPIO_NR_PALMZ72_USB_DETECT_N);
+ return !gpio_get_value(GPIO15_PALMZ72_USB_DETECT_N);
}
static void power_supply_exit(struct device *dev)
{
- gpio_free(GPIO_NR_PALMZ72_USB_DETECT_N);
- gpio_free(GPIO_NR_PALMZ72_POWER_DETECT);
+ gpio_free(GPIO15_PALMZ72_USB_DETECT_N);
+ gpio_free(GPIO0_PALMZ72_POWER_DETECT);
}
static char *palmz72_supplicants[] = {
@@ -468,9 +468,9 @@ static struct platform_device *devices[] __initdata = {
/* setup udc GPIOs initial state */
static void __init palmz72_udc_init(void)
{
- if (!gpio_request(GPIO_NR_PALMZ72_USB_PULLUP, "USB Pullup")) {
- gpio_direction_output(GPIO_NR_PALMZ72_USB_PULLUP, 0);
- gpio_free(GPIO_NR_PALMZ72_USB_PULLUP);
+ if (!gpio_request(GPIO95_PALMZ72_USB_PULLUP, "USB Pullup")) {
+ gpio_direction_output(GPIO95_PALMZ72_USB_PULLUP, 0);
+ gpio_free(GPIO95_PALMZ72_USB_PULLUP);
}
}
diff --git a/configs/config-colibri b/configs/config-colibri
new file mode 100644
index 0000000..e69de29
diff --git a/configs/config-income b/configs/config-income
new file mode 100644
index 0000000..e69de29
diff --git a/configs/config-littleton b/configs/config-littleton
new file mode 100644
index 0000000..e69de29
diff --git a/configs/config-vpac270 b/configs/config-vpac270
new file mode 100644
index 0000000..e69de29
diff --git a/configs/config-vpac270-minimal b/configs/config-vpac270-minimal
new file mode 100644
index 0000000..e69de29
diff --git a/configs/config-zaurus b/configs/config-zaurus
new file mode 100644
index 0000000..e69de29
diff --git a/configs/config-zipitz2 b/configs/config-zipitz2
new file mode 100644
index 0000000..e69de29
diff --git a/drivers/ata/pata_palmld.c b/drivers/ata/pata_palmld.c
index 11fb4cc..7ca74d6 100644
--- a/drivers/ata/pata_palmld.c
+++ b/drivers/ata/pata_palmld.c
@@ -61,24 +61,24 @@ static __devinit int palmld_pata_probe(struct platform_device *pdev)
return -ENOMEM;
/* request and activate power GPIO, IRQ GPIO */
- ret = gpio_request(GPIO_NR_PALMLD_IDE_PWEN, "HDD PWR");
+ ret = gpio_request(GPIO115_PALMLD_IDE_PWEN, "HDD PWR");
if (ret)
goto err1;
- ret = gpio_direction_output(GPIO_NR_PALMLD_IDE_PWEN, 1);
+ ret = gpio_direction_output(GPIO115_PALMLD_IDE_PWEN, 1);
if (ret)
goto err2;
- ret = gpio_request(GPIO_NR_PALMLD_IDE_RESET, "HDD RST");
+ ret = gpio_request(GPIO98_PALMLD_IDE_RESET, "HDD RST");
if (ret)
goto err2;
- ret = gpio_direction_output(GPIO_NR_PALMLD_IDE_RESET, 0);
+ ret = gpio_direction_output(GPIO98_PALMLD_IDE_RESET, 0);
if (ret)
goto err3;
/* reset the drive */
- gpio_set_value(GPIO_NR_PALMLD_IDE_RESET, 0);
+ gpio_set_value(GPIO98_PALMLD_IDE_RESET, 0);
msleep(30);
- gpio_set_value(GPIO_NR_PALMLD_IDE_RESET, 1);
+ gpio_set_value(GPIO98_PALMLD_IDE_RESET, 1);
msleep(30);
/* setup the ata port */
@@ -100,9 +100,9 @@ static __devinit int palmld_pata_probe(struct platform_device *pdev)
&palmld_sht);
err3:
- gpio_free(GPIO_NR_PALMLD_IDE_RESET);
+ gpio_free(GPIO98_PALMLD_IDE_RESET);
err2:
- gpio_free(GPIO_NR_PALMLD_IDE_PWEN);
+ gpio_free(GPIO115_PALMLD_IDE_PWEN);
err1:
return ret;
}
@@ -114,10 +114,10 @@ static __devexit int palmld_pata_remove(struct platform_device *dev)
ata_host_detach(host);
/* power down the HDD */
- gpio_set_value(GPIO_NR_PALMLD_IDE_PWEN, 0);
+ gpio_set_value(GPIO115_PALMLD_IDE_PWEN, 0);
- gpio_free(GPIO_NR_PALMLD_IDE_RESET);
- gpio_free(GPIO_NR_PALMLD_IDE_PWEN);
+ gpio_free(GPIO98_PALMLD_IDE_RESET);
+ gpio_free(GPIO115_PALMLD_IDE_PWEN);
return 0;
}
diff --git a/drivers/pcmcia/pxa2xx_palmld.c b/drivers/pcmcia/pxa2xx_palmld.c
index 6fb6f7f..4317657 100644
--- a/drivers/pcmcia/pxa2xx_palmld.c
+++ b/drivers/pcmcia/pxa2xx_palmld.c
@@ -24,52 +24,52 @@ static int palmld_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
{
int ret;
- ret = gpio_request(GPIO_NR_PALMLD_PCMCIA_POWER, "PCMCIA PWR");
+ ret = gpio_request(GPIO36_PALMLD_PCMCIA_POWER, "PCMCIA PWR");
if (ret)
goto err1;
- ret = gpio_direction_output(GPIO_NR_PALMLD_PCMCIA_POWER, 0);
+ ret = gpio_direction_output(GPIO36_PALMLD_PCMCIA_POWER, 0);
if (ret)
goto err2;
- ret = gpio_request(GPIO_NR_PALMLD_PCMCIA_RESET, "PCMCIA RST");
+ ret = gpio_request(GPIO81_PALMLD_PCMCIA_RESET, "PCMCIA RST");
if (ret)
goto err2;
- ret = gpio_direction_output(GPIO_NR_PALMLD_PCMCIA_RESET, 1);
+ ret = gpio_direction_output(GPIO81_PALMLD_PCMCIA_RESET, 1);
if (ret)
goto err3;
- ret = gpio_request(GPIO_NR_PALMLD_PCMCIA_READY, "PCMCIA RDY");
+ ret = gpio_request(GPIO38_PALMLD_PCMCIA_READY, "PCMCIA RDY");
if (ret)
goto err3;
- ret = gpio_direction_input(GPIO_NR_PALMLD_PCMCIA_READY);
+ ret = gpio_direction_input(GPIO38_PALMLD_PCMCIA_READY);
if (ret)
goto err4;
- skt->socket.pci_irq = IRQ_GPIO(GPIO_NR_PALMLD_PCMCIA_READY);
+ skt->socket.pci_irq = IRQ_GPIO(GPIO38_PALMLD_PCMCIA_READY);
return 0;
err4:
- gpio_free(GPIO_NR_PALMLD_PCMCIA_READY);
+ gpio_free(GPIO38_PALMLD_PCMCIA_READY);
err3:
- gpio_free(GPIO_NR_PALMLD_PCMCIA_RESET);
+ gpio_free(GPIO81_PALMLD_PCMCIA_RESET);
err2:
- gpio_free(GPIO_NR_PALMLD_PCMCIA_POWER);
+ gpio_free(GPIO36_PALMLD_PCMCIA_POWER);
err1:
return ret;
}
static void palmld_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt)
{
- gpio_free(GPIO_NR_PALMLD_PCMCIA_READY);
- gpio_free(GPIO_NR_PALMLD_PCMCIA_RESET);
- gpio_free(GPIO_NR_PALMLD_PCMCIA_POWER);
+ gpio_free(GPIO38_PALMLD_PCMCIA_READY);
+ gpio_free(GPIO81_PALMLD_PCMCIA_RESET);
+ gpio_free(GPIO36_PALMLD_PCMCIA_POWER);
}
static void palmld_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
struct pcmcia_state *state)
{
state->detect = 1; /* always inserted */
- state->ready = !!gpio_get_value(GPIO_NR_PALMLD_PCMCIA_READY);
+ state->ready = !!gpio_get_value(GPIO38_PALMLD_PCMCIA_READY);
state->bvd1 = 1;
state->bvd2 = 1;
state->wrprot = 0;
@@ -80,8 +80,8 @@ static void palmld_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
static int palmld_pcmcia_configure_socket(struct soc_pcmcia_socket *skt,
const socket_state_t *state)
{
- gpio_set_value(GPIO_NR_PALMLD_PCMCIA_POWER, 1);
- gpio_set_value(GPIO_NR_PALMLD_PCMCIA_RESET,
+ gpio_set_value(GPIO36_PALMLD_PCMCIA_POWER, 1);
+ gpio_set_value(GPIO81_PALMLD_PCMCIA_RESET,
!!(state->flags & SS_RESET));
return 0;
diff --git a/drivers/pcmcia/pxa2xx_palmtx.c b/drivers/pcmcia/pxa2xx_palmtx.c
index b07b247..cc80531 100644
--- a/drivers/pcmcia/pxa2xx_palmtx.c
+++ b/drivers/pcmcia/pxa2xx_palmtx.c
@@ -25,62 +25,62 @@ static int palmtx_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
{
int ret;
- ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_POWER1, "PCMCIA PWR1");
+ ret = gpio_request(GPIO94_PALMTX_PCMCIA_POWER1, "PCMCIA PWR1");
if (ret)
goto err1;
- ret = gpio_direction_output(GPIO_NR_PALMTX_PCMCIA_POWER1, 0);
+ ret = gpio_direction_output(GPIO94_PALMTX_PCMCIA_POWER1, 0);
if (ret)
goto err2;
- ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_POWER2, "PCMCIA PWR2");
+ ret = gpio_request(GPIO108_PALMTX_PCMCIA_POWER2, "PCMCIA PWR2");
if (ret)
goto err2;
- ret = gpio_direction_output(GPIO_NR_PALMTX_PCMCIA_POWER2, 0);
+ ret = gpio_direction_output(GPIO108_PALMTX_PCMCIA_POWER2, 0);
if (ret)
goto err3;
- ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_RESET, "PCMCIA RST");
+ ret = gpio_request(GPIO79_PALMTX_PCMCIA_RESET, "PCMCIA RST");
if (ret)
goto err3;
- ret = gpio_direction_output(GPIO_NR_PALMTX_PCMCIA_RESET, 1);
+ ret = gpio_direction_output(GPIO79_PALMTX_PCMCIA_RESET, 1);
if (ret)
goto err4;
- ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_READY, "PCMCIA RDY");
+ ret = gpio_request(GPIO116_PALMTX_PCMCIA_READY, "PCMCIA RDY");
if (ret)
goto err4;
- ret = gpio_direction_input(GPIO_NR_PALMTX_PCMCIA_READY);
+ ret = gpio_direction_input(GPIO116_PALMTX_PCMCIA_READY);
if (ret)
goto err5;
- skt->socket.pci_irq = gpio_to_irq(GPIO_NR_PALMTX_PCMCIA_READY);
+ skt->socket.pci_irq = gpio_to_irq(GPIO116_PALMTX_PCMCIA_READY);
return 0;
err5:
- gpio_free(GPIO_NR_PALMTX_PCMCIA_READY);
+ gpio_free(GPIO116_PALMTX_PCMCIA_READY);
err4:
- gpio_free(GPIO_NR_PALMTX_PCMCIA_RESET);
+ gpio_free(GPIO79_PALMTX_PCMCIA_RESET);
err3:
- gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER2);
+ gpio_free(GPIO108_PALMTX_PCMCIA_POWER2);
err2:
- gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER1);
+ gpio_free(GPIO94_PALMTX_PCMCIA_POWER1);
err1:
return ret;
}
static void palmtx_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt)
{
- gpio_free(GPIO_NR_PALMTX_PCMCIA_READY);
- gpio_free(GPIO_NR_PALMTX_PCMCIA_RESET);
- gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER2);
- gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER1);
+ gpio_free(GPIO116_PALMTX_PCMCIA_READY);
+ gpio_free(GPIO79_PALMTX_PCMCIA_RESET);
+ gpio_free(GPIO108_PALMTX_PCMCIA_POWER2);
+ gpio_free(GPIO94_PALMTX_PCMCIA_POWER1);
}
static void palmtx_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
struct pcmcia_state *state)
{
state->detect = 1; /* always inserted */
- state->ready = !!gpio_get_value(GPIO_NR_PALMTX_PCMCIA_READY);
+ state->ready = !!gpio_get_value(GPIO116_PALMTX_PCMCIA_READY);
state->bvd1 = 1;
state->bvd2 = 1;
state->wrprot = 0;
@@ -92,9 +92,9 @@ static int
palmtx_pcmcia_configure_socket(struct soc_pcmcia_socket *skt,
const socket_state_t *state)
{
- gpio_set_value(GPIO_NR_PALMTX_PCMCIA_POWER1, 1);
- gpio_set_value(GPIO_NR_PALMTX_PCMCIA_POWER2, 1);
- gpio_set_value(GPIO_NR_PALMTX_PCMCIA_RESET,
+ gpio_set_value(GPIO94_PALMTX_PCMCIA_POWER1, 1);
+ gpio_set_value(GPIO108_PALMTX_PCMCIA_POWER2, 1);
+ gpio_set_value(GPIO79_PALMTX_PCMCIA_RESET,
!!(state->flags & SS_RESET));
return 0;
--
1.7.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2 2/5] pxa: Introduce Palm27x
2010-07-13 7:51 [PATCH 1/5] pxa: Sane naming of gpios for palm platform Marek Vasut
@ 2010-07-13 7:51 ` Marek Vasut
2010-07-13 7:51 ` [PATCH v2 3/5] pxa: Flip Palm LD, TX, T5, Z72 to Palm27x Marek Vasut
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Marek Vasut @ 2010-07-13 7:51 UTC (permalink / raw)
To: linux-arm-kernel
This contains common code for Palm LD, TX, T5, Z72
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
arch/arm/mach-pxa/Kconfig | 3 +
arch/arm/mach-pxa/Makefile | 1 +
arch/arm/mach-pxa/include/mach/palm27x.h | 48 +++
arch/arm/mach-pxa/palm27x.c | 475 ++++++++++++++++++++++++++++++
4 files changed, 527 insertions(+), 0 deletions(-)
create mode 100644 arch/arm/mach-pxa/include/mach/palm27x.h
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index 2ff0b32..f3eaade 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -347,6 +347,9 @@ config ARCH_PXA_PALM
bool "PXA based Palm PDAs"
select HAVE_PWM
+config MACH_PALM27X
+ bool
+
config MACH_PALMTE2
bool "Palm Tungsten|E2"
default y
diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile
index 3f72218..20c80e8 100644
--- a/arch/arm/mach-pxa/Makefile
+++ b/arch/arm/mach-pxa/Makefile
@@ -75,6 +75,7 @@ obj-$(CONFIG_PXA_EZX) += ezx.o
obj-$(CONFIG_MACH_MP900C) += mp900.o
obj-$(CONFIG_MACH_PALMTE2) += palmte2.o
obj-$(CONFIG_MACH_PALMTC) += palmtc.o
+obj-$(CONFIG_MACH_PALM27X) += palm27x.o
obj-$(CONFIG_MACH_PALMT5) += palmt5.o
obj-$(CONFIG_MACH_PALMTX) += palmtx.o
obj-$(CONFIG_MACH_PALMZ72) += palmz72.o
diff --git a/arch/arm/mach-pxa/include/mach/palm27x.h b/arch/arm/mach-pxa/include/mach/palm27x.h
new file mode 100644
index 0000000..94ae6d9
--- /dev/null
+++ b/arch/arm/mach-pxa/include/mach/palm27x.h
@@ -0,0 +1,48 @@
+/*
+ * Common functions for Palm LD, T5, TX, Z72
+ *
+ * Copyright (C) 2010
+ * Marek Vasut <marek.vasut@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+
+struct palm27x_handheld {
+ /* SD/MMC */
+ int mmc_detect;
+ int mmc_ro;
+ int mmc_power;
+
+ /* PM */
+ unsigned long pm_str_base;
+
+ /* UDC */
+ int udc_detect;
+ int udc_pullup;
+
+ /* IrDA */
+ int irda_pwdn;
+
+ /* Battery */
+ int batt_minv;
+ int batt_maxv;
+
+ /* Audio */
+ int jack_gpio;
+
+ /* Backlight */
+ int bl_bl;
+ int bl_lcd;
+
+ /* Power supply */
+ int power_ac;
+ int power_usb;
+
+ /* LCD */
+ int lcd_power;
+};
+
+extern void __init palm27x_common_init(struct palm27x_handheld *);
diff --git a/arch/arm/mach-pxa/palm27x.c b/arch/arm/mach-pxa/palm27x.c
index e69de29..ff5ee8c 100644
--- a/arch/arm/mach-pxa/palm27x.c
+++ b/arch/arm/mach-pxa/palm27x.c
@@ -0,0 +1,475 @@
+/*
+ * Common code for Palm LD, T5, TX, Z72
+ *
+ * Copyright (C) 2010
+ * Marek Vasut <marek.vasut@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+
+#include <linux/platform_device.h>
+#include <linux/delay.h>
+#include <linux/irq.h>
+#include <linux/gpio_keys.h>
+#include <linux/input.h>
+#include <linux/pda_power.h>
+#include <linux/pwm_backlight.h>
+#include <linux/gpio.h>
+#include <linux/wm97xx.h>
+#include <linux/power_supply.h>
+#include <linux/usb/gpio_vbus.h>
+
+#include <asm/mach-types.h>
+#include <asm/mach/arch.h>
+#include <asm/mach/map.h>
+
+#include <mach/pxa27x.h>
+#include <mach/audio.h>
+#include <mach/mmc.h>
+#include <mach/pxafb.h>
+#include <mach/irda.h>
+#include <mach/udc.h>
+#include <mach/palmasoc.h>
+#include <mach/palm27x.h>
+
+#include "generic.h"
+#include "devices.h"
+
+/******************************************************************************
+ * SD/MMC card controller
+ ******************************************************************************/
+#if defined(CONFIG_MMC_PXA) || defined(CONFIG_MMC_PXA_MODULE)
+static struct pxamci_platform_data palm27x_mci_platform_data = {
+ .ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
+ .detect_delay_ms = 200,
+};
+
+static void __init palm27x_mmc_init(int detect, int ro, int power)
+{
+ palm27x_mci_platform_data.gpio_card_detect = detect;
+ palm27x_mci_platform_data.gpio_card_ro = ro;
+ palm27x_mci_platform_data.gpio_power = power;
+
+ if (machine_is_palmz72() || machine_is_centro())
+ palm27x_mci_platform_data.gpio_power_invert = 1;
+
+ pxa_set_mci_info(&palm27x_mci_platform_data);
+}
+#else
+static inline void palm27x_mmc_init(int detect, int ro, int power) {}
+#endif
+
+/******************************************************************************
+ * Power management - standby
+ ******************************************************************************/
+#if defined(CONFIG_SUSPEND)
+static void __init palm27x_pm_init(unsigned long str_base)
+{
+ static const unsigned long resume[] = {
+ 0xe3a00101, /* mov r0, #0x40000000 */
+ 0xe380060f, /* orr r0, r0, #0x00f00000 */
+ 0xe590f008, /* ldr pc, [r0, #0x08] */
+ };
+
+ /*
+ * Copy the bootloader.
+ * NOTE: PalmZ72 uses a different wakeup method!
+ */
+ if (!machine_is_palmz72())
+ memcpy(phys_to_virt(str_base), resume, sizeof(resume));
+}
+#else
+static inline void palm27x_pm_init(unsigned long str_base) {}
+#endif
+
+/******************************************************************************
+ * Framebuffer
+ ******************************************************************************/
+/*
+ * NOTE: PalmZ72 has so called HiRes screen -- 320x320
+ * The rest of devices has HiRes+ screen -- 320x480
+ */
+#if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE)
+static struct pxafb_mode_info palm27x_modes[] = {
+ {
+ .pixclock = 57692,
+ .xres = 320,
+ .yres = 480,
+ .bpp = 16,
+
+ .left_margin = 32,
+ .right_margin = 1,
+ .upper_margin = 7,
+ .lower_margin = 1,
+
+ .hsync_len = 4,
+ .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,
+ }, {
+ .pixclock = 86538,
+ .xres = 320,
+ .yres = 320,
+ .bpp = 16,
+
+ .left_margin = 20,
+ .right_margin = 8,
+ .upper_margin = 8,
+ .lower_margin = 5,
+
+ .hsync_len = 4,
+ .vsync_len = 1,
+ }
+};
+
+static struct pxafb_mach_info palm27x_lcd_screen = {
+ .num_modes = 1,
+ .lcd_conn = LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL,
+};
+
+static int palm27x_lcd_power;
+static void palm27x_lcd_ctl(int on, struct fb_var_screeninfo *info)
+{
+ gpio_set_value(palm27x_lcd_power, on);
+}
+
+static void __init palm27x_lcd_init(int power)
+{
+ if (machine_is_palmz72())
+ palm27x_lcd_screen.modes = &palm27x_modes[1];
+ else if (machine_is_treo680() || machine_is_centro())
+ palm27x_lcd_screen.modes = &palm27x_modes[2];
+ else
+ palm27x_lcd_screen.modes = &palm27x_modes[0];
+
+ if (gpio_is_valid(power)) {
+ if (!gpio_request(power, "LCD power")) {
+ pr_err("Palm27x: failed to claim lcd power gpio!\n");
+ return;
+ }
+ if (!gpio_direction_output(power, 1)) {
+ pr_err("Palm27x: lcd power configuration failed!\n");
+ return;
+ }
+ palm27x_lcd_power = power;
+ palm27x_lcd_screen.pxafb_lcd_power = palm27x_lcd_ctl;
+ }
+
+ set_pxa_fb_info(&palm27x_lcd_screen);
+}
+
+#else
+static inline void palm27x_lcd_init(int power) {}
+#endif
+
+/******************************************************************************
+ * USB Gadget
+ ******************************************************************************/
+#if defined(CONFIG_USB_GADGET_PXA27X) || \
+ defined(CONFIG_USB_GADGET_PXA27X_MODULE)
+static struct gpio_vbus_mach_info palm27x_udc_info = {
+ .gpio_vbus_inverted = 1,
+};
+
+static struct platform_device palm27x_gpio_vbus = {
+ .name = "gpio-vbus",
+ .id = -1,
+ .dev = {
+ .platform_data = &palm27x_udc_info,
+ },
+};
+
+static void __init palm27x_udc_init(int vbus, int pullup)
+{
+ if (machine_is_palmld())
+ return;
+
+ palm27x_udc_info.gpio_vbus = vbus;
+ palm27x_udc_info.gpio_pullup = pullup;
+
+ if (machine_is_palmz72())
+ palm27x_udc_info.gpio_vbus_inverted = 0;
+
+ if (!gpio_request(pullup, "USB Pullup")) {
+ gpio_direction_output(pullup,
+ palm27x_udc_info.gpio_vbus_inverted);
+ gpio_free(pullup);
+ } else
+ return;
+
+ platform_device_register(&palm27x_gpio_vbus);
+}
+#else
+static inline void palm27x_udc_init(int vbus, int pullup) {}
+#endif
+
+/******************************************************************************
+ * IrDA
+ ******************************************************************************/
+#if defined(CONFIG_IRDA) || defined(CONFIG_IRDA_MODULE)
+static struct pxaficp_platform_data palm27x_ficp_platform_data = {
+ .transceiver_cap = IR_SIRMODE | IR_OFF,
+};
+
+static void __init palm27x_irda_init(int pwdn)
+{
+ palm27x_ficp_platform_data.gpio_pwdown = pwdn;
+ pxa_set_ficp_info(&palm27x_ficp_platform_data);
+}
+#else
+static inline void palm27x_irda_init(int pwdn) {}
+#endif
+
+/******************************************************************************
+ * WM97xx audio, battery
+ ******************************************************************************/
+#if defined(CONFIG_TOUCHSCREEN_WM97XX) || \
+ defined(CONFIG_TOUCHSCREEN_WM97XX_MODULE)
+static struct wm97xx_batt_pdata palm27x_batt_pdata = {
+ .batt_aux = WM97XX_AUX_ID3,
+ .temp_aux = WM97XX_AUX_ID2,
+ .charge_gpio = -1,
+ .batt_mult = 1000,
+ .batt_div = 414,
+ .temp_mult = 1,
+ .temp_div = 1,
+ .batt_tech = POWER_SUPPLY_TECHNOLOGY_LIPO,
+ .batt_name = "main-batt",
+};
+
+static struct wm97xx_pdata palm27x_wm97xx_pdata = {
+ .batt_pdata = &palm27x_batt_pdata,
+};
+
+static pxa2xx_audio_ops_t palm27x_ac97_pdata = {
+ .codec_pdata = { &palm27x_wm97xx_pdata, },
+};
+
+static struct palm27x_asoc_info palm27x_asoc_pdata = {
+ .jack_gpio = -1,
+};
+
+static struct platform_device palm27x_asoc = {
+ .name = "palm27x-asoc",
+ .id = -1,
+ .dev = {
+ .platform_data = &palm27x_asoc_pdata,
+ },
+};
+
+static void __init palm27x_ac97_init(int minv, int maxv, int jack)
+{
+ if (!machine_is_palmz72())
+ palm27x_ac97_pdata.reset_gpio = 95;
+ else
+ palm27x_asoc_pdata.jack_gpio = jack;
+
+ if (machine_is_treo680() || machine_is_centro()) {
+ palm27x_ac97_pdata.codec_pdata[0] = NULL;
+ pxa_set_ac97_info(&palm27x_ac97_pdata);
+ } else {
+ palm27x_batt_pdata.min_voltage = minv,
+ palm27x_batt_pdata.max_voltage = maxv,
+
+ pxa_set_ac97_info(&palm27x_ac97_pdata);
+ platform_device_register(&palm27x_asoc);
+ }
+}
+#else
+static inline void palm27x_ac97_init(int minv, int maxv, int jack) {}
+#endif
+
+/******************************************************************************
+ * Backlight
+ ******************************************************************************/
+#if defined(CONFIG_BACKLIGHT_PWM) || defined(CONFIG_BACKLIGHT_PWM_MODULE)
+struct {
+ int bl_power;
+ int lcd_power;
+} palm27x_bl_info;
+
+static int palm27x_backlight_init(struct device *dev)
+{
+ int ret;
+
+ ret = gpio_request(palm27x_bl_info.bl_power, "BL POWER");
+ if (ret)
+ goto err;
+ ret = gpio_direction_output(palm27x_bl_info.bl_power, 0);
+ if (ret)
+ goto err2;
+
+ if (gpio_is_valid(palm27x_bl_info.lcd_power)) {
+ ret = gpio_request(palm27x_bl_info.lcd_power, "LCD POWER");
+ if (ret)
+ goto err2;
+ ret = gpio_direction_output(palm27x_bl_info.lcd_power, 0);
+ if (ret)
+ goto err3;
+ }
+
+ return 0;
+err3:
+ gpio_free(palm27x_bl_info.lcd_power);
+err2:
+ gpio_free(palm27x_bl_info.bl_power);
+err:
+ return ret;
+}
+
+static int palm27x_backlight_notify(struct device *dev, int brightness)
+{
+ gpio_set_value(palm27x_bl_info.bl_power, brightness);
+ if (gpio_is_valid(palm27x_bl_info.lcd_power))
+ gpio_set_value(palm27x_bl_info.lcd_power, brightness);
+ return brightness;
+}
+
+static void palm27x_backlight_exit(struct device *dev)
+{
+ gpio_free(palm27x_bl_info.bl_power);
+ if (gpio_is_valid(palm27x_bl_info.lcd_power))
+ gpio_free(palm27x_bl_info.lcd_power);
+}
+
+static struct platform_pwm_backlight_data palm27x_backlight_data = {
+ .pwm_id = 0,
+ .max_brightness = 0xfe,
+ .dft_brightness = 0x7e,
+ .pwm_period_ns = 3500,
+ .init = palm27x_backlight_init,
+ .notify = palm27x_backlight_notify,
+ .exit = palm27x_backlight_exit,
+};
+
+static struct platform_device palm27x_backlight = {
+ .name = "pwm-backlight",
+ .dev = {
+ .parent = &pxa27x_device_pwm0.dev,
+ .platform_data = &palm27x_backlight_data,
+ },
+};
+
+static void __init palm27x_pwm_init(int bl, int lcd)
+{
+ palm27x_bl_info.bl_power = bl;
+ palm27x_bl_info.lcd_power = lcd;
+ platform_device_register(&palm27x_backlight);
+}
+#else
+static inline void palm27x_pwm_init(int bl, int lcd) {}
+#endif
+
+/******************************************************************************
+ * Power supply
+ ******************************************************************************/
+#if defined(CONFIG_PDA_POWER) || defined(CONFIG_PDA_POWER_MODULE)
+struct {
+ int ac_state;
+ int usb_state;
+} palm27x_power_info;
+
+static int palm27x_power_supply_init(struct device *dev)
+{
+ int ret;
+
+ ret = gpio_request(palm27x_power_info.ac_state, "AC state");
+ if (ret)
+ goto err1;
+ ret = gpio_direction_input(palm27x_power_info.ac_state);
+ if (ret)
+ goto err2;
+
+ if (gpio_is_valid(palm27x_power_info.usb_state)) {
+ ret = gpio_request(palm27x_power_info.usb_state, "USB state");
+ if (ret)
+ goto err2;
+ ret = gpio_direction_input(palm27x_power_info.usb_state);
+ if (ret)
+ goto err3;
+ }
+
+ return 0;
+err3:
+ gpio_free(palm27x_power_info.usb_state);
+err2:
+ gpio_free(palm27x_power_info.ac_state);
+err1:
+ return ret;
+}
+
+static void palm27x_power_supply_exit(struct device *dev)
+{
+ gpio_free(palm27x_power_info.usb_state);
+ gpio_free(palm27x_power_info.ac_state);
+}
+
+static int palm27x_is_ac_online(void)
+{
+ return gpio_get_value(palm27x_power_info.ac_state);
+}
+
+static int palm27x_is_usb_online(void)
+{
+ return !gpio_get_value(palm27x_power_info.usb_state);
+}
+static char *palm27x_supplicants[] = {
+ "main-battery",
+};
+
+static struct pda_power_pdata palm27x_ps_info = {
+ .init = palm27x_power_supply_init,
+ .exit = palm27x_power_supply_exit,
+ .is_ac_online = palm27x_is_ac_online,
+ .is_usb_online = palm27x_is_usb_online,
+ .supplied_to = palm27x_supplicants,
+ .num_supplicants = ARRAY_SIZE(palm27x_supplicants),
+};
+
+static struct platform_device palm27x_power_supply = {
+ .name = "pda-power",
+ .id = -1,
+ .dev = {
+ .platform_data = &palm27x_ps_info,
+ },
+};
+
+static void __init palm27x_power_init(int ac, int usb)
+{
+ palm27x_power_info.ac_state = ac;
+ palm27x_power_info.usb_state = usb;
+ platform_device_register(&palm27x_power_supply);
+}
+#else
+static inline void palm27x_power_init(int ac, int usb) {}
+#endif
+
+void __init palm27x_common_init(struct palm27x_handheld *palm)
+{
+ pxa_set_ffuart_info(NULL);
+ pxa_set_btuart_info(NULL);
+ pxa_set_stuart_info(NULL);
+
+ palm27x_mmc_init(palm->mmc_detect, palm->mmc_ro, palm->mmc_power);
+ palm27x_pm_init(palm->pm_str_base);
+ palm27x_lcd_init(palm->lcd_power);
+ palm27x_udc_init(palm->udc_detect, palm->udc_pullup);
+ palm27x_irda_init(palm->irda_pwdn);
+ palm27x_ac97_init(palm->batt_minv, palm->batt_maxv, palm->jack_gpio);
+ palm27x_pwm_init(palm->bl_bl, palm->bl_lcd);
+ palm27x_power_init(palm->power_ac, palm->power_usb);
+}
--
1.7.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2 3/5] pxa: Flip Palm LD, TX, T5, Z72 to Palm27x
2010-07-13 7:51 [PATCH 1/5] pxa: Sane naming of gpios for palm platform Marek Vasut
2010-07-13 7:51 ` [PATCH v2 2/5] pxa: Introduce Palm27x Marek Vasut
@ 2010-07-13 7:51 ` Marek Vasut
2010-07-13 7:51 ` [PATCH 4/5] pxa: Add core pmic support for Palm27x Marek Vasut
2010-07-13 7:51 ` [PATCH 5/5] pxa: Modularize remnants of code in Palms Marek Vasut
3 siblings, 0 replies; 6+ messages in thread
From: Marek Vasut @ 2010-07-13 7:51 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
arch/arm/mach-pxa/Kconfig | 4 +
arch/arm/mach-pxa/palmld.c | 258 +++----------------------------------
arch/arm/mach-pxa/palmt5.c | 275 +++------------------------------------
arch/arm/mach-pxa/palmtreo.c | 292 +++++-------------------------------------
arch/arm/mach-pxa/palmtx.c | 270 +++------------------------------------
arch/arm/mach-pxa/palmz72.c | 261 ++-----------------------------------
6 files changed, 109 insertions(+), 1251 deletions(-)
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index f3eaade..cdefc45 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -374,6 +374,7 @@ config MACH_PALMT5
depends on ARCH_PXA_PALM
select PXA27x
select IWMMXT
+ select MACH_PALM27X
help
Say Y here if you intend to run this kernel on a Palm Tungsten|T5
handheld computer.
@@ -384,6 +385,7 @@ config MACH_PALMTX
depends on ARCH_PXA_PALM
select PXA27x
select IWMMXT
+ select MACH_PALM27X
help
Say Y here if you intend to run this kernel on a Palm T|X
handheld computer.
@@ -394,6 +396,7 @@ config MACH_PALMZ72
depends on ARCH_PXA_PALM
select PXA27x
select IWMMXT
+ select MACH_PALM27X
help
Say Y here if you intend to run this kernel on Palm Zire 72
handheld computer.
@@ -404,6 +407,7 @@ config MACH_PALMLD
depends on ARCH_PXA_PALM
select PXA27x
select IWMMXT
+ select MACH_PALM27X
help
Say Y here if you intend to run this kernel on a Palm LifeDrive
handheld computer.
diff --git a/arch/arm/mach-pxa/palmld.c b/arch/arm/mach-pxa/palmld.c
index bec35e2..263ab6a 100644
--- a/arch/arm/mach-pxa/palmld.c
+++ b/arch/arm/mach-pxa/palmld.c
@@ -41,6 +41,7 @@
#include <mach/irda.h>
#include <mach/pxa27x_keypad.h>
#include <mach/palmasoc.h>
+#include <mach/palm27x.h>
#include "generic.h"
#include "devices.h"
@@ -161,17 +162,6 @@ static struct platform_device palmld_flash = {
};
/******************************************************************************
- * SD/MMC card controller
- ******************************************************************************/
-static struct pxamci_platform_data palmld_mci_platform_data = {
- .ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
- .gpio_card_detect = GPIO14_PALMLD_SD_DETECT_N,
- .gpio_card_ro = GPIO116_PALMLD_SD_READONLY,
- .gpio_power = GPIO114_PALMLD_SD_POWER,
- .detect_delay_ms = 200,
-};
-
-/******************************************************************************
* GPIO keyboard
******************************************************************************/
static unsigned int palmld_matrix_keys[] = {
@@ -223,74 +213,6 @@ static struct platform_device palmld_pxa_keys = {
};
/******************************************************************************
- * Backlight
- ******************************************************************************/
-static int palmld_backlight_init(struct device *dev)
-{
- int ret;
-
- ret = gpio_request(GPIO19_PALMLD_BL_POWER, "BL POWER");
- if (ret)
- goto err;
- ret = gpio_direction_output(GPIO19_PALMLD_BL_POWER, 0);
- if (ret)
- goto err2;
- ret = gpio_request(GPIO96_PALMLD_LCD_POWER, "LCD POWER");
- if (ret)
- goto err2;
- ret = gpio_direction_output(GPIO96_PALMLD_LCD_POWER, 0);
- if (ret)
- goto err3;
-
- return 0;
-err3:
- gpio_free(GPIO96_PALMLD_LCD_POWER);
-err2:
- gpio_free(GPIO19_PALMLD_BL_POWER);
-err:
- return ret;
-}
-
-static int palmld_backlight_notify(struct device *dev, int brightness)
-{
- gpio_set_value(GPIO19_PALMLD_BL_POWER, brightness);
- gpio_set_value(GPIO96_PALMLD_LCD_POWER, brightness);
- return brightness;
-}
-
-static void palmld_backlight_exit(struct device *dev)
-{
- gpio_free(GPIO19_PALMLD_BL_POWER);
- gpio_free(GPIO96_PALMLD_LCD_POWER);
-}
-
-static struct platform_pwm_backlight_data palmld_backlight_data = {
- .pwm_id = 0,
- .max_brightness = PALMLD_MAX_INTENSITY,
- .dft_brightness = PALMLD_MAX_INTENSITY,
- .pwm_period_ns = PALMLD_PERIOD_NS,
- .init = palmld_backlight_init,
- .notify = palmld_backlight_notify,
- .exit = palmld_backlight_exit,
-};
-
-static struct platform_device palmld_backlight = {
- .name = "pwm-backlight",
- .dev = {
- .parent = &pxa27x_device_pwm0.dev,
- .platform_data = &palmld_backlight_data,
- },
-};
-
-/******************************************************************************
- * IrDA
- ******************************************************************************/
-static struct pxaficp_platform_data palmld_ficp_platform_data = {
- .gpio_pwdown = GPIO108_PALMLD_IR_DISABLE,
- .transceiver_cap = IR_SIRMODE | IR_OFF,
-};
-
-/******************************************************************************
* LEDs
******************************************************************************/
struct gpio_led gpio_leds[] = {
@@ -319,112 +241,6 @@ static struct platform_device palmld_leds = {
};
/******************************************************************************
- * Power supply
- ******************************************************************************/
-static int power_supply_init(struct device *dev)
-{
- int ret;
-
- ret = gpio_request(GPIO4_PALMLD_POWER_DETECT, "CABLE_STATE_AC");
- if (ret)
- goto err1;
- ret = gpio_direction_input(GPIO4_PALMLD_POWER_DETECT);
- if (ret)
- goto err2;
-
- ret = gpio_request(GPIO3_PALMLD_USB_DETECT_N, "CABLE_STATE_USB");
- if (ret)
- goto err2;
- ret = gpio_direction_input(GPIO3_PALMLD_USB_DETECT_N);
- if (ret)
- goto err3;
-
- return 0;
-
-err3:
- gpio_free(GPIO3_PALMLD_USB_DETECT_N);
-err2:
- gpio_free(GPIO4_PALMLD_POWER_DETECT);
-err1:
- return ret;
-}
-
-static int palmld_is_ac_online(void)
-{
- return gpio_get_value(GPIO4_PALMLD_POWER_DETECT);
-}
-
-static int palmld_is_usb_online(void)
-{
- return !gpio_get_value(GPIO3_PALMLD_USB_DETECT_N);
-}
-
-static void power_supply_exit(struct device *dev)
-{
- gpio_free(GPIO3_PALMLD_USB_DETECT_N);
- gpio_free(GPIO4_PALMLD_POWER_DETECT);
-}
-
-static char *palmld_supplicants[] = {
- "main-battery",
-};
-
-static struct pda_power_pdata power_supply_info = {
- .init = power_supply_init,
- .is_ac_online = palmld_is_ac_online,
- .is_usb_online = palmld_is_usb_online,
- .exit = power_supply_exit,
- .supplied_to = palmld_supplicants,
- .num_supplicants = ARRAY_SIZE(palmld_supplicants),
-};
-
-static struct platform_device power_supply = {
- .name = "pda-power",
- .id = -1,
- .dev = {
- .platform_data = &power_supply_info,
- },
-};
-
-/******************************************************************************
- * WM97xx audio, battery
- ******************************************************************************/
-static struct wm97xx_batt_pdata palmld_batt_pdata = {
- .batt_aux = WM97XX_AUX_ID3,
- .temp_aux = WM97XX_AUX_ID2,
- .charge_gpio = -1,
- .max_voltage = PALMLD_BAT_MAX_VOLTAGE,
- .min_voltage = PALMLD_BAT_MIN_VOLTAGE,
- .batt_mult = 1000,
- .batt_div = 414,
- .temp_mult = 1,
- .temp_div = 1,
- .batt_tech = POWER_SUPPLY_TECHNOLOGY_LIPO,
- .batt_name = "main-batt",
-};
-
-static struct wm97xx_pdata palmld_wm97xx_pdata = {
- .batt_pdata = &palmld_batt_pdata,
-};
-
-static pxa2xx_audio_ops_t palmld_ac97_pdata = {
- .reset_gpio = 95,
- .codec_pdata = { &palmld_wm97xx_pdata, },
-};
-
-static struct palm27x_asoc_info palmld_asoc_pdata = {
- .jack_gpio = GPIO13_PALMLD_EARPHONE_DETECT,
-};
-
-static struct platform_device palmld_asoc = {
- .name = "palm27x-asoc",
- .id = -1,
- .dev = {
- .platform_data = &palmld_asoc_pdata,
- },
-};
-
-/******************************************************************************
* HDD
******************************************************************************/
static struct platform_device palmld_hdd = {
@@ -433,57 +249,13 @@ static struct platform_device palmld_hdd = {
};
/******************************************************************************
- * Framebuffer
- ******************************************************************************/
-static struct pxafb_mode_info palmld_lcd_modes[] = {
-{
- .pixclock = 57692,
- .xres = 320,
- .yres = 480,
- .bpp = 16,
-
- .left_margin = 32,
- .right_margin = 1,
- .upper_margin = 7,
- .lower_margin = 1,
-
- .hsync_len = 4,
- .vsync_len = 1,
-},
-};
-
-static struct pxafb_mach_info palmld_lcd_screen = {
- .modes = palmld_lcd_modes,
- .num_modes = ARRAY_SIZE(palmld_lcd_modes),
- .lcd_conn = LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL,
-};
-
-/******************************************************************************
- * Power management - standby
- ******************************************************************************/
-static void __init palmld_pm_init(void)
-{
- static u32 resume[] = {
- 0xe3a00101, /* mov r0, #0x40000000 */
- 0xe380060f, /* orr r0, r0, #0x00f00000 */
- 0xe590f008, /* ldr pc, [r0, #0x08] */
- };
-
- /* copy the bootloader */
- memcpy(phys_to_virt(PALMLD_STR_BASE), resume, sizeof(resume));
-}
-
-/******************************************************************************
* Machine init
******************************************************************************/
static struct platform_device *devices[] __initdata = {
#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
&palmld_pxa_keys,
#endif
- &palmld_backlight,
&palmld_leds,
- &power_supply,
- &palmld_asoc,
&palmld_hdd,
&palmld_flash,
};
@@ -509,21 +281,27 @@ static void __init palmld_map_io(void)
iotable_init(palmld_io_desc, ARRAY_SIZE(palmld_io_desc));
}
+struct palm27x_handheld palmld = {
+ .mmc_detect = GPIO14_PALMLD_SD_DETECT_N,
+ .mmc_ro = GPIO116_PALMLD_SD_READONLY,
+ .mmc_power = GPIO114_PALMLD_SD_POWER,
+ .pm_str_base = PALMLD_STR_BASE,
+ .irda_pwdn = GPIO108_PALMLD_IR_DISABLE,
+ .batt_minv = PALMLD_BAT_MIN_VOLTAGE,
+ .batt_maxv = PALMLD_BAT_MAX_VOLTAGE,
+ .jack_gpio = GPIO13_PALMLD_EARPHONE_DETECT,
+ .bl_bl = GPIO19_PALMLD_BL_POWER,
+ .bl_lcd = GPIO96_PALMLD_LCD_POWER,
+ .power_ac = GPIO4_PALMLD_POWER_DETECT,
+ .power_usb = GPIO3_PALMLD_USB_DETECT_N,
+ .lcd_power = -1,
+};
+
static void __init palmld_init(void)
{
pxa2xx_mfp_config(ARRAY_AND_SIZE(palmld_pin_config));
-
- pxa_set_ffuart_info(NULL);
- pxa_set_btuart_info(NULL);
- pxa_set_stuart_info(NULL);
-
- palmld_pm_init();
- set_pxa_fb_info(&palmld_lcd_screen);
- pxa_set_mci_info(&palmld_mci_platform_data);
- pxa_set_ac97_info(&palmld_ac97_pdata);
- pxa_set_ficp_info(&palmld_ficp_platform_data);
+ palm27x_common_init(&palmld);
pxa_set_keypad_info(&palmld_keypad_platform_data);
-
platform_add_devices(devices, ARRAY_SIZE(devices));
}
diff --git a/arch/arm/mach-pxa/palmt5.c b/arch/arm/mach-pxa/palmt5.c
index 8037cfc..6687868 100644
--- a/arch/arm/mach-pxa/palmt5.c
+++ b/arch/arm/mach-pxa/palmt5.c
@@ -41,6 +41,7 @@
#include <mach/pxa27x_keypad.h>
#include <mach/udc.h>
#include <mach/palmasoc.h>
+#include <mach/palm27x.h>
#include "generic.h"
#include "devices.h"
@@ -103,17 +104,6 @@ static unsigned long palmt5_pin_config[] __initdata = {
};
/******************************************************************************
- * SD/MMC card controller
- ******************************************************************************/
-static struct pxamci_platform_data palmt5_mci_platform_data = {
- .ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
- .gpio_card_detect = GPIO14_PALMT5_SD_DETECT_N,
- .gpio_card_ro = GPIO115_PALMT5_SD_READONLY,
- .gpio_power = GPIO114_PALMT5_SD_POWER,
- .detect_delay_ms = 200,
-};
-
-/******************************************************************************
* GPIO keyboard
******************************************************************************/
static unsigned int palmt5_matrix_keys[] = {
@@ -162,259 +152,32 @@ static struct platform_device palmt5_pxa_keys = {
};
/******************************************************************************
- * Backlight
- ******************************************************************************/
-static int palmt5_backlight_init(struct device *dev)
-{
- int ret;
-
- ret = gpio_request(GPIO84_PALMT5_BL_POWER, "BL POWER");
- if (ret)
- goto err;
- ret = gpio_direction_output(GPIO84_PALMT5_BL_POWER, 0);
- if (ret)
- goto err2;
- ret = gpio_request(GPIO96_PALMT5_LCD_POWER, "LCD POWER");
- if (ret)
- goto err2;
- ret = gpio_direction_output(GPIO96_PALMT5_LCD_POWER, 0);
- if (ret)
- goto err3;
-
- return 0;
-err3:
- gpio_free(GPIO96_PALMT5_LCD_POWER);
-err2:
- gpio_free(GPIO84_PALMT5_BL_POWER);
-err:
- return ret;
-}
-
-static int palmt5_backlight_notify(struct device *dev, int brightness)
-{
- gpio_set_value(GPIO84_PALMT5_BL_POWER, brightness);
- gpio_set_value(GPIO96_PALMT5_LCD_POWER, brightness);
- return brightness;
-}
-
-static void palmt5_backlight_exit(struct device *dev)
-{
- gpio_free(GPIO84_PALMT5_BL_POWER);
- gpio_free(GPIO96_PALMT5_LCD_POWER);
-}
-
-static struct platform_pwm_backlight_data palmt5_backlight_data = {
- .pwm_id = 0,
- .max_brightness = PALMT5_MAX_INTENSITY,
- .dft_brightness = PALMT5_MAX_INTENSITY,
- .pwm_period_ns = PALMT5_PERIOD_NS,
- .init = palmt5_backlight_init,
- .notify = palmt5_backlight_notify,
- .exit = palmt5_backlight_exit,
-};
-
-static struct platform_device palmt5_backlight = {
- .name = "pwm-backlight",
- .dev = {
- .parent = &pxa27x_device_pwm0.dev,
- .platform_data = &palmt5_backlight_data,
- },
-};
-
-/******************************************************************************
- * IrDA
- ******************************************************************************/
-static struct pxaficp_platform_data palmt5_ficp_platform_data = {
- .gpio_pwdown = GPIO40_PALMT5_IR_DISABLE,
- .transceiver_cap = IR_SIRMODE | IR_OFF,
-};
-
-/******************************************************************************
- * UDC
- ******************************************************************************/
-static struct gpio_vbus_mach_info palmt5_udc_info = {
- .gpio_vbus = GPIO15_PALMT5_USB_DETECT_N,
- .gpio_vbus_inverted = 1,
- .gpio_pullup = GPIO93_PALMT5_USB_PULLUP,
-};
-
-static struct platform_device palmt5_gpio_vbus = {
- .name = "gpio-vbus",
- .id = -1,
- .dev = {
- .platform_data = &palmt5_udc_info,
- },
-};
-
-/******************************************************************************
- * Power supply
- ******************************************************************************/
-static int power_supply_init(struct device *dev)
-{
- int ret;
-
- ret = gpio_request(GPIO90_PALMT5_POWER_DETECT, "CABLE_STATE_AC");
- if (ret)
- goto err1;
- ret = gpio_direction_input(GPIO90_PALMT5_POWER_DETECT);
- if (ret)
- goto err2;
-
- return 0;
-err2:
- gpio_free(GPIO90_PALMT5_POWER_DETECT);
-err1:
- return ret;
-}
-
-static int palmt5_is_ac_online(void)
-{
- return gpio_get_value(GPIO90_PALMT5_POWER_DETECT);
-}
-
-static void power_supply_exit(struct device *dev)
-{
- gpio_free(GPIO90_PALMT5_POWER_DETECT);
-}
-
-static char *palmt5_supplicants[] = {
- "main-battery",
-};
-
-static struct pda_power_pdata power_supply_info = {
- .init = power_supply_init,
- .is_ac_online = palmt5_is_ac_online,
- .exit = power_supply_exit,
- .supplied_to = palmt5_supplicants,
- .num_supplicants = ARRAY_SIZE(palmt5_supplicants),
-};
-
-static struct platform_device power_supply = {
- .name = "pda-power",
- .id = -1,
- .dev = {
- .platform_data = &power_supply_info,
- },
-};
-
-/******************************************************************************
- * WM97xx audio, battery
- ******************************************************************************/
-static struct wm97xx_batt_pdata palmt5_batt_pdata = {
- .batt_aux = WM97XX_AUX_ID3,
- .temp_aux = WM97XX_AUX_ID2,
- .charge_gpio = -1,
- .max_voltage = PALMT5_BAT_MAX_VOLTAGE,
- .min_voltage = PALMT5_BAT_MIN_VOLTAGE,
- .batt_mult = 1000,
- .batt_div = 414,
- .temp_mult = 1,
- .temp_div = 1,
- .batt_tech = POWER_SUPPLY_TECHNOLOGY_LIPO,
- .batt_name = "main-batt",
-};
-
-static struct wm97xx_pdata palmt5_wm97xx_pdata = {
- .batt_pdata = &palmt5_batt_pdata,
-};
-
-static pxa2xx_audio_ops_t palmt5_ac97_pdata = {
- .reset_gpio = 95,
- .codec_pdata = { &palmt5_wm97xx_pdata, },
-};
-
-static struct palm27x_asoc_info palmt5_asoc_pdata = {
- .jack_gpio = GPIO107_PALMT5_EARPHONE_DETECT,
-};
-
-static struct platform_device palmt5_asoc = {
- .name = "palm27x-asoc",
- .id = -1,
- .dev = {
- .platform_data = &palmt5_asoc_pdata,
- },
-};
-
-/******************************************************************************
- * Framebuffer
- ******************************************************************************/
-static struct pxafb_mode_info palmt5_lcd_modes[] = {
-{
- .pixclock = 57692,
- .xres = 320,
- .yres = 480,
- .bpp = 16,
-
- .left_margin = 32,
- .right_margin = 1,
- .upper_margin = 7,
- .lower_margin = 1,
-
- .hsync_len = 4,
- .vsync_len = 1,
-},
-};
-
-static struct pxafb_mach_info palmt5_lcd_screen = {
- .modes = palmt5_lcd_modes,
- .num_modes = ARRAY_SIZE(palmt5_lcd_modes),
- .lcd_conn = LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL,
-};
-
-/******************************************************************************
- * Power management - standby
- ******************************************************************************/
-static void __init palmt5_pm_init(void)
-{
- static u32 resume[] = {
- 0xe3a00101, /* mov r0, #0x40000000 */
- 0xe380060f, /* orr r0, r0, #0x00f00000 */
- 0xe590f008, /* ldr pc, [r0, #0x08] */
- };
-
- /* copy the bootloader */
- memcpy(phys_to_virt(PALMT5_STR_BASE), resume, sizeof(resume));
-}
-
-/******************************************************************************
* Machine init
******************************************************************************/
-static struct platform_device *devices[] __initdata = {
-#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
- &palmt5_pxa_keys,
-#endif
- &palmt5_backlight,
- &power_supply,
- &palmt5_asoc,
- &palmt5_gpio_vbus,
+struct palm27x_handheld palmt5 = {
+ .mmc_detect = GPIO14_PALMT5_SD_DETECT_N,
+ .mmc_ro = GPIO115_PALMT5_SD_READONLY,
+ .mmc_power = GPIO114_PALMT5_SD_POWER,
+ .pm_str_base = PALMT5_STR_BASE,
+ .udc_detect = GPIO15_PALMT5_USB_DETECT_N,
+ .udc_pullup = GPIO93_PALMT5_USB_PULLUP,
+ .irda_pwdn = GPIO40_PALMT5_IR_DISABLE,
+ .batt_minv = PALMT5_BAT_MIN_VOLTAGE,
+ .batt_maxv = PALMT5_BAT_MAX_VOLTAGE,
+ .jack_gpio = GPIO107_PALMT5_EARPHONE_DETECT,
+ .bl_bl = GPIO84_PALMT5_BL_POWER,
+ .bl_lcd = GPIO96_PALMT5_LCD_POWER,
+ .power_ac = GPIO90_PALMT5_POWER_DETECT,
+ .power_usb = -1,
+ .lcd_power = -1,
};
-/* setup udc GPIOs initial state */
-static void __init palmt5_udc_init(void)
-{
- if (!gpio_request(GPIO93_PALMT5_USB_PULLUP, "UDC Vbus")) {
- gpio_direction_output(GPIO93_PALMT5_USB_PULLUP, 1);
- gpio_free(GPIO93_PALMT5_USB_PULLUP);
- }
-}
-
static void __init palmt5_init(void)
{
pxa2xx_mfp_config(ARRAY_AND_SIZE(palmt5_pin_config));
-
- pxa_set_ffuart_info(NULL);
- pxa_set_btuart_info(NULL);
- pxa_set_stuart_info(NULL);
-
- palmt5_pm_init();
- set_pxa_fb_info(&palmt5_lcd_screen);
- pxa_set_mci_info(&palmt5_mci_platform_data);
- palmt5_udc_init();
- pxa_set_ac97_info(&palmt5_ac97_pdata);
- pxa_set_ficp_info(&palmt5_ficp_platform_data);
+ palm27x_common_init(&palmt5);
pxa_set_keypad_info(&palmt5_keypad_platform_data);
-
- platform_add_devices(devices, ARRAY_SIZE(devices));
+ platform_device_register(&palmt5_pxa_keys);
}
MACHINE_START(PALMT5, "Palm Tungsten|T5")
diff --git a/arch/arm/mach-pxa/palmtreo.c b/arch/arm/mach-pxa/palmtreo.c
index 4eb0258..dcb5f93 100644
--- a/arch/arm/mach-pxa/palmtreo.c
+++ b/arch/arm/mach-pxa/palmtreo.c
@@ -44,6 +44,7 @@
#include <mach/pxa2xx-regs.h>
#include <mach/palmasoc.h>
#include <mach/camera.h>
+#include <mach/palm27x.h>
#include <sound/pxa2xx-lib.h>
@@ -158,28 +159,6 @@ static unsigned long centro685_pin_config[] __initdata = {
#endif /* CONFIG_MACH_CENTRO */
/******************************************************************************
- * SD/MMC card controller
- ******************************************************************************/
-#ifdef CONFIG_MACH_TREO680
-static struct pxamci_platform_data treo680_mci_platform_data = {
- .ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
- .gpio_card_detect = GPIO_NR_TREO_SD_DETECT_N,
- .gpio_card_ro = GPIO_NR_TREO680_SD_READONLY,
- .gpio_power = GPIO_NR_TREO680_SD_POWER,
-};
-#endif /* CONFIG_MACH_TREO680 */
-
-#ifdef CONFIG_MACH_CENTRO
-static struct pxamci_platform_data centro_mci_platform_data = {
- .ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
- .gpio_card_detect = GPIO_NR_TREO_SD_DETECT_N,
- .gpio_card_ro = -1,
- .gpio_power = GPIO_NR_CENTRO_SD_POWER,
- .gpio_power_invert = 1,
-};
-#endif /* CONFIG_MACH_CENTRO */
-
-/******************************************************************************
* GPIO keyboard
******************************************************************************/
#ifdef CONFIG_MACH_TREO680
@@ -327,83 +306,6 @@ static struct pxa27x_keypad_platform_data centro_keypad_platform_data = {
#endif /* CONFIG_MACH_CENTRO */
/******************************************************************************
- * aSoC audio
- ******************************************************************************/
-
-static pxa2xx_audio_ops_t treo_ac97_pdata = {
- .reset_gpio = 95,
-};
-
-/******************************************************************************
- * Backlight
- ******************************************************************************/
-static int treo_backlight_init(struct device *dev)
-{
- int ret;
-
- ret = gpio_request(GPIO_NR_TREO_BL_POWER, "BL POWER");
- if (ret)
- goto err;
- ret = gpio_direction_output(GPIO_NR_TREO_BL_POWER, 0);
- if (ret)
- goto err2;
-
- return 0;
-
-err2:
- gpio_free(GPIO_NR_TREO_BL_POWER);
-err:
- return ret;
-}
-
-static int treo_backlight_notify(struct device *dev, int brightness)
-{
- gpio_set_value(GPIO_NR_TREO_BL_POWER, brightness);
- return TREO_MAX_INTENSITY - brightness;
-};
-
-static void treo_backlight_exit(struct device *dev)
-{
- gpio_free(GPIO_NR_TREO_BL_POWER);
-}
-
-static struct platform_pwm_backlight_data treo_backlight_data = {
- .pwm_id = 0,
- .max_brightness = TREO_MAX_INTENSITY,
- .dft_brightness = TREO_DEFAULT_INTENSITY,
- .pwm_period_ns = TREO_PERIOD_NS,
- .init = treo_backlight_init,
- .notify = treo_backlight_notify,
- .exit = treo_backlight_exit,
-};
-
-static struct platform_device treo_backlight = {
- .name = "pwm-backlight",
- .dev = {
- .parent = &pxa27x_device_pwm0.dev,
- .platform_data = &treo_backlight_data,
- },
-};
-
-/******************************************************************************
- * IrDA
- ******************************************************************************/
-static struct pxaficp_platform_data treo_ficp_info = {
- .gpio_pwdown = GPIO_NR_TREO_IR_EN,
- .transceiver_cap = IR_SIRMODE | IR_OFF,
-};
-
-/******************************************************************************
- * UDC
- ******************************************************************************/
-static struct pxa2xx_udc_mach_info treo_udc_info __initdata = {
- .gpio_vbus = GPIO_NR_TREO_USB_DETECT,
- .gpio_vbus_inverted = 1,
- .gpio_pullup = GPIO_NR_TREO_USB_PULLUP,
-};
-
-
-/******************************************************************************
* USB host
******************************************************************************/
#ifdef CONFIG_MACH_TREO680
@@ -415,58 +317,6 @@ static struct pxaohci_platform_data treo680_ohci_info = {
#endif /* CONFIG_MACH_TREO680 */
/******************************************************************************
- * Power supply
- ******************************************************************************/
-static int power_supply_init(struct device *dev)
-{
- int ret;
-
- ret = gpio_request(GPIO_NR_TREO_POWER_DETECT, "CABLE_STATE_AC");
- if (ret)
- goto err1;
- ret = gpio_direction_input(GPIO_NR_TREO_POWER_DETECT);
- if (ret)
- goto err2;
-
- return 0;
-
-err2:
- gpio_free(GPIO_NR_TREO_POWER_DETECT);
-err1:
- return ret;
-}
-
-static int treo_is_ac_online(void)
-{
- return gpio_get_value(GPIO_NR_TREO_POWER_DETECT);
-}
-
-static void power_supply_exit(struct device *dev)
-{
- gpio_free(GPIO_NR_TREO_POWER_DETECT);
-}
-
-static char *treo_supplicants[] = {
- "main-battery",
-};
-
-static struct pda_power_pdata power_supply_info = {
- .init = power_supply_init,
- .is_ac_online = treo_is_ac_online,
- .exit = power_supply_exit,
- .supplied_to = treo_supplicants,
- .num_supplicants = ARRAY_SIZE(treo_supplicants),
-};
-
-static struct platform_device power_supply = {
- .name = "pda-power",
- .id = -1,
- .dev = {
- .platform_data = &power_supply_info,
- },
-};
-
-/******************************************************************************
* Vibra and LEDs
******************************************************************************/
#ifdef CONFIG_MACH_TREO680
@@ -537,60 +387,8 @@ static struct platform_device centro_leds = {
#endif /* CONFIG_MACH_CENTRO */
/******************************************************************************
- * Framebuffer
- ******************************************************************************/
-/* TODO: add support for 324x324 */
-static struct pxafb_mode_info treo_lcd_modes[] = {
-{
- .pixclock = 86538,
- .xres = 320,
- .yres = 320,
- .bpp = 16,
-
- .left_margin = 20,
- .right_margin = 8,
- .upper_margin = 8,
- .lower_margin = 5,
-
- .hsync_len = 4,
- .vsync_len = 1,
-},
-};
-
-static void treo_lcd_power(int on, struct fb_var_screeninfo *info)
-{
- gpio_set_value(GPIO_NR_TREO_BL_POWER, on);
-}
-
-static struct pxafb_mach_info treo_lcd_screen = {
- .modes = treo_lcd_modes,
- .num_modes = ARRAY_SIZE(treo_lcd_modes),
- .lcd_conn = LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL,
-};
-
-/******************************************************************************
- * Power management - standby
- ******************************************************************************/
-static void __init treo_pm_init(void)
-{
- static u32 resume[] = {
- 0xe3a00101, /* mov r0, #0x40000000 */
- 0xe380060f, /* orr r0, r0, #0x00f00000 */
- 0xe590f008, /* ldr pc, [r0, #0x08] */
- };
-
- /* this is where the bootloader jumps */
- memcpy(phys_to_virt(TREO_STR_BASE), resume, sizeof(resume));
-}
-
-/******************************************************************************
* Machine init
******************************************************************************/
-static struct platform_device *treo_devices[] __initdata = {
- &treo_backlight,
- &power_supply,
-};
-
#ifdef CONFIG_MACH_TREO680
static struct platform_device *treo680_devices[] __initdata = {
&treo680_leds,
@@ -603,62 +401,29 @@ static struct platform_device *centro_devices[] __initdata = {
};
#endif /* CONFIG_MACH_CENTRO */
-/* setup udc GPIOs initial state */
-static void __init treo_udc_init(void)
-{
- if (!gpio_request(GPIO_NR_TREO_USB_PULLUP, "UDC Vbus")) {
- gpio_direction_output(GPIO_NR_TREO_USB_PULLUP, 1);
- gpio_free(GPIO_NR_TREO_USB_PULLUP);
- }
-}
-
-static void __init treo_lcd_power_init(void)
-{
- int ret;
-
- ret = gpio_request(GPIO_NR_TREO_LCD_POWER, "LCD POWER");
- if (ret) {
- pr_err("Treo680: LCD power GPIO request failed!\n");
- return;
- }
-
- ret = gpio_direction_output(GPIO_NR_TREO_LCD_POWER, 0);
- if (ret) {
- pr_err("Treo680: setting LCD power GPIO direction failed!\n");
- gpio_free(GPIO_NR_TREO_LCD_POWER);
- return;
- }
-
- treo_lcd_screen.pxafb_lcd_power = treo_lcd_power;
-}
-
-static void __init treo_init(void)
-{
- pxa_set_ffuart_info(NULL);
- pxa_set_btuart_info(NULL);
- pxa_set_stuart_info(NULL);
-
- treo_pm_init();
- pxa2xx_mfp_config(ARRAY_AND_SIZE(treo_pin_config));
- treo_lcd_power_init();
- set_pxa_fb_info(&treo_lcd_screen);
- treo_udc_init();
- pxa_set_udc_info(&treo_udc_info);
- pxa_set_ac97_info(&treo_ac97_pdata);
- pxa_set_ficp_info(&treo_ficp_info);
-
- platform_add_devices(ARRAY_AND_SIZE(treo_devices));
-}
-
#ifdef CONFIG_MACH_TREO680
+struct palm27x_handheld palmtreo680 = {
+ .mmc_detect = GPIO_NR_TREO_SD_DETECT_N,
+ .mmc_ro = GPIO_NR_TREO680_SD_READONLY,
+ .mmc_power = GPIO_NR_TREO680_SD_POWER,
+ .pm_str_base = TREO_STR_BASE,
+ .udc_detect = GPIO_NR_TREO_USB_DETECT,
+ .udc_pullup = GPIO_NR_TREO_USB_PULLUP,
+ .irda_pwdn = GPIO_NR_TREO_IR_EN,
+ .bl_bl = GPIO_NR_TREO_BL_POWER,
+ .bl_lcd = -1,
+ .power_ac = GPIO_NR_TREO_POWER_DETECT,
+ .power_usb = -1,
+ .lcd_power = GPIO_NR_TREO_BL_POWER,
+};
+
static void __init treo680_init(void)
{
- treo_init();
+ pxa2xx_mfp_config(ARRAY_AND_SIZE(treo_pin_config));
pxa2xx_mfp_config(ARRAY_AND_SIZE(treo680_pin_config));
- pxa_set_mci_info(&treo680_mci_platform_data);
+ palm27x_common_init(&palmtreo680);
pxa_set_keypad_info(&treo680_keypad_platform_data);
pxa_set_ohci_info(&treo680_ohci_info);
-
platform_add_devices(ARRAY_AND_SIZE(treo680_devices));
}
@@ -674,14 +439,27 @@ MACHINE_END
#endif /* CONFIG_MACH_TREO680 */
#ifdef CONFIG_MACH_CENTRO
+struct palm27x_handheld palmcentro = {
+ .mmc_detect = GPIO_NR_TREO_SD_DETECT_N,
+ .mmc_ro = -1,
+ .mmc_power = GPIO_NR_CENTRO_SD_POWER,
+ .pm_str_base = TREO_STR_BASE,
+ .udc_detect = GPIO_NR_TREO_USB_DETECT,
+ .udc_pullup = GPIO_NR_TREO_USB_PULLUP,
+ .irda_pwdn = GPIO_NR_TREO_IR_EN,
+ .bl_bl = GPIO_NR_TREO_BL_POWER,
+ .bl_lcd = -1,
+ .power_ac = GPIO_NR_TREO_POWER_DETECT,
+ .power_usb = -1,
+ .lcd_power = GPIO_NR_TREO_BL_POWER,
+};
+
static void __init centro_init(void)
{
- treo_init();
+ pxa2xx_mfp_config(ARRAY_AND_SIZE(treo_pin_config));
pxa2xx_mfp_config(ARRAY_AND_SIZE(centro685_pin_config));
- pxa_set_mci_info(¢ro_mci_platform_data);
-
+ palm27x_common_init(&palmcentro);
pxa_set_keypad_info(¢ro_keypad_platform_data);
-
platform_add_devices(ARRAY_AND_SIZE(centro_devices));
}
diff --git a/arch/arm/mach-pxa/palmtx.c b/arch/arm/mach-pxa/palmtx.c
index a835034..0e3de4b 100644
--- a/arch/arm/mach-pxa/palmtx.c
+++ b/arch/arm/mach-pxa/palmtx.c
@@ -46,6 +46,7 @@
#include <mach/pxa27x_keypad.h>
#include <mach/udc.h>
#include <mach/palmasoc.h>
+#include <mach/palm27x.h>
#include "generic.h"
#include "devices.h"
@@ -163,17 +164,6 @@ static struct platform_device palmtx_flash = {
};
/******************************************************************************
- * SD/MMC card controller
- ******************************************************************************/
-static struct pxamci_platform_data palmtx_mci_platform_data = {
- .ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
- .gpio_card_detect = GPIO14_PALMTX_SD_DETECT_N,
- .gpio_card_ro = GPIO115_PALMTX_SD_READONLY,
- .gpio_power = GPIO114_PALMTX_SD_POWER,
- .detect_delay_ms = 200,
-};
-
-/******************************************************************************
* GPIO keyboard
******************************************************************************/
static unsigned int palmtx_matrix_keys[] = {
@@ -222,207 +212,6 @@ static struct platform_device palmtx_pxa_keys = {
};
/******************************************************************************
- * Backlight
- ******************************************************************************/
-static int palmtx_backlight_init(struct device *dev)
-{
- int ret;
-
- ret = gpio_request(GPIO84_PALMTX_BL_POWER, "BL POWER");
- if (ret)
- goto err;
- ret = gpio_direction_output(GPIO84_PALMTX_BL_POWER, 0);
- if (ret)
- goto err2;
- ret = gpio_request(GPIO96_PALMTX_LCD_POWER, "LCD POWER");
- if (ret)
- goto err2;
- ret = gpio_direction_output(GPIO96_PALMTX_LCD_POWER, 0);
- if (ret)
- goto err3;
-
- return 0;
-err3:
- gpio_free(GPIO96_PALMTX_LCD_POWER);
-err2:
- gpio_free(GPIO84_PALMTX_BL_POWER);
-err:
- return ret;
-}
-
-static int palmtx_backlight_notify(struct device *dev, int brightness)
-{
- gpio_set_value(GPIO84_PALMTX_BL_POWER, brightness);
- gpio_set_value(GPIO96_PALMTX_LCD_POWER, brightness);
- return brightness;
-}
-
-static void palmtx_backlight_exit(struct device *dev)
-{
- gpio_free(GPIO84_PALMTX_BL_POWER);
- gpio_free(GPIO96_PALMTX_LCD_POWER);
-}
-
-static struct platform_pwm_backlight_data palmtx_backlight_data = {
- .pwm_id = 0,
- .max_brightness = PALMTX_MAX_INTENSITY,
- .dft_brightness = PALMTX_MAX_INTENSITY,
- .pwm_period_ns = PALMTX_PERIOD_NS,
- .init = palmtx_backlight_init,
- .notify = palmtx_backlight_notify,
- .exit = palmtx_backlight_exit,
-};
-
-static struct platform_device palmtx_backlight = {
- .name = "pwm-backlight",
- .dev = {
- .parent = &pxa27x_device_pwm0.dev,
- .platform_data = &palmtx_backlight_data,
- },
-};
-
-/******************************************************************************
- * IrDA
- ******************************************************************************/
-static struct pxaficp_platform_data palmtx_ficp_platform_data = {
- .gpio_pwdown = GPIO40_PALMTX_IR_DISABLE,
- .transceiver_cap = IR_SIRMODE | IR_OFF,
-};
-
-/******************************************************************************
- * UDC
- ******************************************************************************/
-static struct gpio_vbus_mach_info palmtx_udc_info = {
- .gpio_vbus = GPIO13_PALMTX_USB_DETECT_N,
- .gpio_vbus_inverted = 1,
- .gpio_pullup = GPIO93_PALMTX_USB_PULLUP,
-};
-
-static struct platform_device palmtx_gpio_vbus = {
- .name = "gpio-vbus",
- .id = -1,
- .dev = {
- .platform_data = &palmtx_udc_info,
- },
-};
-
-/******************************************************************************
- * Power supply
- ******************************************************************************/
-static int power_supply_init(struct device *dev)
-{
- int ret;
-
- ret = gpio_request(GPIO12_PALMTX_POWER_DETECT, "CABLE_STATE_AC");
- if (ret)
- goto err1;
- ret = gpio_direction_input(GPIO12_PALMTX_POWER_DETECT);
- if (ret)
- goto err2;
-
- return 0;
-
-err2:
- gpio_free(GPIO12_PALMTX_POWER_DETECT);
-err1:
- return ret;
-}
-
-static int palmtx_is_ac_online(void)
-{
- return gpio_get_value(GPIO12_PALMTX_POWER_DETECT);
-}
-
-static void power_supply_exit(struct device *dev)
-{
- gpio_free(GPIO12_PALMTX_POWER_DETECT);
-}
-
-static char *palmtx_supplicants[] = {
- "main-battery",
-};
-
-static struct pda_power_pdata power_supply_info = {
- .init = power_supply_init,
- .is_ac_online = palmtx_is_ac_online,
- .exit = power_supply_exit,
- .supplied_to = palmtx_supplicants,
- .num_supplicants = ARRAY_SIZE(palmtx_supplicants),
-};
-
-static struct platform_device power_supply = {
- .name = "pda-power",
- .id = -1,
- .dev = {
- .platform_data = &power_supply_info,
- },
-};
-
-/******************************************************************************
- * WM97xx audio, battery
- ******************************************************************************/
-static struct wm97xx_batt_pdata palmtx_batt_pdata = {
- .batt_aux = WM97XX_AUX_ID3,
- .temp_aux = WM97XX_AUX_ID2,
- .charge_gpio = -1,
- .max_voltage = PALMTX_BAT_MAX_VOLTAGE,
- .min_voltage = PALMTX_BAT_MIN_VOLTAGE,
- .batt_mult = 1000,
- .batt_div = 414,
- .temp_mult = 1,
- .temp_div = 1,
- .batt_tech = POWER_SUPPLY_TECHNOLOGY_LIPO,
- .batt_name = "main-batt",
-};
-
-static struct wm97xx_pdata palmtx_wm97xx_pdata = {
- .batt_pdata = &palmtx_batt_pdata,
-};
-
-static pxa2xx_audio_ops_t palmtx_ac97_pdata = {
- .reset_gpio = 95,
- .codec_pdata = { &palmtx_wm97xx_pdata, },
-};
-
-static struct palm27x_asoc_info palmtx_asoc_pdata = {
- .jack_gpio = GPIO107_PALMTX_EARPHONE_DETECT,
-};
-
-static struct platform_device palmtx_asoc = {
- .name = "palm27x-asoc",
- .id = -1,
- .dev = {
- .platform_data = &palmtx_asoc_pdata,
- },
-};
-
-/******************************************************************************
- * Framebuffer
- ******************************************************************************/
-static struct pxafb_mode_info palmtx_lcd_modes[] = {
-{
- .pixclock = 57692,
- .xres = 320,
- .yres = 480,
- .bpp = 16,
-
- .left_margin = 32,
- .right_margin = 1,
- .upper_margin = 7,
- .lower_margin = 1,
-
- .hsync_len = 4,
- .vsync_len = 1,
-},
-};
-
-static struct pxafb_mach_info palmtx_lcd_screen = {
- .modes = palmtx_lcd_modes,
- .num_modes = ARRAY_SIZE(palmtx_lcd_modes),
- .lcd_conn = LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL,
-};
-
-/******************************************************************************
* NAND Flash
******************************************************************************/
static void palmtx_nand_cmd_ctl(struct mtd_info *mtd, int cmd,
@@ -484,20 +273,6 @@ static struct platform_device palmtx_nand = {
}
};
-/******************************************************************************
- * Power management - standby
- ******************************************************************************/
-static void __init palmtx_pm_init(void)
-{
- static u32 resume[] = {
- 0xe3a00101, /* mov r0, #0x40000000 */
- 0xe380060f, /* orr r0, r0, #0x00f00000 */
- 0xe590f008, /* ldr pc, [r0, #0x08] */
- };
-
- /* copy the bootloader */
- memcpy(phys_to_virt(PALMTX_STR_BASE), resume, sizeof(resume));
-}
/******************************************************************************
* Machine init
@@ -506,10 +281,6 @@ static struct platform_device *devices[] __initdata = {
#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
&palmtx_pxa_keys,
#endif
- &palmtx_backlight,
- &power_supply,
- &palmtx_asoc,
- &palmtx_gpio_vbus,
&palmtx_flash,
&palmtx_nand,
};
@@ -539,32 +310,29 @@ static void __init palmtx_map_io(void)
iotable_init(palmtx_io_desc, ARRAY_SIZE(palmtx_io_desc));
}
-/* setup udc GPIOs initial state */
-static void __init palmtx_udc_init(void)
-{
- if (!gpio_request(GPIO93_PALMTX_USB_PULLUP, "UDC Vbus")) {
- gpio_direction_output(GPIO93_PALMTX_USB_PULLUP, 1);
- gpio_free(GPIO93_PALMTX_USB_PULLUP);
- }
-}
-
+struct palm27x_handheld palmtx = {
+ .mmc_detect = GPIO14_PALMTX_SD_DETECT_N,
+ .mmc_ro = GPIO115_PALMTX_SD_READONLY,
+ .mmc_power = GPIO114_PALMTX_SD_POWER,
+ .pm_str_base = PALMTX_STR_BASE,
+ .udc_detect = GPIO13_PALMTX_USB_DETECT_N,
+ .udc_pullup = GPIO93_PALMTX_USB_PULLUP,
+ .irda_pwdn = GPIO40_PALMTX_IR_DISABLE,
+ .batt_minv = PALMTX_BAT_MIN_VOLTAGE,
+ .batt_maxv = PALMTX_BAT_MAX_VOLTAGE,
+ .jack_gpio = GPIO107_PALMTX_EARPHONE_DETECT,
+ .bl_bl = GPIO84_PALMTX_BL_POWER,
+ .bl_lcd = GPIO96_PALMTX_LCD_POWER,
+ .power_ac = GPIO12_PALMTX_POWER_DETECT,
+ .power_usb = -1,
+ .lcd_power = -1,
+};
static void __init palmtx_init(void)
{
pxa2xx_mfp_config(ARRAY_AND_SIZE(palmtx_pin_config));
-
- pxa_set_ffuart_info(NULL);
- pxa_set_btuart_info(NULL);
- pxa_set_stuart_info(NULL);
-
- palmtx_pm_init();
- set_pxa_fb_info(&palmtx_lcd_screen);
- pxa_set_mci_info(&palmtx_mci_platform_data);
- palmtx_udc_init();
- pxa_set_ac97_info(&palmtx_ac97_pdata);
- pxa_set_ficp_info(&palmtx_ficp_platform_data);
+ palm27x_common_init(&palmtx);
pxa_set_keypad_info(&palmtx_keypad_platform_data);
-
platform_add_devices(devices, ARRAY_SIZE(devices));
}
diff --git a/arch/arm/mach-pxa/palmz72.c b/arch/arm/mach-pxa/palmz72.c
index 91bc5a3..ecf486c 100644
--- a/arch/arm/mach-pxa/palmz72.c
+++ b/arch/arm/mach-pxa/palmz72.c
@@ -44,6 +44,7 @@
#include <mach/pxa27x_keypad.h>
#include <mach/udc.h>
#include <mach/palmasoc.h>
+#include <mach/palm27x.h>
#include <mach/pm.h>
@@ -109,19 +110,6 @@ static unsigned long palmz72_pin_config[] __initdata = {
};
/******************************************************************************
- * SD/MMC card controller
- ******************************************************************************/
-/* SD_POWER is not actually power, but it is more like chip
- * select, i.e. it is inverted */
-static struct pxamci_platform_data palmz72_mci_platform_data = {
- .ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
- .gpio_card_detect = GPIO14_PALMZ72_SD_DETECT_N,
- .gpio_card_ro = GPIO115_PALMZ72_SD_RO,
- .gpio_power = GPIO98_PALMZ72_SD_POWER_N,
- .gpio_power_invert = 1,
-};
-
-/******************************************************************************
* GPIO keyboard
******************************************************************************/
static unsigned int palmz72_matrix_keys[] = {
@@ -150,74 +138,6 @@ static struct pxa27x_keypad_platform_data palmz72_keypad_platform_data = {
};
/******************************************************************************
- * Backlight
- ******************************************************************************/
-static int palmz72_backlight_init(struct device *dev)
-{
- int ret;
-
- ret = gpio_request(GPIO20_PALMZ72_BL_POWER, "BL POWER");
- if (ret)
- goto err;
- ret = gpio_direction_output(GPIO20_PALMZ72_BL_POWER, 0);
- if (ret)
- goto err2;
- ret = gpio_request(GPIO96_PALMZ72_LCD_POWER, "LCD POWER");
- if (ret)
- goto err2;
- ret = gpio_direction_output(GPIO96_PALMZ72_LCD_POWER, 0);
- if (ret)
- goto err3;
-
- return 0;
-err3:
- gpio_free(GPIO96_PALMZ72_LCD_POWER);
-err2:
- gpio_free(GPIO20_PALMZ72_BL_POWER);
-err:
- return ret;
-}
-
-static int palmz72_backlight_notify(struct device *dev, int brightness)
-{
- gpio_set_value(GPIO20_PALMZ72_BL_POWER, brightness);
- gpio_set_value(GPIO96_PALMZ72_LCD_POWER, brightness);
- return brightness;
-}
-
-static void palmz72_backlight_exit(struct device *dev)
-{
- gpio_free(GPIO20_PALMZ72_BL_POWER);
- gpio_free(GPIO96_PALMZ72_LCD_POWER);
-}
-
-static struct platform_pwm_backlight_data palmz72_backlight_data = {
- .pwm_id = 0,
- .max_brightness = PALMZ72_MAX_INTENSITY,
- .dft_brightness = PALMZ72_MAX_INTENSITY,
- .pwm_period_ns = PALMZ72_PERIOD_NS,
- .init = palmz72_backlight_init,
- .notify = palmz72_backlight_notify,
- .exit = palmz72_backlight_exit,
-};
-
-static struct platform_device palmz72_backlight = {
- .name = "pwm-backlight",
- .dev = {
- .parent = &pxa27x_device_pwm0.dev,
- .platform_data = &palmz72_backlight_data,
- },
-};
-
-/******************************************************************************
- * IrDA
- ******************************************************************************/
-static struct pxaficp_platform_data palmz72_ficp_platform_data = {
- .gpio_pwdown = GPIO49_PALMZ72_IR_DISABLE,
- .transceiver_cap = IR_SIRMODE | IR_OFF,
-};
-
-/******************************************************************************
* LEDs
******************************************************************************/
static struct gpio_led gpio_leds[] = {
@@ -241,145 +161,6 @@ static struct platform_device palmz72_leds = {
}
};
-/******************************************************************************
- * UDC
- ******************************************************************************/
-static struct gpio_vbus_mach_info palmz72_udc_info = {
- .gpio_vbus = GPIO15_PALMZ72_USB_DETECT_N,
- .gpio_pullup = GPIO95_PALMZ72_USB_PULLUP,
-};
-
-static struct platform_device palmz72_gpio_vbus = {
- .name = "gpio-vbus",
- .id = -1,
- .dev = {
- .platform_data = &palmz72_udc_info,
- },
-};
-
-/******************************************************************************
- * Power supply
- ******************************************************************************/
-static int power_supply_init(struct device *dev)
-{
- int ret;
-
- ret = gpio_request(GPIO0_PALMZ72_POWER_DETECT, "CABLE_STATE_AC");
- if (ret)
- goto err1;
- ret = gpio_direction_input(GPIO0_PALMZ72_POWER_DETECT);
- if (ret)
- goto err2;
-
- ret = gpio_request(GPIO15_PALMZ72_USB_DETECT_N, "CABLE_STATE_USB");
- if (ret)
- goto err2;
- ret = gpio_direction_input(GPIO15_PALMZ72_USB_DETECT_N);
- if (ret)
- goto err3;
-
- return 0;
-err3:
- gpio_free(GPIO15_PALMZ72_USB_DETECT_N);
-err2:
- gpio_free(GPIO0_PALMZ72_POWER_DETECT);
-err1:
- return ret;
-}
-
-static int palmz72_is_ac_online(void)
-{
- return gpio_get_value(GPIO0_PALMZ72_POWER_DETECT);
-}
-
-static int palmz72_is_usb_online(void)
-{
- return !gpio_get_value(GPIO15_PALMZ72_USB_DETECT_N);
-}
-
-static void power_supply_exit(struct device *dev)
-{
- gpio_free(GPIO15_PALMZ72_USB_DETECT_N);
- gpio_free(GPIO0_PALMZ72_POWER_DETECT);
-}
-
-static char *palmz72_supplicants[] = {
- "main-battery",
-};
-
-static struct pda_power_pdata power_supply_info = {
- .init = power_supply_init,
- .is_ac_online = palmz72_is_ac_online,
- .is_usb_online = palmz72_is_usb_online,
- .exit = power_supply_exit,
- .supplied_to = palmz72_supplicants,
- .num_supplicants = ARRAY_SIZE(palmz72_supplicants),
-};
-
-static struct platform_device power_supply = {
- .name = "pda-power",
- .id = -1,
- .dev = {
- .platform_data = &power_supply_info,
- },
-};
-
-/******************************************************************************
- * WM97xx audio, battery
- ******************************************************************************/
-static struct wm97xx_batt_pdata palmz72_batt_pdata = {
- .batt_aux = WM97XX_AUX_ID3,
- .temp_aux = WM97XX_AUX_ID2,
- .charge_gpio = -1,
- .max_voltage = PALMZ72_BAT_MAX_VOLTAGE,
- .min_voltage = PALMZ72_BAT_MIN_VOLTAGE,
- .batt_mult = 1000,
- .batt_div = 414,
- .temp_mult = 1,
- .temp_div = 1,
- .batt_tech = POWER_SUPPLY_TECHNOLOGY_LIPO,
- .batt_name = "main-batt",
-};
-
-static struct wm97xx_pdata palmz72_wm97xx_pdata = {
- .batt_pdata = &palmz72_batt_pdata,
-};
-
-static pxa2xx_audio_ops_t palmz72_ac97_pdata = {
- .codec_pdata = { &palmz72_wm97xx_pdata, },
-};
-
-static struct platform_device palmz72_asoc = {
- .name = "palm27x-asoc",
- .id = -1,
-};
-
-/******************************************************************************
- * Framebuffer
- ******************************************************************************/
-static struct pxafb_mode_info palmz72_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,
-},
-};
-
-static struct pxafb_mach_info palmz72_lcd_screen = {
- .modes = palmz72_lcd_modes,
- .num_modes = ARRAY_SIZE(palmz72_lcd_modes),
- .lcd_conn = LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL,
-};
-
#ifdef CONFIG_PM
/* We have some black magic here
@@ -457,39 +238,25 @@ device_initcall(palmz72_pm_init);
/******************************************************************************
* Machine init
******************************************************************************/
-static struct platform_device *devices[] __initdata = {
- &palmz72_backlight,
- &palmz72_leds,
- &palmz72_asoc,
- &power_supply,
- &palmz72_gpio_vbus,
+struct palm27x_handheld palmz72 = {
+ .mmc_detect = GPIO14_PALMZ72_SD_DETECT_N,
+ .mmc_ro = GPIO115_PALMZ72_SD_RO,
+ .mmc_power = GPIO98_PALMZ72_SD_POWER_N,
+ .pm_str_base = 0,
+ .udc_detect = GPIO15_PALMZ72_USB_DETECT_N,
+ .udc_pullup = GPIO95_PALMZ72_USB_PULLUP,
+ .irda_pwdn = GPIO49_PALMZ72_IR_DISABLE,
+ .batt_minv = PALMZ72_BAT_MIN_VOLTAGE,
+ .batt_maxv = PALMZ72_BAT_MAX_VOLTAGE,
+ .lcd_power = -1,
};
-/* setup udc GPIOs initial state */
-static void __init palmz72_udc_init(void)
-{
- if (!gpio_request(GPIO95_PALMZ72_USB_PULLUP, "USB Pullup")) {
- gpio_direction_output(GPIO95_PALMZ72_USB_PULLUP, 0);
- gpio_free(GPIO95_PALMZ72_USB_PULLUP);
- }
-}
-
static void __init palmz72_init(void)
{
pxa2xx_mfp_config(ARRAY_AND_SIZE(palmz72_pin_config));
-
- pxa_set_ffuart_info(NULL);
- pxa_set_btuart_info(NULL);
- pxa_set_stuart_info(NULL);
-
- set_pxa_fb_info(&palmz72_lcd_screen);
- pxa_set_mci_info(&palmz72_mci_platform_data);
- palmz72_udc_init();
- pxa_set_ac97_info(&palmz72_ac97_pdata);
- pxa_set_ficp_info(&palmz72_ficp_platform_data);
+ palm27x_common_init(&palmz72);
pxa_set_keypad_info(&palmz72_keypad_platform_data);
-
- platform_add_devices(devices, ARRAY_SIZE(devices));
+ platform_device_register(&palmz72_leds);
}
MACHINE_START(PALMZ72, "Palm Zire72")
--
1.7.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 4/5] pxa: Add core pmic support for Palm27x
2010-07-13 7:51 [PATCH 1/5] pxa: Sane naming of gpios for palm platform Marek Vasut
2010-07-13 7:51 ` [PATCH v2 2/5] pxa: Introduce Palm27x Marek Vasut
2010-07-13 7:51 ` [PATCH v2 3/5] pxa: Flip Palm LD, TX, T5, Z72 to Palm27x Marek Vasut
@ 2010-07-13 7:51 ` Marek Vasut
2010-07-13 7:51 ` [PATCH 5/5] pxa: Modularize remnants of code in Palms Marek Vasut
3 siblings, 0 replies; 6+ messages in thread
From: Marek Vasut @ 2010-07-13 7:51 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
arch/arm/mach-pxa/palm27x.c | 57 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 57 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-pxa/palm27x.c b/arch/arm/mach-pxa/palm27x.c
index ff5ee8c..a1009ec 100644
--- a/arch/arm/mach-pxa/palm27x.c
+++ b/arch/arm/mach-pxa/palm27x.c
@@ -21,6 +21,7 @@
#include <linux/wm97xx.h>
#include <linux/power_supply.h>
#include <linux/usb/gpio_vbus.h>
+#include <linux/regulator/max1586.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
@@ -35,6 +36,8 @@
#include <mach/palmasoc.h>
#include <mach/palm27x.h>
+#include <plat/i2c.h>
+
#include "generic.h"
#include "devices.h"
@@ -458,6 +461,59 @@ static void __init palm27x_power_init(int ac, int usb)
static inline void palm27x_power_init(int ac, int usb) {}
#endif
+/******************************************************************************
+ * Core power regulator
+ ******************************************************************************/
+#if defined(CONFIG_REGULATOR_MAX1586) || \
+ defined(CONFIG_REGULATOR_MAX1586_MODULE)
+static struct regulator_consumer_supply palm27x_max1587a_consumers[] = {
+ {
+ .supply = "vcc_core",
+ }
+};
+
+static struct regulator_init_data palm27x_max1587a_v3_info = {
+ .constraints = {
+ .name = "vcc_core range",
+ .min_uV = 900000,
+ .max_uV = 1705000,
+ .always_on = 1,
+ .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE,
+ },
+ .consumer_supplies = palm27x_max1587a_consumers,
+ .num_consumer_supplies = ARRAY_SIZE(palm27x_max1587a_consumers),
+};
+
+static struct max1586_subdev_data palm27x_max1587a_subdevs[] = {
+ {
+ .name = "vcc_core",
+ .id = MAX1586_V3,
+ .platform_data = &palm27x_max1587a_v3_info,
+ }
+};
+
+static struct max1586_platform_data palm27x_max1587a_info = {
+ .subdevs = palm27x_max1587a_subdevs,
+ .num_subdevs = ARRAY_SIZE(palm27x_max1587a_subdevs),
+ .v3_gain = MAX1586_GAIN_R24_3k32, /* 730..1550 mV */
+};
+
+static struct i2c_board_info __initdata palm27x_pi2c_board_info[] = {
+ {
+ I2C_BOARD_INFO("max1586", 0x14),
+ .platform_data = &palm27x_max1587a_info,
+ },
+};
+
+static void __init palm27x_pmic_init(void)
+{
+ i2c_register_board_info(1, ARRAY_AND_SIZE(palm27x_pi2c_board_info));
+ pxa27x_set_i2c_power_info(NULL);
+}
+#else
+static inline void palm27x_pmic_init(void) {}
+#endif
+
void __init palm27x_common_init(struct palm27x_handheld *palm)
{
pxa_set_ffuart_info(NULL);
@@ -472,4 +528,5 @@ void __init palm27x_common_init(struct palm27x_handheld *palm)
palm27x_ac97_init(palm->batt_minv, palm->batt_maxv, palm->jack_gpio);
palm27x_pwm_init(palm->bl_bl, palm->bl_lcd);
palm27x_power_init(palm->power_ac, palm->power_usb);
+ palm27x_pmic_init();
}
--
1.7.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 5/5] pxa: Modularize remnants of code in Palms
2010-07-13 7:51 [PATCH 1/5] pxa: Sane naming of gpios for palm platform Marek Vasut
` (2 preceding siblings ...)
2010-07-13 7:51 ` [PATCH 4/5] pxa: Add core pmic support for Palm27x Marek Vasut
@ 2010-07-13 7:51 ` Marek Vasut
3 siblings, 0 replies; 6+ messages in thread
From: Marek Vasut @ 2010-07-13 7:51 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
arch/arm/mach-pxa/palmld.c | 63 +++++++++++++++----
arch/arm/mach-pxa/palmt5.c | 22 ++++++-
arch/arm/mach-pxa/palmtreo.c | 141 ++++++++++++++++++++----------------------
arch/arm/mach-pxa/palmtx.c | 49 ++++++++++++---
arch/arm/mach-pxa/palmz72.c | 22 ++++++-
5 files changed, 196 insertions(+), 101 deletions(-)
diff --git a/arch/arm/mach-pxa/palmld.c b/arch/arm/mach-pxa/palmld.c
index 263ab6a..569a666 100644
--- a/arch/arm/mach-pxa/palmld.c
+++ b/arch/arm/mach-pxa/palmld.c
@@ -128,6 +128,7 @@ static unsigned long palmld_pin_config[] __initdata = {
/******************************************************************************
* NOR Flash
******************************************************************************/
+#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
static struct mtd_partition palmld_partitions[] = {
{
.name = "Flash",
@@ -161,9 +162,18 @@ static struct platform_device palmld_flash = {
},
};
+static void __init palmld_nor_init(void)
+{
+ platform_device_register(&palmld_flash);
+}
+#else
+static inline void palmld_nor_init(void) {}
+#endif
+
/******************************************************************************
* GPIO keyboard
******************************************************************************/
+#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
static unsigned int palmld_matrix_keys[] = {
KEY(0, 1, KEY_F2),
KEY(0, 2, KEY_UP),
@@ -190,9 +200,18 @@ static struct pxa27x_keypad_platform_data palmld_keypad_platform_data = {
.debounce_interval = 30,
};
+static void __init palmld_kpc_init(void)
+{
+ pxa_set_keypad_info(&palmld_keypad_platform_data);
+}
+#else
+static inline void palmld_kpc_init(void) {}
+#endif
+
/******************************************************************************
* GPIO keys
******************************************************************************/
+#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
static struct gpio_keys_button palmld_pxa_buttons[] = {
{KEY_F8, GPIO10_PALMLD_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
{KEY_F9, GPIO15_PALMLD_LOCK_SWITCH, 0, "Lock Switch" },
@@ -212,9 +231,18 @@ static struct platform_device palmld_pxa_keys = {
},
};
+static void __init palmld_keys_init(void)
+{
+ platform_device_register(&palmld_pxa_keys);
+}
+#else
+static inline void palmld_keys_init(void) {}
+#endif
+
/******************************************************************************
* LEDs
******************************************************************************/
+#if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
struct gpio_led gpio_leds[] = {
{
.name = "palmld:green:led",
@@ -240,26 +268,34 @@ static struct platform_device palmld_leds = {
}
};
+static void __init palmld_leds_init(void)
+{
+ platform_device_register(&palmld_leds);
+}
+#else
+static inline void palmld_leds_init(void) {}
+#endif
+
/******************************************************************************
* HDD
******************************************************************************/
-static struct platform_device palmld_hdd = {
+#if defined(CONFIG_PATA_PALMLD) || defined(CONFIG_PATA_PALMLD_MODULE)
+static struct platform_device palmld_ide_device = {
.name = "pata_palmld",
.id = -1,
};
+static void __init palmld_ide_init(void)
+{
+ platform_device_register(&palmld_ide_device);
+}
+#else
+static inline void palmld_ide_init(void) {}
+#endif
+
/******************************************************************************
* Machine init
******************************************************************************/
-static struct platform_device *devices[] __initdata = {
-#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
- &palmld_pxa_keys,
-#endif
- &palmld_leds,
- &palmld_hdd,
- &palmld_flash,
-};
-
static struct map_desc palmld_io_desc[] __initdata = {
{
.virtual = PALMLD_IDE_VIRT,
@@ -301,8 +337,11 @@ static void __init palmld_init(void)
{
pxa2xx_mfp_config(ARRAY_AND_SIZE(palmld_pin_config));
palm27x_common_init(&palmld);
- pxa_set_keypad_info(&palmld_keypad_platform_data);
- platform_add_devices(devices, ARRAY_SIZE(devices));
+ palmld_kpc_init();
+ palmld_keys_init();
+ palmld_nor_init();
+ palmld_leds_init();
+ palmld_ide_init();
}
MACHINE_START(PALMLD, "Palm LifeDrive")
diff --git a/arch/arm/mach-pxa/palmt5.c b/arch/arm/mach-pxa/palmt5.c
index 6687868..6fc285b 100644
--- a/arch/arm/mach-pxa/palmt5.c
+++ b/arch/arm/mach-pxa/palmt5.c
@@ -106,6 +106,7 @@ static unsigned long palmt5_pin_config[] __initdata = {
/******************************************************************************
* GPIO keyboard
******************************************************************************/
+#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
static unsigned int palmt5_matrix_keys[] = {
KEY(0, 0, KEY_POWER),
KEY(0, 1, KEY_F1),
@@ -131,9 +132,18 @@ static struct pxa27x_keypad_platform_data palmt5_keypad_platform_data = {
.debounce_interval = 30,
};
+static void __init palmt5_kpc_init(void)
+{
+ pxa_set_keypad_info(&palmt5_keypad_platform_data);
+}
+#else
+static inline void palmt5_kpc_init(void) {}
+#endif
+
/******************************************************************************
* GPIO keys
******************************************************************************/
+#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
static struct gpio_keys_button palmt5_pxa_buttons[] = {
{KEY_F8, GPIO10_PALMT5_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
};
@@ -151,6 +161,14 @@ static struct platform_device palmt5_pxa_keys = {
},
};
+static void __init palmt5_keys_init(void)
+{
+ platform_device_register(&palmt5_pxa_keys);
+}
+#else
+static inline void palmt5_keys_init(void) {}
+#endif
+
/******************************************************************************
* Machine init
******************************************************************************/
@@ -176,8 +194,8 @@ static void __init palmt5_init(void)
{
pxa2xx_mfp_config(ARRAY_AND_SIZE(palmt5_pin_config));
palm27x_common_init(&palmt5);
- pxa_set_keypad_info(&palmt5_keypad_platform_data);
- platform_device_register(&palmt5_pxa_keys);
+ palmt5_kpc_init();
+ palmt5_keys_init();
}
MACHINE_START(PALMT5, "Palm Tungsten|T5")
diff --git a/arch/arm/mach-pxa/palmtreo.c b/arch/arm/mach-pxa/palmtreo.c
index dcb5f93..93c83d4 100644
--- a/arch/arm/mach-pxa/palmtreo.c
+++ b/arch/arm/mach-pxa/palmtreo.c
@@ -161,7 +161,7 @@ static unsigned long centro685_pin_config[] __initdata = {
/******************************************************************************
* GPIO keyboard
******************************************************************************/
-#ifdef CONFIG_MACH_TREO680
+#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
static unsigned int treo680_matrix_keys[] = {
KEY(0, 0, KEY_F8), /* Red/Off/Power */
KEY(0, 1, KEY_LEFT),
@@ -221,19 +221,6 @@ static unsigned int treo680_matrix_keys[] = {
KEY(7, 5, KEY_I),
};
-static struct pxa27x_keypad_platform_data treo680_keypad_platform_data = {
- .matrix_key_rows = 8,
- .matrix_key_cols = 7,
- .matrix_key_map = treo680_matrix_keys,
- .matrix_key_map_size = ARRAY_SIZE(treo680_matrix_keys),
- .direct_key_map = { KEY_CONNECT },
- .direct_key_num = 1,
-
- .debounce_interval = 30,
-};
-#endif /* CONFIG_MACH_TREO680 */
-
-#ifdef CONFIG_MACH_CENTRO
static unsigned int centro_matrix_keys[] = {
KEY(0, 0, KEY_F9), /* Home */
KEY(0, 1, KEY_LEFT),
@@ -293,28 +280,50 @@ static unsigned int centro_matrix_keys[] = {
KEY(7, 5, KEY_I),
};
-static struct pxa27x_keypad_platform_data centro_keypad_platform_data = {
+static struct pxa27x_keypad_platform_data treo680_keypad_pdata = {
.matrix_key_rows = 8,
.matrix_key_cols = 7,
- .matrix_key_map = centro_matrix_keys,
- .matrix_key_map_size = ARRAY_SIZE(centro_matrix_keys),
+ .matrix_key_map = treo680_matrix_keys,
+ .matrix_key_map_size = ARRAY_SIZE(treo680_matrix_keys),
.direct_key_map = { KEY_CONNECT },
.direct_key_num = 1,
.debounce_interval = 30,
};
-#endif /* CONFIG_MACH_CENTRO */
+
+static void __init palmtreo_kpc_init(void)
+{
+ static struct pxa27x_keypad_platform_data *data = &treo680_keypad_pdata;
+
+ if (machine_is_centro()) {
+ data->matrix_key_map = centro_matrix_keys;
+ data->matrix_key_map_size = ARRAY_SIZE(centro_matrix_keys);
+ }
+
+ pxa_set_keypad_info(&treo680_keypad_pdata);
+}
+#else
+static inline void palmtreo_kpc_init(void) {}
+#endif
/******************************************************************************
* USB host
******************************************************************************/
-#ifdef CONFIG_MACH_TREO680
+#if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE)
static struct pxaohci_platform_data treo680_ohci_info = {
.port_mode = PMM_PERPORT_MODE,
.flags = ENABLE_PORT1 | ENABLE_PORT3,
.power_budget = 0,
};
-#endif /* CONFIG_MACH_TREO680 */
+
+static void __init palmtreo_uhc_init(void)
+{
+ if (machine_is_treo680())
+ pxa_set_ohci_info(&treo680_ohci_info);
+}
+#else
+static inline void palmtreo_uhc_init(void) {}
+#endif
/******************************************************************************
* Vibra and LEDs
@@ -343,16 +352,6 @@ static struct gpio_led_platform_data treo680_gpio_led_info = {
.num_leds = ARRAY_SIZE(treo680_gpio_leds),
};
-static struct platform_device treo680_leds = {
- .name = "leds-gpio",
- .id = -1,
- .dev = {
- .platform_data = &treo680_gpio_led_info,
- }
-};
-#endif /* CONFIG_MACH_TREO680 */
-
-#ifdef CONFIG_MACH_CENTRO
static struct gpio_led centro_gpio_leds[] = {
{
.name = "centro:vibra:vibra",
@@ -377,31 +376,28 @@ static struct gpio_led_platform_data centro_gpio_led_info = {
.num_leds = ARRAY_SIZE(centro_gpio_leds),
};
-static struct platform_device centro_leds = {
+static struct platform_device palmtreo_leds = {
.name = "leds-gpio",
.id = -1,
.dev = {
- .platform_data = ¢ro_gpio_led_info,
+ .platform_data = &treo680_gpio_led_info,
}
};
-#endif /* CONFIG_MACH_CENTRO */
+
+static void __init palmtreo_leds_init(void)
+{
+ if (machine_is_centro())
+ palmtreo_leds.dev.platform_data = ¢ro_gpio_led_info;
+
+ platform_device_register(&palmtreo_leds);
+}
+#else
+static inline void palmtreo_leds_init(void) {}
+#endif
/******************************************************************************
* Machine init
******************************************************************************/
-#ifdef CONFIG_MACH_TREO680
-static struct platform_device *treo680_devices[] __initdata = {
- &treo680_leds,
-};
-#endif /* CONFIG_MACH_TREO680 */
-
-#ifdef CONFIG_MACH_CENTRO
-static struct platform_device *centro_devices[] __initdata = {
- ¢ro_leds,
-};
-#endif /* CONFIG_MACH_CENTRO */
-
-#ifdef CONFIG_MACH_TREO680
struct palm27x_handheld palmtreo680 = {
.mmc_detect = GPIO_NR_TREO_SD_DETECT_N,
.mmc_ro = GPIO_NR_TREO680_SD_READONLY,
@@ -417,28 +413,6 @@ struct palm27x_handheld palmtreo680 = {
.lcd_power = GPIO_NR_TREO_BL_POWER,
};
-static void __init treo680_init(void)
-{
- pxa2xx_mfp_config(ARRAY_AND_SIZE(treo_pin_config));
- pxa2xx_mfp_config(ARRAY_AND_SIZE(treo680_pin_config));
- palm27x_common_init(&palmtreo680);
- pxa_set_keypad_info(&treo680_keypad_platform_data);
- pxa_set_ohci_info(&treo680_ohci_info);
- platform_add_devices(ARRAY_AND_SIZE(treo680_devices));
-}
-
-MACHINE_START(TREO680, "Palm Treo 680")
- .phys_io = TREO_PHYS_IO_START,
- .io_pg_offst = io_p2v(0x40000000),
- .boot_params = 0xa0000100,
- .map_io = pxa_map_io,
- .init_irq = pxa27x_init_irq,
- .timer = &pxa_timer,
- .init_machine = treo680_init,
-MACHINE_END
-#endif /* CONFIG_MACH_TREO680 */
-
-#ifdef CONFIG_MACH_CENTRO
struct palm27x_handheld palmcentro = {
.mmc_detect = GPIO_NR_TREO_SD_DETECT_N,
.mmc_ro = -1,
@@ -454,15 +428,33 @@ struct palm27x_handheld palmcentro = {
.lcd_power = GPIO_NR_TREO_BL_POWER,
};
-static void __init centro_init(void)
+static void __init palmtreo_init(void)
{
pxa2xx_mfp_config(ARRAY_AND_SIZE(treo_pin_config));
- pxa2xx_mfp_config(ARRAY_AND_SIZE(centro685_pin_config));
- palm27x_common_init(&palmcentro);
- pxa_set_keypad_info(¢ro_keypad_platform_data);
- platform_add_devices(ARRAY_AND_SIZE(centro_devices));
+
+ if (machine_is_centro()) {
+ pxa2xx_mfp_config(ARRAY_AND_SIZE(centro685_pin_config));
+ palm27x_common_init(&palmcentro);
+ } else {
+ pxa2xx_mfp_config(ARRAY_AND_SIZE(treo680_pin_config));
+ palm27x_common_init(&palmtreo680);
+ }
+
+ palmtreo_kpc_init();
+ palmtreo_uhc_init();
+ palmtreo_leds_init();
}
+MACHINE_START(TREO680, "Palm Treo 680")
+ .phys_io = TREO_PHYS_IO_START,
+ .io_pg_offst = io_p2v(0x40000000),
+ .boot_params = 0xa0000100,
+ .map_io = pxa_map_io,
+ .init_irq = pxa27x_init_irq,
+ .timer = &pxa_timer,
+ .init_machine = palmtreo_init,
+MACHINE_END
+
MACHINE_START(CENTRO, "Palm Centro 685")
.phys_io = TREO_PHYS_IO_START,
.io_pg_offst = io_p2v(0x40000000),
@@ -470,6 +462,5 @@ MACHINE_START(CENTRO, "Palm Centro 685")
.map_io = pxa_map_io,
.init_irq = pxa27x_init_irq,
.timer = &pxa_timer,
- .init_machine = centro_init,
+ .init_machine = palmtreo_init,
MACHINE_END
-#endif /* CONFIG_MACH_CENTRO */
diff --git a/arch/arm/mach-pxa/palmtx.c b/arch/arm/mach-pxa/palmtx.c
index 0e3de4b..dae3860 100644
--- a/arch/arm/mach-pxa/palmtx.c
+++ b/arch/arm/mach-pxa/palmtx.c
@@ -130,6 +130,7 @@ static unsigned long palmtx_pin_config[] __initdata = {
/******************************************************************************
* NOR Flash
******************************************************************************/
+#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
static struct mtd_partition palmtx_partitions[] = {
{
.name = "Flash",
@@ -163,9 +164,18 @@ static struct platform_device palmtx_flash = {
},
};
+static void __init palmtx_nor_init(void)
+{
+ platform_device_register(&palmtx_flash);
+}
+#else
+static inline void palmtx_nor_init(void) {}
+#endif
+
/******************************************************************************
* GPIO keyboard
******************************************************************************/
+#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
static unsigned int palmtx_matrix_keys[] = {
KEY(0, 0, KEY_POWER),
KEY(0, 1, KEY_F1),
@@ -191,9 +201,18 @@ static struct pxa27x_keypad_platform_data palmtx_keypad_platform_data = {
.debounce_interval = 30,
};
+static void __init palmtx_kpc_init(void)
+{
+ pxa_set_keypad_info(&palmtx_keypad_platform_data);
+}
+#else
+static inline void palmtx_kpc_init(void) {}
+#endif
+
/******************************************************************************
* GPIO keys
******************************************************************************/
+#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
static struct gpio_keys_button palmtx_pxa_buttons[] = {
{KEY_F8, GPIO10_PALMTX_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
};
@@ -211,9 +230,18 @@ static struct platform_device palmtx_pxa_keys = {
},
};
+static void __init palmtx_keys_init(void)
+{
+ platform_device_register(&palmtx_pxa_keys);
+}
+#else
+static inline void palmtx_keys_init(void) {}
+#endif
+
/******************************************************************************
* NAND Flash
******************************************************************************/
+#if defined(CONFIG_MTD_NAND_GPIO) || defined(CONFIG_MTD_NAND_GPIO_MODULE)
static void palmtx_nand_cmd_ctl(struct mtd_info *mtd, int cmd,
unsigned int ctrl)
{
@@ -273,18 +301,17 @@ static struct platform_device palmtx_nand = {
}
};
+static void __init palmtx_nand_init(void)
+{
+ platform_device_register(&palmtx_nand);
+}
+#else
+static inline void palmtx_nand_init(void) {}
+#endif
/******************************************************************************
* Machine init
******************************************************************************/
-static struct platform_device *devices[] __initdata = {
-#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
- &palmtx_pxa_keys,
-#endif
- &palmtx_flash,
- &palmtx_nand,
-};
-
static struct map_desc palmtx_io_desc[] __initdata = {
{
.virtual = PALMTX_PCMCIA_VIRT,
@@ -332,8 +359,10 @@ static void __init palmtx_init(void)
{
pxa2xx_mfp_config(ARRAY_AND_SIZE(palmtx_pin_config));
palm27x_common_init(&palmtx);
- pxa_set_keypad_info(&palmtx_keypad_platform_data);
- platform_add_devices(devices, ARRAY_SIZE(devices));
+ palmtx_kpc_init();
+ palmtx_keys_init();
+ palmtx_nor_init();
+ palmtx_nand_init();
}
MACHINE_START(PALMTX, "Palm T|X")
diff --git a/arch/arm/mach-pxa/palmz72.c b/arch/arm/mach-pxa/palmz72.c
index ecf486c..13ff682 100644
--- a/arch/arm/mach-pxa/palmz72.c
+++ b/arch/arm/mach-pxa/palmz72.c
@@ -112,6 +112,7 @@ static unsigned long palmz72_pin_config[] __initdata = {
/******************************************************************************
* GPIO keyboard
******************************************************************************/
+#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
static unsigned int palmz72_matrix_keys[] = {
KEY(0, 0, KEY_POWER),
KEY(0, 1, KEY_F1),
@@ -137,9 +138,18 @@ static struct pxa27x_keypad_platform_data palmz72_keypad_platform_data = {
.debounce_interval = 30,
};
+static void __init palmz72_kpc_init(void)
+{
+ pxa_set_keypad_info(&palmz72_keypad_platform_data);
+}
+#else
+static inline void palmz72_kpc_init(void) {}
+#endif
+
/******************************************************************************
* LEDs
******************************************************************************/
+#if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
static struct gpio_led gpio_leds[] = {
{
.name = "palmz72:green:led",
@@ -161,6 +171,14 @@ static struct platform_device palmz72_leds = {
}
};
+static void __init palmz72_leds_init(void)
+{
+ platform_device_register(&palmz72_leds);
+}
+#else
+static inline void palmz72_leds_init(void) {}
+#endif
+
#ifdef CONFIG_PM
/* We have some black magic here
@@ -255,8 +273,8 @@ static void __init palmz72_init(void)
{
pxa2xx_mfp_config(ARRAY_AND_SIZE(palmz72_pin_config));
palm27x_common_init(&palmz72);
- pxa_set_keypad_info(&palmz72_keypad_platform_data);
- platform_device_register(&palmz72_leds);
+ palmz72_kpc_init();
+ palmz72_leds_init();
}
MACHINE_START(PALMZ72, "Palm Zire72")
--
1.7.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 1/5] pxa: Sane naming of gpios for palm platform
@ 2010-07-13 7:38 Marek Vasut
2010-07-13 7:38 ` [PATCH 5/5] pxa: Modularize remnants of code in Palms Marek Vasut
0 siblings, 1 reply; 6+ messages in thread
From: Marek Vasut @ 2010-07-13 7:38 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
arch/arm/mach-pxa/include/mach/palmld.h | 58 ++++++++++++++--------------
arch/arm/mach-pxa/include/mach/palmt5.h | 30 +++++++-------
arch/arm/mach-pxa/include/mach/palmtx.h | 44 +++++++++++-----------
arch/arm/mach-pxa/include/mach/palmz72.h | 28 +++++++-------
arch/arm/mach-pxa/palmld.c | 60 +++++++++++++++---------------
arch/arm/mach-pxa/palmt5.c | 52 +++++++++++++-------------
arch/arm/mach-pxa/palmtx.c | 52 +++++++++++++-------------
arch/arm/mach-pxa/palmz72.c | 60 +++++++++++++++---------------
drivers/ata/pata_palmld.c | 22 +++++-----
drivers/pcmcia/pxa2xx_palmld.c | 32 ++++++++--------
drivers/pcmcia/pxa2xx_palmtx.c | 42 ++++++++++----------
11 files changed, 240 insertions(+), 240 deletions(-)
create mode 100644 arch/arm/mach-pxa/palm27x.c
create mode 100644 configs/config-colibri
create mode 100644 configs/config-income
create mode 100644 configs/config-littleton
create mode 100644 configs/config-vpac270
create mode 100644 configs/config-vpac270-minimal
create mode 100644 configs/config-zaurus
create mode 100644 configs/config-zipitz2
diff --git a/arch/arm/mach-pxa/include/mach/palmld.h b/arch/arm/mach-pxa/include/mach/palmld.h
index ae536e8..8f9034d 100644
--- a/arch/arm/mach-pxa/include/mach/palmld.h
+++ b/arch/arm/mach-pxa/include/mach/palmld.h
@@ -16,55 +16,55 @@
/** HERE ARE GPIOs **/
/* GPIOs */
-#define GPIO_NR_PALMLD_GPIO_RESET 1
-#define GPIO_NR_PALMLD_POWER_DETECT 4
-#define GPIO_NR_PALMLD_HOTSYNC_BUTTON_N 10
-#define GPIO_NR_PALMLD_POWER_SWITCH 12
-#define GPIO_NR_PALMLD_EARPHONE_DETECT 13
-#define GPIO_NR_PALMLD_LOCK_SWITCH 15
+#define GPIO1_PALMLD_GPIO_RESET 1
+#define GPIO4_PALMLD_POWER_DETECT 4
+#define GPIO10_PALMLD_HOTSYNC_BUTTON_N 10
+#define GPIO12_PALMLD_POWER_SWITCH 12
+#define GPIO13_PALMLD_EARPHONE_DETECT 13
+#define GPIO15_PALMLD_LOCK_SWITCH 15
/* SD/MMC */
-#define GPIO_NR_PALMLD_SD_DETECT_N 14
-#define GPIO_NR_PALMLD_SD_POWER 114
-#define GPIO_NR_PALMLD_SD_READONLY 116
+#define GPIO14_PALMLD_SD_DETECT_N 14
+#define GPIO114_PALMLD_SD_POWER 114
+#define GPIO116_PALMLD_SD_READONLY 116
/* TOUCHSCREEN */
-#define GPIO_NR_PALMLD_WM9712_IRQ 27
+#define GPIO27_PALMLD_WM9712_IRQ 27
/* IRDA */
-#define GPIO_NR_PALMLD_IR_DISABLE 108
+#define GPIO108_PALMLD_IR_DISABLE 108
/* LCD/BACKLIGHT */
-#define GPIO_NR_PALMLD_BL_POWER 19
-#define GPIO_NR_PALMLD_LCD_POWER 96
+#define GPIO19_PALMLD_BL_POWER 19
+#define GPIO96_PALMLD_LCD_POWER 96
/* LCD BORDER */
-#define GPIO_NR_PALMLD_BORDER_SWITCH 21
-#define GPIO_NR_PALMLD_BORDER_SELECT 22
+#define GPIO21_PALMLD_BORDER_SWITCH 21
+#define GPIO22_PALMLD_BORDER_SELECT 22
/* BLUETOOTH */
-#define GPIO_NR_PALMLD_BT_POWER 17
-#define GPIO_NR_PALMLD_BT_RESET 83
+#define GPIO17_PALMLD_BT_POWER 17
+#define GPIO83_PALMLD_BT_RESET 83
/* PCMCIA (WiFi) */
-#define GPIO_NR_PALMLD_PCMCIA_READY 38
-#define GPIO_NR_PALMLD_PCMCIA_POWER 36
-#define GPIO_NR_PALMLD_PCMCIA_RESET 81
+#define GPIO38_PALMLD_PCMCIA_READY 38
+#define GPIO36_PALMLD_PCMCIA_POWER 36
+#define GPIO81_PALMLD_PCMCIA_RESET 81
/* LEDs */
-#define GPIO_NR_PALMLD_LED_GREEN 52
-#define GPIO_NR_PALMLD_LED_AMBER 94
+#define GPIO52_PALMLD_LED_GREEN 52
+#define GPIO94_PALMLD_LED_AMBER 94
/* IDE */
-#define GPIO_NR_PALMLD_IDE_RESET 98
-#define GPIO_NR_PALMLD_IDE_PWEN 115
+#define GPIO98_PALMLD_IDE_RESET 98
+#define GPIO115_PALMLD_IDE_PWEN 115
/* USB */
-#define GPIO_NR_PALMLD_USB_DETECT_N 3
-#define GPIO_NR_PALMLD_USB_READY 86
-#define GPIO_NR_PALMLD_USB_RESET 88
-#define GPIO_NR_PALMLD_USB_INT 106
-#define GPIO_NR_PALMLD_USB_POWER 118
+#define GPIO3_PALMLD_USB_DETECT_N 3
+#define GPIO86_PALMLD_USB_READY 86
+#define GPIO88_PALMLD_USB_RESET 88
+#define GPIO106_PALMLD_USB_INT 106
+#define GPIO118_PALMLD_USB_POWER 118
/* 20, 53 and 86 are usb related too */
/* INTERRUPTS */
diff --git a/arch/arm/mach-pxa/include/mach/palmt5.h b/arch/arm/mach-pxa/include/mach/palmt5.h
index 6baf746..d70bb62 100644
--- a/arch/arm/mach-pxa/include/mach/palmt5.h
+++ b/arch/arm/mach-pxa/include/mach/palmt5.h
@@ -18,34 +18,34 @@
/** HERE ARE GPIOs **/
/* GPIOs */
-#define GPIO_NR_PALMT5_GPIO_RESET 1
+#define GPIO1_PALMT5_GPIO_RESET 1
-#define GPIO_NR_PALMT5_POWER_DETECT 90
-#define GPIO_NR_PALMT5_HOTSYNC_BUTTON_N 10
-#define GPIO_NR_PALMT5_EARPHONE_DETECT 107
+#define GPIO90_PALMT5_POWER_DETECT 90
+#define GPIO10_PALMT5_HOTSYNC_BUTTON_N 10
+#define GPIO107_PALMT5_EARPHONE_DETECT 107
/* SD/MMC */
-#define GPIO_NR_PALMT5_SD_DETECT_N 14
-#define GPIO_NR_PALMT5_SD_POWER 114
-#define GPIO_NR_PALMT5_SD_READONLY 115
+#define GPIO14_PALMT5_SD_DETECT_N 14
+#define GPIO114_PALMT5_SD_POWER 114
+#define GPIO115_PALMT5_SD_READONLY 115
/* TOUCHSCREEN */
-#define GPIO_NR_PALMT5_WM9712_IRQ 27
+#define GPIO27_PALMT5_WM9712_IRQ 27
/* IRDA - disable GPIO connected to SD pin of tranceiver (TFBS4710?) ? */
-#define GPIO_NR_PALMT5_IR_DISABLE 40
+#define GPIO40_PALMT5_IR_DISABLE 40
/* USB */
-#define GPIO_NR_PALMT5_USB_DETECT_N 15
-#define GPIO_NR_PALMT5_USB_PULLUP 93
+#define GPIO15_PALMT5_USB_DETECT_N 15
+#define GPIO93_PALMT5_USB_PULLUP 93
/* LCD/BACKLIGHT */
-#define GPIO_NR_PALMT5_BL_POWER 84
-#define GPIO_NR_PALMT5_LCD_POWER 96
+#define GPIO84_PALMT5_BL_POWER 84
+#define GPIO96_PALMT5_LCD_POWER 96
/* BLUETOOTH */
-#define GPIO_NR_PALMT5_BT_POWER 17
-#define GPIO_NR_PALMT5_BT_RESET 83
+#define GPIO17_PALMT5_BT_POWER 17
+#define GPIO83_PALMT5_BT_RESET 83
/* INTERRUPTS */
#define IRQ_GPIO_PALMT5_SD_DETECT_N IRQ_GPIO(GPIO_NR_PALMT5_SD_DETECT_N)
diff --git a/arch/arm/mach-pxa/include/mach/palmtx.h b/arch/arm/mach-pxa/include/mach/palmtx.h
index 10abc4f..8b97b4d 100644
--- a/arch/arm/mach-pxa/include/mach/palmtx.h
+++ b/arch/arm/mach-pxa/include/mach/palmtx.h
@@ -19,47 +19,47 @@
/** HERE ARE GPIOs **/
/* GPIOs */
-#define GPIO_NR_PALMTX_GPIO_RESET 1
+#define GPIO1_PALMTX_GPIO_RESET 1
-#define GPIO_NR_PALMTX_POWER_DETECT 12 /* 90 */
-#define GPIO_NR_PALMTX_HOTSYNC_BUTTON_N 10
-#define GPIO_NR_PALMTX_EARPHONE_DETECT 107
+#define GPIO12_PALMTX_POWER_DETECT 12 /* 90 */
+#define GPIO10_PALMTX_HOTSYNC_BUTTON_N 10
+#define GPIO107_PALMTX_EARPHONE_DETECT 107
/* SD/MMC */
-#define GPIO_NR_PALMTX_SD_DETECT_N 14
-#define GPIO_NR_PALMTX_SD_POWER 114 /* probably */
-#define GPIO_NR_PALMTX_SD_READONLY 115 /* probably */
+#define GPIO14_PALMTX_SD_DETECT_N 14
+#define GPIO114_PALMTX_SD_POWER 114 /* probably */
+#define GPIO115_PALMTX_SD_READONLY 115 /* probably */
/* TOUCHSCREEN */
-#define GPIO_NR_PALMTX_WM9712_IRQ 27
+#define GPIO27_PALMTX_WM9712_IRQ 27
/* IRDA - disable GPIO connected to SD pin of tranceiver (TFBS4710?) ? */
-#define GPIO_NR_PALMTX_IR_DISABLE 40
+#define GPIO40_PALMTX_IR_DISABLE 40
/* USB */
-#define GPIO_NR_PALMTX_USB_DETECT_N 13
-#define GPIO_NR_PALMTX_USB_PULLUP 93
+#define GPIO13_PALMTX_USB_DETECT_N 13
+#define GPIO93_PALMTX_USB_PULLUP 93
/* LCD/BACKLIGHT */
-#define GPIO_NR_PALMTX_BL_POWER 84
-#define GPIO_NR_PALMTX_LCD_POWER 96
+#define GPIO84_PALMTX_BL_POWER 84
+#define GPIO96_PALMTX_LCD_POWER 96
/* LCD BORDER */
-#define GPIO_NR_PALMTX_BORDER_SWITCH 98
-#define GPIO_NR_PALMTX_BORDER_SELECT 22
+#define GPIO98_PALMTX_BORDER_SWITCH 98
+#define GPIO22_PALMTX_BORDER_SELECT 22
/* BLUETOOTH */
-#define GPIO_NR_PALMTX_BT_POWER 17
-#define GPIO_NR_PALMTX_BT_RESET 83
+#define GPIO17_PALMTX_BT_POWER 17
+#define GPIO83_PALMTX_BT_RESET 83
/* PCMCIA (WiFi) */
-#define GPIO_NR_PALMTX_PCMCIA_POWER1 94
-#define GPIO_NR_PALMTX_PCMCIA_POWER2 108
-#define GPIO_NR_PALMTX_PCMCIA_RESET 79
-#define GPIO_NR_PALMTX_PCMCIA_READY 116
+#define GPIO94_PALMTX_PCMCIA_POWER1 94
+#define GPIO108_PALMTX_PCMCIA_POWER2 108
+#define GPIO79_PALMTX_PCMCIA_RESET 79
+#define GPIO116_PALMTX_PCMCIA_READY 116
/* NAND Flash ... this GPIO may be incorrect! */
-#define GPIO_NR_PALMTX_NAND_BUFFER_DIR 79
+#define GPIO79_PALMTX_NAND_BUFFER_DIR 79
/* INTERRUPTS */
#define IRQ_GPIO_PALMTX_SD_DETECT_N IRQ_GPIO(GPIO_NR_PALMTX_SD_DETECT_N)
diff --git a/arch/arm/mach-pxa/include/mach/palmz72.h b/arch/arm/mach-pxa/include/mach/palmz72.h
index 2bbcf70..83dced5 100644
--- a/arch/arm/mach-pxa/include/mach/palmz72.h
+++ b/arch/arm/mach-pxa/include/mach/palmz72.h
@@ -15,34 +15,34 @@
#define _INCLUDE_PALMZ72_H_
/* Power and control */
-#define GPIO_NR_PALMZ72_GPIO_RESET 1
-#define GPIO_NR_PALMZ72_POWER_DETECT 0
+#define GPIO1_PALMZ72_GPIO_RESET 1
+#define GPIO0_PALMZ72_POWER_DETECT 0
/* SD/MMC */
-#define GPIO_NR_PALMZ72_SD_DETECT_N 14
-#define GPIO_NR_PALMZ72_SD_POWER_N 98
-#define GPIO_NR_PALMZ72_SD_RO 115
+#define GPIO14_PALMZ72_SD_DETECT_N 14
+#define GPIO98_PALMZ72_SD_POWER_N 98
+#define GPIO115_PALMZ72_SD_RO 115
/* Touchscreen */
-#define GPIO_NR_PALMZ72_WM9712_IRQ 27
+#define GPIO27_PALMZ72_WM9712_IRQ 27
/* IRDA - disable GPIO connected to SD pin of tranceiver (TFBS4710?) ? */
-#define GPIO_NR_PALMZ72_IR_DISABLE 49
+#define GPIO49_PALMZ72_IR_DISABLE 49
/* USB */
-#define GPIO_NR_PALMZ72_USB_DETECT_N 15
-#define GPIO_NR_PALMZ72_USB_PULLUP 95
+#define GPIO15_PALMZ72_USB_DETECT_N 15
+#define GPIO95_PALMZ72_USB_PULLUP 95
/* LCD/Backlight */
-#define GPIO_NR_PALMZ72_BL_POWER 20
-#define GPIO_NR_PALMZ72_LCD_POWER 96
+#define GPIO20_PALMZ72_BL_POWER 20
+#define GPIO96_PALMZ72_LCD_POWER 96
/* LED */
-#define GPIO_NR_PALMZ72_LED_GREEN 88
+#define GPIO88_PALMZ72_LED_GREEN 88
/* Bluetooth */
-#define GPIO_NR_PALMZ72_BT_POWER 17
-#define GPIO_NR_PALMZ72_BT_RESET 83
+#define GPIO17_PALMZ72_BT_POWER 17
+#define GPIO83_PALMZ72_BT_RESET 83
/** Initial values **/
diff --git a/arch/arm/mach-pxa/palm27x.c b/arch/arm/mach-pxa/palm27x.c
new file mode 100644
index 0000000..e69de29
diff --git a/arch/arm/mach-pxa/palmld.c b/arch/arm/mach-pxa/palmld.c
index 83a1a55..bec35e2 100644
--- a/arch/arm/mach-pxa/palmld.c
+++ b/arch/arm/mach-pxa/palmld.c
@@ -165,9 +165,9 @@ static struct platform_device palmld_flash = {
******************************************************************************/
static struct pxamci_platform_data palmld_mci_platform_data = {
.ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
- .gpio_card_detect = GPIO_NR_PALMLD_SD_DETECT_N,
- .gpio_card_ro = GPIO_NR_PALMLD_SD_READONLY,
- .gpio_power = GPIO_NR_PALMLD_SD_POWER,
+ .gpio_card_detect = GPIO14_PALMLD_SD_DETECT_N,
+ .gpio_card_ro = GPIO116_PALMLD_SD_READONLY,
+ .gpio_power = GPIO114_PALMLD_SD_POWER,
.detect_delay_ms = 200,
};
@@ -204,9 +204,9 @@ static struct pxa27x_keypad_platform_data palmld_keypad_platform_data = {
* GPIO keys
******************************************************************************/
static struct gpio_keys_button palmld_pxa_buttons[] = {
- {KEY_F8, GPIO_NR_PALMLD_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
- {KEY_F9, GPIO_NR_PALMLD_LOCK_SWITCH, 0, "Lock Switch" },
- {KEY_POWER, GPIO_NR_PALMLD_POWER_SWITCH, 0, "Power Switch" },
+ {KEY_F8, GPIO10_PALMLD_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
+ {KEY_F9, GPIO15_PALMLD_LOCK_SWITCH, 0, "Lock Switch" },
+ {KEY_POWER, GPIO12_PALMLD_POWER_SWITCH, 0, "Power Switch" },
};
static struct gpio_keys_platform_data palmld_pxa_keys_data = {
@@ -229,39 +229,39 @@ static int palmld_backlight_init(struct device *dev)
{
int ret;
- ret = gpio_request(GPIO_NR_PALMLD_BL_POWER, "BL POWER");
+ ret = gpio_request(GPIO19_PALMLD_BL_POWER, "BL POWER");
if (ret)
goto err;
- ret = gpio_direction_output(GPIO_NR_PALMLD_BL_POWER, 0);
+ ret = gpio_direction_output(GPIO19_PALMLD_BL_POWER, 0);
if (ret)
goto err2;
- ret = gpio_request(GPIO_NR_PALMLD_LCD_POWER, "LCD POWER");
+ ret = gpio_request(GPIO96_PALMLD_LCD_POWER, "LCD POWER");
if (ret)
goto err2;
- ret = gpio_direction_output(GPIO_NR_PALMLD_LCD_POWER, 0);
+ ret = gpio_direction_output(GPIO96_PALMLD_LCD_POWER, 0);
if (ret)
goto err3;
return 0;
err3:
- gpio_free(GPIO_NR_PALMLD_LCD_POWER);
+ gpio_free(GPIO96_PALMLD_LCD_POWER);
err2:
- gpio_free(GPIO_NR_PALMLD_BL_POWER);
+ gpio_free(GPIO19_PALMLD_BL_POWER);
err:
return ret;
}
static int palmld_backlight_notify(struct device *dev, int brightness)
{
- gpio_set_value(GPIO_NR_PALMLD_BL_POWER, brightness);
- gpio_set_value(GPIO_NR_PALMLD_LCD_POWER, brightness);
+ gpio_set_value(GPIO19_PALMLD_BL_POWER, brightness);
+ gpio_set_value(GPIO96_PALMLD_LCD_POWER, brightness);
return brightness;
}
static void palmld_backlight_exit(struct device *dev)
{
- gpio_free(GPIO_NR_PALMLD_BL_POWER);
- gpio_free(GPIO_NR_PALMLD_LCD_POWER);
+ gpio_free(GPIO19_PALMLD_BL_POWER);
+ gpio_free(GPIO96_PALMLD_LCD_POWER);
}
static struct platform_pwm_backlight_data palmld_backlight_data = {
@@ -286,7 +286,7 @@ static struct platform_device palmld_backlight = {
* IrDA
******************************************************************************/
static struct pxaficp_platform_data palmld_ficp_platform_data = {
- .gpio_pwdown = GPIO_NR_PALMLD_IR_DISABLE,
+ .gpio_pwdown = GPIO108_PALMLD_IR_DISABLE,
.transceiver_cap = IR_SIRMODE | IR_OFF,
};
@@ -297,11 +297,11 @@ struct gpio_led gpio_leds[] = {
{
.name = "palmld:green:led",
.default_trigger = "none",
- .gpio = GPIO_NR_PALMLD_LED_GREEN,
+ .gpio = GPIO52_PALMLD_LED_GREEN,
}, {
.name = "palmld:amber:led",
.default_trigger = "none",
- .gpio = GPIO_NR_PALMLD_LED_AMBER,
+ .gpio = GPIO94_PALMLD_LED_AMBER,
},
};
@@ -325,44 +325,44 @@ static int power_supply_init(struct device *dev)
{
int ret;
- ret = gpio_request(GPIO_NR_PALMLD_POWER_DETECT, "CABLE_STATE_AC");
+ ret = gpio_request(GPIO4_PALMLD_POWER_DETECT, "CABLE_STATE_AC");
if (ret)
goto err1;
- ret = gpio_direction_input(GPIO_NR_PALMLD_POWER_DETECT);
+ ret = gpio_direction_input(GPIO4_PALMLD_POWER_DETECT);
if (ret)
goto err2;
- ret = gpio_request(GPIO_NR_PALMLD_USB_DETECT_N, "CABLE_STATE_USB");
+ ret = gpio_request(GPIO3_PALMLD_USB_DETECT_N, "CABLE_STATE_USB");
if (ret)
goto err2;
- ret = gpio_direction_input(GPIO_NR_PALMLD_USB_DETECT_N);
+ ret = gpio_direction_input(GPIO3_PALMLD_USB_DETECT_N);
if (ret)
goto err3;
return 0;
err3:
- gpio_free(GPIO_NR_PALMLD_USB_DETECT_N);
+ gpio_free(GPIO3_PALMLD_USB_DETECT_N);
err2:
- gpio_free(GPIO_NR_PALMLD_POWER_DETECT);
+ gpio_free(GPIO4_PALMLD_POWER_DETECT);
err1:
return ret;
}
static int palmld_is_ac_online(void)
{
- return gpio_get_value(GPIO_NR_PALMLD_POWER_DETECT);
+ return gpio_get_value(GPIO4_PALMLD_POWER_DETECT);
}
static int palmld_is_usb_online(void)
{
- return !gpio_get_value(GPIO_NR_PALMLD_USB_DETECT_N);
+ return !gpio_get_value(GPIO3_PALMLD_USB_DETECT_N);
}
static void power_supply_exit(struct device *dev)
{
- gpio_free(GPIO_NR_PALMLD_USB_DETECT_N);
- gpio_free(GPIO_NR_PALMLD_POWER_DETECT);
+ gpio_free(GPIO3_PALMLD_USB_DETECT_N);
+ gpio_free(GPIO4_PALMLD_POWER_DETECT);
}
static char *palmld_supplicants[] = {
@@ -413,7 +413,7 @@ static pxa2xx_audio_ops_t palmld_ac97_pdata = {
};
static struct palm27x_asoc_info palmld_asoc_pdata = {
- .jack_gpio = GPIO_NR_PALMLD_EARPHONE_DETECT,
+ .jack_gpio = GPIO13_PALMLD_EARPHONE_DETECT,
};
static struct platform_device palmld_asoc = {
diff --git a/arch/arm/mach-pxa/palmt5.c b/arch/arm/mach-pxa/palmt5.c
index 0b36d7d..8037cfc 100644
--- a/arch/arm/mach-pxa/palmt5.c
+++ b/arch/arm/mach-pxa/palmt5.c
@@ -107,9 +107,9 @@ static unsigned long palmt5_pin_config[] __initdata = {
******************************************************************************/
static struct pxamci_platform_data palmt5_mci_platform_data = {
.ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
- .gpio_card_detect = GPIO_NR_PALMT5_SD_DETECT_N,
- .gpio_card_ro = GPIO_NR_PALMT5_SD_READONLY,
- .gpio_power = GPIO_NR_PALMT5_SD_POWER,
+ .gpio_card_detect = GPIO14_PALMT5_SD_DETECT_N,
+ .gpio_card_ro = GPIO115_PALMT5_SD_READONLY,
+ .gpio_power = GPIO114_PALMT5_SD_POWER,
.detect_delay_ms = 200,
};
@@ -145,7 +145,7 @@ static struct pxa27x_keypad_platform_data palmt5_keypad_platform_data = {
* GPIO keys
******************************************************************************/
static struct gpio_keys_button palmt5_pxa_buttons[] = {
- {KEY_F8, GPIO_NR_PALMT5_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
+ {KEY_F8, GPIO10_PALMT5_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
};
static struct gpio_keys_platform_data palmt5_pxa_keys_data = {
@@ -168,39 +168,39 @@ static int palmt5_backlight_init(struct device *dev)
{
int ret;
- ret = gpio_request(GPIO_NR_PALMT5_BL_POWER, "BL POWER");
+ ret = gpio_request(GPIO84_PALMT5_BL_POWER, "BL POWER");
if (ret)
goto err;
- ret = gpio_direction_output(GPIO_NR_PALMT5_BL_POWER, 0);
+ ret = gpio_direction_output(GPIO84_PALMT5_BL_POWER, 0);
if (ret)
goto err2;
- ret = gpio_request(GPIO_NR_PALMT5_LCD_POWER, "LCD POWER");
+ ret = gpio_request(GPIO96_PALMT5_LCD_POWER, "LCD POWER");
if (ret)
goto err2;
- ret = gpio_direction_output(GPIO_NR_PALMT5_LCD_POWER, 0);
+ ret = gpio_direction_output(GPIO96_PALMT5_LCD_POWER, 0);
if (ret)
goto err3;
return 0;
err3:
- gpio_free(GPIO_NR_PALMT5_LCD_POWER);
+ gpio_free(GPIO96_PALMT5_LCD_POWER);
err2:
- gpio_free(GPIO_NR_PALMT5_BL_POWER);
+ gpio_free(GPIO84_PALMT5_BL_POWER);
err:
return ret;
}
static int palmt5_backlight_notify(struct device *dev, int brightness)
{
- gpio_set_value(GPIO_NR_PALMT5_BL_POWER, brightness);
- gpio_set_value(GPIO_NR_PALMT5_LCD_POWER, brightness);
+ gpio_set_value(GPIO84_PALMT5_BL_POWER, brightness);
+ gpio_set_value(GPIO96_PALMT5_LCD_POWER, brightness);
return brightness;
}
static void palmt5_backlight_exit(struct device *dev)
{
- gpio_free(GPIO_NR_PALMT5_BL_POWER);
- gpio_free(GPIO_NR_PALMT5_LCD_POWER);
+ gpio_free(GPIO84_PALMT5_BL_POWER);
+ gpio_free(GPIO96_PALMT5_LCD_POWER);
}
static struct platform_pwm_backlight_data palmt5_backlight_data = {
@@ -225,7 +225,7 @@ static struct platform_device palmt5_backlight = {
* IrDA
******************************************************************************/
static struct pxaficp_platform_data palmt5_ficp_platform_data = {
- .gpio_pwdown = GPIO_NR_PALMT5_IR_DISABLE,
+ .gpio_pwdown = GPIO40_PALMT5_IR_DISABLE,
.transceiver_cap = IR_SIRMODE | IR_OFF,
};
@@ -233,9 +233,9 @@ static struct pxaficp_platform_data palmt5_ficp_platform_data = {
* UDC
******************************************************************************/
static struct gpio_vbus_mach_info palmt5_udc_info = {
- .gpio_vbus = GPIO_NR_PALMT5_USB_DETECT_N,
+ .gpio_vbus = GPIO15_PALMT5_USB_DETECT_N,
.gpio_vbus_inverted = 1,
- .gpio_pullup = GPIO_NR_PALMT5_USB_PULLUP,
+ .gpio_pullup = GPIO93_PALMT5_USB_PULLUP,
};
static struct platform_device palmt5_gpio_vbus = {
@@ -253,28 +253,28 @@ static int power_supply_init(struct device *dev)
{
int ret;
- ret = gpio_request(GPIO_NR_PALMT5_POWER_DETECT, "CABLE_STATE_AC");
+ ret = gpio_request(GPIO90_PALMT5_POWER_DETECT, "CABLE_STATE_AC");
if (ret)
goto err1;
- ret = gpio_direction_input(GPIO_NR_PALMT5_POWER_DETECT);
+ ret = gpio_direction_input(GPIO90_PALMT5_POWER_DETECT);
if (ret)
goto err2;
return 0;
err2:
- gpio_free(GPIO_NR_PALMT5_POWER_DETECT);
+ gpio_free(GPIO90_PALMT5_POWER_DETECT);
err1:
return ret;
}
static int palmt5_is_ac_online(void)
{
- return gpio_get_value(GPIO_NR_PALMT5_POWER_DETECT);
+ return gpio_get_value(GPIO90_PALMT5_POWER_DETECT);
}
static void power_supply_exit(struct device *dev)
{
- gpio_free(GPIO_NR_PALMT5_POWER_DETECT);
+ gpio_free(GPIO90_PALMT5_POWER_DETECT);
}
static char *palmt5_supplicants[] = {
@@ -324,7 +324,7 @@ static pxa2xx_audio_ops_t palmt5_ac97_pdata = {
};
static struct palm27x_asoc_info palmt5_asoc_pdata = {
- .jack_gpio = GPIO_NR_PALMT5_EARPHONE_DETECT,
+ .jack_gpio = GPIO107_PALMT5_EARPHONE_DETECT,
};
static struct platform_device palmt5_asoc = {
@@ -392,9 +392,9 @@ static struct platform_device *devices[] __initdata = {
/* setup udc GPIOs initial state */
static void __init palmt5_udc_init(void)
{
- if (!gpio_request(GPIO_NR_PALMT5_USB_PULLUP, "UDC Vbus")) {
- gpio_direction_output(GPIO_NR_PALMT5_USB_PULLUP, 1);
- gpio_free(GPIO_NR_PALMT5_USB_PULLUP);
+ if (!gpio_request(GPIO93_PALMT5_USB_PULLUP, "UDC Vbus")) {
+ gpio_direction_output(GPIO93_PALMT5_USB_PULLUP, 1);
+ gpio_free(GPIO93_PALMT5_USB_PULLUP);
}
}
diff --git a/arch/arm/mach-pxa/palmtx.c b/arch/arm/mach-pxa/palmtx.c
index a5429cd..a835034 100644
--- a/arch/arm/mach-pxa/palmtx.c
+++ b/arch/arm/mach-pxa/palmtx.c
@@ -167,9 +167,9 @@ static struct platform_device palmtx_flash = {
******************************************************************************/
static struct pxamci_platform_data palmtx_mci_platform_data = {
.ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
- .gpio_card_detect = GPIO_NR_PALMTX_SD_DETECT_N,
- .gpio_card_ro = GPIO_NR_PALMTX_SD_READONLY,
- .gpio_power = GPIO_NR_PALMTX_SD_POWER,
+ .gpio_card_detect = GPIO14_PALMTX_SD_DETECT_N,
+ .gpio_card_ro = GPIO115_PALMTX_SD_READONLY,
+ .gpio_power = GPIO114_PALMTX_SD_POWER,
.detect_delay_ms = 200,
};
@@ -205,7 +205,7 @@ static struct pxa27x_keypad_platform_data palmtx_keypad_platform_data = {
* GPIO keys
******************************************************************************/
static struct gpio_keys_button palmtx_pxa_buttons[] = {
- {KEY_F8, GPIO_NR_PALMTX_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
+ {KEY_F8, GPIO10_PALMTX_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
};
static struct gpio_keys_platform_data palmtx_pxa_keys_data = {
@@ -228,39 +228,39 @@ static int palmtx_backlight_init(struct device *dev)
{
int ret;
- ret = gpio_request(GPIO_NR_PALMTX_BL_POWER, "BL POWER");
+ ret = gpio_request(GPIO84_PALMTX_BL_POWER, "BL POWER");
if (ret)
goto err;
- ret = gpio_direction_output(GPIO_NR_PALMTX_BL_POWER, 0);
+ ret = gpio_direction_output(GPIO84_PALMTX_BL_POWER, 0);
if (ret)
goto err2;
- ret = gpio_request(GPIO_NR_PALMTX_LCD_POWER, "LCD POWER");
+ ret = gpio_request(GPIO96_PALMTX_LCD_POWER, "LCD POWER");
if (ret)
goto err2;
- ret = gpio_direction_output(GPIO_NR_PALMTX_LCD_POWER, 0);
+ ret = gpio_direction_output(GPIO96_PALMTX_LCD_POWER, 0);
if (ret)
goto err3;
return 0;
err3:
- gpio_free(GPIO_NR_PALMTX_LCD_POWER);
+ gpio_free(GPIO96_PALMTX_LCD_POWER);
err2:
- gpio_free(GPIO_NR_PALMTX_BL_POWER);
+ gpio_free(GPIO84_PALMTX_BL_POWER);
err:
return ret;
}
static int palmtx_backlight_notify(struct device *dev, int brightness)
{
- gpio_set_value(GPIO_NR_PALMTX_BL_POWER, brightness);
- gpio_set_value(GPIO_NR_PALMTX_LCD_POWER, brightness);
+ gpio_set_value(GPIO84_PALMTX_BL_POWER, brightness);
+ gpio_set_value(GPIO96_PALMTX_LCD_POWER, brightness);
return brightness;
}
static void palmtx_backlight_exit(struct device *dev)
{
- gpio_free(GPIO_NR_PALMTX_BL_POWER);
- gpio_free(GPIO_NR_PALMTX_LCD_POWER);
+ gpio_free(GPIO84_PALMTX_BL_POWER);
+ gpio_free(GPIO96_PALMTX_LCD_POWER);
}
static struct platform_pwm_backlight_data palmtx_backlight_data = {
@@ -285,7 +285,7 @@ static struct platform_device palmtx_backlight = {
* IrDA
******************************************************************************/
static struct pxaficp_platform_data palmtx_ficp_platform_data = {
- .gpio_pwdown = GPIO_NR_PALMTX_IR_DISABLE,
+ .gpio_pwdown = GPIO40_PALMTX_IR_DISABLE,
.transceiver_cap = IR_SIRMODE | IR_OFF,
};
@@ -293,9 +293,9 @@ static struct pxaficp_platform_data palmtx_ficp_platform_data = {
* UDC
******************************************************************************/
static struct gpio_vbus_mach_info palmtx_udc_info = {
- .gpio_vbus = GPIO_NR_PALMTX_USB_DETECT_N,
+ .gpio_vbus = GPIO13_PALMTX_USB_DETECT_N,
.gpio_vbus_inverted = 1,
- .gpio_pullup = GPIO_NR_PALMTX_USB_PULLUP,
+ .gpio_pullup = GPIO93_PALMTX_USB_PULLUP,
};
static struct platform_device palmtx_gpio_vbus = {
@@ -313,29 +313,29 @@ static int power_supply_init(struct device *dev)
{
int ret;
- ret = gpio_request(GPIO_NR_PALMTX_POWER_DETECT, "CABLE_STATE_AC");
+ ret = gpio_request(GPIO12_PALMTX_POWER_DETECT, "CABLE_STATE_AC");
if (ret)
goto err1;
- ret = gpio_direction_input(GPIO_NR_PALMTX_POWER_DETECT);
+ ret = gpio_direction_input(GPIO12_PALMTX_POWER_DETECT);
if (ret)
goto err2;
return 0;
err2:
- gpio_free(GPIO_NR_PALMTX_POWER_DETECT);
+ gpio_free(GPIO12_PALMTX_POWER_DETECT);
err1:
return ret;
}
static int palmtx_is_ac_online(void)
{
- return gpio_get_value(GPIO_NR_PALMTX_POWER_DETECT);
+ return gpio_get_value(GPIO12_PALMTX_POWER_DETECT);
}
static void power_supply_exit(struct device *dev)
{
- gpio_free(GPIO_NR_PALMTX_POWER_DETECT);
+ gpio_free(GPIO12_PALMTX_POWER_DETECT);
}
static char *palmtx_supplicants[] = {
@@ -385,7 +385,7 @@ static pxa2xx_audio_ops_t palmtx_ac97_pdata = {
};
static struct palm27x_asoc_info palmtx_asoc_pdata = {
- .jack_gpio = GPIO_NR_PALMTX_EARPHONE_DETECT,
+ .jack_gpio = GPIO107_PALMTX_EARPHONE_DETECT,
};
static struct platform_device palmtx_asoc = {
@@ -542,9 +542,9 @@ static void __init palmtx_map_io(void)
/* setup udc GPIOs initial state */
static void __init palmtx_udc_init(void)
{
- if (!gpio_request(GPIO_NR_PALMTX_USB_PULLUP, "UDC Vbus")) {
- gpio_direction_output(GPIO_NR_PALMTX_USB_PULLUP, 1);
- gpio_free(GPIO_NR_PALMTX_USB_PULLUP);
+ if (!gpio_request(GPIO93_PALMTX_USB_PULLUP, "UDC Vbus")) {
+ gpio_direction_output(GPIO93_PALMTX_USB_PULLUP, 1);
+ gpio_free(GPIO93_PALMTX_USB_PULLUP);
}
}
diff --git a/arch/arm/mach-pxa/palmz72.c b/arch/arm/mach-pxa/palmz72.c
index b78c6b4..91bc5a3 100644
--- a/arch/arm/mach-pxa/palmz72.c
+++ b/arch/arm/mach-pxa/palmz72.c
@@ -115,9 +115,9 @@ static unsigned long palmz72_pin_config[] __initdata = {
* select, i.e. it is inverted */
static struct pxamci_platform_data palmz72_mci_platform_data = {
.ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34,
- .gpio_card_detect = GPIO_NR_PALMZ72_SD_DETECT_N,
- .gpio_card_ro = GPIO_NR_PALMZ72_SD_RO,
- .gpio_power = GPIO_NR_PALMZ72_SD_POWER_N,
+ .gpio_card_detect = GPIO14_PALMZ72_SD_DETECT_N,
+ .gpio_card_ro = GPIO115_PALMZ72_SD_RO,
+ .gpio_power = GPIO98_PALMZ72_SD_POWER_N,
.gpio_power_invert = 1,
};
@@ -156,39 +156,39 @@ static int palmz72_backlight_init(struct device *dev)
{
int ret;
- ret = gpio_request(GPIO_NR_PALMZ72_BL_POWER, "BL POWER");
+ ret = gpio_request(GPIO20_PALMZ72_BL_POWER, "BL POWER");
if (ret)
goto err;
- ret = gpio_direction_output(GPIO_NR_PALMZ72_BL_POWER, 0);
+ ret = gpio_direction_output(GPIO20_PALMZ72_BL_POWER, 0);
if (ret)
goto err2;
- ret = gpio_request(GPIO_NR_PALMZ72_LCD_POWER, "LCD POWER");
+ ret = gpio_request(GPIO96_PALMZ72_LCD_POWER, "LCD POWER");
if (ret)
goto err2;
- ret = gpio_direction_output(GPIO_NR_PALMZ72_LCD_POWER, 0);
+ ret = gpio_direction_output(GPIO96_PALMZ72_LCD_POWER, 0);
if (ret)
goto err3;
return 0;
err3:
- gpio_free(GPIO_NR_PALMZ72_LCD_POWER);
+ gpio_free(GPIO96_PALMZ72_LCD_POWER);
err2:
- gpio_free(GPIO_NR_PALMZ72_BL_POWER);
+ gpio_free(GPIO20_PALMZ72_BL_POWER);
err:
return ret;
}
static int palmz72_backlight_notify(struct device *dev, int brightness)
{
- gpio_set_value(GPIO_NR_PALMZ72_BL_POWER, brightness);
- gpio_set_value(GPIO_NR_PALMZ72_LCD_POWER, brightness);
+ gpio_set_value(GPIO20_PALMZ72_BL_POWER, brightness);
+ gpio_set_value(GPIO96_PALMZ72_LCD_POWER, brightness);
return brightness;
}
static void palmz72_backlight_exit(struct device *dev)
{
- gpio_free(GPIO_NR_PALMZ72_BL_POWER);
- gpio_free(GPIO_NR_PALMZ72_LCD_POWER);
+ gpio_free(GPIO20_PALMZ72_BL_POWER);
+ gpio_free(GPIO96_PALMZ72_LCD_POWER);
}
static struct platform_pwm_backlight_data palmz72_backlight_data = {
@@ -213,7 +213,7 @@ static struct platform_device palmz72_backlight = {
* IrDA
******************************************************************************/
static struct pxaficp_platform_data palmz72_ficp_platform_data = {
- .gpio_pwdown = GPIO_NR_PALMZ72_IR_DISABLE,
+ .gpio_pwdown = GPIO49_PALMZ72_IR_DISABLE,
.transceiver_cap = IR_SIRMODE | IR_OFF,
};
@@ -224,7 +224,7 @@ static struct gpio_led gpio_leds[] = {
{
.name = "palmz72:green:led",
.default_trigger = "none",
- .gpio = GPIO_NR_PALMZ72_LED_GREEN,
+ .gpio = GPIO88_PALMZ72_LED_GREEN,
},
};
@@ -245,8 +245,8 @@ static struct platform_device palmz72_leds = {
* UDC
******************************************************************************/
static struct gpio_vbus_mach_info palmz72_udc_info = {
- .gpio_vbus = GPIO_NR_PALMZ72_USB_DETECT_N,
- .gpio_pullup = GPIO_NR_PALMZ72_USB_PULLUP,
+ .gpio_vbus = GPIO15_PALMZ72_USB_DETECT_N,
+ .gpio_pullup = GPIO95_PALMZ72_USB_PULLUP,
};
static struct platform_device palmz72_gpio_vbus = {
@@ -264,43 +264,43 @@ static int power_supply_init(struct device *dev)
{
int ret;
- ret = gpio_request(GPIO_NR_PALMZ72_POWER_DETECT, "CABLE_STATE_AC");
+ ret = gpio_request(GPIO0_PALMZ72_POWER_DETECT, "CABLE_STATE_AC");
if (ret)
goto err1;
- ret = gpio_direction_input(GPIO_NR_PALMZ72_POWER_DETECT);
+ ret = gpio_direction_input(GPIO0_PALMZ72_POWER_DETECT);
if (ret)
goto err2;
- ret = gpio_request(GPIO_NR_PALMZ72_USB_DETECT_N, "CABLE_STATE_USB");
+ ret = gpio_request(GPIO15_PALMZ72_USB_DETECT_N, "CABLE_STATE_USB");
if (ret)
goto err2;
- ret = gpio_direction_input(GPIO_NR_PALMZ72_USB_DETECT_N);
+ ret = gpio_direction_input(GPIO15_PALMZ72_USB_DETECT_N);
if (ret)
goto err3;
return 0;
err3:
- gpio_free(GPIO_NR_PALMZ72_USB_DETECT_N);
+ gpio_free(GPIO15_PALMZ72_USB_DETECT_N);
err2:
- gpio_free(GPIO_NR_PALMZ72_POWER_DETECT);
+ gpio_free(GPIO0_PALMZ72_POWER_DETECT);
err1:
return ret;
}
static int palmz72_is_ac_online(void)
{
- return gpio_get_value(GPIO_NR_PALMZ72_POWER_DETECT);
+ return gpio_get_value(GPIO0_PALMZ72_POWER_DETECT);
}
static int palmz72_is_usb_online(void)
{
- return !gpio_get_value(GPIO_NR_PALMZ72_USB_DETECT_N);
+ return !gpio_get_value(GPIO15_PALMZ72_USB_DETECT_N);
}
static void power_supply_exit(struct device *dev)
{
- gpio_free(GPIO_NR_PALMZ72_USB_DETECT_N);
- gpio_free(GPIO_NR_PALMZ72_POWER_DETECT);
+ gpio_free(GPIO15_PALMZ72_USB_DETECT_N);
+ gpio_free(GPIO0_PALMZ72_POWER_DETECT);
}
static char *palmz72_supplicants[] = {
@@ -468,9 +468,9 @@ static struct platform_device *devices[] __initdata = {
/* setup udc GPIOs initial state */
static void __init palmz72_udc_init(void)
{
- if (!gpio_request(GPIO_NR_PALMZ72_USB_PULLUP, "USB Pullup")) {
- gpio_direction_output(GPIO_NR_PALMZ72_USB_PULLUP, 0);
- gpio_free(GPIO_NR_PALMZ72_USB_PULLUP);
+ if (!gpio_request(GPIO95_PALMZ72_USB_PULLUP, "USB Pullup")) {
+ gpio_direction_output(GPIO95_PALMZ72_USB_PULLUP, 0);
+ gpio_free(GPIO95_PALMZ72_USB_PULLUP);
}
}
diff --git a/configs/config-colibri b/configs/config-colibri
new file mode 100644
index 0000000..e69de29
diff --git a/configs/config-income b/configs/config-income
new file mode 100644
index 0000000..e69de29
diff --git a/configs/config-littleton b/configs/config-littleton
new file mode 100644
index 0000000..e69de29
diff --git a/configs/config-vpac270 b/configs/config-vpac270
new file mode 100644
index 0000000..e69de29
diff --git a/configs/config-vpac270-minimal b/configs/config-vpac270-minimal
new file mode 100644
index 0000000..e69de29
diff --git a/configs/config-zaurus b/configs/config-zaurus
new file mode 100644
index 0000000..e69de29
diff --git a/configs/config-zipitz2 b/configs/config-zipitz2
new file mode 100644
index 0000000..e69de29
diff --git a/drivers/ata/pata_palmld.c b/drivers/ata/pata_palmld.c
index 11fb4cc..7ca74d6 100644
--- a/drivers/ata/pata_palmld.c
+++ b/drivers/ata/pata_palmld.c
@@ -61,24 +61,24 @@ static __devinit int palmld_pata_probe(struct platform_device *pdev)
return -ENOMEM;
/* request and activate power GPIO, IRQ GPIO */
- ret = gpio_request(GPIO_NR_PALMLD_IDE_PWEN, "HDD PWR");
+ ret = gpio_request(GPIO115_PALMLD_IDE_PWEN, "HDD PWR");
if (ret)
goto err1;
- ret = gpio_direction_output(GPIO_NR_PALMLD_IDE_PWEN, 1);
+ ret = gpio_direction_output(GPIO115_PALMLD_IDE_PWEN, 1);
if (ret)
goto err2;
- ret = gpio_request(GPIO_NR_PALMLD_IDE_RESET, "HDD RST");
+ ret = gpio_request(GPIO98_PALMLD_IDE_RESET, "HDD RST");
if (ret)
goto err2;
- ret = gpio_direction_output(GPIO_NR_PALMLD_IDE_RESET, 0);
+ ret = gpio_direction_output(GPIO98_PALMLD_IDE_RESET, 0);
if (ret)
goto err3;
/* reset the drive */
- gpio_set_value(GPIO_NR_PALMLD_IDE_RESET, 0);
+ gpio_set_value(GPIO98_PALMLD_IDE_RESET, 0);
msleep(30);
- gpio_set_value(GPIO_NR_PALMLD_IDE_RESET, 1);
+ gpio_set_value(GPIO98_PALMLD_IDE_RESET, 1);
msleep(30);
/* setup the ata port */
@@ -100,9 +100,9 @@ static __devinit int palmld_pata_probe(struct platform_device *pdev)
&palmld_sht);
err3:
- gpio_free(GPIO_NR_PALMLD_IDE_RESET);
+ gpio_free(GPIO98_PALMLD_IDE_RESET);
err2:
- gpio_free(GPIO_NR_PALMLD_IDE_PWEN);
+ gpio_free(GPIO115_PALMLD_IDE_PWEN);
err1:
return ret;
}
@@ -114,10 +114,10 @@ static __devexit int palmld_pata_remove(struct platform_device *dev)
ata_host_detach(host);
/* power down the HDD */
- gpio_set_value(GPIO_NR_PALMLD_IDE_PWEN, 0);
+ gpio_set_value(GPIO115_PALMLD_IDE_PWEN, 0);
- gpio_free(GPIO_NR_PALMLD_IDE_RESET);
- gpio_free(GPIO_NR_PALMLD_IDE_PWEN);
+ gpio_free(GPIO98_PALMLD_IDE_RESET);
+ gpio_free(GPIO115_PALMLD_IDE_PWEN);
return 0;
}
diff --git a/drivers/pcmcia/pxa2xx_palmld.c b/drivers/pcmcia/pxa2xx_palmld.c
index 6fb6f7f..4317657 100644
--- a/drivers/pcmcia/pxa2xx_palmld.c
+++ b/drivers/pcmcia/pxa2xx_palmld.c
@@ -24,52 +24,52 @@ static int palmld_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
{
int ret;
- ret = gpio_request(GPIO_NR_PALMLD_PCMCIA_POWER, "PCMCIA PWR");
+ ret = gpio_request(GPIO36_PALMLD_PCMCIA_POWER, "PCMCIA PWR");
if (ret)
goto err1;
- ret = gpio_direction_output(GPIO_NR_PALMLD_PCMCIA_POWER, 0);
+ ret = gpio_direction_output(GPIO36_PALMLD_PCMCIA_POWER, 0);
if (ret)
goto err2;
- ret = gpio_request(GPIO_NR_PALMLD_PCMCIA_RESET, "PCMCIA RST");
+ ret = gpio_request(GPIO81_PALMLD_PCMCIA_RESET, "PCMCIA RST");
if (ret)
goto err2;
- ret = gpio_direction_output(GPIO_NR_PALMLD_PCMCIA_RESET, 1);
+ ret = gpio_direction_output(GPIO81_PALMLD_PCMCIA_RESET, 1);
if (ret)
goto err3;
- ret = gpio_request(GPIO_NR_PALMLD_PCMCIA_READY, "PCMCIA RDY");
+ ret = gpio_request(GPIO38_PALMLD_PCMCIA_READY, "PCMCIA RDY");
if (ret)
goto err3;
- ret = gpio_direction_input(GPIO_NR_PALMLD_PCMCIA_READY);
+ ret = gpio_direction_input(GPIO38_PALMLD_PCMCIA_READY);
if (ret)
goto err4;
- skt->socket.pci_irq = IRQ_GPIO(GPIO_NR_PALMLD_PCMCIA_READY);
+ skt->socket.pci_irq = IRQ_GPIO(GPIO38_PALMLD_PCMCIA_READY);
return 0;
err4:
- gpio_free(GPIO_NR_PALMLD_PCMCIA_READY);
+ gpio_free(GPIO38_PALMLD_PCMCIA_READY);
err3:
- gpio_free(GPIO_NR_PALMLD_PCMCIA_RESET);
+ gpio_free(GPIO81_PALMLD_PCMCIA_RESET);
err2:
- gpio_free(GPIO_NR_PALMLD_PCMCIA_POWER);
+ gpio_free(GPIO36_PALMLD_PCMCIA_POWER);
err1:
return ret;
}
static void palmld_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt)
{
- gpio_free(GPIO_NR_PALMLD_PCMCIA_READY);
- gpio_free(GPIO_NR_PALMLD_PCMCIA_RESET);
- gpio_free(GPIO_NR_PALMLD_PCMCIA_POWER);
+ gpio_free(GPIO38_PALMLD_PCMCIA_READY);
+ gpio_free(GPIO81_PALMLD_PCMCIA_RESET);
+ gpio_free(GPIO36_PALMLD_PCMCIA_POWER);
}
static void palmld_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
struct pcmcia_state *state)
{
state->detect = 1; /* always inserted */
- state->ready = !!gpio_get_value(GPIO_NR_PALMLD_PCMCIA_READY);
+ state->ready = !!gpio_get_value(GPIO38_PALMLD_PCMCIA_READY);
state->bvd1 = 1;
state->bvd2 = 1;
state->wrprot = 0;
@@ -80,8 +80,8 @@ static void palmld_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
static int palmld_pcmcia_configure_socket(struct soc_pcmcia_socket *skt,
const socket_state_t *state)
{
- gpio_set_value(GPIO_NR_PALMLD_PCMCIA_POWER, 1);
- gpio_set_value(GPIO_NR_PALMLD_PCMCIA_RESET,
+ gpio_set_value(GPIO36_PALMLD_PCMCIA_POWER, 1);
+ gpio_set_value(GPIO81_PALMLD_PCMCIA_RESET,
!!(state->flags & SS_RESET));
return 0;
diff --git a/drivers/pcmcia/pxa2xx_palmtx.c b/drivers/pcmcia/pxa2xx_palmtx.c
index b07b247..cc80531 100644
--- a/drivers/pcmcia/pxa2xx_palmtx.c
+++ b/drivers/pcmcia/pxa2xx_palmtx.c
@@ -25,62 +25,62 @@ static int palmtx_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
{
int ret;
- ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_POWER1, "PCMCIA PWR1");
+ ret = gpio_request(GPIO94_PALMTX_PCMCIA_POWER1, "PCMCIA PWR1");
if (ret)
goto err1;
- ret = gpio_direction_output(GPIO_NR_PALMTX_PCMCIA_POWER1, 0);
+ ret = gpio_direction_output(GPIO94_PALMTX_PCMCIA_POWER1, 0);
if (ret)
goto err2;
- ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_POWER2, "PCMCIA PWR2");
+ ret = gpio_request(GPIO108_PALMTX_PCMCIA_POWER2, "PCMCIA PWR2");
if (ret)
goto err2;
- ret = gpio_direction_output(GPIO_NR_PALMTX_PCMCIA_POWER2, 0);
+ ret = gpio_direction_output(GPIO108_PALMTX_PCMCIA_POWER2, 0);
if (ret)
goto err3;
- ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_RESET, "PCMCIA RST");
+ ret = gpio_request(GPIO79_PALMTX_PCMCIA_RESET, "PCMCIA RST");
if (ret)
goto err3;
- ret = gpio_direction_output(GPIO_NR_PALMTX_PCMCIA_RESET, 1);
+ ret = gpio_direction_output(GPIO79_PALMTX_PCMCIA_RESET, 1);
if (ret)
goto err4;
- ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_READY, "PCMCIA RDY");
+ ret = gpio_request(GPIO116_PALMTX_PCMCIA_READY, "PCMCIA RDY");
if (ret)
goto err4;
- ret = gpio_direction_input(GPIO_NR_PALMTX_PCMCIA_READY);
+ ret = gpio_direction_input(GPIO116_PALMTX_PCMCIA_READY);
if (ret)
goto err5;
- skt->socket.pci_irq = gpio_to_irq(GPIO_NR_PALMTX_PCMCIA_READY);
+ skt->socket.pci_irq = gpio_to_irq(GPIO116_PALMTX_PCMCIA_READY);
return 0;
err5:
- gpio_free(GPIO_NR_PALMTX_PCMCIA_READY);
+ gpio_free(GPIO116_PALMTX_PCMCIA_READY);
err4:
- gpio_free(GPIO_NR_PALMTX_PCMCIA_RESET);
+ gpio_free(GPIO79_PALMTX_PCMCIA_RESET);
err3:
- gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER2);
+ gpio_free(GPIO108_PALMTX_PCMCIA_POWER2);
err2:
- gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER1);
+ gpio_free(GPIO94_PALMTX_PCMCIA_POWER1);
err1:
return ret;
}
static void palmtx_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt)
{
- gpio_free(GPIO_NR_PALMTX_PCMCIA_READY);
- gpio_free(GPIO_NR_PALMTX_PCMCIA_RESET);
- gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER2);
- gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER1);
+ gpio_free(GPIO116_PALMTX_PCMCIA_READY);
+ gpio_free(GPIO79_PALMTX_PCMCIA_RESET);
+ gpio_free(GPIO108_PALMTX_PCMCIA_POWER2);
+ gpio_free(GPIO94_PALMTX_PCMCIA_POWER1);
}
static void palmtx_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
struct pcmcia_state *state)
{
state->detect = 1; /* always inserted */
- state->ready = !!gpio_get_value(GPIO_NR_PALMTX_PCMCIA_READY);
+ state->ready = !!gpio_get_value(GPIO116_PALMTX_PCMCIA_READY);
state->bvd1 = 1;
state->bvd2 = 1;
state->wrprot = 0;
@@ -92,9 +92,9 @@ static int
palmtx_pcmcia_configure_socket(struct soc_pcmcia_socket *skt,
const socket_state_t *state)
{
- gpio_set_value(GPIO_NR_PALMTX_PCMCIA_POWER1, 1);
- gpio_set_value(GPIO_NR_PALMTX_PCMCIA_POWER2, 1);
- gpio_set_value(GPIO_NR_PALMTX_PCMCIA_RESET,
+ gpio_set_value(GPIO94_PALMTX_PCMCIA_POWER1, 1);
+ gpio_set_value(GPIO108_PALMTX_PCMCIA_POWER2, 1);
+ gpio_set_value(GPIO79_PALMTX_PCMCIA_RESET,
!!(state->flags & SS_RESET));
return 0;
--
1.7.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 5/5] pxa: Modularize remnants of code in Palms
2010-07-13 7:38 [PATCH 1/5] pxa: Sane naming of gpios for palm platform Marek Vasut
@ 2010-07-13 7:38 ` Marek Vasut
0 siblings, 0 replies; 6+ messages in thread
From: Marek Vasut @ 2010-07-13 7:38 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
arch/arm/mach-pxa/palmld.c | 63 +++++++++++++++----
arch/arm/mach-pxa/palmt5.c | 22 ++++++-
arch/arm/mach-pxa/palmtreo.c | 141 ++++++++++++++++++++----------------------
arch/arm/mach-pxa/palmtx.c | 49 ++++++++++++---
arch/arm/mach-pxa/palmz72.c | 22 ++++++-
5 files changed, 196 insertions(+), 101 deletions(-)
diff --git a/arch/arm/mach-pxa/palmld.c b/arch/arm/mach-pxa/palmld.c
index 166d735..1f592b5 100644
--- a/arch/arm/mach-pxa/palmld.c
+++ b/arch/arm/mach-pxa/palmld.c
@@ -128,6 +128,7 @@ static unsigned long palmld_pin_config[] __initdata = {
/******************************************************************************
* NOR Flash
******************************************************************************/
+#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
static struct mtd_partition palmld_partitions[] = {
{
.name = "Flash",
@@ -161,9 +162,18 @@ static struct platform_device palmld_flash = {
},
};
+static void __init palmld_nor_init(void)
+{
+ platform_device_register(&palmld_flash);
+}
+#else
+static inline void palmld_nor_init(void) {}
+#endif
+
/******************************************************************************
* GPIO keyboard
******************************************************************************/
+#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
static unsigned int palmld_matrix_keys[] = {
KEY(0, 1, KEY_F2),
KEY(0, 2, KEY_UP),
@@ -190,9 +200,18 @@ static struct pxa27x_keypad_platform_data palmld_keypad_platform_data = {
.debounce_interval = 30,
};
+static void __init palmld_kpc_init(void)
+{
+ pxa_set_keypad_info(&palmld_keypad_platform_data);
+}
+#else
+static inline void palmld_kpc_init(void) {}
+#endif
+
/******************************************************************************
* GPIO keys
******************************************************************************/
+#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
static struct gpio_keys_button palmld_pxa_buttons[] = {
{KEY_F8, GPIO10_PALMLD_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
{KEY_F9, GPIO15_PALMLD_LOCK_SWITCH, 0, "Lock Switch" },
@@ -212,9 +231,18 @@ static struct platform_device palmld_pxa_keys = {
},
};
+static void __init palmld_keys_init(void)
+{
+ platform_device_register(&palmld_pxa_keys);
+}
+#else
+static inline void palmld_keys_init(void) {}
+#endif
+
/******************************************************************************
* LEDs
******************************************************************************/
+#if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
struct gpio_led gpio_leds[] = {
{
.name = "palmld:green:led",
@@ -240,26 +268,34 @@ static struct platform_device palmld_leds = {
}
};
+static void __init palmld_leds_init(void)
+{
+ platform_device_register(&palmld_leds);
+}
+#else
+static inline void palmld_leds_init(void) {}
+#endif
+
/******************************************************************************
* HDD
******************************************************************************/
-static struct platform_device palmld_hdd = {
+#if defined(CONFIG_PATA_PALMLD) || defined(CONFIG_PATA_PALMLD_MODULE)
+static struct platform_device palmld_ide_device = {
.name = "pata_palmld",
.id = -1,
};
+static void __init palmld_ide_init(void)
+{
+ platform_device_register(&palmld_ide_device);
+}
+#else
+static inline void palmld_ide_init(void) {}
+#endif
+
/******************************************************************************
* Machine init
******************************************************************************/
-static struct platform_device *devices[] __initdata = {
-#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
- &palmld_pxa_keys,
-#endif
- &palmld_leds,
- &palmld_hdd,
- &palmld_flash,
-};
-
static struct map_desc palmld_io_desc[] __initdata = {
{
.virtual = PALMLD_IDE_VIRT,
@@ -300,8 +336,11 @@ static void __init palmld_init(void)
{
pxa2xx_mfp_config(ARRAY_AND_SIZE(palmld_pin_config));
palm27x_common_init(&palmld);
- pxa_set_keypad_info(&palmld_keypad_platform_data);
- platform_add_devices(devices, ARRAY_SIZE(devices));
+ palmld_kpc_init();
+ palmld_keys_init();
+ palmld_nor_init();
+ palmld_leds_init();
+ palmld_ide_init();
}
MACHINE_START(PALMLD, "Palm LifeDrive")
diff --git a/arch/arm/mach-pxa/palmt5.c b/arch/arm/mach-pxa/palmt5.c
index 26925fc..db2f8ab 100644
--- a/arch/arm/mach-pxa/palmt5.c
+++ b/arch/arm/mach-pxa/palmt5.c
@@ -106,6 +106,7 @@ static unsigned long palmt5_pin_config[] __initdata = {
/******************************************************************************
* GPIO keyboard
******************************************************************************/
+#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
static unsigned int palmt5_matrix_keys[] = {
KEY(0, 0, KEY_POWER),
KEY(0, 1, KEY_F1),
@@ -131,9 +132,18 @@ static struct pxa27x_keypad_platform_data palmt5_keypad_platform_data = {
.debounce_interval = 30,
};
+static void __init palmt5_kpc_init(void)
+{
+ pxa_set_keypad_info(&palmt5_keypad_platform_data);
+}
+#else
+static inline void palmt5_kpc_init(void) {}
+#endif
+
/******************************************************************************
* GPIO keys
******************************************************************************/
+#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
static struct gpio_keys_button palmt5_pxa_buttons[] = {
{KEY_F8, GPIO10_PALMT5_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
};
@@ -151,6 +161,14 @@ static struct platform_device palmt5_pxa_keys = {
},
};
+static void __init palmt5_keys_init(void)
+{
+ platform_device_register(&palmt5_pxa_keys);
+}
+#else
+static inline void palmt5_keys_init(void) {}
+#endif
+
/******************************************************************************
* Machine init
******************************************************************************/
@@ -175,8 +193,8 @@ static void __init palmt5_init(void)
{
pxa2xx_mfp_config(ARRAY_AND_SIZE(palmt5_pin_config));
palm27x_common_init(&palmt5);
- pxa_set_keypad_info(&palmt5_keypad_platform_data);
- platform_device_register(&palmt5_pxa_keys);
+ palmt5_kpc_init();
+ palmt5_keys_init();
}
MACHINE_START(PALMT5, "Palm Tungsten|T5")
diff --git a/arch/arm/mach-pxa/palmtreo.c b/arch/arm/mach-pxa/palmtreo.c
index dcb5f93..93c83d4 100644
--- a/arch/arm/mach-pxa/palmtreo.c
+++ b/arch/arm/mach-pxa/palmtreo.c
@@ -161,7 +161,7 @@ static unsigned long centro685_pin_config[] __initdata = {
/******************************************************************************
* GPIO keyboard
******************************************************************************/
-#ifdef CONFIG_MACH_TREO680
+#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
static unsigned int treo680_matrix_keys[] = {
KEY(0, 0, KEY_F8), /* Red/Off/Power */
KEY(0, 1, KEY_LEFT),
@@ -221,19 +221,6 @@ static unsigned int treo680_matrix_keys[] = {
KEY(7, 5, KEY_I),
};
-static struct pxa27x_keypad_platform_data treo680_keypad_platform_data = {
- .matrix_key_rows = 8,
- .matrix_key_cols = 7,
- .matrix_key_map = treo680_matrix_keys,
- .matrix_key_map_size = ARRAY_SIZE(treo680_matrix_keys),
- .direct_key_map = { KEY_CONNECT },
- .direct_key_num = 1,
-
- .debounce_interval = 30,
-};
-#endif /* CONFIG_MACH_TREO680 */
-
-#ifdef CONFIG_MACH_CENTRO
static unsigned int centro_matrix_keys[] = {
KEY(0, 0, KEY_F9), /* Home */
KEY(0, 1, KEY_LEFT),
@@ -293,28 +280,50 @@ static unsigned int centro_matrix_keys[] = {
KEY(7, 5, KEY_I),
};
-static struct pxa27x_keypad_platform_data centro_keypad_platform_data = {
+static struct pxa27x_keypad_platform_data treo680_keypad_pdata = {
.matrix_key_rows = 8,
.matrix_key_cols = 7,
- .matrix_key_map = centro_matrix_keys,
- .matrix_key_map_size = ARRAY_SIZE(centro_matrix_keys),
+ .matrix_key_map = treo680_matrix_keys,
+ .matrix_key_map_size = ARRAY_SIZE(treo680_matrix_keys),
.direct_key_map = { KEY_CONNECT },
.direct_key_num = 1,
.debounce_interval = 30,
};
-#endif /* CONFIG_MACH_CENTRO */
+
+static void __init palmtreo_kpc_init(void)
+{
+ static struct pxa27x_keypad_platform_data *data = &treo680_keypad_pdata;
+
+ if (machine_is_centro()) {
+ data->matrix_key_map = centro_matrix_keys;
+ data->matrix_key_map_size = ARRAY_SIZE(centro_matrix_keys);
+ }
+
+ pxa_set_keypad_info(&treo680_keypad_pdata);
+}
+#else
+static inline void palmtreo_kpc_init(void) {}
+#endif
/******************************************************************************
* USB host
******************************************************************************/
-#ifdef CONFIG_MACH_TREO680
+#if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE)
static struct pxaohci_platform_data treo680_ohci_info = {
.port_mode = PMM_PERPORT_MODE,
.flags = ENABLE_PORT1 | ENABLE_PORT3,
.power_budget = 0,
};
-#endif /* CONFIG_MACH_TREO680 */
+
+static void __init palmtreo_uhc_init(void)
+{
+ if (machine_is_treo680())
+ pxa_set_ohci_info(&treo680_ohci_info);
+}
+#else
+static inline void palmtreo_uhc_init(void) {}
+#endif
/******************************************************************************
* Vibra and LEDs
@@ -343,16 +352,6 @@ static struct gpio_led_platform_data treo680_gpio_led_info = {
.num_leds = ARRAY_SIZE(treo680_gpio_leds),
};
-static struct platform_device treo680_leds = {
- .name = "leds-gpio",
- .id = -1,
- .dev = {
- .platform_data = &treo680_gpio_led_info,
- }
-};
-#endif /* CONFIG_MACH_TREO680 */
-
-#ifdef CONFIG_MACH_CENTRO
static struct gpio_led centro_gpio_leds[] = {
{
.name = "centro:vibra:vibra",
@@ -377,31 +376,28 @@ static struct gpio_led_platform_data centro_gpio_led_info = {
.num_leds = ARRAY_SIZE(centro_gpio_leds),
};
-static struct platform_device centro_leds = {
+static struct platform_device palmtreo_leds = {
.name = "leds-gpio",
.id = -1,
.dev = {
- .platform_data = ¢ro_gpio_led_info,
+ .platform_data = &treo680_gpio_led_info,
}
};
-#endif /* CONFIG_MACH_CENTRO */
+
+static void __init palmtreo_leds_init(void)
+{
+ if (machine_is_centro())
+ palmtreo_leds.dev.platform_data = ¢ro_gpio_led_info;
+
+ platform_device_register(&palmtreo_leds);
+}
+#else
+static inline void palmtreo_leds_init(void) {}
+#endif
/******************************************************************************
* Machine init
******************************************************************************/
-#ifdef CONFIG_MACH_TREO680
-static struct platform_device *treo680_devices[] __initdata = {
- &treo680_leds,
-};
-#endif /* CONFIG_MACH_TREO680 */
-
-#ifdef CONFIG_MACH_CENTRO
-static struct platform_device *centro_devices[] __initdata = {
- ¢ro_leds,
-};
-#endif /* CONFIG_MACH_CENTRO */
-
-#ifdef CONFIG_MACH_TREO680
struct palm27x_handheld palmtreo680 = {
.mmc_detect = GPIO_NR_TREO_SD_DETECT_N,
.mmc_ro = GPIO_NR_TREO680_SD_READONLY,
@@ -417,28 +413,6 @@ struct palm27x_handheld palmtreo680 = {
.lcd_power = GPIO_NR_TREO_BL_POWER,
};
-static void __init treo680_init(void)
-{
- pxa2xx_mfp_config(ARRAY_AND_SIZE(treo_pin_config));
- pxa2xx_mfp_config(ARRAY_AND_SIZE(treo680_pin_config));
- palm27x_common_init(&palmtreo680);
- pxa_set_keypad_info(&treo680_keypad_platform_data);
- pxa_set_ohci_info(&treo680_ohci_info);
- platform_add_devices(ARRAY_AND_SIZE(treo680_devices));
-}
-
-MACHINE_START(TREO680, "Palm Treo 680")
- .phys_io = TREO_PHYS_IO_START,
- .io_pg_offst = io_p2v(0x40000000),
- .boot_params = 0xa0000100,
- .map_io = pxa_map_io,
- .init_irq = pxa27x_init_irq,
- .timer = &pxa_timer,
- .init_machine = treo680_init,
-MACHINE_END
-#endif /* CONFIG_MACH_TREO680 */
-
-#ifdef CONFIG_MACH_CENTRO
struct palm27x_handheld palmcentro = {
.mmc_detect = GPIO_NR_TREO_SD_DETECT_N,
.mmc_ro = -1,
@@ -454,15 +428,33 @@ struct palm27x_handheld palmcentro = {
.lcd_power = GPIO_NR_TREO_BL_POWER,
};
-static void __init centro_init(void)
+static void __init palmtreo_init(void)
{
pxa2xx_mfp_config(ARRAY_AND_SIZE(treo_pin_config));
- pxa2xx_mfp_config(ARRAY_AND_SIZE(centro685_pin_config));
- palm27x_common_init(&palmcentro);
- pxa_set_keypad_info(¢ro_keypad_platform_data);
- platform_add_devices(ARRAY_AND_SIZE(centro_devices));
+
+ if (machine_is_centro()) {
+ pxa2xx_mfp_config(ARRAY_AND_SIZE(centro685_pin_config));
+ palm27x_common_init(&palmcentro);
+ } else {
+ pxa2xx_mfp_config(ARRAY_AND_SIZE(treo680_pin_config));
+ palm27x_common_init(&palmtreo680);
+ }
+
+ palmtreo_kpc_init();
+ palmtreo_uhc_init();
+ palmtreo_leds_init();
}
+MACHINE_START(TREO680, "Palm Treo 680")
+ .phys_io = TREO_PHYS_IO_START,
+ .io_pg_offst = io_p2v(0x40000000),
+ .boot_params = 0xa0000100,
+ .map_io = pxa_map_io,
+ .init_irq = pxa27x_init_irq,
+ .timer = &pxa_timer,
+ .init_machine = palmtreo_init,
+MACHINE_END
+
MACHINE_START(CENTRO, "Palm Centro 685")
.phys_io = TREO_PHYS_IO_START,
.io_pg_offst = io_p2v(0x40000000),
@@ -470,6 +462,5 @@ MACHINE_START(CENTRO, "Palm Centro 685")
.map_io = pxa_map_io,
.init_irq = pxa27x_init_irq,
.timer = &pxa_timer,
- .init_machine = centro_init,
+ .init_machine = palmtreo_init,
MACHINE_END
-#endif /* CONFIG_MACH_CENTRO */
diff --git a/arch/arm/mach-pxa/palmtx.c b/arch/arm/mach-pxa/palmtx.c
index fe7ef08..03cab2f 100644
--- a/arch/arm/mach-pxa/palmtx.c
+++ b/arch/arm/mach-pxa/palmtx.c
@@ -130,6 +130,7 @@ static unsigned long palmtx_pin_config[] __initdata = {
/******************************************************************************
* NOR Flash
******************************************************************************/
+#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
static struct mtd_partition palmtx_partitions[] = {
{
.name = "Flash",
@@ -163,9 +164,18 @@ static struct platform_device palmtx_flash = {
},
};
+static void __init palmtx_nor_init(void)
+{
+ platform_device_register(&palmtx_flash);
+}
+#else
+static inline void palmtx_nor_init(void) {}
+#endif
+
/******************************************************************************
* GPIO keyboard
******************************************************************************/
+#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
static unsigned int palmtx_matrix_keys[] = {
KEY(0, 0, KEY_POWER),
KEY(0, 1, KEY_F1),
@@ -191,9 +201,18 @@ static struct pxa27x_keypad_platform_data palmtx_keypad_platform_data = {
.debounce_interval = 30,
};
+static void __init palmtx_kpc_init(void)
+{
+ pxa_set_keypad_info(&palmtx_keypad_platform_data);
+}
+#else
+static inline void palmtx_kpc_init(void) {}
+#endif
+
/******************************************************************************
* GPIO keys
******************************************************************************/
+#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
static struct gpio_keys_button palmtx_pxa_buttons[] = {
{KEY_F8, GPIO10_PALMTX_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
};
@@ -211,9 +230,18 @@ static struct platform_device palmtx_pxa_keys = {
},
};
+static void __init palmtx_keys_init(void)
+{
+ platform_device_register(&palmtx_pxa_keys);
+}
+#else
+static inline void palmtx_keys_init(void) {}
+#endif
+
/******************************************************************************
* NAND Flash
******************************************************************************/
+#if defined(CONFIG_MTD_NAND_GPIO) || defined(CONFIG_MTD_NAND_GPIO_MODULE)
static void palmtx_nand_cmd_ctl(struct mtd_info *mtd, int cmd,
unsigned int ctrl)
{
@@ -273,18 +301,17 @@ static struct platform_device palmtx_nand = {
}
};
+static void __init palmtx_nand_init(void)
+{
+ platform_device_register(&palmtx_nand);
+}
+#else
+static inline void palmtx_nand_init(void) {}
+#endif
/******************************************************************************
* Machine init
******************************************************************************/
-static struct platform_device *devices[] __initdata = {
-#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
- &palmtx_pxa_keys,
-#endif
- &palmtx_flash,
- &palmtx_nand,
-};
-
static struct map_desc palmtx_io_desc[] __initdata = {
{
.virtual = PALMTX_PCMCIA_VIRT,
@@ -331,8 +358,10 @@ static void __init palmtx_init(void)
{
pxa2xx_mfp_config(ARRAY_AND_SIZE(palmtx_pin_config));
palm27x_common_init(&palmtx);
- pxa_set_keypad_info(&palmtx_keypad_platform_data);
- platform_add_devices(devices, ARRAY_SIZE(devices));
+ palmtx_kpc_init();
+ palmtx_keys_init();
+ palmtx_nor_init();
+ palmtx_nand_init();
}
MACHINE_START(PALMTX, "Palm T|X")
diff --git a/arch/arm/mach-pxa/palmz72.c b/arch/arm/mach-pxa/palmz72.c
index e66e911..b20b983 100644
--- a/arch/arm/mach-pxa/palmz72.c
+++ b/arch/arm/mach-pxa/palmz72.c
@@ -112,6 +112,7 @@ static unsigned long palmz72_pin_config[] __initdata = {
/******************************************************************************
* GPIO keyboard
******************************************************************************/
+#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
static unsigned int palmz72_matrix_keys[] = {
KEY(0, 0, KEY_POWER),
KEY(0, 1, KEY_F1),
@@ -137,9 +138,18 @@ static struct pxa27x_keypad_platform_data palmz72_keypad_platform_data = {
.debounce_interval = 30,
};
+static void __init palmz72_kpc_init(void)
+{
+ pxa_set_keypad_info(&palmz72_keypad_platform_data);
+}
+#else
+static inline void palmz72_kpc_init(void) {}
+#endif
+
/******************************************************************************
* LEDs
******************************************************************************/
+#if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
static struct gpio_led gpio_leds[] = {
{
.name = "palmz72:green:led",
@@ -161,6 +171,14 @@ static struct platform_device palmz72_leds = {
}
};
+static void __init palmz72_leds_init(void)
+{
+ platform_device_register(&palmz72_leds);
+}
+#else
+static inline void palmz72_leds_init(void) {}
+#endif
+
#ifdef CONFIG_PM
/* We have some black magic here
@@ -254,8 +272,8 @@ static void __init palmz72_init(void)
{
pxa2xx_mfp_config(ARRAY_AND_SIZE(palmz72_pin_config));
palm27x_common_init(&palmz72);
- pxa_set_keypad_info(&palmz72_keypad_platform_data);
- platform_device_register(&palmz72_leds);
+ palmz72_kpc_init();
+ palmz72_leds_init();
}
MACHINE_START(PALMZ72, "Palm Zire72")
--
1.7.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-07-13 7:51 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-13 7:51 [PATCH 1/5] pxa: Sane naming of gpios for palm platform Marek Vasut
2010-07-13 7:51 ` [PATCH v2 2/5] pxa: Introduce Palm27x Marek Vasut
2010-07-13 7:51 ` [PATCH v2 3/5] pxa: Flip Palm LD, TX, T5, Z72 to Palm27x Marek Vasut
2010-07-13 7:51 ` [PATCH 4/5] pxa: Add core pmic support for Palm27x Marek Vasut
2010-07-13 7:51 ` [PATCH 5/5] pxa: Modularize remnants of code in Palms Marek Vasut
-- strict thread matches above, loose matches on Subject: below --
2010-07-13 7:38 [PATCH 1/5] pxa: Sane naming of gpios for palm platform Marek Vasut
2010-07-13 7:38 ` [PATCH 5/5] pxa: Modularize remnants of code in Palms Marek Vasut
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).