]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
arm64: dts: ti: k3-am62p-j722s: Enable freq throttling on thermal alert
authorJoão Paulo Gonçalves <joao.goncalves@toradex.com>
Mon, 23 Jun 2025 16:12:26 +0000 (13:12 -0300)
committerVignesh Raghavendra <vigneshr@ti.com>
Wed, 9 Jul 2025 10:38:24 +0000 (16:08 +0530)
Enable throttling down the CPU frequency when an alert temperature
threshold is reached before the critical temperature for shutdown.

Signed-off-by: João Paulo Gonçalves <joao.goncalves@toradex.com>
Link: https://lore.kernel.org/r/20250623-b4-verdin-am62p-cooling-device-v1-1-cc185ba5843d@toradex.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
arch/arm64/boot/dts/ti/k3-am62p-j722s-common-thermal.dtsi
arch/arm64/boot/dts/ti/k3-am62p5.dtsi
arch/arm64/boot/dts/ti/k3-j722s.dtsi

index c7486fb2a5b45cfa2bd7798eb4746ad2af8c390a..138b9c395be4bf7bd6c1941d752871af8cc9b1b6 100644 (file)
@@ -12,12 +12,29 @@ thermal_zones: thermal-zones {
                thermal-sensors = <&wkup_vtm0 0>;
 
                trips {
+                       main0_alert: main0-alert {
+                               temperature = <115000>;
+                               hysteresis = <2000>;
+                               type = "passive";
+                       };
+
                        main0_crit: main0-crit {
                                temperature = <125000>; /* milliCelsius */
                                hysteresis = <2000>;    /* milliCelsius */
                                type = "critical";
                        };
                };
+
+               cooling-maps {
+                       map0 {
+                               trip = <&main0_alert>;
+                               cooling-device =
+                                       <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                       <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                       <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                       <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                       };
+               };
        };
 
        main1_thermal: main1-thermal {
@@ -26,12 +43,29 @@ thermal_zones: thermal-zones {
                thermal-sensors = <&wkup_vtm0 1>;
 
                trips {
+                       main1_alert: main1-alert {
+                               temperature = <115000>;
+                               hysteresis = <2000>;
+                               type = "passive";
+                       };
+
                        main1_crit: main1-crit {
                                temperature = <125000>; /* milliCelsius */
                                hysteresis = <2000>;    /* milliCelsius */
                                type = "critical";
                        };
                };
+
+               cooling-maps {
+                       map0 {
+                               trip = <&main1_alert>;
+                               cooling-device =
+                                       <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                       <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                       <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                       <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                       };
+               };
        };
 
        main2_thermal: main2-thermal {
@@ -40,11 +74,28 @@ thermal_zones: thermal-zones {
               thermal-sensors = <&wkup_vtm0 2>;
 
                trips {
+                       main2_alert: main2-alert {
+                               temperature = <115000>;
+                               hysteresis = <2000>;
+                               type = "passive";
+                       };
+
                        main2_crit: main2-crit {
                                temperature = <125000>; /* milliCelsius */
                                hysteresis = <2000>;    /* milliCelsius */
                                type = "critical";
                        };
                };
+
+               cooling-maps {
+                       map0 {
+                               trip = <&main2_alert>;
+                               cooling-device =
+                                       <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                       <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                       <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                       <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                       };
+               };
        };
 };
index 140587d02e88e9d391c41001643ec715d41bf262..202378d9d5cfdc8eced935117398bcf859088d1b 100644 (file)
@@ -49,6 +49,7 @@
                        next-level-cache = <&l2_0>;
                        operating-points-v2 = <&a53_opp_table>;
                        clocks = <&k3_clks 135 0>;
+                       #cooling-cells = <2>;
                };
 
                cpu1: cpu@1 {
@@ -65,6 +66,7 @@
                        next-level-cache = <&l2_0>;
                        operating-points-v2 = <&a53_opp_table>;
                        clocks = <&k3_clks 136 0>;
+                       #cooling-cells = <2>;
                };
 
                cpu2: cpu@2 {
@@ -81,6 +83,7 @@
                        next-level-cache = <&l2_0>;
                        operating-points-v2 = <&a53_opp_table>;
                        clocks = <&k3_clks 137 0>;
+                       #cooling-cells = <2>;
                };
 
                cpu3: cpu@3 {
                        next-level-cache = <&l2_0>;
                        operating-points-v2 = <&a53_opp_table>;
                        clocks = <&k3_clks 138 0>;
+                       #cooling-cells = <2>;
                };
        };
 
index 14c6c6a332ef2f118e483744e97222865560e6ac..cdc8570e54b29d068aab4e2788a8b36dfa539cfa 100644 (file)
@@ -56,6 +56,7 @@
                        d-cache-sets = <128>;
                        next-level-cache = <&l2_0>;
                        clocks = <&k3_clks 135 0>;
+                       #cooling-cells = <2>;
                };
 
                cpu1: cpu@1 {
@@ -71,6 +72,7 @@
                        d-cache-sets = <128>;
                        next-level-cache = <&l2_0>;
                        clocks = <&k3_clks 136 0>;
+                       #cooling-cells = <2>;
                };
 
                cpu2: cpu@2 {
@@ -86,6 +88,7 @@
                        d-cache-sets = <128>;
                        next-level-cache = <&l2_0>;
                        clocks = <&k3_clks 137 0>;
+                       #cooling-cells = <2>;
                };
 
                cpu3: cpu@3 {
                        d-cache-sets = <128>;
                        next-level-cache = <&l2_0>;
                        clocks = <&k3_clks 138 0>;
+                       #cooling-cells = <2>;
                };
        };