Visible to Intel only — GUID: vmk1623449869008
Ixiasoft
1. Overview
2. CvP Description
3. CvP Topologies
4. Design Considerations
5. CvP Driver and Registers
6. Understanding the Design Steps for CvP Initialization using the Supported PCIe Tile in Agilex™ 7 FPGAs
7. Agilex™ 7 Device Configuration via Protocol (CvP) Implementation User Guide Archives
8. Document Revision History for the Agilex™ 7 Device Configuration via Protocol (CvP) Implementation User Guide
5.3.1. Vendor Specific Capability Header Register
5.3.2. Vendor Specific Header Register
5.3.3. Intel® Marker Register
5.3.4. User Configurable Device/Board ID Register
5.3.5. CvP Status Register
5.3.6. CvP Mode Control Register
5.3.7. CvP Data Registers
5.3.8. CvP Programming Control Register
5.3.9. CvP Credit Register
Visible to Intel only — GUID: vmk1623449869008
Ixiasoft
6.1.5.1. Installing the Upstream Open Source CvP Driver in Linux Systems
The installation of CvP driver only needs to be done once for the same kernel version.
- Install these tools to build the kernel if you are using Ubuntu.
sudo apt-get install bison sudo apt-get install libncurses5-dev sudo apt-get install libssl-dev sudo apt-get install libncursesw5-dev sudo apt-get install -y libelf-dev sudo apt-get install git sudo apt-get install flex sudo apt-get install -y xz-utils
- Download the kernel source. Intel recommends you use the default kernel version from altera-opensource in github4. The following command obtains the kernel source code from altera-opensource in github.
Example Command:
git clone https://github.com/altera-opensource/linux-socfpga
- Save the kernel code folder to /usr/src.
- Checkout the branch using:
cd linux-socfpga git checkout socfpga-v5.15.30-lts
- (This step is necessary only if you have downloaded v5.9 or below from kernel.org5.) You must install the following patches.
- Download Patch1 and Patch2 and save them into the kernel source folder.
- In the kernel source directory (for example: /usr/src/linux-5.9-tt), install the patches using the commands below.
- Run:
patch -p1 < 2-2-fpga-add-FPGA-manager-debugfs.patch
- Run:
patch -p1 < 1-2-fpga-doc-documentation-for-FPGA-debugfs.patch
- Run:
- Build and install the kernel modules.
- Go into the kernel source folder. Run: cd /usr/src/linux-socfpga.
- Copy the existing config over to a new kernel. Run: cp -v /boot/config-$(uname -r) .config
- Enable Altera CvP FPGA Manager as kernel module with the command and steps below.
- Run: make menuconfig
- In the GUI, navigate to Device Drivers > FPGA Configuration Framework. Set Altera CvP FPGA Manager and FPGA Manager DebugFS to *. Save the config setting to .config file.
- You may check the .config file, the 3 line items below should be enabled.
- CONFIG_FPGA=y
- CONFIG_FPGA_MGR_DEBUG_FS=y
- CONFIG_FPGA_MGR_ALTERA_CVP=y
- Compile the kernel. Run: Make -j 12.
- Install the kernel modules.
- Run: export INSTALL_MOD_PATH=/usr/src/linux-socfpga
- Run: MODPATH="INSTALL_MOD_PATH=/usr/src/linux-socfpga"
- Run: ARGS="$MODPATH"
- Run: make $ARGS modules
- Run: sudo make modules_install. Check the module version in the last line printed in the Console window. The name might be different based on Kernel build version and .config file.
- Run "sudo make install". Ensure the Linux image and initrd image are created according to the module version.
- (This step is necessary only if you are using Ubuntu.) Modify the Grand Unified Bootloader (Grub) Boot Loader settings. This step is mandatory for first-time kernel installations for Linux to boot up with the appropriate kernel version.
- Identify the kernel module version to point to.
- Run: grub-mkconfig
- Run: cat /boot/grub/grub.cfg
- Search for submenu and menuentry to identify the Linux image and initrd image created during kernel installation. In the example shown below, the submenu 'Advanced options for Ubuntu' and menuentry 'Ubuntu, with Linux 5.15.30+' indicate that the kernel version to point to is Advanced options for Ubuntu>Ubuntu, with Linux 5.15.30+
- Backup the Grub file in case reverting is needed.
- Run: sudo cp /etc/default/grub /etc/default/grub.bak
- View the Grub file.
- Run: cat /etc/default/grub
- Run: cat /etc/default/grub
- Update the Grub file.
- Run: gedit/etc/default/grub
- Change the GRUB_DEFAULT to point to the desired kernel module version as previously identified.
- Example: GRUB_DEFAULT = "Advanced options for Ubuntu>Ubuntu, with Linux 5.15.30+"
- Save the changes
- Ensure the Grub changes take effect.
- Run: sudo update-grub
- Run: sudo update-grub
- Identify the kernel module version to point to.
- Reboot the system and ensure the system reboots to the installed kernel:
- Run : reboot. Allow the PC to reboot successfully.
- Run : uname -mrs. The system should be rebooted with the installed kernel version as shown below.
4 The socfpga-v5.15.30-lts and socfpga-v5.10.110-lts are the versions tested on Intel hardware as of Quartus® Prime version 22.2.
5 Intel recommends you use the default kernel version from altera-opensource in github.