arm64: dts: qcom: sm8450-hdk: add ADC-TM thermal zones
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Fri, 7 Jul 2023 12:30:27 +0000 (15:30 +0300)
committerBjorn Andersson <andersson@kernel.org>
Mon, 10 Jul 2023 04:51:48 +0000 (21:51 -0700)
Add thermal zones controlled through the ADC-TM (ADC thermal monitoring)
PMIC interface. This includes several onboard sensors and the XO thermal
sensor.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20230707123027.1510723-9-dmitry.baryshkov@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/sm8450-hdk.dts

index 50094b2..bd5e818 100644 (file)
                };
        };
 
+       thermal-zones {
+               camera-thermal {
+                       polling-delay-passive = <250>;
+                       polling-delay = <0>;
+                       thermal-sensors = <&pmk8350_adc_tm 2>;
+
+                       trips {
+                               active-config0 {
+                                       temperature = <75000>;
+                                       hysteresis = <4000>;
+                                       type = "passive";
+                               };
+                       };
+               };
+
+               rear-tof-thermal {
+                       polling-delay-passive = <250>;
+                       polling-delay = <0>;
+                       thermal-sensors = <&pmk8350_adc_tm 5>;
+
+                       trips {
+                               active-config0 {
+                                       temperature = <75000>;
+                                       hysteresis = <4000>;
+                                       type = "passive";
+                               };
+                       };
+               };
+
+               skin-msm-thermal {
+                       polling-delay-passive = <250>;
+                       polling-delay = <0>;
+                       thermal-sensors = <&pmk8350_adc_tm 1>;
+
+                       trips {
+                               active-config0 {
+                                       temperature = <75000>;
+                                       hysteresis = <4000>;
+                                       type = "passive";
+                               };
+                       };
+               };
+
+               therm1-thermal {
+                       polling-delay-passive = <250>;
+                       polling-delay = <0>;
+                       thermal-sensors = <&pmk8350_adc_tm 3>;
+
+                       trips {
+                               active-config0 {
+                                       temperature = <75000>;
+                                       hysteresis = <4000>;
+                                       type = "passive";
+                               };
+                       };
+               };
+
+               therm2-thermal {
+                       polling-delay-passive = <250>;
+                       polling-delay = <0>;
+                       thermal-sensors = <&pmk8350_adc_tm 6>;
+
+                       trips {
+                               active-config0 {
+                                       temperature = <75000>;
+                                       hysteresis = <4000>;
+                                       type = "passive";
+                               };
+                       };
+               };
+
+               usb-conn-thermal {
+                       polling-delay-passive = <250>;
+                       polling-delay = <0>;
+                       thermal-sensors = <&pmk8350_adc_tm 7>;
+
+                       trips {
+                               active-config0 {
+                                       temperature = <75000>;
+                                       hysteresis = <4000>;
+                                       type = "passive";
+                               };
+                       };
+               };
+
+               wide-rfc-thermal {
+                       polling-delay-passive = <250>;
+                       polling-delay = <0>;
+                       thermal-sensors = <&pmk8350_adc_tm 4>;
+
+                       trips {
+                               active-config0 {
+                                       temperature = <75000>;
+                                       hysteresis = <4000>;
+                                       type = "passive";
+                               };
+                       };
+               };
+
+               xo-thermal {
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
+                       thermal-sensors = <&pmk8350_adc_tm 0>;
+
+                       trips {
+                               active-config0 {
+                                       temperature = <50000>;
+                                       hysteresis = <4000>;
+                                       type = "passive";
+                               };
+                       };
+               };
+       };
+
        vph_pwr: vph-pwr-regulator {
                compatible = "regulator-fixed";
                regulator-name = "vph_pwr";
        io-channel-names = "thermal";
 };
 
