Hi all,
We’re bringing up an NVIDIA RTX 2000 Ada (10de:28b0, AD107) on a custom
ARM64 server platform, running Linux 6.6.46 aarch64 with U-Boot as
bootloader (headless, no x86 UEFI).
The PCIe layer is fully working:
- Link training completes successfully
- Config space enumerates correctly: Vendor 10de, Device 28b0
- BAR0/BAR1/BAR3 allocated and accessible from CPU
- No bus errors or translation faults on BAR reads
The problem:
Since our ARM bootloader cannot execute the GPU’s x86 Option ROM, the
GPU’s internal power-on init (devinit, clocks, Falcon, memory controller)
never runs. The GPU sits in power-on default state:
PMC_BOOT_0 (BAR0 + 0x00) = 0x00000000
PMC_BOOT_42 = 0x00000000
All BAR0 registers = 0x00000000
The NVIDIA 595.84 aarch64 driver (open kernel modules) loads and matches
the PCI device, but rm_is_supported_device() fails because PMC_BOOT_0 is
zero — it can’t identify the chip.
GSP firmware (gsp_ga10x.bin) is present on the system but can’t be loaded
because the GPU never reaches a state where GSP boot is possible.
What we’ve tried:
- Shadow BAR0 with fake PMC_BOOT_0 = 0x197000A1 (AD107 A1) — bypassed
ID check but driver crashed accessing real HW (GPU core unpowered,
memcpy_fromio hangs indefinitely) - Dumped VBIOS from x86 reference system (147KB) — confirmed x86-only
code (Code Type 0x00 legacy + 0x03 EFI x86_64), not runnable on ARM - Analyzed DEVINIT scripts in VBIOS — theoretically portable but GPU
needs minimal init first
Questions for the community / NVIDIA:
-
Is there an ARM-native VBIOS or headless firmware for the RTX 2000 Ada
(AD107)? We know ARM VBIOS exists for IGX platform (RTX 6000 Ada). -
Is there a documented minimal register init sequence to bring AD107
from power-on default to a state where PMC_BOOT_0 is readable and GSP
can boot?
Related threads with the same root cause (no resolution):
- GeForce Driver for aarch64 (64-bit ARM)
- [aarch64] [arm64] RmInitAdapter failed! (0x25:0x54:1214) driver fails to activate the display on arm64
Setup:
- Platform: Custom aarch64 server
- GPU: RTX 2000 Ada (10de:28b0)
- Driver: NVIDIA-Linux-aarch64-595.84 (open kernel modules)
- GSP FW: gsp_ga10x.bin (Ada Lovelace)
- Kernel: Linux 6.6.46 aarch64
- Bootloader: U-Boot (headless, no x86 UEFI)
Happy to share dmesg, PCIe config space dumps, or devmem BAR traces.
Thanks in advance!