# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/max77650.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: MAX77650 ultra low-power PMIC from Maxim Integrated.

maintainers:
  - Bartosz Golaszewski <bgolaszewski@baylibre.com>

description: |
  MAX77650 is an ultra-low power PMIC providing battery charging and power
  supply for low-power IoT and wearable applications.

  The GPIO-controller module is represented as part of the top-level PMIC
  node. The device exposes a single GPIO line.

  For device-tree bindings of other sub-modules (regulator, power supply,
  LEDs and onkey) refer to the binding documents under the respective
  sub-system directories.

properties:
  compatible:
    const: maxim,max77650

  reg:
    description:
      I2C device address.
    maxItems: 1

  interrupts:
    maxItems: 1

  interrupt-controller: true

  "#interrupt-cells":
    const: 2
    description:
      The first cell is the IRQ number, the second cell is the trigger type.

  gpio-controller: true

  "#gpio-cells":
    const: 2
    description:
      The first cell is the pin number and the second cell is used to specify
      the gpio active state.

  gpio-line-names:
    maxItems: 1
    description:
      Single string containing the name of the GPIO line.

  regulators:
    $ref: ../regulator/max77650-regulator.yaml

  charger:
    $ref: ../power/supply/max77650-charger.yaml

  leds:
    $ref: ../leds/leds-max77650.yaml

  onkey:
    $ref: ../input/max77650-onkey.yaml

required:
  - compatible
  - reg
  - interrupts
  - interrupt-controller
  - "#interrupt-cells"
  - gpio-controller
  - "#gpio-cells"

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/input/linux-event-codes.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        pmic@48 {
            compatible = "maxim,max77650";
            reg = <0x48>;

            interrupt-controller;
            interrupt-parent = <&gpio2>;
            #interrupt-cells = <2>;
            interrupts = <3 IRQ_TYPE_LEVEL_LOW>;

            gpio-controller;
            #gpio-cells = <2>;
            gpio-line-names = "max77650-charger";

            regulators {
                compatible = "maxim,max77650-regulator";

                max77650_ldo: regulator-ldo {
                    regulator-compatible = "ldo";
                    regulator-name = "max77650-ldo";
                    regulator-min-microvolt = <1350000>;
                    regulator-max-microvolt = <2937500>;
                };

                max77650_sbb0: regulator-sbb0 {
                    regulator-compatible = "sbb0";
                    regulator-name = "max77650-sbb0";
                    regulator-min-microvolt = <800000>;
                    regulator-max-microvolt = <1587500>;
                };
            };

            charger {
                compatible = "maxim,max77650-charger";
                input-voltage-min-microvolt = <4200000>;
                input-current-limit-microamp = <285000>;
            };

            leds {
                compatible = "maxim,max77650-led";
                #address-cells = <1>;
                #size-cells = <0>;

                led@0 {
                    reg = <0>;
                    label = "blue:usr0";
                };

                led@1 {
                    reg = <1>;
                    label = "red:usr1";
                    linux,default-trigger = "heartbeat";
                };

                led@2 {
                    reg = <2>;
                    label = "green:usr2";
                };
            };

            onkey {
                compatible = "maxim,max77650-onkey";
                linux,code = <KEY_END>;
                maxim,onkey-slide;
            };
        };
    };
