# 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>
    i2c0 {
        #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;
                };
            };
        };
    };

...
