Simple USB type C without using PD and MUX/switch

,

Hi,

I am designing my own carrier for Xavier. I prefer to use a USB type C connector on carrier because it works in both orientation (flipped and non-flipped), and all of our HUB and cables are for type C connector.

I want to point out that we do NOT need USB PD, or alter mode feature. And it only needs to operate in USB Host mode.

Muxing the USB2 D+/D- signals to USB-C connector is easy. But how do we mux/switch USB3 RX/TX differential pair to dual RX/TX pairs on Type C connector?

  1. Can we just connect to only one RX/TX pair on Type C connector? (e.g. RX1/TX1 and leaves the other one floating) Will this work in both orientation (flipped and non-flipped)? USB-C - Wikipedia
  2. I checked the devkit schematic, it uses a USB-PD and althermode switch. I know for sure this solution will work. But it provides many features that we don’t need (PD, altermode). I would prefer to avoid this solution. If there exists simpler and cheaper solution without using USB-PD and/or switch (maybe my option 1 listed above), I prefer the simpler solution.

Regards.

Hi, at least you need a switch for this. You can choose other switch than that of dev kit, and the vendor should provide the reference design to you, and then you can refer to product design guide of Xavier USB type-C to make the connection design.

Hi,

Thanks for your quick reply.

Do you have any suggestion for the USB type C switch? I prefer to find a very simple and basic switch(support USB3.1 gen2 prefered) which requires no linux driver.

Also, if I only have a switch, how does it know the orientation(flipped/non-flipped) from CC1 and CC2? I think the switch needs to know the orientation in order to mux the RX/TX signals properly based on orientation.

I did some searching. It seems that they either need a PD chip to tell it orientation (because PD chip knows orientation thru CC1 and CC2). Or I need to find a mux+PD all-in-one chip like this: HD3SS3220 data sheet, product information and support | TI.com

There is also a difficulty in linux driver support. The chip that I listed above needs linux driver which is only available in kernel-5.X which means it will take us some time to back port the driver to nvidia’s 4.9 kernel.

That’s why I prefer to find a simple chip requires no linux driver or somehow we need to set the chip in HW or its firmware so that it can operation without any software/driver control.

Regards.

We don’t have such recommendation. For CC1 and CC2 only, a controller seems necessary. Better to check with vendor first, they should have a reference guide.

I see. Thanks.

I did some deeper reading on HD3SS3220 chip. This one combines controller with the switch together.
It provides an evaluation kit:
https://www.ti.com/tool/3220DFP-DGLEVM

In my understanding so far, driver is only needed if we need it to support role (host and device) switching. If we just need to set it to constant host mode (DFP), no driver is needed. That’s why the eva-kit doesn’t need any driver.

I will do more search and reading, and contact vendor when necessary.

Regards.

@lunarking1028

Hi,

are you able to bring up on HD3SS220 with AGX Xavier? I am also looking for the similar solution, need host and device mode.
Please let me know the steps you have followed

Thanks,
Arun

Hi @arunkumar.d

No, I haven’t added it in our hw design yet.
Do you need dynamic host and device role switching mode for HD3SS3220? If so, I think you most likely need driver for HD3SS3220 which is NOT available in NVIDIA linux 4.9. The HD3SS3220 driver is added in kernel version 5.X.

However, if you only constantly put HD3SS3220 in host node (or device mode), you don’t need a driver.

Regards.

@lunarking1028

Thanks for the reply.
yeah, I need both host and device functionality. I have checked in TI forums, as per them driver is not needed for for device role switching also.

Thanks,
Arun