summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/power/supply/rohm,bd99954.yaml
blob: b2c229ed242370e146dce59f7d8dc78cb4130667 (plain)
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>;
        };
    };