From: Lukasz Majewski <lukma@denx.de>
To: Frieder Schrempf <frieder.schrempf@exceet.de>
Cc: Han Xu <han.xu@nxp.com>,
Yogesh Narayan Gaur <yogeshnarayan.gaur@nxp.com>,
"marek.vasut@gmail.com" <marek.vasut@gmail.com>,
"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>,
Boris Brezillon <boris.brezillon@bootlin.com>,
Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>,
"linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>,
"richard@nod.at" <richard@nod.at>,
Fabio Estevam <fabio.estevam@nxp.com>,
David Wolfe <david.wolfe@nxp.com>,
"computersforpeace@gmail.com" <computersforpeace@gmail.com>,
"shawnguo@kernel.org" <shawnguo@kernel.org>
Subject: Re: Questions about the Freescale/NXP QuadSPI controller
Date: Wed, 19 Sep 2018 00:42:47 +0200 [thread overview]
Message-ID: <20180919004247.60c6099a@jawa> (raw)
In-Reply-To: <09d39759-390a-bca3-caeb-2ee8ddb29443@exceet.de>
[-- Attachment #1: Type: text/plain, Size: 12231 bytes --]
Dear All,
Maybe I do jump a bit off topic here, but...
I've read through the following thread:
https://patchwork.ozlabs.org/patch/939885/
And it mentions some issues with reading AHB content (buffers) in
fsl-quadspi.c driver discovered when new QuadSPI driver was developed.
I do have a setup with qspi0 having two SPI memories connected (2x16
MiB), and I'm wondering if anybody has some more info regarding:
(What's more is that there is a bug in
* the "IP Command Read" in the Vybrid.) found here:
https://elixir.bootlin.com/linux/v4.19-rc4/source/drivers/mtd/spi-nor/fsl-quadspi.c#L671
I've googled for some errata or known issues for vybryd's QSPI IP block
(vf610) but without luck so far ...
Thanks in advance,
> Hi Han,
>
> On 12.09.2018 23:04, Han Xu wrote:
> >
> >
> >> -----Original Message-----
> >> From: Frieder Schrempf [mailto:frieder.schrempf@exceet.de]
> >> Sent: Wednesday, September 12, 2018 1:41 PM
> >> To: Han Xu <han.xu@nxp.com>
> >> Cc: Boris Brezillon <boris.brezillon@bootlin.com>; 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 12.09.2018 19:04, Han Xu wrote:
> >>>
> >>>
> >>>> -----Original Message-----
> >>>> From: Frieder Schrempf [mailto:frieder.schrempf@exceet.de]
> >>>> Sent: Monday, September 3, 2018 4:02 AM
> >>>> To: Han Xu <han.xu@nxp.com>
> >>>> Cc: Boris Brezillon <boris.brezillon@bootlin.com>; 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 04.08.2018 15:37, Boris Brezillon wrote:
> >>>>> 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://smex12-5-en-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2femea01.safelinks.protection.outlook.com%2f%3furl%3dhttps%253A%252F%252Fsm&umid=aac77072-ee97-4b8a-b8b9-55765e276aec&auth=78a0452d0eda3018cc3487ba1bec995089e109a2-cefb4275e4aea35bf0c475f6bd6da9e9a8c877a0
> >>>> ex12-5-en-
> >> ctp.trendmicro.com%3A443%2Fwis%2Fclicktime%2Fv1%2Fquery%3Fu
> >>>>
> >> rl%3Dhttps%253a%252f%252femea01.safelinks.protection.outlook.com%252
> >> f
> >>>> %253furl%253dhttps%25253A%25252F%25252Fpa%26umid%3Dd6cc1014-
> >> 1848-42fb
> >>>> -92fd-
> >> 9626d45c8050%26auth%3D541e45255b6517100d80c2b1b80b6933b203c492-
> >>>>
> >> 5aa8e1977a9db94300a9f61f5446e7a21b175f56&data=02%7C01%7Chan.x
> >> u%40
> >>>>
> >> nxp.com%7C9d43e9b29a82419a36c408d618df3dc3%7C686ea1d3bc2b4c6fa92c
> >> d99c
> >>>>
> >> 5c301635%7C0%7C0%7C636723744426896223&sdata=Y32I9H9adPn%2Bn
> >> lcICuV
> >>>> M8Uoozsig%2BM3F0rNAhkIF5ZE%3D&reserved=0
> >>>>>>
> >>>>
> >> tchwork.ozlabs.org%2Fpatch%2F503655%2F&data=02%7C01%7Chan.xu
> >>>> %40nx
> >>>>>>
> >>>>
> >> p.com%7C9f45a8b666d3478f065408d6117bf524%7C686ea1d3bc2b4c6fa92cd9
> >>>> 9c5c
> >>>>>>
> >>>>
> >> 301635%7C0%7C0%7C636715621426190473&sdata=XWPfWe%2Fu2ePW
> >>>> mNPe179D0
> >>>>>> vjTp6eLp0%2FJRF2vRayDwug%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.
> >>>>
> >>>> Were you able to test with the reduced iomap size?
> >>>> It would be great to know if it works on your board.
> >>>>
> >>>> Thanks,
> >>>> Frieder
> >>>
> >>> Test the code on i.MX6SX sabreauto board with two micron n25q256a
> >>> chips
> >> on two CS.
> >>> First issue found is __div0 kernel dump with these code
> >>> /* Max 64 dummy clock cycles supported */ if (op->dummy.nbytes *
> >>> 8 / op->dummy.buswidth > 64) dummy.buswidth was not set during
> >>> read id.
> >>
> >> First, thank you for coming back to this and doing the test.
> >> I'm currently not sure about the reason for this, but I guess
> >> Boris will figure it out easily ;)
>
> Ok, on a closer look it is obvious that the reason is this commit
> [1]. My last test was before this change, when dummy.buswidth was
> still set to 1 even if dummy.n_bytes is 0.
> Now both are 0 and I need to handle this in the FSL QSPI driver.
>
> >>
> >>>
> >>> Second issue is the second part failed to be probed, tried both
> >>> buswidth 4
> >> and buswidth 1.
> >>>
> >>> [ 1.364979] m25p80 spi5.0: found n25q256a, expected m25p80
> >>> [ 1.370986] m25p80 spi5.0: n25q256a (32768 Kbytes)
> >>> [ 1.381020] m25p80 spi5.1: unrecognized JEDEC id bytes: ff,
> >>> ff, ff
> >>>
> >>> These are the DT settings:
> >>> &qspi1 {
> >>> pinctrl-names = "default";
> >>> pinctrl-0 = <&pinctrl_qspi1_1>;
> >>> status = "okay";
> >>>
> >>> flash0: n25q256a@0 {
> >>> ¦ #address-cells = <1>;
> >>> ¦ #size-cells = <1>;
> >>> ¦ compatible = "micron,m25p80";
> >>> ¦ spi-max-frequency = <29000000>;
> >>> spi-rx-bus-width = <4>;
> >>> spi-tx-bus-width = <4>;
> >>> ¦ reg = <0>;
> >>> };
> >>>
> >>> flash1: n25q256a@1 {
> >>> ¦ #address-cells = <1>;
> >>> ¦ #size-cells = <1>;
> >>> ¦ compatible = "micron,m25p80";
> >>> ¦ spi-max-frequency = <29000000>;
> >>> spi-rx-bus-width = <4>;
> >>> spi-tx-bus-width = <4>;
> >>> ¦ reg = <1>;
> >>> };
> >>> };
> >>
> >> First, I think you should add "jedec,spi-nor" to your compatible
> >> properties.
> >>
> >> Second, are you sure, that the two chips are both on QSPIA using
> >> the two chip selects?
> >> I have no schematics of the board, but if I look at the devicetree
> >> in the linux- imx kernel [1] it seems to me that one chip is on
> >> QSPIA CS0 and the other on QSPIB CS0.
> >> If this is the case, then you have to set reg = <2> for the second
> >> chip.
> >
> > Yes, you are right, the second chip connects to QSPIB CS0, with the
> > DT change, both of them work fine with __div0 issue workaround.
>
> Ok, great. Thanks for your test.
>
> As Yogesh reported problems with his LS1088ARDB board, where both
> chips are connected to QSPIA, I was hoping someone could confirm this
> by testing on a similar setup.
>
> So if you have a board around, that uses this setup, it would be
> great if you can try on that. If not we have to find other ways to
> investigate this.
>
> Thanks,
> Frieder
>
> [1]
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=9882b5375df532acb2c2399a90d882461112e612
>
> >
> >>
> >> Thanks,
> >> Frieder
> >>
> >> [1]
> >> https://smex12-5-en-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2femea01.safelinks.protection.outlook.com%2f%3furl%3dhttp%253A%252F%252Fgit.f&umid=aac77072-ee97-4b8a-b8b9-55765e276aec&auth=78a0452d0eda3018cc3487ba1bec995089e109a2-54ce7888db3c2cb56ff686a840c4d0fa657a3cdb
> >> reescale.com%2Fgit%2Fcgit.cgi%2Fimx%2Flinux-
> >> imx.git%2Ftree%2Farch%2Farm%2Fboot%2Fdts%2Fimx6sx-
> >> sabreauto.dts%3Fh%3Dimx_4.9.11_1.0.0_ga%23n771&data=02%7C01%
> >> 7Chan.xu%40nxp.com%7C9d43e9b29a82419a36c408d618df3dc3%7C686ea1d
> >> 3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C636723744426896223&sdata
> >> =038DdgMLjO23Io3CTHoSVrJL2Ho%2BgxyHlx9%2BLMrLWkQ%3D&reser
> >> ved=0
> >>
> >>>>>
> >>>>> 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.
> >>>>>
> >>>>> 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.
> >>>>>
> >>>>> While #1 is not blocking us, #2 is if we don't have those
> >>>>> patches [1][2] applied, and Marek wanted to be sure there was
> >>>>> no other ways to solve the "TX FIFO starvation" issue before
> >>>>> considering these changes. So that'd be great if someone from
> >>>>> NXP could have a look/ask around and give us answers to those 2
> >>>>> questions.
> >>>>>
> >>>>> Thanks,
> >>>>>
> >>>>> Boris
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Lukasz Majewski <lukma@denx.de>
To: Frieder Schrempf <frieder.schrempf@exceet.de>
Cc: David Wolfe <david.wolfe@nxp.com>,
Yogesh Narayan Gaur <yogeshnarayan.gaur@nxp.com>,
Boris Brezillon <boris.brezillon@bootlin.com>,
"richard@nod.at" <richard@nod.at>,
Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>,
"shawnguo@kernel.org" <shawnguo@kernel.org>,
"linux-spi@vger.kernel.org" <linux-spi@vger.kernel.org>,
"marek.vasut@gmail.com" <marek.vasut@gmail.com>,
"broonie@kernel.org" <broonie@kernel.org>,
"linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>,
"miquel.raynal@bootlin.com" <miquel.raynal@bootlin.com>,
Fabio Estevam <fabio.estevam@nxp.com>, Han Xu <han.xu@nxp.com>,
"computersforpeace@gmail.com" <computersforpeace@gmail.com>,
"dwmw2@infradead.org" <dwmw2@infradead.org>
Subject: Re: Questions about the Freescale/NXP QuadSPI controller
Date: Wed, 19 Sep 2018 00:42:47 +0200 [thread overview]
Message-ID: <20180919004247.60c6099a@jawa> (raw)
In-Reply-To: <09d39759-390a-bca3-caeb-2ee8ddb29443@exceet.de>
[-- Attachment #1.1: Type: text/plain, Size: 12231 bytes --]
Dear All,
Maybe I do jump a bit off topic here, but...
I've read through the following thread:
https://patchwork.ozlabs.org/patch/939885/
And it mentions some issues with reading AHB content (buffers) in
fsl-quadspi.c driver discovered when new QuadSPI driver was developed.
I do have a setup with qspi0 having two SPI memories connected (2x16
MiB), and I'm wondering if anybody has some more info regarding:
(What's more is that there is a bug in
* the "IP Command Read" in the Vybrid.) found here:
https://elixir.bootlin.com/linux/v4.19-rc4/source/drivers/mtd/spi-nor/fsl-quadspi.c#L671
I've googled for some errata or known issues for vybryd's QSPI IP block
(vf610) but without luck so far ...
Thanks in advance,
> Hi Han,
>
> On 12.09.2018 23:04, Han Xu wrote:
> >
> >
> >> -----Original Message-----
> >> From: Frieder Schrempf [mailto:frieder.schrempf@exceet.de]
> >> Sent: Wednesday, September 12, 2018 1:41 PM
> >> To: Han Xu <han.xu@nxp.com>
> >> Cc: Boris Brezillon <boris.brezillon@bootlin.com>; 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 12.09.2018 19:04, Han Xu wrote:
> >>>
> >>>
> >>>> -----Original Message-----
> >>>> From: Frieder Schrempf [mailto:frieder.schrempf@exceet.de]
> >>>> Sent: Monday, September 3, 2018 4:02 AM
> >>>> To: Han Xu <han.xu@nxp.com>
> >>>> Cc: Boris Brezillon <boris.brezillon@bootlin.com>; 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 04.08.2018 15:37, Boris Brezillon wrote:
> >>>>> 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://smex12-5-en-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2femea01.safelinks.protection.outlook.com%2f%3furl%3dhttps%253A%252F%252Fsm&umid=aac77072-ee97-4b8a-b8b9-55765e276aec&auth=78a0452d0eda3018cc3487ba1bec995089e109a2-cefb4275e4aea35bf0c475f6bd6da9e9a8c877a0
> >>>> ex12-5-en-
> >> ctp.trendmicro.com%3A443%2Fwis%2Fclicktime%2Fv1%2Fquery%3Fu
> >>>>
> >> rl%3Dhttps%253a%252f%252femea01.safelinks.protection.outlook.com%252
> >> f
> >>>> %253furl%253dhttps%25253A%25252F%25252Fpa%26umid%3Dd6cc1014-
> >> 1848-42fb
> >>>> -92fd-
> >> 9626d45c8050%26auth%3D541e45255b6517100d80c2b1b80b6933b203c492-
> >>>>
> >> 5aa8e1977a9db94300a9f61f5446e7a21b175f56&data=02%7C01%7Chan.x
> >> u%40
> >>>>
> >> nxp.com%7C9d43e9b29a82419a36c408d618df3dc3%7C686ea1d3bc2b4c6fa92c
> >> d99c
> >>>>
> >> 5c301635%7C0%7C0%7C636723744426896223&sdata=Y32I9H9adPn%2Bn
> >> lcICuV
> >>>> M8Uoozsig%2BM3F0rNAhkIF5ZE%3D&reserved=0
> >>>>>>
> >>>>
> >> tchwork.ozlabs.org%2Fpatch%2F503655%2F&data=02%7C01%7Chan.xu
> >>>> %40nx
> >>>>>>
> >>>>
> >> p.com%7C9f45a8b666d3478f065408d6117bf524%7C686ea1d3bc2b4c6fa92cd9
> >>>> 9c5c
> >>>>>>
> >>>>
> >> 301635%7C0%7C0%7C636715621426190473&sdata=XWPfWe%2Fu2ePW
> >>>> mNPe179D0
> >>>>>> vjTp6eLp0%2FJRF2vRayDwug%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.
> >>>>
> >>>> Were you able to test with the reduced iomap size?
> >>>> It would be great to know if it works on your board.
> >>>>
> >>>> Thanks,
> >>>> Frieder
> >>>
> >>> Test the code on i.MX6SX sabreauto board with two micron n25q256a
> >>> chips
> >> on two CS.
> >>> First issue found is __div0 kernel dump with these code
> >>> /* Max 64 dummy clock cycles supported */ if (op->dummy.nbytes *
> >>> 8 / op->dummy.buswidth > 64) dummy.buswidth was not set during
> >>> read id.
> >>
> >> First, thank you for coming back to this and doing the test.
> >> I'm currently not sure about the reason for this, but I guess
> >> Boris will figure it out easily ;)
>
> Ok, on a closer look it is obvious that the reason is this commit
> [1]. My last test was before this change, when dummy.buswidth was
> still set to 1 even if dummy.n_bytes is 0.
> Now both are 0 and I need to handle this in the FSL QSPI driver.
>
> >>
> >>>
> >>> Second issue is the second part failed to be probed, tried both
> >>> buswidth 4
> >> and buswidth 1.
> >>>
> >>> [ 1.364979] m25p80 spi5.0: found n25q256a, expected m25p80
> >>> [ 1.370986] m25p80 spi5.0: n25q256a (32768 Kbytes)
> >>> [ 1.381020] m25p80 spi5.1: unrecognized JEDEC id bytes: ff,
> >>> ff, ff
> >>>
> >>> These are the DT settings:
> >>> &qspi1 {
> >>> pinctrl-names = "default";
> >>> pinctrl-0 = <&pinctrl_qspi1_1>;
> >>> status = "okay";
> >>>
> >>> flash0: n25q256a@0 {
> >>> ¦ #address-cells = <1>;
> >>> ¦ #size-cells = <1>;
> >>> ¦ compatible = "micron,m25p80";
> >>> ¦ spi-max-frequency = <29000000>;
> >>> spi-rx-bus-width = <4>;
> >>> spi-tx-bus-width = <4>;
> >>> ¦ reg = <0>;
> >>> };
> >>>
> >>> flash1: n25q256a@1 {
> >>> ¦ #address-cells = <1>;
> >>> ¦ #size-cells = <1>;
> >>> ¦ compatible = "micron,m25p80";
> >>> ¦ spi-max-frequency = <29000000>;
> >>> spi-rx-bus-width = <4>;
> >>> spi-tx-bus-width = <4>;
> >>> ¦ reg = <1>;
> >>> };
> >>> };
> >>
> >> First, I think you should add "jedec,spi-nor" to your compatible
> >> properties.
> >>
> >> Second, are you sure, that the two chips are both on QSPIA using
> >> the two chip selects?
> >> I have no schematics of the board, but if I look at the devicetree
> >> in the linux- imx kernel [1] it seems to me that one chip is on
> >> QSPIA CS0 and the other on QSPIB CS0.
> >> If this is the case, then you have to set reg = <2> for the second
> >> chip.
> >
> > Yes, you are right, the second chip connects to QSPIB CS0, with the
> > DT change, both of them work fine with __div0 issue workaround.
>
> Ok, great. Thanks for your test.
>
> As Yogesh reported problems with his LS1088ARDB board, where both
> chips are connected to QSPIA, I was hoping someone could confirm this
> by testing on a similar setup.
>
> So if you have a board around, that uses this setup, it would be
> great if you can try on that. If not we have to find other ways to
> investigate this.
>
> Thanks,
> Frieder
>
> [1]
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=9882b5375df532acb2c2399a90d882461112e612
>
> >
> >>
> >> Thanks,
> >> Frieder
> >>
> >> [1]
> >> https://smex12-5-en-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2femea01.safelinks.protection.outlook.com%2f%3furl%3dhttp%253A%252F%252Fgit.f&umid=aac77072-ee97-4b8a-b8b9-55765e276aec&auth=78a0452d0eda3018cc3487ba1bec995089e109a2-54ce7888db3c2cb56ff686a840c4d0fa657a3cdb
> >> reescale.com%2Fgit%2Fcgit.cgi%2Fimx%2Flinux-
> >> imx.git%2Ftree%2Farch%2Farm%2Fboot%2Fdts%2Fimx6sx-
> >> sabreauto.dts%3Fh%3Dimx_4.9.11_1.0.0_ga%23n771&data=02%7C01%
> >> 7Chan.xu%40nxp.com%7C9d43e9b29a82419a36c408d618df3dc3%7C686ea1d
> >> 3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C636723744426896223&sdata
> >> =038DdgMLjO23Io3CTHoSVrJL2Ho%2BgxyHlx9%2BLMrLWkQ%3D&reser
> >> ved=0
> >>
> >>>>>
> >>>>> 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.
> >>>>>
> >>>>> 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.
> >>>>>
> >>>>> While #1 is not blocking us, #2 is if we don't have those
> >>>>> patches [1][2] applied, and Marek wanted to be sure there was
> >>>>> no other ways to solve the "TX FIFO starvation" issue before
> >>>>> considering these changes. So that'd be great if someone from
> >>>>> NXP could have a look/ask around and give us answers to those 2
> >>>>> questions.
> >>>>>
> >>>>> Thanks,
> >>>>>
> >>>>> Boris
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 144 bytes --]
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
next prev parent reply other threads:[~2018-09-18 22:43 UTC|newest]
Thread overview: 99+ 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 ` 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 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 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 13:09 ` Frieder Schrempf
2018-08-02 21:58 ` Han Xu
2018-08-02 21:58 ` Han Xu
2018-08-04 13:37 ` Boris Brezillon
2018-08-04 13:37 ` Boris Brezillon
2018-09-03 9:02 ` Frieder Schrempf
2018-09-03 9:02 ` Frieder Schrempf
2018-09-12 17:04 ` Han Xu
2018-09-12 17:04 ` Han Xu
2018-09-12 18:40 ` Frieder Schrempf
2018-09-12 18:40 ` Frieder Schrempf
2018-09-12 21:04 ` Han Xu
2018-09-12 21:04 ` Han Xu
2018-09-13 7:00 ` Frieder Schrempf
2018-09-13 7:00 ` Frieder Schrempf
2018-09-18 22:42 ` Lukasz Majewski [this message]
2018-09-18 22:42 ` Lukasz Majewski
2018-09-19 6:49 ` Frieder Schrempf
2018-09-19 6:49 ` Frieder Schrempf
2018-09-19 11:02 ` Lukasz Majewski
2018-09-19 11:02 ` Lukasz Majewski
2018-09-20 1:17 ` Huang Shijie
2018-09-20 1:17 ` Huang Shijie
2018-09-20 15:00 ` Lukasz Majewski
2018-09-20 15:00 ` Lukasz Majewski
2018-09-20 15:41 ` Frieder Schrempf
2018-09-20 15:41 ` Frieder Schrempf
2018-09-20 20:37 ` Lukasz Majewski
2018-09-20 20:37 ` Lukasz Majewski
2018-09-20 22:13 ` Lukasz Majewski
2018-09-20 22:13 ` Lukasz Majewski
2018-09-25 6:49 ` Frieder Schrempf
2018-09-25 6:49 ` Frieder Schrempf
2018-09-25 8:53 ` Lukasz Majewski
2018-09-25 8:53 ` Lukasz Majewski
2018-09-06 11:11 ` Yogesh Narayan Gaur
2018-09-06 11:11 ` Yogesh Narayan Gaur
2018-09-06 11:36 ` Boris Brezillon
2018-09-06 11:36 ` Boris Brezillon
2018-09-06 12:22 ` Yogesh Narayan Gaur
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-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 8:13 ` Frieder Schrempf
2018-07-12 15:20 ` Rob Herring
2018-07-16 7:04 ` Frieder Schrempf
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 ` Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 07/12] arm64: " Frieder Schrempf
2018-07-05 11:15 ` 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 ` Frieder Schrempf
2018-07-05 11:15 ` 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 10/12] ARM: dts: ls1021a: Remove fsl,qspi-has-second-chip " Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 11/12] ARM64: dts: ls1046a: Remove fsl, qspi-has-second-chip " Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 11/12] ARM64: dts: ls1046a: Remove fsl,qspi-has-second-chip " Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 11/12] ARM64: dts: ls1046a: Remove fsl, qspi-has-second-chip " Frieder Schrempf
2018-07-05 11:15 ` [PATCH v2 11/12] ARM64: dts: ls1046a: Remove fsl,qspi-has-second-chip " 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-07-06 5:08 ` Yogesh Narayan Gaur
2018-10-31 13:40 ` Boris Brezillon
2018-10-31 13:40 ` Boris Brezillon
2018-10-31 13:54 ` Schrempf Frieder
2018-10-31 13:54 ` Schrempf Frieder
2018-10-31 14:31 ` Boris Brezillon
2018-10-31 14:31 ` Boris Brezillon
2018-10-31 16:03 ` Yogesh Narayan Gaur
2018-10-31 16:03 ` Yogesh Narayan Gaur
2018-10-31 16:09 ` Schrempf Frieder
2018-10-31 16:09 ` Schrempf Frieder
2018-11-08 8:15 ` Schrempf Frieder
2018-11-08 8:15 ` Schrempf Frieder
2018-11-08 8:19 ` Boris Brezillon
2018-11-08 8:19 ` Boris Brezillon
2018-11-08 8:35 ` Schrempf Frieder
2018-11-08 8:35 ` Schrempf Frieder
2018-11-08 8:57 ` 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=20180919004247.60c6099a@jawa \
--to=lukma@denx.de \
--cc=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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.