Commit a067916d authored by Clément Péron's avatar Clément Péron Committed by Jernej Skrabec
Browse files

arm64: dts: allwinner: h6: Add cooling map for GPU



Add a simple cooling map for the GPU.

This cooling map come from the vendor kernel 4.9 with a
2°C hysteresis added.

Signed-off-by: default avatarClément Péron <peron.clem@gmail.com>
Acked-by: default avatarJernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: default avatarJernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20220906153034.153321-3-peron.clem@gmail.com
parent 5db5663c
Loading
Loading
Loading
Loading
+49 −2
Original line number Diff line number Diff line
@@ -186,6 +186,7 @@ gpu: gpu@1800000 {
			clocks = <&ccu CLK_GPU>, <&ccu CLK_BUS_GPU>;
			clock-names = "core", "bus";
			resets = <&ccu RST_BUS_GPU>;
			#cooling-cells = <2>;
			status = "disabled";
		};

@@ -1072,9 +1073,55 @@ map0 {
		};

		gpu-thermal {
			polling-delay-passive = <0>;
			polling-delay = <0>;
			polling-delay-passive = <1000>;
			polling-delay = <2000>;
			thermal-sensors = <&ths 1>;

			trips {
				gpu_alert0: gpu-alert-0 {
					temperature = <95000>;
					hysteresis = <2000>;
					type = "passive";
				};

				gpu_alert1: gpu-alert-1 {
					temperature = <100000>;
					hysteresis = <2000>;
					type = "passive";
				};

				gpu_alert2: gpu-alert-2 {
					temperature = <105000>;
					hysteresis = <2000>;
					type = "passive";
				};

				gpu-crit {
					temperature = <115000>;
					hysteresis = <0>;
					type = "critical";
				};
			};

			cooling-maps {
				// Forbid the GPU to go over 756MHz
				map0 {
					trip = <&gpu_alert0>;
					cooling-device = <&gpu 1 THERMAL_NO_LIMIT>;
				};

				// Forbid the GPU to go over 624MHz
				map1 {
					trip = <&gpu_alert1>;
					cooling-device = <&gpu 2 THERMAL_NO_LIMIT>;
				};

				// Forbid the GPU to go over 576MHz
				map2 {
					trip = <&gpu_alert2>;
					cooling-device = <&gpu 3 THERMAL_NO_LIMIT>;
				};
			};
		};
	};
};