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