This series adds charger and "fuel-gauge" found in Qualcomm pm8916 PMIC. The LBC - Linear Battery Charger is a simple CC/CV charger, that works autonomously after the current and voltage limits are set. The VM-BMS - Voltage Mode BMS is a simple hardware block that provides average voltage on the battery terminals. These two hardware blocks are used as the battery charging and management solution in some old Qualcomm devices. Signed-off-by: Nikita Travkin <nikita@xxxxxxx> --- Changes in v3: - Use device_property_* instead of of_* - PROP_INPUT_CURRENT_LIMIT -> PROP_CONSTANT_CHARGE_CURRENT in lbc - Report OCV with timeout in vm-bms - Link to v2: https://lore.kernel.org/r/20230731-pm8916-bms-lbc-v2-0-82a4ebb39c16@xxxxxxx Changes in v2: - Add full interrupt list in the DT bindings. (Conor) - Link to v1: https://lore.kernel.org/r/20230728-pm8916-bms-lbc-v1-0-56da32467487@xxxxxxx --- Nikita Travkin (4): dt-bindings: power: supply: Add pm8916 VM-BMS dt-bindings: power: supply: Add pm8916 LBC power: supply: Add pm8916 VM-BMS support power: supply: Add driver for pm8916 lbc .../bindings/power/supply/qcom,pm8916-bms-vm.yaml | 83 +++++ .../bindings/power/supply/qcom,pm8916-lbc.yaml | 128 +++++++ drivers/power/supply/Kconfig | 22 ++ drivers/power/supply/Makefile | 2 + drivers/power/supply/pm8916_bms_vm.c | 305 +++++++++++++++++ drivers/power/supply/pm8916_lbc.c | 381 +++++++++++++++++++++ 6 files changed, 921 insertions(+) --- base-commit: dfa449a58323de195773cf928d99db4130702bf7 change-id: 20230727-pm8916-bms-lbc-3f80305326a2 Best regards, -- Nikita Travkin <nikita@xxxxxxx>