File Index
Files and directories
Sign in
FILE

gpio-regulator.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/regulator/gpio-regulator.yaml YAML
  1# SPDX-License-Identifier: GPL-2.0
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/regulator/gpio-regulator.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: GPIO controlled 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.txt, can also be used.
 16
 17allOf:
 18  - $ref: regulator.yaml#
 19
 20properties:
 21  compatible:
 22    const: regulator-gpio
 23
 24  regulator-name: true
 25
 26  enable-gpios:
 27    description: GPIO to use to enable/disable the regulator.
 28      Warning, the GPIO phandle flags are ignored and the GPIO polarity is
 29      controlled solely by the presence of "enable-active-high" DT property.
 30      This is due to compatibility with old DTs.
 31    maxItems: 1
 32
 33  gpios:
 34    description: Array of one or more GPIO pins used to select the regulator
 35      voltage/current listed in "states".
 36    minItems: 1
 37    maxItems: 8  # Should be enough...
 38
 39  gpios-states:
 40    description: |
 41      On operating systems, that don't support reading back gpio values in
 42      output mode (most notably linux), this array provides the state of GPIO
 43      pins set when requesting them from the gpio controller. Systems, that are
 44      capable of preserving state when requesting the lines, are free to ignore
 45      this property.
 46        0: LOW
 47        1: HIGH
 48      Default is LOW if nothing else is specified.
 49    $ref: /schemas/types.yaml#/definitions/uint32-array
 50    minItems: 1
 51    maxItems: 8
 52    items:
 53      enum: [0, 1]
 54      default: 0
 55
 56  states:
 57    description: Selection of available voltages/currents provided by this
 58      regulator and matching GPIO configurations to achieve them. If there are
 59      no states in the "states" array, use a fixed regulator instead.
 60    $ref: /schemas/types.yaml#/definitions/uint32-matrix
 61    minItems: 2
 62    maxItems: 256
 63    items:
 64      items:
 65        - description: Voltage in microvolts
 66        - description: GPIO group state value
 67
 68  startup-delay-us:
 69    description: startup time in microseconds
 70
 71  enable-active-high:
 72    description: Polarity of "enable-gpio" GPIO is active HIGH. Default is
 73      active LOW.
 74    type: boolean
 75
 76  gpio-open-drain:
 77    description:
 78      GPIO is open drain type. If this property is missing then default
 79      assumption is false.
 80    type: boolean
 81
 82  regulator-type:
 83    description: Specifies what is being regulated.
 84    $ref: /schemas/types.yaml#/definitions/string
 85    enum:
 86      - voltage
 87      - current
 88    default: voltage
 89
 90  vin-supply:
 91    description: Input supply phandle.
 92
 93required:
 94  - compatible
 95  - regulator-name
 96  - gpios
 97  - states
 98
 99unevaluatedProperties: false
100
101examples:
102  - |
103    gpio-regulator {
104      compatible = "regulator-gpio";
105
106      regulator-name = "mmci-gpio-supply";
107      regulator-min-microvolt = <1800000>;
108      regulator-max-microvolt = <2600000>;
109      regulator-boot-on;
110
111      enable-gpios = <&gpio0 23 0x4>;
112      gpios = <&gpio0 24 0x4
113        &gpio0 25 0x4>;
114      states = <1800000 0x3>,
115        <2200000 0x2>,
116        <2600000 0x1>,
117        <2900000 0x0>;
118
119      startup-delay-us = <100000>;
120      enable-active-high;
121    };
122...
~/ Read-only file preview.