# 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_AMLOGIC_SPIFC_A1)	+= spi-amlogic-spifc-a1.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_BCMBCA_HSSPI)		+= spi-bcmbca-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_CS42L43)		+= spi-cs42l43.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_LOONGSON_CORE)		+= spi-loongson-core.o
obj-$(CONFIG_SPI_LOONGSON_PCI)		+= spi-loongson-pci.o
obj-$(CONFIG_SPI_LOONGSON_PLATFORM)	+= spi-loongson-plat.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_MICROCHIP_CORE_QSPI)	+= spi-microchip-core-qspi.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_WPCM_FIU)		+= spi-wpcm-fiu.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_OMAP24XX)		+= spi-omap2-mcspi.o
obj-$(CONFIG_SPI_TI_QSPI)		+= spi-ti-qspi.o
obj-$(CONFIG_SPI_ORION)			+= spi-orion.o
obj-$(CONFIG_SPI_PCI1XXXX)		+= spi-pci1xxxx.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_RZV2M_CSI)		+= spi-rzv2m-csi.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_SN_F_OSPI)		+= spi-sn-f-ospi.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