34b8c66173
Add support for the QSPI controller found some on Freescale/Motorola Coldfire MCUs. Full duplex, active high cs, spi modes 0-3 and word sizes 8-16 bits are supported. The hardware drives the MISO, MOSI and SCLK lines, but the chip selects are managed via GPIO and must be configured by the board code. The QSPI controller has an 80 byte buffer which allows us to transfer up to 16 words at a time. For transfers longer than 16 words, we split the buffer in half so we can update in one half while the controller is operating on the other half. Interrupt latencies then ultimately limits our sustained thru-put to something less than half the maximum speed supported by the part. Signed-off-by: Steven King <sfking@fdwdc.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
63 lines
2.2 KiB
Makefile
63 lines
2.2 KiB
Makefile
#
|
|
# Makefile for kernel SPI drivers.
|
|
#
|
|
|
|
ifeq ($(CONFIG_SPI_DEBUG),y)
|
|
EXTRA_CFLAGS += -DDEBUG
|
|
endif
|
|
|
|
# small core, mostly translating board-specific
|
|
# config declarations into driver model code
|
|
obj-$(CONFIG_SPI_MASTER) += spi.o
|
|
|
|
# SPI master controller drivers (bus)
|
|
obj-$(CONFIG_SPI_ATMEL) += atmel_spi.o
|
|
obj-$(CONFIG_SPI_BFIN) += spi_bfin5xx.o
|
|
obj-$(CONFIG_SPI_BITBANG) += spi_bitbang.o
|
|
obj-$(CONFIG_SPI_AU1550) += au1550_spi.o
|
|
obj-$(CONFIG_SPI_BUTTERFLY) += spi_butterfly.o
|
|
obj-$(CONFIG_SPI_COLDFIRE_QSPI) += coldfire_qspi.o
|
|
obj-$(CONFIG_SPI_DAVINCI) += davinci_spi.o
|
|
obj-$(CONFIG_SPI_DESIGNWARE) += dw_spi.o
|
|
obj-$(CONFIG_SPI_DW_PCI) += dw_spi_pci.o
|
|
obj-$(CONFIG_SPI_GPIO) += spi_gpio.o
|
|
obj-$(CONFIG_SPI_IMX) += spi_imx.o
|
|
obj-$(CONFIG_SPI_LM70_LLP) += spi_lm70llp.o
|
|
obj-$(CONFIG_SPI_PXA2XX) += pxa2xx_spi.o
|
|
obj-$(CONFIG_SPI_OMAP_UWIRE) += omap_uwire.o
|
|
obj-$(CONFIG_SPI_OMAP24XX) += omap2_mcspi.o
|
|
obj-$(CONFIG_SPI_OMAP_100K) += omap_spi_100k.o
|
|
obj-$(CONFIG_SPI_ORION) += orion_spi.o
|
|
obj-$(CONFIG_SPI_PL022) += amba-pl022.o
|
|
obj-$(CONFIG_SPI_MPC52xx_PSC) += mpc52xx_psc_spi.o
|
|
obj-$(CONFIG_SPI_MPC52xx) += mpc52xx_spi.o
|
|
obj-$(CONFIG_SPI_MPC8xxx) += spi_mpc8xxx.o
|
|
obj-$(CONFIG_SPI_PPC4xx) += spi_ppc4xx.o
|
|
obj-$(CONFIG_SPI_S3C24XX_GPIO) += spi_s3c24xx_gpio.o
|
|
obj-$(CONFIG_SPI_S3C24XX) += spi_s3c24xx_hw.o
|
|
obj-$(CONFIG_SPI_S3C64XX) += spi_s3c64xx.o
|
|
obj-$(CONFIG_SPI_TXX9) += spi_txx9.o
|
|
obj-$(CONFIG_SPI_XILINX) += xilinx_spi.o
|
|
obj-$(CONFIG_SPI_XILINX_OF) += xilinx_spi_of.o
|
|
obj-$(CONFIG_SPI_XILINX_PLTFM) += xilinx_spi_pltfm.o
|
|
obj-$(CONFIG_SPI_SH_SCI) += spi_sh_sci.o
|
|
obj-$(CONFIG_SPI_SH_MSIOF) += spi_sh_msiof.o
|
|
obj-$(CONFIG_SPI_STMP3XXX) += spi_stmp.o
|
|
obj-$(CONFIG_SPI_NUC900) += spi_nuc900.o
|
|
|
|
# special build for s3c24xx spi driver with fiq support
|
|
spi_s3c24xx_hw-y := spi_s3c24xx.o
|
|
spi_s3c24xx_hw-$(CONFIG_SPI_S3C24XX_FIQ) += spi_s3c24xx_fiq.o
|
|
|
|
# ... add above this line ...
|
|
|
|
# SPI protocol drivers (device/link on bus)
|
|
obj-$(CONFIG_SPI_SPIDEV) += spidev.o
|
|
obj-$(CONFIG_SPI_TLE62X0) += tle62x0.o
|
|
# ... add above this line ...
|
|
|
|
# SPI slave controller drivers (upstream link)
|
|
# ... add above this line ...
|
|
|
|
# SPI slave drivers (protocol for that link)
|
|
# ... add above this line ...
|