Re: using cdns3-imx driver on imx8qm

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 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



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux