Subject: NAND driver design theory
To: None <tech-kern@netbsd.org>
From: Peter Seebach <seebs@plethora.net>
List: tech-kern
Date: 03/08/2006 03:32:57
What should a NAND flash driver DO?

I hypothesize that it is probably, for now, good enough to just have it show
up as a block device, just like a disk.  This lets us leave questions such as
"what filesystem do we use" up to userland, which is probably the right place
for them anyway in most cases.

Looking at the Linux code (which may taint me), they have a generic NAND
driver that is passed functions to use to perform hardware operations, such
as enabling writes or reads, and then device-specific glue code to provide
those functions.  This seems plausible.  In some cases, "device-specific"
may be machine-specific; for instance, the TAMS 3011 (my target system) uses
pins on its gpio device, as well as direct memory-mapped registers, to
communicate with the flash device.

And, before I get too far into this:
1.  Am I right that merely having seen Linux code doesn't "taint" me for
purposes of copyright?
2.  Is anyone else either interested in this, or working on it?

-s