Jetson Orin NX HDMI and DP Question

I have a custom carrier board for a Jetson Orin NX. I have a touch screen I want to connect via a new USB-C port. I will provide USB PD (power delivery) on my carrier board to power the display.

I would then connect these signals to my USB-C controller/mux:

After this, I discovered I will need to be able to switch between DisplayPort and USB3.2 data if I want the USB-C port to support both USB3.2 data (for connecting an external hub or other USB device) AND a USB-C PD-capable DisplayPort touchscreen.

Presently, the backup HDMI consumes the DP1 port.

This runs to an HDMI connector but it appears that the Jetson Orin NX does not support DP on the DP0 interface.

Is there a recommendation for how to make this work? If I remove HDMI, my USB-C port can consume the DP1 interface for USB-C alt mode with Display Port signals running from my USB-C connector into a directly to TUSB1146-Q1 and from there into the DP1 Jetson interface.

Then I would lose HDMI capability.

Does anyone have a recommendation for supporting USB-C with DP alt mode and PD up to 27W while maintaining HDMI support?

I understand this is not a recommended configuration and the user guide and dev kit don’t use the module this way, that is why I am working on a custom carrier board and I’m wondering if there is a way to multiplex between HDMI and DP that I haven’t thought of yet.

*** Please note that this reply is generated by LLM automatically ***

To support both USB 3.2 data and DisplayPort (DP) signals on the same USBC port, you need to multiplex between the two interfaces. Since the Jetson Orin NX module does not support DP on the DP0 interface, you can use the DP1 interface for USBC alt mode with DisplayPort signals.

However, this means you will lose HDMI capability if you remove the HDMI connector. To maintain HDMI support, you need to find a way to multiplex between HDMI and DP.

One possible solution is to use a multiplexer (MUX) to switch between the HDMI and DP signals. You can use a dedicated MUX IC or a programmable logic device (PLD) to implement the multiplexing logic.

Here’s a possible approach:

  1. Use a MUX IC or PLD to switch between the HDMI and DP signals. The MUX should have at least three inputs: HDMI, DP, and a control signal to select which input to pass through to the output.
  2. Connect the HDMI signals from the Jetson Orin NX module to one of the inputs of the MUX.
  3. Connect the DP signals from the USBC controller to another input of the MUX.
  4. Use a control signal to select which input to pass through to the output. This control signal can be generated by the USBC controller or the Jetson Orin NX module.
  5. Connect the output of the MUX to the DP1 interface on the Jetson Orin NX module.

By using a MUX to switch between the HDMI and DP signals, you can maintain HDMI support while still allowing the USBC port to support both USB 3.2 data and DisplayPort signals.

Another possible solution is to use a USB-C controller with built-in MUX functionality. Some USB-C controllers, such as the TUSB1146Q1, have built-in MUX functionality that allows you to switch between different interfaces, including HDMI and DP.

In this case, you can connect the HDMI signals from the Jetson Orin NX module to the USB-C controller, and then use the controller’s MUX functionality to switch between the HDMI and DP signals.

Regardless of the solution you choose, make sure to carefully evaluate the signal integrity and timing requirements of the HDMI and DP interfaces to ensure that the multiplexing logic does not introduce any signal degradation or timing errors.

In terms of power delivery, you can use the USB PD (Power Delivery) protocol to deliver up to 27W of power to the display. The TUSB1146Q1 USB-C controller supports USB PD, so you can use this controller to deliver power to the display.

Overall, supporting USBC with DP alt mode and PD up to 27W while maintaining HDMI support requires careful consideration of the signal multiplexing and power delivery requirements. By using a MUX or a USB-C controller with built-in MUX functionality, you can achieve this configuration and support both USB 3.2 data and DisplayPort signals on the same USBC port.

*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***

Hi clayton.ferrazzo,

The Jetson Orin modules do not support DP Alt Mode on the USB type C interfaces.

Multiplexing on the carrier board between HDMI and DP is not something that NVIDIA has tested and the circuitry for it would not be trivial.

Since only one interface is available for either DP or HDMI as you noted, one way to achieve HDMI and DP on your carrier board is to use the multi stream transport on DisplayPort (MST) with a DP to HDMI bridge IC to provide the HDMI port.

Yeah it looks like I need an external PHY or device to convert the USBSS signals to DP signals. The TUSB1064 or TUSB1146 seem to get this job done. I’m look around and it may be possible to multiplex (near the connector, to reduce signal integrity issues) the USB-C DP signals and HDMI signals using something like the TS3DV642. But that would require the DP1 bank of pins would have software support for both HDMI and DP.

I poked around a little on MST, would that require changes to the software or is the default image for Jetson Orin NX appropriate here? Your suggestion sounds reasonable, take a single DisplayPort input on the DP1 SODIMM pins and pipe it out to both DP-to-HDMI AND DP-over-USB-C Alt Mode. I can’t find anything for DP to HDMI conversion quite yet but I’ll keep poking.

Since DP Alt Mode is not supported on Orin modules, there is no driver for enabling DP output on the USB type C connector.

Your touch screen connects over USB-C - I presume this is a DP display plus touch screen that sends data over USB. You may be able to connect it to a DP port on the carrier board with a DP to USB-C cable, but you would not have a DP out port for your DP to HDMI bridge/converter.

If you could use an MST-capable DP monitor instead of HDMI, you may be able to do this:

Orin NX DP1 → Carrier board DP Port → MST-Capable Monitor with DP Out → DP to USB-C cable for touch screen+display

If the HDMI port is a requirement, I can’t think of a way at the moment to drive it and the USB-C touch screen+display with Orin NX’s single DP port.

I discovered dual mode DP++ appears to be supported on orin nx for ports configured as HDMI. That protocol Appears to play nice with HDMI sinks and would require no change to the USB DisplayPort if I use an appropriate USB superspeed/DP second mux

I wonder if in that case DP1–DPHDMI mux–HDMI/USBC DP mux would work.

Hmmmm too much weirdness all in one. It might be better to deprecate HDMI and do what you suggested and go straight DP out connector.

I wonder if in that case DP1–DPHDMI mux–HDMI/USBC DP mux would work.

That could be tricky to set up. But how would you get to the USB data from the touch screen?

That question also would apply for my idea about the DP port from Orin NX to MST-capable monitor to DP to USB-C cable for touch screen+display. It works to get the display data out to the monitor and touch screen but not for getting the touch input data back.

It looks like the USB touch data comes back over the d+ and d minus signals from the usbc cable independant of display data so that could go to any USB pins on the Orin module. Although the vendors are a little bit loose on the finer details, it appears that if you supply a USBC DisplayPort mux into your DisplayPort host and you also supply USB d+ and d minus, the display will work as intended. I’m able to get HDMI+USB to work on an existing Orin NX module, so if I supply DisplayPort using alt mode, provide the proper DisplayPort mux (like TUSB1146), it should work with the default DP pinmux config for Orin NX. I think that’s my move for right now. I may try to post again when boards arrive since this seems worth sharing, but that’s the path for now.