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