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

title: Dialog Semiconductor SLG51000 Voltage Regulator

maintainers:
  - Eric Jeong <eric.jeong.opensource@diasemi.com>
  - Support Opensource <support.opensource@diasemi.com>

properties:
  compatible:
    const: dlg,slg51000

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  dlg,cs-gpios:
    maxItems: 1
    description:
      GPIO for chip select

  vin3-supply:
    description:
      Input supply for ldo3, required if regulator is enabled

  vin4-supply:
    description:
      Input supply for ldo4, required if regulator is enabled

  vin5-supply:
    description:
      Input supply for ldo5, required if regulator is enabled

  vin6-supply:
    description:
      Input supply for ldo6, required if regulator is enabled

  vin7-supply:
    description:
      Input supply for ldo7, required if regulator is enabled

  regulators:
    type: object
    additionalProperties: false

    patternProperties:
      "^ldo[1-7]$":
        type: object
        $ref: /schemas/regulator/regulator.yaml#
        unevaluatedProperties: false

        properties:
          enable-gpios:
            maxItems: 1

        required:
          - regulator-name

required:
  - compatible
  - reg
  - regulators

additionalProperties: false

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

        pmic@75 {
            compatible = "dlg,slg51000";
            reg = <0x75>;
            dlg,cs-gpios = <&tlmm 69 GPIO_ACTIVE_HIGH>;
            vin5-supply = <&vreg_s1f_1p2>;
            vin6-supply = <&vreg_s1f_1p2>;

            regulators {
                ldo1 {
                    regulator-name = "slg51000_b_ldo1";
                    regulator-min-microvolt = <2400000>;
                    regulator-max-microvolt = <3300000>;
                };

                ldo2 {
                    regulator-name = "slg51000_b_ldo2";
                    regulator-min-microvolt = <2400000>;
                    regulator-max-microvolt = <3300000>;
                };

                ldo3 {
                    regulator-name = "slg51000_b_ldo3";
                    regulator-min-microvolt = <1200000>;
                    regulator-max-microvolt = <3750000>;
                };

                ldo4 {
                    regulator-name = "slg51000_b_ldo4";
                    regulator-min-microvolt = <1200000>;
                    regulator-max-microvolt = <3750000>;
                };

                ldo5 {
                    regulator-name = "slg51000_b_ldo5";
                    regulator-min-microvolt = <500000>;
                    regulator-max-microvolt = <1200000>;
                };

                ldo6 {
                    regulator-name = "slg51000_b_ldo6";
                    regulator-min-microvolt = <500000>;
                    regulator-max-microvolt = <1200000>;
                };

                ldo7 {
                    regulator-name = "slg51000_b_ldo7";
                    regulator-min-microvolt = <1200000>;
                    regulator-max-microvolt = <3750000>;
                };
            };
        };
    };
