We have a custom AGX Orin-based carrier board using an HD3SS3220 USB Type C Port Controller instead of the USB chip on the dev. kit. Once we are booted into Linux4Tegra, our USB 3A, USB C host and USB C OTG ports all work fine so we know the hardware is correct, as well as our device tree changes.
However, we have noticed that during boot, when the UEFI BIOS screen is displayed, our keyboard does not work (to press Esc for UEFI setup or F11 for the boot selection, for example) if it is plugged into a USB 3 self-powered hub and that hub is plugged into one of our USB ports. However, if the keyboard is plugged directly into one of our USB ports then it works.
So it appears that the UEFI BIOS is only recognizing USB 2 devices but not USB 3 devices. We did not have this issue in earlier Jetson modules like the TX2 and Xavier NX, and we don’t have this issue on an AverMedia DL131L carrier board either (which seems to use the same USB chip as the dev. kit apparently). The same issue occurs whether we use the latest JetPack 5 or JetPack 6.
My suspicion is that the USB 3 support in UEFI (XhciControllerDxe driver perhaps?) is specific to the dev. kit USB hardware and if I wish to get it to work I may have to modify the UEFI for the HD3SS3220? Is that a correct assumption?
If so, then would you be so kind as to give some pointers as to how to go about doing that (e.g. what sources need to be changed or what code is specific to the dev. kit?) I have read much of the UEFI documentation online re. drivers but it is fairly generic. (Note that we use the I2C interface to the HD3SS3220 for the USB C OTG port on our carrier board.)
Thank you for any assistance you can provide. Sincerely,
Dan