Re: [PATCH v3 15/15] dt-bindings: usb: Convert BDC to YAML

Rob Herring
2021-12-14T19:17:05Z

On Tue, Dec 07, 2021 at 04:37:26PM -0800, Florian Fainelli wrote:
> Convert the Broadcom BDC device controller Device Tree binding to YAML
> to help with validation.
>
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> ---
> .../devicetree/bindings/usb/brcm,bdc.txt | 29 ------------
> .../devicetree/bindings/usb/brcm,bdc.yaml | 46 +++++++++++++++++++
> MAINTAINERS | 2 +-
> 3 files changed, 47 insertions(+), 30 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/usb/brcm,bdc.txt
> create mode 100644 Documentation/devicetree/bindings/usb/brcm,bdc.yaml
>
> diff --git a/Documentation/devicetree/bindings/usb/brcm,bdc.txt b/Documentation/devicetree/bindings/usb/brcm,bdc.txt
> deleted file mode 100644
> index c9f52b97cef1..000000000000
> --- a/Documentation/devicetree/bindings/usb/brcm,bdc.txt
> +++ /dev/null
> @@ -1,29 +0,0 @@
> -Broadcom USB Device Controller (BDC)
> -====================================
> -
> -Required properties:
> -
> -- compatible: must be one of:
> - "brcm,bdc-udc-v2"
> - "brcm,bdc"
> -- reg: the base register address and length
> -- interrupts: the interrupt line for this controller
> -
> -Optional properties:
> -
> -On Broadcom STB platforms, these properties are required:
> -
> -- phys: phandle to one or two USB PHY blocks
> - NOTE: Some SoC's have a single phy and some have
> - USB 2.0 and USB 3.0 phys
> -- clocks: phandle to the functional clock of this block
> -
> -Example:
> -
> - bdc@f0b02000 {
> - compatible = "brcm,bdc-udc-v2";
> - reg = <0xf0b02000 0xfc4>;
> - interrupts = <0x0 0x60 0x0>;
> - phys = <&usbphy_0 0x0>;
> - clocks = <&sw_usbd>;
> - };
> diff --git a/Documentation/devicetree/bindings/usb/brcm,bdc.yaml b/Documentation/devicetree/bindings/usb/brcm,bdc.yaml
> new file mode 100644
> index 000000000000..48831b62ab31
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/brcm,bdc.yaml
> @@ -0,0 +1,46 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/usb/brcm,bdc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Broadcom USB Device Controller (BDC)
> +
> +maintainers:
> + - Al Cooper <alcooperx@gmail.com>
> + - Florian Fainelli <f.fainelli@gmail.com>
> +
> +properties:
> + compatible:
> + items:
> + - enum:
> + - brcm,bdc-udc-v2
> + - brcm,bdc
> +
> + reg:
> + maxItems: 1
> +
> + interrupts: true
> +
> + phys:
> + $ref: "/schemas/types.yaml#/definitions/phandle-array"

Already has a type. And we've lost how many and what each one is.

> +
> + clocks:
> + maxItems: 1
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + bdc@f0b02000 {

usb@...

> + compatible = "brcm,bdc-udc-v2";
> + reg = <0xf0b02000 0xfc4>;
> + interrupts = <0x0 0x60 0x0>;
> + phys = <&usbphy_0 0x0>;
> + clocks = <&sw_usbd>;
> + };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 2109b6fe8ea3..b18c7fa42a4f 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -3679,7 +3679,7 @@ M: Al Cooper <alcooperx@gmail.com>
> L: linux-usb@vger.kernel.org
> L: bcm-kernel-feedback-list@broadcom.com
> S: Maintained
> -F: Documentation/devicetree/bindings/usb/brcm,bdc.txt
> +F: Documentation/devicetree/bindings/usb/brcm,bdc.yaml
> F: drivers/usb/gadget/udc/bdc/
>
> BROADCOM BMIPS CPUFREQ DRIVER
> --
> 2.25.1
>
>