Skip to contentSkip to conversation

ARM: dts: exynos: Move syscon poweroff and restart nodes under the PMU

PATCH In review Krzysztof Kozlowski 1 participant 4 messages Apr 16, 2018

Subsystems (2)
lore
Share & tools
lore

Krzysztof Kozlowski

author maintainer
#0 lore raw

PATCH v3 1/2 ARM: dts: exynos: Move syscon poweroff and restart nodes under the PMU

The PMU node is the actual block responsible for power management, including typical Exynos on/off/restart procedures. Therefore the syscon poweroff and restart nodes logically belong to it.

---

Previously was "Fix missing missing reg warning for syscon restart nodes" to fix DTC warnings like:

arch/arm/boot/dts/exynos4412-trats2.dtb: Warning (simple_bus_reg):
Node /soc/syscon-poweroff missing or empty reg/ranges property
arch/arm/boot/dts/exynos4412-trats2.dtb: Warning (simple_bus_reg):
Node /soc/syscon-reboot missing or empty reg/ranges property

but this warnings are gone in v4.17-rc1 since 9130ba884640 ("scripts/dtc: Update to upstream version v1.4.6-9-gaadd0b65c987")

---
 arch/arm/boot/dts/exynos-syscon-restart.dtsi | 28 ++++++++++++----------------
 arch/arm/boot/dts/exynos3250.dtsi            |  2 +-
 arch/arm/boot/dts/exynos4.dtsi               |  3 ++-
 arch/arm/boot/dts/exynos5.dtsi               |  1 -
 arch/arm/boot/dts/exynos5250.dtsi            |  1 +
 arch/arm/boot/dts/exynos5410.dtsi            |  1 +
 arch/arm/boot/dts/exynos5420.dtsi            |  1 +
 7 files changed, 18 insertions(+), 19 deletions(-)
arch/arm/boot/dts/exynos-syscon-restart.dtsi +12 -16
index 4b3dd0549a54..ecf416690a15 100644
@@ -3,22 +3,18 @@
  * Samsung's Exynos SoC syscon reboot/poweroff nodes common definition.
  */
 
-/ {
-	soc {
-		compatible = "simple-bus";
-
-		poweroff: syscon-poweroff {
-			compatible = "syscon-poweroff";
-			regmap = <&pmu_system_controller>;
-			offset = <0x330C>; /* PS_HOLD_CONTROL */
-			mask = <0x5200>; /* reset value */
-		};
+&pmu_system_controller {
+	poweroff: syscon-poweroff {
+		compatible = "syscon-poweroff";
+		regmap = <&pmu_system_controller>;
+		offset = <0x330C>; /* PS_HOLD_CONTROL */
+		mask = <0x5200>; /* reset value */
+	};
 
-		reboot: syscon-reboot {
-			compatible = "syscon-reboot";
-			regmap = <&pmu_system_controller>;
-			offset = <0x0400>; /* SWRESET */
-			mask = <0x1>;
-		};
+	reboot: syscon-reboot {
+		compatible = "syscon-reboot";
+		regmap = <&pmu_system_controller>;
+		offset = <0x0400>; /* SWRESET */
+		mask = <0x1>;
 	};
 };
arch/arm/boot/dts/exynos3250.dtsi +1 -1
index 0a5f989d963b..962af97c1883 100644
@@ -15,7 +15,6 @@
  */
 
 #include "exynos4-cpu-thermal.dtsi"
-#include "exynos-syscon-restart.dtsi"
 #include <dt-bindings/clock/exynos3250.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/interrupt-controller/irq.h>
@@ -919,3 +918,4 @@
 };
 
 #include "exynos3250-pinctrl.dtsi"
+#include "exynos-syscon-restart.dtsi"
arch/arm/boot/dts/exynos4.dtsi +2 -1
index 909a9f2bf5be..dfe41b698745 100644
@@ -20,7 +20,6 @@
 #include <dt-bindings/clock/exynos-audss-clk.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/interrupt-controller/irq.h>
-#include "exynos-syscon-restart.dtsi"
 
 / {
 	interrupt-parent = <&gic>;
@@ -1025,3 +1024,5 @@
 		};
 	};
 };
+
+#include "exynos-syscon-restart.dtsi"
arch/arm/boot/dts/exynos5.dtsi +0 -1
index f8d7de1144f1..359f49bdd4e2 100644
@@ -12,7 +12,6 @@
 
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/interrupt-controller/irq.h>
-#include "exynos-syscon-restart.dtsi"
 
 / {
 	interrupt-parent = <&gic>;
arch/arm/boot/dts/exynos5250.dtsi +1 -0
index 45283a6c5eee..85bfa8909af3 100644
@@ -1117,3 +1117,4 @@
 };
 
 #include "exynos5250-pinctrl.dtsi"
+#include "exynos-syscon-restart.dtsi"
arch/arm/boot/dts/exynos5410.dtsi +1 -0
index 55509c690328..20e789ea136f 100644
@@ -439,3 +439,4 @@
 };
 
 #include "exynos5410-pinctrl.dtsi"
+#include "exynos-syscon-restart.dtsi"
arch/arm/boot/dts/exynos5420.dtsi +1 -0
index 2f3cb2a97f71..71e2b154a244 100644
@@ -1531,3 +1531,4 @@
 };
 
 #include "exynos5420-pinctrl.dtsi"
+#include "exynos-syscon-restart.dtsi"
Signature · 1 line
2.14.1
author maintainer
#1 lore raw

PATCH v3 2/2 arm64: dts: exynos: Move syscon poweroff and restart nodes under the PMU

