arm64: dts: amlogic: ad402: setup thermal-zones
authorDmitry Rokosov <ddrokosov@salutedevices.com>
Thu, 28 Mar 2024 19:26:37 +0000 (22:26 +0300)
committerNeil Armstrong <neil.armstrong@linaro.org>
Mon, 27 May 2024 13:42:33 +0000 (15:42 +0200)
There is one thermal zone with 3 trip points: soc_passive, soc_hot, and
soc_critical, as well as two cooling maps.

Signed-off-by: Dmitry Rokosov <ddrokosov@salutedevices.com>
Link: https://lore.kernel.org/r/20240328192645.20914-4-ddrokosov@salutedevices.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
arch/arm64/boot/dts/amlogic/meson-a1-ad402.dts

index 4bc30af0584875d8961b3ae8bde280e375e92322..c8579b6e67cf9aa7a8d2e4a1adb268cda06f2562 100644 (file)
@@ -7,6 +7,7 @@
 /dts-v1/;
 
 #include "meson-a1.dtsi"
+#include <dt-bindings/thermal/thermal.h>
 
 / {
        compatible = "amlogic,ad402", "amlogic,a1";
                spi-tx-bus-width = <4>;
                spi-rx-bus-width = <4>;
        };
+
+       thermal-zones {
+               soc_thermal: soc_thermal {
+                       polling-delay = <1000>;
+                       polling-delay-passive = <100>;
+                       sustainable-power = <130>;
+
+                       thermal-sensors = <&cpu_temp>;
+
+                       trips {
+                               soc_passive: soc-passive {
+                                       temperature = <70000>;
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+
+                               soc_hot: soc-hot {
+                                       temperature = <85000>;
+                                       hysteresis = <5000>;
+                                       type = "hot";
+                               };
+
+                               soc_critical: soc-critical {
+                                       temperature = <110000>;
+                                       hysteresis = <1000>;
+                                       type = "critical";
+                               };
+                       };
+
+                       soc_cooling_maps: cooling-maps {
+                               map0 {
+                                       trip = <&soc_passive>;
+                                       cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                                        <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                               };
+
+                               map1 {
+                                       trip = <&soc_hot>;
+                                       cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                                        <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                               };
+                       };
+               };
+       };
 };
 
 &usb2_phy1 {