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; };