OpenCloudOS-Kernel/drivers/staging/spectra
Linus Torvalds e0d65113a7 Merge git://git.infradead.org/mtd-2.6
* git://git.infradead.org/mtd-2.6: (226 commits)
  mtd: tests: annotate as DANGEROUS in Kconfig
  mtd: tests: don't use mtd0 as a default
  mtd: clean up usage of MTD_DOCPROBE_ADDRESS
  jffs2: add compr=lzo and compr=zlib options
  jffs2: implement mount option parsing and compression overriding
  mtd: nand: initialize ops.mode
  mtd: provide an alias for the redboot module name
  mtd: m25p80: don't probe device which has status of 'disabled'
  mtd: nand_h1900 never worked
  mtd: Add DiskOnChip G3 support
  mtd: m25p80: add EON flash EN25Q32B into spi flash id table
  mtd: mark block device queue as non-rotational
  mtd: r852: make r852_pm_ops static
  mtd: m25p80: add support for at25df321a spi data flash
  mtd: mxc_nand: preset_v1_v2: unlock all NAND flash blocks
  mtd: nand: switch `check_pattern()' to standard `memcmp()'
  mtd: nand: invalidate cache on unaligned reads
  mtd: nand: do not scan bad blocks with NAND_BBT_NO_OOB set
  mtd: nand: wait to set BBT version
  mtd: nand: scrub BBT on ECC errors
  ...

Fix up trivial conflicts:
 - arch/arm/mach-at91/board-usb-a9260.c
	Merged into board-usb-a926x.c
 - drivers/mtd/maps/lantiq-flash.c
	add_mtd_partitions -> mtd_device_register vs changed to use
	mtd_device_parse_register.
2011-11-07 09:11:16 -08:00
..
Kconfig Merge 'staging-next' to Linus's tree 2010-10-28 09:44:56 -07:00
Makefile
README
ffsdefs.h
ffsport.c staging: spectra: Use memdup_user 2011-08-23 15:22:58 -07:00
ffsport.h staging: spectra: move all init logic into nand_pci_probe 2010-11-17 13:14:14 -08:00
flash.c Fix common misspellings 2011-03-31 11:26:23 -03:00
flash.h staging/trivial: fix typos concerning "management" 2010-09-04 21:23:26 -07:00
lld.c
lld.h
lld_cdma.c
lld_cdma.h
lld_emu.c staging, spectra: Remove unnecessary casts of void ptr returning alloc function return values 2010-11-09 16:45:12 -08:00
lld_emu.h
lld_mtd.c mtd: rename MTD_OOB_* to MTD_OPS_* 2011-09-11 15:28:59 +03:00
lld_mtd.h
lld_nand.c spectra: enable device before poking it 2011-07-18 13:22:53 -07:00
lld_nand.h
nand_regs.h
spectraswconfig.h

README

This is a driver for NAND controller of Intel Moorestown platform.

This driver is a standalone linux block device driver, it acts as if it's a normal hard disk.
It includes three layer:
	block layer interface - file ffsport.c
	Flash Translation Layer (FTL) - file flash.c (implement the NAND flash Translation Layer, includs address mapping, garbage collection, wear-leveling and so on)
	Low level layer - file lld_nand.c/lld_cdma.c/lld_emu.c (which implements actual controller hardware registers access)

This driver can be build as modules or build-in.

Dependency:
This driver has dependency on IA Firmware of Intel Moorestown platform.
It need the IA Firmware to create the block table for the first time.
And to validate this driver code without IA Firmware, you can change the
macro AUTO_FORMAT_FLASH from 0 to 1 in file spectraswconfig.h. Thus the
driver will erase the whole nand flash and create a new block table.

TODO:
	- Enable Command DMA feature support
	- lower the memory footprint
	- Remove most of the unnecessary global variables
	- Change all the upcase variable / functions name to lowercase
	- Some other misc bugs

Please send patches to:
	Greg Kroah-Hartman <gregkh@suse.de>

And Cc to: Gao Yunpeng <yunpeng.gao@intel.com>