Autodetection problems
I'm using kernel 2.6.10 on a PPC440GX with TWO 32MiB Intel J-series Strataflash. These are x16 devices and they are arranged in parallel across the 32-bit data bus (interleave=2). They share a common chip select and are mapped at the top of the address space.
With mostly default options to the kernel, the MTD autodetection logic performs two calls to do_cfi_probe() at offset 0x000000 and 0x2000000, and then proclaims, erroneously:
Found 1 x32 devices at 0x0 in 32-bit bank
Attempts to use the flash in this state fail miserably (tons of block bitmap errors, cannot access beyond 32MiB, etc).
Thanks to suggestion by ThomasG, I switched on the advanced options, selected _only_ 32-bit buswidth, and _only_ interleave of 2. Now the kernel reports what I expected:
Found 2 x16 devices at 0x0 in 32-bit bank
and everything works like it a charm.
Though I'd mention this in case anyone encounters similar situation. I'm not sure if the autodetection code is meant to work in my situation...
PS. I also learned that having jffs2 debug level set at 2 causes considerably slowdown - doing an "ls" was taking 11 seconds. Putting debug back to 0 makes everything work quickly as you'd expect.
I'm currently not subscribed to the list, please cc: any replies! -Ralph