Documentation / devicetree / bindings / power / supply / rohm,bd99954.yaml


Based on kernel version 6.8. Page generated on 2024-03-11 21:26 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
# 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 <mazziesaccount@gmail.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.
 
$ref: power-supply.yaml#

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.yaml

  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>;
        };
    };