File Index
Files and directories
Sign in
FILE

charger-manager.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/power/supply/charger-manager.yaml 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
  7title: Charger Manager
  8
  9maintainers:
 10  - Sebastian Reichel <sre@kernel.org>
 11
 12description: |
 13  Binding for the legacy charger manager driver.
 14  Please do not use for new products.
 15
 16properties:
 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
107patternProperties:
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
163required:
164  - compatible
165  - cm-chargers
166  - cm-fuel-gauge
167
168additionalProperties: false
169
170examples:
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    };
~/ Read-only file preview.