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

title: Texas Instruments TPS6236x Voltage Regulators

maintainers:
  - Laxman Dewangan <ldewangan@nvidia.com>

description: |
  The TPS6236x are a family of step down dc-dc converter with
  an input voltage range of 2.5V to 5.5V. The devices provide
  up to 3A peak load current, and an output voltage range of
  0.77V to 1.4V (TPS62360/62) and 0.5V to 1.77V (TPS62361B/63).

  Datasheet is available at:
  https://www.ti.com/lit/gpn/tps62360

allOf:
  - $ref: regulator.yaml#

properties:
  compatible:
    enum:
      - ti,tps62360
      - ti,tps62361
      - ti,tps62362
      - ti,tps62363

  reg:
    maxItems: 1

  ti,vsel0-gpio:
    description: |
      GPIO for controlling VSEL0 line. If this property
      is missing, then assume that there is no GPIO for
      VSEL0 control.
    maxItems: 1

  ti,vsel1-gpio:
    description: |
      GPIO for controlling VSEL1 line. If this property
      is missing, then assume that there is no GPIO for
      VSEL1 control.
    maxItems: 1

  ti,enable-vout-discharge:
    description: Enable output discharge.
    type: boolean

  ti,enable-pull-down:
    description: Enable pull down.
    type: boolean

  ti,vsel0-state-high:
    description: |
      Initial state of VSEL0 input is high. If this property
      is missing, then assume the state as low.
    type: boolean

  ti,vsel1-state-high:
    description: |
      Initial state of VSEL1 input is high. If this property
      is missing, then assume the state as low.
    type: boolean

required:
  - compatible
  - reg

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        regulator@60 {
            compatible = "ti,tps62361";
            reg = <0x60>;
            regulator-name = "tps62361-vout";
            regulator-min-microvolt = <500000>;
            regulator-max-microvolt = <1500000>;
            regulator-boot-on;
            ti,vsel0-gpio = <&gpio1 16 GPIO_ACTIVE_HIGH>;
            ti,vsel1-gpio = <&gpio1 17 GPIO_ACTIVE_HIGH>;
            ti,vsel0-state-high;
            ti,vsel1-state-high;
            ti,enable-pull-down;
            ti,enable-vout-discharge;
        };
    };

...