]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/mach-omap2/board-ldp.c
Remove extra code in arch/arm/*omap* to move it into omap-pool branch
[linux-2.6-omap-h63xx.git] / arch / arm / mach-omap2 / board-ldp.c
index 91fd0889a3581890df5335856c8f56d1d1b57c56..e096f776f996cf51df6aeb5271764cc88d7368be 100644 (file)
 #include <linux/platform_device.h>
 #include <linux/delay.h>
 #include <linux/input.h>
-#include <linux/gpio_keys.h>
 #include <linux/workqueue.h>
 #include <linux/err.h>
 #include <linux/clk.h>
 #include <linux/spi/spi.h>
 #include <linux/spi/ads7846.h>
 #include <linux/i2c/twl4030.h>
+#include <linux/io.h>
 
 #include <mach/hardware.h>
 #include <asm/mach-types.h>
 #include <mach/board.h>
 #include <mach/common.h>
 #include <mach/gpmc.h>
-#include <mach/usb.h>
 
-#include <asm/io.h>
 #include <asm/delay.h>
 #include <mach/control.h>
+#include <mach/usb.h>
 
 #include "mmc-twl4030.h"
 
 #define LDP_SMC911X_GPIO       152
 #define DEBUG_BASE             0x08000000
 #define LDP_ETHR_START         DEBUG_BASE
-#define ENABLE_VAUX1_DEDICATED 0x03
-#define ENABLE_VAUX1_DEV_GRP   0x20
-
-#define TWL4030_MSECURE_GPIO   22
 
 static struct resource ldp_smc911x_resources[] = {
        [0] = {
@@ -71,244 +66,8 @@ static struct platform_device ldp_smc911x_device = {
        .resource       = ldp_smc911x_resources,
 };
 
-static int ldp_twl4030_keymap[] = {
-       KEY(0, 0, KEY_1),
-       KEY(1, 0, KEY_2),
-       KEY(2, 0, KEY_3),
-       KEY(0, 1, KEY_4),
-       KEY(1, 1, KEY_5),
-       KEY(2, 1, KEY_6),
-       KEY(3, 1, KEY_F5),
-       KEY(0, 2, KEY_7),
-       KEY(1, 2, KEY_8),
-       KEY(2, 2, KEY_9),
-       KEY(3, 2, KEY_F6),
-       KEY(0, 3, KEY_F7),
-       KEY(1, 3, KEY_0),
-       KEY(2, 3, KEY_F8),
-       PERSISTENT_KEY(4, 5),
-       KEY(4, 4, KEY_VOLUMEUP),
-       KEY(5, 5, KEY_VOLUMEDOWN),
-       0
-};
-
-static struct twl4030_keypad_data ldp_kp_twl4030_data = {
-       .rows           = 6,
-       .cols           = 6,
-       .keymap         = ldp_twl4030_keymap,
-       .keymapsize     = ARRAY_SIZE(ldp_twl4030_keymap),
-       .rep            = 1,
-};
-
-static struct gpio_keys_button ldp_gpio_keys_buttons[] = {
-       [0] = {
-               .code                   = KEY_ENTER,
-               .gpio                   = 101,
-               .desc                   = "enter sw",
-               .active_low             = 1,
-               .debounce_interval      = 30,
-       },
-       [1] = {
-               .code                   = KEY_F1,
-               .gpio                   = 102,
-               .desc                   = "func 1",
-               .active_low             = 1,
-               .debounce_interval      = 30,
-       },
-       [2] = {
-               .code                   = KEY_F2,
-               .gpio                   = 103,
-               .desc                   = "func 2",
-               .active_low             = 1,
-               .debounce_interval      = 30,
-       },
-       [3] = {
-               .code                   = KEY_F3,
-               .gpio                   = 104,
-               .desc                   = "func 3",
-               .active_low             = 1,
-               .debounce_interval      = 30,
-       },
-       [4] = {
-               .code                   = KEY_F4,
-               .gpio                   = 105,
-               .desc                   = "func 4",
-               .active_low             = 1,
-               .debounce_interval      = 30,
-       },
-       [5] = {
-               .code                   = KEY_LEFT,
-               .gpio                   = 106,
-               .desc                   = "left sw",
-               .active_low             = 1,
-               .debounce_interval      = 30,
-       },
-       [6] = {
-               .code                   = KEY_RIGHT,
-               .gpio                   = 107,
-               .desc                   = "right sw",
-               .active_low             = 1,
-               .debounce_interval      = 30,
-       },
-       [7] = {
-               .code                   = KEY_UP,
-               .gpio                   = 108,
-               .desc                   = "up sw",
-               .active_low             = 1,
-               .debounce_interval      = 30,
-       },
-       [8] = {
-               .code                   = KEY_DOWN,
-               .gpio                   = 109,
-               .desc                   = "down sw",
-               .active_low             = 1,
-               .debounce_interval      = 30,
-       },
-};
-
-static struct gpio_keys_platform_data ldp_gpio_keys = {
-       .buttons                = ldp_gpio_keys_buttons,
-       .nbuttons               = ARRAY_SIZE(ldp_gpio_keys_buttons),
-       .rep                    = 1,
-};
-
-static struct platform_device ldp_gpio_keys_device = {
-       .name           = "gpio-keys",
-       .id             = -1,
-       .dev            = {
-               .platform_data  = &ldp_gpio_keys,
-       },
-};
-
-static int ts_gpio;
-
-static int __init msecure_init(void)
-{
-       int ret = 0;
-
-#ifdef CONFIG_RTC_DRV_TWL4030
-       /* 3430ES2.0 doesn't have msecure/gpio-22 line connected to T2 */
-       if (omap_type() == OMAP2_DEVICE_TYPE_GP &&
-                       omap_rev() < OMAP3430_REV_ES2_0) {
-               void __iomem *msecure_pad_config_reg =
-                       omap_ctrl_base_get() + 0xA3C;
-               int mux_mask = 0x04;
-               u16 tmp;
-
-               ret = gpio_request(TWL4030_MSECURE_GPIO, "msecure");
-               if (ret < 0) {
-                       printk(KERN_ERR "msecure_init: can't"
-                               "reserve GPIO:%d !\n", TWL4030_MSECURE_GPIO);
-                       goto out;
-               }
-               /*
-                * TWL4030 will be in secure mode if msecure line from OMAP
-                * is low. Make msecure line high in order to change the
-                * TWL4030 RTC time and calender registers.
-                */
-
-               tmp = __raw_readw(msecure_pad_config_reg);
-               tmp &= 0xF8;    /* To enable mux mode 03/04 = GPIO_RTC */
-               tmp |= mux_mask;/* To enable mux mode 03/04 = GPIO_RTC */
-               __raw_writew(tmp, msecure_pad_config_reg);
-
-               gpio_direction_output(TWL4030_MSECURE_GPIO, 1);
-       }
-out:
-#endif
-       return ret;
-}
-
-/**
- * @brief ads7846_dev_init : Requests & sets GPIO line for pen-irq
- *
- * @return - void. If request gpio fails then Flag KERN_ERR.
- */
-static void ads7846_dev_init(void)
-{
-       if (gpio_request(ts_gpio, "ads7846 irq") < 0) {
-               printk(KERN_ERR "can't get ads746 pen down GPIO\n");
-               return;
-       }
-
-       gpio_direction_input(ts_gpio);
-
-       omap_set_gpio_debounce(ts_gpio, 1);
-       omap_set_gpio_debounce_time(ts_gpio, 0xa);
-}
-
-static int ads7846_get_pendown_state(void)
-{
-       return !gpio_get_value(ts_gpio);
-}
-
-/*
- * This enable(1)/disable(0) the voltage for TS: uses twl4030 calls
- */
-static int ads7846_vaux_control(int vaux_cntrl)
-{
-       int ret = 0;
-
-#ifdef CONFIG_TWL4030_CORE
-       /* check for return value of ldo_use: if success it returns 0 */
-       if (vaux_cntrl == VAUX_ENABLE) {
-               if (ret != twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
-                       ENABLE_VAUX1_DEDICATED, TWL4030_VAUX1_DEDICATED))
-                       return -EIO;
-               if (ret != twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
-                       ENABLE_VAUX1_DEV_GRP, TWL4030_VAUX1_DEV_GRP))
-                       return -EIO;
-       } else if (vaux_cntrl == VAUX_DISABLE) {
-               if (ret != twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
-                       0x00, TWL4030_VAUX1_DEDICATED))
-                       return -EIO;
-               if (ret != twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
-                       0x00, TWL4030_VAUX1_DEV_GRP))
-                       return -EIO;
-       }
-#else
-       ret = -EIO;
-#endif
-       return ret;
-}
-
-static struct ads7846_platform_data tsc2046_config __initdata = {
-       .get_pendown_state      = ads7846_get_pendown_state,
-       .keep_vref_on           = 1,
-       .vaux_control           = ads7846_vaux_control,
-};
-
-
-static struct omap2_mcspi_device_config tsc2046_mcspi_config = {
-       .turbo_mode     = 0,
-       .single_channel = 1,    /* 0: slave, 1: master */
-};
-
-static struct spi_board_info ldp_spi_board_info[] __initdata = {
-       [0] = {
-               /*
-                * TSC2046 operates at a max freqency of 2MHz, so
-                * operate slightly below at 1.5MHz
-                */
-               .modalias               = "ads7846",
-               .bus_num                = 1,
-               .chip_select            = 0,
-               .max_speed_hz           = 1500000,
-               .controller_data        = &tsc2046_mcspi_config,
-               .irq                    = 0,
-               .platform_data          = &tsc2046_config,
-       },
-};
-
-static struct platform_device ldp_lcd_device = {
-       .name           = "ldp_lcd",
-       .id             = -1,
-};
-
 static struct platform_device *ldp_devices[] __initdata = {
        &ldp_smc911x_device,
-       &ldp_lcd_device,
-       &ldp_gpio_keys_device,
 };
 
 static inline void __init ldp_init_smc911x(void)
@@ -340,7 +99,6 @@ static inline void __init ldp_init_smc911x(void)
        gpio_direction_input(eth_gpio);
 }
 
-
 static void __init omap_ldp_init_irq(void)
 {
        omap2_init_common_hw(NULL);
@@ -353,114 +111,8 @@ static struct omap_uart_config ldp_uart_config __initdata = {
        .enabled_uarts  = ((1 << 0) | (1 << 1) | (1 << 2)),
 };
 
-static struct omap_lcd_config ldp_lcd_config __initdata = {
-       .ctrl_name      = "internal",
-};
-
 static struct omap_board_config_kernel ldp_config[] __initdata = {
        { OMAP_TAG_UART,        &ldp_uart_config },
-       { OMAP_TAG_LCD,         &ldp_lcd_config },
-};
-
-static int ldp_batt_table[] = {
-/* 0 C*/
-30800, 29500, 28300, 27100,
-26000, 24900, 23900, 22900, 22000, 21100, 20300, 19400, 18700, 17900,
-17200, 16500, 15900, 15300, 14700, 14100, 13600, 13100, 12600, 12100,
-11600, 11200, 10800, 10400, 10000, 9630,   9280,   8950,   8620,   8310,
-8020,   7730,   7460,   7200,   6950,   6710,   6470,   6250,   6040,   5830,
-5640,   5450,   5260,   5090,   4920,   4760,   4600,   4450,   4310,   4170,
-4040,   3910,   3790,   3670,   3550
-};
-
-static struct twl4030_ins __initdata sleep_on_seq[] = {
-/*
- * Turn off VDD1 and VDD2.
- */
-       {MSG_SINGULAR(DEV_GRP_P1, 0xf, RES_STATE_OFF), 4},
-       {MSG_SINGULAR(DEV_GRP_P1, 0x10, RES_STATE_OFF), 2},
-#ifdef CONFIG_DISABLE_HFCLK
-/*
- * And also turn off the OMAP3 PLLs and the sysclk output.
- */
-       {MSG_SINGULAR(DEV_GRP_P1, 0x7, RES_STATE_OFF), 3},
-       {MSG_SINGULAR(DEV_GRP_P1, 0x19, RES_STATE_OFF), 3},
-#endif
-};
-
-static struct twl4030_script sleep_on_script __initdata = {
-       .script = sleep_on_seq,
-       .size   = ARRAY_SIZE(sleep_on_seq),
-       .flags  = TRITON_SLEEP_SCRIPT,
-};
-
-static struct twl4030_ins wakeup_seq[] __initdata = {
-#ifndef CONFIG_DISABLE_HFCLK
-/*
- * Wakeup VDD1 and VDD2.
- */
-       {MSG_SINGULAR(DEV_GRP_P1, 0xf, RES_STATE_ACTIVE), 4},
-       {MSG_SINGULAR(DEV_GRP_P1, 0x10, RES_STATE_ACTIVE), 2},
-#else
-/*
- * Reenable the OMAP3 PLLs.
- * Wakeup VDD1 and VDD2.
- * Reenable sysclk output.
- */
-       {MSG_SINGULAR(DEV_GRP_P1, 0x7, RES_STATE_ACTIVE), 0x30},
-       {MSG_SINGULAR(DEV_GRP_P1, 0xf, RES_STATE_ACTIVE), 0x30},
-       {MSG_SINGULAR(DEV_GRP_P1, 0x10, RES_STATE_ACTIVE), 0x37},
-       {MSG_SINGULAR(DEV_GRP_P1, 0x19, RES_STATE_ACTIVE), 3},
-#endif /* #ifndef CONFIG_DISABLE_HFCLK */
-};
-
-static struct twl4030_script wakeup_script __initdata = {
-       .script = wakeup_seq,
-       .size   = ARRAY_SIZE(wakeup_seq),
-       .flags  = TRITON_WAKEUP12_SCRIPT | TRITON_WAKEUP3_SCRIPT,
-};
-
-static struct twl4030_ins wrst_seq[] __initdata = {
-/*
- * Reset twl4030.
- * Reset VDD1 regulator.
- * Reset VDD2 regulator.
- * Reset VPLL1 regulator.
- * Enable sysclk output.
- * Reenable twl4030.
- */
-       {MSG_SINGULAR(DEV_GRP_NULL, 0x1b, RES_STATE_OFF), 2},
-       {MSG_SINGULAR(DEV_GRP_P1, 0xf, RES_STATE_WRST), 15},
-       {MSG_SINGULAR(DEV_GRP_P1, 0x10, RES_STATE_WRST), 15},
-       {MSG_SINGULAR(DEV_GRP_P1, 0x7, RES_STATE_WRST), 0x60},
-       {MSG_SINGULAR(DEV_GRP_P1, 0x19, RES_STATE_ACTIVE), 2},
-       {MSG_SINGULAR(DEV_GRP_NULL, 0x1b, RES_STATE_ACTIVE), 2},
-};
-
-static struct twl4030_script wrst_script __initdata = {
-       .script = wrst_seq,
-       .size   = ARRAY_SIZE(wakeup_seq),
-       .flags  = TRITON_WRST_SCRIPT,
-};
-
-static struct twl4030_script *twl4030_scripts[] __initdata = {
-       &sleep_on_script,
-       &wakeup_script,
-       &wrst_script,
-};
-
-static struct twl4030_power_data sdp3430_t2scripts_data __initdata = {
-       .scripts        = twl4030_scripts,
-       .size           = ARRAY_SIZE(twl4030_scripts),
-};
-
-static struct twl4030_bci_platform_data ldp_bci_data = {
-       .battery_tmp_tbl        = ldp_batt_table,
-       .tblsize                = ARRAY_SIZE(ldp_batt_table),
-};
-
-static struct twl4030_usb_data ldp_usb_data = {
-       .usb_mode       = T2_USB_MODE_ULPI,
 };
 
 static struct twl4030_gpio_platform_data ldp_gpio_data = {
@@ -469,21 +121,12 @@ static struct twl4030_gpio_platform_data ldp_gpio_data = {
        .irq_end        = TWL4030_GPIO_IRQ_END,
 };
 
-static struct twl4030_madc_platform_data ldp_madc_data = {
-       .irq_line       = 1,
-};
-
 static struct twl4030_platform_data ldp_twldata = {
        .irq_base       = TWL4030_IRQ_BASE,
        .irq_end        = TWL4030_IRQ_END,
 
        /* platform_data for children goes here */
-       .bci            = &ldp_bci_data,
-       .madc           = &ldp_madc_data,
-       .usb            = &ldp_usb_data,
-       .power          = &sdp3430_t2scripts_data,
        .gpio           = &ldp_gpio_data,
-       .keypad         = &ldp_kp_twl4030_data,
 };
 
 static struct i2c_board_info __initdata ldp_i2c_boardinfo[] = {
@@ -520,15 +163,9 @@ static void __init omap_ldp_init(void)
        platform_add_devices(ldp_devices, ARRAY_SIZE(ldp_devices));
        omap_board_config = ldp_config;
        omap_board_config_size = ARRAY_SIZE(ldp_config);
-       ts_gpio = 54;
-       ldp_spi_board_info[0].irq = gpio_to_irq(ts_gpio);
-       spi_register_board_info(ldp_spi_board_info,
-                               ARRAY_SIZE(ldp_spi_board_info));
-       msecure_init();
-       ads7846_dev_init();
        omap_serial_init();
-       usb_musb_init();
        twl4030_mmc_init(mmc);
+       usb_musb_init();
 }
 
 static void __init omap_ldp_map_io(void)