raw nand on x86 - reference boards

David Woodhouse dwmw2 at infradead.org
Mon Sep 29 05:54:41 EDT 2003


On Mon, 2003-09-29 at 17:37 +0800, daniel at dmhome.net wrote: 
> I am familiar with those devices(we are using them in our current
> designs), we are looking to replace them with raw nand - As you
> recomended me a couple of months ago, in a discussion we had on this
> list, concerning jffs2 on diskonchip devices. 
> So actually, the design people at my company are ready to switch to
> using this kind of flash - only I'll need some working sample to
> convince them, especially with regard to booting. 
You can just use the DiskOnChip as raw NAND -- look at 
drivers/mtd/nand/diskonchip.c

It uses software ECC (although I'm actually going to fix that before the
new driver obsoletes the standalone doc2000 driver), and just waggles
the NAND control lines as a real 'raw NAND' solution would.

For booting you do need some 'real' NOR flash, although presumably you
have that for your BIOS anyway. The DiskOnChip Millennium could be used
as a 'total' solution, replacing the BIOS flash too -- see LinuxBIOS for
examples of this.

Pick a bootloader to stick into flash with the BIOS. Add NAND flash and
JFFS2 support, and make it can load and run a kernel from the JFFS2 file
system (or even a separate raw partition of the flash).

During development, you could even use the DiskOnChip's mechanism for
loading BIOS extensions -- see how it's done for Grub. You can worry
about putting it on the system board with the BIOS later.

RedBoot might be an ideal candidate for this since the JFFS2 code
already runs in eCos; you just have to add the NAND support and the
trivial command handler to actually load a file into memory from the
file system.

-- 
dwmw2




More information about the linux-mtd mailing list