diff options
author | Han Xu <b45815@freescale.com> | 2015-11-23 09:45:19 -0600 |
---|---|---|
committer | Leonard Crestez <leonard.crestez@nxp.com> | 2018-08-24 12:20:42 +0300 |
commit | 31597902322ad47f07d27e5a2ff4ef3595e996e7 (patch) | |
tree | 01a1fb1f4816260e96c09653a734fb4446132d73 /drivers/mtd | |
parent | ab8637ee39f598ac0200d518ff076b5fddbf7738 (diff) |
MLK-11940: add two more commands support for qspi
add two more commands support for qspi on kernel 4.1, read EVCR and
write EVCR.
Signed-off-by: Han Xu <b45815@freescale.com>
Diffstat (limited to 'drivers/mtd')
-rw-r--r-- | drivers/mtd/spi-nor/fsl-quadspi.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/mtd/spi-nor/fsl-quadspi.c b/drivers/mtd/spi-nor/fsl-quadspi.c index 54f39e383951..d80fdb23c9cc 100644 --- a/drivers/mtd/spi-nor/fsl-quadspi.c +++ b/drivers/mtd/spi-nor/fsl-quadspi.c @@ -208,6 +208,8 @@ #define SEQID_RDCR 9 #define SEQID_EN4B 10 #define SEQID_BRWR 11 +#define SEQID_RD_EVCR 12 +#define SEQID_WD_EVCR 13 #define QUADSPI_MIN_IOMAP SZ_4M @@ -496,6 +498,13 @@ static void fsl_qspi_init_lut(struct fsl_qspi *q) qspi_writel(q, LUT0(CMD, PAD1, SPINOR_OP_BRWR), base + QUADSPI_LUT(lut_base)); + /* Read EVCR register */ + lut_base = SEQID_RD_EVCR * 4; + writel(LUT0(CMD, PAD1, SPINOR_OP_RD_EVCR), base + QUADSPI_LUT(lut_base)); + + /* Write EVCR register */ + lut_base = SEQID_WD_EVCR * 4; + writel(LUT0(CMD, PAD1, SPINOR_OP_WD_EVCR), base + QUADSPI_LUT(lut_base)); fsl_qspi_lock_lut(q); } @@ -532,6 +541,10 @@ static int fsl_qspi_get_seqid(struct fsl_qspi *q, u8 cmd) return SEQID_EN4B; case SPINOR_OP_BRWR: return SEQID_BRWR; + case SPINOR_OP_RD_EVCR: + return SEQID_RD_EVCR; + case SPINOR_OP_WD_EVCR: + return SEQID_WD_EVCR; default: if (cmd == q->nor[0].erase_opcode) return SEQID_SE; |