[PATCH 4/5] PalmGSM: generalisation of Treo680 code to PalmGSM
Tomáš Čech
sleep_walker at suse.cz
Mon Aug 31 13:26:00 EDT 2009
From: Tomáš Čech <sleep walker at suse.cz>
Signed-off-by: Tomáš Čech <sleep_walker at suse.cz>
---
arch/arm/mach-pxa/Kconfig | 5 +
arch/arm/mach-pxa/Makefile | 2 +-
arch/arm/mach-pxa/include/mach/palmgsm.h | 60 +++++++++
arch/arm/mach-pxa/include/mach/treo680.h | 49 -------
arch/arm/mach-pxa/{treo680.c => palmgsm.c} | 197 ++++++++++++++++------------
5 files changed, 180 insertions(+), 133 deletions(-)
create mode 100644 arch/arm/mach-pxa/include/mach/palmgsm.h
delete mode 100644 arch/arm/mach-pxa/include/mach/treo680.h
rename arch/arm/mach-pxa/{treo680.c => palmgsm.c} (69%)
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index 904f36a..441f1d6 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -401,12 +401,17 @@ config MACH_PALMZ72
Say Y here if you intend to run this kernel on Palm Zire 72
handheld computer.
+config PALMGSM
+ depends on ARCH_PXA_PALM
+ bool
+
config MACH_TREO680
bool "Palm Treo 680"
default y
depends on ARCH_PXA_PALM
select PXA27x
select IWMMXT
+ select PALMGSM
help
Say Y here if you intend to run this kernel on Palm Treo 680
smartphone.
diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile
index d4c6122..b811878 100644
--- a/arch/arm/mach-pxa/Makefile
+++ b/arch/arm/mach-pxa/Makefile
@@ -62,7 +62,7 @@ obj-$(CONFIG_MACH_PALMT5) += palmt5.o
obj-$(CONFIG_MACH_PALMTX) += palmtx.o
obj-$(CONFIG_MACH_PALMLD) += palmld.o
obj-$(CONFIG_MACH_PALMZ72) += palmz72.o
-obj-$(CONFIG_MACH_TREO680) += treo680.o
+obj-$(CONFIG_PALMGSM) += palmgsm.o
obj-$(CONFIG_ARCH_VIPER) += viper.o
ifeq ($(CONFIG_MACH_ZYLONITE),y)
diff --git a/arch/arm/mach-pxa/include/mach/palmgsm.h b/arch/arm/mach-pxa/include/mach/palmgsm.h
new file mode 100644
index 0000000..8d1a3bc
--- /dev/null
+++ b/arch/arm/mach-pxa/include/mach/palmgsm.h
@@ -0,0 +1,60 @@
+/*
+ * GPIOs and interrupts for Palm smartphones
+ *
+ * currently supported:
+ * Palm Treo 680 (GSM)
+ *
+ * Author: Tomas Cech <sleep_walker at suse.cz>
+ *
+ * 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.
+ *
+ * find more info at www.hackndev.com
+ *
+ */
+
+
+#ifndef _INCLUDE_PALMGSM_H_
+#define _INCLUDE_PALMGSM_H_
+
+/* Generic GPIOs */
+#define GPIO_NR_PALMGSM_POWER_DETECT 0
+#define GPIO_NR_PALMGSM_AMP_EN 27
+#define GPIO_NR_PALMGSM_GREEN_LED 20
+#define GPIO_NR_PALMGSM_RED_LED 79
+#define GPIO_NR_PALMGSM_SD_DETECT_N 113
+#define GPIO_NR_PALMGSM_EP_DETECT_N 116
+#define GPIO_NR_PALMGSM_USB_DETECT 1
+#define GPIO_NR_PALMGSM_USB_PULLUP 114
+#define GPIO_NR_PALMGSM_GSM_POWER 40
+#define GPIO_NR_PALMGSM_GSM_RESET 87
+#define GPIO_NR_PALMGSM_GSM_WAKE 57
+#define GPIO_NR_PALMGSM_GSM_HOST_WAKE 14
+#define GPIO_NR_PALMGSM_GSM_TRIGGER 10
+#define GPIO_NR_PALMGSM_IR_EN 115
+#define GPIO_NR_PALMGSM_IR_TXD 47
+#define GPIO_NR_PALMGSM_BL_POWER 38
+#define GPIO_NR_PALMGSM_LCD_POWER 25
+#define GPIO_NR_PALMGSM_CAM_EN 83
+
+/* Treo680 specific GPIOs */
+#define GPIO_NR_TREO680_SD_READONLY 33
+#define GPIO_NR_TREO680_SD_POWER 42
+#define GPIO_NR_TREO680_VIBRATE_EN 44
+#define GPIO_NR_TREO680_KEYB_BL 24
+#define GPIO_NR_TREO680_BT_EN 43
+
+/* Various addresses */
+#define PALMGSM_PHYS_RAM_START 0xa0000000
+#define PALMGSM_PHYS_IO_START 0x40000000
+#define PALMGSM_STR_BASE 0xa2000000
+
+/* BACKLIGHT */
+#define PALMGSM_MAX_INTENSITY 254
+#define PALMGSM_DEFAULT_INTENSITY 160
+#define PALMGSM_LIMIT_MASK 0x7F
+#define PALMGSM_PRESCALER 63
+#define PALMGSM_PERIOD_NS 3500
+
+#endif
diff --git a/arch/arm/mach-pxa/include/mach/treo680.h b/arch/arm/mach-pxa/include/mach/treo680.h
deleted file mode 100644
index af443b2..0000000
--- a/arch/arm/mach-pxa/include/mach/treo680.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * GPIOs and interrupts for Palm Treo 680 smartphone
- *
- * 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.
- *
- */
-
-#ifndef _INCLUDE_TREO680_H_
-#define _INCLUDE_TREO680_H_
-
-/* GPIOs */
-#define GPIO_NR_TREO680_POWER_DETECT 0
-#define GPIO_NR_TREO680_AMP_EN 27
-#define GPIO_NR_TREO680_KEYB_BL 24
-#define GPIO_NR_TREO680_VIBRATE_EN 44
-#define GPIO_NR_TREO680_GREEN_LED 20
-#define GPIO_NR_TREO680_RED_LED 79
-#define GPIO_NR_TREO680_SD_DETECT_N 113
-#define GPIO_NR_TREO680_SD_READONLY 33
-#define GPIO_NR_TREO680_EP_DETECT_N 116
-#define GPIO_NR_TREO680_SD_POWER 42
-#define GPIO_NR_TREO680_USB_DETECT 1
-#define GPIO_NR_TREO680_USB_PULLUP 114
-#define GPIO_NR_TREO680_GSM_POWER 40
-#define GPIO_NR_TREO680_GSM_RESET 87
-#define GPIO_NR_TREO680_GSM_WAKE 57
-#define GPIO_NR_TREO680_GSM_HOST_WAKE 14
-#define GPIO_NR_TREO680_GSM_TRIGGER 10
-#define GPIO_NR_TREO680_BT_EN 43
-#define GPIO_NR_TREO680_IR_EN 115
-#define GPIO_NR_TREO680_IR_TXD 47
-#define GPIO_NR_TREO680_BL_POWER 38
-#define GPIO_NR_TREO680_LCD_POWER 25
-
-/* Various addresses */
-#define TREO680_PHYS_RAM_START 0xa0000000
-#define TREO680_PHYS_IO_START 0x40000000
-#define TREO680_STR_BASE 0xa2000000
-
-/* BACKLIGHT */
-#define TREO680_MAX_INTENSITY 254
-#define TREO680_DEFAULT_INTENSITY 160
-#define TREO680_LIMIT_MASK 0x7F
-#define TREO680_PRESCALER 63
-#define TREO680_PERIOD_NS 3500
-
-#endif
diff --git a/arch/arm/mach-pxa/treo680.c b/arch/arm/mach-pxa/palmgsm.c
similarity index 69%
rename from arch/arm/mach-pxa/treo680.c
rename to arch/arm/mach-pxa/palmgsm.c
index d88114c..66be426 100644
--- a/arch/arm/mach-pxa/treo680.c
+++ b/arch/arm/mach-pxa/palmgsm.c
@@ -1,5 +1,8 @@
/*
- * Hardware definitions for Palm Treo 680
+ * Hardware definitions for Palm smartphones
+ *
+ * currently supported:
+ * Palm Treo 680 (GSM)
*
* Author: Tomas Cech <sleep_walker at suse.cz>
*
@@ -31,7 +34,7 @@
#include <mach/pxa27x.h>
#include <mach/pxa27x-udc.h>
#include <mach/audio.h>
-#include <mach/treo680.h>
+#include <mach/palmgsm.h>
#include <mach/mmc.h>
#include <mach/pxafb.h>
#include <mach/irda.h>
@@ -50,7 +53,7 @@
/******************************************************************************
* Pin configuration
******************************************************************************/
-static unsigned long treo680_pin_config[] __initdata = {
+static unsigned long palmgsm_pin_config[] __initdata = {
/* MMC */
GPIO32_MMC_CLK,
GPIO92_MMC_DAT_0,
@@ -58,7 +61,6 @@ static unsigned long treo680_pin_config[] __initdata = {
GPIO110_MMC_DAT_2,
GPIO111_MMC_DAT_3,
GPIO112_MMC_CMD,
- GPIO33_GPIO, /* SD read only */
GPIO113_GPIO, /* SD detect */
/* AC97 */
@@ -80,12 +82,10 @@ static unsigned long treo680_pin_config[] __initdata = {
GPIO1_GPIO | WAKEUP_ON_EDGE_BOTH, /* usb detect */
/* MATRIX KEYPAD */
- GPIO100_KP_MKIN_0 | WAKEUP_ON_LEVEL_HIGH,
GPIO101_KP_MKIN_1,
GPIO102_KP_MKIN_2,
GPIO97_KP_MKIN_3,
GPIO98_KP_MKIN_4,
- GPIO99_KP_MKIN_5,
GPIO91_KP_MKIN_6,
GPIO13_KP_MKIN_7,
GPIO103_KP_MKOUT_0 | MFP_LPM_DRIVE_HIGH,
@@ -150,19 +150,32 @@ static unsigned long treo680_pin_config[] __initdata = {
GPIO11_GPIO | WAKEUP_ON_EDGE_BOTH, /* bluetooth host wake up */
};
+#ifdef CONFIG_MACH_TREO680
+static unsigned long treo680_pin_config[] __initdata = {
+ GPIO33_GPIO, /* SD read only */
+
+ /* MATRIX KEYPAD - different wake up source */
+ GPIO100_KP_MKIN_0 | WAKEUP_ON_LEVEL_HIGH,
+ GPIO99_KP_MKIN_5,
+};
+#endif
+
/******************************************************************************
* 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_TREO680_SD_DETECT_N,
+ .gpio_card_detect = GPIO_NR_PALMGSM_SD_DETECT_N,
.gpio_card_ro = GPIO_NR_TREO680_SD_READONLY,
.gpio_power = GPIO_NR_TREO680_SD_POWER,
};
+#endif
/******************************************************************************
* GPIO keyboard
******************************************************************************/
+#ifdef CONFIG_MACH_TREO680
static unsigned int treo680_matrix_keys[] = {
KEY(0, 0, KEY_F8), /* Red/Off/Power */
KEY(0, 1, KEY_LEFT),
@@ -232,127 +245,130 @@ static struct pxa27x_keypad_platform_data treo680_keypad_platform_data = {
.debounce_interval = 30,
};
+#endif
/******************************************************************************
* aSoC audio
******************************************************************************/
-static pxa2xx_audio_ops_t treo680_ac97_pdata = {
+static pxa2xx_audio_ops_t palmgsm_ac97_pdata = {
.reset_gpio = 95,
};
/******************************************************************************
* Backlight
******************************************************************************/
-static int treo680_backlight_init(struct device *dev)
+static int palmgsm_backlight_init(struct device *dev)
{
int ret;
- ret = gpio_request(GPIO_NR_TREO680_BL_POWER, "BL POWER");
+ ret = gpio_request(GPIO_NR_PALMGSM_BL_POWER, "BL POWER");
if (ret)
goto err;
- ret = gpio_direction_output(GPIO_NR_TREO680_BL_POWER, 0);
+ ret = gpio_direction_output(GPIO_NR_PALMGSM_BL_POWER, 0);
if (ret)
goto err2;
return 0;
err2:
- gpio_free(GPIO_NR_TREO680_BL_POWER);
+ gpio_free(GPIO_NR_PALMGSM_BL_POWER);
err:
return ret;
}
-static int treo680_backlight_notify(int brightness)
+static int palmgsm_backlight_notify(int brightness)
{
- gpio_set_value(GPIO_NR_TREO680_BL_POWER, brightness);
- return TREO680_MAX_INTENSITY - brightness;
+ gpio_set_value(GPIO_NR_PALMGSM_BL_POWER, brightness);
+ return PALMGSM_MAX_INTENSITY - brightness;
};
-static void treo680_backlight_exit(struct device *dev)
+static void palmgsm_backlight_exit(struct device *dev)
{
- gpio_free(GPIO_NR_TREO680_BL_POWER);
+ gpio_free(GPIO_NR_PALMGSM_BL_POWER);
}
-static struct platform_pwm_backlight_data treo680_backlight_data = {
+static struct platform_pwm_backlight_data palmgsm_backlight_data = {
.pwm_id = 0,
- .max_brightness = TREO680_MAX_INTENSITY,
- .dft_brightness = TREO680_DEFAULT_INTENSITY,
- .pwm_period_ns = TREO680_PERIOD_NS,
- .init = treo680_backlight_init,
- .notify = treo680_backlight_notify,
- .exit = treo680_backlight_exit,
+ .max_brightness = PALMGSM_MAX_INTENSITY,
+ .dft_brightness = PALMGSM_DEFAULT_INTENSITY,
+ .pwm_period_ns = PALMGSM_PERIOD_NS,
+ .init = palmgsm_backlight_init,
+ .notify = palmgsm_backlight_notify,
+ .exit = palmgsm_backlight_exit,
};
-static struct platform_device treo680_backlight = {
+static struct platform_device palmgsm_backlight = {
.name = "pwm-backlight",
.dev = {
.parent = &pxa27x_device_pwm0.dev,
- .platform_data = &treo680_backlight_data,
+ .platform_data = &palmgsm_backlight_data,
},
};
/******************************************************************************
* IrDA
******************************************************************************/
-static void treo680_transceiver_mode(struct device *dev, int mode)
+static void palmgsm_transceiver_mode(struct device *dev, int mode)
{
- gpio_set_value(GPIO_NR_TREO680_IR_EN, mode & IR_OFF);
+ gpio_set_value(GPIO_NR_PALMGSM_IR_EN, mode & IR_OFF);
pxa2xx_transceiver_mode(dev, mode);
}
-static int treo680_irda_startup(struct device *dev)
+static int palmgsm_irda_startup(struct device *dev)
{
int err;
- err = gpio_request(GPIO_NR_TREO680_IR_EN, "Ir port disable");
+ err = gpio_request(GPIO_NR_PALMGSM_IR_EN, "Ir port disable");
if (err)
goto err1;
- err = gpio_direction_output(GPIO_NR_TREO680_IR_EN, 1);
+ err = gpio_direction_output(GPIO_NR_PALMGSM_IR_EN, 1);
if (err)
goto err2;
return 0;
err2:
- dev_err(dev, "treo680_irda: cannot change IR gpio direction\n");
- gpio_free(GPIO_NR_TREO680_IR_EN);
+ dev_err(dev, "palmgsm_irda: cannot change IR gpio direction\n");
+ gpio_free(GPIO_NR_PALMGSM_IR_EN);
err1:
- dev_err(dev, "treo680_irda: cannot allocate IR gpio\n");
+ dev_err(dev, "palmgsm_irda: cannot allocate IR gpio\n");
return err;
}
-static void treo680_irda_shutdown(struct device *dev)
+static void palmgsm_irda_shutdown(struct device *dev)
{
- gpio_free(GPIO_NR_TREO680_IR_EN);
+ gpio_free(GPIO_NR_PALMGSM_IR_EN);
}
-static struct pxaficp_platform_data treo680_ficp_info = {
+static struct pxaficp_platform_data palmgsm_ficp_info = {
.transceiver_cap = IR_FIRMODE | IR_SIRMODE | IR_OFF,
- .startup = treo680_irda_startup,
- .shutdown = treo680_irda_shutdown,
- .transceiver_mode = treo680_transceiver_mode,
+ .startup = palmgsm_irda_startup,
+ .shutdown = palmgsm_irda_shutdown,
+ .transceiver_mode = palmgsm_transceiver_mode,
};
/******************************************************************************
* UDC
******************************************************************************/
-static struct pxa2xx_udc_mach_info treo680_udc_info __initdata = {
- .gpio_vbus = GPIO_NR_TREO680_USB_DETECT,
+static struct pxa2xx_udc_mach_info palmgsm_udc_info __initdata = {
+ .gpio_vbus = GPIO_NR_PALMGSM_USB_DETECT,
.gpio_vbus_inverted = 1,
- .gpio_pullup = GPIO_NR_TREO680_USB_PULLUP,
+ .gpio_pullup = GPIO_NR_PALMGSM_USB_PULLUP,
};
/******************************************************************************
* USB host
******************************************************************************/
+#ifdef CONFIG_MACH_TREO680
static struct pxaohci_platform_data treo680_ohci_info = {
.port_mode = PMM_PERPORT_MODE,
.flags = ENABLE_PORT1 | ENABLE_PORT3,
.power_budget = 0,
};
+#endif
/******************************************************************************
* Power supply
@@ -361,41 +377,41 @@ static int power_supply_init(struct device *dev)
{
int ret;
- ret = gpio_request(GPIO_NR_TREO680_POWER_DETECT, "CABLE_STATE_AC");
+ ret = gpio_request(GPIO_NR_PALMGSM_POWER_DETECT, "CABLE_STATE_AC");
if (ret)
goto err1;
- ret = gpio_direction_input(GPIO_NR_TREO680_POWER_DETECT);
+ ret = gpio_direction_input(GPIO_NR_PALMGSM_POWER_DETECT);
if (ret)
goto err2;
return 0;
err2:
- gpio_free(GPIO_NR_TREO680_POWER_DETECT);
+ gpio_free(GPIO_NR_PALMGSM_POWER_DETECT);
err1:
return ret;
}
-static int treo680_is_ac_online(void)
+static int palmgsm_is_ac_online(void)
{
- return gpio_get_value(GPIO_NR_TREO680_POWER_DETECT);
+ return gpio_get_value(GPIO_NR_PALMGSM_POWER_DETECT);
}
static void power_supply_exit(struct device *dev)
{
- gpio_free(GPIO_NR_TREO680_POWER_DETECT);
+ gpio_free(GPIO_NR_PALMGSM_POWER_DETECT);
}
-static char *treo680_supplicants[] = {
+static char *palmgsm_supplicants[] = {
"main-battery",
};
static struct pda_power_pdata power_supply_info = {
.init = power_supply_init,
- .is_ac_online = treo680_is_ac_online,
+ .is_ac_online = palmgsm_is_ac_online,
.exit = power_supply_exit,
- .supplied_to = treo680_supplicants,
- .num_supplicants = ARRAY_SIZE(treo680_supplicants),
+ .supplied_to = palmgsm_supplicants,
+ .num_supplicants = ARRAY_SIZE(palmgsm_supplicants),
};
static struct platform_device power_supply = {
@@ -409,7 +425,8 @@ static struct platform_device power_supply = {
/******************************************************************************
* Vibra and LEDs
******************************************************************************/
-static struct gpio_led gpio_leds[] = {
+#ifdef CONFIG_MACH_TREO680
+static struct gpio_led treo680_gpio_leds[] = {
{
.name = "treo680:vibra:vibra",
.default_trigger = "none",
@@ -418,34 +435,34 @@ static struct gpio_led gpio_leds[] = {
{
.name = "treo680:green:led",
.default_trigger = "mmc0",
- .gpio = GPIO_NR_TREO680_GREEN_LED,
+ .gpio = GPIO_NR_PALMGSM_GREEN_LED,
},
{
- .name = "treo680:keybbl:keybbl",
+ .name = "treo680:white:keybbl",
.default_trigger = "none",
.gpio = GPIO_NR_TREO680_KEYB_BL,
},
};
-static struct gpio_led_platform_data gpio_led_info = {
- .leds = gpio_leds,
- .num_leds = ARRAY_SIZE(gpio_leds),
+static struct gpio_led_platform_data treo680_gpio_led_info = {
+ .leds = treo680_gpio_leds,
+ .num_leds = ARRAY_SIZE(treo680_gpio_leds),
};
static struct platform_device treo680_leds = {
.name = "leds-gpio",
.id = -1,
.dev = {
- .platform_data = &gpio_led_info,
+ .platform_data = &treo680_gpio_led_info,
}
};
-
+#endif
/******************************************************************************
* Framebuffer
******************************************************************************/
/* TODO: add support for 324x324 */
-static struct pxafb_mode_info treo680_lcd_modes[] = {
+static struct pxafb_mode_info palmgsm_lcd_modes[] = {
{
.pixclock = 86538,
.xres = 320,
@@ -462,16 +479,16 @@ static struct pxafb_mode_info treo680_lcd_modes[] = {
},
};
-static struct pxafb_mach_info treo680_lcd_screen = {
- .modes = treo680_lcd_modes,
- .num_modes = ARRAY_SIZE(treo680_lcd_modes),
+static struct pxafb_mach_info palmgsm_lcd_screen = {
+ .modes = palmgsm_lcd_modes,
+ .num_modes = ARRAY_SIZE(palmgsm_lcd_modes),
.lcd_conn = LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL,
};
/******************************************************************************
* Power management - standby
******************************************************************************/
-static void __init treo680_pm_init(void)
+static void __init palmgsm_pm_init(void)
{
static u32 resume[] = {
0xe3a00101, /* mov r0, #0x40000000 */
@@ -480,45 +497,58 @@ static void __init treo680_pm_init(void)
};
/* this is where the bootloader jumps */
- memcpy(phys_to_virt(TREO680_STR_BASE), resume, sizeof(resume));
+ memcpy(phys_to_virt(PALMGSM_STR_BASE), resume, sizeof(resume));
}
/******************************************************************************
* Machine init
******************************************************************************/
-static struct platform_device *devices[] __initdata = {
- &treo680_backlight,
- &treo680_leds,
+static struct platform_device *palmgsm_devices[] __initdata = {
+ &palmgsm_backlight,
&power_supply,
};
+#ifdef CONFIG_MACH_TREO680
+static struct platform_device *treo680_devices[] __initdata = {
+ &treo680_leds,
+};
+#endif
+
/* setup udc GPIOs initial state */
-static void __init treo680_udc_init(void)
+static void __init palmgsm_udc_init(void)
{
- if (!gpio_request(GPIO_NR_TREO680_USB_PULLUP, "UDC Vbus")) {
- gpio_direction_output(GPIO_NR_TREO680_USB_PULLUP, 1);
- gpio_free(GPIO_NR_TREO680_USB_PULLUP);
+ if (!gpio_request(GPIO_NR_PALMGSM_USB_PULLUP, "UDC Vbus")) {
+ gpio_direction_output(GPIO_NR_PALMGSM_USB_PULLUP, 1);
+ gpio_free(GPIO_NR_PALMGSM_USB_PULLUP);
}
}
+static void __init palmgsm_init(void)
+{
+ palmgsm_pm_init();
+ pxa2xx_mfp_config(ARRAY_AND_SIZE(palmgsm_pin_config));
+ set_pxa_fb_info(&palmgsm_lcd_screen);
+ palmgsm_udc_init();
+ pxa_set_udc_info(&palmgsm_udc_info);
+ pxa_set_ac97_info(&palmgsm_ac97_pdata);
+ pxa_set_ficp_info(&palmgsm_ficp_info);
+
+ platform_add_devices(ARRAY_AND_SIZE(palmgsm_devices));
+}
+
+#ifdef CONFIG_MACH_TREO680
static void __init treo680_init(void)
{
- treo680_pm_init();
+ palmgsm_init();
pxa2xx_mfp_config(ARRAY_AND_SIZE(treo680_pin_config));
pxa_set_keypad_info(&treo680_keypad_platform_data);
- set_pxa_fb_info(&treo680_lcd_screen);
pxa_set_mci_info(&treo680_mci_platform_data);
- treo680_udc_init();
- pxa_set_udc_info(&treo680_udc_info);
- pxa_set_ac97_info(&treo680_ac97_pdata);
- pxa_set_ficp_info(&treo680_ficp_info);
pxa_set_ohci_info(&treo680_ohci_info);
-
- platform_add_devices(devices, ARRAY_SIZE(devices));
+ platform_add_devices(ARRAY_AND_SIZE(treo680_devices));
}
MACHINE_START(TREO680, "Palm Treo 680")
- .phys_io = TREO680_PHYS_IO_START,
+ .phys_io = PALMGSM_PHYS_IO_START,
.io_pg_offst = io_p2v(0x40000000),
.boot_params = 0xa0000100,
.map_io = pxa_map_io,
@@ -526,3 +556,4 @@ MACHINE_START(TREO680, "Palm Treo 680")
.timer = &pxa_timer,
.init_machine = treo680_init,
MACHINE_END
+#endif
--
1.6.3.3
More information about the linux-arm-kernel
mailing list