Commit 12045a7a authored by Claudiu Beznea's avatar Claudiu Beznea
Browse files

ARM: dts: at91: sama7g5: add thermal zones node



Add thermal zones node with its associated trips and cooling-maps.
It uses CPUFreq as cooling device for temperatures in the interval
[90, 100) degrees Celsius and describe the temperature of 100 degrees
Celsius as critical temperature. System will be is shutting down when
reaching critical temperature.

Signed-off-by: default avatarClaudiu Beznea <claudiu.beznea@microchip.com>
Link: https://lore.kernel.org/r/20221026124114.985876-7-claudiu.beznea@microchip.com
parent 65d88152
Loading
Loading
Loading
Loading
+42 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/mfd/at91-usart.h>
#include <dt-bindings/nvmem/microchip,sama7g5-otpc.h>
#include <dt-bindings/thermal/thermal.h>

/ {
	model = "Microchip SAMA7G5 family SoC";
@@ -36,6 +37,7 @@ cpu0: cpu@0 {
			clocks = <&pmc PMC_TYPE_CORE PMC_CPUPLL>;
			clock-names = "cpu";
			operating-points-v2 = <&cpu_opp_table>;
			#cooling-cells = <2>; /* min followed by max */
		};
	};

@@ -74,6 +76,46 @@ opp-1000000002 {
		};
	};

	thermal-zones {
		cpu_thermal: cpu-thermal {
			polling-delay-passive = <1000>;
			polling-delay = <5000>;
			thermal-sensors = <&thermal_sensor>;

			trips {
				cpu_normal: cpu-alert0 {
					temperature = <90000>;
					hysteresis = <0>;
					type = "passive";
				};

				cpu_hot: cpu-alert1 {
					temperature = <95000>;
					hysteresis = <0>;
					type = "passive";
				};

				cpu_critical: cpu-critical {
					temperature = <100000>;
					hysteresis = <0>;
					type = "critical";
				};
			};

			cooling-maps {
				map0 {
					trip = <&cpu_normal>;
					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
				};

				map1 {
					trip = <&cpu_hot>;
					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
				};
			};
		};
	};

	clocks {
		slow_xtal: slow_xtal {
			compatible = "fixed-clock";