| From fcc16c9c1f522975b1bd88afd87b6cbb1c3e93c0 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 30 Aug 2019 14:52:42 +0200 |
| Subject: ARM: dts: exynos: Mark LDO10 as always-on on Peach Pit/Pi Chromebooks |
| |
| From: Marek Szyprowski <m.szyprowski@samsung.com> |
| |
| [ Upstream commit 5b0eeeaa37615df37a9a30929b73e9defe61ca84 ] |
| |
| 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> |
| Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| arch/arm/boot/dts/exynos5420-peach-pit.dts | 1 + |
| arch/arm/boot/dts/exynos5800-peach-pi.dts | 1 + |
| 2 files changed, 2 insertions(+) |
| |
| diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts |
| index ec4a00f1ce01e..8b754ae8c8f7d 100644 |
| --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts |
| +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts |
| @@ -427,6 +427,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 01f466816fea7..1f90df2d7ecd8 100644 |
| --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts |
| +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts |
| @@ -427,6 +427,7 @@ |
| regulator-name = "vdd_ldo10"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| + regulator-always-on; |
| regulator-state-mem { |
| regulator-off-in-suspend; |
| }; |
| -- |
| 2.20.1 |
| |