]> git.ipfire.org Git - thirdparty/u-boot.git/blob - Bindings/power/supply/charger-manager.yaml
Squashed 'dts/upstream/' content from commit aaba2d45dc2a
[thirdparty/u-boot.git] / Bindings / power / supply / charger-manager.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/power/supply/charger-manager.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Charger Manager
8
9 maintainers:
10 - Sebastian Reichel <sre@kernel.org>
11
12 description: |
13 Binding for the legacy charger manager driver.
14 Please do not use for new products.
15
16 properties:
17 compatible:
18 const: charger-manager
19
20 cm-chargers:
21 description: name of chargers
22 $ref: /schemas/types.yaml#/definitions/string-array
23
24 cm-num-chargers:
25 $ref: /schemas/types.yaml#/definitions/uint32
26 deprecated: true
27
28 cm-fuel-gauge:
29 description: name of battery fuel gauge
30 $ref: /schemas/types.yaml#/definitions/string
31
32 cm-name:
33 description: name of the charger manager
34 default: battery
35 $ref: /schemas/types.yaml#/definitions/string
36
37 cm-poll-mode:
38 description: polling mode
39 $ref: /schemas/types.yaml#/definitions/uint32
40 default: 0
41 enum:
42 - 0 # disabled
43 - 1 # always
44 - 2 # when external power is connected
45 - 3 # when charging
46
47 cm-poll-interval:
48 description: polling interval (in ms)
49 $ref: /schemas/types.yaml#/definitions/uint32
50
51 cm-battery-stat:
52 description: battery status
53 $ref: /schemas/types.yaml#/definitions/uint32
54 enum:
55 - 0 # battery always present
56 - 1 # no battery
57 - 2 # check presence via fuel gauge
58 - 3 # check presence via charger
59
60 cm-fullbatt-vchkdrop-volt:
61 description: voltage drop before restarting charging in uV
62 $ref: /schemas/types.yaml#/definitions/uint32
63
64 cm-fullbatt-vchkdrop-ms:
65 deprecated: true
66
67 cm-fullbatt-voltage:
68 description: voltage of full battery in uV
69 $ref: /schemas/types.yaml#/definitions/uint32
70
71 cm-fullbatt-soc:
72 description: state of charge to consider as full battery in %
73 $ref: /schemas/types.yaml#/definitions/uint32
74
75 cm-fullbatt-capacity:
76 description: capcity to consider as full battery in uAh
77 $ref: /schemas/types.yaml#/definitions/uint32
78
79 cm-thermal-zone:
80 description: name of external thermometer's thermal zone
81 $ref: /schemas/types.yaml#/definitions/string
82
83 cm-discharging-max:
84 description: limits of discharging duration in ms
85 $ref: /schemas/types.yaml#/definitions/uint32
86
87 cm-charging-max:
88 description: limits of charging duration in ms
89 $ref: /schemas/types.yaml#/definitions/uint32
90
91 cm-battery-cold:
92 description: critical cold temperature of battery for charging in deci-degree celsius
93 $ref: /schemas/types.yaml#/definitions/uint32
94
95 cm-battery-cold-in-minus:
96 description: if set cm-battery-cold temperature is in minus degrees
97 type: boolean
98
99 cm-battery-hot:
100 description: critical hot temperature of battery for charging in deci-degree celsius
101 $ref: /schemas/types.yaml#/definitions/uint32
102
103 cm-battery-temp-diff:
104 description: temperature difference to allow recharging in deci-degree celsius
105 $ref: /schemas/types.yaml#/definitions/uint32
106
107 patternProperties:
108 "-supply$":
109 description: regulator consumer, named according to cm-regulator-name
110 $ref: /schemas/types.yaml#/definitions/phandle
111
112 "^regulator[@-][0-9]$":
113 type: object
114 properties:
115 cm-regulator-name:
116 description: name of charger regulator
117 $ref: /schemas/types.yaml#/definitions/string
118
119 required:
120 - cm-regulator-name
121
122 additionalProperties: false
123
124 patternProperties:
125 "^cable[@-][0-9]$":
126 type: object
127 properties:
128 cm-cable-name:
129 description: name of charger cable
130 enum:
131 - USB
132 - USB-HOST
133 - SDP
134 - DCP
135 - CDP
136 - ACA
137 - FAST-CHARGER
138 - SLOW-CHARGER
139 - WPT
140 - PD
141 - DOCK
142 - JIG
143 - MECHANICAL
144
145 cm-cable-extcon:
146 description: name of extcon dev
147 $ref: /schemas/types.yaml#/definitions/string
148
149 cm-cable-min:
150 description: minimum current of cable in uA
151 $ref: /schemas/types.yaml#/definitions/uint32
152
153 cm-cable-max:
154 description: maximum current of cable in uA
155 $ref: /schemas/types.yaml#/definitions/uint32
156
157 required:
158 - cm-cable-name
159 - cm-cable-extcon
160
161 additionalProperties: false
162
163 required:
164 - compatible
165 - cm-chargers
166 - cm-fuel-gauge
167
168 additionalProperties: false
169
170 examples:
171 - |
172 charger-manager {
173 compatible = "charger-manager";
174 chg-reg-supply = <&charger_regulator>;
175
176 cm-name = "battery";
177 /* Always polling ON : 30s */
178 cm-poll-mode = <1>;
179 cm-poll-interval = <30000>;
180
181 cm-fullbatt-vchkdrop-volt = <150000>;
182 cm-fullbatt-soc = <100>;
183
184 cm-battery-stat = <3>;
185
186 cm-chargers = "charger0", "charger1", "charger2";
187
188 cm-fuel-gauge = "fuelgauge0";
189
190 cm-thermal-zone = "thermal_zone.1";
191 /* in deci centigrade */
192 cm-battery-cold = <50>;
193 cm-battery-cold-in-minus;
194 cm-battery-hot = <800>;
195 cm-battery-temp-diff = <100>;
196
197 /* Allow charging for 5hr */
198 cm-charging-max = <18000000>;
199 /* Allow discharging for 2hr */
200 cm-discharging-max = <7200000>;
201
202 regulator-0 {
203 cm-regulator-name = "chg-reg";
204 cable-0 {
205 cm-cable-name = "USB";
206 cm-cable-extcon = "extcon-dev.0";
207 cm-cable-min = <475000>;
208 cm-cable-max = <500000>;
209 };
210 cable-1 {
211 cm-cable-name = "SDP";
212 cm-cable-extcon = "extcon-dev.0";
213 cm-cable-min = <650000>;
214 cm-cable-max = <675000>;
215 };
216 };
217 };