Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1398688 > unrolled thread

[PATCH 0/2] ARM: dts: sun6i: Drop constraints on dc1sw regulator

Started byChen-Yu Tsai <wens@csie.org>
First post2016-05-11 07:30 +0200
Last post2016-05-11 14:50 +0200
Articles 4 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 0/2] ARM: dts: sun6i: Drop constraints on dc1sw regulator Chen-Yu Tsai <wens@csie.org> - 2016-05-11 07:30 +0200
    [PATCH 2/2] ARM: dts: sun6i: yones-toptech-bs1078-v2: Drop constraints on dc1sw regulator Chen-Yu Tsai <wens@csie.org> - 2016-05-11 07:30 +0200
    [PATCH 1/2] ARM: dts: sun6i: primo81: Drop constraints on dc1sw regulator Chen-Yu Tsai <wens@csie.org> - 2016-05-11 07:30 +0200
    Re: [PATCH 0/2] ARM: dts: sun6i: Drop constraints on dc1sw regulator Maxime Ripard <maxime.ripard@free-electrons.com> - 2016-05-11 14:50 +0200

#1398688 — [PATCH 0/2] ARM: dts: sun6i: Drop constraints on dc1sw regulator

FromChen-Yu Tsai <wens@csie.org>
Date2016-05-11 07:30 +0200
Subject[PATCH 0/2] ARM: dts: sun6i: Drop constraints on dc1sw regulator
Message-ID<rxuSB-1F1-5@gated-at.bofh.it>
Hi Arnd, Olof,

Here are 2 last minute fixes for 4.6. The 2 patches drop constaints on
the dc1sw regulator for 2 A31s tablets. I checked with Maxime and he said
to send them directly to you.

