Am Freitag, den 28.05.2010, 12:48 -0400 schrieb fritz:
The summary: Flashrom (from svn) would detect the other chips using addresses 0x5555, 0x2AAA, 0x5555 Flashrom (from svn) would try to detect the Am29F040 using addresses 0x0555, 0x02AA, 0x0555 - which is not according to the datasheet.
You found a bug. If you send your patch with a sign-off http://www.coreboot.org/Development_Guidelines#Sign-off_Procedure the fix will be added with you as primary author.
Mine is not the only chip flashrom does that with: http://pastebin.org/288436
Which is OK. Some flash chip data sheets specifiy to use the addresses 0x555, 0x2AA, 0x555
For some reason, having FEATURE_ADDR_2AA set makes jedec.c screw up the address.
It's the intended effect of that FEATURE. It means that the chip it with this feature needs 0555/02AA/0555 instead of 5555/2AAA/5555. When we unified chip drivers, it seems we didn't read datasheet thouroughly enough, although we worked quite carefully on it, and got this chip wrong. We are very sorry for the time you wasted on that.
I think we were in IRC contact. For some of us, finding this mistake would have been a couple-of-minute jobs (can be seen from flashrom -V output), so having asked about this undetected chip might have saved you hours of debugging.
I now have my chip programmed, and I didn't have to write an application from scratch to do it. If it had gone smoother, I'd profess thanks, but in my sleep-deprived state I think all you are going get out of me is a grunt and a respectful nod :)
But *we* do need to thank you for reporting the wrong flag.
Regards, Michael Karcher