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/adc-battery.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: ADC battery
8
9maintainers:
10  - Sebastian Reichel <sre@kernel.org>
11
12description:
13  Basic battery capacity meter, which only reports basic battery data
14  via ADC channels and optionally indicate that the battery is full by
15  polling a GPIO line.
16
17  The voltage is expected to be measured between the battery terminals
18  and mandatory. The optional current/power channel is expected to
19  monitor the current/power flowing out of the battery. Last but not
20  least the temperature channel is supposed to measure the battery
21  temperature.
22
23allOf:
24  - $ref: power-supply.yaml#
25
26properties:
27  compatible:
28    const: adc-battery
29
30  charged-gpios:
31    description:
32      GPIO which signals that the battery is fully charged. The GPIO is
33      often provided by charger ICs, that are not software controllable.
34    maxItems: 1
35
36  io-channels:
37    minItems: 1
38    maxItems: 4
39
40  io-channel-names:
41    minItems: 1
42    items:
43      - const: voltage
44      - enum: [ current, power, temperature ]
45      - enum: [ power, temperature ]
46      - const: temperature
47
48  monitored-battery: true
49
50required:
51  - compatible
52  - io-channels
53  - io-channel-names
54  - monitored-battery
55
56unevaluatedProperties: false
57
58examples:
59  - |
60    #include <dt-bindings/gpio/gpio.h>
61
62    fuel-gauge {
63        compatible = "adc-battery";
64        charged-gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
65        io-channels = <&adc 13>, <&adc 37>;
66        io-channel-names = "voltage", "current";
67
68        power-supplies = <&charger>;
69        monitored-battery = <&battery>;
70    };
71