| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- # SPDX-License-Identifier: GPL-2.0
- %YAML 1.2
- ---
- $id: http://devicetree.org/schemas/regulator/gpio-regulator.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- title: GPIO controlled 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.txt, can also be used.
- allOf:
- - $ref: regulator.yaml#
- properties:
- compatible:
- const: regulator-gpio
- regulator-name: true
- enable-gpios:
- description: GPIO to use to enable/disable the regulator.
- Warning, the GPIO phandle flags are ignored and the GPIO polarity is
- controlled solely by the presence of "enable-active-high" DT property.
- This is due to compatibility with old DTs.
- maxItems: 1
- gpios:
- description: Array of one or more GPIO pins used to select the regulator
- voltage/current listed in "states".
- minItems: 1
- maxItems: 8 # Should be enough...
- gpios-states:
- description: |
- On operating systems, that don't support reading back gpio values in
- output mode (most notably linux), this array provides the state of GPIO
- pins set when requesting them from the gpio controller. Systems, that are
- capable of preserving state when requesting the lines, are free to ignore
- this property.
- 0: LOW
- 1: HIGH
- Default is LOW if nothing else is specified.
- $ref: /schemas/types.yaml#/definitions/uint32-array
- minItems: 1
- maxItems: 8
- items:
- enum: [0, 1]
- default: 0
- states:
- description: Selection of available voltages/currents provided by this
- regulator and matching GPIO configurations to achieve them. If there are
- no states in the "states" array, use a fixed regulator instead.
- $ref: /schemas/types.yaml#/definitions/uint32-matrix
- minItems: 2
- maxItems: 256
- items:
- items:
- - description: Voltage in microvolts
- - description: GPIO group state value
- startup-delay-us:
- description: startup time in microseconds
- enable-active-high:
- description: Polarity of "enable-gpio" GPIO is active HIGH. Default 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
- regulator-type:
- description: Specifies what is being regulated.
- $ref: /schemas/types.yaml#/definitions/string
- enum:
- - voltage
- - current
- default: voltage
- vin-supply:
- description: Input supply phandle.
- required:
- - compatible
- - regulator-name
- - gpios
- - states
- unevaluatedProperties: false
- examples:
- - |
- gpio-regulator {
- compatible = "regulator-gpio";
- regulator-name = "mmci-gpio-supply";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <2600000>;
- regulator-boot-on;
- enable-gpios = <&gpio0 23 0x4>;
- gpios = <&gpio0 24 0x4
- &gpio0 25 0x4>;
- states = <1800000 0x3>,
- <2200000 0x2>,
- <2600000 0x1>,
- <2900000 0x0>;
- startup-delay-us = <100000>;
- enable-active-high;
- };
- ...
|