Re: [PATCH] Add optional chip erase functionality to AT25 EEPROM driver.

From: Joe Burmeister
Date: Mon Aug 12 2019 - 17:03:37 EST


On 12/08/2019 16:51, David Laight wrote:
From: Joe Burmeister
Sent: 09 August 2019 13:54

Many, though not all, AT25s have an instruction for chip erase.
If there is one in the datasheet, it can be added to device tree.
Erase can then be done in userspace via the sysfs API with a new
"erase" device attribute. This matches the eeprom_93xx46 driver's
"erase".
Is it actually worth doing though?

I'm guessing that device erase can easily take over a minute.


That must depend on the AT25. The one we're using (AT25F512A), as it's setup, it's fast enough. The datasheet states "The CHIP ERASE cycle time typically is 2 seconds.". I've not timed it's because as I said, seamed fast enough.


If you can't erase it, then it's basically write once, or you expose it with spi_dev to Flashrom to erase it.


When I looked at 'device erase' on an EEPROM it took just as long
as erasing the sectors one at a time - but without the warm cosy
feeling that progress was being made.


I didn't look at sector erase as I'm only interested in erasing it all and there was a command for it. I figured if someone wanted sector by sector they would implement it.



Not only that you can't really interrupt the erase, so either
the application has to sleep uninterruptibly for the duration
or you have to have some kind of 'device busy' response while
it is done asynchronously.


That's true, but as I said, it's fast enough it's not an issue for us.

David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)

Regards,

Joe