diff mbox series

dt-bindings: mtd: jedec,spi-nor: Document support for more MT25QU parts

Message ID 363186079b4269891073f620e3e2353cf7d2559a.1669988238.git.geert+renesas@glider.be
State New
Headers show
Series dt-bindings: mtd: jedec,spi-nor: Document support for more MT25QU parts | expand

Commit Message

Geert Uytterhoeven Dec. 2, 2022, 1:37 p.m. UTC
Document support for the Micron MT25QU256A and MT25QU512A Serial NOR
FLASHes.

Merge the new entries with the existing entry for MT25QU02G.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
mt25qu512a is already in active use, causing "make dtbs_check" errors.
mt25qu256a is supported by the Linux spi-nor driver, but there are no
upstream users yet.
---
 Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Michael Walle Dec. 2, 2022, 1:50 p.m. UTC | #1
Am 2022-12-02 14:37, schrieb Geert Uytterhoeven:
> Document support for the Micron MT25QU256A and MT25QU512A Serial NOR
> FLASHes.
> 
> Merge the new entries with the existing entry for MT25QU02G.
> 
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
> mt25qu512a is already in active use, causing "make dtbs_check" errors.
> mt25qu256a is supported by the Linux spi-nor driver, but there are no
> upstream users yet.

Is it encouraged to use the specific compatible with SPI-NOR flashes?
As far as I know it isn't. The spi-nor subsys tries hard to identify
any flashes at runtime and any additional information in the device tree
is used as a last resort (just for flashes which doesn't support the
read jedec id command yet). And usually boards have different sources
for flash chips, so hardcoding a particular part in the device tree
doesn't make sense.

just my 2 cents,
-michael
Geert Uytterhoeven Dec. 2, 2022, 1:56 p.m. UTC | #2
Hi Michael,

On Fri, Dec 2, 2022 at 2:50 PM Michael Walle <michael@walle.cc> wrote:
> Am 2022-12-02 14:37, schrieb Geert Uytterhoeven:
> > Document support for the Micron MT25QU256A and MT25QU512A Serial NOR
> > FLASHes.
> >
> > Merge the new entries with the existing entry for MT25QU02G.
> >
> > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> > ---
> > mt25qu512a is already in active use, causing "make dtbs_check" errors.
> > mt25qu256a is supported by the Linux spi-nor driver, but there are no
> > upstream users yet.
>
> Is it encouraged to use the specific compatible with SPI-NOR flashes?
> As far as I know it isn't. The spi-nor subsys tries hard to identify
> any flashes at runtime and any additional information in the device tree
> is used as a last resort (just for flashes which doesn't support the
> read jedec id command yet). And usually boards have different sources
> for flash chips, so hardcoding a particular part in the device tree
> doesn't make sense.

Thanks, I am aware there have been pushbacks when trying to
document more compatible values.

IMHO either all or none of them should be documented.
If device-specific compatible values are discouraged, the bindings
should be updated to reflect that, and document a single compatible
value ("jedec,spi-nor") only.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Geert Uytterhoeven Dec. 6, 2022, 8:32 a.m. UTC | #3
Hi Rob,

On Mon, Dec 5, 2022 at 5:33 PM Rob Herring <robh@kernel.org> wrote:
> On Fri, Dec 02, 2022 at 02:56:01PM +0100, Geert Uytterhoeven wrote:
> > On Fri, Dec 2, 2022 at 2:50 PM Michael Walle <michael@walle.cc> wrote:
> > > Am 2022-12-02 14:37, schrieb Geert Uytterhoeven:
> > > > Document support for the Micron MT25QU256A and MT25QU512A Serial NOR
> > > > FLASHes.
> > > >
> > > > Merge the new entries with the existing entry for MT25QU02G.
> > > >
> > > > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> > > > ---
> > > > mt25qu512a is already in active use, causing "make dtbs_check" errors.
> > > > mt25qu256a is supported by the Linux spi-nor driver, but there are no
> > > > upstream users yet.
> > >
> > > Is it encouraged to use the specific compatible with SPI-NOR flashes?
> > > As far as I know it isn't. The spi-nor subsys tries hard to identify
> > > any flashes at runtime and any additional information in the device tree
> > > is used as a last resort (just for flashes which doesn't support the
> > > read jedec id command yet). And usually boards have different sources
> > > for flash chips, so hardcoding a particular part in the device tree
> > > doesn't make sense.
> >
> > Thanks, I am aware there have been pushbacks when trying to
> > document more compatible values.
> >
> > IMHO either all or none of them should be documented.
> > If device-specific compatible values are discouraged, the bindings
> > should be updated to reflect that, and document a single compatible
> > value ("jedec,spi-nor") only.
>
> That's already allowed, so there's your answer.

