From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Tudor Ambarus <tudor.ambarus@linaro.org>
Cc: Richard Weinberger <richard@nod.at>,
Vignesh Raghavendra <vigneshr@ti.com>,
Santhosh Kumar K <s-k6@ti.com>,
Pratyush Yadav <pratyush@kernel.org>,
Michael Walle <michael@walle.cc>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
Steam Lin <stlin2@winbond.com>,
linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 01/21] mtd: spinand: Use more specific naming for the reset op
Date: Wed, 19 Mar 2025 18:32:24 +0100 [thread overview]
Message-ID: <87iko50vvb.fsf@bootlin.com> (raw)
In-Reply-To: <f1111d1b-a111-4171-9467-450d90a14c0a@linaro.org> (Tudor Ambarus's message of "Mon, 10 Mar 2025 12:14:06 +0200")
Hello Tudor,
On 10/03/2025 at 12:14:06 +02, Tudor Ambarus <tudor.ambarus@linaro.org> wrote:
> On 07.03.2025 17:45, Miquel Raynal wrote:
>> Hi Tudor,
>
> Hi!
>
>>
>>>> -#define SPINAND_RESET_OP \
>>>> +#define SPINAND_RESET_1S_0_0_OP \
>>> Hi, Miquel,
>>>
>>> Have you seen any reset op with address or data? If not, I'm not really
>>> sure whether we shall change the name for these basic operations.
>>>
>>> Changing them to 1S-0-0 may also indicate that there are resets with
>>> address or data fields, which I find confusing.
>>>
>>> I think the change is good for reads and writes. I'll check further in
>>> the series and let you know.
>>
>> I want to rename this macro for two reasons:
>> - We might see in the near future the addition of 8D-0-0 ops (I plan on
>> working on it).
>> - I would like some kind of harmony among these macros.
>>
>> Now, whether is should be named like I proposed or just
>> SPINAND_RESET_OP_1S, I have no strong preference and I can change that
>> in an upcoming version.
>>
>> Which one would you prefer?
>
> I don't know. Which one is backed up by a standard?
Well, as far as I know, none of the SPI NAND devices follow a very
specific standard. Most vendors in practice follow similar conventions,
but they all deviate a bit from it.
> JESD216F defines
> "(An-Bn-Cn): Command mode nomenclature used to indicate the number of
> active pins used for the instruction (A), address (B), and data (C), and
> the data rate used for each. Data rates(n) can be single (S) and dual (D)."
>
> Also, "(x-y-z) nomenclature is equivalent to(AS-BS-CS) unless otherwise
> noted."
>
> What's an "active pin"?
>
> Then if I look at JESD251-1.01 and JESD251C, (An-Bn-Cn) is referred to
> as "protocol mode". Write Enable, which is just an instruction command
> with no address or data, is seen as a required command in both 4D-4D-4D
> and 8D-8D-8D protocol modes, and it's defined as a "1.A" transaction
> format command. And the transaction format is:
> '''
> The following transaction formats are used in Profile 1.0 mode 8D-8D-8D:
> Format 1.A: Command and Command Extension
> Format 1.B: Command, Command Extension, 4-byte Address, ‘n’ Latency
> Cycles, and Read Data
> Format 1.C: Command, Command Extension, and 4-byte Address
> Format 1.D: Command, Command Extension, 4-byte Address, and Write Data
> '''
>
> So according to these standards maybe we shall refer to it as:
> WREN-8D-8D-8D-1A? This seems less intuitive than 8D-0-0, but I think it
> all depends on what's an "active pin". I think it describes the protocol
> mode, and not what's actually sent on the line. As we saw, WREN is
> considered an 8D-8D-8D command, and not an 8D-0-0 command.
>
> For dual mode, which is not covered by xSPI, I guess we can use the
> single spi transaction formats 0.{A,B,C,...}.
>
> How do you feel about a OP-An-Bn-Cn-transaction-format,
> where A, B, C is {1, 2, 4, 8}
> n is {S, D}
> transaction format is {0,1,2,3}{A,B,C,...}
>
> Care must be taken care of at the transaction format, as I see there are
> a few, depending on the xSPI profile and protocol mode.
I must admit I really dislike the transaction format abbreviation because
it is specific to a spec we do not follow and is not explicit. I have a
strong preference towards keeping just "An-Bn-Cn", like I did in this
series. If people are in doubt, they can check what is in the op, it is
self explanatory. I chose this in the first place because it is more
explicit than just "An" which may feel like a cropped
acronym. Furthermore, most octal capable datasheets I've looked at seem
to use the "An-Bn-Cn" format, even for single opcodes.
So unless there are strong arguments against, I'd prefer to keep the
current formatting. TBH, it is not set in stone and can still evolve
later if that's needed.
Thanks,
Miquèl
next prev parent reply other threads:[~2025-03-19 17:32 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-07 15:08 [PATCH 00/21] mtd: spinand: Add octal support Miquel Raynal
2025-03-07 15:08 ` [PATCH 01/21] mtd: spinand: Use more specific naming for the reset op Miquel Raynal
2025-03-07 15:38 ` Tudor Ambarus
2025-03-07 15:45 ` Miquel Raynal
2025-03-10 10:14 ` Tudor Ambarus
2025-03-19 17:32 ` Miquel Raynal [this message]
2025-03-20 8:08 ` Tudor Ambarus
2025-03-20 11:31 ` Miquel Raynal
2025-03-20 12:03 ` Tudor Ambarus
2025-03-07 15:08 ` [PATCH 02/21] mtd: spinand: Use more specific naming for the write enable/disable op Miquel Raynal
2025-03-07 15:39 ` Tudor Ambarus
2025-03-07 15:49 ` Miquel Raynal
2025-03-20 12:22 ` Tudor Ambarus
2025-03-07 15:08 ` [PATCH 03/21] mtd: spinand: Use more specific naming for the read ID op Miquel Raynal
2025-03-07 15:40 ` Tudor Ambarus
2025-03-07 15:08 ` [PATCH 04/21] mtd: spinand: Use more specific naming for the get/set feature ops Miquel Raynal
2025-03-07 15:42 ` Tudor Ambarus
2025-03-07 15:08 ` [PATCH 05/21] mtd: spinand: Use more specific naming for the erase op Miquel Raynal
2025-03-07 15:45 ` Tudor Ambarus
2025-03-07 16:03 ` Miquel Raynal
2025-03-20 12:23 ` Tudor Ambarus
2025-03-07 15:08 ` [PATCH 06/21] mtd: spinand: Use more specific naming for the page read op Miquel Raynal
2025-03-20 12:28 ` Tudor Ambarus
2025-03-07 15:08 ` [PATCH 07/21] mtd: spinand: Use more specific naming for the (single) read from cache ops Miquel Raynal
2025-04-02 15:05 ` Tudor Ambarus
2025-03-07 15:08 ` [PATCH 08/21] mtd: spinand: Use more specific naming for the (dual output) " Miquel Raynal
2025-04-02 15:06 ` Tudor Ambarus
2025-03-07 15:08 ` [PATCH 09/21] mtd: spinand: Use more specific naming for the (dual IO) " Miquel Raynal
2025-04-02 15:07 ` Tudor Ambarus
2025-03-07 15:08 ` [PATCH 10/21] mtd: spinand: Use more specific naming for the (quad output) " Miquel Raynal
2025-04-02 15:07 ` Tudor Ambarus
2025-03-07 15:08 ` [PATCH 11/21] mtd: spinand: Use more specific naming for the (quad IO) " Miquel Raynal
2025-04-02 15:08 ` Tudor Ambarus
2025-03-07 15:08 ` [PATCH 12/21] mtd: spinand: Use more specific naming for the program execution op Miquel Raynal
2025-04-02 15:12 ` Tudor Ambarus
2025-03-07 15:08 ` [PATCH 13/21] mtd: spinand: Use more specific naming for the (single) program load op Miquel Raynal
2025-04-02 15:13 ` Tudor Ambarus
2025-03-07 15:08 ` [PATCH 14/21] mtd: spinand: Use more specific naming for the (quad) " Miquel Raynal
2025-04-02 15:13 ` Tudor Ambarus
2025-03-07 15:08 ` [PATCH 15/21] mtd: spinand: winbond: Rename DTR variants Miquel Raynal
2025-04-02 15:19 ` Tudor Ambarus
2025-04-02 16:57 ` Miquel Raynal
2025-04-03 6:19 ` Tudor Ambarus
2025-04-03 8:53 ` Miquel Raynal
2025-04-03 9:48 ` Tudor Ambarus
2025-03-07 15:08 ` [PATCH 16/21] mtd: spinand: winbond: Add support for W35N01JW in single mode Miquel Raynal
2025-04-02 15:22 ` Tudor Ambarus
2025-04-02 17:06 ` Miquel Raynal
2025-03-07 15:08 ` [PATCH 17/21] mtd: spinand: Define octal read from cache operations Miquel Raynal
2025-03-07 15:08 ` [PATCH 18/21] mtd: spinand: winbond: Add octal read support Miquel Raynal
2025-03-07 15:08 ` [PATCH 19/21] mtd: spinand: Define octal load to cache operations Miquel Raynal
2025-03-07 15:08 ` [PATCH 20/21] mtd: spinand: winbond: Add octal program support Miquel Raynal
2025-03-07 15:08 ` [PATCH 21/21] mtd: spinand: winbond: Add support for W35N02JW and W35N02JW chips Miquel Raynal
2025-04-02 15:25 ` Tudor Ambarus
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=87iko50vvb.fsf@bootlin.com \
--to=miquel.raynal@bootlin.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=michael@walle.cc \
--cc=pratyush@kernel.org \
--cc=richard@nod.at \
--cc=s-k6@ti.com \
--cc=stlin2@winbond.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=tudor.ambarus@linaro.org \
--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