On Fri, 25 Dec 2015 10:03:56 +0100 Michael Karcher flashrom@mkarcher.dialup.fu-berlin.de wrote:
On 25.12.2015 03:03, Stefan Tauner wrote:
On Sat, 19 Jun 2010 14:04:21 -0700 audiohacked at gmail.com (Sean Nelson) wrote:
On 5/28/10 9:48 AM, fritz wrote:
However, the chip I wanted to program - Am29F040B - I could NOT detect.
I'll spare you the in-depth story of the past twelve hours I've spent working on it.
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.
The Problem is the Am29F040B uses 0x2AA variant, but the Am29F040 uses 0x2AAA. What AMD/Spansion did was change the command addresses without changing the chip ids. Sadly there's no way to distinguish between the two.
Seems like they have done that between Am29F010 and Am29F010A as well (cf. "Not detecting Am29F010 using 3Com PCI nic" by Ignatius Grippa)...
Actually, there is of course a way to distinguish them: probe once with FEATURE_ADDR_2AA and once with FEATURE_ADDR_2AAA :) I'll try to get Ignatius to test this...
The AMD Am29F040B is clearly probable with FEATURE_ADDR_2AAA, too. I am looking at AMD publication 21445, Rev E, issued Novermber 29, 2000. Note 4 on page 14 indicates that: "Address bits A18–A11 are don’t cares for unlock and command cycles, unless SA or PA required." 0x2800 (the additional Bits in 0x2AAA compared to 0x2AA) are bits A11 and A13, so this chip just doesn't care.
Oh hai!
Yes, indeed. Also the Am29F080 and Am29F080B feature this misfeature. I have a patch prepared that splits all of them. This will likely result in two definitions matching the chip with the current probing as you explained but will make it possible to distinguish them later with the new probing framework.