Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Block Diagram.png

Hi, I have been working with two FX3 devices integrated in an USB 3.0 Hub (TUSB8043RGCT).

A MUX(PI3USB302-AZBEX) is used to select the 3.0 lines of the Type C port, as shown in the block diagram.

When the Type C cable was inserted in direct connection, the CyU3PUsbGetSpeed() API returns 3 (denoting USB 3.0 connection).

When the Type C cable was connected inversely, initially it should be enumerated as USB 2.0 device and further upon switching the MUX, it should be convert into USB 3.0 device.

But in the inverted type C connection, the CyU3PUsbGetSpeed() API returns 0 (denoting no USB device connected).

Can anyone help me with this issue?

0 Likes
1 Solution
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi Sitharthan Raja,

Please look at the implementation of firmware logic which is implemented in the following forum post:

Type C connector enumeration issue

Refer to the section "Code changes if above steps are followed:" in the correct answer.

If the logic is implemented in the way mentioned above, then in the beginning, USB2 Phy is switched off and USB3 connection is tried. If it is unsuccessful, then the mux is controlled. Before this mux control and after the failed attempt of 3.0 connection, if you call getSpeed() API it may return not connected since the USB2 Phy is disabled.

So, please check the implementation.

Regards,

Hemanth.

Hemanth

View solution in original post

0 Likes
9 Replies