summaryrefslogtreecommitdiff
path: root/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
diff options
context:
space:
mode:
authorMarek Szyprowski <m.szyprowski@samsung.com>2020-01-31 13:37:09 +0300
committerKrzysztof Kozlowski <krzk@kernel.org>2020-02-10 22:23:15 +0300
commitb9631bc2013479ca52c42d1f2cea9051abe9828e (patch)
tree286ff5e4896eaf9f93f0ad347aefab909eb7cb8f /arch/arm/boot/dts/exynos4412-odroid-common.dtsi
parentbb6d3fb354c5ee8d6bde2d576eb7220ea09862b9 (diff)
downloadlinux-b9631bc2013479ca52c42d1f2cea9051abe9828e.tar.xz
ARM: dts: exynos: Fix broken reboot on some Odroid U2/X2/U3 boards
The bootloader on Odroid U2/X2/U3 boards configures main ARM clock to 1GHz. During the system shutdown procedure Linux kernel selects so called 'suspend-opp' for the CPU cores, what means that ARM clock is set to 800MHz and the CPU supply voltage is adjusted to that value. PMIC configuration is preserved during the board reboot. Later when the bootloader tries to enter the 1GHz mode, the voltage value configured by the kernel might be not high enough for the CPU to operate stable. This depends on the individual physical properties of each SoC (usually it is related to the production series) and varies between the boards. Typically most of the Odroid U3 boards work fine, while most of the U2 and X2 hangs during the reboot. This commit switches suspend-opp to 1GHz for the Odroid U2/X2/U3 boards, what finally fixes this issue. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Tested-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Diffstat (limited to 'arch/arm/boot/dts/exynos4412-odroid-common.dtsi')
-rw-r--r--arch/arm/boot/dts/exynos4412-odroid-common.dtsi9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
index 9c39e82e4ecb..73d6a71da88d 100644
--- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
+++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
@@ -165,6 +165,15 @@
cpu0-supply = <&buck2_reg>;
};
+&cpu0_opp_table {
+ opp-1000000000 {
+ opp-suspend;
+ };
+ opp-800000000 {
+ /delete-property/opp-suspend;
+ };
+};
+
&pinctrl_1 {
gpio_power_key: power_key {
samsung,pins = "gpx1-3";