|
@@ -154,14 +154,6 @@ static struct omap_musb_board_data musb_board_data = {
|
|
|
.power = 100,
|
|
|
};
|
|
|
|
|
|
-static struct twl4030_usb_data omap4_usbphy_data = {
|
|
|
- .phy_init = omap4430_phy_init,
|
|
|
- .phy_exit = omap4430_phy_exit,
|
|
|
- .phy_power = omap4430_phy_power,
|
|
|
- .phy_set_clock = omap4430_phy_set_clk,
|
|
|
- .phy_suspend = omap4430_phy_suspend,
|
|
|
-};
|
|
|
-
|
|
|
static struct omap2_hsmmc_info mmc[] = {
|
|
|
{
|
|
|
.mmc = 1,
|
|
@@ -181,10 +173,6 @@ static struct omap2_hsmmc_info mmc[] = {
|
|
|
{} /* Terminator */
|
|
|
};
|
|
|
|
|
|
-static struct regulator_consumer_supply omap4_panda_vmmc_supply[] = {
|
|
|
- REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
|
|
|
-};
|
|
|
-
|
|
|
static struct regulator_consumer_supply omap4_panda_vmmc5_supply[] = {
|
|
|
REGULATOR_SUPPLY("vmmc", "omap_hsmmc.4"),
|
|
|
};
|
|
@@ -269,128 +257,8 @@ static int __init omap4_twl6030_hsmmc_init(struct omap2_hsmmc_info *controllers)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-static struct regulator_init_data omap4_panda_vaux2 = {
|
|
|
- .constraints = {
|
|
|
- .min_uV = 1200000,
|
|
|
- .max_uV = 2800000,
|
|
|
- .apply_uV = true,
|
|
|
- .valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
|
- | REGULATOR_MODE_STANDBY,
|
|
|
- .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
|
|
|
- | REGULATOR_CHANGE_MODE
|
|
|
- | REGULATOR_CHANGE_STATUS,
|
|
|
- },
|
|
|
-};
|
|
|
-
|
|
|
-static struct regulator_init_data omap4_panda_vaux3 = {
|
|
|
- .constraints = {
|
|
|
- .min_uV = 1000000,
|
|
|
- .max_uV = 3000000,
|
|
|
- .apply_uV = true,
|
|
|
- .valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
|
- | REGULATOR_MODE_STANDBY,
|
|
|
- .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
|
|
|
- | REGULATOR_CHANGE_MODE
|
|
|
- | REGULATOR_CHANGE_STATUS,
|
|
|
- },
|
|
|
-};
|
|
|
-
|
|
|
-/* VMMC1 for MMC1 card */
|
|
|
-static struct regulator_init_data omap4_panda_vmmc = {
|
|
|
- .constraints = {
|
|
|
- .min_uV = 1200000,
|
|
|
- .max_uV = 3000000,
|
|
|
- .apply_uV = true,
|
|
|
- .valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
|
- | REGULATOR_MODE_STANDBY,
|
|
|
- .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
|
|
|
- | REGULATOR_CHANGE_MODE
|
|
|
- | REGULATOR_CHANGE_STATUS,
|
|
|
- },
|
|
|
- .num_consumer_supplies = ARRAY_SIZE(omap4_panda_vmmc_supply),
|
|
|
- .consumer_supplies = omap4_panda_vmmc_supply,
|
|
|
-};
|
|
|
-
|
|
|
-static struct regulator_init_data omap4_panda_vpp = {
|
|
|
- .constraints = {
|
|
|
- .min_uV = 1800000,
|
|
|
- .max_uV = 2500000,
|
|
|
- .apply_uV = true,
|
|
|
- .valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
|
- | REGULATOR_MODE_STANDBY,
|
|
|
- .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
|
|
|
- | REGULATOR_CHANGE_MODE
|
|
|
- | REGULATOR_CHANGE_STATUS,
|
|
|
- },
|
|
|
-};
|
|
|
-
|
|
|
-static struct regulator_init_data omap4_panda_vana = {
|
|
|
- .constraints = {
|
|
|
- .min_uV = 2100000,
|
|
|
- .max_uV = 2100000,
|
|
|
- .valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
|
- | REGULATOR_MODE_STANDBY,
|
|
|
- .valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
|
- | REGULATOR_CHANGE_STATUS,
|
|
|
- },
|
|
|
-};
|
|
|
-
|
|
|
-static struct regulator_init_data omap4_panda_vcxio = {
|
|
|
- .constraints = {
|
|
|
- .min_uV = 1800000,
|
|
|
- .max_uV = 1800000,
|
|
|
- .valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
|
- | REGULATOR_MODE_STANDBY,
|
|
|
- .valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
|
- | REGULATOR_CHANGE_STATUS,
|
|
|
- },
|
|
|
-};
|
|
|
-
|
|
|
-static struct regulator_init_data omap4_panda_vdac = {
|
|
|
- .constraints = {
|
|
|
- .min_uV = 1800000,
|
|
|
- .max_uV = 1800000,
|
|
|
- .valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
|
- | REGULATOR_MODE_STANDBY,
|
|
|
- .valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
|
- | REGULATOR_CHANGE_STATUS,
|
|
|
- },
|
|
|
-};
|
|
|
-
|
|
|
-static struct regulator_init_data omap4_panda_vusb = {
|
|
|
- .constraints = {
|
|
|
- .min_uV = 3300000,
|
|
|
- .max_uV = 3300000,
|
|
|
- .apply_uV = true,
|
|
|
- .valid_modes_mask = REGULATOR_MODE_NORMAL
|
|
|
- | REGULATOR_MODE_STANDBY,
|
|
|
- .valid_ops_mask = REGULATOR_CHANGE_MODE
|
|
|
- | REGULATOR_CHANGE_STATUS,
|
|
|
- },
|
|
|
-};
|
|
|
-
|
|
|
-static struct regulator_init_data omap4_panda_clk32kg = {
|
|
|
- .constraints = {
|
|
|
- .valid_ops_mask = REGULATOR_CHANGE_STATUS,
|
|
|
- },
|
|
|
-};
|
|
|
-
|
|
|
-static struct twl4030_platform_data omap4_panda_twldata = {
|
|
|
- .irq_base = TWL6030_IRQ_BASE,
|
|
|
- .irq_end = TWL6030_IRQ_END,
|
|
|
-
|
|
|
- /* Regulators */
|
|
|
- .vmmc = &omap4_panda_vmmc,
|
|
|
- .vpp = &omap4_panda_vpp,
|
|
|
- .vana = &omap4_panda_vana,
|
|
|
- .vcxio = &omap4_panda_vcxio,
|
|
|
- .vdac = &omap4_panda_vdac,
|
|
|
- .vusb = &omap4_panda_vusb,
|
|
|
- .vaux2 = &omap4_panda_vaux2,
|
|
|
- .vaux3 = &omap4_panda_vaux3,
|
|
|
- .clk32kg = &omap4_panda_clk32kg,
|
|
|
- .usb = &omap4_usbphy_data,
|
|
|
-};
|
|
|
+/* Panda board uses the common PMIC configuration */
|
|
|
+static struct twl4030_platform_data omap4_panda_twldata;
|
|
|
|
|
|
/*
|
|
|
* Display monitor features are burnt in their EEPROM as EDID data. The EEPROM
|
|
@@ -404,6 +272,16 @@ static struct i2c_board_info __initdata panda_i2c_eeprom[] = {
|
|
|
|
|
|
static int __init omap4_panda_i2c_init(void)
|
|
|
{
|
|
|
+ omap4_pmic_get_config(&omap4_panda_twldata, TWL_COMMON_PDATA_USB,
|
|
|
+ TWL_COMMON_REGULATOR_VDAC |
|
|
|
+ TWL_COMMON_REGULATOR_VAUX2 |
|
|
|
+ TWL_COMMON_REGULATOR_VAUX3 |
|
|
|
+ TWL_COMMON_REGULATOR_VMMC |
|
|
|
+ TWL_COMMON_REGULATOR_VPP |
|
|
|
+ TWL_COMMON_REGULATOR_VANA |
|
|
|
+ TWL_COMMON_REGULATOR_VCXIO |
|
|
|
+ TWL_COMMON_REGULATOR_VUSB |
|
|
|
+ TWL_COMMON_REGULATOR_CLK32KG);
|
|
|
omap4_pmic_init("twl6030", &omap4_panda_twldata);
|
|
|
omap_register_i2c_bus(2, 400, NULL, 0);
|
|
|
/*
|