Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame^] | 1 | # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause |
| 2 | %YAML 1.2 |
| 3 | --- |
| 4 | $id: http://devicetree.org/schemas/power/supply/rohm,bd99954.yaml# |
| 5 | $schema: http://devicetree.org/meta-schemas/core.yaml# |
| 6 | |
| 7 | title: ROHM BD99954 Battery charger |
| 8 | |
| 9 | maintainers: |
| 10 | - Matti Vaittinen <mazziesaccount@gmail.com> |
| 11 | - Markus Laine <markus.laine@fi.rohmeurope.com> |
| 12 | - Mikko Mutanen <mikko.mutanen@fi.rohmeurope.com> |
| 13 | |
| 14 | description: | |
| 15 | The ROHM BD99954 is a Battery Management LSI for 1-4 cell Lithium-Ion |
| 16 | secondary battery intended to be used in space-constraint equipment such |
| 17 | as Low profile Notebook PC, Tablets and other applications. BD99954 |
| 18 | provides a Dual-source Battery Charger, two port BC1.2 detection and a |
| 19 | Battery Monitor. |
| 20 | |
| 21 | $ref: power-supply.yaml# |
| 22 | |
| 23 | properties: |
| 24 | compatible: |
| 25 | const: rohm,bd99954 |
| 26 | # |
| 27 | # The battery charging profile of BD99954. |
| 28 | # |
| 29 | # Curve (1) represents charging current. |
| 30 | # Curve (2) represents battery voltage. |
| 31 | # |
| 32 | # The BD99954 data sheet divides charging to three phases. |
| 33 | # a) Trickle-charge with constant current (8). |
| 34 | # b) pre-charge with constant current (6) |
| 35 | # c) fast-charge with: |
| 36 | # First a constant current (5) phase (CC) |
| 37 | # Then constant voltage (CV) phase (after the battery voltage has reached |
| 38 | # target level - until charging current has dropped to termination |
| 39 | # level (7) |
| 40 | # |
| 41 | # V ^ ^ I |
| 42 | # . . |
| 43 | # . . |
| 44 | # (4)- -.- - - - - - - - - - - - - - +++++++++++++++++++++++++++. |
| 45 | # . / . |
| 46 | # . ++++++/++ - - - - - - - - - - - - -.- - (5) |
| 47 | # . + / + . |
| 48 | # . + - -- . |
| 49 | # . + - + . |
| 50 | # . +.- -: . |
| 51 | # . .+ +` . |
| 52 | # . .- + | `/ . |
| 53 | # . .." + .: . |
| 54 | # . -" + -- . |
| 55 | # . (2) ..." + | :- . |
| 56 | # . ..."" + -: . |
| 57 | # (3)- -.-.""- - - - -+++++++++ - - - - - - -.:- - - - - - - - - .- - (6) |
| 58 | # . + `:. . |
| 59 | # . + | -: . |
| 60 | # . + -: . |
| 61 | # . + .. . |
| 62 | # . (1) + | "+++- - - -.- - (7) |
| 63 | # -++++++++++++++- - - - - - - - - - - - - - - - - + - - - .- - (8) |
| 64 | # . + - |
| 65 | # -------------------------------------------------+++++++++--> |
| 66 | # | | | CC | CV | |
| 67 | # | --trickle-- | -pre- | ---------fast----------- | |
| 68 | # |
| 69 | # The charger uses the following battery properties |
| 70 | # - trickle-charge-current-microamp: |
| 71 | # Current used at trickle-charge phase (8 in above chart) |
| 72 | # minimum: 64000 |
| 73 | # maximum: 1024000 |
| 74 | # multipleOf: 64000 |
| 75 | # - precharge-current-microamp: |
| 76 | # Current used at pre-charge phase (6 in above chart) |
| 77 | # minimum: 64000 |
| 78 | # maximum: 1024000 |
| 79 | # multipleOf: 64000 |
| 80 | # - constant-charge-current-max-microamp |
| 81 | # Current used at fast charge constant current phase (5 in above chart) |
| 82 | # minimum: 64000 |
| 83 | # maximum: 1024000 |
| 84 | # multipleOf: 64000 |
| 85 | # - constant-charge-voltage-max-microvolt |
| 86 | # The constant voltage used in fast charging phase (4 in above chart) |
| 87 | # minimum: 2560000 |
| 88 | # maximum: 19200000 |
| 89 | # multipleOf: 16000 |
| 90 | # - precharge-upper-limit-microvolt |
| 91 | # charging mode is changed from trickle charging to pre-charging |
| 92 | # when battery voltage exceeds this limit voltage (3 in above chart) |
| 93 | # minimum: 2048000 |
| 94 | # maximum: 19200000 |
| 95 | # multipleOf: 64000 |
| 96 | # - re-charge-voltage-microvolt |
| 97 | # minimum: 2560000 |
| 98 | # maximum: 19200000 |
| 99 | # multipleOf: 16000 |
| 100 | # re-charging is automatically started when battry has been discharging |
| 101 | # to the point where the battery voltage drops below this limit |
| 102 | # - over-voltage-threshold-microvolt |
| 103 | # battery is expected to be faulty if battery voltage exceeds this limit. |
| 104 | # Charger will then enter to a "battery faulty" -state |
| 105 | # minimum: 2560000 |
| 106 | # maximum: 19200000 |
| 107 | # multipleOf: 16000 |
| 108 | # - charge-term-current-microamp |
| 109 | # minimum: 0 |
| 110 | # maximum: 1024000 |
| 111 | # multipleOf: 64000 |
| 112 | # a charge cycle terminates when the battery voltage is above recharge |
| 113 | # threshold, and the current is below this setting (7 in above chart) |
| 114 | # See also Documentation/devicetree/bindings/power/supply/battery.yaml |
| 115 | |
| 116 | reg: |
| 117 | maxItems: 1 |
| 118 | |
| 119 | interrupts: |
| 120 | maxItems: 1 |
| 121 | |
| 122 | monitored-battery: |
| 123 | description: |
| 124 | phandle of battery characteristics devicetree node |
| 125 | |
| 126 | rohm,vsys-regulation-microvolt: |
| 127 | description: system specific lower limit for system voltage. |
| 128 | minimum: 2560000 |
| 129 | maximum: 19200000 |
| 130 | multipleOf: 64000 |
| 131 | |
| 132 | rohm,vbus-input-current-limit-microamp: |
| 133 | description: system specific VBUS input current limit (in microamps). |
| 134 | minimum: 32000 |
| 135 | maximum: 16352000 |
| 136 | multipleOf: 32000 |
| 137 | |
| 138 | rohm,vcc-input-current-limit-microamp: |
| 139 | description: system specific VCC/VACP input current limit (in microamps). |
| 140 | minimum: 32000 |
| 141 | maximum: 16352000 |
| 142 | multipleOf: 32000 |
| 143 | |
| 144 | required: |
| 145 | - compatible |
| 146 | |
| 147 | additionalProperties: false |
| 148 | |
| 149 | examples: |
| 150 | - | |
| 151 | i2c { |
| 152 | #address-cells = <1>; |
| 153 | #size-cells = <0>; |
| 154 | charger@9 { |
| 155 | compatible = "rohm,bd99954"; |
| 156 | monitored-battery = <&battery>; |
| 157 | reg = <0x9>; |
| 158 | interrupt-parent = <&gpio1>; |
| 159 | interrupts = <29 8>; |
| 160 | rohm,vsys-regulation-microvolt = <8960000>; |
| 161 | rohm,vbus-input-current-limit-microamp = <1472000>; |
| 162 | rohm,vcc-input-current-limit-microamp = <1472000>; |
| 163 | }; |
| 164 | }; |