Merge tag 'mfd-next-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
[platform/kernel/linux-rpi.git] / Documentation / devicetree / bindings / power / supply / rohm,bd99954.yaml
1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/power/supply/rohm,bd99954.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: ROHM BD99954 Battery charger
8
9 maintainers:
10   - Matti Vaittinen <mazziesaccount@gmail.com>
11   - Markus Laine <markus.laine@fi.rohmeurope.com>
12   - Mikko Mutanen <mikko.mutanen@fi.rohmeurope.com>
13
14 description: |
15   The ROHM BD99954 is a Battery Management LSI for 1-4 cell Lithium-Ion
16   secondary battery intended to be used in space-constraint equipment such
17   as Low profile Notebook PC, Tablets and other applications. BD99954
18   provides a Dual-source Battery Charger, two port BC1.2 detection and a
19   Battery Monitor.
20
21 $ref: power-supply.yaml#
22
23 properties:
24   compatible:
25     const: rohm,bd99954
26 #
27 #    The battery charging profile of BD99954.
28 #
29 #    Curve (1) represents charging current.
30 #    Curve (2) represents battery voltage.
31 #
32 #    The BD99954 data sheet divides charging to three phases.
33 #    a) Trickle-charge with constant current (8).
34 #    b) pre-charge with constant current (6)
35 #    c) fast-charge with:
36 #       First a constant current (5) phase (CC)
37 #       Then constant voltage (CV) phase (after the battery voltage has reached
38 #       target level - until charging current has dropped to termination
39 #       level (7)
40 #
41 #     V ^                                                        ^ I
42 #       .                                                        .
43 #       .                                                        .
44 # (4)- -.- - - - - - - - - - - - - -  +++++++++++++++++++++++++++.
45 #       .                            /                           .
46 #       .                     ++++++/++ - - - - - - - - - - - - -.- - (5)
47 #       .                     +    /  +                          .
48 #       .                     +   -   --                         .
49 #       .                     +  -     +                         .
50 #       .                     +.-      -:                        .
51 #       .                    .+         +`                       .
52 #       .                  .- +       | `/                       .
53 #       .               .."   +          .:                      .
54 #       .             -"      +           --                     .
55 #       .    (2)  ..."        +       |    :-                    .
56 #       .    ...""            +             -:                   .
57 # (3)- -.-.""- - - - -+++++++++ - - - - - - -.:- - - - - - - - - .- - (6)
58 #       .             +                       `:.                .
59 #       .             +               |         -:               .
60 #       .             +                           -:             .
61 #       .             +                             ..           .
62 #       .   (1)       +               |               "+++- - - -.- - (7)
63 #       -++++++++++++++- - - - - - - - - - - - - - - - - + - - - .- - (8)
64 #       .                                                +       -
65 #       -------------------------------------------------+++++++++-->
66 #       |             |       |   CC   |      CV         |
67 #       | --trickle-- | -pre- | ---------fast----------- |
68 #
69 #   The charger uses the following battery properties
70 # - trickle-charge-current-microamp:
71 #     Current used at trickle-charge phase (8 in above chart)
72 #     minimum: 64000
73 #     maximum: 1024000
74 #     multipleOf: 64000
75 # - precharge-current-microamp:
76 #     Current used at pre-charge phase (6 in above chart)
77 #     minimum: 64000
78 #     maximum: 1024000
79 #     multipleOf: 64000
80 # - constant-charge-current-max-microamp
81 #     Current used at fast charge constant current phase (5 in above chart)
82 #     minimum: 64000
83 #     maximum: 1024000
84 #     multipleOf: 64000
85 # - constant-charge-voltage-max-microvolt
86 #     The constant voltage used in fast charging phase (4 in above chart)
87 #     minimum: 2560000
88 #     maximum: 19200000
89 #     multipleOf: 16000
90 # - precharge-upper-limit-microvolt
91 #     charging mode is changed from trickle charging to pre-charging
92 #     when battery voltage exceeds this limit voltage (3 in above chart)
93 #     minimum: 2048000
94 #     maximum: 19200000
95 #     multipleOf: 64000
96 # - re-charge-voltage-microvolt
97 #     minimum: 2560000
98 #     maximum: 19200000
99 #     multipleOf: 16000
100 #     re-charging is automatically started when battry has been discharging
101 #     to the point where the battery voltage drops below this limit
102 # - over-voltage-threshold-microvolt
103 #     battery is expected to be faulty if battery voltage exceeds this limit.
104 #     Charger will then enter to a "battery faulty" -state
105 #     minimum: 2560000
106 #     maximum: 19200000
107 #     multipleOf: 16000
108 # - charge-term-current-microamp
109 #     minimum: 0
110 #     maximum: 1024000
111 #     multipleOf: 64000
112 #     a charge cycle terminates when the battery voltage is above recharge
113 #     threshold, and the current is below this setting (7 in above chart)
114 #   See also Documentation/devicetree/bindings/power/supply/battery.yaml
115
116   reg:
117     maxItems: 1
118
119   interrupts:
120     maxItems: 1
121
122   monitored-battery:
123     description:
124       phandle of battery characteristics devicetree node
125
126   rohm,vsys-regulation-microvolt:
127     description: system specific lower limit for system voltage.
128     minimum: 2560000
129     maximum: 19200000
130     multipleOf: 64000
131
132   rohm,vbus-input-current-limit-microamp:
133     description: system specific VBUS input current limit (in microamps).
134     minimum: 32000
135     maximum: 16352000
136     multipleOf: 32000
137
138   rohm,vcc-input-current-limit-microamp:
139     description: system specific VCC/VACP input current limit (in microamps).
140     minimum: 32000
141     maximum: 16352000
142     multipleOf: 32000
143
144 required:
145   - compatible
146
147 additionalProperties: false
148
149 examples:
150   - |
151     i2c {
152         #address-cells = <1>;
153         #size-cells = <0>;
154         charger@9 {
155             compatible = "rohm,bd99954";
156             monitored-battery = <&battery>;
157             reg = <0x9>;
158             interrupt-parent = <&gpio1>;
159             interrupts = <29 8>;
160             rohm,vsys-regulation-microvolt = <8960000>;
161             rohm,vbus-input-current-limit-microamp = <1472000>;
162             rohm,vcc-input-current-limit-microamp = <1472000>;
163         };
164     };