smb: client: Fix minor whitespace errors and warnings
[linux-modified.git] / Documentation / devicetree / bindings / regulator / dlg,da9121.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/regulator/dlg,da9121.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Dialog Semiconductor DA9121 voltage regulator
8
9 maintainers:
10   - Adam Ward <Adam.Ward.opensource@diasemi.com>
11
12 description: |
13   Dialog Semiconductor DA9121 Single-channel 10A double-phase buck converter
14   Dialog Semiconductor DA9122 Double-channel  5A single-phase buck converter
15   Dialog Semiconductor DA9220 Double-channel  3A single-phase buck converter
16   Dialog Semiconductor DA9217 Single-channel  6A double-phase buck converter
17   Dialog Semiconductor DA9130 Single-channel 10A double-phase buck converter
18   Dialog Semiconductor DA9131 Double-channel  5A single-phase buck converter
19   Dialog Semiconductor DA9132 Double-channel  3A single-phase buck converter
20   Dialog Semiconductor DA9141 Single-channel 40A   quad-phase buck converter
21   Dialog Semiconductor DA9142 Single-channel 20A double-phase buck converter
22
23   Device parameter ranges
24
25   The current limits can be set to at/near double the rated current per channel
26   to allow for transient peaks.
27   Current limit changes when the output is enabled are not supported, as a
28   precaution against undefined behaviour.
29
30   |----------------------------------------------|
31   |               | range & reset default value  |
32   | Device        |------------------------------|
33   |               | microvolt    | microamp      |
34   |----------------------------------------------|
35   | DA9121/DA9130 | Min:  300000 | Min:  7000000 |
36   |               | Max: 1900000 | Max: 20000000 |
37   |----------------------------------------------|
38   | DA9121/DA9131 | Min:  300000 | Min:  3500000 |
39   |               | Max: 1900000 | Max: 10000000 |
40   |----------------------------------------------|
41   | DA9121/DA9131 | Min:  300000 | Min:  3500000 |
42   |               | Max: 1900000 | Max:  6000000 |
43   |----------------------------------------------|
44   | DA9217        | Min:  300000 | Min:  7000000 |
45   |               | Max: 1900000 | Max: 12000000 |
46   |----------------------------------------------|
47   | DA9141        | Min:  300000 | Min: 26000000 |
48   |               | Max: 1300000 | Max: 78000000 |
49   |----------------------------------------------|
50   | DA9142        | Min:  300000 | Min: 13000000 |
51   |               | Max: 1300000 | Max: 39000000 |
52   |----------------------------------------------|
53
54 properties:
55   $nodename:
56     pattern: "pmic@[0-9a-f]{1,2}"
57   compatible:
58     enum:
59       - dlg,da9121
60       - dlg,da9122
61       - dlg,da9220
62       - dlg,da9217
63       - dlg,da9130
64       - dlg,da9131
65       - dlg,da9132
66       - dlg,da9141
67       - dlg,da9142
68
69   reg:
70     maxItems: 1
71     description: Specifies the I2C slave address.
72
73   interrupts:
74     maxItems: 1
75     description: IRQ line information.
76
77   dlg,irq-polling-delay-passive-ms:
78     minimum: 1000
79     maximum: 10000
80     description: |
81       Specify the polling period, measured in milliseconds, between interrupt status
82       update checks. Range 1000-10000 ms.
83
84   regulators:
85     type: object
86     additionalProperties: false
87     description: |
88       List of regulators provided by the device
89
90     patternProperties:
91       "^buck([1-2])$":
92         type: object
93         $ref: regulator.yaml#
94         description: |
95           Properties for a single BUCK regulator
96
97         properties:
98           regulator-initial-mode:
99             enum: [ 0, 1, 2, 3 ]
100             description: Defined in include/dt-bindings/regulator/dlg,da9121-regulator.h
101
102           enable-gpios:
103             maxItems: 1
104             description: Specify a valid GPIO for platform control of the regulator
105
106           dlg,ripple-cancel:
107             $ref: /schemas/types.yaml#/definitions/uint32
108             enum: [ 0, 1, 2, 3 ]
109             description: |
110               Defined in include/dt-bindings/regulator/dlg,da9121-regulator.h
111               Only present on multi-channel devices (DA9122, DA9220, DA9131, DA9132)
112
113         unevaluatedProperties: false
114
115 required:
116   - compatible
117   - reg
118   - regulators
119
120 allOf:
121   - if:
122       properties:
123         compatible:
124           not:
125             contains:
126               enum:
127                 - dlg,da9122
128                 - dlg,da9131
129                 - dlg,da9132
130                 - dlg,da9220
131     then:
132       properties:
133         regulators:
134           properties:
135             buck2: false
136
137 additionalProperties: false
138
139 examples:
140   - |
141     #include <dt-bindings/gpio/gpio.h>
142     #include <dt-bindings/interrupt-controller/irq.h>
143     #include <dt-bindings/regulator/dlg,da9121-regulator.h>
144     i2c {
145       #address-cells = <1>;
146       #size-cells = <0>;
147       pmic@68 {
148         compatible = "dlg,da9121";
149         reg = <0x68>;
150
151         interrupt-parent = <&gpio6>;
152         interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
153
154         dlg,irq-polling-delay-passive-ms = <2000>;
155
156         regulators {
157           DA9121_BUCK1: buck1 {
158             regulator-name = "BUCK1";
159             regulator-min-microvolt = <300000>;
160             regulator-max-microvolt = <1900000>;
161             regulator-min-microamp = <7000000>;
162             regulator-max-microamp = <20000000>;
163             regulator-boot-on;
164             regulator-initial-mode = <DA9121_BUCK_MODE_AUTO>;
165             enable-gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
166           };
167         };
168       };
169     };
170
171   - |
172     #include <dt-bindings/gpio/gpio.h>
173     #include <dt-bindings/interrupt-controller/irq.h>
174     #include <dt-bindings/regulator/dlg,da9121-regulator.h>
175     i2c {
176       #address-cells = <1>;
177       #size-cells = <0>;
178       pmic@68 {
179         compatible = "dlg,da9122";
180         reg = <0x68>;
181
182         interrupt-parent = <&gpio6>;
183         interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
184
185         dlg,irq-polling-delay-passive-ms = <2000>;
186
187         regulators {
188           DA9122_BUCK1: buck1 {
189             regulator-name = "BUCK1";
190             regulator-min-microvolt = <300000>;
191             regulator-max-microvolt = <1900000>;
192             regulator-min-microamp = <3500000>;
193             regulator-max-microamp = <10000000>;
194             regulator-boot-on;
195             regulator-initial-mode = <DA9121_BUCK_MODE_AUTO>;
196             enable-gpios = <&gpio6 1 GPIO_ACTIVE_HIGH>;
197             dlg,ripple-cancel = <DA9121_BUCK_RIPPLE_CANCEL_NONE>;
198           };
199           DA9122_BUCK2: buck2 {
200             regulator-name = "BUCK2";
201             regulator-min-microvolt = <300000>;
202             regulator-max-microvolt = <1900000>;
203             regulator-min-microamp = <3500000>;
204             regulator-max-microamp = <10000000>;
205             regulator-boot-on;
206             regulator-initial-mode = <DA9121_BUCK_MODE_AUTO>;
207             enable-gpios = <&gpio6 2 GPIO_ACTIVE_HIGH>;
208             dlg,ripple-cancel = <DA9121_BUCK_RIPPLE_CANCEL_NONE>;
209           };
210         };
211       };
212     };
213 ...