mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-02 16:44:59 +00:00
mtd: spinand: Create distinct fast and slow read from cache variants
So far, the SPINAND_PAGE_READ_FROM_CACHE_OP macro was taking a first argument, "fast", which was inducing the possibility to support higher bus frequencies than with the normal (slower) read from cache alternative. In practice, without frequency change on the bus, this was likely without effect, besides perhaps allowing another variant of the same command, that could run at the default highest speed. If we want to support this fully, we need to add a frequency parameter to the slowest command. But before we do that, let's drop the "fast" boolean from the macro and duplicate it, this will further help supporting having different frequencies allowed for each variant. The change is also of course propagated to all users. It has the nice effect to have all macros aligned on the same pattern. Reviewed-by: Tudor Ambarus <tudor.ambarus@linaro.org> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
This commit is contained in:
parent
fc4378b2fe
commit
0420872478
@ -21,8 +21,8 @@ static SPINAND_OP_VARIANTS(read_cache_variants,
|
|||||||
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(true, 0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_FAST_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0));
|
SPINAND_PAGE_READ_FROM_CACHE_OP(0, 1, NULL, 0));
|
||||||
|
|
||||||
static SPINAND_OP_VARIANTS(write_cache_variants,
|
static SPINAND_OP_VARIANTS(write_cache_variants,
|
||||||
SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
|
SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
|
||||||
|
@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
static SPINAND_OP_VARIANTS(read_cache_variants,
|
static SPINAND_OP_VARIANTS(read_cache_variants,
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(true, 0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_FAST_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0));
|
SPINAND_PAGE_READ_FROM_CACHE_OP(0, 1, NULL, 0));
|
||||||
|
|
||||||
static SPINAND_OP_VARIANTS(write_cache_variants,
|
static SPINAND_OP_VARIANTS(write_cache_variants,
|
||||||
SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
|
SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
|
||||||
|
@ -15,8 +15,8 @@
|
|||||||
static SPINAND_OP_VARIANTS(read_cache_variants,
|
static SPINAND_OP_VARIANTS(read_cache_variants,
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(true, 0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_FAST_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0));
|
SPINAND_PAGE_READ_FROM_CACHE_OP(0, 1, NULL, 0));
|
||||||
|
|
||||||
static SPINAND_OP_VARIANTS(write_cache_variants,
|
static SPINAND_OP_VARIANTS(write_cache_variants,
|
||||||
SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
|
SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
|
||||||
|
@ -14,8 +14,8 @@
|
|||||||
static SPINAND_OP_VARIANTS(read_cache_variants,
|
static SPINAND_OP_VARIANTS(read_cache_variants,
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(true, 0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_FAST_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0));
|
SPINAND_PAGE_READ_FROM_CACHE_OP(0, 1, NULL, 0));
|
||||||
|
|
||||||
static SPINAND_OP_VARIANTS(write_cache_variants,
|
static SPINAND_OP_VARIANTS(write_cache_variants,
|
||||||
SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
|
SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
|
||||||
|
@ -28,32 +28,32 @@ static SPINAND_OP_VARIANTS(read_cache_variants,
|
|||||||
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(true, 0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_FAST_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0));
|
SPINAND_PAGE_READ_FROM_CACHE_OP(0, 1, NULL, 0));
|
||||||
|
|
||||||
static SPINAND_OP_VARIANTS(read_cache_variants_f,
|
static SPINAND_OP_VARIANTS(read_cache_variants_f,
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_X4_OP_3A(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X4_OP_3A(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_X2_OP_3A(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X2_OP_3A(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP_3A(true, 0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_FAST_OP_3A(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP_3A(false, 0, 0, NULL, 0));
|
SPINAND_PAGE_READ_FROM_CACHE_OP_3A(0, 0, NULL, 0));
|
||||||
|
|
||||||
static SPINAND_OP_VARIANTS(read_cache_variants_1gq5,
|
static SPINAND_OP_VARIANTS(read_cache_variants_1gq5,
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 2, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 2, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(true, 0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_FAST_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0));
|
SPINAND_PAGE_READ_FROM_CACHE_OP(0, 1, NULL, 0));
|
||||||
|
|
||||||
static SPINAND_OP_VARIANTS(read_cache_variants_2gq5,
|
static SPINAND_OP_VARIANTS(read_cache_variants_2gq5,
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 4, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 4, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 2, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 2, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(true, 0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_FAST_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0));
|
SPINAND_PAGE_READ_FROM_CACHE_OP(0, 1, NULL, 0));
|
||||||
|
|
||||||
static SPINAND_OP_VARIANTS(write_cache_variants,
|
static SPINAND_OP_VARIANTS(write_cache_variants,
|
||||||
SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
|
SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
|
||||||
|
@ -28,8 +28,8 @@ struct macronix_priv {
|
|||||||
static SPINAND_OP_VARIANTS(read_cache_variants,
|
static SPINAND_OP_VARIANTS(read_cache_variants,
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(true, 0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_FAST_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0));
|
SPINAND_PAGE_READ_FROM_CACHE_OP(0, 1, NULL, 0));
|
||||||
|
|
||||||
static SPINAND_OP_VARIANTS(write_cache_variants,
|
static SPINAND_OP_VARIANTS(write_cache_variants,
|
||||||
SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
|
SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
|
||||||
|
@ -33,8 +33,8 @@ static SPINAND_OP_VARIANTS(quadio_read_cache_variants,
|
|||||||
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(true, 0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_FAST_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0));
|
SPINAND_PAGE_READ_FROM_CACHE_OP(0, 1, NULL, 0));
|
||||||
|
|
||||||
static SPINAND_OP_VARIANTS(x4_write_cache_variants,
|
static SPINAND_OP_VARIANTS(x4_write_cache_variants,
|
||||||
SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
|
SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
|
||||||
@ -48,8 +48,8 @@ static SPINAND_OP_VARIANTS(x4_update_cache_variants,
|
|||||||
static SPINAND_OP_VARIANTS(x4_read_cache_variants,
|
static SPINAND_OP_VARIANTS(x4_read_cache_variants,
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(true, 0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_FAST_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0));
|
SPINAND_PAGE_READ_FROM_CACHE_OP(0, 1, NULL, 0));
|
||||||
|
|
||||||
static SPINAND_OP_VARIANTS(x1_write_cache_variants,
|
static SPINAND_OP_VARIANTS(x1_write_cache_variants,
|
||||||
SPINAND_PROG_LOAD(true, 0, NULL, 0));
|
SPINAND_PROG_LOAD(true, 0, NULL, 0));
|
||||||
|
@ -26,8 +26,8 @@ static SPINAND_OP_VARIANTS(read_cache_variants,
|
|||||||
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(true, 0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_FAST_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0));
|
SPINAND_PAGE_READ_FROM_CACHE_OP(0, 1, NULL, 0));
|
||||||
|
|
||||||
static SPINAND_OP_VARIANTS(write_cache_variants,
|
static SPINAND_OP_VARIANTS(write_cache_variants,
|
||||||
SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
|
SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
|
||||||
|
@ -17,8 +17,8 @@
|
|||||||
static SPINAND_OP_VARIANTS(read_cache_variants,
|
static SPINAND_OP_VARIANTS(read_cache_variants,
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(true, 0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_FAST_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0));
|
SPINAND_PAGE_READ_FROM_CACHE_OP(0, 1, NULL, 0));
|
||||||
|
|
||||||
static SPINAND_OP_VARIANTS(write_cache_x4_variants,
|
static SPINAND_OP_VARIANTS(write_cache_x4_variants,
|
||||||
SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
|
SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
|
||||||
|
@ -22,8 +22,8 @@ static SPINAND_OP_VARIANTS(read_cache_variants,
|
|||||||
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(true, 0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_FAST_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0));
|
SPINAND_PAGE_READ_FROM_CACHE_OP(0, 1, NULL, 0));
|
||||||
|
|
||||||
static SPINAND_OP_VARIANTS(write_cache_variants,
|
static SPINAND_OP_VARIANTS(write_cache_variants,
|
||||||
SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
|
SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
|
||||||
|
@ -27,8 +27,8 @@ static SPINAND_OP_VARIANTS(read_cache_variants,
|
|||||||
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(true, 0, 1, NULL, 0),
|
SPINAND_PAGE_READ_FROM_CACHE_FAST_OP(0, 1, NULL, 0),
|
||||||
SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0));
|
SPINAND_PAGE_READ_FROM_CACHE_OP(0, 1, NULL, 0));
|
||||||
|
|
||||||
static SPINAND_OP_VARIANTS(write_cache_variants,
|
static SPINAND_OP_VARIANTS(write_cache_variants,
|
||||||
SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
|
SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
|
||||||
|
@ -62,14 +62,26 @@
|
|||||||
SPI_MEM_OP_NO_DUMMY, \
|
SPI_MEM_OP_NO_DUMMY, \
|
||||||
SPI_MEM_OP_NO_DATA)
|
SPI_MEM_OP_NO_DATA)
|
||||||
|
|
||||||
#define SPINAND_PAGE_READ_FROM_CACHE_OP(fast, addr, ndummy, buf, len) \
|
#define SPINAND_PAGE_READ_FROM_CACHE_OP(addr, ndummy, buf, len) \
|
||||||
SPI_MEM_OP(SPI_MEM_OP_CMD(fast ? 0x0b : 0x03, 1), \
|
SPI_MEM_OP(SPI_MEM_OP_CMD(0x03, 1), \
|
||||||
SPI_MEM_OP_ADDR(2, addr, 1), \
|
SPI_MEM_OP_ADDR(2, addr, 1), \
|
||||||
SPI_MEM_OP_DUMMY(ndummy, 1), \
|
SPI_MEM_OP_DUMMY(ndummy, 1), \
|
||||||
SPI_MEM_OP_DATA_IN(len, buf, 1))
|
SPI_MEM_OP_DATA_IN(len, buf, 1))
|
||||||
|
|
||||||
#define SPINAND_PAGE_READ_FROM_CACHE_OP_3A(fast, addr, ndummy, buf, len) \
|
#define SPINAND_PAGE_READ_FROM_CACHE_FAST_OP(addr, ndummy, buf, len) \
|
||||||
SPI_MEM_OP(SPI_MEM_OP_CMD(fast ? 0x0b : 0x03, 1), \
|
SPI_MEM_OP(SPI_MEM_OP_CMD(0x0b, 1), \
|
||||||
|
SPI_MEM_OP_ADDR(2, addr, 1), \
|
||||||
|
SPI_MEM_OP_DUMMY(ndummy, 1), \
|
||||||
|
SPI_MEM_OP_DATA_IN(len, buf, 1))
|
||||||
|
|
||||||
|
#define SPINAND_PAGE_READ_FROM_CACHE_OP_3A(addr, ndummy, buf, len) \
|
||||||
|
SPI_MEM_OP(SPI_MEM_OP_CMD(0x03, 1), \
|
||||||
|
SPI_MEM_OP_ADDR(3, addr, 1), \
|
||||||
|
SPI_MEM_OP_DUMMY(ndummy, 1), \
|
||||||
|
SPI_MEM_OP_DATA_IN(len, buf, 1))
|
||||||
|
|
||||||
|
#define SPINAND_PAGE_READ_FROM_CACHE_FAST_OP_3A(addr, ndummy, buf, len) \
|
||||||
|
SPI_MEM_OP(SPI_MEM_OP_CMD(0x0b, 1), \
|
||||||
SPI_MEM_OP_ADDR(3, addr, 1), \
|
SPI_MEM_OP_ADDR(3, addr, 1), \
|
||||||
SPI_MEM_OP_DUMMY(ndummy, 1), \
|
SPI_MEM_OP_DUMMY(ndummy, 1), \
|
||||||
SPI_MEM_OP_DATA_IN(len, buf, 1))
|
SPI_MEM_OP_DATA_IN(len, buf, 1))
|
||||||
|
Loading…
Reference in New Issue
Block a user