1c66ec88fSEmmanuel VadotXilinx SuperSpeed DWC3 USB SoC controller 2c66ec88fSEmmanuel Vadot 3c66ec88fSEmmanuel VadotRequired properties: 4*2eb4d8dcSEmmanuel Vadot- compatible: May contain "xlnx,zynqmp-dwc3" or "xlnx,versal-dwc3" 5*2eb4d8dcSEmmanuel Vadot- reg: Base address and length of the register control block 6c66ec88fSEmmanuel Vadot- clocks: A list of phandles for the clocks listed in clock-names 7c66ec88fSEmmanuel Vadot- clock-names: Should contain the following: 8c66ec88fSEmmanuel Vadot "bus_clk" Master/Core clock, have to be >= 125 MHz for SS 9c66ec88fSEmmanuel Vadot operation and >= 60MHz for HS operation 10c66ec88fSEmmanuel Vadot 11c66ec88fSEmmanuel Vadot "ref_clk" Clock source to core during PHY power down 12*2eb4d8dcSEmmanuel Vadot- resets: A list of phandles for resets listed in reset-names 13*2eb4d8dcSEmmanuel Vadot- reset-names: 14*2eb4d8dcSEmmanuel Vadot "usb_crst" USB core reset 15*2eb4d8dcSEmmanuel Vadot "usb_hibrst" USB hibernation reset 16*2eb4d8dcSEmmanuel Vadot "usb_apbrst" USB APB reset 17c66ec88fSEmmanuel Vadot 18c66ec88fSEmmanuel VadotRequired child node: 19c66ec88fSEmmanuel VadotA child node must exist to represent the core DWC3 IP block. The name of 20c66ec88fSEmmanuel Vadotthe node is not important. The content of the node is defined in dwc3.txt. 21c66ec88fSEmmanuel Vadot 22*2eb4d8dcSEmmanuel VadotOptional properties for snps,dwc3: 23*2eb4d8dcSEmmanuel Vadot- dma-coherent: Enable this flag if CCI is enabled in design. Adding this 24*2eb4d8dcSEmmanuel Vadot flag configures Global SoC bus Configuration Register and 25*2eb4d8dcSEmmanuel Vadot Xilinx USB 3.0 IP - USB coherency register to enable CCI. 26*2eb4d8dcSEmmanuel Vadot- interrupt-names: Should contain the following: 27*2eb4d8dcSEmmanuel Vadot "dwc_usb3" USB gadget mode interrupts 28*2eb4d8dcSEmmanuel Vadot "otg" USB OTG mode interrupts 29*2eb4d8dcSEmmanuel Vadot "hiber" USB hibernation interrupts 30*2eb4d8dcSEmmanuel Vadot 31c66ec88fSEmmanuel VadotExample device node: 32c66ec88fSEmmanuel Vadot 33c66ec88fSEmmanuel Vadot usb@0 { 34c66ec88fSEmmanuel Vadot #address-cells = <0x2>; 35c66ec88fSEmmanuel Vadot #size-cells = <0x1>; 36c66ec88fSEmmanuel Vadot compatible = "xlnx,zynqmp-dwc3"; 37*2eb4d8dcSEmmanuel Vadot reg = <0x0 0xff9d0000 0x0 0x100>; 385def4c47SEmmanuel Vadot clock-names = "bus_clk", "ref_clk"; 39c66ec88fSEmmanuel Vadot clocks = <&clk125>, <&clk125>; 40*2eb4d8dcSEmmanuel Vadot resets = <&zynqmp_reset ZYNQMP_RESET_USB1_CORERESET>, 41*2eb4d8dcSEmmanuel Vadot <&zynqmp_reset ZYNQMP_RESET_USB1_HIBERRESET>, 42*2eb4d8dcSEmmanuel Vadot <&zynqmp_reset ZYNQMP_RESET_USB1_APB>; 43*2eb4d8dcSEmmanuel Vadot reset-names = "usb_crst", "usb_hibrst", "usb_apbrst"; 44c66ec88fSEmmanuel Vadot ranges; 45c66ec88fSEmmanuel Vadot 46c66ec88fSEmmanuel Vadot dwc3@fe200000 { 47c66ec88fSEmmanuel Vadot compatible = "snps,dwc3"; 48c66ec88fSEmmanuel Vadot reg = <0x0 0xfe200000 0x40000>; 49*2eb4d8dcSEmmanuel Vadot interrupt-names = "dwc_usb3", "otg", "hiber"; 50*2eb4d8dcSEmmanuel Vadot interrupts = <0 65 4>, <0 69 4>, <0 75 4>; 51*2eb4d8dcSEmmanuel Vadot phys = <&psgtr 2 PHY_TYPE_USB3 0 2>; 52*2eb4d8dcSEmmanuel Vadot phy-names = "usb3-phy"; 53c66ec88fSEmmanuel Vadot dr_mode = "host"; 54*2eb4d8dcSEmmanuel Vadot dma-coherent; 55c66ec88fSEmmanuel Vadot }; 56c66ec88fSEmmanuel Vadot }; 57