Poplar PCIe enablement


We all know there is a PCIe slot on Poplar.
Is there a way to access to PCIe like lspci command?
Do I need extra SDK to access BAR & other PCIe Config Space registers?



You need to build the kernel with NVME support. It is not enabled by default.

make ARCH=arm64 CROSS_COMPILE="${CROSS_64}" menuconfig
Under Device Drivers, enable the following:

  • NVM Express block device
  • NVMe Target support
  • NVMEM Support

Then make ARCH=arm64 CROSS_COMPILE="${CROSS_64}" all dtbs modules -j ${JOBCOUNT} and follow instructions from there to install everything. I use linaro-stretch-developer-20180416-89.tar.gz.

When your device is flashed and booted (and Debian updated)
you can then do sudo apt install pciutils nano util-linux
check with sudo lspci -vk and you will see two entries.

Then it’s just a matter of
sudo cfdisk /dev/nvme0n1p1
sudo mkfs.ext4 /dev/nvme0n1p1
mkdir ssd
and sudo nano /etc/fstab where you add: /dev/nvme0n1p1 /home/linaro/ssd ext4 defaults
finally sudo mount -a
and that’s it!