From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Santhosh Kumar K <s-k6@ti.com>
Cc: <broonie@kernel.org>, <robh@kernel.org>, <krzk+dt@kernel.org>,
<conor+dt@kernel.org>, <richard@nod.at>, <vigneshr@ti.com>,
<tudor.ambarus@linaro.org>, <pratyush@kernel.org>,
<mwalle@kernel.org>, <linux-spi@vger.kernel.org>,
<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-mtd@lists.infradead.org>, <praneeth@ti.com>,
<u-kumar1@ti.com>, <p-mantena@ti.com>, <a-dutta@ti.com>
Subject: Re: [RFC PATCH v2 00/12] spi: cadence-quadspi: add PHY tuning support
Date: Fri, 13 Feb 2026 10:01:28 +0100 [thread overview]
Message-ID: <87y0kxvwyf.fsf@bootlin.com> (raw)
In-Reply-To: <775d8dce-b567-4f21-963c-a843e409fea5@ti.com> (Santhosh Kumar K.'s message of "Sat, 7 Feb 2026 00:58:03 +0530")
On 07/02/2026 at 00:58:03 +0530, Santhosh Kumar K <s-k6@ti.com> wrote:
> On 05/02/26 21:18, Miquel Raynal wrote:
>> Hi Santhosh,
>>
>>> I am surprised by these numbers, I would expect these to get higher for
>>> SPI NANDs. I will test the series and report my observations, especially
>>> since there is also ODDR SPI NAND support now (in nand/next, should be
>>> part of my upcoming merge request to Linus for 6.19+1);
>> I just tested the series, here are some numbers I grabbed on TI AM62A7
>> LP SK with a Winbond W35N02 SPI NAND chip (so in the end very close to
>> your report):
>> +-----------------+-----------+------------+
>> | SPI NAND | no tuning | PHY tuning |
>> | Unit: MiB/s | 25MHz | 166MHz |
>> |-----------------+-----------+------------|
>> | Octal SDR read | 13.8 | 34.2 |
>> | write | 7.2 | 10.2 |
>> |-----------------+-----------+------------|
>> | Octal DTR read | 21.2 | N/A |
>> | write | 9.0 | N/A |
>> +-----------------+-----------+------------+
>> Please mind I used MiB/s and not MB/s (so kiB / 1024), I don't know
>> which one you used for measuring, as you marked MB, whereas the most
>> common unit seems to be MiB.
>> However PHY tuning failed in Octal DTR mode (your series applied on
>> top
>> of nand/next) with the following logs, can you have a look?
>> [ 2.261647] spi-nand spi0.0: Winbond SPI NAND was found.
>> [ 2.266956] spi-nand spi0.0: 128 MiB, block size: 256 KiB, page size: 4096, OOB size: 128
>> [ 2.285257] cadence-qspi fc40000.spi: PHY tuning failed: -2
>> [ 2.290835] spi-nand spi0.0: Failed to execute PHY tuning: -2
>
> Unfortunately, due to a known erratum in the Cadence controller, PHY DDR
> mode cannot be used with 2-byte addressing.
>
> Refer:
> Errata i2383: OSPI: 2-byte address is not supported in PHY DDR mode [1]
>
> As a result, the Cadence controller supports only the following
> operating modes:
> - PHY DDR mode with 4-byte addressing
> - PHY SDR mode
> - TAP (non-PHY) DDR mode
> - TAP (non-PHY) SDR mode
I do not think we have 4-byte addressing capabilities on SPI NAND chips,
esp. Winbond's chips. So there is a down side: the core will pick-up
Octal DTR modes rather than Octal SDR (with PHY) mode, which is not the
fastest mode. Maybe we can guess that once we have access to the max
(tuned PHY) spi frequency, with an extra flag in the driver indicating
that the PHY speed is not accessible in DTR mode. But this again
requires different handling between SPI NAND and SPI NOR, as SPI NOR
IIRC may have 4-byte addressing capabilities.
Thanks,
Miquèl
next prev parent reply other threads:[~2026-02-13 9:01 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-13 14:16 [RFC PATCH v2 00/12] spi: cadence-quadspi: add PHY tuning support Santhosh Kumar K
2026-01-13 14:16 ` [RFC PATCH v2 01/12] spi: dt-bindings: add spi-has-dqs property Santhosh Kumar K
2026-02-04 10:46 ` Miquel Raynal
2026-02-05 17:46 ` Santhosh Kumar K
2026-02-05 18:06 ` Miquel Raynal
2026-01-13 14:16 ` [RFC PATCH v2 02/12] spi: spi-mem: add controller tuning support Santhosh Kumar K
2026-01-13 14:16 ` [RFC PATCH v2 03/12] mtd: spinand: perform controller tuning during probe Santhosh Kumar K
2026-02-05 17:35 ` Miquel Raynal
2026-02-06 19:23 ` Santhosh Kumar K
2026-01-13 14:16 ` [RFC PATCH v2 04/12] mtd: spi-nor: extract read operation setup into helper Santhosh Kumar K
2026-01-13 14:16 ` [RFC PATCH v2 05/12] mtd: spi-nor: perform controller tuning during probe Santhosh Kumar K
2026-01-13 14:16 ` [RFC PATCH v2 06/12] spi: cadence-quadspi: move cqspi_readdata_capture earlier Santhosh Kumar K
2026-02-05 17:35 ` Miquel Raynal
2026-01-13 14:16 ` [RFC PATCH v2 07/12] spi: cadence-quadspi: add DQS support to read data capture Santhosh Kumar K
2026-02-05 17:35 ` Miquel Raynal
2026-01-13 14:16 ` [RFC PATCH v2 08/12] spi: cadence-quadspi: read 'has-dqs' DT property Santhosh Kumar K
2026-02-05 17:35 ` Miquel Raynal
2026-02-19 12:14 ` Michael Walle
2026-02-20 8:21 ` Miquel Raynal
2026-01-13 14:16 ` [RFC PATCH v2 09/12] spi: cadence-quadspi: add PHY tuning infrastructure Santhosh Kumar K
2026-02-05 17:39 ` Miquel Raynal
2026-02-06 19:25 ` Santhosh Kumar K
2026-02-13 8:18 ` Miquel Raynal
2026-02-18 18:07 ` Santhosh Kumar K
2026-02-19 10:30 ` Miquel Raynal
2026-02-09 9:48 ` Michael Walle
2026-02-12 10:50 ` Miquel Raynal
2026-02-12 11:14 ` Michael Walle
2026-02-12 12:55 ` Miquel Raynal
2026-02-18 18:07 ` Santhosh Kumar K
2026-02-19 8:33 ` Michael Walle
2026-02-19 10:34 ` Miquel Raynal
2026-01-13 14:16 ` [RFC PATCH v2 10/12] spi: cadence-quadspi: implement PHY tuning algorithm Santhosh Kumar K
2026-02-05 17:42 ` Miquel Raynal
2026-01-13 14:16 ` [RFC PATCH v2 11/12] spi: cadence-quadspi: restrict PHY frequency to tuned operations Santhosh Kumar K
2026-02-05 17:47 ` Miquel Raynal
2026-02-06 19:27 ` Santhosh Kumar K
2026-02-13 8:21 ` Miquel Raynal
2026-03-17 15:17 ` Miquel Raynal
2026-01-13 14:16 ` [RFC PATCH v2 12/12] spi: cadence-quadspi: enable PHY for direct reads and writes Santhosh Kumar K
2026-02-05 17:51 ` Miquel Raynal
2026-02-04 10:29 ` [RFC PATCH v2 00/12] spi: cadence-quadspi: add PHY tuning support Miquel Raynal
2026-02-05 15:48 ` Miquel Raynal
2026-02-06 19:28 ` Santhosh Kumar K
2026-02-13 9:01 ` Miquel Raynal [this message]
2026-02-18 18:08 ` Santhosh Kumar K
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=87y0kxvwyf.fsf@bootlin.com \
--to=miquel.raynal@bootlin.com \
--cc=a-dutta@ti.com \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=linux-spi@vger.kernel.org \
--cc=mwalle@kernel.org \
--cc=p-mantena@ti.com \
--cc=praneeth@ti.com \
--cc=pratyush@kernel.org \
--cc=richard@nod.at \
--cc=robh@kernel.org \
--cc=s-k6@ti.com \
--cc=tudor.ambarus@linaro.org \
--cc=u-kumar1@ti.com \
--cc=vigneshr@ti.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