[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