xref: /freebsd/sys/contrib/device-tree/Bindings/power/supply/cpcap-charger.yaml (revision 29332c0dcee1e80c9fb871e06c3160bd5deb1b44)
1# SPDX-License-Identifier: GPL-2.0
2# Copyright (C) 2021 Sebastian Reichel
3%YAML 1.2
4---
5$id: "http://devicetree.org/schemas/power/supply/cpcap-charger.yaml#"
6$schema: "http://devicetree.org/meta-schemas/core.yaml#"
7
8title: Motorola CPCAP PMIC charger
9
10maintainers:
11  - Tony Lindgren <tony@atomide.com>
12  - Sebastian Reichel <sre@kernel.org>
13
14description: |
15  Motorola CPCAP is a PMIC found in some mobile phones, e.g.
16  the Droid 4. This binding describes its battery charger
17  sub-function.
18
19allOf:
20  - $ref: power-supply.yaml#
21
22properties:
23  compatible:
24    const: motorola,mapphone-cpcap-charger
25
26  interrupts:
27    items:
28      - description: charger detection interrupt
29      - description: reverse charge interrupt
30      - description: SE1 charger detection interrupt
31      - description: SE0 charger detection interrupt
32      - description: reverse mode interrupt
33      - description: charge current 2 interrupt
34      - description: charge current 1 interrupt
35      - description: VBUS valid interrupt
36      - description: battery detect interrupt
37
38  interrupt-names:
39    items:
40      - const: chrg_det
41      - const: rvrs_chrg
42      - const: chrg_se1b
43      - const: se0conn
44      - const: rvrs_mode
45      - const: chrgcurr2
46      - const: chrgcurr1
47      - const: vbusvld
48      - const: battdetb
49
50  io-channels:
51    items:
52      - description: battery temperature
53      - description: battery voltage
54      - description: VBUS voltage
55      - description: battery charge current
56      - description: battery current
57
58  io-channel-names:
59    items:
60      - const: battdetb
61      - const: battp
62      - const: vbus
63      - const: chg_isense
64      - const: batti
65
66  mode-gpios:
67    description: |
68      Optionally CPCAP charger can have a companion wireless
69      charge controller that is controlled with two GPIOs
70      that are active low.
71    minItems: 2
72    maxItems: 2
73
74required:
75  - compatible
76  - interrupts
77  - interrupt-names
78  - io-channels
79  - io-channel-names
80
81additionalProperties: false
82
83examples:
84  - |
85    #include <dt-bindings/gpio/gpio.h>
86    cpcap {
87      charger {
88        compatible = "motorola,mapphone-cpcap-charger";
89        interrupts-extended =
90                <&cpcap 13 0>, <&cpcap 12 0>, <&cpcap 29 0>, <&cpcap 28 0>,
91                <&cpcap 22 0>, <&cpcap 21 0>, <&cpcap 20 0>, <&cpcap 19 0>,
92                <&cpcap 54 0>;
93        interrupt-names =
94                "chrg_det", "rvrs_chrg", "chrg_se1b", "se0conn",
95                "rvrs_mode", "chrgcurr2", "chrgcurr1", "vbusvld",
96                "battdetb";
97        mode-gpios = <&gpio3 29 GPIO_ACTIVE_LOW>,
98                     <&gpio3 23 GPIO_ACTIVE_LOW>;
99        io-channels = <&cpcap_adc 0>, <&cpcap_adc 1>,
100                      <&cpcap_adc 2>, <&cpcap_adc 5>,
101                      <&cpcap_adc 6>;
102        io-channel-names = "battdetb", "battp",
103                           "vbus", "chg_isense",
104                           "batti";
105      };
106    };
107