On Mon, Jan 16, 2023 at 05:28:26PM +0000, abdellatif.elkhl...@arm.com wrote: > From: Abdellatif El Khlifi <abdellatif.elkhl...@arm.com> > > Adding block storage emulation for NVM XIP flash devices. > > Some paltforms such as Corstone-1000 need to see NVM XIP raw flash > as a block storage device with read only capability. > > Here NVM flash devices are devices with addressable > memory (e.g: QSPI NOR flash). > > The NVM XIP block storage emulation provides the following features: > > - Emulate NVM XIP raw flash as a block storage device with read only > capability > - Being generic by design and can be used by any platform > - Device tree node > - Platforms can use multiple NVM XIP devices at the same time by defining a > DT node for each one of them > - A generic NVMXIP block driver allowing to read from the XIP flash > - A generic NVMXIP QSPI driver > - Implemented on top of memory-mapped IO (using readq macro) > - Enabling NVMXIP in sandbox64 > - A sandbox test case > - Enabling NVMXIP in Corstone1000 platform as a use case > > For more details please refer to the readme [A]. > > [A]: doc/develop/driver-model/nvmxip.rst > > Cheers, > Abdellatif > > Cc: Tom Rini <tr...@konsulko.com> > Cc: Simon Glass <s...@chromium.org> > Cc: Drew Reed <drew.r...@arm.com> > Cc: Xueliang Zhong <xueliang.zh...@arm.com> > > Abdellatif El Khlifi (6): > drivers/nvmxip: introduce NVM XIP block storage emulation > sandbox64: fix: return unsigned long in readq() > sandbox64: add support for NVMXIP QSPI > corstone1000: add NVM XIP QSPI device tree node > corstone1000: enable NVM XIP QSPI flash > sandbox64: add a test case for UCLASS_NVMXIP > > MAINTAINERS | 8 ++ > arch/arm/dts/corstone1000.dtsi | 9 +- > arch/sandbox/cpu/cpu.c | 2 +- > arch/sandbox/dts/sandbox64.dts | 13 ++ > arch/sandbox/dts/test.dts | 14 +++ > arch/sandbox/include/asm/io.h | 2 +- > configs/corstone1000_defconfig | 1 + > configs/sandbox64_defconfig | 1 + > doc/develop/driver-model/index.rst | 1 + > doc/develop/driver-model/nvmxip.rst | 70 +++++++++++ > doc/device-tree-bindings/nvmxip/nvmxip.txt | 56 +++++++++ > drivers/Kconfig | 2 + > drivers/Makefile | 1 + > drivers/block/blk-uclass.c | 1 + > drivers/nvmxip/Kconfig | 19 +++ > drivers/nvmxip/Makefile | 8 ++ > drivers/nvmxip/nvmxip-uclass.c | 15 +++ > drivers/nvmxip/nvmxip.c | 133 +++++++++++++++++++++ > drivers/nvmxip/nvmxip.h | 51 ++++++++ > drivers/nvmxip/nvmxip_qspi.c | 67 +++++++++++ > include/dm/uclass-id.h | 1 + > test/dm/Makefile | 5 + > test/dm/nvmxip.c | 117 ++++++++++++++++++ > 23 files changed, 594 insertions(+), 3 deletions(-) > create mode 100644 doc/develop/driver-model/nvmxip.rst > create mode 100644 doc/device-tree-bindings/nvmxip/nvmxip.txt > create mode 100644 drivers/nvmxip/Kconfig > create mode 100644 drivers/nvmxip/Makefile > create mode 100644 drivers/nvmxip/nvmxip-uclass.c > create mode 100644 drivers/nvmxip/nvmxip.c > create mode 100644 drivers/nvmxip/nvmxip.h > create mode 100644 drivers/nvmxip/nvmxip_qspi.c > create mode 100644 test/dm/nvmxip.c > > -- > 2.17.1 >
Hi guys, a gentle reminder. Any feedback please ? Cheers, Abdellatif