]> Pileus Git - ~andy/linux/blobdiff - arch/arm/mach-omap2/board-omap3stalker.c
Merge tag 'char-misc-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh...
[~andy/linux] / arch / arm / mach-omap2 / board-omap3stalker.c
index 641004380795f458c9432bf1056dd63187a5a33e..b318f5602e36ed15ee51f0a0f94d74ea3802dab6 100644 (file)
@@ -24,6 +24,7 @@
 #include <linux/input.h>
 #include <linux/gpio_keys.h>
 
+#include <linux/regulator/fixed.h>
 #include <linux/regulator/machine.h>
 #include <linux/i2c/twl.h>
 #include <linux/mmc/host.h>
@@ -41,7 +42,7 @@
 #include <plat/usb.h>
 #include <video/omapdss.h>
 #include <video/omap-panel-generic-dpi.h>
-#include <video/omap-panel-dvi.h>
+#include <video/omap-panel-tfp410.h>
 
 #include <plat/mcspi.h>
 #include <linux/input/matrix_keypad.h>
@@ -72,15 +73,6 @@ static struct omap_smsc911x_platform_data smsc911x_cfg = {
 
 static inline void __init omap3stalker_init_eth(void)
 {
-       struct clk *l3ck;
-       unsigned int rate;
-
-       l3ck = clk_get(NULL, "l3_ck");
-       if (IS_ERR(l3ck))
-               rate = 100000000;
-       else
-               rate = clk_get_rate(l3ck);
-
        omap_mux_init_gpio(19, OMAP_PIN_INPUT_PULLUP);
        gpmc_smsc911x_init(&smsc911x_cfg);
 }
@@ -100,9 +92,6 @@ static inline void __init omap3stalker_init_eth(void)
 #define LCD_PANEL_BKLIGHT_GPIO 210
 #define ENABLE_VPLL2_DEV_GRP   0xE0
 
-static int lcd_enabled;
-static int dvi_enabled;
-
 static void __init omap3_stalker_display_init(void)
 {
        return;
@@ -130,32 +119,14 @@ static struct omap_dss_device omap3_stalker_tv_device = {
        .platform_disable       = omap3_stalker_disable_tv,
 };
 
-static int omap3_stalker_enable_dvi(struct omap_dss_device *dssdev)
-{
-       if (lcd_enabled) {
-               printk(KERN_ERR "cannot enable DVI, LCD is enabled\n");
-               return -EINVAL;
-       }
-       gpio_set_value(DSS_ENABLE_GPIO, 1);
-       dvi_enabled = 1;
-       return 0;
-}
-
-static void omap3_stalker_disable_dvi(struct omap_dss_device *dssdev)
-{
-       gpio_set_value(DSS_ENABLE_GPIO, 0);
-       dvi_enabled = 0;
-}
-
-static struct panel_dvi_platform_data dvi_panel = {
-       .platform_enable        = omap3_stalker_enable_dvi,
-       .platform_disable       = omap3_stalker_disable_dvi,
+static struct tfp410_platform_data dvi_panel = {
+       .power_down_gpio        = DSS_ENABLE_GPIO,
 };
 
 static struct omap_dss_device omap3_stalker_dvi_device = {
        .name                   = "dvi",
        .type                   = OMAP_DISPLAY_TYPE_DPI,
-       .driver_name            = "dvi",
+       .driver_name            = "tfp410",
        .data                   = &dvi_panel,
        .phy.dpi.data_lines     = 24,
 };
@@ -419,8 +390,14 @@ static struct omap_board_mux board_mux[] __initdata = {
 };
 #endif
 
+static struct regulator_consumer_supply dummy_supplies[] = {
+       REGULATOR_SUPPLY("vddvario", "smsc911x.0"),
+       REGULATOR_SUPPLY("vdd33a", "smsc911x.0"),
+};
+
 static void __init omap3_stalker_init(void)
 {
+       regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
        omap3_mux_init(board_mux, OMAP_PACKAGE_CUS);
        omap_board_config = omap3_stalker_config;
        omap_board_config_size = ARRAY_SIZE(omap3_stalker_config);
@@ -459,6 +436,7 @@ MACHINE_START(SBC3530, "OMAP3 STALKER")
        .init_irq               = omap3_init_irq,
        .handle_irq             = omap3_intc_handle_irq,
        .init_machine           = omap3_stalker_init,
+       .init_late              = omap35xx_init_late,
        .timer                  = &omap3_secure_timer,
        .restart                = omap_prcm_restart,
 MACHINE_END