diff options
| author | mattis fjallstrom <mattis@acm.org> | 2015-03-23 20:05:19 -0700 |
|---|---|---|
| committer | mattis fjallstrom <mattis@acm.org> | 2015-03-23 20:05:19 -0700 |
| commit | 89f6f0211edb9e6c4e5ecafbf1c3581134117e53 (patch) | |
| tree | ddd68839202d7f41f9d0fcc3a9e4b5f4c525df57 /arch/arm/mach-omap2/board-omap3h1.c | |
| parent | 6e1e9e095f3ef6c20cd9b360772e1b4f5890c7c3 (diff) | |
| download | olio-linux-3.10-89f6f0211edb9e6c4e5ecafbf1c3581134117e53.tar.xz olio-linux-3.10-89f6f0211edb9e6c4e5ecafbf1c3581134117e53.zip | |
Enabling powering off power rails, power off PMIC.
Change-Id: I8b513972cdd17731e46983944a6bcd6d3fe8b57c
Diffstat (limited to 'arch/arm/mach-omap2/board-omap3h1.c')
| -rw-r--r-- | arch/arm/mach-omap2/board-omap3h1.c | 63 |
1 files changed, 37 insertions, 26 deletions
diff --git a/arch/arm/mach-omap2/board-omap3h1.c b/arch/arm/mach-omap2/board-omap3h1.c index d0ac1d16311..5505b893ddc 100644 --- a/arch/arm/mach-omap2/board-omap3h1.c +++ b/arch/arm/mach-omap2/board-omap3h1.c @@ -171,8 +171,8 @@ static struct lm3530_platform_data omap3h1_backlight_platform_data = { //.pwm_pol_hi = true, //.als_avrg_time = LM3530_ALS_AVRG_TIME_512ms, .brt_ramp_law = 0, - .brt_ramp_fall = LM3530_RAMP_TIME_1s, - .brt_ramp_rise = LM3530_RAMP_TIME_1s, + .brt_ramp_fall = LM3530_RAMP_TIME_130ms, /* LM3530_RAMP_TIME_1s, */ + .brt_ramp_rise = LM3530_RAMP_TIME_130ms, /* LM3530_RAMP_TIME_1s, */ //.als1_resistor_sel = LM3530_ALS_IMPD_13_53kOhm, //.als2_resistor_sel = LM3530_ALS_IMPD_Z, //.als_vmin = 730, /* mV */ @@ -232,7 +232,9 @@ static struct platform_device nop_phy_device = { */ static struct regulator_init_data omap3h1_vbat_data = { - .constraints.always_on = true, + .constraints.always_on = true, + .constraints.valid_modes_mask = REGULATOR_MODE_NORMAL | REGULATOR_MODE_STANDBY, + .constraints.valid_ops_mask = REGULATOR_CHANGE_MODE | REGULATOR_CHANGE_STATUS, }; static struct fixed_voltage_config omap3h1_vbat_pdata = { @@ -255,7 +257,8 @@ static struct platform_device omap3h1_vbat = { static struct regulator_init_data tps65910_dummy = { .supply_regulator = "VBAT", - .constraints.always_on = true, + .constraints.always_on = false, + /* .constraints.valid_ops_mask = REGULATOR_CHANGE_STATUS, */ }; /* --------------------------------------------------------------------------- */ @@ -270,7 +273,7 @@ static struct regulator_init_data tps65910_touch3 = { .min_uV = 3300000, .max_uV = 3300000, .valid_modes_mask = REGULATOR_MODE_NORMAL, - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE, + .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | REGULATOR_CHANGE_STATUS, .always_on = true, .apply_uV = true, }, @@ -289,8 +292,10 @@ static struct regulator_init_data tps65910_vibrator = { .constraints = { .min_uV = 3300000, .max_uV = 3300000, - .valid_modes_mask = REGULATOR_MODE_NORMAL, - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE, + .valid_modes_mask = REGULATOR_MODE_NORMAL | REGULATOR_MODE_STANDBY, + .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | + REGULATOR_CHANGE_MODE | + REGULATOR_CHANGE_STATUS, .always_on = true, .apply_uV = true, }, @@ -308,8 +313,10 @@ static struct regulator_init_data tps65910_3v3 = { .constraints = { .min_uV = 3300000, .max_uV = 3300000, - .valid_modes_mask = REGULATOR_MODE_NORMAL, - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE, + .valid_modes_mask = REGULATOR_MODE_NORMAL | REGULATOR_MODE_STANDBY, + .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | + REGULATOR_CHANGE_MODE | + REGULATOR_CHANGE_STATUS, .always_on = true, .apply_uV = true, }, @@ -317,6 +324,9 @@ static struct regulator_init_data tps65910_3v3 = { /* --------------------------------------------------------------------------- */ +/* This regulator must not be allowed to change status, doing so causes + * reboots to fail. Not sure why that is. --mfj + */ static struct regulator_consumer_supply tps65910_1v8_supply[] = { REGULATOR_SUPPLY("vdds_dsi", "omapdss"), @@ -330,7 +340,7 @@ static struct regulator_init_data tps65910_1v8 = { .max_uV = 1800000, .valid_modes_mask = REGULATOR_MODE_NORMAL, .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE, - .always_on = true, + .always_on = false, .apply_uV = true, }, .num_consumer_supplies = ARRAY_SIZE(tps65910_1v8_supply), @@ -347,9 +357,9 @@ static struct regulator_init_data tps65910_vpll = { .constraints = { .min_uV = 1800000, .max_uV = 1800000, - .valid_modes_mask = REGULATOR_MODE_NORMAL, - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE, - .always_on = true, + .valid_modes_mask = REGULATOR_MODE_NORMAL | REGULATOR_MODE_STANDBY, + .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | REGULATOR_CHANGE_MODE | REGULATOR_CHANGE_STATUS, + .always_on = false, .apply_uV = true, }, .num_consumer_supplies = ARRAY_SIZE(tps65910_vpll_supply), @@ -368,9 +378,9 @@ static struct regulator_init_data tps65910_touch = { .constraints = { .min_uV = 1800000, .max_uV = 1800000, - .valid_modes_mask = REGULATOR_MODE_NORMAL, - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE, - .always_on = true, + .valid_modes_mask = REGULATOR_MODE_NORMAL | REGULATOR_MODE_STANDBY, + .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | REGULATOR_CHANGE_MODE | REGULATOR_CHANGE_STATUS, + .always_on = false, .apply_uV = true, }, .num_consumer_supplies = ARRAY_SIZE(tps65910_touch_supply), @@ -389,9 +399,9 @@ static struct regulator_init_data tps65910_accel = { .constraints = { .min_uV = 1800000, .max_uV = 1800000, - .valid_modes_mask = REGULATOR_MODE_NORMAL, - .valid_ops_mask = REGULATOR_CHANGE_MODE | REGULATOR_CHANGE_STATUS, - .always_on = true, + .valid_modes_mask = REGULATOR_MODE_NORMAL | REGULATOR_MODE_STANDBY, + .valid_ops_mask = REGULATOR_CHANGE_MODE | REGULATOR_CHANGE_MODE | REGULATOR_CHANGE_STATUS, + .always_on = false, .apply_uV = true, }, .num_consumer_supplies = ARRAY_SIZE(tps65910_accel_supply), @@ -410,9 +420,9 @@ static struct regulator_init_data tps65910_vdd1 = { .name = "vdd_mpu", .min_uV = 900000, .max_uV = 1350000, - .valid_modes_mask = REGULATOR_MODE_NORMAL, - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE, - //.always_on = 1, + .valid_modes_mask = REGULATOR_MODE_NORMAL | REGULATOR_MODE_STANDBY, + .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | REGULATOR_CHANGE_MODE | REGULATOR_CHANGE_STATUS, + .always_on = false, }, .num_consumer_supplies = ARRAY_SIZE(tps65910_vdd1_supply), .consumer_supplies = tps65910_vdd1_supply, @@ -430,9 +440,9 @@ static struct regulator_init_data tps65910_vdd2 = { .name = "vdd_core", .min_uV = 900000, .max_uV = 1200000, - .valid_modes_mask = REGULATOR_MODE_NORMAL, - .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE, - //.always_on = 1, + .valid_modes_mask = REGULATOR_MODE_NORMAL | REGULATOR_MODE_STANDBY, + .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | REGULATOR_CHANGE_MODE | REGULATOR_CHANGE_STATUS, + .always_on = false, }, .num_consumer_supplies = ARRAY_SIZE(tps65910_vdd2_supply), .consumer_supplies = tps65910_vdd2_supply, @@ -464,7 +474,8 @@ static struct tps65910_board omap3h1_tps65910_pdata = { .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, - + + .pm_off = true, }; static struct i2c_board_info __initdata omap3h1_i2c1_board_info[] = { |