We have observed a limitation in the number of PCIe devices that the Orin Nano UEFI can handle during boot. Specifically, we are trying to expand our PCIe configuration but are encountering a failure when adding a fourth endpoint device.
There may be a UEFI limit on the number of PCIe devices it can discover during the initialization phase.
The PCIe discovery loop in UEFI might need to be extended to allow for more endpoints.
Is there a known limit on the number of PCIe devices that can be enumerated at boot?
Are there configuration settings in the device tree, UEFI, or kernel that could allow us to extend this limit?
Has anyone successfully used four or more endpoints on Orin Nano, and if so, were any modifications required?
NVIDIA Orin Nano, r36.3
PCIe Switch - Broadcom PEX88048
What kind of error did you see there and what test did you conduct?
Please share us logs but not just some description. Those descriptions may not help much. Everyone can give out their own assumptions but those things are precise if lacking of logs to prove.
cernis-boot-w-four-ep.txt (106.1 KB)
Wayne, here is the log. I thought I attached it to one of the earlier posts. Please let me know what you think. Thanks Fred
The 4 PCIe devices are Orin AGX’s configured as PCIe endpoints. Everything is fine if we just have 1, 2 or 3 AGX’s. But if we have 4 AGX endpoints the UEFI bootloader does not see or know to use the M.2 SDD boot device.
One Nano with a Broadcom PEX88080 connected to multiple AGX’s with PEX88032’s. Up to three AGX’s is fine but more causes the UEFI to lose it’s reference to the boot device; nvme0n1p1