# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/power/supply/rohm,bd99954.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ROHM BD99954 Battery charger

maintainers:
  - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
  - Markus Laine <markus.laine@fi.rohmeurope.com>
  - Mikko Mutanen <mikko.mutanen@fi.rohmeurope.com>

description: |
  The ROHM BD99954 is a Battery Management LSI for 1-4 cell Lithium-Ion
  secondary battery intended to be used in space-constraint equipment such
  as Low profile Notebook PC, Tablets and other applications. BD99954
  provides a Dual-source Battery Charger, two port BC1.2 detection and a
  Battery Monitor.


properties:
  compatible:
    const: rohm,bd99954
#
#    The battery charging profile of BD99954.
#
#    Curve (1) represents charging current.
#    Curve (2) represents battery voltage.
#
#    The BD99954 data sheet divides charging to three phases.
#    a) Trickle-charge with constant current (8).
#    b) pre-charge with constant current (6)
#    c) fast-charge with:
#       First a constant current (5) phase (CC)
#       Then constant voltage (CV) phase (after the battery voltage has reached
#       target level - until charging current has dropped to termination
#       level (7)
#
#     V ^                                                        ^ I
#       .                                                        .
#       .                                                        .
# (4)- -.- - - - - - - - - - - - - -  +++++++++++++++++++++++++++.
#       .                            /                           .
#       .                     ++++++/++ - - - - - - - - - - - - -.- - (5)
#       .                     +    /  +                          .
#       .                     +   -   --                         .
#       .                     +  -     +                         .
#       .                     +.-      -:                        .
#       .                    .+         +`                       .
#       .                  .- +       | `/                       .
#       .               .."   +          .:                      .
#       .             -"      +           --                     .
#       .    (2)  ..."        +       |    :-                    .
#       .    ...""            +             -:                   .
# (3)- -.-.""- - - - -+++++++++ - - - - - - -.:- - - - - - - - - .- - (6)
#       .             +                       `:.                .
#       .             +               |         -:               .
#       .             +                           -:             .
#       .             +                             ..           .
#       .   (1)       +               |               "+++- - - -.- - (7)
#       -++++++++++++++- - - - - - - - - - - - - - - - - + - - - .- - (8)
#       .                                                +       -
#       -------------------------------------------------+++++++++-->
#       |             |       |   CC   |      CV         |
#       | --trickle-- | -pre- | ---------fast----------- |
#
#   The charger uses the following battery properties
# - trickle-charge-current-microamp:
#     Current used at trickle-charge phase (8 in above chart)
#     minimum: 64000
#     maximum: 1024000
#     multipleOf: 64000
# - precharge-current-microamp:
#     Current used at pre-charge phase (6 in above chart)
#     minimum: 64000
#     maximum: 1024000
#     multipleOf: 64000
# - constant-charge-current-max-microamp
#     Current used at fast charge constant current phase (5 in above chart)
#     minimum: 64000
#     maximum: 1024000
#     multipleOf: 64000
# - constant-charge-voltage-max-microvolt
#     The constant voltage used in fast charging phase (4 in above chart)
#     minimum: 2560000
#     maximum: 19200000
#     multipleOf: 16000
# - precharge-upper-limit-microvolt
#     charging mode is changed from trickle charging to pre-charging
#     when battery voltage exceeds this limit voltage (3 in above chart)
#     minimum: 2048000
#     maximum: 19200000
#     multipleOf: 64000
# - re-charge-voltage-microvolt
#     minimum: 2560000
#     maximum: 19200000
#     multipleOf: 16000
#     re-charging is automatically started when battry has been discharging
#     to the point where the battery voltage drops below this limit
# - over-voltage-threshold-microvolt
#     battery is expected to be faulty if battery voltage exceeds this limit.
#     Charger will then enter to a "battery faulty" -state
#     minimum: 2560000
#     maximum: 19200000
#     multipleOf: 16000
# - charge-term-current-microamp
#     minimum: 0
#     maximum: 1024000
#     multipleOf: 64000
#     a charge cycle terminates when the battery voltage is above recharge
#     threshold, and the current is below this setting (7 in above chart)
#   See also Documentation/devicetree/bindings/power/supply/battery.txt

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  monitored-battery:
    description:
      phandle of battery characteristics devicetree node

  rohm,vsys-regulation-microvolt:
    description: system specific lower limit for system voltage.
    minimum: 2560000
    maximum: 19200000
    multipleOf: 64000

  rohm,vbus-input-current-limit-microamp:
    description: system specific VBUS input current limit (in microamps).
    minimum: 32000
    maximum: 16352000
    multipleOf: 32000

  rohm,vcc-input-current-limit-microamp:
    description: system specific VCC/VACP input current limit (in microamps).
    minimum: 32000
    maximum: 16352000
    multipleOf: 32000

required:
  - compatible

additionalProperties: false

examples:
  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
        charger@9 {
            compatible = "rohm,bd99954";
            monitored-battery = <&battery>;
            reg = <0x9>;
            interrupt-parent = <&gpio1>;
            interrupts = <29 8>;
            rohm,vsys-regulation-microvolt = <8960000>;
            rohm,vbus-input-current-limit-microamp = <1472000>;
            rohm,vcc-input-current-limit-microamp = <1472000>;
        };
    };
