};
        };
 
+       battery: battery {
+               compatible = "simple-battery";
+               voltage-min-design-microvolt = <3400000>;
+               voltage-max-design-microvolt = <4350000>;
+               energy-full-design-microwatt-hours = <9500000>;
+               charge-full-design-microamp-hours = <2500000>;
+
+               ocv-capacity-celsius = <25>;
+               ocv-capacity-table-0 = <4330000 100>, <4265000 95>,
+                       <4208000 90>, <4153000 85>, <4100000 80>, <4049000 75>,
+                       <4001000 70>, <3962000 65>, <3919000 60>, <3872000 55>,
+                       <3839000 50>, <3817000 45>, <3798000 40>, <3783000 35>,
+                       <3767000 30>, <3747000 25>, <3729000 20>, <3709000 16>,
+                       <3688000 13>, <3681000 11>, <3680000 10>, <3679000 9>,
+                       <3677000 8>, <3674000 7>, <3666000 6>, <3641000 5>,
+                       <3597000 4>, <3537000 3>, <3457000 2>, <3336000 1>,
+                       <3000000 0>;
+       };
+
        gpio-keys {
                compatible = "gpio-keys";
 
        status = "okay";
 };
 
+&pm8916_bms {
+       status = "okay";
+
+       monitored-battery = <&battery>;
+       power-supplies = <&pm8916_charger>;
+};
+
+&pm8916_charger {
+       status = "okay";
+
+       monitored-battery = <&battery>;
+
+       qcom,fast-charge-safe-current = <900000>;
+       qcom,fast-charge-safe-voltage = <4300000>;
+};
+
 &pm8916_codec {
        qcom,micbias-lvl = <2800>;
        qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
        };
 };
 
-&pm8916_usbin {
-       status = "okay";
-};
-
 &pm8916_vib {
        status = "okay";
 };
 &usb {
        status = "okay";
        dr_mode = "peripheral";
-       extcon = <&pm8916_usbin>;
+       extcon = <&pm8916_charger>;
 };
 
 &usb_hs_phy {
-       extcon = <&pm8916_usbin>;
+       extcon = <&pm8916_charger>;
 };
 
 &venus {