xref: /linux/Documentation/devicetree/bindings/regulator/fixed-regulator.yaml (revision 621cde16e49b3ecf7d59a8106a20aaebfb4a59a9)
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
7title: Fixed Voltage regulators
8
9maintainers:
10  - Liam Girdwood <lgirdwood@gmail.com>
11  - Mark Brown <broonie@kernel.org>
12
13description:
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
19allOf:
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
43properties:
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
117required:
118  - compatible
119  - regulator-name
120
121unevaluatedProperties: false
122
123examples:
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...
161