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:[email protected]]
Sent: Friday, June 15, 2018 6:20 PM
To: Yogesh Narayan Gaur <[email protected]>
Cc: [email protected]; Prabhakar Kushwaha <[email protected]>; Han Xu
<[email protected]>; [email protected]; [email protected];
[email protected]; Frieder Schrempf <[email protected]>;
[email protected]; [email protected]; [email protected];
Fabio Estevam <[email protected]>; David Wolfe <[email protected]>;
[email protected]; [email protected]
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 <[email protected]> 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)?