summaryrefslogtreecommitdiff
path: root/arch/arm/mach-omap2/board-omap3h1.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap2/board-omap3h1.c')
-rw-r--r--arch/arm/mach-omap2/board-omap3h1.c164
1 files changed, 147 insertions, 17 deletions
diff --git a/arch/arm/mach-omap2/board-omap3h1.c b/arch/arm/mach-omap2/board-omap3h1.c
index 311910b52e8..ab06bb48943 100644
--- a/arch/arm/mach-omap2/board-omap3h1.c
+++ b/arch/arm/mach-omap2/board-omap3h1.c
@@ -141,8 +141,6 @@ static int __init omap3h1_spi_init(void) {
}
-
-
static struct mpu_platform_data mpu_data = {
.int_config = 0x00,
.level_shifter = 0,
@@ -154,12 +152,12 @@ static struct mpu_platform_data mpu_data = {
static struct lm3530_platform_data omap3h1_backlight_platform_data = {
.mode = LM3530_BL_MODE_MANUAL,
//.als_input_mode = LM3530_INPUT_ALS1,
- .max_current = LM3530_FS_CURR_12mA,
+ .max_current = LM3530_FS_CURR_29mA,
//.pwm_pol_hi = true,
//.als_avrg_time = LM3530_ALS_AVRG_TIME_512ms,
.brt_ramp_law = 0,
- .brt_ramp_fall = LM3530_RAMP_TIME_2s,
- .brt_ramp_rise = LM3530_RAMP_TIME_2s,
+ .brt_ramp_fall = LM3530_RAMP_TIME_1s,
+ .brt_ramp_rise = LM3530_RAMP_TIME_1s,
//.als1_resistor_sel = LM3530_ALS_IMPD_13_53kOhm,
//.als2_resistor_sel = LM3530_ALS_IMPD_Z,
//.als_vmin = 730, /* mV */
@@ -197,11 +195,58 @@ static struct platform_device omap3h1_vbat = {
},
};
+/* --------------------------------------------------------------------------- */
+
static struct regulator_init_data tps65910_dummy = {
.supply_regulator = "VBAT",
.constraints.always_on = true,
};
+/* --------------------------------------------------------------------------- */
+
+static struct regulator_consumer_supply tps65910_touch3_supply[] = {
+ REGULATOR_SUPPLY("avdd", "1-004a"),
+};
+
+static struct regulator_init_data tps65910_touch3 = {
+ .supply_regulator = "VBAT",
+ .constraints = {
+ .min_uV = 3300000,
+ .max_uV = 3300000,
+ .valid_modes_mask = REGULATOR_MODE_NORMAL,
+ .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE,
+ .always_on = true,
+ .apply_uV = true,
+ },
+ .num_consumer_supplies = ARRAY_SIZE(tps65910_touch3_supply),
+ .consumer_supplies = tps65910_touch3_supply,
+};
+
+/* --------------------------------------------------------------------------- */
+
+static struct regulator_consumer_supply tps65910_vibrator_supply[] = {
+ REGULATOR_SUPPLY("vaux2", "drv2605"),
+};
+
+static struct regulator_init_data tps65910_vibrator = {
+ .supply_regulator = "VBAT",
+ .constraints = {
+ .min_uV = 3300000,
+ .max_uV = 3300000,
+ .valid_modes_mask = REGULATOR_MODE_NORMAL,
+ .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE,
+ .always_on = true,
+ .apply_uV = true,
+ },
+ .num_consumer_supplies = ARRAY_SIZE(tps65910_vibrator_supply),
+ .consumer_supplies = tps65910_vibrator_supply,
+};
+
+
+
+/* --------------------------------------------------------------------------- */
+
+
static struct regulator_init_data tps65910_3v3 = {
.supply_regulator = "VBAT",
.constraints = {
@@ -214,6 +259,14 @@ static struct regulator_init_data tps65910_3v3 = {
},
};
+
+/* --------------------------------------------------------------------------- */
+
+static struct regulator_consumer_supply tps65910_1v8_supply[] = {
+ REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
+ REGULATOR_SUPPLY("vin", "1-0038"),
+};
+
static struct regulator_init_data tps65910_1v8 = {
.supply_regulator = "VBAT",
.constraints = {
@@ -224,8 +277,73 @@ static struct regulator_init_data tps65910_1v8 = {
.always_on = true,
.apply_uV = true,
},
+ .num_consumer_supplies = ARRAY_SIZE(tps65910_1v8_supply),
+ .consumer_supplies = tps65910_1v8_supply,
+};
+
+/* --------------------------------------------------------------------------- */
+
+static struct regulator_consumer_supply tps65910_vpll_supply[] = {
+ };
+
+static struct regulator_init_data tps65910_vpll = {
+ .supply_regulator = "VBAT",
+ .constraints = {
+ .min_uV = 1800000,
+ .max_uV = 1800000,
+ .valid_modes_mask = REGULATOR_MODE_NORMAL,
+ .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE,
+ .always_on = true,
+ .apply_uV = true,
+ },
+ .num_consumer_supplies = ARRAY_SIZE(tps65910_vpll_supply),
+ .consumer_supplies = tps65910_vpll_supply,
+};
+
+
+/* --------------------------------------------------------------------------- */
+
+static struct regulator_consumer_supply tps65910_touch_supply[] = {
+ REGULATOR_SUPPLY("vdd", "1-004a" ),
+};
+
+static struct regulator_init_data tps65910_touch = {
+ .supply_regulator = "VBAT",
+ .constraints = {
+ .min_uV = 1800000,
+ .max_uV = 1800000,
+ .valid_modes_mask = REGULATOR_MODE_NORMAL,
+ .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE,
+ .always_on = true,
+ .apply_uV = true,
+ },
+ .num_consumer_supplies = ARRAY_SIZE(tps65910_touch_supply),
+ .consumer_supplies = tps65910_touch_supply,
+};
+
+
+/* --------------------------------------------------------------------------- */
+
+static struct regulator_consumer_supply tps65910_accel_supply[] = {
+ REGULATOR_SUPPLY("vdd", "mpu6515"),
};
+static struct regulator_init_data tps65910_accel = {
+ .supply_regulator = "VBAT",
+ .constraints = {
+ .min_uV = 1800000,
+ .max_uV = 1800000,
+ .valid_modes_mask = REGULATOR_MODE_NORMAL,
+ .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE,
+ .always_on = true,
+ .apply_uV = true,
+ },
+ .num_consumer_supplies = ARRAY_SIZE(tps65910_accel_supply),
+ .consumer_supplies = tps65910_accel_supply,
+};
+
+/* --------------------------------------------------------------------------- */
+
static struct regulator_consumer_supply tps65910_vdd1_supply[] = {
REGULATOR_SUPPLY("vcc", "cpu0"),
};
@@ -244,6 +362,8 @@ static struct regulator_init_data tps65910_vdd1 = {
.consumer_supplies = tps65910_vdd1_supply,
};
+/* --------------------------------------------------------------------------- */
+
static struct regulator_consumer_supply tps65910_vdd2_supply[] = {
REGULATOR_SUPPLY("vcc", "l3_main.0"),
};
@@ -262,23 +382,33 @@ static struct regulator_init_data tps65910_vdd2 = {
.consumer_supplies = tps65910_vdd2_supply,
};
+/* --------------------------------------------------------------------------- */
+
static struct tps65910_board omap3h1_tps65910_pdata = {
.irq = 7 + OMAP_INTC_START,
.en_ck32k_xtal = true,
- .tps65910_pmic_init_data[TPS65910_REG_VRTC] = &tps65910_dummy,
.tps65910_pmic_init_data[TPS65910_REG_VIO] = &tps65910_1v8,
.tps65910_pmic_init_data[TPS65910_REG_VDD1] = &tps65910_vdd1,
.tps65910_pmic_init_data[TPS65910_REG_VDD2] = &tps65910_vdd2,
- .tps65910_pmic_init_data[TPS65910_REG_VDD3] = &tps65910_dummy,
- .tps65910_pmic_init_data[TPS65910_REG_VDIG1] = &tps65910_1v8,
- .tps65910_pmic_init_data[TPS65910_REG_VDIG2] = &tps65910_dummy,
- .tps65910_pmic_init_data[TPS65910_REG_VPLL] = &tps65910_1v8,
- .tps65910_pmic_init_data[TPS65910_REG_VDAC] = &tps65910_dummy,
- .tps65910_pmic_init_data[TPS65910_REG_VAUX1] = &tps65910_dummy,
- .tps65910_pmic_init_data[TPS65910_REG_VAUX2] = &tps65910_3v3,
+ .tps65910_pmic_init_data[TPS65910_REG_VDIG1] = &tps65910_accel,
+ .tps65910_pmic_init_data[TPS65910_REG_VDIG2] = &tps65910_touch,
+ .tps65910_pmic_init_data[TPS65910_REG_VPLL] = &tps65910_vpll,
+
+ .tps65910_pmic_init_data[TPS65910_REG_VMMC] = &tps65910_touch3,
+ .tps65910_pmic_init_data[TPS65910_REG_VAUX2] = &tps65910_vibrator,
+
+ /* This one is actually connected to BT */
+
.tps65910_pmic_init_data[TPS65910_REG_VAUX33] = &tps65910_3v3,
- .tps65910_pmic_init_data[TPS65910_REG_VMMC] = &tps65910_3v3,
+
+ /* not actually used */
+
+ .tps65910_pmic_init_data[TPS65910_REG_VRTC] = &tps65910_dummy,
+ .tps65910_pmic_init_data[TPS65910_REG_VDAC] = &tps65910_dummy,
+ .tps65910_pmic_init_data[TPS65910_REG_VAUX1] = &tps65910_dummy, /* 2v85 */
+ .tps65910_pmic_init_data[TPS65910_REG_VDD3] = &tps65910_dummy,
+
};
static struct i2c_board_info __initdata omap3h1_i2c1_board_info[] = {
@@ -293,9 +423,9 @@ static struct i2c_board_info __initdata omap3h1_i2c1_board_info[] = {
.platform_data = &mpu_data,
},
{
- /* Backlight */
- I2C_BOARD_INFO("lm3530-led", 0x38),
- .platform_data = &omap3h1_backlight_platform_data,
+ /* Backlight */
+ I2C_BOARD_INFO("lm3530-led", 0x38),
+ .platform_data = &omap3h1_backlight_platform_data,
},
{
I2C_BOARD_INFO("mXT224", 0x4a),