arm64: dts: ti: k3-am62-wakeup: add VTM node
authorBryan Brattlof <bb@ti.com>
Wed, 5 Apr 2023 21:53:23 +0000 (16:53 -0500)
committerVignesh Raghavendra <vigneshr@ti.com>
Wed, 14 Jun 2023 16:11:32 +0000 (21:41 +0530)
The am62x supports a single Voltage and Thermal Management (VTM) module
located in the wakeup domain with two associated temperature monitors
located in hot spots of the die.

Signed-off-by: Bryan Brattlof <bb@ti.com>
Link: https://lore.kernel.org/r/20230405215328.3755561-3-bb@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
arch/arm64/boot/dts/ti/k3-am62-thermal.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
arch/arm64/boot/dts/ti/k3-am62.dtsi

diff --git a/arch/arm64/boot/dts/ti/k3-am62-thermal.dtsi b/arch/arm64/boot/dts/ti/k3-am62-thermal.dtsi
new file mode 100644 (file)
index 0000000..a358757
--- /dev/null
@@ -0,0 +1,33 @@
+// SPDX-License-Identifier: GPL-2.0
+
+#include <dt-bindings/thermal/thermal.h>
+
+thermal_zones: thermal-zones {
+       main0_thermal: main0-thermal {
+               polling-delay-passive = <250>;  /* milliSeconds */
+               polling-delay = <500>;          /* milliSeconds */
+               thermal-sensors = <&wkup_vtm0 0>;
+
+               trips {
+                       main0_crit: main0-crit {
+                               temperature = <105000>; /* milliCelsius */
+                               hysteresis = <2000>;    /* milliCelsius */
+                               type = "critical";
+                       };
+               };
+       };
+
+       main1_thermal: main1-thermal {
+               polling-delay-passive = <250>;  /* milliSeconds */
+               polling-delay = <500>;          /* milliSeconds */
+               thermal-sensors = <&wkup_vtm0 1>;
+
+               trips {
+                       main1_crit: main1-crit {
+                               temperature = <105000>; /* milliCelsius */
+                               hysteresis = <2000>;    /* milliCelsius */
+                               type = "critical";
+                       };
+               };
+       };
+};
index 7726ebae25394ffa70ace837dc328bba83b7ee23..eae0528871862852aa19670fb6f1ccde5e334f56 100644 (file)
                /* Used by DM firmware */
                status = "reserved";
        };
+
+       wkup_vtm0: temperature-sensor@b00000 {
+               compatible = "ti,j7200-vtm";
+               reg = <0x00 0xb00000 0x00 0x400>,
+                     <0x00 0xb01000 0x00 0x400>;
+               power-domains = <&k3_pds 95 TI_SCI_PD_EXCLUSIVE>;
+               #thermal-sensor-cells = <1>;
+       };
 };
index a401f5225243930d141de80413a6530341ddd03c..5e72c445f37a9613b81de6ca4ad54b6b66e5f0c8 100644 (file)
@@ -81,6 +81,7 @@
                         <0x00 0x04000000 0x00 0x04000000 0x00 0x01ff1400>,
 
                         /* Wakeup Domain Range */
+                        <0x00 0x00b00000 0x00 0x00b00000 0x00 0x00002400>, /* VTM */
                         <0x00 0x2b000000 0x00 0x2b000000 0x00 0x00300400>,
                         <0x00 0x43000000 0x00 0x43000000 0x00 0x00020000>;
 
                        ranges = <0x00 0x04000000 0x00 0x04000000 0x00 0x01ff1400>; /* Peripheral window */
                };
 
-               cbass_wakeup: bus@2b000000 {
+               cbass_wakeup: bus@b00000 {
                        compatible = "simple-bus";
                        #address-cells = <2>;
                        #size-cells = <2>;
-                       ranges = <0x00 0x2b000000 0x00 0x2b000000 0x00 0x00300400>, /* Peripheral Window */
+                       ranges = <0x00 0x00b00000 0x00 0x00b00000 0x00 0x00002400>, /* VTM */
+                                <0x00 0x2b000000 0x00 0x2b000000 0x00 0x00300400>, /* Peripheral Window */
                                 <0x00 0x43000000 0x00 0x43000000 0x00 0x00020000>;
                };
        };
+
+       #include "k3-am62-thermal.dtsi"
 };
 
 /* Now include the peripherals for each bus segments */