+&pmk8350_adc_tm {
+       status = "okay";
+
+       xo-therm@0 {
+               reg = <0>;
+               io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>;
+               qcom,ratiometric;
+               qcom,hw-settle-time-us = <200>;
+       };
+
+       skin-msm-therm@1 {
+               reg = <1>;
+               io-channels = <&pmk8350_vadc PM8350_ADC7_AMUX_THM1_100K_PU(1)>;
+               qcom,ratiometric;
+               qcom,hw-settle-time-us = <200>;
+       };
+
+       camera-therm@2 {
+               reg = <2>;
+               io-channels = <&pmk8350_vadc PM8350_ADC7_AMUX_THM2_100K_PU(1)>;
+               qcom,ratiometric;
+               qcom,hw-settle-time-us = <200>;
+       };
+
+       therm1-therm@3 {
+               reg = <3>;
+               io-channels = <&pmk8350_vadc PM8350_ADC7_AMUX_THM3_100K_PU(1)>;
+               qcom,ratiometric;
+               qcom,hw-settle-time-us = <200>;
+       };
+
+       wide-rfc-therm@4 {
+               reg = <4>;
+               io-channels = <&pmk8350_vadc PM8350_ADC7_AMUX_THM4_100K_PU(1)>;
+               qcom,ratiometric;
+               qcom,hw-settle-time-us = <200>;
+       };
+
+       rear-tof-therm@5 {
+               reg = <5>;
+               io-channels = <&pmk8350_vadc PM8350_ADC7_AMUX_THM5_100K_PU(1)>;
+               qcom,ratiometric;
+               qcom,hw-settle-time-us = <200>;
+       };
+
+       therm2-therm@6 {
+               reg = <6>;
+               io-channels = <&pmk8350_vadc PM8350_ADC7_GPIO3_100K_PU(1)>;
+               qcom,ratiometric;
+               qcom,hw-settle-time-us = <200>;
+       };
+
+       usb-conn-therm@7 {
+               reg = <7>;
+               io-channels = <&pmk8350_vadc PM8350B_ADC7_AMUX_THM5_100K_PU>;
+               qcom,ratiometric;
+               qcom,hw-settle-time-us = <200>;
+       };
+};
+
 &pmk8350_vadc {
        status = "okay";
 
                label = "pmk8350_die_temp";
        };
 
+       channel@44 {
+               reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>;
+               qcom,hw-settle-time = <200>;
+               qcom,ratiometric;
+               label = "pmk8350_xo_therm";
+       };
+
        channel@103 {
                reg = <PM8350_ADC7_DIE_TEMP(1)>;
                label = "pm8350_die_temp";
        };
 
+       channel@144 {
+               reg = <PM8350_ADC7_AMUX_THM1_100K_PU(1)>;
+               qcom,hw-settle-time = <200>;
+               qcom,ratiometric;
+               label = "skin_msm_temp";
+       };
+
+       channel@145 {
+               reg = <PM8350_ADC7_AMUX_THM2_100K_PU(1)>;
+               qcom,hw-settle-time = <200>;
+               qcom,ratiometric;
+               label = "camera_temp";
+       };
+
+       channel@146 {
+               reg = <PM8350_ADC7_AMUX_THM3_100K_PU(1)>;
+               qcom,hw-settle-time = <200>;
+               qcom,ratiometric;
+               label = "therm1_temp";
+       };
+
+       channel@147 {
+               reg = <PM8350_ADC7_AMUX_THM4_100K_PU(1)>;
+               qcom,hw-settle-time = <200>;
+               qcom,ratiometric;
+               label = "wide_rfc_temp";
+       };
+
+       channel@148 {
+               reg = <PM8350_ADC7_AMUX_THM5_100K_PU(1)>;
+               qcom,hw-settle-time = <200>;
+               qcom,ratiometric;
+               label = "rear_tof_temp";
+       };
+
+       channel@14c {
+               reg = <PM8350_ADC7_GPIO3_100K_PU(1)>;
+               qcom,hw-settle-time = <200>;
+               qcom,ratiometric;
+               label = "therm2_temp";
+       };
+
        channel@303 {
                reg = <PM8350B_ADC7_DIE_TEMP>;
                label = "pm8350b_die_temp";
        };
 
+       channel@348 {
+               reg = <PM8350B_ADC7_AMUX_THM5_100K_PU>;
+               qcom,hw-settle-time = <200>;
+               qcom,ratiometric;
+               label = "usb_conn_temp";
+       };
+
        channel@403 {
                reg = <PMR735A_ADC7_DIE_TEMP>;
                label = "pmr735a_die_temp";
        };
+
+       channel@44a {
+               reg = <PMR735A_ADC7_GPIO1_100K_PU>;
+               qcom,hw-settle-time = <200>;
+               qcom,ratiometric;
+               label = "qtm_w_temp";
+       };
+
+       channel@44b {
+               reg = <PMR735A_ADC7_GPIO2_100K_PU>;
+               qcom,hw-settle-time = <200>;
+               qcom,ratiometric;
+               label = "qtm_n_temp";
+       };
 };
 
 &remoteproc_adsp {