devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] arm64: dts: qcom: ipq6018: support thermal sensors
@ 2024-01-25  9:04 Mantas Pucka
  2024-01-25  9:04 ` [PATCH 1/3] dt-bindings: thermal: qcom-tsens: add IPQ6018 compatible Mantas Pucka
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Mantas Pucka @ 2024-01-25  9:04 UTC (permalink / raw)
  To: Amit Kucheria, Thara Gopinath, Bjorn Andersson, Konrad Dybcio,
	Rafael J. Wysocki, Daniel Lezcano, Zhang Rui, Lukasz Luba,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: Mantas Pucka, linux-arm-msm, linux-pm, devicetree, linux-kernel

IPQ6018 have a thermal sensor HW that's compatible with existing
qcom-tsens driver, so add dt-binding and enable it in devicei-tree.

Mantas Pucka (3):
  dt-bindings: thermal: qcom-tsens: add IPQ6018 compatible
  arm64: dts: qcom: ipq6018: add tsens node
  arm64: dts: qcom: ipq6018: add thermal zones

 .../devicetree/bindings/thermal/qcom-tsens.yaml    |   1 +
 arch/arm64/boot/dts/qcom/ipq6018.dtsi              | 131 +++++++++++++++++++++
 2 files changed, 132 insertions(+)

-- 
2.7.4


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/3] dt-bindings: thermal: qcom-tsens: add IPQ6018 compatible
  2024-01-25  9:04 [PATCH 0/3] arm64: dts: qcom: ipq6018: support thermal sensors Mantas Pucka
@ 2024-01-25  9:04 ` Mantas Pucka
  2024-01-25 17:17   ` Conor Dooley
  2024-01-25  9:04 ` [PATCH 2/3] arm64: dts: qcom: ipq6018: add tsens node Mantas Pucka
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 6+ messages in thread
From: Mantas Pucka @ 2024-01-25  9:04 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Amit Kucheria, Thara Gopinath,
	Rafael J. Wysocki, Daniel Lezcano, Zhang Rui, Lukasz Luba,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: Mantas Pucka, linux-pm, linux-arm-msm, devicetree, linux-kernel

IPQ6018 has tsens HW block compatible with IPQ8074.

Signed-off-by: Mantas Pucka <mantas@8devices.com>
---
 Documentation/devicetree/bindings/thermal/qcom-tsens.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml b/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml
index 99d9c526c0b6..d6f333a7bcd1 100644
--- a/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml
+++ b/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml
@@ -76,6 +76,7 @@ properties:
       - description: v2 of TSENS with combined interrupt
         items:
           - enum:
+              - qcom,ipq6018-tsens
               - qcom,ipq9574-tsens
           - const: qcom,ipq8074-tsens
 
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/3] arm64: dts: qcom: ipq6018: add tsens node
  2024-01-25  9:04 [PATCH 0/3] arm64: dts: qcom: ipq6018: support thermal sensors Mantas Pucka
  2024-01-25  9:04 ` [PATCH 1/3] dt-bindings: thermal: qcom-tsens: add IPQ6018 compatible Mantas Pucka
@ 2024-01-25  9:04 ` Mantas Pucka
  2024-01-25  9:04 ` [PATCH 3/3] arm64: dts: qcom: ipq6018: add thermal zones Mantas Pucka
  2024-02-07  4:46 ` (subset) [PATCH 0/3] arm64: dts: qcom: ipq6018: support thermal sensors Bjorn Andersson
  3 siblings, 0 replies; 6+ messages in thread
From: Mantas Pucka @ 2024-01-25  9:04 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Mantas Pucka, linux-arm-msm, devicetree, linux-kernel

IPQ6018 has temperature sensing HW block compatible with IPQ8074. Add
node for it.

Signed-off-by: Mantas Pucka <mantas@8devices.com>
---
 arch/arm64/boot/dts/qcom/ipq6018.dtsi | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/ipq6018.dtsi b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
index 3d0f6621ee97..f2765fe8c20b 100644
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
@@ -330,6 +330,16 @@
 			clock-names = "core";
 		};
 
+		tsens: thermal-sensor@4a9000 {
+			compatible = "qcom,ipq6018-tsens", "qcom,ipq8074-tsens";
+			reg = <0x0 0x004a9000 0x0 0x1000>,
+			      <0x0 0x004a8000 0x0 0x1000>;
+			interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-names = "combined";
+			#qcom,sensors = <16>;
+			#thermal-sensor-cells = <1>;
+		};
+
 		cryptobam: dma-controller@704000 {
 			compatible = "qcom,bam-v1.7.0";
 			reg = <0x0 0x00704000 0x0 0x20000>;
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 3/3] arm64: dts: qcom: ipq6018: add thermal zones
  2024-01-25  9:04 [PATCH 0/3] arm64: dts: qcom: ipq6018: support thermal sensors Mantas Pucka
  2024-01-25  9:04 ` [PATCH 1/3] dt-bindings: thermal: qcom-tsens: add IPQ6018 compatible Mantas Pucka
  2024-01-25  9:04 ` [PATCH 2/3] arm64: dts: qcom: ipq6018: add tsens node Mantas Pucka
