Documentation / devicetree / bindings / regulator / fixed-regulator.yaml


Based on kernel version 6.11. Page generated on 2024-09-24 08:21 EST.

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 154 155 156 157 158 159 160
# 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:
  $nodename:
    anyOf:
      - description: Preferred name is 'regulator-[0-9]v[0-9]'
        pattern: '^regulator(-[0-9]+v[0-9]+|-[0-9a-z-]+)?$'
      - description: Any name allowed
        deprecated: true

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