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

title: Maxim MAX77693 MicroUSB and Companion Power Management IC

maintainers:
  - Chanwoo Choi <cw00.choi@samsung.com>
  - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>

description: |
  This is a part of device tree bindings for Maxim MAX77693 MicroUSB
  Integrated Circuit (MUIC).

  The Maxim MAX77693 is a MicroUSB and Companion Power Management IC which
  includes voltage current regulators, charger, LED/flash, haptic motor driver
  and MicroUSB management IC.

properties:
  compatible:
    const: maxim,max77693

  interrupts:
    maxItems: 1

  reg:
    maxItems: 1

  charger:
    $ref: /schemas/power/supply/maxim,max77693.yaml

  led:
    $ref: /schemas/leds/maxim,max77693.yaml

  max77693-muic:
    type: object
    additionalProperties: false

    properties:
      compatible:
        const: maxim,max77693-muic

    required:
      - compatible

  motor-driver:
    type: object
    additionalProperties: false

    properties:
      compatible:
        const: maxim,max77693-haptic

      haptic-supply:
        description: Power supply to the haptic motor

      pwms:
        maxItems: 1

    required:
      - compatible
      - haptic-supply
      - pwms

  regulators:
    $ref: ../regulator/maxim,max77693.yaml
    description:
      List of child nodes that specify the regulators.

required:
  - compatible
  - interrupts
  - reg

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/leds/common.h>

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

        pmic@66 {
            compatible = "maxim,max77693";
            reg = <0x66>;
            interrupt-parent = <&gpx1>;
            interrupts = <5 IRQ_TYPE_LEVEL_LOW>;

            regulators {
                ESAFEOUT1 {
                    regulator-name = "ESAFEOUT1";
                };

                ESAFEOUT2 {
                    regulator-name = "ESAFEOUT2";
                };

                CHARGER {
                    regulator-name = "CHARGER";
                    regulator-min-microamp = <60000>;
                    regulator-max-microamp = <2580000>;
                };
            };

            motor-driver {
                compatible = "maxim,max77693-haptic";
                haptic-supply = <&ldo26_reg>;
                pwms = <&pwm 0 38022 0>;
            };

            charger {
                compatible = "maxim,max77693-charger";

                maxim,constant-microvolt = <4350000>;
                maxim,min-system-microvolt = <3600000>;
                maxim,thermal-regulation-celsius = <100>;
                maxim,battery-overcurrent-microamp = <3500000>;
                maxim,charge-input-threshold-microvolt = <4300000>;
            };

            led {
                compatible = "maxim,max77693-led";
                maxim,boost-mode = <LEDS_BOOST_FIXED>;
                maxim,boost-mvout = <5000>;
                maxim,mvsys-min = <2400>;

                flash-led {
                    label = "max77693-flash";
                    function = LED_FUNCTION_FLASH;
                    color = <LED_COLOR_ID_WHITE>;
                    led-sources = <0>, <1>;
                    led-max-microamp = <500000>;
                    flash-max-microamp = <1250000>;
                    flash-max-timeout-us = <1000000>;
                };
            };
        };
    };
