Add the SPL variant of the NVMXIP option and build the driver when it
is enabled for the current phase. This allows the SPL to use the block
devices emulated on top of a directly mapped non-volatile memory (XIP)
to read data, such as the next stage image or a firmware, from the
memory-mapped flash.

Signed-off-by: Benoît Monin <[email protected]>
---
 common/spl/Kconfig   | 8 ++++++++
 drivers/mtd/Makefile | 1 +
 2 files changed, 9 insertions(+)

diff --git a/common/spl/Kconfig b/common/spl/Kconfig
index 0618f42c941..1c0628b2350 100644
--- a/common/spl/Kconfig
+++ b/common/spl/Kconfig
@@ -1605,6 +1605,14 @@ config SYS_SPI_ARGS_SIZE
        hex "Falcon mode: size of args payload in SPI flash"
        depends on SPL_SPI_FLASH_SUPPORT && SPL_OS_BOOT_ARGS
 
+config SPL_NVMXIP
+       bool "NVM XIP devices support"
+       select SPL_BLK
+       help
+         This option allows the emulation of a block storage device
+         on top of a direct access non volatile memory XIP flash devices.
+         This support provides the read operation.
+
 config SPL_THERMAL
        bool "Driver support for thermal devices"
        help
diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile
index ce05e206073..7ccc5da6d19 100644
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -38,5 +38,6 @@ obj-$(CONFIG_$(PHASE_)NAND_SUPPORT) += nand/
 obj-$(CONFIG_SPL_ONENAND_SUPPORT) += onenand/
 obj-$(CONFIG_$(PHASE_)SPI_FLASH_SUPPORT) += spi/
 obj-$(CONFIG_SPL_UBI) += ubispl/
+obj-$(CONFIG_$(PHASE_)NVMXIP) += nvmxip/
 
 endif

-- 
2.55.0

Reply via email to