1*7f590e38SNikita Travkin# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*7f590e38SNikita Travkin%YAML 1.2 3*7f590e38SNikita Travkin--- 4*7f590e38SNikita Travkin$id: http://devicetree.org/schemas/power/supply/qcom,pm8916-bms-vm.yaml# 5*7f590e38SNikita Travkin$schema: http://devicetree.org/meta-schemas/core.yaml# 6*7f590e38SNikita Travkin 7*7f590e38SNikita Travkintitle: Qualcomm Voltage Mode BMS 8*7f590e38SNikita Travkin 9*7f590e38SNikita Travkinmaintainers: 10*7f590e38SNikita Travkin - Nikita Travkin <nikita@trvn.ru> 11*7f590e38SNikita Travkin 12*7f590e38SNikita Travkindescription: 13*7f590e38SNikita Travkin Voltage Mode BMS is a hardware block found in some Qualcomm PMICs 14*7f590e38SNikita Travkin such as pm8916. This block performs battery voltage monitoring. 15*7f590e38SNikita Travkin 16*7f590e38SNikita TravkinallOf: 17*7f590e38SNikita Travkin - $ref: power-supply.yaml# 18*7f590e38SNikita Travkin 19*7f590e38SNikita Travkinproperties: 20*7f590e38SNikita Travkin compatible: 21*7f590e38SNikita Travkin const: qcom,pm8916-bms-vm 22*7f590e38SNikita Travkin 23*7f590e38SNikita Travkin reg: 24*7f590e38SNikita Travkin maxItems: 1 25*7f590e38SNikita Travkin 26*7f590e38SNikita Travkin interrupts: 27*7f590e38SNikita Travkin items: 28*7f590e38SNikita Travkin - description: BMS FSM left S3 mode 29*7f590e38SNikita Travkin - description: BMS FSM entered S2 mode 30*7f590e38SNikita Travkin - description: OCV measured in S3 mode 31*7f590e38SNikita Travkin - description: OCV below threshold 32*7f590e38SNikita Travkin - description: FIFO update done 33*7f590e38SNikita Travkin - description: BMS FSM switched state 34*7f590e38SNikita Travkin 35*7f590e38SNikita Travkin interrupt-names: 36*7f590e38SNikita Travkin items: 37*7f590e38SNikita Travkin - const: cv_leave 38*7f590e38SNikita Travkin - const: cv_enter 39*7f590e38SNikita Travkin - const: ocv_good 40*7f590e38SNikita Travkin - const: ocv_thr 41*7f590e38SNikita Travkin - const: fifo 42*7f590e38SNikita Travkin - const: state_chg 43*7f590e38SNikita Travkin 44*7f590e38SNikita Travkin monitored-battery: true 45*7f590e38SNikita Travkin 46*7f590e38SNikita Travkin power-supplies: true 47*7f590e38SNikita Travkin 48*7f590e38SNikita Travkinrequired: 49*7f590e38SNikita Travkin - compatible 50*7f590e38SNikita Travkin - reg 51*7f590e38SNikita Travkin - interrupts 52*7f590e38SNikita Travkin - interrupt-names 53*7f590e38SNikita Travkin - monitored-battery 54*7f590e38SNikita Travkin 55*7f590e38SNikita TravkinadditionalProperties: false 56*7f590e38SNikita Travkin 57*7f590e38SNikita Travkinexamples: 58*7f590e38SNikita Travkin - | 59*7f590e38SNikita Travkin #include <dt-bindings/interrupt-controller/irq.h> 60*7f590e38SNikita Travkin pmic { 61*7f590e38SNikita Travkin #address-cells = <1>; 62*7f590e38SNikita Travkin #size-cells = <0>; 63*7f590e38SNikita Travkin 64*7f590e38SNikita Travkin battery@4000 { 65*7f590e38SNikita Travkin compatible = "qcom,pm8916-bms-vm"; 66*7f590e38SNikita Travkin reg = <0x4000>; 67*7f590e38SNikita Travkin interrupts = <0x0 0x40 0 IRQ_TYPE_EDGE_RISING>, 68*7f590e38SNikita Travkin <0x0 0x40 1 IRQ_TYPE_EDGE_RISING>, 69*7f590e38SNikita Travkin <0x0 0x40 2 IRQ_TYPE_EDGE_RISING>, 70*7f590e38SNikita Travkin <0x0 0x40 3 IRQ_TYPE_EDGE_RISING>, 71*7f590e38SNikita Travkin <0x0 0x40 4 IRQ_TYPE_EDGE_RISING>, 72*7f590e38SNikita Travkin <0x0 0x40 5 IRQ_TYPE_EDGE_RISING>; 73*7f590e38SNikita Travkin interrupt-names = "cv_leave", 74*7f590e38SNikita Travkin "cv_enter", 75*7f590e38SNikita Travkin "ocv_good", 76*7f590e38SNikita Travkin "ocv_thr", 77*7f590e38SNikita Travkin "fifo", 78*7f590e38SNikita Travkin "state_chg"; 79*7f590e38SNikita Travkin 80*7f590e38SNikita Travkin monitored-battery = <&battery>; 81*7f590e38SNikita Travkin power-supplies = <&pm8916_charger>; 82*7f590e38SNikita Travkin }; 83*7f590e38SNikita Travkin }; 84