OSDN Git Service

regulator: s2mps11: Fix steps for buck7, buck8 and LDO35
authorKrzysztof Kozlowski <krzk@kernel.org>
Sat, 9 Feb 2019 17:14:14 +0000 (18:14 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 23 Mar 2019 12:19:46 +0000 (13:19 +0100)
commit 56b5d4ea778c1b0989c5cdb5406d4a488144c416 upstream.

LDO35 uses 25 mV step, not 50 mV.  Bucks 7 and 8 use 12.5 mV step
instead of 6.25 mV.  Wrong step caused over-voltage (LDO35) or
under-voltage (buck7 and 8) if regulators were used (e.g. on Exynos5420
Arndale Octa board).

Cc: <stable@vger.kernel.org>
Fixes: cb74685ecb39 ("regulator: s2mps11: Add samsung s2mps11 regulator driver")
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/regulator/s2mps11.c

index d838e77..1fe1c18 100644 (file)
@@ -376,7 +376,7 @@ static const struct regulator_desc s2mps11_regulators[] = {
        regulator_desc_s2mps11_ldo(32, STEP_50_MV),
        regulator_desc_s2mps11_ldo(33, STEP_50_MV),
        regulator_desc_s2mps11_ldo(34, STEP_50_MV),
-       regulator_desc_s2mps11_ldo(35, STEP_50_MV),
+       regulator_desc_s2mps11_ldo(35, STEP_25_MV),
        regulator_desc_s2mps11_ldo(36, STEP_50_MV),
        regulator_desc_s2mps11_ldo(37, STEP_50_MV),
        regulator_desc_s2mps11_ldo(38, STEP_50_MV),
@@ -386,8 +386,8 @@ static const struct regulator_desc s2mps11_regulators[] = {
        regulator_desc_s2mps11_buck1_4(4),
        regulator_desc_s2mps11_buck5,
        regulator_desc_s2mps11_buck67810(6, MIN_600_MV, STEP_6_25_MV),
-       regulator_desc_s2mps11_buck67810(7, MIN_600_MV, STEP_6_25_MV),
-       regulator_desc_s2mps11_buck67810(8, MIN_600_MV, STEP_6_25_MV),
+       regulator_desc_s2mps11_buck67810(7, MIN_600_MV, STEP_12_5_MV),
+       regulator_desc_s2mps11_buck67810(8, MIN_600_MV, STEP_12_5_MV),
        regulator_desc_s2mps11_buck9,
        regulator_desc_s2mps11_buck67810(10, MIN_750_MV, STEP_12_5_MV),
 };