[PATCH v3 10/11] ARM: sun8i: a33: Add devfreq-based GPU cooling
From: Maxime RipardThis adds GPU thermal throttling for the Allwinner A33. Signed-off-by: Maxime Ripard Signed-off-by: Quentin Schulz --- v3: - got rid of cooling-min-level and cooling-max-level as it's not used in any code in the kernel, added in v2 arch/arm/boot/dts/sun8i-a23-a33.dtsi | 1 + arch/arm/boot/dts/sun8i-a33.dtsi | 24 2 files changed, 25 insertions(+) diff --git a/arch/arm/boot/dts/sun8i-a23-a33.dtsi b/arch/arm/boot/dts/sun8i-a23-a33.dtsi index 5e8725d..6d81a6d 100644 --- a/arch/arm/boot/dts/sun8i-a23-a33.dtsi +++ b/arch/arm/boot/dts/sun8i-a23-a33.dtsi @@ -495,6 +495,7 @@ assigned-clocks = < CLK_GPU>; assigned-clock-rates = <38400>; + #cooling-cells = <2>; }; gic: interrupt-controller@01c81000 { diff --git a/arch/arm/boot/dts/sun8i-a33.dtsi b/arch/arm/boot/dts/sun8i-a33.dtsi index 73552bb..a2c6077 100644 --- a/arch/arm/boot/dts/sun8i-a33.dtsi +++ b/arch/arm/boot/dts/sun8i-a33.dtsi @@ -188,6 +188,16 @@ trip = <_alert1>; cooling-device = < THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; }; + + map2 { + trip = <_alert0>; + cooling-device = < 1 THERMAL_NO_LIMIT>; + }; + + map3 { + trip = <_alert1>; + cooling-device = < 2 THERMAL_NO_LIMIT>; + }; }; trips { @@ -198,6 +208,13 @@ type = "passive"; }; + gpu_alert0: gpu_alert0 { + /* milliCelsius */ + temperature = <85000>; + hysteresis = <2000>; + type = "passive"; + }; + cpu_alert1: cpu_alert1 { /* milliCelsius */ temperature = <9>; @@ -205,6 +222,13 @@ type = "hot"; }; + gpu_alert1: gpu_alert1 { + /* milliCelsius */ + temperature = <95000>; + hysteresis = <2000>; + type = "hot"; + }; + cpu_crit: cpu_crit { /* milliCelsius */ temperature = <11>; -- 2.9.3
[PATCH v3 10/11] ARM: sun8i: a33: Add devfreq-based GPU cooling
From: Maxime Ripard This adds GPU thermal throttling for the Allwinner A33. Signed-off-by: Maxime Ripard Signed-off-by: Quentin Schulz --- v3: - got rid of cooling-min-level and cooling-max-level as it's not used in any code in the kernel, added in v2 arch/arm/boot/dts/sun8i-a23-a33.dtsi | 1 + arch/arm/boot/dts/sun8i-a33.dtsi | 24 2 files changed, 25 insertions(+) diff --git a/arch/arm/boot/dts/sun8i-a23-a33.dtsi b/arch/arm/boot/dts/sun8i-a23-a33.dtsi index 5e8725d..6d81a6d 100644 --- a/arch/arm/boot/dts/sun8i-a23-a33.dtsi +++ b/arch/arm/boot/dts/sun8i-a23-a33.dtsi @@ -495,6 +495,7 @@ assigned-clocks = < CLK_GPU>; assigned-clock-rates = <38400>; + #cooling-cells = <2>; }; gic: interrupt-controller@01c81000 { diff --git a/arch/arm/boot/dts/sun8i-a33.dtsi b/arch/arm/boot/dts/sun8i-a33.dtsi index 73552bb..a2c6077 100644 --- a/arch/arm/boot/dts/sun8i-a33.dtsi +++ b/arch/arm/boot/dts/sun8i-a33.dtsi @@ -188,6 +188,16 @@ trip = <_alert1>; cooling-device = < THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; }; + + map2 { + trip = <_alert0>; + cooling-device = < 1 THERMAL_NO_LIMIT>; + }; + + map3 { + trip = <_alert1>; + cooling-device = < 2 THERMAL_NO_LIMIT>; + }; }; trips { @@ -198,6 +208,13 @@ type = "passive"; }; + gpu_alert0: gpu_alert0 { + /* milliCelsius */ + temperature = <85000>; + hysteresis = <2000>; + type = "passive"; + }; + cpu_alert1: cpu_alert1 { /* milliCelsius */ temperature = <9>; @@ -205,6 +222,13 @@ type = "hot"; }; + gpu_alert1: gpu_alert1 { + /* milliCelsius */ + temperature = <95000>; + hysteresis = <2000>; + type = "hot"; + }; + cpu_crit: cpu_crit { /* milliCelsius */ temperature = <11>; -- 2.9.3