[PATCH v2 1/2] dt-bindings: usb: dwc3-xilinx: Add documentation for Versal DWC3 Controller

Rob Herring robh at kernel.org
Tue Sep 22 15:54:10 EDT 2020


On Thu, Sep 10, 2020 at 12:33:04AM +0530, Manish Narani wrote:
> Add documentation for Versal DWC3 controller. Add required property
> 'reg' for the same. Also add optional properties for snps,dwc3.
> 
> Signed-off-by: Manish Narani <manish.narani at xilinx.com>
> ---
>  .../devicetree/bindings/usb/dwc3-xilinx.txt   | 20 +++++++++++++++++--
>  1 file changed, 18 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/usb/dwc3-xilinx.txt b/Documentation/devicetree/bindings/usb/dwc3-xilinx.txt
> index 4aae5b2cef56..219b5780dbee 100644
> --- a/Documentation/devicetree/bindings/usb/dwc3-xilinx.txt
> +++ b/Documentation/devicetree/bindings/usb/dwc3-xilinx.txt
> @@ -1,7 +1,8 @@
>  Xilinx SuperSpeed DWC3 USB SoC controller
>  
>  Required properties:
> -- compatible:	Should contain "xlnx,zynqmp-dwc3"
> +- compatible:	May contain "xlnx,zynqmp-dwc3" or "xlnx,versal-dwc3"
> +- reg:		Base address and length of the register control block
>  - clocks:	A list of phandles for the clocks listed in clock-names
>  - clock-names:	Should contain the following:
>    "bus_clk"	 Master/Core clock, have to be >= 125 MHz for SS
> @@ -13,12 +14,24 @@ Required child node:
>  A child node must exist to represent the core DWC3 IP block. The name of
>  the node is not important. The content of the node is defined in dwc3.txt.
>  
> +Optional properties for snps,dwc3:
> +- dma-coherent:	Enable this flag if CCI is enabled in design. Adding this
> +		flag configures Global SoC bus Configuration Register and
> +		Xilinx USB 3.0 IP - USB coherency register to enable CCI.
> +- snps,enable-hibernation: Add this flag to enable hibernation support for
> +		peripheral mode.

This belongs in the DWC3 binding. It also implies that hibernation is 
not supported by any other DWC3 based platform. Can't this be implied by 
the compatible string (in the parent)?

> +- interrupt-names: Should contain the following:
> +  "dwc_usb3"	USB gadget mode interrupts
> +  "otg"		USB OTG mode interrupts
> +  "hiber"	USB hibernation interrupts
> +
>  Example device node:
>  
>  		usb at 0 {
>  			#address-cells = <0x2>;
>  			#size-cells = <0x1>;
>  			compatible = "xlnx,zynqmp-dwc3";
> +			reg = <0x0 0xff9d0000 0x0 0x100>;
>  			clock-names = "bus_clk" "ref_clk";
>  			clocks = <&clk125>, <&clk125>;
>  			ranges;
> @@ -26,7 +39,10 @@ Example device node:
>  			dwc3 at fe200000 {
>  				compatible = "snps,dwc3";
>  				reg = <0x0 0xfe200000 0x40000>;
> -				interrupts = <0x0 0x41 0x4>;
> +				interrupt-names = "dwc_usb3", "otg", "hiber";
> +				interrupts = <0 65 4>, <0 69 4>, <0 75 4>;
>  				dr_mode = "host";
> +				dma-coherent;
> +				snps,enable-hibernation;
>  			};
>  		};
> -- 
> 2.17.1
> 



More information about the linux-arm-kernel mailing list