diff options
author | Xin Xie <xxie@nvidia.com> | 2011-04-25 17:36:15 -0700 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2011-07-21 15:12:10 -0700 |
commit | 3c7c6f40a1f0c937ccb62b39e40bbdb088186ad3 (patch) | |
tree | db7c7c4dc25ff8ad450acb2dd03222ac40b201b9 /arch/arm/mach-tegra/board-ventana-power.c | |
parent | 5ae9b5220a995c3ccab580e36f6e0816080cd60e (diff) |
ARM: tegra: ventana: change TPS6586x SMx slew rate
Currently Ventena reference design is using the wrong LC values in tps6586x,
we need reduce the slew rate of SMx in order to prevent voltage undershoot.
BUG 815933
Change-Id: Ib44bd9a61769ef6c2af14174347181ce7426a5b3
Reviewed-on: http://git-master/r/40265
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/board-ventana-power.c')
-rw-r--r-- | arch/arm/mach-tegra/board-ventana-power.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/arch/arm/mach-tegra/board-ventana-power.c b/arch/arm/mach-tegra/board-ventana-power.c index 8b220608472a..121fa305c90a 100644 --- a/arch/arm/mach-tegra/board-ventana-power.c +++ b/arch/arm/mach-tegra/board-ventana-power.c @@ -106,12 +106,18 @@ static struct regulator_consumer_supply tps658621_ldo9_supply[] = { REGULATOR_SUPPLY("avdd_amp", NULL), }; -/* - * Current TPS6586x is known for having a voltage glitch if current load changes - * from low to high in auto PWM/PFM mode for CPU's Vdd line. - */ +static struct tps6586x_settings sm0_config = { + .sm_pwm_mode = PWM_DEFAULT_VALUE, + .slew_rate = SLEW_RATE_3520UV_PER_SEC, +}; + static struct tps6586x_settings sm1_config = { + /* + * Current TPS6586x is known for having a voltage glitch if current load + * changes from low to high in auto PWM/PFM mode for CPU's Vdd line. + */ .sm_pwm_mode = PWM_ONLY, + .slew_rate = SLEW_RATE_3520UV_PER_SEC, }; #define REGULATOR_INIT(_id, _minmv, _maxmv, on, config) \ @@ -135,7 +141,7 @@ static struct tps6586x_settings sm1_config = { #define ON 1 #define OFF 0 -static struct regulator_init_data sm0_data = REGULATOR_INIT(sm0, 725, 1500, ON, NULL); +static struct regulator_init_data sm0_data = REGULATOR_INIT(sm0, 725, 1500, ON, &sm0_config); static struct regulator_init_data sm1_data = REGULATOR_INIT(sm1, 725, 1500, ON, &sm1_config); static struct regulator_init_data sm2_data = REGULATOR_INIT(sm2, 3000, 4550, ON, NULL); static struct regulator_init_data ldo0_data = REGULATOR_INIT(ldo0, 1250, 3300, OFF, NULL); |