Re: [PATCH v2] regulator: Convert stm32-pwr regulator to json-schema

From: Rob Herring
Date: Thu Dec 05 2019 - 09:58:25 EST


On Thu, Dec 5, 2019 at 8:08 AM Pascal Paillet <p.paillet@xxxxxx> wrote:
>
> Convert the stm32-pwr regulator binding to DT schema format using
> json-schema.
>
> Signed-off-by: Pascal Paillet <p.paillet@xxxxxx>
> ---
> Changes since v1:
> - remove a regulator.yaml reference
> - add /schemas/types.yaml#/definitions/phandle-array for supply

Why? That's wrong as *-supply already has a type definition.

> - fix indent below required
>
> .../regulator/st,stm32mp1-pwr-reg.txt | 43 ------------
> .../regulator/st,stm32mp1-pwr-reg.yaml | 66 +++++++++++++++++++
> 2 files changed, 66 insertions(+), 43 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/regulator/st,stm32mp1-pwr-reg.txt
> create mode 100644 Documentation/devicetree/bindings/regulator/st,stm32mp1-pwr-reg.yaml
>
> diff --git a/Documentation/devicetree/bindings/regulator/st,stm32mp1-pwr-reg.txt b/Documentation/devicetree/bindings/regulator/st,stm32mp1-pwr-reg.txt
> deleted file mode 100644
> index e372dd3f0c8a..000000000000
> --- a/Documentation/devicetree/bindings/regulator/st,stm32mp1-pwr-reg.txt
> +++ /dev/null
> @@ -1,43 +0,0 @@
> -STM32MP1 PWR Regulators
> ------------------------
> -
> -Available Regulators in STM32MP1 PWR block are:
> - - reg11 for regulator 1V1
> - - reg18 for regulator 1V8
> - - usb33 for the swtich USB3V3
> -
> -Required properties:
> -- compatible: Must be "st,stm32mp1,pwr-reg"
> -- list of child nodes that specify the regulator reg11, reg18 or usb33
> - initialization data for defined regulators. The definition for each of
> - these nodes is defined using the standard binding for regulators found at
> - Documentation/devicetree/bindings/regulator/regulator.txt.
> -- vdd-supply: phandle to the parent supply/regulator node for vdd input
> -- vdd_3v3_usbfs-supply: phandle to the parent supply/regulator node for usb33
> -
> -Example:
> -
> -pwr_regulators: pwr@50001000 {
> - compatible = "st,stm32mp1,pwr-reg";
> - reg = <0x50001000 0x10>;
> - vdd-supply = <&vdd>;
> - vdd_3v3_usbfs-supply = <&vdd_usb>;
> -
> - reg11: reg11 {
> - regulator-name = "reg11";
> - regulator-min-microvolt = <1100000>;
> - regulator-max-microvolt = <1100000>;
> - };
> -
> - reg18: reg18 {
> - regulator-name = "reg18";
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - usb33: usb33 {
> - regulator-name = "usb33";
> - regulator-min-microvolt = <3300000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -};
> diff --git a/Documentation/devicetree/bindings/regulator/st,stm32mp1-pwr-reg.yaml b/Documentation/devicetree/bindings/regulator/st,stm32mp1-pwr-reg.yaml
> new file mode 100644
> index 000000000000..cc66a7c91260
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/regulator/st,stm32mp1-pwr-reg.yaml
> @@ -0,0 +1,66 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/regulator/st,stm32mp1-pwr-reg.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: STM32MP1 PWR voltage regulators
> +
> +maintainers:
> + - Pascal Paillet <p.paillet@xxxxxx>
> +
> +properties:
> + compatible:
> + const: st,stm32mp1,pwr-reg
> +
> + reg:
> + maxItems: 1
> +
> + vdd-supply:
> + description: Input supply phandle(s) for vdd input
> + $ref: /schemas/types.yaml#/definitions/phandle-array
> +
> + vdd_3v3_usbfs-supply:
> + description: Input supply phandle(s) for vdd_3v3_usbfs input
> + $ref: /schemas/types.yaml#/definitions/phandle-array
> +
> +patternProperties:
> + "^(reg11|reg18|usb33)$":
> + type: object
> +
> + allOf:
> + - $ref: "regulator.yaml#"
> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + pwr@50001000 {
> + compatible = "st,stm32mp1,pwr-reg";
> + reg = <0x50001000 0x10>;
> + vdd-supply = <&vdd>;
> + vdd_3v3_usbfs-supply = <&vdd_usb>;
> +
> + reg11 {
> + regulator-name = "reg11";
> + regulator-min-microvolt = <1100000>;
> + regulator-max-microvolt = <1100000>;
> + };
> +
> + reg18 {
> + regulator-name = "reg18";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + usb33 {
> + regulator-name = "usb33";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + };
> + };
> +...
> --
> 2.17.1
>