Hi NXP teams:
Recently,We develop on imx8qm platform.
The details are as follows:
Hardware information: imx8qm-mek
Software platform: Android9 normal version.
The system default design of imx8qm use usbotg1 as otg function,usbotg2 act as the typec software download port
the code as below:
fsl-imx8qm-mek.dtsi
752 &usbotg1 {
753 pinctrl-names = "default";
754 pinctrl-0 = <&pinctrl_usbotg1>;
755 srp-disable;
756 hnp-disable;
757 adp-disable;
758 power-polarity-active-high;
759 disable-over-current;
760 status = "okay";
761 };
762
763 &usbotg3 {
764 dr_mode = "otg";
765 extcon = <&typec_ptn5110>;
766 status = "okay";
767 };
But our hardware design was use the usbotg1 as software download,usbotg2 as usb TYPE-A function.
The usbotg1 software download work fine,However,When pluging in an usb device,the TYPE-A port can
not identify any device.My modify as below:
763 &usbotg3 {
764 dr_mode = "host";
765 /*extcon = <&typec_ptn5110>;*/ remove the typec soc
766 status = "okay";
767 };
Is there anything else that needs to be changed,Could you help me check it ?
Hope for your reply
thanks
how to resolve,please tell me,thanks!
Hi yingjin
one can try to change CONFIG_USB_TCPC=y in imx8qm_mek_defconfig
imx8qm_mek_defconfig\configs - uboot-imx - i.MX U-Boot
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
We can't change it that way, If we change it, we won't be able to download img from usb otg1 port. Our purpose is download image form usb otg1 port and usb otg2 port for usb host, when android system started usb otg1 port be identified adb device and on usb otg2 port bus external usb devices can be deceted.
Now usb otg1 port can download img and can be identified adb device when system start completed . But usb otg2 port can not detect any usb devices. For usb otg2 port the following signals are used, and the driver alse use the driver of type-C, we just change dr_mode to host and disable typec-ptn5110. Is this the right change? What else do we need to change?
USB OTG2 Port signals:
USB_OTG2_VBUS
USB_OTG2_DN
USB_OTG2_DP
GND
USB OTG2 Driver:
&usbotg3 {
dr_mode = "host";
//dr_mode = "otg";
//extcon = <&typec_ptn5110>;
status = "okay";
};
usbotg3: usb3@5b110000 {
compatible = "Cadence,usb3";
reg = <0x0 0x5B110000 0x0 0x10000>,
<0x0 0x5B130000 0x0 0x10000>,
<0x0 0x5B140000 0x0 0x10000>,
<0x0 0x5B160000 0x0 0x40000>,
<0x0 0x5B120000 0x0 0x10000>;
interrupt-parent = <&wu>;
interrupts = <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk IMX8QM_USB3_LPM_CLK>,
<&clk IMX8QM_USB3_BUS_CLK>,
<&clk IMX8QM_USB3_ACLK>,
<&clk IMX8QM_USB3_IPG_CLK>,
<&clk IMX8QM_USB3_CORE_PCLK>;
clock-names = "usb3_lpm_clk", "usb3_bus_clk", "usb3_aclk",
"usb3_ipg_clk", "usb3_core_pclk";
power-domains = <&pd_conn_usb2>;
cdns3,usbphy = <&usbphynop1>;
status = "disabled";
};
Hi igorpadykov
Thanks for your reply
If I want to use the system usbotg2 port as the host, do I need the kernel side
BRs
thanks