[U-Boot] [EXT] [PATCH 2/2] spi-nor: spi-nor-ids: Disable SPI_NOR_4B_OPCODES for n25q512* and n25q256*

Tudor.Ambarus at microchip.com Tudor.Ambarus at microchip.com
Tue Sep 24 11:36:23 UTC 2019

Hi, Simon,

On 09/23/2019 12:30 PM, Simon Goldschmidt wrote:


>>>     > Subject: [EXT] [PATCH 2/2] spi-nor: spi-nor-ids: Disable
>>>     > SPI_NOR_4B_OPCODES for n25q512* and n25q256*
>>>     >
>>>     > Caution: EXT Email
>>>     >
>>>     > Not all variants of n25q256* and n25q512* support 4 Byte stateless
>>>     > addressing opcodes and there is no easy way to discover at runtime
>>>     whether
>>>     > the flash supports this feature or not.
>>>     > Therefore don't set SPI_NOR_4B_OPCODES for these flashes.
>>>     Hi Vignesh,
>>>     I think it will be good to keep it here and disable this for boards
>>>     by using not set flag in config
>>>     Like
>>>     # SPI_NOR_4B_OPCODES is not set
>> SPI_NOR_4B_OPCODES is not a config option. Are you suggesting to add
>> one? config options don't scale well especially when same defconfig is
>> used for multiple boards that potentially have different flashes
>>> I'd prefer to take this patch, as this is what Linux does.
>> No, this is not what Linux does. There is no opt-in or opt-out option.
>> Decision to use 4 byte opcode is done at runtime based on flash that's
>> detected. Either based on info->flags for that part or by parsing SFDP
>> table. There is no config option of DT option to force 4 byte addressing
>>> I think it's better to have an opt-in option. That way, all chips work with the
>>> default settings (even if that means some chips don't use 4 baste
>>> opcodes even if they could).
>> One solution would be to look at SFDP tables of two variants of flash
>> and see if there are any differences that can be used as a clue.
>> Simon,
>> Could you provide dump of SFDP tables and all the 6 bytes READ ID of the
>> flash that you have?
> I have a n251256a with JEDEC ID 20, ba, 19, 10, 44, 00.

Is this a n25q256a or a MT25QL256ABA? We want to check if there are n25q256a
flashes that have the 6th bit of the Extended Device Id set to one or not.
According to n25q256a datasheet the bit 6 is reserved (which probably translates
to being zero), while on MT25QL256ABA is set to one.


More information about the U-Boot mailing list