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

title: TI tps65219 Power Management Integrated Circuit regulators

maintainers:
  - Jerome Neanne <jerome.neanne@baylibre.com>

description: |
  Regulator nodes should be named to buck<number> and ldo<number>.

properties:
  compatible:
    enum:
      - ti,tps65219

  reg:
    maxItems: 1

  system-power-controller:
    type: boolean
    description: Optional property that indicates that this device is
      controlling system power.

  interrupts:
    description: Short-circuit, over-current, under-voltage for regulators, PB interrupts.
    maxItems: 1

  interrupt-controller: true

  '#interrupt-cells':
    description: Specifies the PIN numbers and Flags, as defined in
      include/dt-bindings/interrupt-controller/irq.h
    const: 1

  ti,power-button:
    type: boolean
    description: |
      Optional property that sets the EN/PB/VSENSE pin to be a
      power-button.
      TPS65219 has a multipurpose pin called EN/PB/VSENSE that can be either
      1. EN in which case it functions as an enable pin.
      2. VSENSE which compares the voltages and triggers an automatic
      on/off request.
      3. PB in which case it can be configured to trigger an interrupt
      to the SoC.
      ti,power-button reflects the last one of those options
      where the board has a button wired to the pin and triggers
      an interrupt on pressing it.

  regulators:
    type: object
    description: |
      list of regulators provided by this controller

    patternProperties:
      "^ldo[1-4]$":
        type: object
        $ref: regulator.yaml#
        description:
          Properties for single LDO regulator.

        unevaluatedProperties: false

      "^buck[1-3]$":
        type: object
        $ref: regulator.yaml#
        description:
          Properties for single BUCK regulator.

        unevaluatedProperties: false

    additionalProperties: false

patternProperties:
  "^buck[1-3]-supply$":
    description: Input supply phandle of one regulator.

  "^ldo[1-4]-supply$":
    description: Input supply phandle of one regulator.

required:
  - compatible
  - reg
  - interrupts
  - regulators

additionalProperties: false

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

        tps65219: pmic@30 {
            compatible = "ti,tps65219";
            reg = <0x30>;
            buck1-supply = <&vcc_3v3_sys>;
            buck2-supply = <&vcc_3v3_sys>;
            buck3-supply = <&vcc_3v3_sys>;
            ldo1-supply = <&vcc_3v3_sys>;
            ldo2-supply = <&buck2_reg>;
            ldo3-supply = <&vcc_3v3_sys>;
            ldo4-supply = <&vcc_3v3_sys>;

            pinctrl-0 = <&pmic_irq_pins_default>;

            interrupt-parent = <&gic500>;
            interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
            ti,power-button;

            regulators {
                buck1_reg: buck1 {
                    regulator-name = "VDD_CORE";
                    regulator-min-microvolt = <750000>;
                    regulator-max-microvolt = <750000>;
                    regulator-boot-on;
                    regulator-always-on;
                };

                buck2_reg: buck2 {
                    regulator-name = "VCC1V8";
                    regulator-min-microvolt = <1800000>;
                    regulator-max-microvolt = <1800000>;
                    regulator-boot-on;
                    regulator-always-on;
                };

                buck3_reg: buck3 {
                    regulator-name = "VDD_LPDDR4";
                    regulator-min-microvolt = <1100000>;
                    regulator-max-microvolt = <1100000>;
                    regulator-boot-on;
                    regulator-always-on;
                };

                ldo1_reg: ldo1 {
                    regulator-name = "VDDSHV_SD_IO_PMIC";
                    regulator-min-microvolt = <33000000>;
                    regulator-max-microvolt = <33000000>;
                };

                ldo2_reg: ldo2 {
                    regulator-name = "VDDAR_CORE";
                    regulator-min-microvolt = <850000>;
                    regulator-max-microvolt = <850000>;
                    regulator-boot-on;
                    regulator-always-on;
                };

                ldo3_reg: ldo3 {
                    regulator-name = "VDDA_1V8";
                    regulator-min-microvolt = <18000000>;
                    regulator-max-microvolt = <18000000>;
                    regulator-boot-on;
                    regulator-always-on;
                };

                ldo4_reg: ldo4 {
                    regulator-name = "VDD_PHY_2V5";
                    regulator-min-microvolt = <25000000>;
                    regulator-max-microvolt = <25000000>;
                    regulator-boot-on;
                    regulator-always-on;
                };
            };
        };
    };
