mirror of
https://github.com/linux-sunxi/meta-sunxi.git
synced 2024-11-15 09:48:23 +01:00
136 lines
3.3 KiB
Diff
136 lines
3.3 KiB
Diff
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||
|
From: Kali Prasad <kprasadvnsi@protonmail.com>
|
||
|
Date: Sun, 19 Sep 2021 08:02:27 +0000
|
||
|
Subject: 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>
|
||
|
---
|
||
|
arch/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 7ad1982fb47f..8628a9e3dfca 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>;
|
||
|
+ };
|
||
|
};
|
||
|
};
|
||
|
--
|
||
|
Armbian
|
||
|
|