[CFT] FIX CFI cmdset 0002 for x16 and x32 devices.
Eric W. Biederman
ebiederman at lnxi.com
Fri Sep 24 00:29:03 EDT 2004
ebiederman at lnxi.com (Eric W. Biederman) writes:
> So it looks like the TODO item is to just look up what cfi standard
> says are the unlock addresses for cfi command set 2. And make certain
> the cfi hard codes are correct and nothing should be broken.
Looking at cfi specification and the AMD/Fujitsu specific
portion of it. This is what the CFI address assignment code
needs to look like:
/* Set the default CFI lock/unlock addresses */
cfi->addr_unlock1 = 0x555;
cfi->addr_unlock2 = 0x2aa;
/* Modify the unlock address if we are in compatibility mode */
if ( /* x16 in x8 mode */
((cfi->device_type == CFI_DEVICETYPE_X8) &&
(cfi->cfiq->InterfaceDesc == 2)) ||
/* x32 in x16 mode */
((cfi->device_type == CFI_DEVICETYPE_X16) &&
(cfi->cfiq->InterfaceDesc == 4)))
cfi->addr_unlock1 = 0xaaa;
cfi->addr_unlock2 = 0x555;
The previous code to handle this was quite bogus. Unless I completely
cannot read the code.
I have committed this change and corresponding change to use
Will people please test this?
If I don't hear any bug reports I will assume everything is perfect
and start pushing this code upstream.
More information about the linux-mtd