xref: /linux/Documentation/devicetree/bindings/power/supply/rohm,bd99954.yaml (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
12a75c8a4SMatti Vaittinen# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
22a75c8a4SMatti Vaittinen%YAML 1.2
32a75c8a4SMatti Vaittinen---
42a75c8a4SMatti Vaittinen$id: http://devicetree.org/schemas/power/supply/rohm,bd99954.yaml#
52a75c8a4SMatti Vaittinen$schema: http://devicetree.org/meta-schemas/core.yaml#
62a75c8a4SMatti Vaittinen
72a75c8a4SMatti Vaittinentitle: ROHM BD99954 Battery charger
82a75c8a4SMatti Vaittinen
92a75c8a4SMatti Vaittinenmaintainers:
10*1ca8a011SMatti Vaittinen  - Matti Vaittinen <mazziesaccount@gmail.com>
112a75c8a4SMatti Vaittinen  - Markus Laine <markus.laine@fi.rohmeurope.com>
122a75c8a4SMatti Vaittinen  - Mikko Mutanen <mikko.mutanen@fi.rohmeurope.com>
132a75c8a4SMatti Vaittinen
142a75c8a4SMatti Vaittinendescription: |
152a75c8a4SMatti Vaittinen  The ROHM BD99954 is a Battery Management LSI for 1-4 cell Lithium-Ion
162a75c8a4SMatti Vaittinen  secondary battery intended to be used in space-constraint equipment such
172a75c8a4SMatti Vaittinen  as Low profile Notebook PC, Tablets and other applications. BD99954
182a75c8a4SMatti Vaittinen  provides a Dual-source Battery Charger, two port BC1.2 detection and a
192a75c8a4SMatti Vaittinen  Battery Monitor.
202a75c8a4SMatti Vaittinen
21c7d47d51SKrzysztof Kozlowski$ref: power-supply.yaml#
222a75c8a4SMatti Vaittinen
232a75c8a4SMatti Vaittinenproperties:
242a75c8a4SMatti Vaittinen  compatible:
252a75c8a4SMatti Vaittinen    const: rohm,bd99954
262a75c8a4SMatti Vaittinen#
272a75c8a4SMatti Vaittinen#    The battery charging profile of BD99954.
282a75c8a4SMatti Vaittinen#
292a75c8a4SMatti Vaittinen#    Curve (1) represents charging current.
302a75c8a4SMatti Vaittinen#    Curve (2) represents battery voltage.
312a75c8a4SMatti Vaittinen#
322a75c8a4SMatti Vaittinen#    The BD99954 data sheet divides charging to three phases.
332a75c8a4SMatti Vaittinen#    a) Trickle-charge with constant current (8).
342a75c8a4SMatti Vaittinen#    b) pre-charge with constant current (6)
352a75c8a4SMatti Vaittinen#    c) fast-charge with:
362a75c8a4SMatti Vaittinen#       First a constant current (5) phase (CC)
372a75c8a4SMatti Vaittinen#       Then constant voltage (CV) phase (after the battery voltage has reached
382a75c8a4SMatti Vaittinen#       target level - until charging current has dropped to termination
392a75c8a4SMatti Vaittinen#       level (7)
402a75c8a4SMatti Vaittinen#
412a75c8a4SMatti Vaittinen#     V ^                                                        ^ I
422a75c8a4SMatti Vaittinen#       .                                                        .
432a75c8a4SMatti Vaittinen#       .                                                        .
442a75c8a4SMatti Vaittinen# (4)- -.- - - - - - - - - - - - - -  +++++++++++++++++++++++++++.
452a75c8a4SMatti Vaittinen#       .                            /                           .
462a75c8a4SMatti Vaittinen#       .                     ++++++/++ - - - - - - - - - - - - -.- - (5)
472a75c8a4SMatti Vaittinen#       .                     +    /  +                          .
482a75c8a4SMatti Vaittinen#       .                     +   -   --                         .
492a75c8a4SMatti Vaittinen#       .                     +  -     +                         .
502a75c8a4SMatti Vaittinen#       .                     +.-      -:                        .
512a75c8a4SMatti Vaittinen#       .                    .+         +`                       .
522a75c8a4SMatti Vaittinen#       .                  .- +       | `/                       .
532a75c8a4SMatti Vaittinen#       .               .."   +          .:                      .
542a75c8a4SMatti Vaittinen#       .             -"      +           --                     .
552a75c8a4SMatti Vaittinen#       .    (2)  ..."        +       |    :-                    .
562a75c8a4SMatti Vaittinen#       .    ...""            +             -:                   .
572a75c8a4SMatti Vaittinen# (3)- -.-.""- - - - -+++++++++ - - - - - - -.:- - - - - - - - - .- - (6)
582a75c8a4SMatti Vaittinen#       .             +                       `:.                .
592a75c8a4SMatti Vaittinen#       .             +               |         -:               .
602a75c8a4SMatti Vaittinen#       .             +                           -:             .
612a75c8a4SMatti Vaittinen#       .             +                             ..           .
622a75c8a4SMatti Vaittinen#       .   (1)       +               |               "+++- - - -.- - (7)
632a75c8a4SMatti Vaittinen#       -++++++++++++++- - - - - - - - - - - - - - - - - + - - - .- - (8)
642a75c8a4SMatti Vaittinen#       .                                                +       -
652a75c8a4SMatti Vaittinen#       -------------------------------------------------+++++++++-->
662a75c8a4SMatti Vaittinen#       |             |       |   CC   |      CV         |
672a75c8a4SMatti Vaittinen#       | --trickle-- | -pre- | ---------fast----------- |
682a75c8a4SMatti Vaittinen#
692a75c8a4SMatti Vaittinen#   The charger uses the following battery properties
702a75c8a4SMatti Vaittinen# - trickle-charge-current-microamp:
712a75c8a4SMatti Vaittinen#     Current used at trickle-charge phase (8 in above chart)
722a75c8a4SMatti Vaittinen#     minimum: 64000
732a75c8a4SMatti Vaittinen#     maximum: 1024000
742a75c8a4SMatti Vaittinen#     multipleOf: 64000
752a75c8a4SMatti Vaittinen# - precharge-current-microamp:
762a75c8a4SMatti Vaittinen#     Current used at pre-charge phase (6 in above chart)
772a75c8a4SMatti Vaittinen#     minimum: 64000
782a75c8a4SMatti Vaittinen#     maximum: 1024000
792a75c8a4SMatti Vaittinen#     multipleOf: 64000
802a75c8a4SMatti Vaittinen# - constant-charge-current-max-microamp
812a75c8a4SMatti Vaittinen#     Current used at fast charge constant current phase (5 in above chart)
822a75c8a4SMatti Vaittinen#     minimum: 64000
832a75c8a4SMatti Vaittinen#     maximum: 1024000
842a75c8a4SMatti Vaittinen#     multipleOf: 64000
852a75c8a4SMatti Vaittinen# - constant-charge-voltage-max-microvolt
862a75c8a4SMatti Vaittinen#     The constant voltage used in fast charging phase (4 in above chart)
872a75c8a4SMatti Vaittinen#     minimum: 2560000
882a75c8a4SMatti Vaittinen#     maximum: 19200000
892a75c8a4SMatti Vaittinen#     multipleOf: 16000
902a75c8a4SMatti Vaittinen# - precharge-upper-limit-microvolt
912a75c8a4SMatti Vaittinen#     charging mode is changed from trickle charging to pre-charging
922a75c8a4SMatti Vaittinen#     when battery voltage exceeds this limit voltage (3 in above chart)
932a75c8a4SMatti Vaittinen#     minimum: 2048000
942a75c8a4SMatti Vaittinen#     maximum: 19200000
952a75c8a4SMatti Vaittinen#     multipleOf: 64000
962a75c8a4SMatti Vaittinen# - re-charge-voltage-microvolt
972a75c8a4SMatti Vaittinen#     minimum: 2560000
982a75c8a4SMatti Vaittinen#     maximum: 19200000
992a75c8a4SMatti Vaittinen#     multipleOf: 16000
1002a75c8a4SMatti Vaittinen#     re-charging is automatically started when battry has been discharging
1012a75c8a4SMatti Vaittinen#     to the point where the battery voltage drops below this limit
1022a75c8a4SMatti Vaittinen# - over-voltage-threshold-microvolt
1032a75c8a4SMatti Vaittinen#     battery is expected to be faulty if battery voltage exceeds this limit.
1042a75c8a4SMatti Vaittinen#     Charger will then enter to a "battery faulty" -state
1052a75c8a4SMatti Vaittinen#     minimum: 2560000
1062a75c8a4SMatti Vaittinen#     maximum: 19200000
1072a75c8a4SMatti Vaittinen#     multipleOf: 16000
1082a75c8a4SMatti Vaittinen# - charge-term-current-microamp
1092a75c8a4SMatti Vaittinen#     minimum: 0
1102a75c8a4SMatti Vaittinen#     maximum: 1024000
1112a75c8a4SMatti Vaittinen#     multipleOf: 64000
1122a75c8a4SMatti Vaittinen#     a charge cycle terminates when the battery voltage is above recharge
1132a75c8a4SMatti Vaittinen#     threshold, and the current is below this setting (7 in above chart)
11470c23e62SSebastian Reichel#   See also Documentation/devicetree/bindings/power/supply/battery.yaml
1152a75c8a4SMatti Vaittinen
1165be478f9SRob Herring  reg:
1175be478f9SRob Herring    maxItems: 1
1185be478f9SRob Herring
1195be478f9SRob Herring  interrupts:
1205be478f9SRob Herring    maxItems: 1
1215be478f9SRob Herring
1222a75c8a4SMatti Vaittinen  monitored-battery:
1232a75c8a4SMatti Vaittinen    description:
1242a75c8a4SMatti Vaittinen      phandle of battery characteristics devicetree node
1252a75c8a4SMatti Vaittinen
1262a75c8a4SMatti Vaittinen  rohm,vsys-regulation-microvolt:
1272a75c8a4SMatti Vaittinen    description: system specific lower limit for system voltage.
1282a75c8a4SMatti Vaittinen    minimum: 2560000
1292a75c8a4SMatti Vaittinen    maximum: 19200000
1302a75c8a4SMatti Vaittinen    multipleOf: 64000
1312a75c8a4SMatti Vaittinen
1322a75c8a4SMatti Vaittinen  rohm,vbus-input-current-limit-microamp:
1332a75c8a4SMatti Vaittinen    description: system specific VBUS input current limit (in microamps).
1342a75c8a4SMatti Vaittinen    minimum: 32000
1352a75c8a4SMatti Vaittinen    maximum: 16352000
1362a75c8a4SMatti Vaittinen    multipleOf: 32000
1372a75c8a4SMatti Vaittinen
1382a75c8a4SMatti Vaittinen  rohm,vcc-input-current-limit-microamp:
1392a75c8a4SMatti Vaittinen    description: system specific VCC/VACP input current limit (in microamps).
1402a75c8a4SMatti Vaittinen    minimum: 32000
1412a75c8a4SMatti Vaittinen    maximum: 16352000
1422a75c8a4SMatti Vaittinen    multipleOf: 32000
1432a75c8a4SMatti Vaittinen
1442a75c8a4SMatti Vaittinenrequired:
1452a75c8a4SMatti Vaittinen  - compatible
1462a75c8a4SMatti Vaittinen
1475be478f9SRob HerringadditionalProperties: false
1485be478f9SRob Herring
1492a75c8a4SMatti Vaittinenexamples:
1502a75c8a4SMatti Vaittinen  - |
1512a75c8a4SMatti Vaittinen    i2c {
1522a75c8a4SMatti Vaittinen        #address-cells = <1>;
1532a75c8a4SMatti Vaittinen        #size-cells = <0>;
1542a75c8a4SMatti Vaittinen        charger@9 {
1552a75c8a4SMatti Vaittinen            compatible = "rohm,bd99954";
1562a75c8a4SMatti Vaittinen            monitored-battery = <&battery>;
1572a75c8a4SMatti Vaittinen            reg = <0x9>;
1582a75c8a4SMatti Vaittinen            interrupt-parent = <&gpio1>;
1592a75c8a4SMatti Vaittinen            interrupts = <29 8>;
1602a75c8a4SMatti Vaittinen            rohm,vsys-regulation-microvolt = <8960000>;
1612a75c8a4SMatti Vaittinen            rohm,vbus-input-current-limit-microamp = <1472000>;
1622a75c8a4SMatti Vaittinen            rohm,vcc-input-current-limit-microamp = <1472000>;
1632a75c8a4SMatti Vaittinen        };
1642a75c8a4SMatti Vaittinen    };
165