arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / Documentation / devicetree / 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     };