cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Visitor
Visitor
405 Views
Registered: ‎09-10-2020

NVMe SSD not detected on ZCU-102 with Vivado 2020.1


ZCU-102 with NVMe SSD

NVMe SSD not detected on ZCU-102 with Vivado 2020.1
=============================================

We are trying to test an SSD connected to PCIe Gen2x4 Slot on ZCU102. We do not see it being detected in Petalinux

We have enabled all PCIe/NVMe features during Petalinux Kernel build. Attached are configuration files for both Kernel and Rootfs configurations.

Trying with Vivado 2020.1:
- SSD would not enumerate on PCIe
- SSD would not show as any (or nvme) device under /dev/

Trying with Vivado 2017.1:
- SSD can enumerate on PCIe (can be seen with lspci -vv)
- SSD would not show as any (or nvme) device under /dev/

Furthermore even though we have enabled all options in Rootfs configuration for util-linux, but we do not see "lsblk" package added into Petalinux

===========================
Setup:
===========================
ZCU102 -> PCIe Gen2x4 Slot (connected to MPSoC PS) -> PCIe to M.2 bridge board -> M.2 SSD

Aside:
We have validated following setup already to confirm that PCIe to M.2 SSD path hardware works fine.
PCIe to M.2 bridge board -> M.2 SSD
This was connected to a ubuntu-PC and SSD was detected and mounted just fine on a ubuntu PC.


Some reference logs are provided below for Vivado 2017.1:
=========================================================
root@plnx_aarch64:~# which lslblk
root@plnx_aarch64:~#

root@plnx_aarch64:~# lspci
00:00.0 PCI bridge: Xilinx Corporation Device d021
01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a808
root@plnx_aarch64:~#

root@plnx_aarch64:~#
root@plnx_aarch64:~# ls /dev/nvm*
ls: /dev/nvm*: No such file or directory
root@plnx_aarch64:~#
root@plnx_aarch64:~# df
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 957700 0 957700 0% /dev
tmpfs 1026016 116 1025900 0% /run
tmpfs 1026016 116 1025900 0% /var/volatile

root@plnx_aarch64:~# lspci -v
00:00.0 PCI bridge: Xilinx Corporation Device d021 (prog-if 00 [Normal decode])
Flags: fast devsel, IRQ 255
Bus: primary=00, secondary=01, subordinate=0c, sec-latency=0
I/O behind bridge: 00000000-00000fff
Memory behind bridge: e0000000-e00fffff
Capabilities: [40] Power Management version 3
Capabilities: [60] Express Root Port (Slot-), MSI 00
Capabilities: [100] Device Serial Number 00-00-00-00-00-00-00-00
Capabilities: [10c] Virtual Channel
Capabilities: [128] Vendor Specific Information: ID=1234 Rev=1 Len=018 <?>

01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a808 (prog-if 02 [NVM Express])
Subsystem: Samsung Electronics Co Ltd Device a801
Flags: fast devsel, IRQ 255
Memory at e0000000 (64-bit, non-prefetchable) [disabled] [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [b0] MSI-X: Enable- Count=33 Masked-
Capabilities: [100] Advanced Error Reporting
Capabilities: [148] Device Serial Number 00-00-00-00-00-00-00-00
Capabilities: [158] Power Budgeting <?>
Capabilities: [168] #19
Capabilities: [188] Latency Tolerance Reporting
Capabilities: [190] L1 PM Substates

root@plnx_aarch64:~#


===========================================================
Any pointers to what we may be missing here to enable SSD detection/mount in Petalinux?

Thanks.



0 Kudos
Reply
1 Reply
Moderator
Moderator
175 Views
Registered: ‎07-31-2012

Hi @imdv ,

I tried on the ZCU102 Rev1.0 board with Intel SSD 400GB using 2020.1.

The NVMe SSD is properly enumerated and detected.

I also did read and write operations on SSD which worked fine.

Please note that the only required kernel configuration for NVMe and PS PCIe are

  CONFIG_PCIE_XILINX_NWL  -- PS PCIe controller

  CONFIG_BLK_DEV_NVME  -- NVME as a block device.

 

Regards

Praveen


-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Reply