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

title: TI TPS65132 Dual Output Power Regulators

maintainers:
  - devicetree@vger.kernel.org

description: |
  The TPS65132 is designed to supply positive/negative driven applications.

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

properties:
  compatible:
    enum:
      - ti,tps65132

  reg:
    maxItems: 1

  vin-supply: true

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.

      active-discharge-gpios:
        maxItems: 1
        description:
          GPIO specifier to actively discharge the delay mechanism.

      ti,active-discharge-time-us:
        description: Regulator active discharge time in microseconds.

    dependencies:
      active-discharge-gpios: [ 'ti,active-discharge-time-us' ]

required:
  - compatible
  - reg

additionalProperties: false

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

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

        regulator@3e {
            compatible = "ti,tps65132";
            reg = <0x3e>;
            vin-supply = <&supply>;

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

            outn {
                regulator-name = "outn";
                regulator-boot-on;
                regulator-always-on;
                regulator-active-discharge = <0>;
                enable-gpios = <&gpio 40 GPIO_ACTIVE_HIGH>;
            };
        };
    };
