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

title: Awinic AW37503 Voltage Regulator

maintainers:
  - Alec Li <like@awinic.com>

description:
  The AW37503 are dual voltage regulator, designed to support positive/negative
  supply for driving TFT-LCD panels. It support software-configurable output
  switching and monitoring. The output voltages can be programmed via an I2C
  compatible interface.

properties:
  compatible:
    const: awinic,aw37503

  reg:
    maxItems: 1

patternProperties:
  "^out[pn]$":
    type: object
    $ref: regulator.yaml#
    unevaluatedProperties: false
    description:
      Properties for single regulator.

    properties:
      enable-gpios:
        maxItems: 1
        description:
          GPIO specifier to enable the GPIO control (on/off) for regulator.

    required:
      - regulator-name

required:
  - compatible
  - reg
  - outp
  - outn

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

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

        regulator@3e {
            compatible = "awinic,aw37503";
            reg = <0x3e>;

            outp {
                regulator-name = "outp";
                regulator-boot-on;
                regulator-always-on;
                enable-gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
            };

            outn {
                regulator-name = "outn";
                regulator-boot-on;
                regulator-always-on;
                enable-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
            };
        };
    };
...