I have ported coreboot on Coffeelake architecture. Coreboot is up and during PCI scan M.2 NVME is not detecting in the scan. I have enabled the root port (Port 9) in the device tree and root port is shown in enumeration but not NVME device under it.
Is there any configuration to be done in coreboot to detect NVME.
Regards, SenK.
Hi SenK,
1. Check the flash descriptor straps for GPIO settings related to SATAXPCIE pins. These are used for autodetection of SATA or NVMe disks in M.2 slots, based on the PIN state processor exposes SATA or PCIe lanes to M.2 slot. 2. Configure the Port9 and 3 next ports. The bifurcation will make the port x4, so you need the Port 9-12 to be enabled. 3. You may also need to check the CLKSRC and CLKREQ signals routing and configure it correctly in FSP. 4. SeaBIOS should detect the NVMe disk if the above are satisfied.
Best regards,
Hi Michal,
Thanks for your response.
I have verified your Point 1, 2 and 3. Clock is going to NVME device. I have not checked it with Sea Bios as i am using binary UEFI payload.
Is NVME device will get detected as PCI device during PCI enumeration in coreboot?
Regards, SenK
Hi SenK,
If you are using the UEFI Payload you need to ensure that:
1. Your payload DSC file contains "MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf" in the [Components.<your_ARCH>] section (where <your_ARCH> is one from X64 or IA32). 2. Your payload FDF file contains "INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf" in [FV.DXEFV] section
Yes, the NVMe disk should be detected during PCI enumeration in coreboot. If it does, that means you lack the above in your UEFI payload. Otherwise there is something wrong in your coreboot port.
Best regards,