diff options
author | Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com> | 2023-04-17 10:11:52 +0100 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2023-04-27 17:01:14 -0400 |
commit | f37af2760ea92cec3fbdcfceb6df7be57a618165 (patch) | |
tree | 07b0dfdb08e51202c3d8b3304c94aeb29afffa75 /doc | |
parent | b197f1f05dee730e173a0756cb1a5f2be5d3ba5b (diff) | |
download | u-boot-f37af2760ea92cec3fbdcfceb6df7be57a618165.zip u-boot-f37af2760ea92cec3fbdcfceb6df7be57a618165.tar.gz u-boot-f37af2760ea92cec3fbdcfceb6df7be57a618165.tar.bz2 |
drivers/mtd/nvmxip: introduce NVM XIP block storage emulation
add 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 implementation is generic and can be used by different platforms.
Two drivers are provided as follows.
nvmxip-blk :
a generic block driver allowing to read from the XIP flash
nvmxip Uclass driver :
When a device is described in the DT and associated with
UCLASS_NVMXIP, the Uclass creates a block device and binds it with
the nvmxip-blk.
Platforms can use multiple NVM XIP devices at the same time by defining a
DT node for each one of them.
Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Diffstat (limited to 'doc')
-rw-r--r-- | doc/develop/driver-model/index.rst | 1 | ||||
-rw-r--r-- | doc/develop/driver-model/nvmxip.rst | 48 |
2 files changed, 49 insertions, 0 deletions
diff --git a/doc/develop/driver-model/index.rst b/doc/develop/driver-model/index.rst index 7366ef8..8e12bbd 100644 --- a/doc/develop/driver-model/index.rst +++ b/doc/develop/driver-model/index.rst @@ -20,6 +20,7 @@ subsystems livetree migration nvme + nvmxip of-plat pci-info pmic-framework diff --git a/doc/develop/driver-model/nvmxip.rst b/doc/develop/driver-model/nvmxip.rst new file mode 100644 index 0000000..fe087b1 --- /dev/null +++ b/doc/develop/driver-model/nvmxip.rst @@ -0,0 +1,48 @@ +.. SPDX-License-Identifier: GPL-2.0+ + +NVM XIP Block Storage Emulation Driver +======================================= + +Summary +------- + +Non-Volatile Memory devices with addressable memory (e.g: QSPI NOR flash) could +be used for block storage needs (e.g: parsing a GPT layout in a raw QSPI NOR flash). + +The NVMXIP Uclass provides this functionality and can be used for any 64-bit platform. + +The NVMXIP Uclass provides the following drivers: + + nvmxip-blk block driver: + + A generic block driver allowing to read from the XIP flash. + The driver belongs to UCLASS_BLK. + The driver implemented by drivers/mtd/nvmxip/nvmxip.c + + nvmxip Uclass driver: + + When a device is described in the DT and associated with UCLASS_NVMXIP, + the Uclass creates a block device and binds it with the nvmxip-blk. + The Uclass driver implemented by drivers/mtd/nvmxip/nvmxip-uclass.c + + The implementation is generic and can be used by different platforms. + +Supported hardware +-------------------------------- + +Any 64-bit plaform. + +Configuration +---------------------- + +config NVMXIP + 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. + This option provides the block storage driver nvmxip-blk which + handles the read operation. This driver is HW agnostic and can support + multiple flash devices at the same time. + +Contributors +------------ + * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com> |