ARM: dts: exynos: Mark LDO10 as always-on on Peach Pit/Pi Chromebooks

Message ID 20190830125242.10008-1-m.szyprowski@samsung.com
State New
Headers show
Series
  • ARM: dts: exynos: Mark LDO10 as always-on on Peach Pit/Pi Chromebooks
Related show

Commit Message

Marek Szyprowski Aug. 30, 2019, 12:52 p.m.
Commit aff138bf8e37 ("ARM: dts: exynos: Add TMU nodes regulator supply for
Peach boards") assigned LDO10 to Exynos Thermal Measurement Unit, but it
turned out that it supplies also some other critical parts and board
freezes/crashes when it is turned off.

The mentioned commit made Exynos TMU a consumer of that regulator and in
typical case Exynos TMU driver keeps it enabled from early boot. However
there are such configurations (example is multi_v7_defconfig), in which
some of the regulators are compiled as modules and are not available from
early boot. In such case it may happen that LDO10 is turned off by
regulator core, because it has no consumers yet (in this case consumer
drivers cannot get it, because the supply regulators for it are not yet
available). This in turn causes the board to crash. This patch restores
'always-on' property for the LDO10 regulator.

Fixes: aff138bf8e37 ("ARM: dts: exynos: Add TMU nodes regulator supply for Peach boards")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>

---
 arch/arm/boot/dts/exynos5420-peach-pit.dts | 1 +
 arch/arm/boot/dts/exynos5800-peach-pi.dts  | 1 +
 2 files changed, 2 insertions(+)

-- 
2.17.1

Comments

Krzysztof Kozlowski Sept. 2, 2019, 3:12 p.m. | #1
On Fri, Aug 30, 2019 at 02:52:42PM +0200, Marek Szyprowski wrote:
> Commit aff138bf8e37 ("ARM: dts: exynos: Add TMU nodes regulator supply for

> Peach boards") assigned LDO10 to Exynos Thermal Measurement Unit, but it

> turned out that it supplies also some other critical parts and board

> freezes/crashes when it is turned off.

> 

> The mentioned commit made Exynos TMU a consumer of that regulator and in

> typical case Exynos TMU driver keeps it enabled from early boot. However

> there are such configurations (example is multi_v7_defconfig), in which

> some of the regulators are compiled as modules and are not available from

> early boot. In such case it may happen that LDO10 is turned off by

> regulator core, because it has no consumers yet (in this case consumer

> drivers cannot get it, because the supply regulators for it are not yet

> available). This in turn causes the board to crash. This patch restores

> 'always-on' property for the LDO10 regulator.

> 

> Fixes: aff138bf8e37 ("ARM: dts: exynos: Add TMU nodes regulator supply for Peach boards")

> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>

> ---

>  arch/arm/boot/dts/exynos5420-peach-pit.dts | 1 +

>  arch/arm/boot/dts/exynos5800-peach-pi.dts  | 1 +


Thanks, applied.

Best regards,
Krzysztof

Patch

diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts
index 77e08a4c7300..2bcbdf8a39bf 100644
--- a/arch/arm/boot/dts/exynos5420-peach-pit.dts
+++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts
@@ -440,6 +440,7 @@ 
 				regulator-name = "vdd_ldo10";
 				regulator-min-microvolt = <1800000>;
 				regulator-max-microvolt = <1800000>;
+				regulator-always-on;
 				regulator-state-mem {
 					regulator-off-in-suspend;
 				};
diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts
index 5e8cec736444..60ca3d685247 100644
--- a/arch/arm/boot/dts/exynos5800-peach-pi.dts
+++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts
@@ -440,6 +440,7 @@ 
 				regulator-name = "vdd_ldo10";
 				regulator-min-microvolt = <1800000>;
 				regulator-max-microvolt = <1800000>;
+				regulator-always-on;
 				regulator-state-mem {
 					regulator-off-in-suspend;
 				};