mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 01:10:04 +00:00
![Stefan Agner](/assets/img/avatar_default.png)
This driver supports Freescale NFC (NAND flash controller) found on Vybrid (VF610), MPC5125, MCF54418 and Kinetis K70. The driver has been tested using 8-bit and 16-bit NAND interface on the ARM based Vybrid SoC VF500 and VF610 platform. parameter page reading. Limitations: - Untested on MPC5125 and M54418. - DMA and pipelining not used. - 2K pages or less. - No chip select, one NAND chip per controller. - No hardware ECC. Some paths have been hand-optimized and evaluated by measurements made using mtd_speedtest.ko on a 100MB MTD partition. Colibri VF50 eb write % eb read % page write % page read % rel/opt 5175 11537 4560 11039 opt 5164 -0.21 11420 -1.01 4737 +3.88 10918 -1.10 none 5113 -1.20 11352 -1.60 4490 -1.54 10865 -1.58 Colibri VF61 eb write % eb read % page write % page read % rel/opt 5766 13096 5459 12846 opt 5883 +2.03 13064 -0.24 5561 +1.87 12802 -0.34 none 5701 -1.13 12980 -0.89 5488 +0.53 12735 -0.86 rel = using readl_relaxed/writel_relaxed in optimized paths opt = hand-optimized by combining multiple accesses into one read/write The measurements have not been statistically verfied, hence use them with care. The author came to the conclusion that using the relaxed variants of readl/writel are not worth the additional code. Signed-off-by: Bill Pringlemeir <bpringlemeir@nbsps.com> Tested-by: Albert ARIBAUD <albert.aribaud@3adev.fr> Signed-off-by: Stefan Agner <stefan@agner.ch> Reviewed-by: Alexey Klimov <klimov.linux@gmail.com> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
59 lines
2.4 KiB
Makefile
59 lines
2.4 KiB
Makefile
#
|
|
# linux/drivers/nand/Makefile
|
|
#
|
|
|
|
obj-$(CONFIG_MTD_NAND) += nand.o
|
|
obj-$(CONFIG_MTD_NAND_ECC) += nand_ecc.o
|
|
obj-$(CONFIG_MTD_NAND_BCH) += nand_bch.o
|
|
obj-$(CONFIG_MTD_NAND_IDS) += nand_ids.o
|
|
obj-$(CONFIG_MTD_SM_COMMON) += sm_common.o
|
|
|
|
obj-$(CONFIG_MTD_NAND_CAFE) += cafe_nand.o
|
|
obj-$(CONFIG_MTD_NAND_AMS_DELTA) += ams-delta.o
|
|
obj-$(CONFIG_MTD_NAND_DENALI) += denali.o
|
|
obj-$(CONFIG_MTD_NAND_DENALI_PCI) += denali_pci.o
|
|
obj-$(CONFIG_MTD_NAND_DENALI_DT) += denali_dt.o
|
|
obj-$(CONFIG_MTD_NAND_AU1550) += au1550nd.o
|
|
obj-$(CONFIG_MTD_NAND_BF5XX) += bf5xx_nand.o
|
|
obj-$(CONFIG_MTD_NAND_S3C2410) += s3c2410.o
|
|
obj-$(CONFIG_MTD_NAND_DAVINCI) += davinci_nand.o
|
|
obj-$(CONFIG_MTD_NAND_DISKONCHIP) += diskonchip.o
|
|
obj-$(CONFIG_MTD_NAND_DOCG4) += docg4.o
|
|
obj-$(CONFIG_MTD_NAND_FSMC) += fsmc_nand.o
|
|
obj-$(CONFIG_MTD_NAND_SHARPSL) += sharpsl.o
|
|
obj-$(CONFIG_MTD_NAND_NANDSIM) += nandsim.o
|
|
obj-$(CONFIG_MTD_NAND_CS553X) += cs553x_nand.o
|
|
obj-$(CONFIG_MTD_NAND_NDFC) += ndfc.o
|
|
obj-$(CONFIG_MTD_NAND_ATMEL) += atmel_nand.o
|
|
obj-$(CONFIG_MTD_NAND_GPIO) += gpio.o
|
|
omap2_nand-objs := omap2.o
|
|
obj-$(CONFIG_MTD_NAND_OMAP2) += omap2_nand.o
|
|
obj-$(CONFIG_MTD_NAND_OMAP_BCH_BUILD) += omap_elm.o
|
|
obj-$(CONFIG_MTD_NAND_CM_X270) += cmx270_nand.o
|
|
obj-$(CONFIG_MTD_NAND_PXA3xx) += pxa3xx_nand.o
|
|
obj-$(CONFIG_MTD_NAND_TMIO) += tmio_nand.o
|
|
obj-$(CONFIG_MTD_NAND_PLATFORM) += plat_nand.o
|
|
obj-$(CONFIG_MTD_NAND_PASEMI) += pasemi_nand.o
|
|
obj-$(CONFIG_MTD_NAND_ORION) += orion_nand.o
|
|
obj-$(CONFIG_MTD_NAND_FSL_ELBC) += fsl_elbc_nand.o
|
|
obj-$(CONFIG_MTD_NAND_FSL_IFC) += fsl_ifc_nand.o
|
|
obj-$(CONFIG_MTD_NAND_FSL_UPM) += fsl_upm.o
|
|
obj-$(CONFIG_MTD_NAND_SLC_LPC32XX) += lpc32xx_slc.o
|
|
obj-$(CONFIG_MTD_NAND_MLC_LPC32XX) += lpc32xx_mlc.o
|
|
obj-$(CONFIG_MTD_NAND_SH_FLCTL) += sh_flctl.o
|
|
obj-$(CONFIG_MTD_NAND_MXC) += mxc_nand.o
|
|
obj-$(CONFIG_MTD_NAND_SOCRATES) += socrates_nand.o
|
|
obj-$(CONFIG_MTD_NAND_TXX9NDFMC) += txx9ndfmc.o
|
|
obj-$(CONFIG_MTD_NAND_NUC900) += nuc900_nand.o
|
|
obj-$(CONFIG_MTD_NAND_MPC5121_NFC) += mpc5121_nfc.o
|
|
obj-$(CONFIG_MTD_NAND_VF610_NFC) += vf610_nfc.o
|
|
obj-$(CONFIG_MTD_NAND_RICOH) += r852.o
|
|
obj-$(CONFIG_MTD_NAND_JZ4740) += jz4740_nand.o
|
|
obj-$(CONFIG_MTD_NAND_GPMI_NAND) += gpmi-nand/
|
|
obj-$(CONFIG_MTD_NAND_XWAY) += xway_nand.o
|
|
obj-$(CONFIG_MTD_NAND_BCM47XXNFLASH) += bcm47xxnflash/
|
|
obj-$(CONFIG_MTD_NAND_SUNXI) += sunxi_nand.o
|
|
obj-$(CONFIG_MTD_NAND_HISI504) += hisi504_nand.o
|
|
obj-$(CONFIG_MTD_NAND_BRCMNAND) += brcmnand/
|
|
|
|
nand-objs := nand_base.o nand_bbt.o nand_timings.o
|