[PATCH v9 2/2] mtd: fsl-quadspi: fix init AHB read in fsl_qspi_nor_setup()
Yogesh Gaur
yogeshnarayan.gaur at nxp.com
Mon Apr 2 22:31:15 PDT 2018
Move AHB read initialize in fsl_qspi_nor_setup().
In file spi-nor.c, func spi_nor_scan() calls nor->read() thru
spi_nor_read_sfdp() API.
Presently, fsl_qspi_init_ahb_read() called from fsl_qspi_nor_setup_last().
Func fsl_qspi_probe() calls spi_nor_scan() first and then calls
fsl_qspi_nor_setup_last().
When nor->read() being called from inside spi_nor_read_sfdp(), QSPI cntlr
AHB mode initialization is not yet done results in data read error.
Initialize AHB read inside fsl_qspi_nor_setup().
Signed-off-by: Yogesh Gaur <yogeshnarayan.gaur at nxp.com>
---
Changes for v9:
- None
Changes for v8:
- None
Changes for v7:
- None
Changes for v6:
- None
Changes for v5:
- None
Changes for v4:
- None
Changes for v3:
- None
Changes for v2:
- None
drivers/mtd/spi-nor/fsl-quadspi.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/mtd/spi-nor/fsl-quadspi.c b/drivers/mtd/spi-nor/fsl-quadspi.c
index 366e873..8127a4a3 100644
--- a/drivers/mtd/spi-nor/fsl-quadspi.c
+++ b/drivers/mtd/spi-nor/fsl-quadspi.c
@@ -796,6 +796,9 @@ static int fsl_qspi_nor_setup(struct fsl_qspi *q)
/* enable the interrupt */
qspi_writel(q, QUADSPI_RSER_TFIE, q->iobase + QUADSPI_RSER);
+ /* Init for AHB read */
+ fsl_qspi_init_ahb_read(q);
+
return 0;
}
@@ -818,9 +821,6 @@ static int fsl_qspi_nor_setup_last(struct fsl_qspi *q)
if (ret)
return ret;
- /* Init for AHB read */
- fsl_qspi_init_ahb_read(q);
-
/* Prepare LUT for AHB read - required for read from devmem interface */
fsl_qspi_prep_ahb_read(q);
--
1.9.1
More information about the linux-mtd
mailing list