@ 2024-01-25  9:04 ` Mantas Pucka
  2024-02-07  4:46 ` (subset) [PATCH 0/3] arm64: dts: qcom: ipq6018: support thermal sensors Bjorn Andersson
  3 siblings, 0 replies; 6+ messages in thread
From: Mantas Pucka @ 2024-01-25  9:04 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Mantas Pucka, linux-arm-msm, devicetree, linux-kernel

Add thermal zones to make use of thermal sensors data. For CPU zone,
add cooling device that uses CPU frequency scaling.

Signed-off-by: Mantas Pucka <mantas@8devices.com>
---
 arch/arm64/boot/dts/qcom/ipq6018.dtsi | 121 ++++++++++++++++++++++++++++++++++
 1 file changed, 121 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/ipq6018.dtsi b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
index f2765fe8c20b..4fb253b845c8 100644
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
@@ -9,6 +9,7 @@
 #include <dt-bindings/clock/qcom,gcc-ipq6018.h>
 #include <dt-bindings/reset/qcom,gcc-ipq6018.h>
 #include <dt-bindings/clock/qcom,apss-ipq.h>
+#include <dt-bindings/thermal/thermal.h>
 
 / {
 	#address-cells = <2>;
@@ -43,6 +44,7 @@
 			clock-names = "cpu";
 			operating-points-v2 = <&cpu_opp_table>;
 			cpu-supply = <&ipq6018_s2>;
+			#cooling-cells = <2>;
 		};
 
 		CPU1: cpu@1 {
@@ -55,6 +57,7 @@
 			clock-names = "cpu";
 			operating-points-v2 = <&cpu_opp_table>;
 			cpu-supply = <&ipq6018_s2>;
+			#cooling-cells = <2>;
 		};
 
 		CPU2: cpu@2 {
@@ -67,6 +70,7 @@
 			clock-names = "cpu";
 			operating-points-v2 = <&cpu_opp_table>;
 			cpu-supply = <&ipq6018_s2>;
+			#cooling-cells = <2>;
 		};
 
 		CPU3: cpu@3 {
@@ -79,6 +83,7 @@
 			clock-names = "cpu";
 			operating-points-v2 = <&cpu_opp_table>;
 			cpu-supply = <&ipq6018_s2>;
+			#cooling-cells = <2>;
 		};
 
 		L2_0: l2-cache {
@@ -996,6 +1001,122 @@
 		};
 	};
 
+	thermal-zones {
+		nss-top-thermal {
+			polling-delay-passive = <250>;
+			polling-delay = <1000>;
+			thermal-sensors = <&tsens 4>;
+
+			trips {
+				nss-top-critical {
+					temperature = <125000>;
+					hysteresis = <1000>;
+					type = "critical";
+				};
+			};
+		};
+
+		nss-thermal {
+			polling-delay-passive = <250>;
+			polling-delay = <1000>;
+			thermal-sensors = <&tsens 5>;
+
+			trips {
+				nss-critical {
+					temperature = <125000>;
+					hysteresis = <1000>;
+					type = "critical";
+				};
+			};
+		};
+
+		wcss-phya0-thermal {
+			polling-delay-passive = <250>;
+			polling-delay = <1000>;
+			thermal-sensors = <&tsens 7>;
+
+			trips {
+				wcss-phya0-critical {
+					temperature = <125000>;
+					hysteresis = <1000>;
+					type = "critical";
+				};
+			};
+		};
+
+		wcss-phya1-thermal {
+			polling-delay-passive = <250>;
+			polling-delay = <1000>;
+			thermal-sensors = <&tsens 8>;
+
+			trips {
+				wcss-phya1-critical {
+					temperature = <125000>;
+					hysteresis = <1000>;
+					type = "critical";
+				};
+			};
+		};
+
+		cpu-thermal {
+			polling-delay-passive = <250>;
+			polling-delay = <1000>;
+			thermal-sensors = <&tsens 13>;
+
+			trips {
+				cpu-critical {
+					temperature = <125000>;
+					hysteresis = <1000>;
+					type = "critical";
+				};
+
+				cpu_alert: cpu-passive {
+					temperature = <110000>;
+					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>,
+							 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+							 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+				};
+			};
+		};
+
+		lpass-thermal {
+			polling-delay-passive = <250>;
+			polling-delay = <1000>;
+			thermal-sensors = <&tsens 14>;
+
+			trips {
+				lpass-critical {
+					temperature = <125000>;
+					hysteresis = <1000>;
+					type = "critical";
+				};
+			};
+		};
+
+		ddrss-top-thermal {
+			polling-delay-passive = <250>;
+			polling-delay = <1000>;
+			thermal-sensors = <&tsens 15>;
+
+			trips {
+				ddrss-top-critical {
+					temperature = <125000>;
+					hysteresis = <1000>;
+					type = "critical";
+				};
+			};
+		};
+	};
+
 	timer {
 		compatible = "arm,armv8-timer";
 		interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/3] dt-bindings: thermal: qcom-tsens: add IPQ6018 compatible
  2024-01-25  9:04 ` [PATCH 1/3] dt-bindings: thermal: qcom-tsens: add IPQ6018 compatible Mantas Pucka
@ 2024-01-25 17:17   ` Conor Dooley
  0 siblings, 0 replies; 6+ messages in thread
