From: Boris Brezillon <boris.brezillon@bootlin.com>
To: Yogesh Narayan Gaur <yogeshnarayan.gaur@nxp.com>,
"marek.vasut@gmail.com" <marek.vasut@gmail.com>
Cc: "dwmw2@infradead.org" <dwmw2@infradead.org>,
"broonie@kernel.org" <broonie@kernel.org>,
"miquel.raynal@bootlin.com" <miquel.raynal@bootlin.com>,
"linux-spi@vger.kernel.org" <linux-spi@vger.kernel.org>,
"richard@nod.at" <richard@nod.at>,
Frieder Schrempf <frieder.schrempf@exceet.de>,
Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>,
"linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>,
David Wolfe <david.wolfe@nxp.com>,
Fabio Estevam <fabio.estevam@nxp.com>, Han Xu <han.xu@nxp.com>,
"computersforpeace@gmail.com" <computersforpeace@gmail.com>,
"shawnguo@kernel.org" <shawnguo@kernel.org>
Subject: Re: Questions about the Freescale/NXP QuadSPI controller
Date: Thu, 6 Sep 2018 13:36:00 +0200 [thread overview]
Message-ID: <20180906133600.404a22f4@bbrezillon> (raw)
In-Reply-To: <VI1PR04MB1038E34911BD570AFC9A45F699010@VI1PR04MB1038.eurprd04.prod.outlook.com>
On Thu, 6 Sep 2018 11:11:57 +0000
Yogesh Narayan Gaur <yogeshnarayan.gaur@nxp.com> wrote:
> Hi Boris,
>
> > -----Original Message-----
> > From: Boris Brezillon [mailto:boris.brezillon@bootlin.com]
> > Sent: Saturday, August 4, 2018 7:07 PM
> > To: Han Xu <han.xu@nxp.com>
> > Cc: Frieder Schrempf <frieder.schrempf@exceet.de>; David Wolfe
> > <david.wolfe@nxp.com>; Fabio Estevam <fabio.estevam@nxp.com>;
> > Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>; Yogesh Narayan Gaur
> > <yogeshnarayan.gaur@nxp.com>; shawnguo@kernel.org; linux-
> > mtd@lists.infradead.org; linux-spi@vger.kernel.org;
> > dwmw2@infradead.org; computersforpeace@gmail.com;
> > marek.vasut@gmail.com; richard@nod.at; miquel.raynal@bootlin.com;
> > broonie@kernel.org Subject: Re: Questions about the Freescale/NXP
> > QuadSPI controller
> >
> > Hi Han,
> >
> > On Thu, 2 Aug 2018 21:58:48 +0000
> > Han Xu <han.xu@nxp.com> wrote:
> >
> > > > -----Original Message-----
> > > > From: Frieder Schrempf [mailto:frieder.schrempf@exceet.de]
> > > > Sent: Thursday, August 2, 2018 8:09 AM
> > > > To: David Wolfe <david.wolfe@nxp.com>; Fabio Estevam
> > > > <fabio.estevam@nxp.com>; Prabhakar Kushwaha
> > > > <prabhakar.kushwaha@nxp.com>; Yogesh Narayan Gaur
> > > > <yogeshnarayan.gaur@nxp.com>; Han Xu <han.xu@nxp.com>;
> > > > shawnguo@kernel.org
> > > > Cc: linux-mtd@lists.infradead.org; boris.brezillon@bootlin.com;
> > > > linux- spi@vger.kernel.org; dwmw2@infradead.org;
> > > > computersforpeace@gmail.com; marek.vasut@gmail.com;
> > > > richard@nod.at; miquel.raynal@bootlin.com; broonie@kernel.org
> > > > Subject: Re: Questions about the Freescale/NXP QuadSPI
> > > > controller
> > > >
> > > > Ping.
> > > >
> > > > I'm not sure if my message below went out to you at all. At
> > > > least I can't find it in the ML archive.
> > > >
> > > > I still hope someone can help with the questions below.
> > > >
> > > > Meanwhile for the second point I did some tests myself with one
> > > > chip on each of the two buses and it worked fine with my latest
> > > > v2 patches. So I'm not sure at all why Yogesh has problems with
> > > > his setup (two chips on the first bus).
> > >
> > > Tried to test the v2 patch set on i.MX6SX SDB board but get the
> > > memory map
> > failure.
> > >
> > > [ 1.298633] fsl-quadspi 21e4000.qspi: ioremap failed for
> > > resource [mem
> > 0x70000000-0x7fffffff]
> > > [ 1.307330] fsl-quadspi 21e4000.qspi: Freescale QuadSPI probe
> > > failed [ 1.313922] fsl-quadspi: probe of 21e4000.qspi failed
> > > with error -12
> > >
> > > This is the reason why dynamic ioremap added in previous driver,
> > > please refer to
> > >
> > > https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpat
> > >
> > chwork.ozlabs.org%2Fpatch%2F503655%2F&data=02%7C01%7Cyogeshnar
> > ayan
> > > .gaur%40nxp.com%7Caed89ff1b0ac4936acd408d5fa0f7303%7C686ea1d3bc2
> > b4c6fa
> > >
> > 92cd99c5c301635%7C0%7C0%7C636689866643724038&sdata=lZnBc0m%
> > 2BOp8yY
> > > JBFcNBEa2HSoNMhmJjeM9cIoGeVs0E%3D&reserved=0
> >
> > We can reduce the size of the iomap to 2k * 4, since this is all we
> > use currently. Can you try to change the size of the ioremap call
> > to 16k and tell us if it works.
> >
> > Unrelated to this issue, we still have 2 questions left unanswered:
> >
> > 1/ is there an easy way to invalidate AHB buffers? I mean, not
> > something that implies a full reset + several milliseconds of
> > delay after the reset. Right now we trick the caching logic by
> > mapping a portion that is twice the size of the buffer and
> > switching from one sub-portion to this other to trigger a real read
> > on each read access, but that's hack-ish, and I'd be surprised if HW
> > engineers hadn't planned for this "manual AHB buffer flush" case.
> >
>
> I had a discussion with the HW IP owner, they said that IP command
> and AHB command are two separate sets of accessing method to flash.
> Memory coherency between IP and AHB command can't be maintained by
> the hardware. So after every IP data write command (write, erase,
> write reg) AHB RX buffer needs to be flushed.
>
> Software Reset is the safest way to achieve this.
> Adding of the delay in several millisecond after setting of the Reset
> Bits is too conservative, can be tried with the reduced value.
Do you know exactly how many cycles/nanoseconds we should wait? Is
there a status reg that says when the block is ready to be used again?
>
> > 2/ if we use DMA, do you know what happens when the TX FIFO runs out
> > of data while the TX request is not finished yet. In PIO mode, it
> > seems the engine sends garbage on the bus when that happens, and
> > we definitely don't want that.
>
> For this query, they have said TX FIFO is the max limit, if data send
> more than TX FIFO size then it would results in un-defined behavior
> and there would be data corruption.
Okay.
Marek, I guess we have a good reason to accept patch [1] now.
[1]http://patchwork.ozlabs.org/patch/928677/
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
next prev parent reply other threads:[~2018-09-06 11:36 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-05 11:14 [PATCH v2 00/12] Port the FSL QSPI driver to the SPI framework Frieder Schrempf
2018-07-05 11:14 ` [PATCH v2 01/12] spi: spi-mem: Extend the SPI mem interface to set a custom memory name Frieder Schrempf
2018-07-05 12:39 ` Boris Brezillon
2018-07-05 12:50 ` Frieder Schrempf
2018-07-05 11:14 ` [PATCH v2 02/12] mtd: m25p80: Call spi_mem_get_name() to let controller set a custom name Frieder Schrempf
2018-07-05 12:56 ` Boris Brezillon
2018-07-05 13:06 ` Frieder Schrempf
2018-07-05 11:14 ` [PATCH v2 03/12] spi: Add a driver for the Freescale/NXP QuadSPI controller Frieder Schrempf
[not found] ` <7e95c72c-2cd1-f138-a687-6cca362c95b7@exceet.de>
2018-08-02 13:09 ` Questions about " Frieder Schrempf
2018-08-02 21:58 ` Han Xu
2018-08-04 13:37 ` Boris Brezillon
2018-09-03 9:02 ` Frieder Schrempf
2018-09-12 17:04 ` Han Xu
2018-09-12 18:40 ` Frieder Schrempf
2018-09-12 21:04 ` Han Xu
2018-09-13 7:00 ` Frieder Schrempf
2018-09-18 22:42 ` Lukasz Majewski
2018-09-19 6:49 ` Frieder Schrempf
2018-09-19 11:02 ` Lukasz Majewski
2018-09-20 1:17 ` Huang Shijie
2018-09-20 15:00 ` Lukasz Majewski
2018-09-20 15:41 ` Frieder Schrempf
2018-09-20 20:37 ` Lukasz Majewski
2018-09-20 22:13 ` Lukasz Majewski
2018-09-25 6:49 ` Frieder Schrempf
2018-09-25 8:53 ` Lukasz Majewski
2018-09-06 11:11 ` Yogesh Narayan Gaur
2018-09-06 11:36 ` Boris Brezillon [this message]
2018-09-06 12:22 ` Yogesh Narayan Gaur
2018-07-05 11:15 ` [PATCH v2 04/12] dt-bindings: spi: Move the bindings for the FSL QSPI driver Frieder Schrempf
2018-07-11 15:54 ` Rob Herring
2018-07-12 8:11 ` Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 05/12] dt-bindings: spi: Adjust " Frieder Schrempf
2018-07-11 16:05 ` Rob Herring
2018-07-12 8:13 ` Frieder Schrempf
2018-07-12 15:20 ` Rob Herring
2018-07-16 7:04 ` Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 06/12] ARM: dts: Reflect change of FSL QSPI driver and remove unused properties Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 07/12] arm64: " Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 08/12] ARM: defconfig: Use the new FSL QSPI driver under the SPI framework Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 09/12] mtd: fsl-quadspi: Remove the driver as it was replaced by spi-fsl-qspi.c Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 10/12] ARM: dts: ls1021a: Remove fsl,qspi-has-second-chip as it is not used Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 11/12] ARM64: dts: ls1046a: " Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 12/12] MAINTAINERS: Move the Freescale QSPI driver to the SPI framework Frieder Schrempf
2018-07-06 5:08 ` [PATCH v2 00/12] Port the FSL " Yogesh Narayan Gaur
2018-10-31 13:40 ` Boris Brezillon
2018-10-31 13:54 ` Schrempf Frieder
2018-10-31 14:31 ` Boris Brezillon
2018-10-31 16:03 ` Yogesh Narayan Gaur
2018-10-31 16:09 ` Schrempf Frieder
2018-11-08 8:15 ` Schrempf Frieder
2018-11-08 8:19 ` Boris Brezillon
2018-11-08 8:35 ` Schrempf Frieder
2018-11-08 8:57 ` Schrempf Frieder
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180906133600.404a22f4@bbrezillon \
--to=boris.brezillon@bootlin.com \
--cc=broonie@kernel.org \
--cc=computersforpeace@gmail.com \
--cc=david.wolfe@nxp.com \
--cc=dwmw2@infradead.org \
--cc=fabio.estevam@nxp.com \
--cc=frieder.schrempf@exceet.de \
--cc=han.xu@nxp.com \
--cc=linux-mtd@lists.infradead.org \
--cc=linux-spi@vger.kernel.org \
--cc=marek.vasut@gmail.com \
--cc=miquel.raynal@bootlin.com \
--cc=prabhakar.kushwaha@nxp.com \
--cc=richard@nod.at \
--cc=shawnguo@kernel.org \
--cc=yogeshnarayan.gaur@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).