nand flash driver
jasmine at regolith.co.uk
jasmine at regolith.co.uk
Thu Jul 10 09:05:40 EDT 2003
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.
Most people running NAND flash on general-purpose designs use GPIO lines
to drive their ALE, CLE and to read the RNB line. Some of these designs
also use a GPIO to generate read and write strobes. This is a very simple
design to implement.
Some custom SoCs and logic-array-based implementations put all this logic
inside the chip, decoding ALE and CLE cycles to different addresses, so
that you write the address latch bytes to one address and the command
latch bytes to a different one. This is slightly neater, though can have
complications with interrupt latency (requirement to stretch read and
write cycles to some parts of the address map, etc.)
Some devices take all this stuff and put it inside a piece of logic that
manages a pipeline of bytes in and out of the NAND. Some SoCs do this,
and of course DiskOnChip does something like this, resolving NAND access
into cycles that look like conventional NOR or ROM cycles. 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.
-Jas.
More information about the linux-mtd
mailing list