Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 178f16db authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files
parents 013a468c bf46b9a9
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -97,6 +97,8 @@ source "drivers/staging/octeon/Kconfig"

source "drivers/staging/serqt_usb2/Kconfig"

source "drivers/staging/spectra/Kconfig"

source "drivers/staging/quatech_usb2/Kconfig"

source "drivers/staging/vt6655/Kconfig"
+1 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ obj-$(CONFIG_R8187SE) += rtl8187se/
obj-$(CONFIG_RTL8192SU)		+= rtl8192su/
obj-$(CONFIG_RTL8192U)		+= rtl8192u/
obj-$(CONFIG_RTL8192E)		+= rtl8192e/
obj-$(CONFIG_SPECTRA)		+= spectra/
obj-$(CONFIG_TRANZPORT)		+= frontier/
obj-$(CONFIG_DREAM)		+= dream/
obj-$(CONFIG_POHMELFS)		+= pohmelfs/
+40 −0
Original line number Diff line number Diff line

menuconfig SPECTRA
	tristate "Denali Spectra Flash Translation Layer"
	depends on BLOCK
	default n
	---help---
	  Enable the FTL pseudo-filesystem used with the NAND Flash
	  controller on Intel Moorestown Platform to pretend to be a disk

choice
	prompt "Compile for"
	depends on SPECTRA
	default SPECTRA_MRST_HW

config SPECTRA_MRST_HW
	bool "Moorestown hardware mode"
	help
	  Driver communicates with the Moorestown hardware's register interface.
	  in DMA mode.

config SPECTRA_MTD
	bool "Linux MTD mode"
	depends on MTD
	help
	  Driver communicates with the kernel MTD subsystem instead of its own
	  built-in hardware driver.

config SPECTRA_EMU
	bool "RAM emulator testing"
	help
	  Driver emulates Flash on a RAM buffer and / or disk file.  Useful to test the behavior of FTL layer.

endchoice

config SPECTRA_MRST_HW_DMA
       bool
       default n
       depends on SPECTRA_MRST_HW
       help
         Use DMA for native hardware interface.
+11 −0
Original line number Diff line number Diff line
#
# Makefile of Intel Moorestown NAND controller driver
#

obj-$(CONFIG_SPECTRA) += spectra.o
spectra-y := ffsport.o flash.o lld.o
spectra-$(CONFIG_SPECTRA_MRST_HW) += lld_nand.o 
spectra-$(CONFIG_SPECTRA_MRST_HW_DMA) += lld_cdma.o
spectra-$(CONFIG_SPECTRA_EMU) += lld_emu.o
spectra-$(CONFIG_SPECTRA_MTD) += lld_mtd.o
+29 −0
Original line number Diff line number Diff line
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>
Loading