Merge tag 'fs.close_range.v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / power / supply / stericsson,ab8500-charger.yaml
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/stericsson,ab8500-charger.yaml#"
6 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
7
8 title: AB8500 Charger
9
10 maintainers:
11   - Sebastian Reichel <sre@kernel.org>
12
13 allOf:
14   - $ref: power-supply.yaml#
15
16 properties:
17   compatible:
18     const: stericsson,ab8500-charger
19
20   battery:
21     $ref: /schemas/types.yaml#/definitions/phandle
22     description: phandle to battery node
23
24   vddadc-supply:
25     description: Supply for USB and Main charger
26
27   autopower_cfg:
28     type: boolean
29     description: automatic poweron after powerloss
30
31   interrupts:
32     maxItems: 14
33
34   interrupt-names:
35     items:
36       - const: MAIN_CH_UNPLUG_DET
37       - const: MAIN_CHARGE_PLUG_DET
38       - const: MAIN_EXT_CH_NOT_OK
39       - const: MAIN_CH_TH_PROT_R
40       - const: MAIN_CH_TH_PROT_F
41       - const: VBUS_DET_F
42       - const: VBUS_DET_R
43       - const: USB_LINK_STATUS
44       - const: USB_CH_TH_PROT_R
45       - const: USB_CH_TH_PROT_F
46       - const: USB_CHARGER_NOT_OKR
47       - const: VBUS_OVV
48       - const: CH_WD_EXP
49       - const: VBUS_CH_DROP_END
50
51   io-channels:
52     minItems: 2
53     maxItems: 4
54
55   io-channel-names:
56     oneOf:
57       - items:
58           - const: main_charger_v
59           - const: main_charger_c
60           - const: vbus_v
61           - const: usb_charger_c
62       - items:
63           - const: vbus_v
64           - const: usb_charger_c
65
66
67 required:
68   - compatible
69   - battery
70   - vddadc-supply
71   - interrupts
72   - interrupt-names
73   - io-channels
74   - io-channel-names
75
76 additionalProperties: false
77
78 examples:
79   - |
80     #include <dt-bindings/interrupt-controller/irq.h>
81     pmic {
82       charger {
83         compatible = "stericsson,ab8500-charger";
84         battery = <&ab8500_battery>;
85         vddadc-supply = <&ab8500_ldo_tvout_reg>;
86         interrupts = <10 IRQ_TYPE_LEVEL_HIGH>,
87                      <11 IRQ_TYPE_LEVEL_HIGH>,
88                      <0 IRQ_TYPE_LEVEL_HIGH>,
89                      <107 IRQ_TYPE_LEVEL_HIGH>,
90                      <106 IRQ_TYPE_LEVEL_HIGH>,
91                      <14 IRQ_TYPE_LEVEL_HIGH>,
92                      <15 IRQ_TYPE_LEVEL_HIGH>,
93                      <79 IRQ_TYPE_LEVEL_HIGH>,
94                      <105 IRQ_TYPE_LEVEL_HIGH>,
95                      <104 IRQ_TYPE_LEVEL_HIGH>,
96                      <89 IRQ_TYPE_LEVEL_HIGH>,
97                      <22 IRQ_TYPE_LEVEL_HIGH>,
98                      <21 IRQ_TYPE_LEVEL_HIGH>,
99                      <16 IRQ_TYPE_LEVEL_HIGH>;
100         interrupt-names = "MAIN_CH_UNPLUG_DET",
101                           "MAIN_CHARGE_PLUG_DET",
102                           "MAIN_EXT_CH_NOT_OK",
103                           "MAIN_CH_TH_PROT_R",
104                           "MAIN_CH_TH_PROT_F",
105                           "VBUS_DET_F",
106                           "VBUS_DET_R",
107                           "USB_LINK_STATUS",
108                           "USB_CH_TH_PROT_R",
109                           "USB_CH_TH_PROT_F",
110                           "USB_CHARGER_NOT_OKR",
111                           "VBUS_OVV",
112                           "CH_WD_EXP",
113                           "VBUS_CH_DROP_END";
114         io-channels = <&gpadc 0x03>,
115                       <&gpadc 0x0a>,
116                       <&gpadc 0x09>,
117                       <&gpadc 0x0b>;
118         io-channel-names = "main_charger_v",
119                            "main_charger_c",
120                            "vbus_v",
121                            "usb_charger_c";
122       };
123     };