[PATCH 2/2] mtd: spi-nor: Disable the flash quad mode in spi_nor_restore()

Pratyush Yadav p.yadav at ti.com
Tue Sep 1 05:48:18 EDT 2020


Hi,

On 01/09/20 08:16AM, Matthias Weißer wrote:
> Am Di., 16. Juni 2020 um 15:03 Uhr schrieb Yicong Yang
> <yangyicong at hisilicon.com>:
> > If the flash's quad mode is enabled, it'll remain in the quad mode when
> > it's removed. If we drive the flash next time in SPI/Dual mode, then
> > problem occurs as the flash's quad enable bit is not cleared.
> 
> On flash devices with a non-volatile quad enable bit (we use S25FL512S)
> this will wear out the quad enable bit as on every boot the bit is
> set and reset on shutdown. Or do I miss something here?

Yes, I think it will. If you always want the bit enabled (and it being 
non-volatile suggests that is the intended use), why not set 
nor->params->quad_enable() to NULL? That way it won't be touched at all, 
neither on boot nor on shutdown.
 
> > Disable the quad mode in spi_nor_restore(), the flash will leave
> > quad mode when remove. This will make sure the flash always enter the
> > correct mode when loaded.
> 
> We have a system which relies on an enabled quad mode on boot
> (bootloader uses quad mode without enabling it) so using this patch
> will prevent our device from booting.

Out of curiosity, how does the flash get detected by SPI NOR? It issues 
the Read ID command in 1S-1S-1S mode but the flash is expecting 1S-4S-4S 
commands. Do you have any extra patches applied to make it work?
 
I tried solving this problem for 8D-8D-8D mode but never really found a 
good solution.

-- 
Regards,
Pratyush Yadav
Texas Instruments India



More information about the linux-mtd mailing list