CFI problems with 32bit bus and 4 devices

David Woodhouse dwmw2 at
Wed Jan 10 15:37:14 EST 2001

On Wed, 10 Jan 2001, [iso-8859-1] Stéphane Laroche wrote:

> So, for my setup, which has 4 x16 devices on a 32 bit bus (AMDs),  the
> CFI query structure is located at offsets 0x80, 0x88, 0x90, etc.
> cfi_read_query()  uses only the buswidth to calculate the offset, which
> is not general enough (it used to be like that before I played with the
> code a bit last summer).  It's obviously wrong in my case ( 0x10 << 2 !=
> 0x80 ).

Sorry, mea culpa. I'd forgotten - or just didn't realise this arrangement
was used. How did {amd,cfi}_send_gen_cmd() send a command to all four
chips? With two separate 32-bit writes?

> Any comments?  Is it possible that I'm the only one using that kind of
> geometry?

(reads responses) Evidently not. Hmmm.

Technically, I think this setup would fit into the original model as
buswidth == 8, and we should be using read64/write64 for accesses to the

Just how crap is gcc's long long support these days? Could we use __u64
for this?


To unsubscribe, send "unsubscribe mtd" to majordomo at

More information about the linux-mtd mailing list