From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ve1eur01on0065.outbound.protection.outlook.com ([104.47.1.65] helo=EUR01-VE1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1ezGk9-0004or-Ph for linux-mtd@lists.infradead.org; Fri, 23 Mar 2018 07:04:11 +0000 From: Yogesh Gaur To: linux-mtd@lists.infradead.org Cc: boris.brezillon@free-electrons.com, cyrille.pitchen@wedev4u.fr, computersforpeace@gmail.com, han.xu@nxp.com, festevam@gmail.com, marek.vasut@gmail.com, frieder.schrempf@exceet.de, prabhakar.kushwaha@nxp.com, suresh.gupta@nxp.com, Yogesh Gaur Subject: [PATCH v8 2/2] mtd: fsl-quadspi: fix init AHB read in fsl_qspi_nor_setup() Date: Fri, 23 Mar 2018 12:32:24 +0530 Message-Id: <1521788544-17950-3-git-send-email-yogeshnarayan.gaur@nxp.com> In-Reply-To: <1521788544-17950-1-git-send-email-yogeshnarayan.gaur@nxp.com> References: <1521788544-17950-1-git-send-email-yogeshnarayan.gaur@nxp.com> MIME-Version: 1.0 Content-Type: text/plain List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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 --- 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 373db25..d8eb8c2 100644 --- a/drivers/mtd/spi-nor/fsl-quadspi.c +++ b/drivers/mtd/spi-nor/fsl-quadspi.c @@ -797,6 +797,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; } @@ -819,9 +822,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