The issue was first brought up and fixed for A23/A33 Q8 tablets in commit
dcf5341f0150 ("ARM: dts: sun8i-q8-common: Do not set constraints on dc1sw
regulator"). It was brought up again yesterday on IRC, and I realized that
2 sun6i A31s tablet DTS files also had this setting. The setting causes
PMIC regulator registration to fail, and since among other things, mmc
depends on the regulators, the system will likely hang.

There seems to be a fix for this queued up for 4.7: commit 45389c47526d
("regulator: core: Add early supply resolution for regulators") in the
regulator "supply" topic branch. So we should be able to revert these
fixes in 4.7.


Regards
ChenYu


Chen-Yu Tsai (2):
  ARM: dts: sun6i: primo81: Drop constraints on dc1sw regulator
  ARM: dts: sun6i: yones-toptech-bs1078-v2: Drop constraints on dc1sw
    regulator

 arch/arm/boot/dts/sun6i-a31s-primo81.dts                 | 2 --
 arch/arm/boot/dts/sun6i-a31s-yones-toptech-bs1078-v2.dts | 2 --
 2 files changed, 4 deletions(-)

-- 
2.8.1

[toc] | [next] | [standalone]


#1398690 — [PATCH 2/2] ARM: dts: sun6i: yones-toptech-bs1078-v2: Drop constraints on dc1sw regulator

FromChen-Yu Tsai <wens@csie.org>
Date2016-05-11 07:30 +0200
Subject[PATCH 2/2] ARM: dts: sun6i: yones-toptech-bs1078-v2: Drop constraints on dc1sw regulator
Message-ID<rxuSB-1F1-9@gated-at.bofh.it>
In reply to#1398688
This is the same issue fixed in commit dcf5341f0150 ("ARM: dts:
sun8i-q8-common: Do not set constraints on dc1sw regulator").
Commit message copied:

dc1sw is an on/off only regulator and as such it cannot have constraints.

This is a limitation of the kernel regulator implementation which resolves
supplies on the first regulator_get(), which is done after applying
constraints, and applying the constrains will fail because it calls
_regulator_get_voltage() and _regulator_do_set_voltage() both of which
will fail on a switch regulator when there is no supply (yet).

This causes registering of all axp22x regulators to fail with the
following errors:

[    1.395249] vcc-lcd: failed to get the current voltage(-22)
[    1.405131] axp20x-regulator axp20x-regulator: Failed to register dc1sw
[    1.412436] axp20x-regulator: probe of axp20x-regulator failed with error -22

This commit removes the constrains on dc1sw / vcc-lcd fixing this problem.
Note that dcdc1 itself is contrained to the exact same values, so this
does not change anything.

Cc: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
 arch/arm/boot/dts/sun6i-a31s-yones-toptech-bs1078-v2.dts | 2 --
 1 file changed, 2 deletions(-)

diff --git a/arch/arm/boot/dts/sun6i-a31s-yones-toptech-bs1078-v2.dts b/arch/arm/boot/dts/sun6i-a31s-yones-toptech-bs1078-v2.dts
index 360adfb1e9ca..d6ad6196a768 100644
--- a/arch/arm/boot/dts/sun6i-a31s-yones-toptech-bs1078-v2.dts
+++ b/arch/arm/boot/dts/sun6i-a31s-yones-toptech-bs1078-v2.dts
@@ -135,8 +135,6 @@
 
 &reg_dc1sw {
 	regulator-name = "vcc-lcd-usb2";
-	regulator-min-microvolt = <3000000>;
-	regulator-max-microvolt = <3000000>;
 };
 
 &reg_dc5ldo {
-- 
2.8.1

[toc] | [prev] | [next] | [standalone]


#1398691 — [PATCH 1/2] ARM: dts: sun6i: primo81: Drop constraints on dc1sw regulator

FromChen-Yu Tsai <wens@csie.org>
Date2016-05-11 07:30 +0200
Subject[PATCH 1/2] ARM: dts: sun6i: primo81: Drop constraints on dc1sw regulator
Message-ID<rxuSC-1F1-15@gated-at.bofh.it>
In reply to#1398688
This is the same issue fixed in commit dcf5341f0150 ("ARM: dts:
sun8i-q8-common: Do not set constraints on dc1sw regulator").
Commit message copied:

dc1sw is an on/off only regulator and as such it cannot have constraints.

This is a limitation of the kernel regulator implementation which resolves
supplies on the first regulator_get(), which is done after applying
constraints, and applying the constrains will fail because it calls
_regulator_get_voltage() and _regulator_do_set_voltage() both of which
will fail on a switch regulator when there is no supply (yet).

This causes registering of all axp22x regulators to fail with the
following errors:

[    1.395249] vcc-lcd: failed to get the current voltage(-22)
[    1.405131] axp20x-regulator axp20x-regulator: Failed to register dc1sw
[    1.412436] axp20x-regulator: probe of axp20x-regulator failed with error -22

This commit removes the constrains on dc1sw / vcc-lcd fixing this problem.
Note that dcdc1 itself is contrained to the exact same values, so this
does not change anything.

Cc: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
 arch/arm/boot/dts/sun6i-a31s-primo81.dts | 2 --
 1 file changed, 2 deletions(-)

diff --git a/arch/arm/boot/dts/sun6i-a31s-primo81.dts b/arch/arm/boot/dts/sun6i-a31s-primo81.dts
index 68b479b8772c..73c133f5e79c 100644
--- a/arch/arm/boot/dts/sun6i-a31s-primo81.dts
+++ b/arch/arm/boot/dts/sun6i-a31s-primo81.dts
@@ -176,8 +176,6 @@
 };
 
 &reg_dc1sw {
-	regulator-min-microvolt = <3000000>;
-	regulator-max-microvolt = <3000000>;
 	regulator-name = "vcc-lcd";
 };
 
-- 
2.8.1

[toc] | [prev] | [next] | [standalone]


#1399035

FromMaxime Ripard <maxime.ripard@free-electrons.com>
Date2016-05-11 14:50 +0200
Message-ID<rxBKr-8nL-31@gated-at.bofh.it>
In reply to#1398688

[Multipart message — attachments visible in raw view] — view raw

On Wed, May 11, 2016 at 01:23:12PM +0800, Chen-Yu Tsai wrote:
> Hi Arnd, Olof,
> 
> Here are 2 last minute fixes for 4.6. The 2 patches drop constaints on
> the dc1sw regulator for 2 A31s tablets. I checked with Maxime and he said
> to send them directly to you.
> 
> The issue was first brought up and fixed for A23/A33 Q8 tablets in commit
> dcf5341f0150 ("ARM: dts: sun8i-q8-common: Do not set constraints on dc1sw
> regulator"). It was brought up again yesterday on IRC, and I realized that
> 2 sun6i A31s tablet DTS files also had this setting. The setting causes
> PMIC regulator registration to fail, and since among other things, mmc
> depends on the regulators, the system will likely hang.
> 
> There seems to be a fix for this queued up for 4.7: commit 45389c47526d
> ("regulator: core: Add early supply resolution for regulators") in the
> regulator "supply" topic branch. So we should be able to revert these
> fixes in 4.7.

Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>

For the two patches.

Thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web