storage: v2 Add simple NVMe storage driver
This driver is a minimal port of the EFI NVMe driver.
It allows depthcharge to boot from an SSD supporting
the NVM Express interface (nvmexpress.org). See notes in
nvme.c for additional information on capabilities.
Based on data from Flash Memory Summit 2014 client NVMe SSDs are
forecast to account for 60%+ of the market. They offer substantial
latency, bandwidth, and power advantages over SATA drives. According
to FMS articles these drives will be available from several vendors
including Samsung and SK Hynix.
A depthcharge driver allows IHVs to test/validate their platforms
earlier by using a common NVMe implementation. It also enables
developers who want to modify existing cros devices to use new storage
There is a new CONFIG_DRIVER_NVME option in Kconfig
so one may include this driver at will.
Use this driver by adding CONFIG_DRIVER_NVME to your
.config and adding something like this to your board.c:
NvmeCtrlr *nvme = new_nvme_ctrlr(PCI_DEV(2, 0, 0));
TEST=compiles for panther and can boot from NVMe device w/ board.c change
Signed-off-by: Jason B. Akers <firstname.lastname@example.org>
Reviewed-by: Aaron Durbin <email@example.com>
4 files changed