
On Thursday 24 January 2008, Wolfgang Denk wrote:
In message 200801240413.04318.vapier@gentoo.org you wrote:
I think you are doing something wrong when you try to use "eeprom" to access "SPI flash" - these are differnt entities...
let's make sure we're talking about the same thing. SPI flashes are eeproms that have a SPI interface. so Spansion's S25FLxxxx, ST's m25pxtmels AT45DBxxxx, Winbond's W25Xxx/W25Pxx, and such. they need to be erased before writing, are split up into some unit size, etc... all SPI flashes nowadays conform to the JEDEC standard (JEP106) which allows for querying of manufacturer/device ids so that they can be dynamically detected. sounds to me like "eeprom" is the correct interface for utilizing these devices.
Sounds to me as if you were talking about flash devices with a SPI bus interface.
The original SPI eeprom support was implemented som 7+ years ago for the Siemens CCM board; this is where the "CONFIG_SPI" stuff in common/cmd_eeprom.c comes from, and this was supported by the cpu/mpc8xx/spi.c SPI driver. Note that this was a real EEPROM device, i. e. we just needed spi_read() and spi_write() functions to access it. No erase, no sectors or any such stuff.
That was an EEPROM - what you have looks like a flash device to me.
OK, thanks for the explanation. this is much before my time ;).
at the moment, the Blackfin SPI flash driver hides all of the erasing/writing stuff for the user so that it integrates easily into the eeprom command. i'm going to guess that you dont like the sound of that at all ;). -mike