> Make sure the five clocks in dts are correct, and print the USB3_SSPHY_STATUS if > timeout still exists. ok I got this for USB3_SSPHY_STATUS [ 3.057122] cdns3-imx 5b110000.usb3: wait clkvld timeout 0xb0b03827 Unfortunally my imx8qm spec is incomplete regarding the USB3_SSPHY_STATUS register. this are my related DTS nodes: usb3_lpcg: clock-controller@5b280000 { compatible = "fsl,imx8qxp-lpcg"; reg = <0x5b280000 0x10000>; #clock-cells = <1>; /* bit-offset = <0 4 16 20 24 28>; */ clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_1>, <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_5>, <IMX_LPCG_CLK_6>, <IMX_LPCG_CLK_7>; clocks = <&clk IMX_SC_R_USB_2 IMX_SC_PM_CLK_PER>, <&clk IMX_SC_R_USB_2 IMX_SC_PM_CLK_MISC>, <&conn_ipg_clk>, <&conn_ipg_clk>, <&conn_ipg_clk>, <&clk IMX_SC_R_USB_2 IMX_SC_PM_CLK_MST_BUS>; clock-output-names = "usb3_app_clk", "usb3_lpm_clk", "usb3_ipg_clk", "usb3_core_pclk", "usb3_phy_clk", "usb3_aclk"; power-domains = <&pd IMX_SC_R_USB_2_PHY>; }; usbotg3: usb3@5b110000 { compatible = "fsl,imx8qm-usb3"; #address-cells = <1>; #size-cells = <1>; /* ranges; */ reg = <0x0 0x5B110000 0x0 0x10000>; clocks = <&usb3_lpcg 1>, <&usb3_lpcg 0>, <&usb3_lpcg 5>, <&usb3_lpcg 2>, <&usb3_lpcg 3>; clock-names = "usb3_lpm_clk", "usb3_bus_clk", "usb3_aclk", "usb3_ipg_clk", "usb3_core_pclk"; assigned-clocks = <&clk IMX_SC_R_USB_2 IMX_SC_PM_CLK_PER>, <&clk IMX_SC_R_USB_2 IMX_SC_PM_CLK_MISC>, <&clk IMX_SC_R_USB_2 IMX_SC_PM_CLK_MST_BUS>; assigned-clock-rates = <125000000>, <12000000>, <250000000>; power-domains = <&pd IMX_SC_R_USB_2>; status = "disabled"; usbotg3_cdns3: cdns3 { compatible = "cdns,usb3"; #address-cells = <1>; #size-cells = <1>; interrupt-parent = <&gic>; interrupts = <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "host", "peripheral", "otg"; reg = <0x5B130000 0x10000>, /* memory area for HOST registers */ <0x5B140000 0x10000>, /* memory area for DEVICE registers */ <0x5B120000 0x10000>; /* memory area for OTG/DRD registers */ reg-names = "xhci", "dev", "otg"; phys = <&usbphynop2>; phy-names = "cdns3,usb2-phy"; status = "disabled"; }; }; I'am also using the SCU related clock patches from here: https://patchwork.kernel.org/patch/11248255/ Thx for your comments, Best regards, Oliver