summaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
authorMaxime Ripard <maxime.ripard@free-electrons.com>2017-04-05 11:06:33 +0200
committerMaxime Ripard <maxime.ripard@free-electrons.com>2017-04-05 14:11:19 +0200
commite846011ee2ab1e3b364d66eb17a1650bf2760849 (patch)
tree7cfd503797597e70b8a79057220dd07270c4d95b /arch/arm
parenta5ce7a3d44a2e0d88dfe2b870331ec7c5c2d3080 (diff)
downloadlinux-rt-e846011ee2ab1e3b364d66eb17a1650bf2760849.tar.gz
ARM: sun8i: a33: Add devfreq-based GPU cooling
This adds GPU thermal throttling for the Allwinner A33. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/boot/dts/sun8i-a23-a33.dtsi1
-rw-r--r--arch/arm/boot/dts/sun8i-a33.dtsi24
2 files changed, 25 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/sun8i-a23-a33.dtsi b/arch/arm/boot/dts/sun8i-a23-a33.dtsi
index e26110e15689..bd28f75b9579 100644
--- a/arch/arm/boot/dts/sun8i-a23-a33.dtsi
+++ b/arch/arm/boot/dts/sun8i-a23-a33.dtsi
@@ -492,6 +492,7 @@
clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>;
clock-names = "bus", "core";
resets = <&ccu RST_BUS_GPU>;
+ #cooling-cells = <2>;
assigned-clocks = <&ccu CLK_GPU>;
assigned-clock-rates = <408000000>;
diff --git a/arch/arm/boot/dts/sun8i-a33.dtsi b/arch/arm/boot/dts/sun8i-a33.dtsi
index 2bf36d86a00f..eeba172a0fb7 100644
--- a/arch/arm/boot/dts/sun8i-a33.dtsi
+++ b/arch/arm/boot/dts/sun8i-a33.dtsi
@@ -407,6 +407,16 @@
trip = <&cpu_alert1>;
cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
+
+ map2 {
+ trip = <&gpu_alert0>;
+ cooling-device = <&mali 1 THERMAL_NO_LIMIT>;
+ };
+
+ map3 {
+ trip = <&gpu_alert1>;
+ cooling-device = <&mali 2 THERMAL_NO_LIMIT>;
+ };
};
trips {
@@ -417,6 +427,13 @@
type = "passive";
};
+ gpu_alert0: gpu_alert0 {
+ /* milliCelsius */
+ temperature = <85000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+
cpu_alert1: cpu_alert1 {
/* milliCelsius */
temperature = <90000>;
@@ -424,6 +441,13 @@
type = "hot";
};
+ gpu_alert1: gpu_alert1 {
+ /* milliCelsius */
+ temperature = <95000>;
+ hysteresis = <2000>;
+ type = "hot";
+ };
+
cpu_crit: cpu_crit {
/* milliCelsius */
temperature = <110000>;