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