|
@@ -102,3 +102,116 @@ static int omap3_batt_table[] = {
|
|
|
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_bci_platform_data omap3_bci_pdata = {
|
|
|
+ .battery_tmp_tbl = omap3_batt_table,
|
|
|
+ .tblsize = ARRAY_SIZE(omap3_batt_table),
|
|
|
+};
|
|
|
+
|
|
|
+static struct twl4030_madc_platform_data omap3_madc_pdata = {
|
|
|
+ .irq_line = 1,
|
|
|
+};
|
|
|
+
|
|
|
+static struct twl4030_codec_data omap3_codec;
|
|
|
+
|
|
|
+static struct twl4030_audio_data omap3_audio_pdata = {
|
|
|
+ .audio_mclk = 26000000,
|
|
|
+ .codec = &omap3_codec,
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_consumer_supply omap3_vdda_dac_supplies[] = {
|
|
|
+ REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_init_data omap3_vdac_idata = {
|
|
|
+ .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,
|
|
|
+ },
|
|
|
+ .num_consumer_supplies = ARRAY_SIZE(omap3_vdda_dac_supplies),
|
|
|
+ .consumer_supplies = omap3_vdda_dac_supplies,
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_consumer_supply omap3_vpll2_supplies[] = {
|
|
|
+ REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
|
|
|
+ REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi.0"),
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_init_data omap3_vpll2_idata = {
|
|
|
+ .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,
|
|
|
+ },
|
|
|
+ .num_consumer_supplies = ARRAY_SIZE(omap3_vpll2_supplies),
|
|
|
+ .consumer_supplies = omap3_vpll2_supplies,
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_consumer_supply omap3_vdd1_supply[] = {
|
|
|
+ REGULATOR_SUPPLY("vcc", "cpu0"),
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_consumer_supply omap3_vdd2_supply[] = {
|
|
|
+ REGULATOR_SUPPLY("vcc", "l3_main.0"),
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_init_data omap3_vdd1 = {
|
|
|
+ .constraints = {
|
|
|
+ .name = "vdd_mpu_iva",
|
|
|
+ .min_uV = 600000,
|
|
|
+ .max_uV = 1450000,
|
|
|
+ .valid_modes_mask = REGULATOR_MODE_NORMAL,
|
|
|
+ .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE,
|
|
|
+ },
|
|
|
+ .num_consumer_supplies = ARRAY_SIZE(omap3_vdd1_supply),
|
|
|
+ .consumer_supplies = omap3_vdd1_supply,
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_init_data omap3_vdd2 = {
|
|
|
+ .constraints = {
|
|
|
+ .name = "vdd_core",
|
|
|
+ .min_uV = 600000,
|
|
|
+ .max_uV = 1450000,
|
|
|
+ .valid_modes_mask = REGULATOR_MODE_NORMAL,
|
|
|
+ .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE,
|
|
|
+ },
|
|
|
+ .num_consumer_supplies = ARRAY_SIZE(omap3_vdd2_supply),
|
|
|
+ .consumer_supplies = omap3_vdd2_supply,
|
|
|
+};
|
|
|
+
|
|
|
+static struct twl_regulator_driver_data omap3_vdd1_drvdata = {
|
|
|
+ .get_voltage = twl_get_voltage,
|
|
|
+ .set_voltage = twl_set_voltage,
|
|
|
+};
|
|
|
+
|
|
|
+static struct twl_regulator_driver_data omap3_vdd2_drvdata = {
|
|
|
+ .get_voltage = twl_get_voltage,
|
|
|
+ .set_voltage = twl_set_voltage,
|
|
|
+};
|
|
|
+
|
|
|
+void __init omap3_pmic_get_config(struct twl4030_platform_data *pmic_data,
|
|
|
+ u32 pdata_flags, u32 regulators_flags)
|
|
|
+{
|
|
|
+ if (!pmic_data->vdd1) {
|
|
|
+ omap3_vdd1.driver_data = &omap3_vdd1_drvdata;
|
|
|
+ omap3_vdd1_drvdata.data = voltdm_lookup("mpu_iva");
|
|
|
+ pmic_data->vdd1 = &omap3_vdd1;
|
|
|
+ }
|
|
|
+ if (!pmic_data->vdd2) {
|
|
|
+ omap3_vdd2.driver_data = &omap3_vdd2_drvdata;
|
|
|
+ omap3_vdd2_drvdata.data = voltdm_lookup("core");
|
|
|
+ pmic_data->vdd2 = &omap3_vdd2;
|
|
|
+ }
|
|
|
+
|
|
|
+ /* Common platform data configurations */
|
|
|
+ if (pdata_flags & TWL_COMMON_PDATA_USB && !pmic_data->usb)
|
|
|
+ pmic_data->usb = &omap3_usb_pdata;
|
|
|
+
|