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

title: ROHM BD71828 Power Management Integrated Circuit regulators

maintainers:
  - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>

description: |
  This module is part of the ROHM BD71828 MFD device. For more details
  see Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.yaml.

  The regulator controller is represented as a sub-node of the PMIC node
  on the device tree.

  Regulator nodes should be named to BUCK_<number> and LDO_<number>.
  The valid names for BD71828 regulator nodes are
  BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6, BUCK7
  LDO1, LDO2, LDO3, LDO4, LDO5, LDO6, LDO7

patternProperties:
  "^LDO[1-7]$":
    type: object
    description:
      Properties for single LDO regulator.
    $ref: regulator.yaml#

    properties:
      regulator-name:
        pattern: "^ldo[1-7]$"
        description:
          should be "ldo1", ..., "ldo7"

    unevaluatedProperties: false

  "^BUCK[1-7]$":
    type: object
    description:
      Properties for single BUCK regulator.
    $ref: regulator.yaml#

    properties:
      regulator-name:
        pattern: "^buck[1-7]$"
        description:
          should be "buck1", ..., "buck7"

      rohm,dvs-run-voltage:
        description:
          PMIC default "RUN" state voltage in uV. See below table for
          bucks which support this. 0 means disabled.
        $ref: "/schemas/types.yaml#/definitions/uint32"
        minimum: 0
        maximum: 3300000

      rohm,dvs-idle-voltage:
        description:
          PMIC default "IDLE" state voltage in uV. See below table for
          bucks which support this. 0 means disabled.
        $ref: "/schemas/types.yaml#/definitions/uint32"
        minimum: 0
        maximum: 3300000

      rohm,dvs-suspend-voltage:
        description:
          PMIC default "SUSPEND" state voltage in uV. See below table for
          bucks which support this. 0 means disabled.
        $ref: "/schemas/types.yaml#/definitions/uint32"
        minimum: 0
        maximum: 3300000

      rohm,dvs-lpsr-voltage:
        description:
          PMIC default "LPSR" state voltage in uV. See below table for
          bucks which support this. 0 means disabled.
        $ref: "/schemas/types.yaml#/definitions/uint32"
        minimum: 0
        maximum: 3300000

        # Supported default DVS states:
        #     buck       |    run     |   idle    | suspend  | lpsr
        #--------------------------------------------------------------
        # 1, 2, 6, and 7 | supported  | supported | supported (*)
        #--------------------------------------------------------------
        # 3, 4, and 5    |                    supported (**)
        #--------------------------------------------------------------
        #
        #(*)  LPSR and SUSPEND states use same voltage but both states have own
        #     enable /
        #     disable settings. Voltage 0 can be specified for a state to make
        #     regulator disabled on that state.
        #
        #(**) All states use same voltage but have own enable / disable
        #     settings. Voltage 0 can be specified for a state to make
        #     regulator disabled on that state.

    required:
      - regulator-name

    unevaluatedProperties: false

additionalProperties: false
