# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/regulator/richtek,rt4801-regulator.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Richtek RT4801 Display Bias regulators

maintainers:
  - ChiYuan Huang <cy_huang@richtek.com>

description: |
  Regulator nodes should be named to DSVP and DSVN. The
  definition for each of these nodes is defined using the standard
  binding for regulators at
  Documentation/devicetree/bindings/regulator/regulator.txt.
  Datasheet is available at
  https://www.richtek.com/assets/product_file/RT4801H/DS4801H-00.pdf

properties:
  compatible:
    enum:
      - richtek,rt4801

  reg:
    maxItems: 1

  enable-gpios:
    description: GPIOs to use to enable DSVP/DSVN regulator.
      The first one is ENP to enable DSVP, and second one is ENM to enable DSVN.
      Number of GPIO in the array list could be 1 or 2.
      If only one gpio is specified, only one gpio used to control ENP/ENM.
      Else if both are specified, DSVP/DSVN could be controlled individually.
      If this property not specified, treat both as always-on regulators.

      Property is deprecated. Use enable-gpios in each regulator.
    minItems: 1
    maxItems: 2
    deprecated: true

patternProperties:
  "^DSV(P|N)$":
    type: object
    $ref: regulator.yaml#
    unevaluatedProperties: false
    description:
      Properties for single display bias regulator.

    properties:
      enable-gpios:
        description:
          GPIO to use to enable DSVP/DSVN regulator. One GPIO can be configured
          for controlling both regulators.  If this property not specified for
          any regulator, treat both as always-on regulators.
        maxItems: 1

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        rt4801@73 {
            compatible = "richtek,rt4801";
            reg = <0x73>;

            dsvp: DSVP {
                regulator-name = "rt4801,dsvp";
                regulator-min-microvolt = <4000000>;
                regulator-max-microvolt = <6000000>;
                regulator-boot-on;
                enable-gpios = <&gpio26 2 0>;
            };
            dsvn: DSVN {
                regulator-name = "rt4801,dsvn";
                regulator-min-microvolt = <4000000>;
                regulator-max-microvolt = <6000000>;
                regulator-boot-on;
                enable-gpios = <&gpio26 3 0>;
            };

        };
    };
