[RFC 1/3] mtd: spi-nor: Add support of read/write any reg commands
Prabhakar Kushwaha
prabhakar.kushwaha at nxp.com
Fri Dec 29 03:53:50 PST 2017
Spansion flash provide support of Read Any Register and Write Any
Register commands. These commands provides a way to read or write
all device registers - non-volatile and volatile.
These commands require special signature and handing from underlying
flash controller.
Signed-off-by: Prabhakar Kushwaha <prabhakar.kushwaha at nxp.com>
---
include/linux/mtd/spi-nor.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/include/linux/mtd/spi-nor.h b/include/linux/mtd/spi-nor.h
index 1f0a7fc..bd196e3 100644
--- a/include/linux/mtd/spi-nor.h
+++ b/include/linux/mtd/spi-nor.h
@@ -254,6 +254,8 @@ enum spi_nor_option_flags {
* read/write/erase/lock/unlock operations
* @read_reg: [DRIVER-SPECIFIC] read out the register
* @write_reg: [DRIVER-SPECIFIC] write data to the register
+ * @read_anyreg: [DRIVER-SPECIFIC] read out from any register
+ * @write_anyreg [DRIVER-SPECIFIC] write data to any register
* @read: [DRIVER-SPECIFIC] read data from the SPI NOR
* @write: [DRIVER-SPECIFIC] write data to the SPI NOR
* @erase: [DRIVER-SPECIFIC] erase a sector of the SPI NOR
@@ -286,6 +288,10 @@ struct spi_nor {
void (*unprepare)(struct spi_nor *nor, enum spi_nor_ops ops);
int (*read_reg)(struct spi_nor *nor, u8 opcode, u8 *buf, int len);
int (*write_reg)(struct spi_nor *nor, u8 opcode, u8 *buf, int len);
+ int (*read_anyreg)(struct spi_nor *nor, u8 opcode, u32 offset,
+ u8 *buf, int len);
+ int (*write_anyreg)(struct spi_nor *nor, u8 opcode, u32 offset,
+ u8 *buf, int len);
ssize_t (*read)(struct spi_nor *nor, loff_t from,
size_t len, u_char *read_buf);
--
2.7.4
More information about the linux-mtd
mailing list