Re: [PATCH v2 06/17] dt_bindings: regulator: Add ROHM BD71815 PMIC regulators

Rob Herring
2021-02-09T02:25:52Z

On Tue, Jan 19, 2021 at 09:17:09AM +0200, Matti Vaittinen wrote:
> Add binding documentation for regulators on ROHM BD71815 PMIC.
> 5 bucks, 7 LDOs and a boost for LED.
>
> Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
> ---
>
> Changes since v1:
> - Changed patch order to fix ref dependecy
> - Added missing schema for nodes wled, ldodvref, ldolpsr
>
> .../regulator/rohm,bd71815-regulator.yaml | 116 ++++++++++++++++++
> 1 file changed, 116 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/regulator/rohm,bd71815-regulator.yaml
>
> diff --git a/Documentation/devicetree/bindings/regulator/rohm,bd71815-regulator.yaml b/Documentation/devicetree/bindings/regulator/rohm,bd71815-regulator.yaml
> new file mode 100644
> index 000000000000..7d0adb74a396
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/regulator/rohm,bd71815-regulator.yaml
> @@ -0,0 +1,116 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/regulator/rohm,bd71815-regulator.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: ROHM BD71815 Power Management Integrated Circuit regulators
> +
> +maintainers:
> + - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
> +
> +description: |
> + This module is part of the ROHM BD718215 MFD device. For more details
> + see Documentation/devicetree/bindings/mfd/rohm,bd71815-pmic.yaml.
> +
> + The regulator controller is represented as a sub-node of the PMIC node
> + on the device tree.
> +
> + The valid names for BD71815 regulator nodes are
> + buck1, buck2, buck3, buck4, buck5,
> + ldo1, ldo2, ldo3, ldo4, ldo5,
> + ldodvref, ldolpsr, wled
> +
> +properties:
> + wled:
> + type: object
> + description:
> + properties for wled regulator
> + $ref: regulator.yaml#
> +
> + properties:
> + regulator-name:
> + const: wled
> +
> +patternProperties:
> + "^((ldo|buck)[1-5]|ldolpsr|ldodvref)$":
> + type: object
> + description:
> + Properties for single LDO/BUCK regulator.
> + $ref: regulator.yaml#
> +
> + properties:
> + regulator-name:
> + pattern: "^((ldo|buck)[1-5]|ldolpsr|ldodvref)$"
> + description:
> + should be "ldo1", ..., "ldo5", "buck1", ..., "buck5" and "ldolpsr"
> + for ldolpsr regulator, "ldodvref" for ldodvref reglator.
> +
> + rohm,vsel-gpios:
> + description:
> + GPIO used to control ldo4 state (when ldo4 is controlled by GPIO).
> +
> + rohm,dvs-run-voltage:

Use standard unit suffix.

> + description:
> + PMIC "RUN" state voltage in uV when PMIC HW states are used. See
> + comments below for bucks/LDOs which support this. 0 means
> + regulator should be disabled at RUN state.
> + $ref: "/schemas/types.yaml#/definitions/uint32"

And then drop this.

> + minimum: 0
> + maximum: 3300000
> +
> + rohm,dvs-snvs-voltage:
> + description:
> + Whether to keep regulator enabled at "SNVS" state or not.
> + 0 means regulator should be disabled at SNVS state, non zero voltage
> + keeps regulator enabled. BD71815 does not change voltage level
> + when PMIC transitions to SNVS.SNVS voltage depends on the previous
> + state (from which the PMIC transitioned to SNVS).
> + $ref: "/schemas/types.yaml#/definitions/uint32"

Same here.

> + minimum: 0
> + maximum: 3300000
> +
> + rohm,dvs-suspend-voltage:
> + description:
> + PMIC "SUSPEND" state voltage in uV when PMIC HW states are used. See
> + comments below for bucks/LDOs which support this. 0 means
> + regulator should be disabled at SUSPEND state.
> + $ref: "/schemas/types.yaml#/definitions/uint32"

And here.

> + minimum: 0
> + maximum: 3300000
> +
> + rohm,dvs-lpsr-voltage:
> + description:
> + PMIC "LPSR" state voltage in uV when PMIC HW states are used. See
> + comments below for bucks/LDOs which support this. 0 means
> + regulator should be disabled at LPSR state.
> + $ref: "/schemas/types.yaml#/definitions/uint32"
> + minimum: 0
> + maximum: 3300000
> +
> + # Bucks 1 and 2 support giving separate voltages for operational states
> + # (RUN /CLEAN according to data-sheet) and non operational states
> + # (LPSR/SUSPEND). The voltage is automatically changed when HW
> + # state changes. Omitting these properties from bucks 1 and 2 leave
> + # buck voltages to not be toggled by HW state. Enable status may still
> + # be toggled by state changes depending on HW default settings.
> + #
> + # Bucks 3-5 and ldos 1-5 support setting the RUN state voltage here.
> + # Given RUN voltage is used at all states if regulator is enabled at
> + # given state.
> + # Values given for other states are regarded as enable/disable at
> + # given state (see below).
> + #
> + # All regulators except WLED support specifying enable/disable status
> + # for each of the HW states (RUN/SNVS/SUSPEND/LPSR). HW defaults can
> + # be overridden by setting voltage to 0 (regulator disabled at given
> + # state) or non-zero (regulator enabled at given state). Please note
> + # that setting non zero voltages for bucks 1/2 will also enable voltage
> + # changes according to state change.
> +
> + required:
> + - regulator-name
> +
> + unevaluatedProperties: false
> +
> +additionalProperties: false
> --
> 2.25.4
>
>
> --
> Matti Vaittinen, Linux device drivers
> ROHM Semiconductors, Finland SWDC
> Kiviharjunlenkki 1E
> 90220 OULU
> FINLAND
>
> ~~~ "I don't think so," said Rene Descartes. Just then he vanished ~~~
> Simon says - in Latin please.
> ~~~ "non cogito me" dixit Rene Descarte, deinde evanescavit ~~~
> Thanks to Simon Glass for the translation =]