Commit 4d08b363 authored by Matti Vaittinen's avatar Matti Vaittinen Committed by Lee Jones
Browse files

dt-bindings: regulator: ROHM BD72720



The ROHM BD72720 is a new PMIC with 10 BUCk and 11 LDO regulators.

The BD72720 is designed to support using the BUCK10 as a supply for
the LDOs 1 to 4. When the BUCK10 is used for this, it can be set to a
LDON_HEAD mode. In this mode, the BUCK10 voltage can't be controlled by
software, but the voltage is adjusted by PMIC to match the LDO1 .. LDO4
voltages with a given offset. Offset can be 50mV .. 300mV and is
changeable at 50mV steps.

Add 'ldon-head-microvolt' property to denote a board which is designed
to utilize the LDON_HEAD mode.

All other properties are already existing.

Add dt-binding doc for ROHM BD72720 regulators to make it usable.

Signed-off-by: default avatarMatti Vaittinen <mazziesaccount@gmail.com>
Reviewed-by: default avatarRob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/81cb38d0ae1b3fa426e40d5b0a93f69a0f374657.1765804226.git.mazziesaccount@gmail.com


Signed-off-by: default avatarLee Jones <lee@kernel.org>
parent 8f0b4cce
Loading
Loading
Loading
Loading
+148 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/regulator/rohm,bd72720-regulator.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ROHM BD72720 Power Management Integrated Circuit regulators

maintainers:
  - Matti Vaittinen <mazziesaccount@gmail.com>

description: |
  This module is part of the ROHM BD72720 MFD device. For more details
  see Documentation/devicetree/bindings/mfd/rohm,bd72720-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 BD72720 regulator nodes are
  buck1, buck2, buck3, buck4, buck5, buck6, buck7, buck8, buck9, buck10
  ldo1, ldo2, ldo3, ldo4, ldo5, ldo6, ldo7, ldo8, ldo9, ldo10, ldo11

patternProperties:
  "^ldo([1-9]|1[0-1])$":
    type: object
    description:
      Properties for single LDO regulator.
    $ref: regulator.yaml#

    properties:
      regulator-name:
        pattern: "^ldo([1-9]|1[0-1])$"

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

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

        # Supported default DVS states:
        #     ldo        |    run     |   idle    | suspend   | lpsr
        # --------------------------------------------------------------
        # 1, 2, 3, and 4 | supported  | supported | supported | supported
        # --------------------------------------------------------------
        # 5 - 11         |                    supported (*)
        # --------------------------------------------------------------
        #
        # (*) 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.

    unevaluatedProperties: false

  "^buck([1-9]|10)$":
    type: object
    description:
      Properties for single BUCK regulator.
    $ref: regulator.yaml#

    properties:
      regulator-name:
        pattern: "^buck([1-9]|10)$"

      rohm,ldon-head-microvolt:
        description:
          Set this on boards where BUCK10 is used to supply LDOs 1-4. The bucki
          voltage will be changed by the PMIC to follow the LDO output voltages
          with the offset voltage given here. This will improve the LDO efficiency.
        minimum: 50000
        maximum: 300000

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

        # Supported default DVS states:
        #     buck       |    run     |   idle    | suspend   | lpsr
        # --------------------------------------------------------------
        # 1, 2, 3, and 4 | supported  | supported | supported | supported
        # --------------------------------------------------------------
        # 5 - 10    |                    supported (*)
        # --------------------------------------------------------------
        #
        # (*) 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