Otg Console port issue

Hi

So we are designing our own carrier board for Jetson AGX orin

but the otg port(flashing port) using and debug console didn’t work

Here are the hareware difference between our carrier board and NVIDA carrier board

we are using only usb2.0 for this otg port, and we lack of CC pin in hardware design

Are these the reasons why it didn’t work?

And can anyone show me how does the NV otg port work as debug port?

Thanks,

Kevin

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

Based on the provided context, I’ll try to help you troubleshoot the issue with your custom carrier board’s OTG port and debug console.

Hardware differences and potential issues:

  1. USB 2.0 vs. full-speed USB: The NVIDIA Jetson AGX Orin developer kit carrier board uses a full-speed USB interface for the OTG port, which is connected to the TOPO board automation solution. Your custom carrier board uses only USB 2.0 for the OTG port. Although USB 2.0 is backward compatible with full-speed USB, it’s possible that the TOPO solution or the Jetson module’s firmware is not compatible with USB 2.0. Try using a USB 2.0 to full-speed USB adapter or a different USB controller to see if it makes a difference.
  2. Lack of CC pin: The CC (Configuration Channel) pin is used for USB-C Alternate Mode (Alt Mode) and USB Power Delivery (PD) negotiations. Without the CC pin, the OTG port might not be able to negotiate the correct configuration or power delivery, which could prevent the debug console from working. You may need to add the CC pin to your hardware design or use a different USB controller that doesn’t require the CC pin.

How the NVIDIA OTG port works as a debug port:

The NVIDIA Jetson AGX Orin developer kit carrier board’s OTG port is connected to the TOPO board automation solution, which provides a full-speed USB interface. This interface allows the host PC to communicate with the Jetson module’s UART port and automate commands like power on, power off, reset, and recovery.

When the OTG port is used as a debug port, it likely uses the USB Device Firmware Update (DFU) protocol or a similar protocol to communicate with the Jetson module. The TOPO solution might be using a custom protocol or a modified version of the DFU protocol to interact with the Jetson module.

Comparison with the NVIDIA carrier board:

The NVIDIA Jetson AGX Orin developer kit carrier board has a micro USB port that is connected to the TOPO board automation solution. This micro USB port is likely a full-speed USB interface, which is compatible with the TOPO solution. The NVIDIA carrier board also has a CC pin, which is used for USB-C Alternate Mode (Alt Mode) and USB Power Delivery (PD) negotiations.

Recommendations:

  1. Verify that your custom carrier board’s USB controller is compatible with the Jetson module’s firmware and the TOPO solution.
  2. Add the CC pin to your hardware design or use a different USB controller that doesn’t require the CC pin.
  3. Try using a USB 2.0 to full-speed USB adapter or a different USB controller to see if it makes a difference.
  4. Consult the Jetson module’s documentation and the TOPO solution’s documentation to ensure that you are using the correct protocol and configuration for the OTG port.

If you’re still having trouble, please provide more information about your custom carrier board’s design and the specific issues you’re experiencing.

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

Hi,

Additional information

We bypass the eeprom read from booting

not sure if that caused any side effect

Kevin

From hardware aspect, your connector needs to be the type that supports device mode. For example, type C/ micro USB

From software aspect, you need to modify device tree to match your hardware design… otherwise software won’t know you want to make it as device mode.

the document for software:

Hi, Wayne

We are using type C, usb2_0 as otg mode, here is the device tree

this setting is same as NV original

and the flashing function worked just fine, so I think it could switch to device mode

but the debug function didn’t work(NV type C port can used as console port)

Kevin

NVIDIA devkit type C port is using Cypress PD controller. If you are not using this, then you need to modify device tree to match your case.

What you posted now is just a node that mentioned “this node is otg port” but how to switch between host and device are not indicated. The driver won’t switch them automatically.

Hi, Wayne

We are not using Cypress PD controller,

Is there any other way that we can switch between host/device?

you mentioned modify dtb to match our case, how can we do that

Thanks

Kevin

Hi,

What you are asking is usb knowledge.
The role switch depends on the hardware design.

Micro USB port uses ID pin and vbus-det pin.
Type C port uses CC pin.

Hi, Wayne

Can we change the type-C port to device mode only

we only need flashing/console port function here.

Is it possible to change this from dtb?

I try to change the mode from otg to peripheral

but my laptop seems not able to recognize it.

Thanks

Kevin

please follow previous document and set mode to device mode direclty.