OSDN Git Service

arm64: dts: qcom: sm7225-fairphone-fp4: Add pm7250b PMIC
authorLuca Weiss <luca.weiss@fairphone.com>
Fri, 2 Sep 2022 11:10:55 +0000 (13:10 +0200)
committerBjorn Andersson <andersson@kernel.org>
Tue, 6 Sep 2022 14:54:49 +0000 (09:54 -0500)
The PM7250B is primarily used for charger and fuel gauge on Fairphone 4
but also has some thermal zones that we can configure already.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220902111055.106814-3-luca.weiss@fairphone.com
arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts

index c76abe7..30c94fd 100644 (file)
@@ -12,6 +12,7 @@
 #include "sm7225.dtsi"
 #include "pm6150l.dtsi"
 #include "pm6350.dtsi"
+#include "pm7250b.dtsi"
 
 / {
        model = "Fairphone 4";
                        qcom,vmid = <15>;
                };
        };
+
+       thermal-zones {
+               chg-skin-thermal {
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
+                       thermal-sensors = <&pm7250b_adc_tm 0>;
+
+                       trips {
+                               active-config0 {
+                                       temperature = <125000>;
+                                       hysteresis = <1000>;
+                                       type = "passive";
+                               };
+                       };
+               };
+
+               conn-thermal {
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
+                       thermal-sensors = <&pm7250b_adc_tm 1>;
+
+                       trips {
+                               active-config0 {
+                                       temperature = <125000>;
+                                       hysteresis = <1000>;
+                                       type = "passive";
+                               };
+                       };
+               };
+       };
 };
 
 &adsp {
        linux,code = <KEY_VOLUMEDOWN>;
 };
 
+&pm7250b_adc {
+       adc-chan@4d {
+               reg = <ADC5_AMUX_THM1_100K_PU>;
+               qcom,ratiometric;
+               qcom,hw-settle-time = <200>;
+               qcom,pre-scaling = <1 1>;
+               label = "charger_skin_therm";
+       };
+
+       adc-chan@4f {
+               reg = <ADC5_AMUX_THM3_100K_PU>;
+               qcom,ratiometric;
+               qcom,hw-settle-time = <200>;
+               qcom,pre-scaling = <1 1>;
+               label = "conn_therm";
+       };
+};
+
+&pm7250b_adc_tm {
+       status = "okay";
+
+       charger-skin-therm@0 {
+               reg = <0>;
+               io-channels = <&pm7250b_adc ADC5_AMUX_THM1_100K_PU>;
+               qcom,ratiometric;
+               qcom,hw-settle-time-us = <200>;
+       };
+
+       conn-therm@1 {
+               reg = <1>;
+               io-channels = <&pm7250b_adc ADC5_AMUX_THM3_100K_PU>;
+               qcom,ratiometric;
+               qcom,hw-settle-time-us = <200>;
+       };
+};
+
 &qupv3_id_1 {
        status = "okay";
 };