Request for Headless aarch64 Firmware / Custom ARM Server Bootstrapping Support (RTX 2000 Ada)

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:

  1. 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)
  2. Dumped VBIOS from x86 reference system (147KB) — confirmed x86-only
    code (Code Type 0x00 legacy + 0x03 EFI x86_64), not runnable on ARM
  3. Analyzed DEVINIT scripts in VBIOS — theoretically portable but GPU
    needs minimal init first

Questions for the community / NVIDIA:

  1. 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).

  2. 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):

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!