The PMU node is the actual block responsible for power management, including typical Exynos on/off/restart procedures. Therefore the syscon poweroff and restart nodes logically belong to it.

---

Previously was "Fix missing missing reg warning for syscon restart nodes" to fix DTC warnings like:

arch/arm64/boot/dts/exynos/exynos7-espresso.dtb: Warning (simple_bus_reg):
Node /soc/syscon-reboot missing or empty reg/ranges property

but this warnings are gone in v4.17-rc1 since 9130ba884640 ("scripts/dtc: Update to upstream version v1.4.6-9-gaadd0b65c987")

---
 arch/arm64/boot/dts/exynos/exynos5433.dtsi | 14 +++++++-------
 arch/arm64/boot/dts/exynos/exynos7.dtsi    | 12 ++++++------
 2 files changed, 13 insertions(+), 13 deletions(-)
arch/arm64/boot/dts/exynos/exynos5433.dtsi +7 -7
index c0231d077fa6..01e49159dd91 100644
@@ -231,13 +231,6 @@
 		cpu_on = <0xC4000003>;
 	};
 
-	reboot: syscon-reboot {
-		compatible = "syscon-reboot";
-		regmap = <&pmu_system_controller>;
-		offset = <0x400>; /* SWRESET */
-		mask = <0x1>;
-	};
-
 	soc: soc {
 		compatible = "simple-bus";
 		#address-cells = <1>;
@@ -799,6 +792,13 @@
 			#clock-cells = <1>;
 			clock-names = "clkout16";
 			clocks = <&xxti>;
+
+			reboot: syscon-reboot {
+				compatible = "syscon-reboot";
+				regmap = <&pmu_system_controller>;
+				offset = <0x400>; /* SWRESET */
+				mask = <0x1>;
+			};
 		};
 
 		gic: interrupt-controller at 11001000 {
arch/arm64/boot/dts/exynos/exynos7.dtsi +6 -6
index ad9dce6894ce..0b98d2334cad 100644
@@ -494,13 +494,13 @@
 		pmu_system_controller: system-controller at 105c0000 {
 			compatible = "samsung,exynos7-pmu", "syscon";
 			reg = <0x105c0000 0x5000>;
-		};
 
-		reboot: syscon-reboot {
-			compatible = "syscon-reboot";
-			regmap = <&pmu_system_controller>;
-			offset = <0x0400>;
-			mask = <0x1>;
+			reboot: syscon-reboot {
+				compatible = "syscon-reboot";
+				regmap = <&pmu_system_controller>;
+				offset = <0x0400>;
+				mask = <0x1>;
+			};
 		};
 
 		rtc: rtc at 10590000 {
Signature · 1 line
2.14.1
author maintainer Tested-by Marek Szyprowski on v3 2/2
#2 lore raw

Re: [PATCH v3 2/2] arm64: dts: exynos: Move syscon poweroff and restart nodes under the PMU

Quoted 14 lines · Krzysztof Kozlowski

The PMU node is the actual block responsible for power management, including typical Exynos on/off/restart procedures. Therefore the syscon poweroff and restart nodes logically belong to it.

---

Previously was "Fix missing missing reg warning for syscon restart nodes" to fix DTC warnings like:

arch/arm64/boot/dts/exynos/exynos7-espresso.dtb: Warning (simple_bus_reg):
Node /soc/syscon-reboot missing or empty reg/ranges property

Quoted 6 lines

but this warnings are gone in v4.17-rc1 since 9130ba884640 ("scripts/dtc: Update to upstream version v1.4.6-9-gaadd0b65c987")

---
 arch/arm64/boot/dts/exynos/exynos5433.dtsi | 14 +++++++-------
 arch/arm64/boot/dts/exynos/exynos7.dtsi    | 12 ++++++------
 2 files changed, 13 insertions(+), 13 deletions(-)

I forgot to include Marek's tested-by tag (given previously):

Best regards,
Krzysztof

author maintainer Tested-by Marek Szyprowski on v3 1/2
#3 lore raw
In reply to Krzysztof Kozlowski
Quoted 18 lines · Krzysztof Kozlowski

The PMU node is the actual block responsible for power management, including typical Exynos on/off/restart procedures. Therefore the syscon poweroff and restart nodes logically belong to it.

---

Previously was "Fix missing missing reg warning for syscon restart nodes" to fix DTC warnings like:

arch/arm/boot/dts/exynos4412-trats2.dtb: Warning (simple_bus_reg):
Node /soc/syscon-poweroff missing or empty reg/ranges property
arch/arm/boot/dts/exynos4412-trats2.dtb: Warning (simple_bus_reg):
Node /soc/syscon-reboot missing or empty reg/ranges property

but this warnings are gone in v4.17-rc1 since 9130ba884640 ("scripts/dtc: Update to upstream version v1.4.6-9-gaadd0b65c987")

Quoted 9 lines
---
 arch/arm/boot/dts/exynos-syscon-restart.dtsi | 28 ++++++++++++----------------
 arch/arm/boot/dts/exynos3250.dtsi            |  2 +-
 arch/arm/boot/dts/exynos4.dtsi               |  3 ++-
 arch/arm/boot/dts/exynos5.dtsi               |  1 -
 arch/arm/boot/dts/exynos5250.dtsi            |  1 +
 arch/arm/boot/dts/exynos5410.dtsi            |  1 +
 arch/arm/boot/dts/exynos5420.dtsi            |  1 +
 7 files changed, 18 insertions(+), 19 deletions(-)

I forgot to include Marek's tested-by tag (given previously):

Best regards,
Krzysztof