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

Commit 7d17c02a authored by Maxim Levitsky's avatar Maxim Levitsky Committed by David Woodhouse
Browse files

mtd: Add new SmartMedia/xD FTL



This implements new readwrite SmartMedia/xd FTL.

mtd driver must have support proper ECC and badblock verification
based on oob parts for 512 bytes nand.

Also mtd driver must define read_oob and write_oob, which are used
to read and write both data and oob together.

Signed-off-by: default avatarMaxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
parent a7790532
Loading
Loading
Loading
Loading
+21 −0
Original line number Original line Diff line number Diff line
@@ -304,6 +304,27 @@ config SSFDC
	  This enables read only access to SmartMedia formatted NAND
	  This enables read only access to SmartMedia formatted NAND
	  flash. You can mount it with FAT file system.
	  flash. You can mount it with FAT file system.



config SM_FTL
	tristate "SmartMedia/xD new translation layer"
	depends on EXPERIMENTAL && BLOCK
	select MTD_BLKDEVS
	help
	  This enables new and very EXPERMENTAL support for SmartMedia/xD
	  FTL (Flash tanslation layer)
	  Write support isn't yet well tested, therefore this code IS likely to
	  eat your card, so please don't use it together with valuable data.
	  Use readonly driver (CONFIG_SSFDC) instead.

config SM_FTL_MUSEUM
	boolean "Additional Support for 1MiB and 2MiB SmartMedia cards"
	depends on SM_FTL && MTD_NAND
	select MTD_NAND_ECC_SMC
	help
	  Very old SmartMedia cards need ECC to be calculated in the FTL
	  Such cards are very rare, thus enabling this option is mostly useless
	  Also this support is completely UNTESTED.

config MTD_OOPS
config MTD_OOPS
	tristate "Log panic/oops to an MTD buffer"
	tristate "Log panic/oops to an MTD buffer"
	depends on MTD
	depends on MTD
+1 −0
Original line number Original line Diff line number Diff line
@@ -24,6 +24,7 @@ obj-$(CONFIG_NFTL) += nftl.o
obj-$(CONFIG_INFTL)		+= inftl.o
obj-$(CONFIG_INFTL)		+= inftl.o
obj-$(CONFIG_RFD_FTL)		+= rfd_ftl.o
obj-$(CONFIG_RFD_FTL)		+= rfd_ftl.o
obj-$(CONFIG_SSFDC)		+= ssfdc.o
obj-$(CONFIG_SSFDC)		+= ssfdc.o
obj-$(CONFIG_SM_FTL)		+= sm_ftl.o
obj-$(CONFIG_MTD_OOPS)		+= mtdoops.o
obj-$(CONFIG_MTD_OOPS)		+= mtdoops.o


nftl-objs		:= nftlcore.o nftlmount.o
nftl-objs		:= nftlcore.o nftlmount.o