@@ -10,7 +10,7 @@ Silicom fb2CDg1\@AGM39D-2
1010 - PCIe conectors: Edge connector
1111 - `FPGA Card Website <https://www.silicom-usa.com/pr/server-adapters/programmable-fpga-server-adapter/fpga-intel-based-2/fpga-intel-agilex-based/fpga-smartnic-fb2cdg1agm39d-2-intel-based/ >`_
1212- FPGA specification:
13- - FPGA part number: ``AGMF039R47A2E2VR0 ``
13+ - FPGA part number: ``AGMF039R47A2E2VR0 ``, `` AGMF039R47A1E2VC ``
1414 - Ethernet Hard IP: F-Tile (up to 400G Ethernet)
1515 - PCIe Hard IP: R-Tile (up to PCIe Gen5 x16)
1616
@@ -30,3 +30,67 @@ NDK firmware support
3030.. note ::
3131
3232 To build the NDK firmware for this card, you must have the Intel Quartus Prime Pro and PACSign tool installed, including a valid license.
33+
34+ Board Variants
35+ ^^^^^^^^^^^^^^
36+
37+ This card exists in multiple variants.
38+ The correct variant for the firmware build can be selected using the Makefile parameter BOARD_VARIANT, for example as follows:
39+
40+ .. code ::
41+
42+ $ cd <NDK-FPGA_root_directory>/apps/minimal/build/fb2cdg1
43+ $ make BOARD_VARIANT=1
44+
45+ **Allowed values of BOARD_VARIANT parameter **
46+
47+ - ``BOARD_VARIANT=1 `` - The board uses FPGA part number ``AGMF039R47A1E2VC `` (Production sample).
48+ - ``BOARD_VARIANT=0 `` - The board uses FPGA part number ``AGMF039R47A2E2VR0 `` (Engineering sample).
49+
50+ Initial Boot instructions
51+ ^^^^^^^^^^^^^^^^^^^^^^^^^
52+ The card itself should be preloaded with firmware designed by Silicom.
53+ This design can be used to load an FPGA image to the BMC flash via PCIe using the Silicom ``rawcardtool `` tool.
54+
55+ **Execute the following steps to perform the manual initialization: **
56+
57+ 1. Obtain PCIe address of the card by the command below. In this example, the PCIe address is ``01:00.0 `` and will be used in the next steps:
58+
59+ .. code ::
60+
61+ $ lspci | grep "Silicom Denmark Device"
62+ 01:00.0 Ethernet controller: Silicom Denmark Device 0001
63+ 2. Ensure the card respond to memory space accesses by command:
64+
65+ .. code ::
66+
67+ $ setpci -s 01:00.0 COMMAND=0x0002
68+ 3. Flash the ``fpga_page1_pacsign_user1.bin `` file to the card using RawCardTool provided by Silicom:
69+
70+ .. code ::
71+
72+ $ rawcardtool_fjord --device 01:00.0 --flash fpga_page1_pacsign_user1.bin
73+ 4. Set your design as default by command:
74+
75+ .. code ::
76+
77+ $ rawcardtool_fjord --device 01:00.0 --fpgadefault user1
78+ 5. Boot your design executing:
79+
80+ .. code ::
81+
82+ $ rawcardtool_fjord --device 01:00.0 --reboot-fpga user1
83+
84+ .. note ::
85+
86+ The ``fpga_page1_pacsign_user1.bin `` file will be located in the build folder of your application after building. For NDK-FPGA, the folder is ``ndk-fpga/apps/minimal/build/fb2cdg1 ``.
87+
88+ .. note ::
89+
90+ If some bars are unmapped, power cycle the server.
91+
92+ If the ``rawcardtool `` tool is unavailable, it is possible to use JTAG to load the design (SOF file), and ``nfb-boot `` command to load the BMC flash with the FPGA image:
93+
94+ .. code ::
95+
96+ $ nfb-boot -f0 fb2cdg1-minimal-pcie1xgen5x8x8-400g2.nfw
0 commit comments