FX3™ and USB Type-C MUX , how to connect GPIO of FX3 to select the correct pair of USB SuperSpeed lines

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

cross mob
Anonymous
Not applicable

Based on the below reply from Cypress==> The MUXSEL line is controlled through an output GPIO of FX3 to select the correct pair of USB SuperSpeed lines. The logic of selecting the correct pair of USB SuperSpeed lines is implemented in FX3 firmware.

But I can't find FX3 Firmware to set up MUX Line for USB Type C Connector.

The DQ0~DQ31 set up  for 32bit data transfer in my design.

Could you inform me What pin in FX3 can be used to detect MUXSEL Pin?

and where can I find the FX3 firmware Code for this related technical?

Thank you very much.

pastedImage_0.png

0 Likes
1 Solution
YiZ_31
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hi, here is some suggestion for the FX3 design with type-c receptacle:

FX3 needs some firmware implementation in order to switch the mux so that the correct orientation of the Type-C plug is detected. The firmware sequence for USB connect is as under:

1) After the FX3 device gets connected to a Type-C host, the FX3 device gets powered.

2) Once powered, the firmware starts running inside FX3.

3) Configure the GPIO as an output that is used as a MUXSEL line.

4) Before the USB connect, the USB2.0 PHY is disabled in the firmware.

5) Then, the firmware attempts a USB 3.0 connection.

6) If it finds the terminations, it will enumerate as a SuperSpeed device.

7) If it does not find a termination. It will enable a USB2.0 PHY.

😎 Then the MUXSEL GPIO is toggled by FX3 in order to change the Mux switch position.

9) Again, the firmware attempts a USB3.0 connection.

10) If it is a USB 3.0 device, it will enumerate as a USB 3.0 device or else it will enumerate as a USB 2.0 device

I'm sorry we do not have existing firmware for this kind of design.

Thanks,

Yi

View solution in original post

0 Likes
3 Replies
YiZ_31
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hi, here is some suggestion for the FX3 design with type-c receptacle:

FX3 needs some firmware implementation in order to switch the mux so that the correct orientation of the Type-C plug is detected. The firmware sequence for USB connect is as under:

1) After the FX3 device gets connected to a Type-C host, the FX3 device gets powered.

2) Once powered, the firmware starts running inside FX3.

3) Configure the GPIO as an output that is used as a MUXSEL line.

4) Before the USB connect, the USB2.0 PHY is disabled in the firmware.

5) Then, the firmware attempts a USB 3.0 connection.

6) If it finds the terminations, it will enumerate as a SuperSpeed device.

7) If it does not find a termination. It will enable a USB2.0 PHY.

😎 Then the MUXSEL GPIO is toggled by FX3 in order to change the Mux switch position.

9) Again, the firmware attempts a USB3.0 connection.

10) If it is a USB 3.0 device, it will enumerate as a USB 3.0 device or else it will enumerate as a USB 2.0 device

I'm sorry we do not have existing firmware for this kind of design.

Thanks,

Yi

0 Likes
YiZ_31
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hi, please update  if you have any more problems. We are happy to help you.

Best Regards,

Yi

0 Likes
Anonymous
Not applicable

Thank you for the detail reply.

No questions for FX3.

0 Likes