137 lines
3.3 KiB
Diff
137 lines
3.3 KiB
Diff
From 25511473332b2d43309b707be5c2970a5b9a4efd Mon Sep 17 00:00:00 2001
|
|
From: Kali Prasad <kprasadvnsi@protonmail.com>
|
|
Date: Sun, 19 Sep 2021 13:38:20 +0530
|
|
Subject: [PATCH 083/153] arm64: dts: allwinner: h616: Add thermal sensor and
|
|
thermal zones
|
|
|
|
There are four sensors, CPU, GPU, VE, and DDR.
|
|
|
|
Signed-off-by: Kali Prasad <kprasadvnsi@protonmail.com>
|
|
---
|
|
.../arm64/boot/dts/allwinner/sun50i-h616.dtsi | 75 +++++++++++++++++++
|
|
1 file changed, 75 insertions(+)
|
|
|
|
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
|
index 7ad1982fb..8628a9e3d 100644
|
|
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
|
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
|
@@ -9,6 +9,7 @@
|
|
#include <dt-bindings/clock/sun6i-rtc.h>
|
|
#include <dt-bindings/reset/sun50i-h616-ccu.h>
|
|
#include <dt-bindings/reset/sun50i-h6-r-ccu.h>
|
|
+#include <dt-bindings/thermal/thermal.h>
|
|
|
|
/ {
|
|
interrupt-parent = <&gic>;
|
|
@@ -25,6 +26,8 @@ cpu0: cpu@0 {
|
|
reg = <0>;
|
|
enable-method = "psci";
|
|
clocks = <&ccu CLK_CPUX>;
|
|
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
|
+ #cooling-cells = <2>;
|
|
};
|
|
|
|
cpu1: cpu@1 {
|
|
@@ -33,6 +36,8 @@ cpu1: cpu@1 {
|
|
reg = <1>;
|
|
enable-method = "psci";
|
|
clocks = <&ccu CLK_CPUX>;
|
|
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
|
+ #cooling-cells = <2>;
|
|
};
|
|
|
|
cpu2: cpu@2 {
|
|
@@ -41,6 +46,8 @@ cpu2: cpu@2 {
|
|
reg = <2>;
|
|
enable-method = "psci";
|
|
clocks = <&ccu CLK_CPUX>;
|
|
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
|
+ #cooling-cells = <2>;
|
|
};
|
|
|
|
cpu3: cpu@3 {
|
|
@@ -49,6 +56,8 @@ cpu3: cpu@3 {
|
|
reg = <3>;
|
|
enable-method = "psci";
|
|
clocks = <&ccu CLK_CPUX>;
|
|
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
|
+ #cooling-cells = <2>;
|
|
};
|
|
};
|
|
|
|
@@ -833,5 +842,71 @@ r_rsb: rsb@7083000 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
};
|
|
+
|
|
+ ths: thermal-sensor@5070400 {
|
|
+ compatible = "allwinner,sun50i-h616-ths";
|
|
+ reg = <0x05070400 0x400>;
|
|
+ interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
|
|
+ clocks = <&ccu CLK_BUS_THS>;
|
|
+ clock-names = "bus";
|
|
+ resets = <&ccu RST_BUS_THS>;
|
|
+ nvmem-cells = <&ths_calibration>;
|
|
+ nvmem-cell-names = "calibration";
|
|
+ #thermal-sensor-cells = <1>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ thermal-zones {
|
|
+ cpu-thermal {
|
|
+ polling-delay-passive = <500>;
|
|
+ polling-delay = <1000>;
|
|
+ thermal-sensors = <&ths 2>;
|
|
+ sustainable-power = <1000>;
|
|
+ k_po = <20>;
|
|
+ k_pu = <40>;
|
|
+ k_i = <0>;
|
|
+
|
|
+ trips {
|
|
+ cpu_threshold: trip-point@0 {
|
|
+ temperature = <60000>;
|
|
+ type = "passive";
|
|
+ hysteresis = <0>;
|
|
+ };
|
|
+ cpu_target: trip-point@1 {
|
|
+ temperature = <70000>;
|
|
+ type = "passive";
|
|
+ hysteresis = <0>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ cooling-maps {
|
|
+ map0 {
|
|
+ trip = <&cpu_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>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ gpu-thermal {
|
|
+ polling-delay-passive = <500>;
|
|
+ polling-delay = <1000>;
|
|
+ thermal-sensors = <&ths 0>;
|
|
+ sustainable-power = <1100>;
|
|
+ };
|
|
+
|
|
+ ve-thermal {
|
|
+ polling-delay-passive = <0>;
|
|
+ polling-delay = <0>;
|
|
+ thermal-sensors = <&ths 1>;
|
|
+ };
|
|
+
|
|
+ ddr-thermal {
|
|
+ polling-delay-passive = <0>;
|
|
+ polling-delay = <0>;
|
|
+ thermal-sensors = <&ths 3>;
|
|
+ };
|
|
};
|
|
};
|
|
--
|
|
2.35.3
|
|
|