Messages in this thread | | | From | Yogesh Narayan Gaur <> | Subject | RE: [PATCH 03/11] spi: Add a driver for the Freescale/NXP QuadSPI controller | Date | Fri, 15 Jun 2018 13:42:12 +0000 |
| |
Hi Boris,
I am still debugging the issue. With some analysis, able to check that proper values are not being written for QUADSPI_SFA2AD/ QUADSPI_SFB1AD/ QUADSPI_SFB2AD register.
In current code, value of map_addr are being assigned to these register. map_addr = q->memmap_phy + 2 * q->devtype_data->ahb_buf_size;
qspi_writel(q, map_addr, q->iobase + QUADSPI_SFA1AD + (i * 4));
But instead of "q->devtype_data->ahb_buf_size" it should be flash size. For my case flash size is 0x4000000 and with this hard coded value I am able to perform Write and Erase operation. One more change, I have to do is adding the flash_size when writing the base_address in SFAR register for case when "mem->spi->chip_select == 1" qspi_writel(q, q->memmap_phy + 0x4000000, base + QUADSPI_SFAR);
Thus, there should be mechanism or the entry in structure where we can have the information of the size of the connected slave device.
With both of above hardcoded changes, I am able to perform Write and Erase operation on my second flash device but still facing issue in Read operation, debugging in progress for that.
-- Regards Yogesh Gaur
-----Original Message----- From: Boris Brezillon [mailto:boris.brezillon@bootlin.com] Sent: Friday, June 15, 2018 6:20 PM To: Yogesh Narayan Gaur <yogeshnarayan.gaur@nxp.com> Cc: richard@nod.at; Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>; Han Xu <han.xu@nxp.com>; linux-kernel@vger.kernel.org; linux-spi@vger.kernel.org; marek.vasut@gmail.com; Frieder Schrempf <frieder.schrempf@exceet.de>; broonie@kernel.org; linux-mtd@lists.infradead.org; miquel.raynal@bootlin.com; Fabio Estevam <fabio.estevam@nxp.com>; David Wolfe <david.wolfe@nxp.com>; computersforpeace@gmail.com; dwmw2@infradead.org Subject: Re: [PATCH 03/11] spi: Add a driver for the Freescale/NXP QuadSPI controller
On Tue, 12 Jun 2018 08:51:25 +0000 Yogesh Narayan Gaur <yogeshnarayan.gaur@nxp.com> wrote:
> > I am working on lsxxx platform. With further debugging, I found that my erase operation for second flash device is not working properly. > Need to have debugging for this in Frieder Patch.
Did you find the problem? Could it be a wrong "reg = <>" definition in your DT (Frieder changed the CS numbering scheme in the new driver)?
| |