[U-Boot] [PATCH 0/8] nvme: Add NVM Express driver support

Bin Meng bmeng.cn at gmail.com
Thu Aug 3 09:30:55 UTC 2017


This series adds NVM Express driver support to U-Boot.

This series is based on previous RFC v2 patchset [1][2] done by
Zhikang Zhang and Wenbin Song, as well as Jon Nettleton's fixes
[3] on top of the RFC v1.

The patches are organized in a way that meets the requirement
of upstream. Jon's fixes were squashed/integrated with a proper
order in this series.

The original RFC driver was cleaned up a lot, to remove the
compilation limitation on non-ARMv8 architecture (including a
header file from armv8), drop the board_r.c modification, drop
unnecessary PCI configuration space initialization, add 32-bit
architecture support of readq/writeq operations, eliminate
compiler warnings, as well as coding convention clean up, plus
a fix to a bug that is exposed by QEMU platform.

Tested with an Intel SSD 750 series NVMe 400GB card, a Plextor
NVMe SSD M8Pe Series 256GB card, on Intel Crown Bay board, as
well as QEMU x86 emulation platform.

This series is available at u-boot-x86/nvme-working for testing.

[1] http://patchwork.ozlabs.org/patch/753088/
[2] http://patchwork.ozlabs.org/patch/753089/
[3] http://patchwork.ozlabs.org/patch/794909/


Bin Meng (2):
  nvme: Handle zero Maximum Data Transfer Size (MDTS)
  x86: qemu: Enable NVMe driver

Jon Nettleton (2):
  nvme: Detect devices that are class Storage Express
  nvme: Fix number of blocks detection

Zhikang Zhang (4):
  dm: blk: part: Add UCLASS_NVME and IF_TYPE_NVME
  nvme: Add NVM Express driver support
  nvme: Add show routine to print detailed information
  nvme: Add nvme commands

 cmd/Kconfig                |   7 +
 cmd/Makefile               |   1 +
 cmd/nvme.c                 | 197 +++++++++++
 configs/qemu-x86_defconfig |   1 +
 disk/part.c                |   6 +-
 doc/README.nvme            |  86 +++++
 drivers/Kconfig            |   2 +
 drivers/Makefile           |   1 +
 drivers/block/blk-uclass.c |   2 +
 drivers/nvme/Kconfig       |  12 +
 drivers/nvme/Makefile      |   7 +
 drivers/nvme/nvme-uclass.c |  62 ++++
 drivers/nvme/nvme.c        | 860 +++++++++++++++++++++++++++++++++++++++++++++
 drivers/nvme/nvme.h        | 717 +++++++++++++++++++++++++++++++++++++
 drivers/nvme/nvme_show.c   | 127 +++++++
 include/blk.h              |   1 +
 include/dm/uclass-id.h     |   1 +
 include/nvme.h             |  82 +++++
 include/pci_ids.h          |   1 +
 19 files changed, 2172 insertions(+), 1 deletion(-)
 create mode 100644 cmd/nvme.c
 create mode 100644 doc/README.nvme
 create mode 100644 drivers/nvme/Kconfig
 create mode 100644 drivers/nvme/Makefile
 create mode 100644 drivers/nvme/nvme-uclass.c
 create mode 100644 drivers/nvme/nvme.c
 create mode 100644 drivers/nvme/nvme.h
 create mode 100644 drivers/nvme/nvme_show.c
 create mode 100644 include/nvme.h

-- 
2.9.2



More information about the U-Boot mailing list