regulator: Convert gpio-regulator to json-schema
Convert the gpio-regulator binding to DT schema format using json-schema. Signed-off-by: Rob Herring <robh@kernel.org> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
1914a99643
commit
673e401eff
@ -1,57 +0,0 @@
|
|||||||
GPIO controlled regulators
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : Must be "regulator-gpio".
|
|
||||||
- regulator-name : Defined in regulator.txt as optional, but required
|
|
||||||
here.
|
|
||||||
- gpios : Array of one or more GPIO pins used to select the
|
|
||||||
regulator voltage/current listed in "states".
|
|
||||||
- states : 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.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- enable-gpios : GPIO used 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.
|
|
||||||
- enable-active-high : Polarity of "enable-gpio" GPIO is active HIGH.
|
|
||||||
Default is active LOW.
|
|
||||||
- gpios-states : 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.
|
|
||||||
- startup-delay-us : Startup time in microseconds.
|
|
||||||
- regulator-type : Specifies what is being regulated, must be either
|
|
||||||
"voltage" or "current", defaults to voltage.
|
|
||||||
|
|
||||||
Any property defined as part of the core regulator binding defined in
|
|
||||||
regulator.txt can also be used.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
mmciv: 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;
|
|
||||||
};
|
|
118
Documentation/devicetree/bindings/regulator/gpio-regulator.yaml
Normal file
118
Documentation/devicetree/bindings/regulator/gpio-regulator.yaml
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
# 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.
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32-array
|
||||||
|
- 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.
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32-matrix
|
||||||
|
- maxItems: 8
|
||||||
|
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.
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/string
|
||||||
|
- enum:
|
||||||
|
- voltage
|
||||||
|
- current
|
||||||
|
default: voltage
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- regulator-name
|
||||||
|
- gpios
|
||||||
|
- states
|
||||||
|
|
||||||
|
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;
|
||||||
|
};
|
||||||
|
...
|
Loading…
Reference in New Issue
Block a user