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