[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20250718-ipq5018-tsens-v14-2-28d8a2472418@outlook.com>
Date: Fri, 18 Jul 2025 11:38:04 +0400
From: George Moussalem via B4 Relay <devnull+george.moussalem.outlook.com@...nel.org>
To: Amit Kucheria <amitk@...nel.org>,
Thara Gopinath <thara.gopinath@...il.com>,
"Rafael J. Wysocki" <rafael@...nel.org>,
Daniel Lezcano <daniel.lezcano@...aro.org>, Zhang Rui <rui.zhang@...el.com>,
Lukasz Luba <lukasz.luba@....com>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>,
Sricharan Ramabadhran <quic_srichara@...cinc.com>,
George Moussalem <george.moussalem@...look.com>
Cc: linux-arm-msm@...r.kernel.org, linux-pm@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
Dmitry Baryshkov <lumag@...nel.org>,
Konrad Dybcio <konrad.dybcio@....qualcomm.com>,
Dmitry Baryshkov <lumag@...nel.org>
Subject: [PATCH v14 2/2] arm64: dts: qcom: ipq5018: Update tsens node and
thermal zones
From: Sricharan Ramabadhran <quic_srichara@...cinc.com>
Remove qcom,tsens-v1 as fallback since this IP has no RPM and, as such,
must use its own init routine available in the driver.
Also adding a cooling device to the CPU thermal zone which uses CPU
frequency scaling.
In addition, remove superfluous polling-delay properties for which the
default is already set to zero, correctly set hysteresis properties
measured in milli Celsius as opposed to Celsius, and replace an
underscore in an alias with a hyphen to align with device tree coding
guidelines.
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@....qualcomm.com>
Signed-off-by: Sricharan Ramabadhran <quic_srichara@...cinc.com>
Signed-off-by: George Moussalem <george.moussalem@...look.com>
---
arch/arm64/boot/dts/qcom/ipq5018.dtsi | 41 +++++++++++++++++++++--------------
1 file changed, 25 insertions(+), 16 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/ipq5018.dtsi b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
index ee0001741d211b187e89a39a3caaa576251aff03..1b33ccf1a1b1af721b9690ae2c35eb82985205f5 100644
--- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
@@ -9,6 +9,7 @@
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/qcom,gcc-ipq5018.h>
#include <dt-bindings/reset/qcom,gcc-ipq5018.h>
+#include <dt-bindings/thermal/thermal.h>
/ {
interrupt-parent = <&intc>;
@@ -39,6 +40,7 @@ cpu0: cpu@0 {
next-level-cache = <&l2_0>;
clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
operating-points-v2 = <&cpu_opp_table>;
+ #cooling-cells = <2>;
};
cpu1: cpu@1 {
@@ -49,6 +51,7 @@ cpu1: cpu@1 {
next-level-cache = <&l2_0>;
clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
operating-points-v2 = <&cpu_opp_table>;
+ #cooling-cells = <2>;
};
l2_0: l2-cache {
@@ -255,9 +258,9 @@ tsens_s4_p2: s4-p2@254 {
};
tsens: thermal-sensor@...000 {
- compatible = "qcom,ipq5018-tsens", "qcom,tsens-v1";
- reg = <0x004a9000 0x1000>, /* TM */
- <0x004a8000 0x1000>; /* SROT */
+ compatible = "qcom,ipq5018-tsens";
+ reg = <0x004a9000 0x1000>,
+ <0x004a8000 0x1000>;
nvmem-cells = <&tsens_mode>,
<&tsens_base1>,
@@ -744,56 +747,62 @@ pcie@0 {
thermal-zones {
cpu-thermal {
- polling-delay-passive = <0>;
- polling-delay = <0>;
thermal-sensors = <&tsens 2>;
trips {
cpu-critical {
temperature = <120000>;
- hysteresis = <2>;
+ hysteresis = <1000>;
type = "critical";
};
+
+ cpu_alert: cpu-passive {
+ temperature = <100000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+
+ cooling-maps {
+ map0 {
+ trip = <&cpu_alert>;
+ cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+ <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
};
};
gephy-thermal {
- polling-delay-passive = <0>;
- polling-delay = <0>;
thermal-sensors = <&tsens 4>;
trips {
gephy-critical {
temperature = <120000>;
- hysteresis = <2>;
+ hysteresis = <1000>;
type = "critical";
};
};
};
top-glue-thermal {
- polling-delay-passive = <0>;
- polling-delay = <0>;
thermal-sensors = <&tsens 3>;
trips {
- top_glue-critical {
+ top-glue-critical {
temperature = <120000>;
- hysteresis = <2>;
+ hysteresis = <1000>;
type = "critical";
};
};
};
ubi32-thermal {
- polling-delay-passive = <0>;
- polling-delay = <0>;
thermal-sensors = <&tsens 1>;
trips {
ubi32-critical {
temperature = <120000>;
- hysteresis = <2>;
+ hysteresis = <1000>;
type = "critical";
};
};
--
2.50.1
Powered by blists - more mailing lists