Re: [PATCH v2 3/4] dt-bindings: mtd: macronix,mx25l12833f: add SPI-NOR chip

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 7/3/24 12:16 AM, Erez wrote:
> On Tue, 2 Jul 2024 at 07:00, Tudor Ambarus <tudor.ambarus@xxxxxxxxxx> wrote:
>>
>>
>>
>> On 7/1/24 6:08 PM, Erez wrote:
>>> On Mon, 1 Jul 2024 at 12:15, Tudor Ambarus <tudor.ambarus@xxxxxxxxxx> 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@xxxxxxxxxx/
>>>
>>> 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

> 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.

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.

> 
> 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.

Cheers,
ta




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux