The issue: I connect an FPGA board to Jetson AGX Orin Development Kit via PCIe connector. During power up, I see my FPGA board is flashing and the fans start rotating. But then after 15 seconds, before anything appears on the screen, the board completely shuts down. Wondering how to diagnose the problem.
Two facts:
The FPGA board consumes about 35W at peak.
This board was fully functional on Jetson AGX Xavier development kit over PCIe.
My question: I suspect Orin does shutdown the PCI when it finds the board drawing power above certain limit. Is there any power limitation on the PCIe connector of Jetson Orin?
Thanks for confirming the power specs. This is the part of the log that I think is related:
May 9 17:55:18 jetson-orin kernel: [ 7.302597] pci 0004:00:00.0: [10de:229c] type 01 class 0x060400
May 9 17:55:18 jetson-orin kernel: [ 7.302861] pci 0004:00:00.0: PME# supported from D0 D3hot
May 9 17:55:18 jetson-orin kernel: [ 7.308599] pci 0004:00:00.0: PCI bridge to [bus 01-ff]
May 9 17:55:18 jetson-orin kernel: [ 7.308747] pci 0004:00:00.0: Max Payload Size set to 256/ 256 (was 256), Max Read Rq 512
May 9 17:55:18 jetson-orin kernel: [ 7.309174] pcieport 0004:00:00.0: Adding to iommu group 11
May 9 17:55:18 jetson-orin kernel: [ 7.309475] pcieport 0004:00:00.0: PME: Signaling with IRQ 52
May 9 17:55:18 jetson-orin kernel: [ 7.309874] pcieport 0004:00:00.0: AER: enabled with IRQ 52
May 9 17:55:18 jetson-orin kernel: [ 7.310217] pci_bus 0004:01: busn_res: [bus 01-ff] is released
May 9 17:55:18 jetson-orin kernel: [ 7.310444] pci 0004:00:00.0: Removing from iommu group 11
May 9 17:55:18 jetson-orin kernel: [ 7.310585] pci_bus 0004:00: busn_res: [bus 00-ff] is released
May 9 17:55:18 jetson-orin kernel: [ 7.317029] tegra194-pcie 141a0000.pcie: Using GICv2m MSI allocator
May 9 17:55:18 jetson-orin kernel: [ 7.322100] tegra194-pcie 141a0000.pcie: Failed to get slot regulators: -517
May 9 17:55:18 jetson-orin kernel: [ 7.322166] vdd-3v3-pcie: supplied by vdd-3v3-sys
May 9 17:55:18 jetson-orin kernel: [ 7.326805] avdd-cam-2v8: supplied by vdd-3v3-sys
May 9 17:55:18 jetson-orin kernel: [ 7.331430] vdd-dp: supplied by vdd-3v3-sys
May 9 17:55:18 jetson-orin kernel: [ 7.335651] vdd-3v3-sd: supplied by vdd-3v3-sys
May 9 17:55:18 jetson-orin kernel: [ 7.340527] dsi-vdd-1v8-bl-en: supplied by vdd-1v8-sys
May 9 17:55:18 jetson-orin kernel: [ 7.347067] tegra194-isp5 14800000.isp: initialized
May 9 17:55:18 jetson-orin kernel: [ 7.352350] tegra194-vi5 13e40000.host1x:vi0@15c00000: initialized
May 9 17:55:18 jetson-orin kernel: [ 7.356551] (NULL device *): fops function table already registered
“Failed to get slot regulators” might be halting the FPGA board.
While the Orin dev kit is booting, I see the CPU/kit fans turn on and off a couple times. And suddenly my FPGA board stops. At that point, display is not up yet or maybe shows a blank screen intentionally. Is there a way to get logs displayed during this time? e.g. unlocking a diagnostic mode or maybe reading logs over a serial port (if Orin provides).
on page 43, Table 6-2 “Interface Supply Current Capabilities” shows max current of 5.5 A at 12 V for PCIe connector
on the same page, Table 6-3 “Supply Current Capabilities per Connector per Supply” shows only 3A at 12V for the PCIe connector.
Why is the current limited to only 3 A on the PCIe connector if the 12 V rail (NCP81599 DC-DC) is capable to deliver 5.5 A output? From Figure 6-1 the rail supplies only the PCIe and fan.
Would a more powerful power adapter help (more than 90W)?
I grabbed that patch you provided here. And did build the kernel and I have the new “./kernel_out/arch/arm64/boot/dts/nvidia/tegra234-p3737-overlay-pcie.dtbo” file. How can I load this on Orin?
Then I called SDK Manager gui to flash Orin. After booting, I confirmed /boot/tegra234-p3737-overlay-pcie.dtbo on Orin is indeed the updated/patched file.
However, the PCIe still shutdowns the 12V. I guess Orin somehow is still using the old tegra234-p3737-overlay-pcie.dtbo. Are dtbo files packaged somewhere and the whole package is used instead of individual .dtbo files? e.g. /boot/dtb/kernel_tegra234-p3701-0000-p3737-0000.dtb
I also tried commenting FDT line on /boot/extlinux/extlinux.conf, but this time the board failed to boot with “Unhandled exception” error on the console.
Instead of “flashing again by sdkmanager”, can you try to directly use manual flash after you replace the file?
I am not sure about what is the behavior of sdkmanager currently. For example, whether it will download some new file and replace your old file or not.
You can try to compare the device tree node under /proc/device-tree and see if any change after applying the patch.