summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-ventana-power.c
diff options
context:
space:
mode:
authorXin Xie <xxie@nvidia.com>2011-04-25 17:36:15 -0700
committerVarun Colbert <vcolbert@nvidia.com>2011-07-21 15:12:10 -0700
commit3c7c6f40a1f0c937ccb62b39e40bbdb088186ad3 (patch)
treedb7c7c4dc25ff8ad450acb2dd03222ac40b201b9 /arch/arm/mach-tegra/board-ventana-power.c
parent5ae9b5220a995c3ccab580e36f6e0816080cd60e (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.c16
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);