From: Conor Dooley @ 2024-01-25 17:17 UTC (permalink / raw)
  To: Mantas Pucka
  Cc: Bjorn Andersson, Konrad Dybcio, Amit Kucheria, Thara Gopinath,
	Rafael J. Wysocki, Daniel Lezcano, Zhang Rui, Lukasz Luba,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-pm,
	linux-arm-msm, devicetree, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 956 bytes --]

On Thu, Jan 25, 2024 at 11:04:10AM +0200, Mantas Pucka wrote:
> IPQ6018 has tsens HW block compatible with IPQ8074.
> 
> Signed-off-by: Mantas Pucka <mantas@8devices.com>

Acked-by: Conor Dooley <conor.dooley@microchip.com>

Cheers,
Conor.

> ---
>  Documentation/devicetree/bindings/thermal/qcom-tsens.yaml | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml b/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml
> index 99d9c526c0b6..d6f333a7bcd1 100644
> --- a/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml
> +++ b/Documentation/devicetree/bindings/thermal/qcom-tsens.yaml
> @@ -76,6 +76,7 @@ properties:
>        - description: v2 of TSENS with combined interrupt
>          items:
>            - enum:
> +              - qcom,ipq6018-tsens
>                - qcom,ipq9574-tsens
>            - const: qcom,ipq8074-tsens
>  
> -- 
> 2.7.4
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: (subset) [PATCH 0/3] arm64: dts: qcom: ipq6018: support thermal sensors
  2024-01-25  9:04 [PATCH 0/3] arm64: dts: qcom: ipq6018: support thermal sensors Mantas Pucka
                   ` (2 preceding siblings ...)
  2024-01-25  9:04 ` [PATCH 3/3] arm64: dts: qcom: ipq6018: add thermal zones Mantas Pucka
@ 2024-02-07  4:46 ` Bjorn Andersson
  3 siblings, 0 replies; 6+ messages in thread
From: Bjorn Andersson @ 2024-02-07  4:46 UTC (permalink / raw)
  To: Amit Kucheria, Thara Gopinath, Konrad Dybcio, Rafael J. Wysocki,
	Daniel Lezcano, Zhang Rui, Lukasz Luba, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Mantas Pucka
  Cc: linux-arm-msm, linux-pm, devicetree, linux-kernel


On Thu, 25 Jan 2024 11:04:09 +0200, Mantas Pucka wrote:
> IPQ6018 have a thermal sensor HW that's compatible with existing
> qcom-tsens driver, so add dt-binding and enable it in devicei-tree.
> 
> Mantas Pucka (3):
>   dt-bindings: thermal: qcom-tsens: add IPQ6018 compatible
>   arm64: dts: qcom: ipq6018: add tsens node
>   arm64: dts: qcom: ipq6018: add thermal zones
> 
> [...]

Applied, thanks!

[2/3] arm64: dts: qcom: ipq6018: add tsens node
      commit: 0b17197055b528da22e9385200e61b847b499d48
[3/3] arm64: dts: qcom: ipq6018: add thermal zones
      commit: 8f053e5616352943e16966f195f5a7a161e6fe7d

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-02-07  4:47 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-25  9:04 [PATCH 0/3] arm64: dts: qcom: ipq6018: support thermal sensors Mantas Pucka
2024-01-25  9:04 ` [PATCH 1/3] dt-bindings: thermal: qcom-tsens: add IPQ6018 compatible Mantas Pucka
2024-01-25 17:17   ` Conor Dooley
2024-01-25  9:04 ` [PATCH 2/3] arm64: dts: qcom: ipq6018: add tsens node Mantas Pucka
2024-01-25  9:04 ` [PATCH 3/3] arm64: dts: qcom: ipq6018: add thermal zones Mantas Pucka
2024-02-07  4:46 ` (subset) [PATCH 0/3] arm64: dts: qcom: ipq6018: support thermal sensors Bjorn Andersson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).