1673e401eSRob Herring# SPDX-License-Identifier: GPL-2.0 2673e401eSRob Herring%YAML 1.2 3673e401eSRob Herring--- 4673e401eSRob Herring$id: http://devicetree.org/schemas/regulator/gpio-regulator.yaml# 5673e401eSRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml# 6673e401eSRob Herring 7673e401eSRob Herringtitle: GPIO controlled regulators 8673e401eSRob Herring 9673e401eSRob Herringmaintainers: 10673e401eSRob Herring - Liam Girdwood <lgirdwood@gmail.com> 11673e401eSRob Herring - Mark Brown <broonie@kernel.org> 12673e401eSRob Herring 13673e401eSRob Herringdescription: 14673e401eSRob Herring Any property defined as part of the core regulator binding, defined in 15673e401eSRob Herring regulator.txt, can also be used. 16673e401eSRob Herring 17673e401eSRob HerringallOf: 18*cff5c895SRob Herring - $ref: regulator.yaml# 19673e401eSRob Herring 20673e401eSRob Herringproperties: 21673e401eSRob Herring compatible: 22673e401eSRob Herring const: regulator-gpio 23673e401eSRob Herring 24673e401eSRob Herring regulator-name: true 25673e401eSRob Herring 26673e401eSRob Herring enable-gpios: 27673e401eSRob Herring description: GPIO to use to enable/disable the regulator. 28673e401eSRob Herring Warning, the GPIO phandle flags are ignored and the GPIO polarity is 29673e401eSRob Herring controlled solely by the presence of "enable-active-high" DT property. 30673e401eSRob Herring This is due to compatibility with old DTs. 31673e401eSRob Herring maxItems: 1 32673e401eSRob Herring 33673e401eSRob Herring gpios: 34673e401eSRob Herring description: Array of one or more GPIO pins used to select the regulator 35673e401eSRob Herring voltage/current listed in "states". 36673e401eSRob Herring minItems: 1 37673e401eSRob Herring maxItems: 8 # Should be enough... 38673e401eSRob Herring 39673e401eSRob Herring gpios-states: 40673e401eSRob Herring description: | 41673e401eSRob Herring On operating systems, that don't support reading back gpio values in 42673e401eSRob Herring output mode (most notably linux), this array provides the state of GPIO 43673e401eSRob Herring pins set when requesting them from the gpio controller. Systems, that are 44673e401eSRob Herring capable of preserving state when requesting the lines, are free to ignore 45673e401eSRob Herring this property. 46673e401eSRob Herring 0: LOW 47673e401eSRob Herring 1: HIGH 48673e401eSRob Herring Default is LOW if nothing else is specified. 493d21a460SRob Herring $ref: /schemas/types.yaml#/definitions/uint32-array 503d21a460SRob Herring maxItems: 8 51673e401eSRob Herring items: 52673e401eSRob Herring enum: [0, 1] 53673e401eSRob Herring default: 0 54673e401eSRob Herring 55673e401eSRob Herring states: 56673e401eSRob Herring description: Selection of available voltages/currents provided by this 57673e401eSRob Herring regulator and matching GPIO configurations to achieve them. If there are 58673e401eSRob Herring no states in the "states" array, use a fixed regulator instead. 593d21a460SRob Herring $ref: /schemas/types.yaml#/definitions/uint32-matrix 603d21a460SRob Herring maxItems: 8 61673e401eSRob Herring items: 62673e401eSRob Herring items: 63673e401eSRob Herring - description: Voltage in microvolts 64673e401eSRob Herring - description: GPIO group state value 65673e401eSRob Herring 66673e401eSRob Herring startup-delay-us: 67673e401eSRob Herring description: startup time in microseconds 68673e401eSRob Herring 69673e401eSRob Herring enable-active-high: 70673e401eSRob Herring description: Polarity of "enable-gpio" GPIO is active HIGH. Default is 71673e401eSRob Herring active LOW. 72673e401eSRob Herring type: boolean 73673e401eSRob Herring 74673e401eSRob Herring gpio-open-drain: 75673e401eSRob Herring description: 76673e401eSRob Herring GPIO is open drain type. If this property is missing then default 77673e401eSRob Herring assumption is false. 78673e401eSRob Herring type: boolean 79673e401eSRob Herring 80673e401eSRob Herring regulator-type: 81673e401eSRob Herring description: Specifies what is being regulated. 823d21a460SRob Herring $ref: /schemas/types.yaml#/definitions/string 833d21a460SRob Herring enum: 84673e401eSRob Herring - voltage 85673e401eSRob Herring - current 86673e401eSRob Herring default: voltage 87673e401eSRob Herring 88392cc0a4SJerome Neanne vin-supply: 89392cc0a4SJerome Neanne description: Input supply phandle. 90392cc0a4SJerome Neanne 91673e401eSRob Herringrequired: 92673e401eSRob Herring - compatible 93673e401eSRob Herring - regulator-name 94673e401eSRob Herring - gpios 95673e401eSRob Herring - states 96673e401eSRob Herring 976fdc6e23SRob HerringunevaluatedProperties: false 986fdc6e23SRob Herring 99673e401eSRob Herringexamples: 100673e401eSRob Herring - | 101673e401eSRob Herring gpio-regulator { 102673e401eSRob Herring compatible = "regulator-gpio"; 103673e401eSRob Herring 104673e401eSRob Herring regulator-name = "mmci-gpio-supply"; 105673e401eSRob Herring regulator-min-microvolt = <1800000>; 106673e401eSRob Herring regulator-max-microvolt = <2600000>; 107673e401eSRob Herring regulator-boot-on; 108673e401eSRob Herring 109673e401eSRob Herring enable-gpios = <&gpio0 23 0x4>; 110673e401eSRob Herring gpios = <&gpio0 24 0x4 111673e401eSRob Herring &gpio0 25 0x4>; 112673e401eSRob Herring states = <1800000 0x3>, 113673e401eSRob Herring <2200000 0x2>, 114673e401eSRob Herring <2600000 0x1>, 115673e401eSRob Herring <2900000 0x0>; 116673e401eSRob Herring 117673e401eSRob Herring startup-delay-us = <100000>; 118673e401eSRob Herring enable-active-high; 119673e401eSRob Herring }; 120673e401eSRob Herring... 121