# Copyright 2023 EPAM Systems
# SPDX-License-Identifier: Apache-2.0

description: |
  GPIO-controlled voltage of regulators

  Example of dts node:
    vccq_sd0: regulator-vccq-sd0 {
      compatible = "regulator-gpio";

      regulator-name = "SD0 VccQ";
      regulator-min-microvolt = <1800000>;
      regulator-max-microvolt = <3300000>;

      enable-gpios = <&gpio5 3 GPIO_ACTIVE_HIGH>;

      gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>, <&gpio5 2 GPIO_ACTIVE_HIGH>;
      states = <3300000 2>, <2700000 1>, <1800000 0>;

      regulator-boot-on;
    };

  In the above example, three GPIO pins are used for controlling the regulator:
    * two of them for controlling voltage;
    * third for enabling/disabling the regulator.

include:
  - name: base.yaml
  - name: regulator.yaml
    property-allowlist:
      - regulator-name
      - regulator-init-microvolt
      - regulator-min-microvolt
      - regulator-max-microvolt
      - regulator-always-on
      - regulator-boot-on

compatible: "regulator-gpio"

properties:
  regulator-name:
    required: true

  gpios:
    type: phandle-array
    required: true
    description: |
      GPIO to use to switch voltage.

  states:
    type: array
    description: |
      Selection of available voltages 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. First value in an array
      item is voltage in microvolts and the second is GPIO group state value.

  enable-gpios:
    type: phandle-array
    description: |
      GPIO to use to enable/disable the regulator.

      Unlike the gpio property in the Linux bindings this array must provide
      the GPIO polarity and open-drain status in the phandle selector. The
      Linux enable-active-high and gpio-open-drain properties are not valid
      for Zephyr devicetree files. Moreover, the driver isn't capable of
      working with more than one GPIO and this property does not have a state
      array. The driver simply sets or clears the appropriate GPIO bit when
      it is requested to enable or disable the regulator.

      Example:
        enable-gpios = <&gpio5 2 GPIO_ACTIVE_HIGH>;

  startup-delay-us:
    type: int
    description: startup time in microseconds
