]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
dt-binding: thermal: Convert marvell,armada-ap806-thermal to DT schema
authorRob Herring (Arm) <robh@kernel.org>
Fri, 22 Aug 2025 22:57:00 +0000 (17:57 -0500)
committerRob Herring (Arm) <robh@kernel.org>
Fri, 19 Sep 2025 17:29:29 +0000 (12:29 -0500)
Convert the Marvell Armada AP80x/CP110 thermal binding to schema. It is
a straight forward conversion.

Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/r/20250822225701.766947-1-robh@kernel.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Documentation/devicetree/bindings/arm/marvell/ap80x-system-controller.txt
Documentation/devicetree/bindings/arm/marvell/cp110-system-controller.txt
Documentation/devicetree/bindings/thermal/marvell,armada-ap806-thermal.yaml [new file with mode: 0644]

index c83245065d445c54c7b2ef58b7d7df9512c24c34..72de11bd2ef02eaf08d770c51e1c83feddad6c6a 100644 (file)
@@ -115,45 +115,6 @@ ap_syscon: system-controller@6f4000 {
 SYSTEM CONTROLLER 1
 ===================
 
-Thermal:
---------
-
-For common binding part and usage, refer to
-Documentation/devicetree/bindings/thermal/thermal*.yaml
-
-The thermal IP can probe the temperature all around the processor. It
-may feature several channels, each of them wired to one sensor.
-
-It is possible to setup an overheat interrupt by giving at least one
-critical point to any subnode of the thermal-zone node.
-
-Required properties:
-- compatible: must be one of:
-  * marvell,armada-ap806-thermal
-- reg: register range associated with the thermal functions.
-
-Optional properties:
-- interrupts: overheat interrupt handle. Should point to line 18 of the
-  SEI irqchip. See interrupt-controller/interrupts.txt
-- #thermal-sensor-cells: shall be <1> when thermal-zones subnodes refer
-  to this IP and represents the channel ID. There is one sensor per
-  channel. O refers to the thermal IP internal channel, while positive
-  IDs refer to each CPU.
-
-Example:
-ap_syscon1: system-controller@6f8000 {
-       compatible = "syscon", "simple-mfd";
-       reg = <0x6f8000 0x1000>;
-
-       ap_thermal: thermal-sensor@80 {
-               compatible = "marvell,armada-ap806-thermal";
-               reg = <0x80 0x10>;
-               interrupt-parent = <&sei>;
-               interrupts = <18>;
-               #thermal-sensor-cells = <1>;
-       };
-};
-
 Cluster clocks:
 ---------------
 
index 9d5d70c98058af9314b1706bcf8625a7829dd0da..54ff9f2183286336b4c1513d5dfff070b64d1aca 100644 (file)
@@ -189,46 +189,3 @@ CP110_LABEL(syscon0): system-controller@440000 {
        };
 
 };
-
-SYSTEM CONTROLLER 1
-===================
-
-Thermal:
---------
-
-The thermal IP can probe the temperature all around the processor. It
-may feature several channels, each of them wired to one sensor.
-
-It is possible to setup an overheat interrupt by giving at least one
-critical point to any subnode of the thermal-zone node.
-
-For common binding part and usage, refer to
-Documentation/devicetree/bindings/thermal/thermal*.yaml
-
-Required properties:
-- compatible: must be one of:
-  * marvell,armada-cp110-thermal
-- reg: register range associated with the thermal functions.
-
-Optional properties:
-- interrupts-extended: overheat interrupt handle. Should point to
-  a line of the ICU-SEI irqchip (116 is what is usually used by the
-  firmware). The ICU-SEI will redirect towards interrupt line #37 of the
-  AP SEI which is shared across all CPs.
-  See interrupt-controller/interrupts.txt
-- #thermal-sensor-cells: shall be <1> when thermal-zones subnodes refer
-  to this IP and represents the channel ID. There is one sensor per
-  channel. O refers to the thermal IP internal channel.
-
-Example:
-CP110_LABEL(syscon1): system-controller@6f8000 {
-       compatible = "syscon", "simple-mfd";
-       reg = <0x6f8000 0x1000>;
-
-       CP110_LABEL(thermal): thermal-sensor@70 {
-               compatible = "marvell,armada-cp110-thermal";
-               reg = <0x70 0x10>;
-               interrupts-extended = <&CP110_LABEL(icu_sei) 116 IRQ_TYPE_LEVEL_HIGH>;
-               #thermal-sensor-cells = <1>;
-       };
-};
diff --git a/Documentation/devicetree/bindings/thermal/marvell,armada-ap806-thermal.yaml b/Documentation/devicetree/bindings/thermal/marvell,armada-ap806-thermal.yaml
new file mode 100644 (file)
index 0000000..2c37031
--- /dev/null
@@ -0,0 +1,46 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/thermal/marvell,armada-ap806-thermal.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Marvell Armada AP80x/CP110 thermal management
+
+maintainers:
+  - Miquel Raynal <miquel.raynal@bootlin.com>
+
+properties:
+  compatible:
+    enum:
+      - marvell,armada-ap806-thermal
+      - marvell,armada-ap807-thermal
+      - marvell,armada-cp110-thermal
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    description:
+      Overheat interrupt. The interrupt is connected thru a System Error
+      Interrupt (SEI) controller.
+    maxItems: 1
+
+  '#thermal-sensor-cells':
+    description: Cell represents the channel ID. There is one sensor per
+      channel. O refers to the thermal IP internal channel.
+    const: 1
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    thermal-sensor@80 {
+        compatible = "marvell,armada-ap806-thermal";
+        reg = <0x80 0x10>;
+        interrupts = <18>;
+        #thermal-sensor-cells = <1>;
+    };