OSDN Git Service

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 5e6e8f4..7713e80 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";
 };