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

title: TPS65086 Power Management Integrated Circuit (PMIC)

maintainers:
  - Emil Renner Berthing <kernel@esmil.dk>

properties:
  compatible:
    const: ti,tps65086

  reg:
    const: 0x5e
    description: I2C slave address

  interrupts:
    maxItems: 1

  interrupt-controller: true

  '#interrupt-cells':
    const: 2
    description: |
      The first cell is the IRQ number. The second cell is the flags,
      encoded as trigger masks from ../interrupt-controller/interrupts.txt.

  gpio-controller: true

  '#gpio-cells':
    const: 2
    description: |
      The first cell is the pin number and the second cell is used to specify
      flags.  See ../gpio/gpio.txt for more information.

  regulators:
    type: object
    additionalProperties: false
    description: |
      List of child nodes that specify the regulator initialization data.
      Child nodes must be named after their hardware counterparts:
      buck[1-6], ldoa[1-3], swa1, swb[1-2], and vtt.
      Each child node is defined using the standard binding for regulators and
      the optional regulator properties defined below.

    patternProperties:
      "^buck[1-6]$":
        type: object
        $ref: ../regulator/regulator.yaml

        properties:
          regulator-name: true
          regulator-boot-on: true
          regulator-always-on: true
          regulator-min-microvolt: true
          regulator-max-microvolt: true
          ti,regulator-step-size-25mv:
            type: boolean
            description: |
              Set this if the regulator is factory set with a 25mv step voltage
              mapping.
          ti,regulator-decay:
            type: boolean
            description: |
              Set this if the output needs to decay, default is for the output
              to slew down.

        additionalProperties: false

      "^(ldoa[1-3]|swa1|swb[1-2]|vtt)$":
        type: object
        $ref: ../regulator/regulator.yaml

        properties:
          regulator-name: true
          regulator-boot-on: true
          regulator-always-on: true
          regulator-min-microvolt: true
          regulator-max-microvolt: true

        additionalProperties: false

additionalProperties: false

required:
  - compatible
  - reg
  - gpio-controller
  - '#gpio-cells'
  - regulators

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

        pmic: pmic@5e {
            compatible = "ti,tps65086";
            reg = <0x5e>;
            interrupt-parent = <&gpio1>;
            interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
            interrupt-controller;
            #interrupt-cells = <2>;
            gpio-controller;
            #gpio-cells = <2>;

            regulators {
                buck1 {
                    regulator-name = "vcc1";
                    regulator-min-microvolt = <1600000>;
                    regulator-max-microvolt = <1600000>;
                    regulator-boot-on;
                    ti,regulator-decay;
                    ti,regulator-step-size-25mv;
                };
            };
        };
    };

...
