[PATCH v3 8/8] mtd: spi-nor: fsl-quadspi: fix unsupported cmd when run flash_erase
Frank.Li at freescale.com
Frank.Li at freescale.com
Fri Jul 24 11:06:28 PDT 2015
From: Frank Li <Frank.Li at freescale.com>
fsl-quadspi 21e0000.qspi: Unsupported cmd 0x20
when config CONFIG_MTD_SPI_NOR_USE_4K_SECTORS enable,
erase will use SPINOR_OP_BE_4K, which was not supported by fsl-quadspi
driver
Signed-off-by: Frank Li <Frank.Li at freescale.com>
Acked-by: Allen Xu <b45815 at freescale.com>
---
drivers/mtd/spi-nor/fsl-quadspi.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/mtd/spi-nor/fsl-quadspi.c b/drivers/mtd/spi-nor/fsl-quadspi.c
index 0f3f22d..e50da5c 100644
--- a/drivers/mtd/spi-nor/fsl-quadspi.c
+++ b/drivers/mtd/spi-nor/fsl-quadspi.c
@@ -396,11 +396,11 @@ static void fsl_qspi_init_lut(struct fsl_qspi *q)
lut_base = SEQID_SE * 4;
if (q->nor_size <= SZ_16M) {
- cmd = SPINOR_OP_SE;
+ cmd = q->nor[0].erase_opcode;
addrlen = ADDR24BIT;
} else {
/* use the 4-byte address */
- cmd = SPINOR_OP_SE;
+ cmd = q->nor[0].erase_opcode;
addrlen = ADDR32BIT;
}
@@ -471,6 +471,8 @@ static int fsl_qspi_get_seqid(struct fsl_qspi *q, u8 cmd)
case SPINOR_OP_BRWR:
return SEQID_BRWR;
default:
+ if (cmd == q->nor[0].erase_opcode)
+ return SEQID_SE;
dev_err(q->dev, "Unsupported cmd 0x%.2x\n", cmd);
break;
}
--
1.9.1
More information about the linux-mtd
mailing list