MT25Q Advanced Sector Protection support
Stefan Roese
sr at denx.de
Thu Apr 15 10:44:02 BST 2021
Hi Tudor,
On 15.04.21 11:40, Tudor.Ambarus at microchip.com wrote:
> 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.
IIUTC, the "-u" parameter in eraseall should provide this unlocking as
well. But hey, I also tried "flash_unlock" without any success. I assume
that this command unlocks all sectors in the MTD device automatically.
>> 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.
Yes, I'm digging into it right now. ;)
>> 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.
Do you by any chance have a WIP version to share, so that I could base
my work on this?
Thanks,
Stefan
More information about the linux-mtd
mailing list