Bypass the USB Type-C on the iMX8M Mini EVK

cancel
Showing results for 
Search instead for 
Did you mean: 

Bypass the USB Type-C on the iMX8M Mini EVK

870 Views
shai_b
Senior Contributor I

Hello Team,

My customer is trying to connect a camera (USBv2) directly into the USB port2 which is the USB Type-C on the development kit.

once the customer connects his USB camera into the Type C USB (of the development kit) the camera works but while the customer tries to bypass the Type C USB connector and connect the USB camera directly into the USB port 2 PINS of the developed kit (and bypass the Type C components) the camera does not work.

smallpic_usb2_phys.png

Could you please advise the correct way to bypass the Type-C connector and use it as a standard USB2?

Thanks in advance

Kind regards,

Shai

Labels (1)
Tags (1)
0 Kudos
30 Replies

440 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi, @shai_b ,

 

If running lsusb command on board,  Can linux find USB camera device? 

USB2 & USB1, test both port, please!

 

Regards,

weidong

0 Kudos

432 Views
shai_b
Senior Contributor I

@weidong_sun ,

While using the USB type-c port the LSUSB finds the camera, but once they connect the camera directly to the imx8m pins (and change the device tree as you guide them) the LSUSB command did not find the USB camera.

KR,

Shai

0 Kudos

401 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello @shai_b ,

 

Would you please send customer's full schematic to me?

 

Regards,

weidong

0 Kudos

362 Views
shai_b
Senior Contributor I

Hi @weidong_sun,

Please find the relevant schematic attached.

As said once they connect the USB camera as below by Test point directly to the IMX8.

The IMX8 does not detect the USB connection in this way, when they connected the camera via the type C connector the USB Camera is detected.

shai_b_0-1636100738684.png

Thanks in advance,

Shai

0 Kudos

330 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello @shai_b ,

 

I checked your schematic diagram. Your usb1 / USB2 circuit is exactly the same as i.mx8mm-evk BB board. This is not quite consistent with your previous description.

Your customer's DTS can support the use of USB camera on usb1 without any modification. If your camera is a USB tpye-a interface, you need a USB type-C to USB type-af cable for conversion.

 

Have a good day!

Regards,

weidong

0 Kudos

290 Views
shai_b
Senior Contributor I

Hi @weidong_sun ,

Maybe I wasn't clear in my previous email,
The customer has built his circuit based on the EVK but he added tests points for the USB port directly into the imx8m pins in order to test the camera without the type-c connector and the PD/CC logic components.

When they connect the USB camera directly into the "Tests point" of the USB pins of the IMX8, the camera does not detect by the imx8m,

But when they connected the camera via the type C connector the USB Camera is detected.

What could be the issue? Waiting for your kind assistance. 

Thanks a lot

KR,

Shai 

0 Kudos

283 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello @shai_b ,

If customer is using USB1 as a HOST,  GPIO1_IO10(USB1_OTG_ID) should be pulled down to LOW via a resistor, such as 2.2K

If customer is using USB2 as a HOST,  GPIO1_IO11(USB2_OTG_ID) should be pulled down to LOW via a resistor, such as 2.2K

Then in dts, GPIO1_IO10 & GPIO1_IO11 should be multiplexed as USB1_OTG_ID / USB2_OTG_ID. 

In addition, in usb node, PTN5110 member should be commented at the same time.

 

About circuit and configuration in dts I gave you , I validated them, which is no problem.

 

 

Try it, please!

Regards,

weidong

 

0 Kudos

278 Views
shai_b
Senior Contributor I

Hi @weidong_sun,

Thanks for your inputs, But the customer does not plan to use PTN5110 in their final design (they will provide external VBUS).

In such a case there are other consequences that need to be taken into account?

If possible I would like to advance by email to share more classified materials as needed.

my mail: shai.b@telsys.co.il 

Thanks in advance

KR,

Shai

0 Kudos

269 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello @shai_b ,

I don't know what happened on the customer's side.
if customer wants to use common usb2.0 design on i.mx8mm board, she can exactly refer to my experience I shared with her.
Because I designed the same USB function as hers based on i.mx8mm.

 

In addtion, when the customer's design without ptn5110 is done, you please send her schematic to us via saleforce case( create a case on website)

I will help her check USB circuit carefully.

 

Have a good day!

Regards,

weidong

0 Kudos

213 Views
shai_b
Senior Contributor I

Hi @weidong_sun,

Please find below the customer simple schematics of how they test the USB

mj_usb_imx8_simple.png

I think they need to configure the DTS correctly for GPIO1_IO11 since it's should be multiplexed as USB2_OTG_ID. 

