Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1440927 > unrolled thread
| Started by | Stephen Boyd <sboyd@codeaurora.org> |
|---|---|
| First post | 2016-07-12 00:00 +0200 |
| Last post | 2016-07-12 00:40 +0200 |
| Articles | 8 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH 0/3] Fixes for RPM SMD regulator voltage ranges Stephen Boyd <sboyd@codeaurora.org> - 2016-07-12 00:00 +0200
[PATCH 1/3] regulator: qcom_smd: Fix voltage ranges for pm8x41 Stephen Boyd <sboyd@codeaurora.org> - 2016-07-12 00:00 +0200
Re: [PATCH 1/3] regulator: qcom_smd: Fix voltage ranges for pm8x41 Andy Gross <andy.gross@linaro.org> - 2016-07-12 00:50 +0200
[PATCH 3/3] regulator: qcom_smd: Avoid overlapping linear voltage ranges Stephen Boyd <sboyd@codeaurora.org> - 2016-07-12 00:00 +0200
Re: [PATCH 3/3] regulator: qcom_smd: Avoid overlapping linear voltage ranges Andy Gross <andy.gross@linaro.org> - 2016-07-12 00:50 +0200
Applied "regulator: qcom_smd: Avoid overlapping linear voltage ranges" to the regulator tree Mark Brown <broonie@kernel.org> - 2016-07-12 11:10 +0200
[PATCH 2/3] regulator: qcom_smd: Fix voltage ranges for pma8084 ftsmps and pldo Stephen Boyd <sboyd@codeaurora.org> - 2016-07-12 00:00 +0200
Re: [PATCH 2/3] regulator: qcom_smd: Fix voltage ranges for pma8084 ftsmps and pldo Andy Gross <andy.gross@linaro.org> - 2016-07-12 00:40 +0200
| From | Stephen Boyd <sboyd@codeaurora.org> |
|---|---|
| Date | 2016-07-12 00:00 +0200 |
| Subject | [PATCH 0/3] Fixes for RPM SMD regulator voltage ranges |
| Message-ID | <rTRp8-4gA-23@gated-at.bofh.it> |
The voltage ranges listed in the RPM SMD regulator driver aren't correct. This series makes the voltage range tables match what the hardware supports. That fixes a problem where pm8941 l24 fails to be set at 3.075V when the hardware really supports it. Stephen Boyd (3): regulator: qcom_smd: Fix voltage ranges for pm8x41 regulator: qcom_smd: Fix voltage ranges for pma8084 ftsmps and pldo regulator: qcom_smd: Avoid overlapping linear voltage ranges drivers/regulator/qcom_smd-regulator.c | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
[toc] | [next] | [standalone]
| From | Stephen Boyd <sboyd@codeaurora.org> |
|---|---|
| Date | 2016-07-12 00:00 +0200 |
| Subject | [PATCH 1/3] regulator: qcom_smd: Fix voltage ranges for pm8x41 |
| Message-ID | <rTRp8-4gA-31@gated-at.bofh.it> |
| In reply to | #1440927 |
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.
Cc: Andy Gross <andy.gross@linaro.org>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Fixes: da65e367b67e ("regulator: Regulator driver for the Qualcomm RPM")
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
drivers/regulator/qcom_smd-regulator.c | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/drivers/regulator/qcom_smd-regulator.c b/drivers/regulator/qcom_smd-regulator.c
index 6c7fe4778793..6aa6435b3922 100644
--- a/drivers/regulator/qcom_smd-regulator.c
+++ b/drivers/regulator/qcom_smd-regulator.c
@@ -221,29 +221,30 @@ static const struct regulator_desc pm8x41_hfsmps = {
static const struct regulator_desc pm8841_ftsmps = {
.linear_ranges = (struct regulator_linear_range[]) {
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_voltages = 340,
+ .n_voltages = 262,
.ops = &rpm_smps_ldo_ops,
};
static const struct regulator_desc pm8941_boost = {
.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_voltages = 16,
+ .n_voltages = 31,
.ops = &rpm_smps_ldo_ops,
};
static const struct regulator_desc pm8941_pldo = {
.linear_ranges = (struct regulator_linear_range[]) {
- REGULATOR_LINEAR_RANGE( 750000, 0, 30, 25000),
- REGULATOR_LINEAR_RANGE(1500000, 31, 99, 50000),
+ REGULATOR_LINEAR_RANGE( 750000, 0, 63, 12500),
+ REGULATOR_LINEAR_RANGE(1550000, 64, 126, 25000),
+ REGULATOR_LINEAR_RANGE(3100000, 127, 163, 50000),
},
- .n_linear_ranges = 2,
- .n_voltages = 100,
+ .n_linear_ranges = 3,
+ .n_voltages = 164,
.ops = &rpm_smps_ldo_ops,
};
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
[toc] | [prev] | [next] | [standalone]
| From | Andy Gross <andy.gross@linaro.org> |
|---|---|
| Date | 2016-07-12 00:50 +0200 |
| Subject | Re: [PATCH 1/3] regulator: qcom_smd: Fix voltage ranges for pm8x41 |
| Message-ID | <rTSbw-4P8-17@gated-at.bofh.it> |
| In reply to | #1440929 |
On Mon, Jul 11, 2016 at 02:50:07PM -0700, Stephen Boyd wrote:
> 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.
>
> Cc: Andy Gross <andy.gross@linaro.org>
> Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
> Fixes: da65e367b67e ("regulator: Regulator driver for the Qualcomm RPM")
> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
> ---
<snip>
> static const struct regulator_desc pm8941_pldo = {
> .linear_ranges = (struct regulator_linear_range[]) {
> - REGULATOR_LINEAR_RANGE( 750000, 0, 30, 25000),
> - REGULATOR_LINEAR_RANGE(1500000, 31, 99, 50000),
> + REGULATOR_LINEAR_RANGE( 750000, 0, 63, 12500),
> + REGULATOR_LINEAR_RANGE(1550000, 64, 126, 25000),
> + REGULATOR_LINEAR_RANGE(3100000, 127, 163, 50000),
> },
> - .n_linear_ranges = 2,
> - .n_voltages = 100,
> + .n_linear_ranges = 3,
> + .n_voltages = 164,
> .ops = &rpm_smps_ldo_ops,
> };
Still a little confused on if the 12.5mV is allowed on pmos ldo. It seems like the
nmos has 1 range of 5mV steps. The PMOS has 2 ranges, using 25mV and 50mV
Regards,
Andy
[toc] | [prev] | [next] | [standalone]
| From | Stephen Boyd <sboyd@codeaurora.org> |
|---|---|
| Date | 2016-07-12 00:00 +0200 |
| Subject | [PATCH 3/3] regulator: qcom_smd: Avoid overlapping linear voltage ranges |
| Message-ID | <rTRp8-4gA-35@gated-at.bofh.it> |
| In reply to | #1440927 |
The pm8x41_hfsmps ranges overlap. The first range is from 375000
to 1562500:
375000 + (95 * 12500) == 1562500
and the second range starts at 1550000. Interestingly, the second
range ends at the correct value when it's set to be the
appropriate start value, 1575000:
1575000 + ((158 - 96) * 25000) == 3125000
Cc: Andy Gross <andy.gross@linaro.org>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Fixes: da65e367b67e ("regulator: Regulator driver for the Qualcomm RPM")
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
drivers/regulator/qcom_smd-regulator.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/regulator/qcom_smd-regulator.c b/drivers/regulator/qcom_smd-regulator.c
index 891ae44a49c2..8ed46a9a55c8 100644
--- a/drivers/regulator/qcom_smd-regulator.c
+++ b/drivers/regulator/qcom_smd-regulator.c
@@ -212,7 +212,7 @@ static const struct regulator_desc pma8084_switch = {
static const struct regulator_desc pm8x41_hfsmps = {
.linear_ranges = (struct regulator_linear_range[]) {
REGULATOR_LINEAR_RANGE( 375000, 0, 95, 12500),
- REGULATOR_LINEAR_RANGE(1550000, 96, 158, 25000),
+ REGULATOR_LINEAR_RANGE(1575000, 96, 158, 25000),
},
.n_linear_ranges = 2,
.n_voltages = 159,
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
[toc] | [prev] | [next] | [standalone]
| From | Andy Gross <andy.gross@linaro.org> |
|---|---|
| Date | 2016-07-12 00:50 +0200 |
| Subject | Re: [PATCH 3/3] regulator: qcom_smd: Avoid overlapping linear voltage ranges |
| Message-ID | <rTSbv-4P8-1@gated-at.bofh.it> |
| In reply to | #1440930 |
On Mon, Jul 11, 2016 at 02:50:09PM -0700, Stephen Boyd wrote:
> The pm8x41_hfsmps ranges overlap. The first range is from 375000
> to 1562500:
>
> 375000 + (95 * 12500) == 1562500
>
> and the second range starts at 1550000. Interestingly, the second
> range ends at the correct value when it's set to be the
> appropriate start value, 1575000:
>
> 1575000 + ((158 - 96) * 25000) == 3125000
>
> Cc: Andy Gross <andy.gross@linaro.org>
> Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
> Fixes: da65e367b67e ("regulator: Regulator driver for the Qualcomm RPM")
> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
> ---
Reviewed-by: Andy Gross <andy.gross@linaro.org>
[toc] | [prev] | [next] | [standalone]
| From | Mark Brown <broonie@kernel.org> |
|---|---|
| Date | 2016-07-12 11:10 +0200 |
| Subject | Applied "regulator: qcom_smd: Avoid overlapping linear voltage ranges" to the regulator tree |
| Message-ID | <rU1Rw-2SM-3@gated-at.bofh.it> |
| In reply to | #1440930 |
The patch
regulator: qcom_smd: Avoid overlapping linear voltage ranges
has been applied to the regulator tree at
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
From b7a8524cfae0b3bde80be38c171e4ecac8ba527e Mon Sep 17 00:00:00 2001
From: Stephen Boyd <sboyd@codeaurora.org>
Date: Mon, 11 Jul 2016 14:50:09 -0700
Subject: [PATCH] regulator: qcom_smd: Avoid overlapping linear voltage ranges
The pm8x41_hfsmps ranges overlap. The first range is from 375000
to 1562500:
375000 + (95 * 12500) == 1562500
and the second range starts at 1550000. Interestingly, the second
range ends at the correct value when it's set to be the
appropriate start value, 1575000:
1575000 + ((158 - 96) * 25000) == 3125000
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Reviewed-by: Andy Gross <andy.gross@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
drivers/regulator/qcom_smd-regulator.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/regulator/qcom_smd-regulator.c b/drivers/regulator/qcom_smd-regulator.c
index 6c7fe4778793..5022fa8d10c6 100644
--- a/drivers/regulator/qcom_smd-regulator.c
+++ b/drivers/regulator/qcom_smd-regulator.c
@@ -211,7 +211,7 @@ static const struct regulator_desc pma8084_switch = {
static const struct regulator_desc pm8x41_hfsmps = {
.linear_ranges = (struct regulator_linear_range[]) {
REGULATOR_LINEAR_RANGE( 375000, 0, 95, 12500),
- REGULATOR_LINEAR_RANGE(1550000, 96, 158, 25000),
+ REGULATOR_LINEAR_RANGE(1575000, 96, 158, 25000),
},
.n_linear_ranges = 2,
.n_voltages = 159,
--
2.8.1
[toc] | [prev] | [next] | [standalone]
| From | Stephen Boyd <sboyd@codeaurora.org> |
|---|---|
| Date | 2016-07-12 00:00 +0200 |
| Subject | [PATCH 2/3] regulator: qcom_smd: Fix voltage ranges for pma8084 ftsmps and pldo |
| Message-ID | <rTRp8-4gA-29@gated-at.bofh.it> |
| In reply to | #1440927 |
The voltage ranges listed here are wrong. The pma8084 pldo
supports three different overlapping voltage ranges with
differing step sizes and the pma8084 ftsmps supports two. These
ranges can be seen in the "native" spmi regulator driver
(qcom_spmi-regulator.c) at pldo_ranges[] and ftsmps_ranges[]
respectively. Port these ranges over to the RPM SMD regulator
driver so that we list the appropriate set of supported voltages
on these types of regulators.
Cc: Andy Gross <andy.gross@linaro.org>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Fixes: ee01d0c91ef1 ("regulator: qcom-smd: Add support for PMA8084")
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
drivers/regulator/qcom_smd-regulator.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/drivers/regulator/qcom_smd-regulator.c b/drivers/regulator/qcom_smd-regulator.c
index 6aa6435b3922..891ae44a49c2 100644
--- a/drivers/regulator/qcom_smd-regulator.c
+++ b/drivers/regulator/qcom_smd-regulator.c
@@ -178,20 +178,21 @@ static const struct regulator_desc pma8084_hfsmps = {
static const struct regulator_desc pma8084_ftsmps = {
.linear_ranges = (struct regulator_linear_range[]) {
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_voltages = 340,
+ .n_voltages = 262,
.ops = &rpm_smps_ldo_ops,
};
static const struct regulator_desc pma8084_pldo = {
.linear_ranges = (struct regulator_linear_range[]) {
- REGULATOR_LINEAR_RANGE(750000, 0, 30, 25000),
- REGULATOR_LINEAR_RANGE(1500000, 31, 99, 50000),
+ REGULATOR_LINEAR_RANGE( 750000, 0, 63, 12500),
+ REGULATOR_LINEAR_RANGE(1550000, 64, 126, 25000),
+ REGULATOR_LINEAR_RANGE(3100000, 127, 163, 50000),
},
- .n_linear_ranges = 2,
- .n_voltages = 100,
+ .n_linear_ranges = 3,
+ .n_voltages = 164,
.ops = &rpm_smps_ldo_ops,
};
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
[toc] | [prev] | [next] | [standalone]
| From | Andy Gross <andy.gross@linaro.org> |
|---|---|
| Date | 2016-07-12 00:40 +0200 |
| Subject | Re: [PATCH 2/3] regulator: qcom_smd: Fix voltage ranges for pma8084 ftsmps and pldo |
| Message-ID | <rTS1Q-4LO-35@gated-at.bofh.it> |
| In reply to | #1440931 |
On Mon, Jul 11, 2016 at 02:50:08PM -0700, Stephen Boyd wrote:
> The voltage ranges listed here are wrong. The pma8084 pldo
> supports three different overlapping voltage ranges with
> differing step sizes and the pma8084 ftsmps supports two. These
> ranges can be seen in the "native" spmi regulator driver
> (qcom_spmi-regulator.c) at pldo_ranges[] and ftsmps_ranges[]
> respectively. Port these ranges over to the RPM SMD regulator
> driver so that we list the appropriate set of supported voltages
> on these types of regulators.
>
> Cc: Andy Gross <andy.gross@linaro.org>
> Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
> Fixes: ee01d0c91ef1 ("regulator: qcom-smd: Add support for PMA8084")
> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
<snip>
> static const struct regulator_desc pma8084_pldo = {
> .linear_ranges = (struct regulator_linear_range[]) {
> - REGULATOR_LINEAR_RANGE(750000, 0, 30, 25000),
> - REGULATOR_LINEAR_RANGE(1500000, 31, 99, 50000),
> + REGULATOR_LINEAR_RANGE( 750000, 0, 63, 12500),
It was my understanding that the PMOS ldos only support 25mV and 50mV
incremements.
> + REGULATOR_LINEAR_RANGE(1550000, 64, 126, 25000),
> + REGULATOR_LINEAR_RANGE(3100000, 127, 163, 50000),
> },
> - .n_linear_ranges = 2,
> - .n_voltages = 100,
> + .n_linear_ranges = 3,
> + .n_voltages = 164,
> .ops = &rpm_smps_ldo_ops,
Regards,
Andy
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web