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