Commit 29028477 authored by Stephen Boyd's avatar Stephen Boyd Committed by Mark Brown

regulator: qcom_smd: Fix voltage ranges for pm8x41

The voltage ranges listed here are wrong. The correct ranges can
be seen in the "native" spmi regulator driver
qcom_spmi-regulator.c at pldo_ranges[], ftsmps_ranges[] and
boost_ranges[] for the pldo, ftsmps, and boost type regulators.
Port these ranges over to the RPM SMD regulator driver so that we
list the appropriate set of supported voltages on pldos.

Doing this allows us to specify a voltage like 3075000 for l24,
whereas before that wasn't a supported voltage.

Fixes: da65e367 ("regulator: Regulator driver for the Qualcomm RPM")
Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
Reviewed-by: default avatarAndy Gross <andy.gross@linaro.org>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent a485f5fc
...@@ -221,29 +221,30 @@ static const struct regulator_desc pm8x41_hfsmps = { ...@@ -221,29 +221,30 @@ static const struct regulator_desc pm8x41_hfsmps = {
static const struct regulator_desc pm8841_ftsmps = { static const struct regulator_desc pm8841_ftsmps = {
.linear_ranges = (struct regulator_linear_range[]) { .linear_ranges = (struct regulator_linear_range[]) {
REGULATOR_LINEAR_RANGE(350000, 0, 184, 5000), REGULATOR_LINEAR_RANGE(350000, 0, 184, 5000),
REGULATOR_LINEAR_RANGE(700000, 185, 339, 10000), REGULATOR_LINEAR_RANGE(1280000, 185, 261, 10000),
}, },
.n_linear_ranges = 2, .n_linear_ranges = 2,
.n_voltages = 340, .n_voltages = 262,
.ops = &rpm_smps_ldo_ops, .ops = &rpm_smps_ldo_ops,
}; };
static const struct regulator_desc pm8941_boost = { static const struct regulator_desc pm8941_boost = {
.linear_ranges = (struct regulator_linear_range[]) { .linear_ranges = (struct regulator_linear_range[]) {
REGULATOR_LINEAR_RANGE(4000000, 0, 15, 100000), REGULATOR_LINEAR_RANGE(4000000, 0, 30, 50000),
}, },
.n_linear_ranges = 1, .n_linear_ranges = 1,
.n_voltages = 16, .n_voltages = 31,
.ops = &rpm_smps_ldo_ops, .ops = &rpm_smps_ldo_ops,
}; };
static const struct regulator_desc pm8941_pldo = { static const struct regulator_desc pm8941_pldo = {
.linear_ranges = (struct regulator_linear_range[]) { .linear_ranges = (struct regulator_linear_range[]) {
REGULATOR_LINEAR_RANGE( 750000, 0, 30, 25000), REGULATOR_LINEAR_RANGE( 750000, 0, 63, 12500),
REGULATOR_LINEAR_RANGE(1500000, 31, 99, 50000), REGULATOR_LINEAR_RANGE(1550000, 64, 126, 25000),
REGULATOR_LINEAR_RANGE(3100000, 127, 163, 50000),
}, },
.n_linear_ranges = 2, .n_linear_ranges = 3,
.n_voltages = 100, .n_voltages = 164,
.ops = &rpm_smps_ldo_ops, .ops = &rpm_smps_ldo_ops,
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment