Re: [PATCH v5 01/16] dt-bindings: regulator: Document ROHM BD71282 regulator bindings

From: Rob Herring
Date: Fri Nov 22 2019 - 17:48:41 EST


On Mon, Nov 18, 2019 at 08:53:57AM +0200, Matti Vaittinen wrote:
> Document ROHM BD71828 PMIC regulator device tree bindings.
>
> Signed-off-by: Matti Vaittinen <matti.vaittinen@xxxxxxxxxxxxxxxxx>
> ---
>
> No changes from v4
>
> .../regulator/rohm,bd71828-regulator.yaml | 122 ++++++++++++++++++
> 1 file changed, 122 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/regulator/rohm,bd71828-regulator.yaml
>
> diff --git a/Documentation/devicetree/bindings/regulator/rohm,bd71828-regulator.yaml b/Documentation/devicetree/bindings/regulator/rohm,bd71828-regulator.yaml
> new file mode 100644
> index 000000000000..c23ec4d8584b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/regulator/rohm,bd71828-regulator.yaml
> @@ -0,0 +1,122 @@
> +# SPDX-License-Identifier: GPL-2.0-only

Please dual license new bindings:

(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@xxxxxxxxxxxxxxxxx>
> +
> +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
> + allOf:
> + - $ref: regulator.yaml#
> + description:
> + Properties for single LDO regulator.
> +
> + properties:
> + #Is there a nice way to check the name is same as node name but lower case

Nope.

Why not make the node names lower case? That's the preference though
the regulator binding is special.

> + regulator-name:
> + pattern: "^ldo[1-7]$"
> + description:
> + should be "ldo1", ..., "ldo7"
> +
> + "^BUCK[1-7]$":
> + type: object
> + allOf:
> + - $ref: regulator.yaml#
> + description:
> + Properties for single BUCK regulator.
> +
> + properties:
> + #Is there a nice way to check the name is same as node name but lower case
> + regulator-name:
> + pattern: "^buck[1-7]$"
> + description:
> + should be "buck1", ..., "buck7"
> +
> + rohm,dvs-run-voltage:
> + allOf:
> + - $ref: "/schemas/types.yaml#/definitions/uint32"
> + - minimum: 0
> + maximum: 3300000
> + description:
> + PMIC default "RUN" state voltage in uV. See below table for
> + bucks which support this. 0 means disabled.
> +
> + rohm,dvs-idle-voltage:
> + allOf:
> + - $ref: "/schemas/types.yaml#/definitions/uint32"
> + - minimum: 0
> + maximum: 3300000
> + description:
> + PMIC default "IDLE" state voltage in uV. See below table for
> + bucks which support this. 0 means disabled.
> +
> + rohm,dvs-suspend-voltage:
> + allOf:
> + - $ref: "/schemas/types.yaml#/definitions/uint32"
> + - minimum: 0
> + maximum: 3300000
> + description:
> + PMIC default "SUSPEND" state voltage in uV. See below table for
> + bucks which support this. 0 means disabled.
> +
> + rohm,dvs-lpsr-voltage:
> + allOf:
> + - $ref: "/schemas/types.yaml#/definitions/uint32"
> + - minimum: 0
> + maximum: 3300000
> + description:
> + PMIC default "LPSR" state voltage in uV. See below table for
> + bucks which support this. 0 means disabled.
> +
> +#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.

Would be nicer if indented to the same level.

> +
> + rohm,dvs-runlvl-ctrl:
> + description: |
> + buck control is done based on run-level. Regulator is not
> + individually controllable. See ../mfd/rohm,bd71828-pmic.yaml for
> + how to specify run-level control mechanism. Only bucks 1, 2, 6
> + and 7 support this.
> + type: boolean
> +
> + rohm,dvs-runlevel-microvolts:
> + minimum: 0
> + maximum: 2000000
> + maxItems: 4

Mixing array and scalar constraints.

maxItems: 4
items:
minimum: 0
maximum: 2000000


> + description:
> + Array of voltages for run-levels. First value is for run-level 0,
> + second for run-level 1 etc. Microvolts.
> +
> + required:
> + - regulator-name
> + additionalProperties: false
> +additionalProperties: false
> --
> 2.21.0
>
>
> --
> 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 =]