summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/regulator/fixed-regulator.yaml
blob: 9ff9abf2691a5041b5b8b998fe440a357c15e966 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/regulator/fixed-regulator.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Fixed Voltage regulators

maintainers:
  - Liam Girdwood <lgirdwood@gmail.com>
  - Mark Brown <broonie@kernel.org>

description:
  Any property defined as part of the core regulator binding, defined in
  regulator.yaml, can also be used. However a fixed voltage regulator is
  expected to have the regulator-min-microvolt and regulator-max-microvolt
  to be the same.

allOf:
  - $ref: regulator.yaml#
  - if:
      properties:
        compatible:
          contains:
            const: regulator-fixed-clock
    then:
      required:
        - clocks
  - if:
      properties:
        compatible:
          contains:
            const: regulator-fixed-domain
    then:
      required:
        - power-domains
        - required-opps
  - not:
      required:
        - gpio
        - gpios

properties:
  compatible:
    enum:
      - regulator-fixed
      - regulator-fixed-clock
      - regulator-fixed-domain

  regulator-name: true

  gpio:
    description: gpio to use for enable control
    maxItems: 1

  gpios:
    maxItems: 1

  clocks:
    description:
      clock to use for enable control. This binding is only available if
      the compatible is chosen to regulator-fixed-clock. The clock binding
      is mandatory if compatible is chosen to regulator-fixed-clock.
    maxItems: 1

  power-domains:
    deprecated: true
    description:
      Power domain to use for enable control. This binding is only
      available if the compatible is chosen to regulator-fixed-domain.
    maxItems: 1

  required-opps:
    deprecated: true
    description:
      Performance state to use for enable control. This binding is only
      available if the compatible is chosen to regulator-fixed-domain. The
      power-domain binding is mandatory if compatible is chosen to
      regulator-fixed-domain.
    maxItems: 1

  startup-delay-us:
    description: startup time in microseconds

  off-on-delay-us:
    description: off delay time in microseconds

  enable-active-high:
    description:
      Polarity of GPIO is Active high. If this property is missing,
      the default assumed is Active low.
    type: boolean

  gpio-open-drain:
    description:
      GPIO is open drain type. If this property is missing then default
      assumption is false.
    type: boolean

  vin-supply:
    description: Input supply phandle.

  interrupts:
    maxItems: 1
    description:
      Interrupt signaling a critical under-voltage event.

  system-critical-regulator: true

required:
  - compatible
  - regulator-name

unevaluatedProperties: false

examples:
  - |
    reg_1v8: regulator-1v8 {
      compatible = "regulator-fixed";
      regulator-name = "1v8";
      regulator-min-microvolt = <1800000>;
      regulator-max-microvolt = <1800000>;
      gpio = <&gpio1 16 0>;
      startup-delay-us = <70000>;
      enable-active-high;
      regulator-boot-on;
      gpio-open-drain;
      vin-supply = <&parent_reg>;
    };
    reg_1v8_clk: regulator-1v8-clk {
      compatible = "regulator-fixed-clock";
      regulator-name = "1v8";
      regulator-min-microvolt = <1800000>;
      regulator-max-microvolt = <1800000>;
      clocks = <&clock1>;
      startup-delay-us = <70000>;
      enable-active-high;
      regulator-boot-on;
      vin-supply = <&parent_reg>;
    };
    reg_1v8_domain: regulator-1v8-domain {
      compatible = "regulator-fixed-domain";
      regulator-name = "1v8";
      regulator-min-microvolt = <1800000>;
      regulator-max-microvolt = <1800000>;
      power-domains = <&domain1>;
      required-opps = <&domain1_state1>;
      startup-delay-us = <70000>;
      enable-active-high;
      regulator-boot-on;
      vin-supply = <&parent_reg>;
    };
...