summaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorRobert Marko <robimarko@gmail.com>2023-06-07 20:49:47 +0200
committerChristian Marangi <ansuelsmth@gmail.com>2023-06-08 06:53:37 +0200
commitc4752e0a132732a979c3eda34a3d4275487e8ddf (patch)
tree629ff40970148b84b198be493d608281dd8e553d /target
parent5af25331a354c5c5811cfa9c14bacc44b30abaa4 (diff)
downloadopenwrt-c4752e0a132732a979c3eda34a3d4275487e8ddf.tar.gz
openwrt-c4752e0a132732a979c3eda34a3d4275487e8ddf.tar.bz2
openwrt-c4752e0a132732a979c3eda34a3d4275487e8ddf.zip
ipq807x: add critical thermal trips to all thermal zones
Kernel 6.1 has started actually enforcing the bindings requirment that thermal zones must have associated trips described as well, otherwise they will fail during probing with: [ 0.865494] thermal_sys: Failed to find 'trips' node [ 0.867254] thermal_sys: Failed to find trip points for thermal-sensor id=4 [ 0.872271] thermal_sys: Failed to find 'trips' node [ 0.878898] thermal_sys: Failed to find trip points for thermal-sensor id=5 [ 0.884222] thermal_sys: Failed to find 'trips' node [ 0.890775] thermal_sys: Failed to find trip points for thermal-sensor id=6 [ 0.896073] thermal_sys: Failed to find 'trips' node [ 0.902668] thermal_sys: Failed to find trip points for thermal-sensor id=7 [ 0.907964] thermal_sys: Failed to find 'trips' node [ 0.914569] thermal_sys: Failed to find trip points for thermal-sensor id=8 [ 0.921203] thermal_sys: Failed to find 'trips' node [ 0.926469] thermal_sys: Failed to find trip points for thermal-sensor id=14 [ 0.931759] thermal_sys: Failed to find 'trips' node [ 0.938703] thermal_sys: Failed to find trip points for thermal-sensor id=15 So, since CPUFreq support isnt yet upstream we can start by adding critical trips to all of the thermal zones to protect the devices against severely overheating. Qualcomm has set the overheat trip at 120 C but lets be conservative and set it at 110 C. This patch has been sent upstream as well. Signed-off-by: Robert Marko <robimarko@gmail.com>
Diffstat (limited to 'target')
-rw-r--r--target/linux/ipq807x/patches-6.1/0134-arm64-dts-qcom-ipq8074-add-critical-thermal-trips.patch197
1 files changed, 197 insertions, 0 deletions
diff --git a/target/linux/ipq807x/patches-6.1/0134-arm64-dts-qcom-ipq8074-add-critical-thermal-trips.patch b/target/linux/ipq807x/patches-6.1/0134-arm64-dts-qcom-ipq8074-add-critical-thermal-trips.patch
new file mode 100644
index 0000000000..6231d8afb7
--- /dev/null
+++ b/target/linux/ipq807x/patches-6.1/0134-arm64-dts-qcom-ipq8074-add-critical-thermal-trips.patch
@@ -0,0 +1,197 @@
+From 145bbf2b88990ef3ff00ee541bb7662008683c16 Mon Sep 17 00:00:00 2001
+From: Robert Marko <robimarko@gmail.com>
+Date: Wed, 7 Jun 2023 20:26:26 +0200
+Subject: [PATCH] arm64: dts: qcom: ipq8074: add critical thermal trips
+
+According to bindings, thermal zones must have associated trips as well.
+Since we currently dont have CPUFreq support and thus no passive cooling
+lets start by defining critical trips to protect the devices against
+severe overheating.
+
+Signed-off-by: Robert Marko <robimarko@gmail.com>
+---
+ arch/arm64/boot/dts/qcom/ipq8074.dtsi | 96 +++++++++++++++++++++++++++
+ 1 file changed, 96 insertions(+)
+
+--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
++++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+@@ -1293,6 +1293,14 @@
+ polling-delay = <1000>;
+
+ thermal-sensors = <&tsens 4>;
++
++ trips {
++ nss-top-crit {
++ temperature = <110000>;
++ hysteresis = <1000>;
++ type = "critical";
++ };
++ };
+ };
+
+ nss0-thermal {
+@@ -1300,6 +1308,14 @@
+ polling-delay = <1000>;
+
+ thermal-sensors = <&tsens 5>;
++
++ trips {
++ nss-0-crit {
++ temperature = <110000>;
++ hysteresis = <1000>;
++ type = "critical";
++ };
++ };
+ };
+
+ nss1-thermal {
+@@ -1307,6 +1323,14 @@
+ polling-delay = <1000>;
+
+ thermal-sensors = <&tsens 6>;
++
++ trips {
++ nss-1-crit {
++ temperature = <110000>;
++ hysteresis = <1000>;
++ type = "critical";
++ };
++ };
+ };
+
+ wcss-phya0-thermal {
+@@ -1314,6 +1338,14 @@
+ polling-delay = <1000>;
+
+ thermal-sensors = <&tsens 7>;
++
++ trips {
++ wcss-phya0-crit {
++ temperature = <110000>;
++ hysteresis = <1000>;
++ type = "critical";
++ };
++ };
+ };
+
+ wcss-phya1-thermal {
+@@ -1321,6 +1353,14 @@
+ polling-delay = <1000>;
+
+ thermal-sensors = <&tsens 8>;
++
++ trips {
++ wcss-phya1-crit {
++ temperature = <110000>;
++ hysteresis = <1000>;
++ type = "critical";
++ };
++ };
+ };
+
+ cpu0_thermal: cpu0-thermal {
+@@ -1328,6 +1368,14 @@
+ polling-delay = <1000>;
+
+ thermal-sensors = <&tsens 9>;
++
++ trips {
++ cpu0-crit {
++ temperature = <110000>;
++ hysteresis = <1000>;
++ type = "critical";
++ };
++ };
+ };
+
+ cpu1_thermal: cpu1-thermal {
+@@ -1335,6 +1383,14 @@
+ polling-delay = <1000>;
+
+ thermal-sensors = <&tsens 10>;
++
++ trips {
++ cpu1-crit {
++ temperature = <110000>;
++ hysteresis = <1000>;
++ type = "critical";
++ };
++ };
+ };
+
+ cpu2_thermal: cpu2-thermal {
+@@ -1342,6 +1398,14 @@
+ polling-delay = <1000>;
+
+ thermal-sensors = <&tsens 11>;
++
++ trips {
++ cpu2-crit {
++ temperature = <110000>;
++ hysteresis = <1000>;
++ type = "critical";
++ };
++ };
+ };
+
+ cpu3_thermal: cpu3-thermal {
+@@ -1349,6 +1413,14 @@
+ polling-delay = <1000>;
+
+ thermal-sensors = <&tsens 12>;
++
++ trips {
++ cpu3-crit {
++ temperature = <110000>;
++ hysteresis = <1000>;
++ type = "critical";
++ };
++ };
+ };
+
+ cluster_thermal: cluster-thermal {
+@@ -1356,6 +1428,14 @@
+ polling-delay = <1000>;
+
+ thermal-sensors = <&tsens 13>;
++
++ trips {
++ cluster-crit {
++ temperature = <110000>;
++ hysteresis = <1000>;
++ type = "critical";
++ };
++ };
+ };
+
+ wcss-phyb0-thermal {
+@@ -1363,6 +1443,14 @@
+ polling-delay = <1000>;
+
+ thermal-sensors = <&tsens 14>;
++
++ trips {
++ wcss-phyb0-crit {
++ temperature = <110000>;
++ hysteresis = <1000>;
++ type = "critical";
++ };
++ };
+ };
+
+ wcss-phyb1-thermal {
+@@ -1370,6 +1458,14 @@
+ polling-delay = <1000>;
+
+ thermal-sensors = <&tsens 15>;
++
++ trips {
++ wcss-phyb1-crit {
++ temperature = <110000>;
++ hysteresis = <1000>;
++ type = "critical";
++ };
++ };
+ };
+ };
+ };