nand flash driver

David Woodhouse dwmw2 at infradead.org
Thu Jul 10 10:20:54 EDT 2003


On Thu, 2003-07-10 at 14:05, jasmine at regolith.co.uk wrote:
> On Wed, 9 Jul 2003, Charles Manning wrote:
> > I think most people connect CLE and ALE to GPIO pins, but some application 
> > notes describe driving these via the address bus. you should then be able to 
> > drive the lines the way you want by accessing the corresponding addresses.

Hmmm. When sending multiple bytes of address, isn't ALE supposed to
remain high for the entire duration, without going low again between
cycles? How do you achieve this if it's on the address bus?

>  This is, in some ways, the easiest to implement, though it seems to
> have caused MTD the most problems, though that is mostly because of
> M-Systems' intentional obfuscation tactics.

The main problem wasn't intentional obfuscation. It wasn't really even
lack of documentation either -- we've had docs for the DiskOnChip 2000
and Millennium hardware since 1999.

The problem was really that the DiskOnChip drivers long predated the
generic NAND driver code we have now, and indeed a real understanding of
NAND flash. So all the perceived bizarreness of NAND flash helped to
obfuscate the DiskOnChip driver unnecessarily.

Take a look at the new drivers/mtd/nand/diskonchip.c and it's really not
that obfuscated at all. It'll get a bit more cluttered when I make it
support multiple chips and the DiskOnChip hardware ECC, but it's still
not too bad.

All M-Systems' current devices are supported by Linux¹, and they seem
interested in ensuring that remains the case. I've been very frustrated
by them in the past, as I know have you -- but they seem to be playing
nicely now.

-- 
dwmw2

¹ Well OK, with one or two exceptions which we're currently working on fixing.




More information about the linux-mtd mailing list