CFI when flash chips are not identical

Shane Volpe shanevolpe at
Fri Aug 13 15:32:29 EDT 2010

I'm working on a design that uses 2 flash ICs (2x16), one for bits
0-15 and the second for bits 16-31.  We were in the process of
approving 2 versions of Intel's P30 flash die and were doing some
testing when we found out that the newer die version has a larger
buffer so if it is in the 0-15 location then the Linux CFI uses its
buffer size causing flash writes fail since the older die version in
bits 16-31 does not have a big enough buffer.  This got me thinking
even some more, how is the busy bit handled for the flash in the CFI
interface, does it just check the 1st flash in a 2x16 configuration or
does it poll both?  If it does not poll both then could this be a
point of failure?

FYI:  I'm working on kernel version 2.6.23 (yes quite old!), I plan to
look at the latest kernel and see if the MaxBufWriteSize is still only
read from one IC and also compare how both kernels handle the busy

More information about the linux-mtd mailing list