.. 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

      nvmxip_qspi driver :

        The driver probed with the DT and is the parent of the blk#<id> device.
        nvmxip_qspi can be reused by other platforms. If the platform
        has custom settings to apply before using the flash, then the platform
        can provide its own parent driver belonging to UCLASS_NVMXIP and reuse
        nvmxip-blk. The custom driver can be implemented like nvmxip_qspi in
        addition to the platform custom settings.
	The nvmxip_qspi driver belongs to UCLASS_NVMXIP.
	The driver implemented by drivers/mtd/nvmxip/nvmxip_qspi.c

	For example, if we have two NVMXIP devices described in the DT
	The devices hierarchy is as follows:

::

   => dm tree

        Class     Index  Probed  Driver                Name
    -----------------------------------------------------------
    ...
     nvmxip        0  [ + ]   nvmxip_qspi           |-- nvmxip-qspi1@08000000
     blk           3  [ + ]   nvmxip-blk                    |   `-- nvmxip-qspi1@08000000.blk#1
     nvmxip        1  [ + ]   nvmxip_qspi           |-- nvmxip-qspi2@08200000
     blk           4  [ + ]   nvmxip-blk                    |   `-- nvmxip-qspi2@08200000.blk#2

The implementation is generic and can be used by different platforms.

Supported hardware
--------------------------------

Any plaform supporting readq().

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.

config NVMXIP_QSPI
	  This option allows the emulation of a block storage device on top of a QSPI XIP flash.
	  Any platform that needs to emulate one or multiple QSPI XIP flash devices can turn this
	  option on to enable the functionality. NVMXIP config is selected automatically.
	  Platforms that need to add custom treatments before accessing to the flash, can
	  write their own driver (same as nvmxip_qspi in addition to the custom settings).

Device Tree nodes
--------------------

Multiple QSPI XIP flash devices can be used at the same time by describing them through DT
nodes.

Please refer to the documentation of the DT binding at:

doc/device-tree-bindings/nvmxip/nvmxip_qspi.txt

Contributors
------------
   * Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
