]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
arm64: dts: qcom: pm8916: Add BMS and charger
authorNikita Travkin <nikita@trvn.ru>
Mon, 20 Nov 2023 14:03:04 +0000 (19:03 +0500)
committerBjorn Andersson <andersson@kernel.org>
Thu, 7 Dec 2023 16:38:40 +0000 (08:38 -0800)
pm8916 contains some hardware blocks for battery powered devices:

- VM-BMS: Battery voltage monitoring block.
- LBC: Linear battery charger.

Add them to the pmic dtsi so the devices that make use of those blocks
can enable them.

Signed-off-by: Nikita Travkin <nikita@trvn.ru>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20231120-pm8916-dtsi-bms-lbc-v4-2-4f91056c8252@trvn.ru
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/pm8916.dtsi

index f4de86787743b09a319fb37813fecad598064289..4b2e8fb47d2da13cd1a80bae044f38cc410a2feb 100644 (file)
                        };
                };
 
+               pm8916_charger: charger@1000 {
+                       compatible = "qcom,pm8916-lbc";
+                       reg = <0x1000>, <0x1200>, <0x1300>, <0x1600>;
+                       reg-names = "chgr", "bat_if", "usb", "misc";
+
+                       interrupts = <0x0 0x10 0 IRQ_TYPE_EDGE_BOTH>,
+                                    <0x0 0x10 5 IRQ_TYPE_EDGE_BOTH>,
+                                    <0x0 0x10 6 IRQ_TYPE_EDGE_BOTH>,
+                                    <0x0 0x10 7 IRQ_TYPE_EDGE_BOTH>,
+                                    <0x0 0x12 0 IRQ_TYPE_EDGE_BOTH>,
+                                    <0x0 0x12 1 IRQ_TYPE_EDGE_BOTH>,
+                                    <0x0 0x13 0 IRQ_TYPE_EDGE_BOTH>,
+                                    <0x0 0x13 1 IRQ_TYPE_EDGE_BOTH>,
+                                    <0x0 0x13 2 IRQ_TYPE_EDGE_BOTH>,
+                                    <0x0 0x13 4 IRQ_TYPE_EDGE_BOTH>;
+                       interrupt-names = "vbat_det",
+                                         "fast_chg",
+                                         "chg_fail",
+                                         "chg_done",
+                                         "bat_pres",
+                                         "temp_ok",
+                                         "coarse_det",
+                                         "usb_vbus",
+                                         "chg_gone",
+                                         "overtemp";
+
+                       status = "disabled";
+               };
+
                pm8916_usbin: usb-detect@1300 {
                        compatible = "qcom,pm8941-misc";
                        reg = <0x1300>;
                        };
                };
 
+               pm8916_bms: battery@4000 {
+                       compatible = "qcom,pm8916-bms-vm";
+                       reg = <0x4000>;
+                       interrupts = <0x0 0x40 0 IRQ_TYPE_EDGE_RISING>,
+                                    <0x0 0x40 1 IRQ_TYPE_EDGE_RISING>,
+                                    <0x0 0x40 2 IRQ_TYPE_EDGE_RISING>,
+                                    <0x0 0x40 3 IRQ_TYPE_EDGE_RISING>,
+                                    <0x0 0x40 4 IRQ_TYPE_EDGE_RISING>,
+                                    <0x0 0x40 5 IRQ_TYPE_EDGE_RISING>;
+                       interrupt-names = "cv_leave",
+                                         "cv_enter",
+                                         "ocv_good",
+                                         "ocv_thr",
+                                         "fifo",
+                                         "state_chg";
+
+                       status = "disabled";
+               };
+
                rtc@6000 {
                        compatible = "qcom,pm8941-rtc";
                        reg = <0x6000>, <0x6100>;