PSS Agilex FPGA firmware programming

Prerequisites:

Start by finding the JTAG interface of the FPGA:

ubuntu@ds-psi-pss-01:~$ jtagquery
1) AGF FPGA Development Kit [7-1]
  C341A0DD   AGFB014R24(A|B)
  020D10DD   VTAP10

To program the periphery firmware image onto the FPGA using its JTAG interface:

ubuntu@ds-psi-pss-01:~$ quartus_pgm -c 1 -m JTAG -o "p;FDAS_TOP.periph.jic@1"
Info: *******************************************************************
Info: Running Quartus Prime Programmer
    Info: Version 22.4.0 Build 94 12/07/2022 SC Pro Edition
    Info: Copyright (C) 2022  Intel Corporation. All rights reserved.
    Info: Your use of Intel Corporation's design tools, logic functions
    Info: and other software and tools, and any partner logic
    Info: functions, and any output files from any of the foregoing
    Info: (including device programming or simulation files), and any
    Info: associated documentation or information are expressly subject
    Info: to the terms and conditions of the Intel Program License
    Info: Subscription Agreement, the Intel Quartus Prime License Agreement,
    Info: the Intel FPGA IP License Agreement, or other applicable license
    Info: agreement, including, without limitation, that your use is for
    Info: the sole purpose of programming logic devices manufactured by
    Info: Intel and sold by Intel or its authorized distributors.  Please
    Info: refer to the applicable agreement for further details, at
    Info: https://fpgasoftware.intel.com/eula.
    Info: Processing started: Mon Jul 14 12:06:07 2025
    Info: System process ID: 3790
Info: Command: quartus_pgm -c 1 -m JTAG -o p;FDAS_TOP.periph.jic@1
Info (213045): Using programming cable "AGF FPGA Development Kit [7-1]"
Info (213011): Using programming file FDAS_TOP.periph.jic with checksum 0xE1CDEDF8 for device AGFB014R24B@1
Info (209060): Started Programmer operation at Mon Jul 14 12:06:12 2025
Info (19094): Erasing flash 1 at device index 1
Info (19096): Programming flash 1 at device index 1
Info (209011): Successfully performed operation(s)
Info (209061): Ended Programmer operation at Mon Jul 14 12:08:54 2025
Info: Quartus Prime Programmer was successful. 0 errors, 0 warnings
    Info: Peak virtual memory: 1348 megabytes
    Info: Processing ended: Mon Jul 14 12:08:54 2025
    Info: Elapsed time: 00:02:47
    Info: System process ID: 3790

After programming the periphery firmware, completely power-cycle the machine:

ubuntu@ds-psi-pss-01:~$ sudo ipmitool chassis power cycle

After reboot, the device should show up:

ubuntu@ds-psi-pss-01:~$ sudo lspci -d 1172:000 -v
e1:00.0 Unassigned class [ff00]: Altera Corporation Device 0000 (rev 01)
  Flags: bus master, fast devsel, latency 0, NUMA node 1, IOMMU group 50
  Memory at b84de000000 (64-bit, prefetchable) [size=4M]
  Memory at b84dc000000 (64-bit, prefetchable) [size=32M]
  Capabilities: [40] Power Management version 3
  Capabilities: [70] Express Endpoint, MSI 00
  Capabilities: [b0] MSI-X: Enable- Count=16 Masked-
  Capabilities: [100] Advanced Error Reporting
  Capabilities: [148] Virtual Channel
  Capabilities: [178] Alternative Routing-ID Interpretation (ARI)
  Capabilities: [188] Secondary PCI Express
  Capabilities: [1b8] Physical Layer 16.0 GT/s <?>
  Capabilities: [1e8] Lane Margining at the Receiver <?>
  Capabilities: [470] Data Link Feature <?>
  Capabilities: [d00] Vendor Specific Information: ID=1172 Rev=0 Len=05c <?>
  Kernel driver in use: ifc_uio_cvp
  Kernel modules: ifc_uio_cvp