Skip to contentSkip to conversation

arm64: dts: qcom: monaco-pmics: Enable PMIC MBG thermal monitor

PATCH Applied Sachin Gupta 3 participants 3 messages Aug 14 – Aug 31

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 2/2 arm64: dts: qcom: monaco-pmics: Enable PMIC MBG thermal monitor

Monaco boards use PM8620AU PMIC instances that expose MBG thermal monitor blocks handled by the existing qcom-spmi-mbg-tm driver.

Add MBG temperature-sensor nodes for the PMIC instances and wire them into dedicated thermal zones with passive trips, so PMIC die temperature monitoring is available through the thermal framework.

---
 arch/arm64/boot/dts/qcom/monaco-pmics.dtsi | 62 ++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)
arch/arm64/boot/dts/qcom/monaco-pmics.dtsi +62 -0
index 6e096b9b7546..361f5163b6d9 100644
@@ -7,6 +7,36 @@
 #include <dt-bindings/spmi/spmi.h>
 #include "qcom-adc5-gen3.h"
 
+/ {
+	thermal-zones {
+		pm8775-mbg0-thermal {
+			polling-delay-passive = <100>;
+			thermal-sensors = <&pmm8620au_0_mbg_temp>;
+
+			trips {
+				trip0 {
+					temperature = <115000>;
+					hysteresis = <5000>;
+					type = "passive";
+				};
+			};
+		};
+
+		pm8775-mbg1-thermal {
+			polling-delay-passive = <100>;
+			thermal-sensors = <&pmm8620au_1_mbg_temp>;
+
+			trips {
+				trip0 {
+					temperature = <115000>;
+					hysteresis = <5000>;
+					type = "passive";
+				};
+			};
+		};
+	};
+};
+
 &spmi_bus {
 	pmm8620au_0: pmic@0 {
 		compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
@@ -53,6 +83,22 @@ pmm8620au_0_gpios: gpio@8800 {
 		};
 	};
 
+	pmm8620au_sail_0: pmic@1 {
+		compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
+		reg = <0x1 SPMI_USID>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		pmm8620au_0_mbg_temp: temperature-sensor@d700 {
+			compatible = "qcom,pm8775-mbg-tm";
+			reg = <0xd700>;
+			io-channels = <&pmm8620au_0_adc ADC5_GEN3_DIE_TEMP(0)>;
+			io-channel-names = "thermal";
+			interrupts-extended = <&spmi_bus 0x1 0xd7 0x0 IRQ_TYPE_EDGE_RISING>;
+			#thermal-sensor-cells = <0>;
+		};
+	};
+
 	pmm8650au_1: pmic@2 {
 		compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
 		reg = <0x2 SPMI_USID>;
@@ -90,4 +136,20 @@ pmm8650au_1_gpios: gpio@8800 {
 			#interrupt-cells = <2>;
 		};
 	};
+
+	pmm8620au_sail_1: pmic@3 {
+		compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
+		reg = <0x3 SPMI_USID>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		pmm8620au_1_mbg_temp: temperature-sensor@d700 {
+			compatible = "qcom,pm8775-mbg-tm";
+			reg = <0xd700>;
+			io-channels = <&pmm8650au_1_adc ADC5_GEN3_DIE_TEMP(2)>;
+			io-channel-names = "thermal";
+			interrupts-extended = <&spmi_bus 0x3 0xd7 0x0 IRQ_TYPE_EDGE_RISING>;
+			#thermal-sensor-cells = <0>;
+		};
+	};
 };
Signature · 1 line
2.34.1
Reviewed-by on v1 2/2
#1 lore raw
Quoted 9 lines · Sachin Gupta

Monaco boards use PM8620AU PMIC instances that expose MBG thermal monitor blocks handled by the existing qcom-spmi-mbg-tm driver.

Add MBG temperature-sensor nodes for the PMIC instances and wire them into dedicated thermal zones with passive trips, so PMIC die temperature monitoring is available through the thermal framework.

---

Konrad

maintainer Applied
#2 lore raw

Re: (subset) [PATCH 2/2] arm64: dts: qcom: monaco-pmics: Enable PMIC MBG thermal monitor

In reply to Sachin Gupta
Quoted 8 lines · Sachin Gupta

Monaco boards use PM8620AU PMIC instances that expose MBG thermal monitor blocks handled by the existing qcom-spmi-mbg-tm driver.

Add MBG temperature-sensor nodes for the PMIC instances and wire them into dedicated thermal zones with passive trips, so PMIC die temperature monitoring is available through the thermal framework.

[...]

Applied, thanks!

[2/2] arm64: dts: qcom: monaco-pmics: Enable PMIC MBG thermal monitor

      commit: d3633a03c071c2ca81c3983352ead903b4b17785

Best regards,

Signature · 1 line
Bjorn Andersson <[email protected]>