]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/arm/mach-omap2/board-igep0020.c
Merge branch 'late/clksrc' into late/cleanup
[karo-tx-linux.git] / arch / arm / mach-omap2 / board-igep0020.c
index 5b447649f5a0017d6e04cd4181c22fe4258d42db..b54562d1235e5bd0a5f89659e724e50387ae8dfb 100644 (file)
@@ -18,6 +18,7 @@
 #include <linux/gpio.h>
 #include <linux/interrupt.h>
 #include <linux/input.h>
+#include <linux/usb/phy.h>
 
 #include <linux/regulator/machine.h>
 #include <linux/regulator/fixed.h>
@@ -30,7 +31,7 @@
 #include <asm/mach/arch.h>
 
 #include <video/omapdss.h>
-#include <video/omap-panel-tfp410.h>
+#include <video/omap-panel-data.h>
 #include <linux/platform_data/mtd-onenand-omap2.h>
 
 #include "common.h"
@@ -300,20 +301,20 @@ static struct omap2_hsmmc_info mmc[] = {
 
 static struct gpio_led igep_gpio_leds[] = {
        [0] = {
-               .name                   = "gpio-led:red:d0",
-               .default_trigger        = "default-off"
+               .name                   = "omap3:red:user0",
+               .default_state          = 0,
        },
        [1] = {
-               .name                   = "gpio-led:green:d0",
-               .default_trigger        = "default-off",
+               .name                   = "omap3:green:boot",
+               .default_state          = 1,
        },
        [2] = {
-               .name                   = "gpio-led:red:d1",
-               .default_trigger        = "default-off",
+               .name                   = "omap3:red:user1",
+               .default_state          = 0,
        },
        [3] = {
-               .name                   = "gpio-led:green:d1",
-               .default_trigger        = "heartbeat",
+               .name                   = "omap3:green:user1",
+               .default_state          = 0,
                .gpio                   = -EINVAL, /* gets replaced */
                .active_low             = 1,
        },
@@ -526,26 +527,28 @@ static void __init igep_i2c_init(void)
        omap3_pmic_init("twl4030", &igep_twldata);
 }
 
-static const struct usbhs_omap_board_data igep2_usbhs_bdata __initconst = {
-       .port_mode[0] = OMAP_EHCI_PORT_MODE_PHY,
-       .port_mode[1] = OMAP_USBHS_PORT_MODE_UNUSED,
-       .port_mode[2] = OMAP_USBHS_PORT_MODE_UNUSED,
+static struct usbhs_phy_data igep2_phy_data[] __initdata = {
+       {
+               .port = 1,
+               .reset_gpio = IGEP2_GPIO_USBH_NRESET,
+               .vcc_gpio = -EINVAL,
+       },
+};
+
+static struct usbhs_phy_data igep3_phy_data[] __initdata = {
+       {
+               .port = 2,
+               .reset_gpio = IGEP3_GPIO_USBH_NRESET,
+               .vcc_gpio = -EINVAL,
+       },
+};
 
-       .phy_reset = true,
-       .reset_gpio_port[0] = IGEP2_GPIO_USBH_NRESET,
-       .reset_gpio_port[1] = -EINVAL,
-       .reset_gpio_port[2] = -EINVAL,
+static struct usbhs_omap_platform_data igep2_usbhs_bdata __initdata = {
+       .port_mode[0] = OMAP_EHCI_PORT_MODE_PHY,
 };
 
-static const struct usbhs_omap_board_data igep3_usbhs_bdata __initconst = {
-       .port_mode[0] = OMAP_USBHS_PORT_MODE_UNUSED,
+static struct usbhs_omap_platform_data igep3_usbhs_bdata __initdata = {
        .port_mode[1] = OMAP_EHCI_PORT_MODE_PHY,
-       .port_mode[2] = OMAP_USBHS_PORT_MODE_UNUSED,
-
-       .phy_reset = true,
-       .reset_gpio_port[0] = -EINVAL,
-       .reset_gpio_port[1] = IGEP3_GPIO_USBH_NRESET,
-       .reset_gpio_port[2] = -EINVAL,
 };
 
 #ifdef CONFIG_OMAP_MUX
@@ -625,11 +628,12 @@ static void __init igep_init(void)
        omap_serial_init();
        omap_sdrc_init(m65kxxxxam_sdrc_params,
                                  m65kxxxxam_sdrc_params);
+       usb_bind_phy("musb-hdrc.0.auto", 0, "twl4030_usb");
        usb_musb_init(NULL);
 
        igep_flash_init();
        igep_leds_init();
-       omap_twl4030_audio_init("igep2");
+       omap_twl4030_audio_init("igep2", NULL);
 
        /*
         * WLAN-BT combo module from MuRata which has a Marvell WLAN
@@ -640,8 +644,10 @@ static void __init igep_init(void)
        if (machine_is_igep0020()) {
                omap_display_init(&igep2_dss_data);
                igep2_init_smsc911x();
+               usbhs_init_phys(igep2_phy_data, ARRAY_SIZE(igep2_phy_data));
                usbhs_init(&igep2_usbhs_bdata);
        } else {
+               usbhs_init_phys(igep3_phy_data, ARRAY_SIZE(igep3_phy_data));
                usbhs_init(&igep3_usbhs_bdata);
        }
 }