From: Chuanhong Guo Date: Thu, 19 Sep 2024 10:02:16 +0800 Subject: [PATCH 17/20] spi: add support for sf21-qspi Add support for the QSPI controller found on Siflower SF21A6826 and SF21H8898. It is based on ARM PL022, with custom modifications to support Dual/Quad SPI modes. A new driver is created because this modified controller is supported under the SPI-MEM framework. While the setup procedure is a bit similar to the spi-pl022.c, there aren't much code shared between them. Signed-off-by: Qingfang Deng Signed-off-by: Chuanhong Guo --- drivers/spi/Kconfig | 7 +++++++ drivers/spi/Makefile | 1 + 2 files changed, 8 insertions(+) --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig @@ -949,6 +949,13 @@ config SPI_SIFIVE help This exposes the SPI controller IP from SiFive. +config SPI_SF21_QSPI + tristate "Siflower SF21A6826/SF21H8898 QSPI controller" + depends on ARCH_SIFLOWER || COMPILE_TEST + help + This enables support for the SPI controller present on the + Siflower SF21A6826/SF21H8898 SoCs. + config SPI_SLAVE_MT27XX tristate "MediaTek SPI slave device" depends on ARCH_MEDIATEK || COMPILE_TEST --- a/drivers/spi/Makefile +++ b/drivers/spi/Makefile @@ -126,6 +126,7 @@ obj-$(CONFIG_SPI_SH_HSPI) += spi-sh-hsp 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_SF21_QSPI) += spi-sf21-qspi.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