Merge tag 'timers-urgent-2020-12-27' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.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
22 if:
23   properties:
24     compatible:
25       contains:
26         const: regulator-fixed-clock
27   required:
28     - clocks
29 else:
30   if:
31     properties:
32       compatible:
33         contains:
34           const: regulator-fixed-domain
35     required:
36       - power-domains
37       - required-opps
38
39 properties:
40   compatible:
41     enum:
42       - regulator-fixed
43       - regulator-fixed-clock
44       - regulator-fixed-domain
45
46   regulator-name: true
47
48   gpio:
49     description: gpio to use for enable control
50     maxItems: 1
51
52   clocks:
53     description:
54       clock to use for enable control. This binding is only available if
55       the compatible is chosen to regulator-fixed-clock. The clock binding
56       is mandatory if compatible is chosen to regulator-fixed-clock.
57     maxItems: 1
58
59   power-domains:
60     description:
61       Power domain to use for enable control. This binding is only
62       available if the compatible is chosen to regulator-fixed-domain.
63     maxItems: 1
64
65   required-opps:
66     description:
67       Performance state to use for enable control. This binding is only
68       available if the compatible is chosen to regulator-fixed-domain. The
69       power-domain binding is mandatory if compatible is chosen to
70       regulator-fixed-domain.
71     maxItems: 1
72
73   startup-delay-us:
74     description: startup time in microseconds
75     $ref: /schemas/types.yaml#/definitions/uint32
76
77   off-on-delay-us:
78     description: off delay time in microseconds
79     $ref: /schemas/types.yaml#/definitions/uint32
80
81   enable-active-high:
82     description:
83       Polarity of GPIO is Active high. If this property is missing,
84       the default assumed is Active low.
85     type: boolean
86
87   gpio-open-drain:
88     description:
89       GPIO is open drain type. If this property is missing then default
90       assumption is false.
91     type: boolean
92
93   vin-supply:
94     description: Input supply phandle.
95
96 required:
97   - compatible
98   - regulator-name
99
100 unevaluatedProperties: false
101
102 examples:
103   - |
104     reg_1v8: regulator-1v8 {
105       compatible = "regulator-fixed";
106       regulator-name = "1v8";
107       regulator-min-microvolt = <1800000>;
108       regulator-max-microvolt = <1800000>;
109       gpio = <&gpio1 16 0>;
110       startup-delay-us = <70000>;
111       enable-active-high;
112       regulator-boot-on;
113       gpio-open-drain;
114       vin-supply = <&parent_reg>;
115     };
116     reg_1v8_clk: regulator-1v8-clk {
117       compatible = "regulator-fixed-clock";
118       regulator-name = "1v8";
119       regulator-min-microvolt = <1800000>;
120       regulator-max-microvolt = <1800000>;
121       clocks = <&clock1>;
122       startup-delay-us = <70000>;
123       enable-active-high;
124       regulator-boot-on;
125       vin-supply = <&parent_reg>;
126     };
127     reg_1v8_domain: regulator-1v8-domain {
128       compatible = "regulator-fixed-domain";
129       regulator-name = "1v8";
130       regulator-min-microvolt = <1800000>;
131       regulator-max-microvolt = <1800000>;
132       power-domains = <&domain1>;
133       required-opps = <&domain1_state1>;
134       startup-delay-us = <70000>;
135       enable-active-high;
136       regulator-boot-on;
137       vin-supply = <&parent_reg>;
138     };
139 ...