mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 00:34:20 +08:00
a5356aef6a
- Add driver for NXP FlexSPI host controller (0) What is the FlexSPI controller? FlexSPI is a flexsible SPI host controller which supports two SPI channels and up to 4 external devices. Each channel supports Single/Dual/Quad/Octal mode data transfer (1/2/4/8 bidirectional data lines) i.e. FlexSPI acts as an interface to external devices, maximum 4, each with up to 8 bidirectional data lines. It uses new SPI memory interface of the SPI framework to issue flash memory operations to up to four connected flash devices (2 buses with 2 CS each). (1) Tested this driver with the mtd_debug and JFFS2 filesystem utility on NXP LX2160ARDB and LX2160AQDS targets. LX2160ARDB is having two NOR slave device connected on single bus A i.e. A0 and A1 (CS0 and CS1). LX2160AQDS is having two NOR slave device connected on separate buses one flash on A0 and second on B1 i.e. (CS0 and CS3). Verified this driver on following SPI NOR flashes: Micron, mt35xu512ab, [Read - 1 bit mode] Cypress, s25fl512s, [Read - 1/2/4 bit mode] Signed-off-by: Yogesh Narayan Gaur <yogeshnarayan.gaur@nxp.com> Reviewed-by: Frieder Schrempf <frieder.schrempf@kontron.de> Reviewed-by: Boris Brezillon <bbrezillon@kernel.org> Tested-by: Ashish Kumar <Ashish.Kumar@nxp.com> Signed-off-by: Mark Brown <broonie@kernel.org>
125 lines
5.3 KiB
Makefile
125 lines
5.3 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Makefile for kernel SPI drivers.
|
|
#
|
|
|
|
ccflags-$(CONFIG_SPI_DEBUG) := -DDEBUG
|
|
|
|
# small core, mostly translating board-specific
|
|
# config declarations into driver model code
|
|
obj-$(CONFIG_SPI_MASTER) += spi.o
|
|
obj-$(CONFIG_SPI_MEM) += spi-mem.o
|
|
obj-$(CONFIG_SPI_SPIDEV) += spidev.o
|
|
obj-$(CONFIG_SPI_LOOPBACK_TEST) += spi-loopback-test.o
|
|
|
|
# SPI master controller drivers (bus)
|
|
obj-$(CONFIG_SPI_ALTERA) += spi-altera.o
|
|
obj-$(CONFIG_SPI_ARMADA_3700) += spi-armada-3700.o
|
|
obj-$(CONFIG_SPI_ATMEL) += spi-atmel.o
|
|
obj-$(CONFIG_SPI_ATMEL_QUADSPI) += atmel-quadspi.o
|
|
obj-$(CONFIG_SPI_AT91_USART) += spi-at91-usart.o
|
|
obj-$(CONFIG_SPI_ATH79) += spi-ath79.o
|
|
obj-$(CONFIG_SPI_AU1550) += spi-au1550.o
|
|
obj-$(CONFIG_SPI_AXI_SPI_ENGINE) += spi-axi-spi-engine.o
|
|
obj-$(CONFIG_SPI_BCM2835) += spi-bcm2835.o
|
|
obj-$(CONFIG_SPI_BCM2835AUX) += spi-bcm2835aux.o
|
|
obj-$(CONFIG_SPI_BCM63XX) += spi-bcm63xx.o
|
|
obj-$(CONFIG_SPI_BCM63XX_HSSPI) += spi-bcm63xx-hsspi.o
|
|
obj-$(CONFIG_SPI_BCM_QSPI) += spi-iproc-qspi.o spi-brcmstb-qspi.o spi-bcm-qspi.o
|
|
obj-$(CONFIG_SPI_BITBANG) += spi-bitbang.o
|
|
obj-$(CONFIG_SPI_BUTTERFLY) += spi-butterfly.o
|
|
obj-$(CONFIG_SPI_CADENCE) += spi-cadence.o
|
|
obj-$(CONFIG_SPI_CLPS711X) += spi-clps711x.o
|
|
obj-$(CONFIG_SPI_COLDFIRE_QSPI) += spi-coldfire-qspi.o
|
|
obj-$(CONFIG_SPI_DAVINCI) += spi-davinci.o
|
|
obj-$(CONFIG_SPI_DLN2) += spi-dln2.o
|
|
obj-$(CONFIG_SPI_DESIGNWARE) += spi-dw.o
|
|
obj-$(CONFIG_SPI_DW_MMIO) += spi-dw-mmio.o
|
|
obj-$(CONFIG_SPI_DW_PCI) += spi-dw-midpci.o
|
|
spi-dw-midpci-objs := spi-dw-pci.o spi-dw-mid.o
|
|
obj-$(CONFIG_SPI_EFM32) += spi-efm32.o
|
|
obj-$(CONFIG_SPI_EP93XX) += spi-ep93xx.o
|
|
obj-$(CONFIG_SPI_FALCON) += spi-falcon.o
|
|
obj-$(CONFIG_SPI_FSL_CPM) += spi-fsl-cpm.o
|
|
obj-$(CONFIG_SPI_FSL_DSPI) += spi-fsl-dspi.o
|
|
obj-$(CONFIG_SPI_FSL_LIB) += spi-fsl-lib.o
|
|
obj-$(CONFIG_SPI_FSL_ESPI) += spi-fsl-espi.o
|
|
obj-$(CONFIG_SPI_FSL_LPSPI) += spi-fsl-lpspi.o
|
|
obj-$(CONFIG_SPI_FSL_QUADSPI) += spi-fsl-qspi.o
|
|
obj-$(CONFIG_SPI_FSL_SPI) += spi-fsl-spi.o
|
|
obj-$(CONFIG_SPI_GPIO) += spi-gpio.o
|
|
obj-$(CONFIG_SPI_IMG_SPFI) += spi-img-spfi.o
|
|
obj-$(CONFIG_SPI_IMX) += spi-imx.o
|
|
obj-$(CONFIG_SPI_LANTIQ_SSC) += spi-lantiq-ssc.o
|
|
obj-$(CONFIG_SPI_JCORE) += spi-jcore.o
|
|
obj-$(CONFIG_SPI_LM70_LLP) += spi-lm70llp.o
|
|
obj-$(CONFIG_SPI_LP8841_RTC) += spi-lp8841-rtc.o
|
|
obj-$(CONFIG_SPI_MESON_SPICC) += spi-meson-spicc.o
|
|
obj-$(CONFIG_SPI_MESON_SPIFC) += spi-meson-spifc.o
|
|
obj-$(CONFIG_SPI_MPC512x_PSC) += spi-mpc512x-psc.o
|
|
obj-$(CONFIG_SPI_MPC52xx_PSC) += spi-mpc52xx-psc.o
|
|
obj-$(CONFIG_SPI_MPC52xx) += spi-mpc52xx.o
|
|
obj-$(CONFIG_SPI_MT65XX) += spi-mt65xx.o
|
|
obj-$(CONFIG_SPI_MXIC) += spi-mxic.o
|
|
obj-$(CONFIG_SPI_MXS) += spi-mxs.o
|
|
obj-$(CONFIG_SPI_NPCM_PSPI) += spi-npcm-pspi.o
|
|
obj-$(CONFIG_SPI_NUC900) += spi-nuc900.o
|
|
obj-$(CONFIG_SPI_NXP_FLEXSPI) += spi-nxp-fspi.o
|
|
obj-$(CONFIG_SPI_OC_TINY) += spi-oc-tiny.o
|
|
spi-octeon-objs := spi-cavium.o spi-cavium-octeon.o
|
|
obj-$(CONFIG_SPI_OCTEON) += spi-octeon.o
|
|
obj-$(CONFIG_SPI_OMAP_UWIRE) += spi-omap-uwire.o
|
|
obj-$(CONFIG_SPI_OMAP_100K) += spi-omap-100k.o
|
|
obj-$(CONFIG_SPI_OMAP24XX) += spi-omap2-mcspi.o
|
|
obj-$(CONFIG_SPI_TI_QSPI) += spi-ti-qspi.o
|
|
obj-$(CONFIG_SPI_ORION) += spi-orion.o
|
|
obj-$(CONFIG_SPI_PIC32) += spi-pic32.o
|
|
obj-$(CONFIG_SPI_PIC32_SQI) += spi-pic32-sqi.o
|
|
obj-$(CONFIG_SPI_PL022) += spi-pl022.o
|
|
obj-$(CONFIG_SPI_PPC4xx) += spi-ppc4xx.o
|
|
spi-pxa2xx-platform-objs := spi-pxa2xx.o spi-pxa2xx-dma.o
|
|
obj-$(CONFIG_SPI_PXA2XX) += spi-pxa2xx-platform.o
|
|
obj-$(CONFIG_SPI_PXA2XX_PCI) += spi-pxa2xx-pci.o
|
|
obj-$(CONFIG_SPI_QCOM_GENI) += spi-geni-qcom.o
|
|
obj-$(CONFIG_SPI_QCOM_QSPI) += spi-qcom-qspi.o
|
|
obj-$(CONFIG_SPI_QUP) += spi-qup.o
|
|
obj-$(CONFIG_SPI_ROCKCHIP) += spi-rockchip.o
|
|
obj-$(CONFIG_SPI_RB4XX) += spi-rb4xx.o
|
|
obj-$(CONFIG_SPI_RSPI) += spi-rspi.o
|
|
obj-$(CONFIG_SPI_S3C24XX) += spi-s3c24xx-hw.o
|
|
spi-s3c24xx-hw-y := spi-s3c24xx.o
|
|
spi-s3c24xx-hw-$(CONFIG_SPI_S3C24XX_FIQ) += spi-s3c24xx-fiq.o
|
|
obj-$(CONFIG_SPI_S3C64XX) += spi-s3c64xx.o
|
|
obj-$(CONFIG_SPI_SC18IS602) += spi-sc18is602.o
|
|
obj-$(CONFIG_SPI_SH) += spi-sh.o
|
|
obj-$(CONFIG_SPI_SH_HSPI) += spi-sh-hspi.o
|
|
obj-$(CONFIG_SPI_SH_MSIOF) += spi-sh-msiof.o
|
|
obj-$(CONFIG_SPI_SH_SCI) += spi-sh-sci.o
|
|
obj-$(CONFIG_SPI_SIRF) += spi-sirf.o
|
|
obj-$(CONFIG_SPI_SLAVE_MT27XX) += spi-slave-mt27xx.o
|
|
obj-$(CONFIG_SPI_SPRD) += spi-sprd.o
|
|
obj-$(CONFIG_SPI_SPRD_ADI) += spi-sprd-adi.o
|
|
obj-$(CONFIG_SPI_STM32) += spi-stm32.o
|
|
obj-$(CONFIG_SPI_STM32_QSPI) += spi-stm32-qspi.o
|
|
obj-$(CONFIG_SPI_ST_SSC4) += spi-st-ssc4.o
|
|
obj-$(CONFIG_SPI_SUN4I) += spi-sun4i.o
|
|
obj-$(CONFIG_SPI_SUN6I) += spi-sun6i.o
|
|
obj-$(CONFIG_SPI_TEGRA114) += spi-tegra114.o
|
|
obj-$(CONFIG_SPI_TEGRA20_SFLASH) += spi-tegra20-sflash.o
|
|
obj-$(CONFIG_SPI_TEGRA20_SLINK) += spi-tegra20-slink.o
|
|
obj-$(CONFIG_SPI_TLE62X0) += spi-tle62x0.o
|
|
spi-thunderx-objs := spi-cavium.o spi-cavium-thunderx.o
|
|
obj-$(CONFIG_SPI_THUNDERX) += spi-thunderx.o
|
|
obj-$(CONFIG_SPI_TOPCLIFF_PCH) += spi-topcliff-pch.o
|
|
obj-$(CONFIG_SPI_TXX9) += spi-txx9.o
|
|
obj-$(CONFIG_SPI_UNIPHIER) += spi-uniphier.o
|
|
obj-$(CONFIG_SPI_XCOMM) += spi-xcomm.o
|
|
obj-$(CONFIG_SPI_XILINX) += spi-xilinx.o
|
|
obj-$(CONFIG_SPI_XLP) += spi-xlp.o
|
|
obj-$(CONFIG_SPI_XTENSA_XTFPGA) += spi-xtensa-xtfpga.o
|
|
obj-$(CONFIG_SPI_ZYNQMP_GQSPI) += spi-zynqmp-gqspi.o
|
|
|
|
# SPI slave protocol handlers
|
|
obj-$(CONFIG_SPI_SLAVE_TIME) += spi-slave-time.o
|
|
obj-$(CONFIG_SPI_SLAVE_SYSTEM_CONTROL) += spi-slave-system-control.o
|