Could you please advise the correct device tree and/or there are some issues with the setup above?

Waiting for your kind feedback, Thanks a lot.

KR,

Shai

0 Kudos

205 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello @shai_b 

 

The customer should design is like below:

weidong_sun_0-1637029544228.png

 

Regards,

weidong

0 Kudos

197 Views
shai_b
Senior Contributor I

Hi @weidong_sun,

Thank you for your inputs, regards the DTS there is a need to modify, or the GPIO1_IO11 is multiplexed as USB2_OTG_ID by default?

Waiting for your kind feedback, Thanks a lot.

Shai

0 Kudos

188 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello @shai_b 

>>regards the DTS there is a need to modify, or the GPIO1_IO11 is multiplexed as USB2_OTG_ID by default?

Yes, for dts , refer to what we discussed before in the post.

right, GPIO1_IO11 is multiplexed as USB2_OTG_ID.

 

Regards,

weidong

0 Kudos

164 Views
shai_b
Senior Contributor I

Hello @weidong_sun,

Could you please advise where the following dts are indicating the changes in GPIO1_IO11 to be multiplexed as USB2_OTG_ID?

&usbotg1 {
dr_mode = "otg";
/* hnp-disable;
srp-disable;
adp-disable;
usb-role-switch;
*/
picophy,pre-emp-curr-control = <3>;
picophy,dc-vol-level-adjust = <7>;
status = "okay";
/*
port {
usb1_drd_sw: endpoint {
remote-endpoint = <&typec1_dr_sw>;
};
};
*/
};

&usbotg2 {
vbus-supply = <&reg_usb2_vbus>;
dr_mode = "host";
picophy,pre-emp-curr-control = <3>;
picophy,dc-vol-level-adjust = <7>;
status = "okay";

};

The above dts were provided by you, Thanks in advance.

KR,

Shai

0 Kudos

117 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello @shai_b ,

I checked my dts file, I didn't multiplex USB2_OTG_ID.

Onlye these:

&usbotg2 {
vbus-supply = <&reg_usb2_vbus>;
dr_mode = "host";
picophy,pre-emp-curr-control = <3>;
picophy,dc-vol-level-adjust = <7>;
status = "okay";
};

actually it is default node in linux bsp.

 

Regards,

weidong

0 Kudos

787 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi,

USB2 has 2 IDs: USB2_OTG_ID(GPIO ID) & USB2_ID(PHY ID)

Use USB2_OTG_ID, please!  

 

Regards,

weidong

0 Kudos

780 Views
shai_b
Senior Contributor I

Hi @weidong_sun,

Thanks for your inputs want to UPDATE that the customer would like to use PORT USB1 instead of PORT USB2 (if there are any changes that need to be done in the device tree).

Also, the customer does not want to use MIC2026 (power switch) because the customer soldering the camera (d-,d+) directly into the imx8 pins and already got another source for the VBUS. 

If there is any suggestion to bypass the MIC2026 and if there is any consideration in terms of protection and EMI if needed?

Your fast response will be highly appreciated.

Many Thanks with regards,

Shai

0 Kudos

771 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi, 

    MIC2026 is used to control the output current of 5V, which should be <=500mA.

    If customer is not concern about it, replace USB2_5V with other 5V power.

Have a good day!

Regards,

weidong

Tags (1)
0 Kudos

760 Views
shai_b
Senior Contributor I

Hi  Weidong,

 

When the customer connects all the pins of the USB device (-d,+d) is not recognized by Linux.

I see that MIC2026 is sending a flag to the imx8 via USB1_OTG_OC (GPIO1_IO15), I know the customer did not use this pin at all, in case the customer is not using the MIC2026 there is any consideration that needs to take into account in order to make the USB port work properly, please advise back,

Thanks a lot and regards,

Shai

0 Kudos

750 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi,

USB1_OTG_OC is only used for over-current protection, it does not affect the use of USB devices.

In addition, you can ask customer to try the following changes in dts file:

-------------------------

&usbotg1 {
dr_mode = "otg";
/* hnp-disable;
srp-disable;
adp-disable;
usb-role-switch;
*/
picophy,pre-emp-curr-control = <3>;
picophy,dc-vol-level-adjust = <7>;
status = "okay";
/*
port {
usb1_drd_sw: endpoint {
remote-endpoint = <&typec1_dr_sw>;
};
};
*/
};

&usbotg2 {
vbus-supply = <&reg_usb2_vbus>;
dr_mode = "host";
picophy,pre-emp-curr-control = <3>;
picophy,dc-vol-level-adjust = <7>;
status = "okay";
};

----------------------------

Have a great day!

Regards,

weidong

0 Kudos