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

title:
  Dialog Semiconductor DA9211-9215, DA9223-9225 Voltage Regulators

maintainers:
  - Ariel D'Alessandro <ariel.dalessandro@collabora.com>

properties:
  compatible:
    enum:
      - dlg,da9211
      - dlg,da9212
      - dlg,da9213
      - dlg,da9214
      - dlg,da9215
      - dlg,da9223
      - dlg,da9224
      - dlg,da9225

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  regulators:
    type: object
    additionalProperties: false
    description:
      List of regulators provided by the device

    patternProperties:
      "^BUCK([AB])$":
        type: object
        $ref: regulator.yaml#
        unevaluatedProperties: false
        description:
          Properties for a single BUCK regulator

        properties:
          regulator-initial-mode:
            items:
              enum: [ 1, 2, 3 ]
            description:
              Defined in include/dt-bindings/regulator/dlg,da9211-regulator.h

          regulator-allowed-modes:
            items:
              enum: [ 1, 2, 3 ]
            description:
              Defined in include/dt-bindings/regulator/dlg,da9211-regulator.h

          enable-gpios:
            maxItems: 1

required:
  - compatible
  - reg
  - interrupts
  - regulators

additionalProperties: false

examples:
  - |
    #include <dt-bindings/regulator/dlg,da9211-regulator.h>

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

        regulator@68 {
            compatible = "dlg,da9212";
            reg = <0x68>;
            interrupts = <3 27>;

            regulators {
                BUCKA {
                    regulator-name = "VBUCKA";
                    regulator-min-microvolt = < 300000>;
                    regulator-max-microvolt = <1570000>;
                    regulator-min-microamp = <2000000>;
                    regulator-max-microamp = <5000000>;
                    enable-gpios = <&gpio 27 0>;
                };
                BUCKB {
                    regulator-name = "VBUCKB";
                    regulator-min-microvolt = < 300000>;
                    regulator-max-microvolt = <1570000>;
                    regulator-min-microamp = <2000000>;
                    regulator-max-microamp = <5000000>;
                    enable-gpios = <&gpio 17 0>;
                };
            };
        };
    };

...
