How to change the USB0_DP from OTG to host mode?

Hi, this is my situation:
Hardware: Jetson Orin NX 8GB SOM + customized carried board
Software: JetPack 4.6.3 L4T 32.7.3

And I use USB0_DP (micro usb port)to flash image, it works very fine.

Now I want to change this port to host mode in the system manually,
so that I can identify USB storage on this port.

What should I do?

The device tree has to fit the hardware design. Do you design the micro B port working in host mode only?

Hi, this is our hardware design. And ID pin is hang in the air.

It looks simple,shall we change the dts to adapt this?

In addition, VCC5_USBOTG we pull it up when the kernel boot on.

Reference to this patch ,I can froce change usb mode to host with update kernel.
NVIDIA NX disabling USB0 as serial console:

But what should we do if we want to automatic detect otg or host mode?
Or do we have any method to change otg/host mode with specific operation in the system?

Hi, DaneLLL,
Do you have any useful suggestion to solve this requirement?

Do you use Orin NX or Xavier NX? Jetpack 4.6.3 does not support Orin NX. Not sure which platform you are using.

And do you use initrd flash to flash the system image?

I’m sorry, I use Xavier NX in this topic.
I use to flash :

sudo ./ jetson-xavier-nx-devkit-emmc mmcblk0p1

Please modify device tree to configure the port to host mode. And it will be host mode after flashing the system image.

I have success config it to host mode with update kernel dts.

But can we manually switch otg or host mode in the system?


No, this is not supported. You can manually switch it in device tree, but have to reboot the system.

We can accecpt reboot system,But do you mean we can config device tree without the flash operation?

It should work by replacing dtb file in /boot/extlinux/extlinux.conf and rebooting the system. Please give it a try.

Get it!