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

title: TI LP873X Power Management Integrated Circuit

maintainers:
  - J Keerthy <j-keerthy@ti.com>

description:
  PMIC with two high-current buck converters and two linear regulators.

properties:
  compatible:
    enum:
      - ti,lp8732
      - ti,lp8733

  reg:
    maxItems: 1

  gpio-controller: true

  '#gpio-cells':
    const: 2

  regulators:
    description:
      List of child nodes that specify the regulator initialization data.
    type: object
    patternProperties:
      "^buck[01]|ldo[01]$":
        type: object
        $ref: /schemas/regulator/regulator.yaml#
        unevaluatedProperties: false
    additionalProperties: false

patternProperties:
  '^(buck[01]|ldo[01])-in-supply$':
    description: Phandle to parent supply of each regulator populated under regulators node.

required:
  - compatible
  - reg
  - regulators
  - buck0-in-supply
  - buck1-in-supply
  - ldo0-in-supply
  - ldo1-in-supply

additionalProperties: false

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

        pmic: pmic@60 {
            compatible = "ti,lp8733";
            reg = <0x60>;
            gpio-controller;
            #gpio-cells = <2>;

            buck0-in-supply = <&vsys_3v3>;
            buck1-in-supply = <&vsys_3v3>;
            ldo0-in-supply = <&vsys_3v3>;
            ldo1-in-supply = <&vsys_3v3>;

            regulators {
                buck0: buck0 {
                    regulator-name = "buck0";
                    regulator-min-microvolt = <800000>;
                    regulator-max-microvolt = <1400000>;
                    regulator-min-microamp = <1500000>;
                    regulator-max-microamp = <4000000>;
                    regulator-ramp-delay = <10000>;
                    regulator-always-on;
                    regulator-boot-on;
                };

                buck1: buck1 {
                    regulator-name = "buck1";
                    regulator-min-microvolt = <800000>;
                    regulator-max-microvolt = <1400000>;
                    regulator-min-microamp = <1500000>;
                    regulator-max-microamp = <4000000>;
                    regulator-ramp-delay = <10000>;
                    regulator-boot-on;
                    regulator-always-on;
                };

                ldo0: ldo0 {
                    regulator-name = "ldo0";
                    regulator-min-microvolt = <800000>;
                    regulator-max-microvolt = <3000000>;
                    regulator-boot-on;
                    regulator-always-on;
                };

                ldo1: ldo1 {
                    regulator-name = "ldo1";
                    regulator-min-microvolt = <800000>;
                    regulator-max-microvolt = <3000000>;
                    regulator-always-on;
                    regulator-boot-on;
                };
            };
        };
    };
