# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/marvell,88pm886-a1.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Marvell 88PM886 PMIC core

maintainers:
  - Karel Balej <balejk@matfyz.cz>

description:
  Marvell 88PM886 is a PMIC providing several functions such as onkey,
  regulators or battery and charger.

properties:
  compatible:
    const: marvell,88pm886-a1

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  wakeup-source: true

  regulators:
    type: object
    additionalProperties: false
    patternProperties:
      "^(ldo(1[0-6]|[1-9])|buck[1-5])$":
        type: object
        $ref: /schemas/regulator/regulator.yaml#
        description: LDO or buck regulator.
        unevaluatedProperties: false

  '#io-channel-cells':
    const: 1

required:
  - compatible
  - reg
  - interrupts

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;
      pmic@30 {
        compatible = "marvell,88pm886-a1";
        reg = <0x30>;
        interrupts = <0 4 IRQ_TYPE_LEVEL_HIGH>;
        interrupt-parent = <&gic>;
        #io-channel-cells = <1>;
        wakeup-source;

        regulators {
          ldo2: ldo2 {
            regulator-min-microvolt = <3100000>;
            regulator-max-microvolt = <3300000>;
          };

          ldo15: ldo15 {
            regulator-min-microvolt = <3300000>;
            regulator-max-microvolt = <3300000>;
          };

          buck2: buck2 {
            regulator-min-microvolt = <1800000>;
            regulator-max-microvolt = <1800000>;
          };
        };
      };
    };
...
