1# SPDX-License-Identifier: GPL-2.0
2#
3# Makefile for kernel SPI drivers.
4#
5
6ccflags-$(CONFIG_SPI_DEBUG) := -DDEBUG
7
8# small core, mostly translating board-specific
9# config declarations into driver model code
10obj-$(CONFIG_SPI_MASTER)		+= spi.o
11obj-$(CONFIG_SPI_MEM)			+= spi-mem.o
12obj-$(CONFIG_SPI_MUX)			+= spi-mux.o
13obj-$(CONFIG_SPI_SPIDEV)		+= spidev.o
14obj-$(CONFIG_SPI_LOOPBACK_TEST)		+= spi-loopback-test.o
15
16# SPI master controller drivers (bus)
17obj-$(CONFIG_SPI_ALTERA)		+= spi-altera-platform.o
18obj-$(CONFIG_SPI_ALTERA_CORE)		+= spi-altera-core.o
19obj-$(CONFIG_SPI_ALTERA_DFL)		+= spi-altera-dfl.o
20obj-$(CONFIG_SPI_AMLOGIC_SPIFC_A1)	+= spi-amlogic-spifc-a1.o
21obj-$(CONFIG_SPI_AR934X)		+= spi-ar934x.o
22obj-$(CONFIG_SPI_ARMADA_3700)		+= spi-armada-3700.o
23obj-$(CONFIG_SPI_ASPEED_SMC)		+= spi-aspeed-smc.o
24obj-$(CONFIG_SPI_ATMEL)			+= spi-atmel.o
25obj-$(CONFIG_SPI_ATMEL_QUADSPI)		+= atmel-quadspi.o
26obj-$(CONFIG_SPI_AT91_USART)		+= spi-at91-usart.o
27obj-$(CONFIG_SPI_ATH79)			+= spi-ath79.o
28obj-$(CONFIG_SPI_AU1550)		+= spi-au1550.o
29obj-$(CONFIG_SPI_AXI_SPI_ENGINE)	+= spi-axi-spi-engine.o
30obj-$(CONFIG_SPI_BCM2835)		+= spi-bcm2835.o
31obj-$(CONFIG_SPI_BCM2835AUX)		+= spi-bcm2835aux.o
32obj-$(CONFIG_SPI_BCM63XX)		+= spi-bcm63xx.o
33obj-$(CONFIG_SPI_BCM63XX_HSSPI)		+= spi-bcm63xx-hsspi.o
34obj-$(CONFIG_SPI_BCMBCA_HSSPI)		+= spi-bcmbca-hsspi.o
35obj-$(CONFIG_SPI_BCM_QSPI)		+= spi-iproc-qspi.o spi-brcmstb-qspi.o spi-bcm-qspi.o
36obj-$(CONFIG_SPI_BITBANG)		+= spi-bitbang.o
37obj-$(CONFIG_SPI_BUTTERFLY)		+= spi-butterfly.o
38obj-$(CONFIG_SPI_CADENCE)		+= spi-cadence.o
39obj-$(CONFIG_SPI_CADENCE_QUADSPI)	+= spi-cadence-quadspi.o
40obj-$(CONFIG_SPI_CADENCE_XSPI)		+= spi-cadence-xspi.o
41obj-$(CONFIG_SPI_CLPS711X)		+= spi-clps711x.o
42obj-$(CONFIG_SPI_COLDFIRE_QSPI)		+= spi-coldfire-qspi.o
43obj-$(CONFIG_SPI_CS42L43)		+= spi-cs42l43.o
44obj-$(CONFIG_SPI_DAVINCI)		+= spi-davinci.o
45obj-$(CONFIG_SPI_DLN2)			+= spi-dln2.o
46obj-$(CONFIG_SPI_DESIGNWARE)		+= spi-dw.o
47spi-dw-y				:= spi-dw-core.o
48spi-dw-$(CONFIG_SPI_DW_DMA)		+= spi-dw-dma.o
49obj-$(CONFIG_SPI_DW_BT1)		+= spi-dw-bt1.o
50obj-$(CONFIG_SPI_DW_MMIO)		+= spi-dw-mmio.o
51obj-$(CONFIG_SPI_DW_PCI)		+= spi-dw-pci.o
52obj-$(CONFIG_SPI_EP93XX)		+= spi-ep93xx.o
53obj-$(CONFIG_SPI_FALCON)		+= spi-falcon.o
54obj-$(CONFIG_SPI_FSI)			+= spi-fsi.o
55obj-$(CONFIG_SPI_FSL_CPM)		+= spi-fsl-cpm.o
56obj-$(CONFIG_SPI_FSL_DSPI)		+= spi-fsl-dspi.o
57obj-$(CONFIG_SPI_FSL_LIB)		+= spi-fsl-lib.o
58obj-$(CONFIG_SPI_FSL_ESPI)		+= spi-fsl-espi.o
59obj-$(CONFIG_SPI_FSL_LPSPI)		+= spi-fsl-lpspi.o
60obj-$(CONFIG_SPI_FSL_QUADSPI)		+= spi-fsl-qspi.o
61obj-$(CONFIG_SPI_FSL_SPI)		+= spi-fsl-spi.o
62obj-$(CONFIG_SPI_GPIO)			+= spi-gpio.o
63obj-$(CONFIG_SPI_GXP)			+= spi-gxp.o
64obj-$(CONFIG_SPI_HISI_KUNPENG)		+= spi-hisi-kunpeng.o
65obj-$(CONFIG_SPI_HISI_SFC_V3XX)		+= spi-hisi-sfc-v3xx.o
66obj-$(CONFIG_SPI_IMG_SPFI)		+= spi-img-spfi.o
67obj-$(CONFIG_SPI_IMX)			+= spi-imx.o
68obj-$(CONFIG_SPI_INGENIC)		+= spi-ingenic.o
69obj-$(CONFIG_SPI_INTEL)			+= spi-intel.o
70obj-$(CONFIG_SPI_INTEL_PCI)		+= spi-intel-pci.o
71obj-$(CONFIG_SPI_INTEL_PLATFORM)	+= spi-intel-platform.o
72obj-$(CONFIG_SPI_LANTIQ_SSC)		+= spi-lantiq-ssc.o
73obj-$(CONFIG_SPI_JCORE)			+= spi-jcore.o
74obj-$(CONFIG_SPI_LM70_LLP)		+= spi-lm70llp.o
75obj-$(CONFIG_SPI_LOONGSON_CORE)		+= spi-loongson-core.o
76obj-$(CONFIG_SPI_LOONGSON_PCI)		+= spi-loongson-pci.o
77obj-$(CONFIG_SPI_LOONGSON_PLATFORM)	+= spi-loongson-plat.o
78obj-$(CONFIG_SPI_LP8841_RTC)		+= spi-lp8841-rtc.o
79obj-$(CONFIG_SPI_MESON_SPICC)		+= spi-meson-spicc.o
80obj-$(CONFIG_SPI_MESON_SPIFC)		+= spi-meson-spifc.o
81obj-$(CONFIG_SPI_MICROCHIP_CORE)	+= spi-microchip-core.o
82obj-$(CONFIG_SPI_MICROCHIP_CORE_QSPI)	+= spi-microchip-core-qspi.o
83obj-$(CONFIG_SPI_MPC512x_PSC)		+= spi-mpc512x-psc.o
84obj-$(CONFIG_SPI_MPC52xx_PSC)		+= spi-mpc52xx-psc.o
85obj-$(CONFIG_SPI_MPC52xx)		+= spi-mpc52xx.o
86obj-$(CONFIG_SPI_MT65XX)                += spi-mt65xx.o
87obj-$(CONFIG_SPI_MT7621)		+= spi-mt7621.o
88obj-$(CONFIG_SPI_MTK_NOR)		+= spi-mtk-nor.o
89obj-$(CONFIG_SPI_MTK_SNFI)		+= spi-mtk-snfi.o
90obj-$(CONFIG_SPI_MXIC)			+= spi-mxic.o
91obj-$(CONFIG_SPI_MXS)			+= spi-mxs.o
92obj-$(CONFIG_SPI_WPCM_FIU)		+= spi-wpcm-fiu.o
93obj-$(CONFIG_SPI_NPCM_FIU)		+= spi-npcm-fiu.o
94obj-$(CONFIG_SPI_NPCM_PSPI)		+= spi-npcm-pspi.o
95obj-$(CONFIG_SPI_NXP_FLEXSPI)		+= spi-nxp-fspi.o
96obj-$(CONFIG_SPI_OC_TINY)		+= spi-oc-tiny.o
97spi-octeon-objs				:= spi-cavium.o spi-cavium-octeon.o
98obj-$(CONFIG_SPI_OCTEON)		+= spi-octeon.o
99obj-$(CONFIG_SPI_OMAP_UWIRE)		+= spi-omap-uwire.o
100obj-$(CONFIG_SPI_OMAP24XX)		+= spi-omap2-mcspi.o
101obj-$(CONFIG_SPI_TI_QSPI)		+= spi-ti-qspi.o
102obj-$(CONFIG_SPI_ORION)			+= spi-orion.o
103obj-$(CONFIG_SPI_PCI1XXXX)		+= spi-pci1xxxx.o
104obj-$(CONFIG_SPI_PIC32)			+= spi-pic32.o
105obj-$(CONFIG_SPI_PIC32_SQI)		+= spi-pic32-sqi.o
106obj-$(CONFIG_SPI_PL022)			+= spi-pl022.o
107obj-$(CONFIG_SPI_PPC4xx)		+= spi-ppc4xx.o
108spi-pxa2xx-platform-objs		:= spi-pxa2xx.o spi-pxa2xx-dma.o
109obj-$(CONFIG_SPI_PXA2XX)		+= spi-pxa2xx-platform.o
110obj-$(CONFIG_SPI_PXA2XX_PCI)		+= spi-pxa2xx-pci.o
111obj-$(CONFIG_SPI_QCOM_GENI)		+= spi-geni-qcom.o
112obj-$(CONFIG_SPI_QCOM_QSPI)		+= spi-qcom-qspi.o
113obj-$(CONFIG_SPI_QUP)			+= spi-qup.o
114obj-$(CONFIG_SPI_ROCKCHIP)		+= spi-rockchip.o
115obj-$(CONFIG_SPI_ROCKCHIP_SFC)		+= spi-rockchip-sfc.o
116obj-$(CONFIG_SPI_RB4XX)			+= spi-rb4xx.o
117obj-$(CONFIG_MACH_REALTEK_RTL)		+= spi-realtek-rtl.o
118obj-$(CONFIG_SPI_RPCIF)			+= spi-rpc-if.o
119obj-$(CONFIG_SPI_RSPI)			+= spi-rspi.o
120obj-$(CONFIG_SPI_RZV2M_CSI)		+= spi-rzv2m-csi.o
121obj-$(CONFIG_SPI_S3C64XX)		+= spi-s3c64xx.o
122obj-$(CONFIG_SPI_SC18IS602)		+= spi-sc18is602.o
123obj-$(CONFIG_SPI_SH)			+= spi-sh.o
124obj-$(CONFIG_SPI_SH_HSPI)		+= spi-sh-hspi.o
125obj-$(CONFIG_SPI_SH_MSIOF)		+= spi-sh-msiof.o
126obj-$(CONFIG_SPI_SH_SCI)		+= spi-sh-sci.o
127obj-$(CONFIG_SPI_SIFIVE)		+= spi-sifive.o
128obj-$(CONFIG_SPI_SLAVE_MT27XX)          += spi-slave-mt27xx.o
129obj-$(CONFIG_SPI_SN_F_OSPI)		+= spi-sn-f-ospi.o
130obj-$(CONFIG_SPI_SPRD)			+= spi-sprd.o
131obj-$(CONFIG_SPI_SPRD_ADI)		+= spi-sprd-adi.o
132obj-$(CONFIG_SPI_STM32) 		+= spi-stm32.o
133obj-$(CONFIG_SPI_STM32_QSPI) 		+= spi-stm32-qspi.o
134obj-$(CONFIG_SPI_ST_SSC4)		+= spi-st-ssc4.o
135obj-$(CONFIG_SPI_SUN4I)			+= spi-sun4i.o
136obj-$(CONFIG_SPI_SUN6I)			+= spi-sun6i.o
137obj-$(CONFIG_SPI_SUNPLUS_SP7021)	+= spi-sunplus-sp7021.o
138obj-$(CONFIG_SPI_SYNQUACER)		+= spi-synquacer.o
139obj-$(CONFIG_SPI_TEGRA210_QUAD)		+= spi-tegra210-quad.o
140obj-$(CONFIG_SPI_TEGRA114)		+= spi-tegra114.o
141obj-$(CONFIG_SPI_TEGRA20_SFLASH)	+= spi-tegra20-sflash.o
142obj-$(CONFIG_SPI_TEGRA20_SLINK)		+= spi-tegra20-slink.o
143obj-$(CONFIG_SPI_TLE62X0)		+= spi-tle62x0.o
144spi-thunderx-objs			:= spi-cavium.o spi-cavium-thunderx.o
145obj-$(CONFIG_SPI_THUNDERX)		+= spi-thunderx.o
146obj-$(CONFIG_SPI_TOPCLIFF_PCH)		+= spi-topcliff-pch.o
147obj-$(CONFIG_SPI_UNIPHIER)		+= spi-uniphier.o
148obj-$(CONFIG_SPI_XCOMM)		+= spi-xcomm.o
149obj-$(CONFIG_SPI_XILINX)		+= spi-xilinx.o
150obj-$(CONFIG_SPI_XLP)			+= spi-xlp.o
151obj-$(CONFIG_SPI_XTENSA_XTFPGA)		+= spi-xtensa-xtfpga.o
152obj-$(CONFIG_SPI_ZYNQ_QSPI)		+= spi-zynq-qspi.o
153obj-$(CONFIG_SPI_ZYNQMP_GQSPI)		+= spi-zynqmp-gqspi.o
154obj-$(CONFIG_SPI_AMD)			+= spi-amd.o
155
156# SPI slave protocol handlers
157obj-$(CONFIG_SPI_SLAVE_TIME)		+= spi-slave-time.o
158obj-$(CONFIG_SPI_SLAVE_SYSTEM_CONTROL)	+= spi-slave-system-control.o
159