mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
117 lines
3.1 KiB
117 lines
3.1 KiB
# 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 <[email protected]> |
|
- Mark Brown <[email protected]> |
|
|
|
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 |
|
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 |
|
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. |
|
$ref: /schemas/types.yaml#/definitions/string |
|
enum: |
|
- voltage |
|
- current |
|
default: voltage |
|
|
|
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; |
|
}; |
|
...
|
|
|