It's indeed allowed, but the alternative is documented, too (for some
values).

> The caveat is don't be adding them later to your DT when you find an
> issue and new quirk properties will probably be rejected.

Adding them later to your DT when you find an issue makes no sense,
as that breaks compatibility with older DTBs.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Tudor Ambarus Sept. 21, 2023, 2:45 p.m. UTC | #4
Hi, Geert,

Sorry for the delay, I just noticed this while cleaning the patchwork log.

On 12/6/22 08:32, Geert Uytterhoeven wrote:
> Hi Rob,
> 
> On Mon, Dec 5, 2022 at 5:33 PM Rob Herring <robh@kernel.org> wrote:
>> On Fri, Dec 02, 2022 at 02:56:01PM +0100, Geert Uytterhoeven wrote:
>>> On Fri, Dec 2, 2022 at 2:50 PM Michael Walle <michael@walle.cc> wrote:
>>>> Am 2022-12-02 14:37, schrieb Geert Uytterhoeven:
>>>>> Document support for the Micron MT25QU256A and MT25QU512A Serial NOR
>>>>> FLASHes.
>>>>>
>>>>> Merge the new entries with the existing entry for MT25QU02G.
>>>>>
>>>>> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
>>>>> ---
>>>>> mt25qu512a is already in active use, causing "make dtbs_check" errors.
>>>>> mt25qu256a is supported by the Linux spi-nor driver, but there are no
>>>>> upstream users yet.
>>>>
>>>> Is it encouraged to use the specific compatible with SPI-NOR flashes?
>>>> As far as I know it isn't. The spi-nor subsys tries hard to identify
>>>> any flashes at runtime and any additional information in the device tree
>>>> is used as a last resort (just for flashes which doesn't support the
>>>> read jedec id command yet). And usually boards have different sources
>>>> for flash chips, so hardcoding a particular part in the device tree
>>>> doesn't make sense.
>>>
>>> Thanks, I am aware there have been pushbacks when trying to
>>> document more compatible values.
>>>
>>> IMHO either all or none of them should be documented.
>>> If device-specific compatible values are discouraged, the bindings
>>> should be updated to reflect that, and document a single compatible
>>> value ("jedec,spi-nor") only.
>>
>> That's already allowed, so there's your answer.
> 
> It's indeed allowed, but the alternative is documented, too (for some
> values).
> 
>> The caveat is don't be adding them later to your DT when you find an
>> issue and new quirk properties will probably be rejected.
> 
> Adding them later to your DT when you find an issue makes no sense,
> as that breaks compatibility with older DTBs.
> 

We won't break compatibility with older DTBs if we use a list of
compatibles. First the vendor specific one which will use some quirks,
and if that's not available, have as second the generic jedec,spi-nor to
fallback to.

Cheers,
ta
Michael Walle Sept. 21, 2023, 4:01 p.m. UTC | #5
Hi Geert,

>> We won't break compatibility with older DTBs if we use a list of
>> compatibles. First the vendor specific one which will use some quirks,
>> and if that's not available, have as second the generic jedec,spi-nor 
>> to
>> fallback to.
> 
> Sure, you should use a list.
> 
> But the current recommended practice is to not have a list,
> but just "jedec,spi-nor" (using a list with a new FLASH part name
> causes checkpatch and dtbs_check warnings). Hence if you follow that
> recommendation, you will run into compatibility issues with older DTBs
> when you discover the quirk later, and decide to add it to the list.

The SPI NOR flashes should be auto discoverable. Why do you need a
compatible string? Quirks can be added to the flash_info database.

Also note, that one reason *not* to add a particular flash compatible
is that they are usually interchangeable and OEMs do so. So a where
today a board might have a macronix flash, tomorrow that board might
have a gigadevice one for example.

-michael
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml b/Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml
index 6cc491083650a0f9..92f65f682059a6ea 100644
--- a/Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml
+++ b/Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml
@@ -19,6 +19,7 @@  properties:
       - items:
           - pattern: "^((((micron|spansion|st),)?\
               (m25p(40|80|16|32|64|128)|\
+              mt25qu(02g|256a|512a)|\
               n25q(32b|064|128a11|128a13|256a|512a|164k)))|\
               atmel,at25df(321a|641|081a)|\
               everspin,mr25h(10|40|128|256)|\
@@ -34,7 +35,6 @@  properties:
       - items:
           - enum:
               - issi,is25lp016d
-              - micron,mt25qu02g
               - mxicy,mx25r1635f
               - mxicy,mx25u6435f
               - mxicy,mx25v8035f