File Index
Files and directories
Sign in
FILE

dlg,da9121.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/regulator/dlg,da9121.yaml 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
  7title: Dialog Semiconductor DA9121 voltage regulator
  8
  9maintainers:
 10  - Adam Ward <Adam.Ward.opensource@diasemi.com>
 11
 12description: |
 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
 54properties:
 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
115required:
116  - compatible
117  - reg
118  - regulators
119
120allOf:
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
137additionalProperties: false
138
139examples:
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...
~/ Read-only file preview.