Add raw NAND framework
The raw NAND framework supports SLC NAND devices.

It introduces a new high level interface (io_mtd) that
defines operations a driver can register to the NAND framework.
This interface will fill in the io_mtd device specification:
	- device_size
        - erase_size
that could be used by the io_storage interface.

NAND core source file integrates the standard read loop that
performs NAND device read operations using a skip bad block strategy.
A platform buffer must be defined in case of unaligned
data. This buffer must fit to the maximum device page size
defined by PLATFORM_MTD_MAX_PAGE_SIZE.

The raw_nand.c source file embeds the specific NAND operations
to read data.
The read command is a raw page read without any ECC correction.
This can be overridden by a low level driver.
No generic support for write or erase command or software
ECC correction.

NAND ONFI detection is available and can be enabled using
NAND_ONFI_DETECT=1.
For non-ONFI NAND management, platform can define required
information.

Change-Id: Id80e9864456cf47f02b74938cf25d99261da8e82
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Signed-off-by: Christophe Kerello <christophe.kerello@st.com>
1 parent 45cc606 commit b114abb609d42a5e237a35f6e27852c9aa9ab963
@Lionel Debieve Lionel Debieve authored on 9 Sep 2019
Showing 7 changed files
View
drivers/io/io_mtd.c 0 → 100644
View
drivers/mtd/nand/core.c 0 → 100644
View
drivers/mtd/nand/raw_nand.c 0 → 100644
View
include/drivers/io/io_mtd.h 0 → 100644
View
include/drivers/io/io_storage.h
View
include/drivers/nand.h 0 → 100644
View
include/drivers/raw_nand.h 0 → 100644