# 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_HISI_SFC_V3XX)		+= spi-hisi-sfc-v3xx.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_MT7621)		+= spi-mt7621.o
obj-$(CONFIG_SPI_MXIC)			+= spi-mxic.o
obj-$(CONFIG_SPI_MXS)			+= spi-mxs.o
obj-$(CONFIG_SPI_NPCM_FIU)		+= spi-npcm-fiu.o
obj-$(CONFIG_SPI_NPCM_PSPI)		+= spi-npcm-pspi.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_SIFIVE)		+= spi-sifive.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_SYNQUACER)		+= spi-synquacer.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_ZYNQ_QSPI)		+= spi-zynq-qspi.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
