[flashrom] flashrom OPCODES for SPI

Николай Николаев evrinoma at gmail.com
Tue Feb 5 11:32:31 CET 2013

Hi  Stefan

Sorry but i don't want disprove you, i just have a many free time and i
want to improve this project. But the dispute burning truth. 8)
All time from my last mail i'm searching spi flash chips documentation and
I found about 445 chips different brand and sorted them.
May be it will be useful for all community. We will made host with
SPI(Parallel and other) flash chips documentations and add link on wiki
for example
Eon EN25Q64(link to pdf) 8192 SPI ? ? ? ? 2.700 3.600

Studied documentation i regularity see that all chips has a support
standard OPcodes like this
exclude 10 Atmel chips from amount 445 and for him we will must write
special driver

and special OPcodes like a
Fast Dual read 0x3B
Auto Address increment 0xAD
and others - that codes is a different fetches spi flash chips

What does this mean. This mean that a spi controller has a standard OPcodes
for all flash chips and special OPcodes for each one flash chip. But if we
will change flash chip on other flash chip with different special OPcodes
that we will must replace special OPcodes. If we will not do it that we
can't use special OPcodes, but we can use standard OPcodes.
So, for more compatibility we will must verify - Does flash chip support
special OPcodes?. And if chip will support them that we will use them, but
if chip will not support them that we will use a standard OPcodes.
for example:
The function write chip used standard OPcodes flash chip called function
The function write chip used fetches OPcodes flash chip called function
If we can't change OPcodes in registers our SPI controller that we will not
write data to chip if we replace them.
But we will make a program check supporting OPcodes and switch a function
from spi_aai_write on spi_chip_write_256
After that we can easy write to flash
or fast - our SPI controller has supporting fetches OPcodes
or slow - our SPI controller hasn't supporting fetches OPcodes

Also i want to suggest exclude from struct flashchip {} parameters voltage,
name and add array of struct like a chipdata.
The struct chipdata contains information about all possible chip names and
various parameters
Because looked chips documents i see chips that have a one model_id but
have a various chips name, various voltage and various capacity
for example
MX25U6435F and MX25L6439E
MX25L12805D and MX25L25835E

With best regards Nikolay Nikolaev
С Уважением Николаев Николай
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.flashrom.org/pipermail/flashrom/attachments/20130205/8c1ea4b4/attachment.html>

More information about the flashrom mailing list