# 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"

additionalProperties: false

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;
            };
        };
    };
