mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
abf0090753
Baikal-T1 is equipped with three DW APB SSI-based MMIO SPI controllers. Two of them are pretty much normal: with IRQ, DMA, FIFOs of 64 words depth, 4x CSs, but the third one as being a part of the Baikal-T1 System Boot Controller has got a very limited resources: no IRQ, no DMA, only a single native chip-select and Tx/Rx FIFO with just 8 words depth available. In order to provide a transparent initial boot code execution the Boot SPI controller is also utilized by an vendor-specific IP-block, which exposes an SPI flash direct mapping interface. Since both direct mapping and SPI controller normal utilization are mutual exclusive only one of these interfaces can be used to access an external SPI slave device. That's why a dedicated mux is embedded into the System Boot Controller. All of that is taken into account in the Baikal-T1-specific DW APB SSI glue driver implemented by means of the DW SPI core module. Co-developed-by: Ramil Zaripov <Ramil.Zaripov@baikalelectronics.ru> Signed-off-by: Ramil Zaripov <Ramil.Zaripov@baikalelectronics.ru> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru> Link: https://lore.kernel.org/r/20201007235511.4935-22-Sergey.Semin@baikalelectronics.ru Signed-off-by: Mark Brown <broonie@kernel.org>
139 lines
5.9 KiB
Makefile
139 lines
5.9 KiB
Makefile
# 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.o
|
|
obj-$(CONFIG_SPI_AR934X) += spi-ar934x.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_CADENCE_QUADSPI) += spi-cadence-quadspi.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_EFM32) += spi-efm32.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_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_MTK_NOR) += spi-mtk-nor.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_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
|
|
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
|
|
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
|