IMX8QM usbotg2 can not use

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX8QM usbotg2 can not use

2,643 Views
jack-cap
Contributor III

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




0 Kudos
5 Replies

2,312 Views
之金叶
Contributor I

how to resolve,please tell  me,thanks!

0 Kudos

2,312 Views
igorpadykov
NXP Employee
NXP Employee

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!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

2,312 Views
jack-cap
Contributor III

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";
        };

0 Kudos

1,979 Views
vinothkumars
Senior Contributor IV

Hi @jack-cap  did you find the solutions

 

Regards,
Vinothkumar Sekar
0 Kudos

2,312 Views
jack-cap
Contributor III

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

0 Kudos