OEM PRODUCT (Board) TX2 - USB doesn't work

Hello all,

I know this topic is common but I have it too and would like to know how I can solve it.

I have customized board and the USB ports doesn’t work, not the USB 2.0 nor the USB 3.0.

I looked at the file “p2771-0000.conf.common” and thought maybe I should change all the ODMDATA to 0x1090000, because our board similar to the Dev Kit, and if in the Dev Kit everything works fine, maybe in our board the TX2 doesn’t identify something and then it gets other address than 0x1090000.

Or should I change the address in ODMDATA to 0x6090000?

Another question; the change I should make for the USB ports to work should be in the Host Computer? And after the changes that been made I should to the flash?
Or after doing the flash I should make changes in some files in the TX2?

I’m asking this because with the boards of Connect Tech we first running the changes of the BSP on the host computer and then doing the flash…

Other than that, should I make more changes than the ODMDATA? UPHY Lanes? DTB? GPIO? Regulators? XHCI? (I don’t have knowledge in Linux so that’s why I’m asking).

One last thing, is this problem related to what’s written in “Pinmux node (usb-3-0)” If so, how do I change it?

Thank you very much,


You may check [USB Lane Mapping] in produce design guide and adaptation guide:

One adaptation guide is for r24/r28 and the other is for r32 releases.

Hello DaneLLL,

I’ve looked already on those manuals and still don’t know what to do - that’s why I posted this post in this forum because I need help.

I’d be happy if you can guide me more specifically what could be the answer in this situation.



Here is an example for r32:

I have the same problem. our configure:
Tx2_4G ;
Jetpack 4.2.2;
my own carrier board have double usb3.0(usb_ss0 & usb_ss1) & one usb2.0.

the carrier board could working use TX1 (Jetpack 3.2). but use TX2_4G Jetpack 4.2.2,the added usb3.0 (usb_ss1) can’t work.
No matter how I change ODMDATA,the values I read in the system do not change!

orion-ai@orionai-desktop:~$ ls -l /sys/firmware/devicetree/base/chosen/plugin-manager/odm-data
total 0
-r–r--r-- 1 root root 4 10月 16 20:17 android-build
-r–r--r-- 1 root root 4 10月 16 20:17 disable-pmic-wdt
-r–r--r-- 1 root root 4 10月 16 20:17 disable-sdmmc-hwcq
-r–r--r-- 1 root root 4 10月 16 20:17 disable-tegra-wdt
-r–r--r-- 1 root root 4 10月 16 20:17 enable-debug-console
-r–r--r-- 1 root root 4 10月 16 20:17 enable-denver-wdt
-r–r--r-- 1 root root 4 10月 16 20:17 enable-pcie-on-uphy-lane1
-r–r--r-- 1 root root 4 10月 16 20:17 enable-pcie-on-uphy-lane2
-r–r--r-- 1 root root 4 10月 16 20:17 enable-pcie-on-uphy-lane4
-r–r--r-- 1 root root 4 10月 16 20:17 enable-sata-on-uphy-lane5
-r–r--r-- 1 root root 4 10月 16 20:17 enable-xusb-on-uphy-lane0
-r–r--r-- 1 root root 9 10月 16 20:17 name
-r–r--r-- 1 root root 4 10月 16 20:17 no-battery
-r–r--r-- 1 root root 4 10月 16 20:17 normal-flashed

I don‘t know why! What shall I do?


For updating ODMDATA, you may refer to


Few things to do before you have a working usb

  1. For uphy configs (except #1 and #2), you must re-write the device tree(dts) based on the tutorial on adaptation guide.
    Since our devkit only supports #1 and #2, the original device tree from jetpack supports those 2 only.

  2. ODMDATA needs to be updated. It seems not working on your side. You could check your flash log on host to know what value is flashing into device.

Thanks DaneLLL, I could update the ODMDATA.