# 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_MUX)			+= spi-mux.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-platform.o
obj-$(CONFIG_SPI_ALTERA_CORE)		+= spi-altera-core.o
obj-$(CONFIG_SPI_ALTERA_DFL)		+= spi-altera-dfl.o
obj-$(CONFIG_SPI_AR934X)		+= spi-ar934x.o
obj-$(CONFIG_SPI_ARMADA_3700)		+= spi-armada-3700.o
obj-$(CONFIG_SPI_ASPEED_SMC)		+= spi-aspeed-smc.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_CADENCE_QUADSPI)	+= spi-cadence-quadspi.o
obj-$(CONFIG_SPI_CADENCE_XSPI)		+= spi-cadence-xspi.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
spi-dw-y				:= spi-dw-core.o
spi-dw-$(CONFIG_SPI_DW_DMA)		+= spi-dw-dma.o
obj-$(CONFIG_SPI_DW_BT1)		+= spi-dw-bt1.o
obj-$(CONFIG_SPI_DW_MMIO)		+= spi-dw-mmio.o
obj-$(CONFIG_SPI_DW_PCI)		+= spi-dw-pci.o
obj-$(CONFIG_SPI_EP93XX)		+= spi-ep93xx.o
obj-$(CONFIG_SPI_FALCON)		+= spi-falcon.o
obj-$(CONFIG_SPI_FSI)			+= spi-fsi.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_GXP)			+= spi-gxp.o
obj-$(CONFIG_SPI_HISI_KUNPENG)		+= spi-hisi-kunpeng.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_INGENIC)		+= spi-ingenic.o
obj-$(CONFIG_SPI_INTEL)			+= spi-intel.o
obj-$(CONFIG_SPI_INTEL_PCI)		+= spi-intel-pci.o
obj-$(CONFIG_SPI_INTEL_PLATFORM)	+= spi-intel-platform.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_MICROCHIP_CORE)	+= spi-microchip-core.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_MTK_NOR)		+= spi-mtk-nor.o
obj-$(CONFIG_SPI_MTK_SNFI)		+= spi-mtk-snfi.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_ROCKCHIP_SFC)		+= spi-rockchip-sfc.o
obj-$(CONFIG_SPI_RB4XX)			+= spi-rb4xx.o
obj-$(CONFIG_MACH_REALTEK_RTL)		+= spi-realtek-rtl.o
obj-$(CONFIG_SPI_RPCIF)			+= spi-rpc-if.o
obj-$(CONFIG_SPI_RSPI)			+= spi-rspi.o
obj-$(CONFIG_SPI_S3C24XX)		+= spi-s3c24xx-hw.o
spi-s3c24xx-hw-y			:= spi-s3c24xx.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_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_SUNPLUS_SP7021)	+= spi-sunplus-sp7021.o
obj-$(CONFIG_SPI_SYNQUACER)		+= spi-synquacer.o
obj-$(CONFIG_SPI_TEGRA210_QUAD)		+= spi-tegra210-quad.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_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
obj-$(CONFIG_SPI_AMD)			+= spi-amd.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
