Flashing and Debug interface for Orin NX

Hello,

We are designing a custom carrier board for Orin NX module.

  1. As per Orin NX design guide, USB0_D_N/P can support USB recovery mode. Can this be used for flashing the external NVMe?
  2. I observed that USB0_D_N/P in Jetson Nano can be used as serial debug interface, whether the same can be applicable for Orin NX? or Debug UART should be used as debug interface?

Regards,
Natesan S
Oppila Microsystems Pvt Ltd
Bangalore, India

We need flashing and serial debug console for Orin NX. Could you please clarify?

Could someone from NVIDIA please clarify?

I’m not from NVIDIA, but you do need a device mode port for flashing. Technically, you could put the module on a different carrier board for flash, and then transfer it to your carrier board if you want. Serial console debug is not needed, but is quite useful (though for a third party device it might be advisable to either not have this or to disable it).

1 Like

Hello,

Thank you for the details.

  1. Is there any dedicated device mode port for Orin NX module or any port which is configured as device mode can be used? In our case, we are using USB0_D_N/P as a device mort port. Is that okay?
  2. Also, what if we require the debug serial console? Can USB0_D_N/P support this? or only debug UART should be used?

Regards,
Natesan S

That’s one I can’t answer. Someone from NVIDIA could tell you (A) which ports can do this, and (B) what device tree changes are needed.

Normally a device mode port can handle more than one device. For example, a programmable keyboard is likely many devices. It is likely that serial console and some other device can share the same port if set up correctly.

1 Like

Thank you for clarification.

As you said, someone from NVIDIA must clarify this.

Regards,
Natesan S

Yes, it can.

  1. I observed that USB0_D_N/P in Jetson Nano can be used as serial debug interface, whether the same can be applicable for Orin NX? or Debug UART should be used as debug interface?

Actually, the real “debug port” is the UART interface. Not the usb port. If you ever compare the log coming from these two ports then you will understand what I mean. This is applicable on every previous jetson platforms.

The UART port can dump the log since bootloader. But the USB port cannot. USB port can only dump the log after kernel is up. If your board hangs during boot before kernel is up, then USB port won’t be able to see any log. However, UART can still see and then debug.