Merge tag 'dt-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux-2.6-microblaze.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 <matti.vaittinen@fi.rohmeurope.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
22 properties:
23   compatible:
24     const: rohm,bd99954
25 #
26 #    The battery charging profile of BD99954.
27 #
28 #    Curve (1) represents charging current.
29 #    Curve (2) represents battery voltage.
30 #
31 #    The BD99954 data sheet divides charging to three phases.
32 #    a) Trickle-charge with constant current (8).
33 #    b) pre-charge with constant current (6)
34 #    c) fast-charge with:
35 #       First a constant current (5) phase (CC)
36 #       Then constant voltage (CV) phase (after the battery voltage has reached
37 #       target level - until charging current has dropped to termination
38 #       level (7)
39 #
40 #     V ^                                                        ^ I
41 #       .                                                        .
42 #       .                                                        .
43 # (4)- -.- - - - - - - - - - - - - -  +++++++++++++++++++++++++++.
44 #       .                            /                           .
45 #       .                     ++++++/++ - - - - - - - - - - - - -.- - (5)
46 #       .                     +    /  +                          .
47 #       .                     +   -   --                         .
48 #       .                     +  -     +                         .
49 #       .                     +.-      -:                        .
50 #       .                    .+         +`                       .
51 #       .                  .- +       | `/                       .
52 #       .               .."   +          .:                      .
53 #       .             -"      +           --                     .
54 #       .    (2)  ..."        +       |    :-                    .
55 #       .    ...""            +             -:                   .
56 # (3)- -.-.""- - - - -+++++++++ - - - - - - -.:- - - - - - - - - .- - (6)
57 #       .             +                       `:.                .
58 #       .             +               |         -:               .
59 #       .             +                           -:             .
60 #       .             +                             ..           .
61 #       .   (1)       +               |               "+++- - - -.- - (7)
62 #       -++++++++++++++- - - - - - - - - - - - - - - - - + - - - .- - (8)
63 #       .                                                +       -
64 #       -------------------------------------------------+++++++++-->
65 #       |             |       |   CC   |      CV         |
66 #       | --trickle-- | -pre- | ---------fast----------- |
67 #
68 #   The charger uses the following battery properties
69 # - trickle-charge-current-microamp:
70 #     Current used at trickle-charge phase (8 in above chart)
71 #     minimum: 64000
72 #     maximum: 1024000
73 #     multipleOf: 64000
74 # - precharge-current-microamp:
75 #     Current used at pre-charge phase (6 in above chart)
76 #     minimum: 64000
77 #     maximum: 1024000
78 #     multipleOf: 64000
79 # - constant-charge-current-max-microamp
80 #     Current used at fast charge constant current phase (5 in above chart)
81 #     minimum: 64000
82 #     maximum: 1024000
83 #     multipleOf: 64000
84 # - constant-charge-voltage-max-microvolt
85 #     The constant voltage used in fast charging phase (4 in above chart)
86 #     minimum: 2560000
87 #     maximum: 19200000
88 #     multipleOf: 16000
89 # - precharge-upper-limit-microvolt
90 #     charging mode is changed from trickle charging to pre-charging
91 #     when battery voltage exceeds this limit voltage (3 in above chart)
92 #     minimum: 2048000
93 #     maximum: 19200000
94 #     multipleOf: 64000
95 # - re-charge-voltage-microvolt
96 #     minimum: 2560000
97 #     maximum: 19200000
98 #     multipleOf: 16000
99 #     re-charging is automatically started when battry has been discharging
100 #     to the point where the battery voltage drops below this limit
101 # - over-voltage-threshold-microvolt
102 #     battery is expected to be faulty if battery voltage exceeds this limit.
103 #     Charger will then enter to a "battery faulty" -state
104 #     minimum: 2560000
105 #     maximum: 19200000
106 #     multipleOf: 16000
107 # - charge-term-current-microamp
108 #     minimum: 0
109 #     maximum: 1024000
110 #     multipleOf: 64000
111 #     a charge cycle terminates when the battery voltage is above recharge
112 #     threshold, and the current is below this setting (7 in above chart)
113 #   See also Documentation/devicetree/bindings/power/supply/battery.yaml
114
115   reg:
116     maxItems: 1
117
118   interrupts:
119     maxItems: 1
120
121   monitored-battery:
122     description:
123       phandle of battery characteristics devicetree node
124
125   rohm,vsys-regulation-microvolt:
126     description: system specific lower limit for system voltage.
127     minimum: 2560000
128     maximum: 19200000
129     multipleOf: 64000
130
131   rohm,vbus-input-current-limit-microamp:
132     description: system specific VBUS input current limit (in microamps).
133     minimum: 32000
134     maximum: 16352000
135     multipleOf: 32000
136
137   rohm,vcc-input-current-limit-microamp:
138     description: system specific VCC/VACP input current limit (in microamps).
139     minimum: 32000
140     maximum: 16352000
141     multipleOf: 32000
142
143 required:
144   - compatible
145
146 additionalProperties: false
147
148 examples:
149   - |
150     i2c {
151         #address-cells = <1>;
152         #size-cells = <0>;
153         charger@9 {
154             compatible = "rohm,bd99954";
155             monitored-battery = <&battery>;
156             reg = <0x9>;
157             interrupt-parent = <&gpio1>;
158             interrupts = <29 8>;
159             rohm,vsys-regulation-microvolt = <8960000>;
160             rohm,vbus-input-current-limit-microamp = <1472000>;
161             rohm,vcc-input-current-limit-microamp = <1472000>;
162         };
163     };