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

title: Maxim MAX77802 Power Management IC regulators

maintainers:
  - Javier Martinez Canillas <javier@dowhile0.org>
  - Krzysztof Kozlowski <krzk@kernel.org>

description: |
  This is a part of device tree bindings for Maxim MAX77802 Power Management
  Integrated Circuit (PMIC).

  The Maxim MAX77686 provides 10 high-efficiency Buck and 32 Low-DropOut (LDO)
  regulators.

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

  Certain regulators support "regulator-initial-mode" and "regulator-mode".
  The valid modes list is defined in the dt-bindings/regulator/maxim,max77802.h
  and their meaning is::
    1 - Normal regulator voltage output mode.
    3 - Low Power which reduces the quiescent current down to only 1uA

  The standard "regulator-mode" property can only be used for regulators that
  support changing their mode to Low Power Mode during suspend. These
  regulators are:: bucks 2-4 and LDOs 1-35. Also, it only takes effect if the
  regulator has been enabled for the given suspend state using
  "regulator-on-in-suspend" and has not been disabled for that state using
  "regulator-off-in-suspend".

patternProperties:
  # LDO1, LDO3, LDO20, LDO21
  "^LDO([13]|2[01])$":
    type: object
    $ref: regulator.yaml#
    unevaluatedProperties: false
    description:
      LDOs supporting the regulator-initial-mode property and changing their
      mode during normal operation.

  # LDO2, LDO4-15, LDO17-19, LDO23-30, LDO32-35
  "^LDO([24-9]|1[0-5789]|2[3-9]|3[02345])$":
    type: object
    $ref: regulator.yaml#
    unevaluatedProperties: false
    description:
      LDOs supporting the regulator-mode property (changing mode to Low Power
      Mode during suspend).

    properties:
      regulator-initial-mode: false

  # buck2-4
  "^BUCK[2-4]$":
    type: object
    $ref: regulator.yaml#
    unevaluatedProperties: false
    description:
      bucks supporting the regulator-mode property (changing mode to Low Power
      Mode during suspend).

    properties:
      regulator-initial-mode: false

  # buck1, buck5-10
  "^BUCK([15-9]|10)$":
    type: object
    $ref: regulator.yaml#
    unevaluatedProperties: false

    properties:
      regulator-initial-mode: false

    patternProperties:
      "^regulator-state-(standby|mem|disk)$":
        type: object
        additionalProperties: true
        properties:
          regulator-mode: false

additionalProperties: false