arm64: dts: qcom: sdm845: mtp: Add vadc channels and thermal zones
authorBjorn Andersson <bjorn.andersson@linaro.org>
Tue, 5 Oct 2021 03:25:31 +0000 (20:25 -0700)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Wed, 15 Dec 2021 22:20:27 +0000 (16:20 -0600)
Downstream defines four ADC channels related to thermal sensors external
to the PM8998 and two channels for internal voltage measurements.

Add these to the upstream SDM845 MTP, describe the thermal monitor
channels and add thermal_zones for these.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
Link: https://lore.kernel.org/r/20211005032531.2251928-5-bjorn.andersson@linaro.org
arch/arm64/boot/dts/qcom/sdm845-mtp.dts

index 5e6e8f4fb5be035143b30cc53f304fe4ae58ad94..7713e8060c5b64c138bfe14192b963c90e2dab6c 100644 (file)
@@ -9,6 +9,8 @@
 
 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
 #include "sdm845.dtsi"
+#include "pm8998.dtsi"
+#include "pmi8998.dtsi"
 
 / {
        model = "Qualcomm Technologies, Inc. SDM845 MTP";
 
                vin-supply = <&vph_pwr>;
        };
+
+       thermal-zones {
+               xo_thermal: xo-thermal {
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
+
+                       thermal-sensors = <&pm8998_adc_tm 1>;
+
+                       trips {
+                               trip-point {
+                                       temperature = <125000>;
+                                       hysteresis = <10000>;
+                                       type = "passive";
+                               };
+                       };
+               };
+
+               msm_thermal: msm-thermal {
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
+
+                       thermal-sensors = <&pm8998_adc_tm 2>;
+
+                       trips {
+                               trip-point {
+                                       temperature = <125000>;
+                                       hysteresis = <10000>;
+                                       type = "passive";
+                               };
+                       };
+               };
+
+               pa_thermal: pa-thermal {
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
+
+                       thermal-sensors = <&pm8998_adc_tm 3>;
+
+                       trips {
+                               trip-point {
+                                       temperature = <125000>;
+                                       hysteresis = <10000>;
+                                       type = "passive";
+                               };
+                       };
+               };
+
+               quiet_thermal: quiet-thermal {
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
+
+                       thermal-sensors = <&pm8998_adc_tm 4>;
+
+                       trips {
+                               trip-point {
+                                       temperature = <125000>;
+                                       hysteresis = <10000>;
+                                       type = "passive";
+                               };
+                       };
+               };
+       };
 };
 
 &adsp_pas {
        firmware-name = "qcom/sdm845/mba.mbn", "qcom/sdm845/modem.mbn";
 };
 
+&pm8998_adc {
+       adc-chan@4c {
+               reg = <ADC5_XO_THERM_100K_PU>;
+               label = "xo_therm";
+               qcom,ratiometric;
+               qcom,hw-settle-time-us = <200>;
+       };
+
+       adc-chan@4d {
+               reg = <ADC5_AMUX_THM1_100K_PU>;
+               label = "msm_therm";
+               qcom,ratiometric;
+               qcom,hw-settle-time-us = <200>;
+       };
+
+       adc-chan@4f {
+               reg = <ADC5_AMUX_THM3_100K_PU>;
+               label = "pa_therm1";
+               qcom,ratiometric;
+               qcom,hw-settle-time-us = <200>;
+       };
+
+       adc-chan@51 {
+               reg = <ADC5_AMUX_THM5_100K_PU>;
+               label = "quiet_therm";
+               qcom,ratiometric;
+               qcom,hw-settle-time-us = <200>;
+       };
+
+       adc-chan@83 {
+               reg = <ADC5_VPH_PWR>;
+               label = "vph_pwr";
+               qcom,ratiometric;
+               qcom,hw-settle-time-us = <200>;
+       };
+
+       adc-chan@85 {
+               reg = <ADC5_VCOIN>;
+               label = "vcoin";
+               qcom,ratiometric;
+               qcom,hw-settle-time-us = <200>;
+       };
+};
+
+&pm8998_adc_tm {
+       status = "okay";
+
+       xo-thermistor@1 {
+               reg = <1>;
+               io-channels = <&pm8998_adc ADC5_XO_THERM_100K_PU>;
+               qcom,ratiometric;
+               qcom,hw-settle-time-us = <200>;
+       };
+
+       msm-thermistor@2 {
+               reg = <2>;
+               io-channels = <&pm8998_adc ADC5_AMUX_THM1_100K_PU>;
+               qcom,ratiometric;
+               qcom,hw-settle-time-us = <200>;
+       };
+
+       pa-thermistor@3 {
+               reg = <3>;
+               io-channels = <&pm8998_adc ADC5_AMUX_THM3_100K_PU>;
+               qcom,ratiometric;
+               qcom,hw-settle-time-us = <200>;
+       };
+
+       quiet-thermistor@4 {
+               reg = <4>;
+               io-channels = <&pm8998_adc ADC5_AMUX_THM5_100K_PU>;
+               qcom,ratiometric;
+               qcom,hw-settle-time-us = <200>;
+       };
+};
+
 &qupv3_id_1 {
        status = "okay";
 };