162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/regulator/rohm,bd71815-regulator.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: ROHM BD71815 Power Management Integrated Circuit regulators
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Matti Vaittinen <mazziesaccount@gmail.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |
1362306a36Sopenharmony_ci  This module is part of the ROHM BD718215 MFD device. For more details
1462306a36Sopenharmony_ci  see Documentation/devicetree/bindings/mfd/rohm,bd71815-pmic.yaml.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci  The regulator controller is represented as a sub-node of the PMIC node
1762306a36Sopenharmony_ci  on the device tree.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci  The valid names for BD71815 regulator nodes are
2062306a36Sopenharmony_ci  buck1, buck2, buck3, buck4, buck5,
2162306a36Sopenharmony_ci  ldo1, ldo2, ldo3, ldo4, ldo5,
2262306a36Sopenharmony_ci  ldodvref, ldolpsr, wled
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ciproperties:
2562306a36Sopenharmony_ci  wled:
2662306a36Sopenharmony_ci    type: object
2762306a36Sopenharmony_ci    description:
2862306a36Sopenharmony_ci      properties for wled regulator
2962306a36Sopenharmony_ci    $ref: regulator.yaml#
3062306a36Sopenharmony_ci    unevaluatedProperties: false
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci    properties:
3362306a36Sopenharmony_ci      regulator-name:
3462306a36Sopenharmony_ci        const: wled
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_cipatternProperties:
3762306a36Sopenharmony_ci  "^((ldo|buck)[1-5]|ldolpsr|ldodvref)$":
3862306a36Sopenharmony_ci    type: object
3962306a36Sopenharmony_ci    description:
4062306a36Sopenharmony_ci      Properties for single LDO/BUCK regulator.
4162306a36Sopenharmony_ci    $ref: regulator.yaml#
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci    properties:
4462306a36Sopenharmony_ci      regulator-name:
4562306a36Sopenharmony_ci        pattern: "^((ldo|buck)[1-5]|ldolpsr|ldodvref)$"
4662306a36Sopenharmony_ci        description:
4762306a36Sopenharmony_ci          should be "ldo1", ..., "ldo5", "buck1", ..., "buck5" and "ldolpsr"
4862306a36Sopenharmony_ci          for ldolpsr regulator, "ldodvref" for ldodvref reglator.
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci      rohm,vsel-gpios:
5162306a36Sopenharmony_ci        description:
5262306a36Sopenharmony_ci          GPIO used to control ldo4 state (when ldo4 is controlled by GPIO).
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci      rohm,dvs-run-voltage:
5562306a36Sopenharmony_ci        description:
5662306a36Sopenharmony_ci          PMIC "RUN" state voltage in uV when PMIC HW states are used. See
5762306a36Sopenharmony_ci          comments below for bucks/LDOs which support this. 0 means
5862306a36Sopenharmony_ci          regulator should be disabled at RUN state.
5962306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
6062306a36Sopenharmony_ci        minimum: 0
6162306a36Sopenharmony_ci        maximum: 3300000
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci      rohm,dvs-snvs-voltage:
6462306a36Sopenharmony_ci        description:
6562306a36Sopenharmony_ci          Whether to keep regulator enabled at "SNVS" state or not.
6662306a36Sopenharmony_ci          0 means regulator should be disabled at SNVS state, non zero voltage
6762306a36Sopenharmony_ci          keeps regulator enabled. BD71815 does not change voltage level
6862306a36Sopenharmony_ci          when PMIC transitions to SNVS.SNVS voltage depends on the previous
6962306a36Sopenharmony_ci          state (from which the PMIC transitioned to SNVS).
7062306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
7162306a36Sopenharmony_ci        minimum: 0
7262306a36Sopenharmony_ci        maximum: 3300000
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci      rohm,dvs-suspend-voltage:
7562306a36Sopenharmony_ci        description:
7662306a36Sopenharmony_ci          PMIC "SUSPEND" state voltage in uV when PMIC HW states are used. See
7762306a36Sopenharmony_ci          comments below for bucks/LDOs which support this. 0 means
7862306a36Sopenharmony_ci          regulator should be disabled at SUSPEND state.
7962306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
8062306a36Sopenharmony_ci        minimum: 0
8162306a36Sopenharmony_ci        maximum: 3300000
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ci      rohm,dvs-lpsr-voltage:
8462306a36Sopenharmony_ci        description:
8562306a36Sopenharmony_ci          PMIC "LPSR" state voltage in uV when PMIC HW states are used. See
8662306a36Sopenharmony_ci          comments below for bucks/LDOs which support this. 0 means
8762306a36Sopenharmony_ci          regulator should be disabled at LPSR state.
8862306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32
8962306a36Sopenharmony_ci        minimum: 0
9062306a36Sopenharmony_ci        maximum: 3300000
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci        # Bucks 1 and 2 support giving separate voltages for operational states
9362306a36Sopenharmony_ci        # (RUN /CLEAN according to data-sheet) and non operational states
9462306a36Sopenharmony_ci        # (LPSR/SUSPEND). The voltage is automatically changed when HW
9562306a36Sopenharmony_ci        # state changes. Omitting these properties from bucks 1 and 2 leave
9662306a36Sopenharmony_ci        # buck voltages to not be toggled by HW state. Enable status may still
9762306a36Sopenharmony_ci        # be toggled by state changes depending on HW default settings.
9862306a36Sopenharmony_ci        #
9962306a36Sopenharmony_ci        # Bucks 3-5 and ldos 1-5 support setting the RUN state voltage here.
10062306a36Sopenharmony_ci        # Given RUN voltage is used at all states if regulator is enabled at
10162306a36Sopenharmony_ci        # given state.
10262306a36Sopenharmony_ci        # Values given for other states are regarded as enable/disable at
10362306a36Sopenharmony_ci        # given state (see below).
10462306a36Sopenharmony_ci        #
10562306a36Sopenharmony_ci        # All regulators except WLED support specifying enable/disable status
10662306a36Sopenharmony_ci        # for each of the HW states (RUN/SNVS/SUSPEND/LPSR). HW defaults can
10762306a36Sopenharmony_ci        # be overridden by setting voltage to 0 (regulator disabled at given
10862306a36Sopenharmony_ci        # state) or non-zero (regulator enabled at given state). Please note
10962306a36Sopenharmony_ci        # that setting non zero voltages for bucks 1/2 will also enable voltage
11062306a36Sopenharmony_ci        # changes according to state change.
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ci    required:
11362306a36Sopenharmony_ci      - regulator-name
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ci    unevaluatedProperties: false
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ciadditionalProperties: false
118