PCI Slots Unavailability

Respected Team,

In the Hifive SiFive Unmatched Board, we are running the default linux OS provided by SiFive in the microSD card. It is able to detect the PCI slot number 07 as shown in the below steps which are generated as output in the terminal

root@unmatched:~# cd /sys/bus/pci/devices
root@unmatched:/sys/bus/pci/devices# ls
0000:00:00.0 0000:02:00.0 0000:02:03.0 0000:02:08.0 0000:07:00.0
0000:01:00.0 0000:02:02.0 0000:02:04.0 0000:04:00.0

Linux OS

But when we use the Ubuntu OS for HiFive SiFive Unmatched board given in the below link:

It is unable to detect the PCI slot number 07 as shown in the available PCI device list below obtained from the terminal

ubuntu@ubuntu:~$ cd /sys/bus/pci/devices
ubuntu@ubuntu:/sys/bus/pci/devices$ ls
0000:00:00.0 0000:02:00.0 0000:02:03.0 0000:02:08.0
0000:01:00.0 0000:02:02.0 0000:02:04.0 0000:04:00.0

Ubuntu OS

Kindly suggest how we can resolve this issue.

What is connected to the PCI?

FUSDK is not a full proper Linux desktop distribution, it’s more of a demo platform based on OE. We don’t have all the possible drivers enabled as you would find on Ubuntu/Fedora/openSUSE/etc.

Looking at my systems I see that “07:00.0” and “07:00.1” are AMD GPU that I am using. You can look at /proc/config.gz and check if kernel support is enabled for your particular PCI device.

Respected Team,

Thank you for the warm reply. We are connecting an FPGA device through PCIe connector on the Hifive Sifive Unmatched Board. We have compared the PCI slots by checking in both Freedom U SDK Linux and Ubuntu images.
There is some misunderstanding, we are able to detect the device in FUSDK and not in Ubuntu image.

Please can you suggest what to look for in the config file to enable device support? We compared the FUSDK and Ubuntu config files and checked for PCIe related support. Can you please suggest any solution from the comparison? Looking forward to hearing from you
Freedom U SDK
Config PCI_EAER_INJECT=m
Config PCI_REALLOC enable auto is not set
Config Hot Plug PCI_CPCI is not set
DW_PLAT is not set
Cadence support is not set
Switch-tech=y
Config PCCard is not set
Config Debug Driver is not set
Config RAPIDIO is not set
#Hardware Tracing Support
#CONFIG_FPGA is not set
#STMicroelectronics STM32 SOC audio support
#CONFIG_SND_SOC_XTFPGA_I2S is not set

Ubuntu
Config_PCI_EAER_INJECT is not set
Config PCI_REALLOC enable auto=y
Config Hot Plug PCI_CPCI=y
DW_PLAT=y
Cadence support is set
Switch_tech=m
Config PCCard is not set
Config Debug Driver is not set
Config RAPIDIO_TSI57X=m
#Hardware Tracing Support
CONFIG_FPGA=m
CONFIG_FPGA_MGR_ALTERA_PS_SPI=m
CONFIG_FPGA_MGR_ALTERA_CVP=m
CONFIG_FPGA_MGR_XILINX_SPI=m
CONFIG_FPGA_MGR_ICE40_SPI=m
CONFIG_FPGA_MGR_MACHXO2_SPI=m
CONFIG_FPGA_BRIDGE=m
CONFIG_FPGA_REGION=m
CONFIG_OF_FPGA_REGION=m CONFIG_FPGA_DFL=m
CONFIG_FPGA_DFL_FME=m
CONFIG_FPGA_DFL_FME_MGR=m
CONFIG_FPGA_DFL_FME_BRIDGE=m
CONFIG_FPGA_DFL_FME_REGION=m
CONFIG_FPGA_DFL_AFU=m
CONFIG_FPGA_DFL_PCI=m

I don’t have PCIe FPGA to test with. The best suggestion is to do a diff between defconfigs and slowly merge changes into Ubuntu defconfig, recompile the kernel and test.