Based on DT binding dwc_usb3 is single entry without anything else. That's why combination dwc3_usb3, otg is not allowed. That's why split it to host and peripheral pair which both points to the same IRQ. DWC3 code is reading these two properties first before generic dwc_usb3. Signed-off-by: Michal Simek <michal.simek@xxxxxxx> --- arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/arm64/boot/dts/xilinx/zynqmp.dtsi b/arch/arm64/boot/dts/xilinx/zynqmp.dtsi index 02cfcc716936..e8104ffc6663 100644 --- a/arch/arm64/boot/dts/xilinx/zynqmp.dtsi +++ b/arch/arm64/boot/dts/xilinx/zynqmp.dtsi @@ -888,8 +888,8 @@ dwc3_0: usb@fe200000 { compatible = "snps,dwc3"; reg = <0x0 0xfe200000 0x0 0x40000>; interrupt-parent = <&gic>; - interrupt-names = "dwc_usb3", "otg"; - interrupts = <0 65 4>, <0 69 4>; + interrupt-names = "host", "peripheral", "otg"; + interrupts = <0 65 4>, <0 65 4>, <0 69 4>; clock-names = "bus_early", "ref"; iommus = <&smmu 0x860>; snps,quirk-frame-length-adjustment = <0x20>; @@ -915,8 +915,8 @@ dwc3_1: usb@fe300000 { compatible = "snps,dwc3"; reg = <0x0 0xfe300000 0x0 0x40000>; interrupt-parent = <&gic>; - interrupt-names = "dwc_usb3", "otg"; - interrupts = <0 70 4>, <0 74 4>; + interrupt-names = "host", "peripheral", "otg"; + interrupts = <0 70 4>, <0 70 4>, <0 74 4>; clock-names = "bus_early", "ref"; iommus = <&smmu 0x861>; snps,quirk-frame-length-adjustment = <0x20>; -- 2.36.1