summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/regulator/fixed-regulator.yaml
blob: d3d0dc13dd8b80192f4860d930e89319da27ca2d (plain) (blame)
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
# 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
  required:
    - clocks
else:
  if:
    properties:
      compatible:
        contains:
          const: regulator-fixed-domain
    required:
      - power-domains
      - required-opps

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

  regulator-name: true

  gpio:
    description: gpio to use for enable control
    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:
    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:
    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
    $ref: /schemas/types.yaml#/definitions/uint32

  off-on-delay-us:
    description: off delay time in microseconds
    $ref: /schemas/types.yaml#/definitions/uint32

  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.

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>;
    };
...