omap2plus: clockdomain: Trivial fix for build break because of clktrctrl_mask
[pandora-kernel.git] / arch / arm / mach-omap2 / board-rx51-peripherals.c
index 3fec4d6..e75e240 100644 (file)
@@ -23,7 +23,6 @@
 #include <linux/gpio.h>
 #include <linux/gpio_keys.h>
 #include <linux/mmc/host.h>
-#include <sound/tlv320aic3x.h>
 
 #include <plat/mcspi.h>
 #include <plat/board.h>
@@ -293,6 +292,8 @@ static struct omap_board_mux rx51_mmc2_off_mux[] = {
        { .reg_offset = OMAP_MUX_TERMINATOR },
 };
 
+static struct omap_mux_partition *partition;
+
 /*
  * Current flows to eMMC when eMMC is off and the data lines are pulled up,
  * so pull them down. N.B. we pull 8 lines because we are using 8 lines.
@@ -300,9 +301,9 @@ static struct omap_board_mux rx51_mmc2_off_mux[] = {
 static void rx51_mmc2_remux(struct device *dev, int slot, int power_on)
 {
        if (power_on)
-               omap_mux_write_array(rx51_mmc2_on_mux);
+               omap_mux_write_array(partition, rx51_mmc2_on_mux);
        else
-               omap_mux_write_array(rx51_mmc2_off_mux);
+               omap_mux_write_array(partition, rx51_mmc2_off_mux);
 }
 
 static struct omap2_hsmmc_info mmc[] __initdata = {
@@ -342,6 +343,8 @@ static struct regulator_consumer_supply rx51_vmmc2_supplies[] = {
        /* tlv320aic3x analog supplies */
        REGULATOR_SUPPLY("AVDD", "2-0018"),
        REGULATOR_SUPPLY("DRVDD", "2-0018"),
+       REGULATOR_SUPPLY("AVDD", "2-0019"),
+       REGULATOR_SUPPLY("DRVDD", "2-0019"),
        /* tpa6130a2 */
        REGULATOR_SUPPLY("Vdd", "2-0060"),
        /* Keep vmmc as last item. It is not iterated for newer boards */
@@ -352,19 +355,16 @@ static struct regulator_consumer_supply rx51_vio_supplies[] = {
        /* tlv320aic3x digital supplies */
        REGULATOR_SUPPLY("IOVDD", "2-0018"),
        REGULATOR_SUPPLY("DVDD", "2-0018"),
+       REGULATOR_SUPPLY("IOVDD", "2-0019"),
+       REGULATOR_SUPPLY("DVDD", "2-0019"),
 };
 
-#if defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE)
-extern struct platform_device rx51_display_device;
-#endif
-
 static struct regulator_consumer_supply rx51_vaux1_consumers[] = {
-#if defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE)
-       {
-               .supply = "vdds_sdi",
-               .dev    = &rx51_display_device.dev,
-       },
-#endif
+       REGULATOR_SUPPLY("vdds_sdi", "omapdss"),
+};
+
+static struct regulator_consumer_supply rx51_vdac_supply[] = {
+       REGULATOR_SUPPLY("vdda_dac", "omapdss"),
 };
 
 static struct regulator_init_data rx51_vaux1 = {
@@ -484,14 +484,17 @@ static struct regulator_init_data rx51_vsim = {
 
 static struct regulator_init_data rx51_vdac = {
        .constraints = {
+               .name                   = "VDAC",
                .min_uV                 = 1800000,
                .max_uV                 = 1800000,
+               .apply_uV               = true,
                .valid_modes_mask       = REGULATOR_MODE_NORMAL
                                        | REGULATOR_MODE_STANDBY,
-               .valid_ops_mask         = REGULATOR_CHANGE_VOLTAGE
-                                       | REGULATOR_CHANGE_MODE
+               .valid_ops_mask         = REGULATOR_CHANGE_MODE
                                        | REGULATOR_CHANGE_STATUS,
        },
+       .num_consumer_supplies  = 1,
+       .consumer_supplies      = rx51_vdac_supply,
 };
 
 static struct regulator_init_data rx51_vio = {
@@ -717,7 +720,7 @@ static struct twl4030_platform_data rx51_twldata __initdata = {
        .vio                    = &rx51_vio,
 };
 
-static struct tpa6130a2_platform_data rx51_tpa6130a2_data __initdata = {
+static struct tpa6130a2_platform_data rx51_tpa6130a2_data __initdata_or_module = {
        .id                     = TPA6130A2,
        .power_gpio             = 98,
 };
@@ -742,11 +745,19 @@ static struct aic3x_pdata rx51_aic3x_data = {
        .gpio_reset = 60,
 };
 
+static struct aic3x_pdata rx51_aic3x_data2 = {
+       .gpio_reset = 60,
+};
+
 static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_2[] = {
        {
                I2C_BOARD_INFO("tlv320aic3x", 0x18),
                .platform_data = &rx51_aic3x_data,
        },
+       {
+               I2C_BOARD_INFO("tlv320aic3x", 0x19),
+               .platform_data = &rx51_aic3x_data2,
+       },
 #if defined(CONFIG_SENSORS_TSL2563) || defined(CONFIG_SENSORS_TSL2563_MODULE)
        {
                I2C_BOARD_INFO("tsl2563", 0x29),
@@ -815,25 +826,15 @@ static struct mtd_partition onenand_partitions[] = {
        },
 };
 
-static struct omap_onenand_platform_data board_onenand_data = {
-       .cs             = 0,
-       .gpio_irq       = 65,
-       .parts          = onenand_partitions,
-       .nr_parts       = ARRAY_SIZE(onenand_partitions),
-       .flags          = ONENAND_SYNC_READWRITE,
+static struct omap_onenand_platform_data board_onenand_data[] = {
+       {
+               .cs             = 0,
+               .gpio_irq       = 65,
+               .parts          = onenand_partitions,
+               .nr_parts       = ARRAY_SIZE(onenand_partitions),
+               .flags          = ONENAND_SYNC_READWRITE,
+       }
 };
-
-static void __init board_onenand_init(void)
-{
-       gpmc_onenand_init(&board_onenand_data);
-}
-
-#else
-
-static inline void board_onenand_init(void)
-{
-}
-
 #endif
 
 #if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE)
@@ -916,13 +917,17 @@ error:
 void __init rx51_peripherals_init(void)
 {
        rx51_i2c_init();
-       board_onenand_init();
+       gpmc_onenand_init(board_onenand_data);
        board_smc91x_init();
        rx51_add_gpio_keys();
        rx51_init_wl1251();
        spi_register_board_info(rx51_peripherals_spi_board_info,
                                ARRAY_SIZE(rx51_peripherals_spi_board_info));
-       omap2_hsmmc_init(mmc);
+
+       partition = omap_mux_get("core");
+       if (partition)
+               omap2_hsmmc_init(mmc);
+
        platform_device_register(&rx51_charger_device);
 }