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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot