Carl-Daniel Hailfinger wrote:
flashrom is GPL. Is that OK for you?
Yes
Note: you will need to accomodate low-level function for I/O acces, this layer is NOT included.
Yes, we will have to write such a layer anyway.
Below are some linux macros I used there.
Under linux it should be enough to rise IOPL and then use inportb/ outportb (beware arguments order, I use DJGPP syntax).
Thanks for the hint!
just iopl(3); should be need but it requires root privileges.
I found some time to check your chip ID list against my chip ID database and I have a few questions:
The following definition conflicts with the definition in my database for SST25VF032B. SST25VF032 0x2542 Maybe the SST25VF032 and the SST25VF032B have different IDs. Do you have a datasheet for the SST25VF032?
Do you know where I can get data sheets for the following chips? Google turns up nothing. SST25VF064 0x2543 SST25VF128 0x2544 SST26VF064 0x2603
Here's my collection of SST SPI FLash datasheets: http://rayer.ic.cz/350d/sst.zip
/****************************************************************************/ /* Linuxova I/O inlined ASM makra a funkce */ /****************************************************************************/ #ifdef __linux__ // begin of Linux stuff //***************** aliases for Linux macros ******************************** #ifndef inportb #define inportb(port) inb(port) #endif
#ifndef inportw #define inportw(port) inw(port) #endif
#ifndef inportl #define inportl(port) inl(port) #endif
#ifndef outportb #define outportb(port,data) outb(data,port) // makro outb ma obracene poradi parametru #endif
#ifndef outportw #define outportw(port,data) outw(data,port) // makro outw ma obracene poradi parametru #endif
#ifndef outportl #define outportl(port,data) outl(data,port) // makro outl ma obracene poradi parametru #endif
#ifndef udelay // pauza v us #define udelay usleep // linux ma presny casovac s rozlisenim na us #endif
#ifndef delay // pauza v ms #define delay(msec) usleep(msec*1000) // linux ma presny casovac s rozlisenim na us #endif