[PATCH v2 3/4] dt-bindings: mtd: macronix,mx25l12833f: add SPI-NOR chip
Erez
erezgeva2 at gmail.com
Wed Jul 3 01:23:16 PDT 2024
On Wed, 3 Jul 2024 at 09:12, Tudor Ambarus <tudor.ambarus at linaro.org> wrote:
>
>
>
> On 7/3/24 12:16 AM, Erez wrote:
> > On Tue, 2 Jul 2024 at 07:00, Tudor Ambarus <tudor.ambarus at linaro.org> wrote:
> >>
> >>
> >>
> >> On 7/1/24 6:08 PM, Erez wrote:
> >>> On Mon, 1 Jul 2024 at 12:15, Tudor Ambarus <tudor.ambarus at linaro.org> wrote:
> >>>>
> >>>>
> >>>>
> >>>> On 7/1/24 10:46 AM, Erez wrote:
> >>>>> When using mx25l12805d, we do not read SFDP.
> >>>>> As it uses the no-SFDP flags.
> >>>>> When using mx25l12833f hardware with mx25l12805d driver, it did not
> >>>>> try to read the SFDP.
> >>>>> Yet mx25l12833f does have SFDP, when I remove the no-SFDP flags, the
> >>>>> driver fetch the SFDP.
> >>>>>
> >>>>> Secondly SFDP does not contain OTP information.
> >>>>>
> >>>>> mx25l12805d has two OTP regions of 128 KiB and 384 KiB (yes asymmetric).
> >>>>> While mx25l12833f has two OTP regions of 512 KiB.
> >>>>>
> >>>>> How do we handle it?
> >>>>
> >>>> You would first try to parse SFDP and initialize the flash based on
> >>>> SFDP. If there's no SFDP then you fallback to the flags declared at
> >>>> flash declaration. Esben had a try recently, see [1]. I don't know if
> >>>> there's any progress in that direction.
> >>>>
> >>>> Also, you haven't mentioned anything about the testing. Do you have the
> >>>> flash?
> >>>>
> >>>> [1]
> >>>> https://lore.kernel.org/linux-mtd/20240603-macronix-mx25l3205d-fixups-v2-0-ff98da26835c@geanix.com/
> >>>
> >>> Looking at "mtd: spi-nor: macronix: workaround for device id re-use"
> >>> I guess it can be applied to all Macronix devices.
> >>
> >> No, no, we're going to do it individually just where it's needed.
> >> Issuing unsupported commands is not that great.
> >
> > Would be nice if we could ask Macronix directly.
>
> we did. They said it's not ideal, but it's okay.
> >
> > Looking on their web site and reading some spec. and status reports.
> > Using the IDs with 'no_sfdp_flags' in drivers/mtd/spi-nor/macronix.c
> > I did not search for new chips reusing IDs of chips at end of life.
> > But we found 3 already:
> > MX25U51245G appears in the table with the same ID as MX66U51235F.
>
> is there an extension ID that differentiate the two?
>
> > Esben Haabendal found MX25L3233F which reuses MX25L3205D ID.
> > And I found MX25L12833F reuses MX25L12805D ID.
>
> Yes. And we already have a plan for these. We need someone that cares
> about them to implement it.
>
> > Chips that are not in end of life do support SFDP, at least the new
> > versions of the chips according to their spec.
> > It seems quite systematic.
> >
>
> maybe
I check the public spec of all chips, but one, which are in the
Macronix driver table and are still in production.
They all support SFDP. I do not understand the "maybe".
As for the chips in end of life, we found 3 new chips that reuse the
ID, we can find the rest.
>
> > By the way, the chip MX25L2005A part number is 'MX25L2005' without the 'A'.
>
> feel free to propose a patch
>
> >
> > We can support Macronix chips that are not in the table, just by
> > reading the SFDP.
> > In that case we can name them like "mx-szNN".
>
> We don't care about the flash name.
Agree.
>
> If all the flash settings that we care about can be discovered by SFDP
> then one won't need to declare a flash entry at all, and instead rely on
> the driver to setup the flash settings solely based on the SFDP tables.
> See spi-nor-generic handling.
Excellent feature!
>
> >
> > The table below uses fixed width characters.
> >
> > ID Part. Size Status SFDP status
> > according to spec.
> > New chip with
> > SFDP for EOL
> > c22012 MX25L2005(A) SZ_256K = 2Mb EOL MX25L2006E
> > c22532 MX25U2033E SZ_256K = 2Mb EOL
> > c22013 MX25L4005A SZ_512K = 4Mb EOL
> > c22533 MX25U4035 SZ_512K = 4Mb EOL
> > c22534 MX25U8035 SZ_1M = 8Mb EOL
> > c22016 MX25L3205D SZ_4M = 32Mb EOL MX25L3233F
> > c29e16 MX25L3255E SZ_4M = 32Mb EOL
> > c22017 MX25L6405D SZ_8M = 64Mb EOL
> > c22018 MX25L12805D SZ_16M = 128Mb EOL MX25L12833F
> > c22538 MX25U12835F SZ_16M = 128Mb EOL
> > c2253a MX66U51235F SZ_64M = 512Mb EOL MX25U51245G
> > c22010 MX25L512E SZ_64K = 512Kb NO_REC Have-SFDP!
> > c22015 MX25L1606E SZ_2M = 16Mb NO_REC Have-SFDP!
> > c22536 MX25U3235F SZ_4M = 32Mb NO_REC Have-SFDP!
> > c22816 MX25R3235F SZ_4M = 32Mb NO_REC Have-SFDP!
> > c22537 MX25U6435F SZ_8M = 64Mb NO_REC Have-SFDP!
> > c22019 MX25L25635E SZ_32M = 256Mb NO_REC Have-SFDP!
> > c22539 MX25U25635F SZ_32M = 256Mb NO_REC Have-SFDP!
> > c2201a MX66L51235F SZ_64M = 512Mb NO_REC Have-SFDP!
> > c2261b MX66L1G55G SZ_128M = 1Gb NO_REC Spec. is not public
> > c22314 MX25V8035F SZ_1M = 8Mb PROD Have-SFDP!
> > c22815 MX25R1635F SZ_2M = 16Mb PROD Have-SFDP!
> > c2201b MX66L1G45G SZ_128M = 1Gb PROD Have-SFDP!
> > c2253c MX66U2G45G SZ_256M = 2Gb PROD Have-SFDP!
> > c2253a MX25U51245G SZ_64M = 512Mb PROD Have-SFDP!
> >
> > EOL End of Life
> > PROD Normal Production
> > NO_REC Not recommend for new design
> >
> >
>
> not sure what you want me to do with these.
That we can read SFDP for all chips from Macronix.
Only old chips before 2010 do not have SFDP.
Erez
>
> Cheers,
> ta
More information about the linux-mtd
mailing list