# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/power/supply/maxim,max14577.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Maxim MAX14577/MAX77836 MicroUSB and Companion Power Management IC Charger

maintainers:
  - Krzysztof Kozlowski <krzk@kernel.org>

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

  See also Documentation/devicetree/bindings/mfd/maxim,max14577.yaml for
  additional information and example.

properties:
  compatible:
    enum:
      - maxim,max14577-charger
      - maxim,max77836-charger

  maxim,constant-uvolt:
    description:
      Battery Constant Voltage in uV
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 4000000
    maximum: 4350000

  maxim,eoc-uamp:
    description: |
      Current in uA for End-Of-Charge mode.
      MAX14577: 50000-20000
      MAX77836: 5000-100000
    $ref: /schemas/types.yaml#/definitions/uint32

  maxim,fast-charge-uamp:
    description: |
      Current in uA for Fast Charge
      MAX14577: 90000-950000
      MAX77836: 45000-475000
    $ref: /schemas/types.yaml#/definitions/uint32

  maxim,ovp-uvolt:
    description:
      OverVoltage Protection Threshold in uV; In an overvoltage condition, INT
      asserts and charging stops.
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [6000000, 6500000, 7000000, 7500000]

required:
  - compatible
  - maxim,constant-uvolt
  - maxim,eoc-uamp
  - maxim,fast-charge-uamp
  - maxim,ovp-uvolt

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: maxim,max14577-charger
    then:
      properties:
        maxim,eoc-uamp:
          minimum: 50000
          maximum: 200000
        maxim,fast-charge-uamp:
          minimum: 90000
          maximum: 950000
    else:
      # max77836
      properties:
        maxim,eoc-uamp:
          minimum: 5000
          maximum: 100000
        maxim,fast-charge-uamp:
          minimum: 45000
          maximum: 475000

additionalProperties: false