MT25Q Advanced Sector Protection support

Tudor.Ambarus at microchip.com Tudor.Ambarus at microchip.com
Thu Apr 15 10:40:05 BST 2021


On 4/15/21 12:20 PM, Stefan Roese wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> Hi,

Hi,

> 
> I'm right now working on a board equipped with an MT25QU128ABA1ESE.
> And after doing some intensive QSPI NOR tests, one sector (at 0x40000)
> seems to be permanently locked. The normal unlocking does not seem to
> help:
> 
> # flash_eraseall -u /dev/mtd0

have you tried to unlock it before erasing? You can use flash_unlock.

> flash_eraseall has been replaced by `flash_erase <mtddev> 0 0`; please
> use it
> Erasing 64 Kibyte @ 40000 -- 22 % complete libmtd: error!: MEMERASE64
> ioctl failed for eraseblock 4 (mtd0)
>         error 5 (Input/output error)
> flash_erase: error!: /dev/mtd0: MTD Erase failure
>              error 5 (Input/output error)
> Erasing 64 Kibyte @ 110000 -- 100 % complete
> 
> My best guess right now is that somehow the nonvolatile locking via the
> advanced sector protection is active and locking this sector.
> 
> Does anyone have some ideas on how to continue here? Is there some

If it's indeed about the individual block protection, you'll have to
read the register that describes which registers are locked.

> ongoing work to support the Micron advanced sector protection in Linux?

I'm adding support for individual block protection on sst26 flashes,
which should be similar.

Cheers,
ta

> Or did I miss something trivial perhaps?
> 
> Thanks,
> Stefan



More information about the linux-mtd mailing list