Jetpack 6.1 and USB on Custom Board

I flashed an AGX Orrin with Jetpack 6.1 and all the sudden the USBs on the new custom board don’t work and don’t even have power when it has fully booted up to Ubuntu screen. Even though they do work in the boot manager, so the hardware is fine. The USBs on the same exact board works with the same exact Orin but running Jetpack 5.1.4 or lower. Everything else seem to work fine except the USBs.

USBs work fine on the dev kit carrier board even with Jetpack 6.1

Hi,
Please check the quick start in developer guide and make sure you follow the steps one by one:
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/IN/QuickStart.html
If the device still cannot be flashed/booted, please refer to the page to get uart log from the device:
https://elinux.org/Jetson/General_debug
If you are using custom board, you can compare uart log of developer kit and custom board to get more information.

Thanks!

@carolyuu The problem is not the flashing. Everything flashes correctly and the booting works fine except the USB in Jetpack 6.1

Is there anything that is chagned from Jetpack 5.1.4 to Jetpack 6.1 regarding USBs?

Read the document and modify the device tree to match your board.

https://docs.nvidia.com/jetson/archives/r36.4/DeveloperGuide/HR/JetsonModuleAdaptationAndBringUp/JetsonAgxOrinSeries.html?highlight=universal%20bus#porting-the-universal-serial-bus

@WayneWWW We have the correct device tree. There is no difference between our custom board and the dev board with regards to the USB setup with the same sub hub chip. The only difference is that the eeprom that is connected to usb hub chip can be programmed by SPI but we removed that from our custom board. So the usb hub eeprom on the custom baord cannot be re-programmed by orin.

Does Jetpack 6,1 update the fimeware on this usb hub eeprom and then looks for the higher version when booting? If this is the case, it explains why the usbs don’t work because the eeprom on the custom board has the older firmware version.

Do you also use Cypress PD controller?

no all the usbs are type A so we took the Cypress PD controller out. But there was no problem with that in Jetpack 5.1.4. Also the usbs work in the boot menu even with jetpack 6.1. it’s only after ubuntu boots the things dont work

Yes, that is the problem.
Rel-36 driver is from Linux kernel upstream and it will check all the dependencies. If you don’t have PD controller, then you must configure the device tree. Default device tree we provided only support NV devkit.

Rel-35 just has some error tolerance so it is kind of just letting you bypass it.

You cannot rely on a wrong method just because it could work. It will have broken result one day and that is what happened to you now.

There is nothing called “same as NV devkit” based on my previous experience on all the forum users here. Same as NV devkit means everything is same. A single change will lead that won’t happen.

i tried by disabling the cypress controller in the device tree but it still didn’t work:

It is not just these… you have to review the whole device tree. Read the document and review the whole device tree…

I got it working, by just deleting the hole typec@8 section including the connectors subsections and removing the corresponding references in the USB definitions

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.