diff mbox series

[v5,2/3] arm64: dts: mt8183: Configure CPU cooling

Message ID 20201013102358.22588-3-michael.kao@mediatek.com
State Superseded
Headers show
Series mt8183: Add Mediatek thermal driver and dtsi | expand

Commit Message

Michael Kao Oct. 13, 2020, 10:23 a.m. UTC
From: Matthias Kaehlcke <mka@chromium.org>


Add two passive trip points at 68°C and 80°C for the CPU temperature.

Signed-off-by: Matthias Kaehlcke <mka@chromium.org>

Signed-off-by: Michael Kao <michael.kao@mediatek.com>

---
 arch/arm64/boot/dts/mediatek/mt8183.dtsi | 56 ++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

-- 
2.18.0

Comments

Hsin-Yi Wang Nov. 24, 2020, 8:25 a.m. UTC | #1
On Tue, Oct 13, 2020 at 6:24 PM Michael Kao <michael.kao@mediatek.com> wrote:
>

> From: Matthias Kaehlcke <mka@chromium.org>

>

> Add two passive trip points at 68°C and 80°C for the CPU temperature.

>

> Signed-off-by: Matthias Kaehlcke <mka@chromium.org>

> Signed-off-by: Michael Kao <michael.kao@mediatek.com>


Tested-by: Hsin-Yi Wang <hsinyi@chromium.org>


> ---

>  arch/arm64/boot/dts/mediatek/mt8183.dtsi | 56 ++++++++++++++++++++++++

>  1 file changed, 56 insertions(+)

>

> diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi

> index 1cd093cf33f3..0614f18a1ea2 100644

> --- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi

> +++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi

> @@ -10,6 +10,7 @@

>  #include <dt-bindings/interrupt-controller/irq.h>

>  #include <dt-bindings/reset-controller/mt8183-resets.h>

>  #include <dt-bindings/phy/phy.h>

> +#include <dt-bindings/thermal/thermal.h>

>  #include "mt8183-pinfunc.h"

>

>  / {

> @@ -450,6 +451,61 @@

>                                 polling-delay = <500>;

>                                 thermal-sensors = <&thermal 0>;

>                                 sustainable-power = <5000>;

> +

> +                               trips {

> +                                       threshold: trip-point@0 {

> +                                               temperature = <68000>;

> +                                               hysteresis = <2000>;

> +                                               type = "passive";

> +                                       };

> +

> +                                       target: trip-point@1 {

> +                                               temperature = <80000>;

> +                                               hysteresis = <2000>;

> +                                               type = "passive";

> +                                       };

> +

> +                                       cpu_crit: cpu-crit {

> +                                               temperature = <115000>;

> +                                               hysteresis = <2000>;

> +                                               type = "critical";

> +                                       };

> +                               };

> +

> +                               cooling-maps {

> +                                       map0 {

> +                                               trip = <&target>;

> +                                               cooling-device = <&cpu0

> +                                                       THERMAL_NO_LIMIT

> +                                                       THERMAL_NO_LIMIT>,

> +                                                                <&cpu1

> +                                                       THERMAL_NO_LIMIT

> +                                                       THERMAL_NO_LIMIT>,

> +                                                                <&cpu2

> +                                                       THERMAL_NO_LIMIT

> +                                                       THERMAL_NO_LIMIT>,

> +                                                                <&cpu3

> +                                                       THERMAL_NO_LIMIT

> +                                                       THERMAL_NO_LIMIT>;

> +                                               contribution = <3072>;

> +                                       };

> +                                       map1 {

> +                                               trip = <&target>;

> +                                               cooling-device = <&cpu4

> +                                                       THERMAL_NO_LIMIT

> +                                                       THERMAL_NO_LIMIT>,

> +                                                                <&cpu5

> +                                                       THERMAL_NO_LIMIT

> +                                                       THERMAL_NO_LIMIT>,

> +                                                                <&cpu6

> +                                                       THERMAL_NO_LIMIT

> +                                                       THERMAL_NO_LIMIT>,

> +                                                                <&cpu7

> +                                                       THERMAL_NO_LIMIT

> +                                                       THERMAL_NO_LIMIT>;

> +                                               contribution = <1024>;

> +                                       };

> +                               };

>                         };

>

>                         /* The tzts1 ~ tzts6 don't need to polling */

> --

> 2.18.0
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
index 1cd093cf33f3..0614f18a1ea2 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
@@ -10,6 +10,7 @@ 
 #include <dt-bindings/interrupt-controller/irq.h>
 #include <dt-bindings/reset-controller/mt8183-resets.h>
 #include <dt-bindings/phy/phy.h>
+#include <dt-bindings/thermal/thermal.h>
 #include "mt8183-pinfunc.h"
 
 / {
@@ -450,6 +451,61 @@ 
 				polling-delay = <500>;
 				thermal-sensors = <&thermal 0>;
 				sustainable-power = <5000>;
+
+				trips {
+					threshold: trip-point@0 {
+						temperature = <68000>;
+						hysteresis = <2000>;
+						type = "passive";
+					};
+
+					target: trip-point@1 {
+						temperature = <80000>;
+						hysteresis = <2000>;
+						type = "passive";
+					};
+
+					cpu_crit: cpu-crit {
+						temperature = <115000>;
+						hysteresis = <2000>;
+						type = "critical";
+					};
+				};
+
+				cooling-maps {
+					map0 {
+						trip = <&target>;
+						cooling-device = <&cpu0
+							THERMAL_NO_LIMIT
+							THERMAL_NO_LIMIT>,
+								 <&cpu1
+							THERMAL_NO_LIMIT
+							THERMAL_NO_LIMIT>,
+								 <&cpu2
+							THERMAL_NO_LIMIT
+							THERMAL_NO_LIMIT>,
+								 <&cpu3
+							THERMAL_NO_LIMIT
+							THERMAL_NO_LIMIT>;
+						contribution = <3072>;
+					};
+					map1 {
+						trip = <&target>;
+						cooling-device = <&cpu4
+							THERMAL_NO_LIMIT
+							THERMAL_NO_LIMIT>,
+								 <&cpu5
+							THERMAL_NO_LIMIT
+							THERMAL_NO_LIMIT>,
+								 <&cpu6
+							THERMAL_NO_LIMIT
+							THERMAL_NO_LIMIT>,
+								 <&cpu7
+							THERMAL_NO_LIMIT
+							THERMAL_NO_LIMIT>;
+						contribution = <1024>;
+					};
+				};
 			};
 
 			/* The tzts1 ~ tzts6 don't need to polling */