]> git.ipfire.org Git - thirdparty/u-boot.git/blob - Bindings/regulator/gpio-regulator.yaml
Squashed 'dts/upstream/' content from commit aaba2d45dc2a
[thirdparty/u-boot.git] / Bindings / regulator / gpio-regulator.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/regulator/gpio-regulator.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: GPIO controlled regulators
8
9 maintainers:
10 - Liam Girdwood <lgirdwood@gmail.com>
11 - Mark Brown <broonie@kernel.org>
12
13 description:
14 Any property defined as part of the core regulator binding, defined in
15 regulator.txt, can also be used.
16
17 allOf:
18 - $ref: regulator.yaml#
19
20 properties:
21 compatible:
22 const: regulator-gpio
23
24 regulator-name: true
25
26 enable-gpios:
27 description: GPIO to use to enable/disable the regulator.
28 Warning, the GPIO phandle flags are ignored and the GPIO polarity is
29 controlled solely by the presence of "enable-active-high" DT property.
30 This is due to compatibility with old DTs.
31 maxItems: 1
32
33 gpios:
34 description: Array of one or more GPIO pins used to select the regulator
35 voltage/current listed in "states".
36 minItems: 1
37 maxItems: 8 # Should be enough...
38
39 gpios-states:
40 description: |
41 On operating systems, that don't support reading back gpio values in
42 output mode (most notably linux), this array provides the state of GPIO
43 pins set when requesting them from the gpio controller. Systems, that are
44 capable of preserving state when requesting the lines, are free to ignore
45 this property.
46 0: LOW
47 1: HIGH
48 Default is LOW if nothing else is specified.
49 $ref: /schemas/types.yaml#/definitions/uint32-array
50 maxItems: 8
51 items:
52 enum: [0, 1]
53 default: 0
54
55 states:
56 description: Selection of available voltages/currents provided by this
57 regulator and matching GPIO configurations to achieve them. If there are
58 no states in the "states" array, use a fixed regulator instead.
59 $ref: /schemas/types.yaml#/definitions/uint32-matrix
60 maxItems: 8
61 items:
62 items:
63 - description: Voltage in microvolts
64 - description: GPIO group state value
65
66 startup-delay-us:
67 description: startup time in microseconds
68
69 enable-active-high:
70 description: Polarity of "enable-gpio" GPIO is active HIGH. Default is
71 active LOW.
72 type: boolean
73
74 gpio-open-drain:
75 description:
76 GPIO is open drain type. If this property is missing then default
77 assumption is false.
78 type: boolean
79
80 regulator-type:
81 description: Specifies what is being regulated.
82 $ref: /schemas/types.yaml#/definitions/string
83 enum:
84 - voltage
85 - current
86 default: voltage
87
88 vin-supply:
89 description: Input supply phandle.
90
91 required:
92 - compatible
93 - regulator-name
94 - gpios
95 - states
96
97 unevaluatedProperties: false
98
99 examples:
100 - |
101 gpio-regulator {
102 compatible = "regulator-gpio";
103
104 regulator-name = "mmci-gpio-supply";
105 regulator-min-microvolt = <1800000>;
106 regulator-max-microvolt = <2600000>;
107 regulator-boot-on;
108
109 enable-gpios = <&gpio0 23 0x4>;
110 gpios = <&gpio0 24 0x4
111 &gpio0 25 0x4>;
112 states = <1800000 0x3>,
113 <2200000 0x2>,
114 <2600000 0x1>,
115 <2900000 0x0>;
116
117 startup-delay-us = <100000>;
118 enable-active-high;
119 };
120 ...