aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/power/supply/gpio-charger.yaml
blob: 30eabbb14ef3392425d3d09de9fa14e01326ba69 (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
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/power/supply/gpio-charger.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: simple battery chargers only communicating through GPIOs

maintainers:
  - Sebastian Reichel <sre@kernel.org>

description:
  This binding is for all chargers, which are working more or less
  autonomously, only providing some status GPIOs and possibly some
  GPIOs for limited control over the charging process.

properties:
  compatible:
    const: gpio-charger

  charger-type:
    enum:
      - unknown
      - battery
      - ups
      - mains
      - usb-sdp                   # USB standard downstream port
      - usb-dcp                   # USB dedicated charging port
      - usb-cdp                   # USB charging downstream port
      - usb-aca                   # USB accessory charger adapter
    description:
      Type of the charger, e.g. "mains" for a wall charger.

  gpios:
    maxItems: 1
    description: GPIO indicating the charger presence

  charge-status-gpios:
    maxItems: 1
    description: GPIO indicating the charging status

required:
  - compatible

anyOf:
  - required:
    - gpios
  - required:
    - charge-status-gpios

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

    charger {
      compatible = "gpio-charger";
      charger-type = "usb-sdp";

      gpios = <&gpd 28 GPIO_ACTIVE_LOW>;
      charge-status-gpios = <&gpc 27 GPIO_ACTIVE_LOW>;
    };