Merge tag 'mm-nonmm-stable-2024-05-19-11-56' of git://git.kernel.org/pub/scm/linux...
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / regulator / fixed-regulator.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/regulator/fixed-regulator.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Fixed Voltage 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.yaml, can also be used. However a fixed voltage regulator is
16   expected to have the regulator-min-microvolt and regulator-max-microvolt
17   to be the same.
18
19 allOf:
20   - $ref: regulator.yaml#
21   - if:
22       properties:
23         compatible:
24           contains:
25             const: regulator-fixed-clock
26     then:
27       required:
28         - clocks
29   - if:
30       properties:
31         compatible:
32           contains:
33             const: regulator-fixed-domain
34     then:
35       required:
36         - power-domains
37         - required-opps
38   - not:
39       required:
40         - gpio
41         - gpios
42
43 properties:
44   $nodename:
45     anyOf:
46       - description: Preferred name is 'regulator-[0-9]v[0-9]'
47         pattern: '^regulator(-[0-9]+v[0-9]+|-[0-9a-z-]+)?$'
48       - description: Any name allowed
49         deprecated: true
50
51   compatible:
52     enum:
53       - regulator-fixed
54       - regulator-fixed-clock
55       - regulator-fixed-domain
56
57   regulator-name: true
58
59   gpio:
60     description: gpio to use for enable control
61     maxItems: 1
62
63   gpios:
64     maxItems: 1
65
66   clocks:
67     description:
68       clock to use for enable control. This binding is only available if
69       the compatible is chosen to regulator-fixed-clock. The clock binding
70       is mandatory if compatible is chosen to regulator-fixed-clock.
71     maxItems: 1
72
73   power-domains:
74     deprecated: true
75     description:
76       Power domain to use for enable control. This binding is only
77       available if the compatible is chosen to regulator-fixed-domain.
78     maxItems: 1
79
80   required-opps:
81     deprecated: true
82     description:
83       Performance state to use for enable control. This binding is only
84       available if the compatible is chosen to regulator-fixed-domain. The
85       power-domain binding is mandatory if compatible is chosen to
86       regulator-fixed-domain.
87     maxItems: 1
88
89   startup-delay-us:
90     description: startup time in microseconds
91
92   off-on-delay-us:
93     description: off delay time in microseconds
94
95   enable-active-high:
96     description:
97       Polarity of GPIO is Active high. If this property is missing,
98       the default assumed is Active low.
99     type: boolean
100
101   gpio-open-drain:
102     description:
103       GPIO is open drain type. If this property is missing then default
104       assumption is false.
105     type: boolean
106
107   vin-supply:
108     description: Input supply phandle.
109
110   interrupts:
111     maxItems: 1
112     description:
113       Interrupt signaling a critical under-voltage event.
114
115   system-critical-regulator: true
116
117 required:
118   - compatible
119   - regulator-name
120
121 unevaluatedProperties: false
122
123 examples:
124   - |
125     reg_1v8: regulator-1v8 {
126       compatible = "regulator-fixed";
127       regulator-name = "1v8";
128       regulator-min-microvolt = <1800000>;
129       regulator-max-microvolt = <1800000>;
130       gpio = <&gpio1 16 0>;
131       startup-delay-us = <70000>;
132       enable-active-high;
133       regulator-boot-on;
134       gpio-open-drain;
135       vin-supply = <&parent_reg>;
136     };
137     reg_1v8_clk: regulator-1v8-clk {
138       compatible = "regulator-fixed-clock";
139       regulator-name = "1v8";
140       regulator-min-microvolt = <1800000>;
141       regulator-max-microvolt = <1800000>;
142       clocks = <&clock1>;
143       startup-delay-us = <70000>;
144       enable-active-high;
145       regulator-boot-on;
146       vin-supply = <&parent_reg>;
147     };
148     reg_1v8_domain: regulator-1v8-domain {
149       compatible = "regulator-fixed-domain";
150       regulator-name = "1v8";
151       regulator-min-microvolt = <1800000>;
152       regulator-max-microvolt = <1800000>;
153       power-domains = <&domain1>;
154       required-opps = <&domain1_state1>;
155       startup-delay-us = <70000>;
156       enable-active-high;
157       regulator-boot-on;
158       vin-supply = <&parent_reg>;
159     };
160 ...