
Siflower SF21A6826/SF21H8898 are a family of RISC-V SoCs with: * Quad-core T-Head C908 (1.125G for SF21A6826, 1.25G for SF21H8898) * DDR3/DDR4 memory controller * 1 QSGMII 4x1G * 1 SGMII/2500Base-X 2.5G * 1 additional RGMII on SF21H8898 * Network offloading engine for L2 switching and L3 NAT * 2 PCIE Gen2 lanes, operating in either one PCIE Gen2x2 or two PCIE Gen2x1 mode * 1 USB2.0 Link: https://github.com/openwrt/openwrt/pull/17115 Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
47 lines
1.6 KiB
Diff
47 lines
1.6 KiB
Diff
From: Chuanhong Guo <gch981213@gmail.com>
|
|
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 <qingfang.deng@siflower.com.cn>
|
|
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
|
|
---
|
|
drivers/spi/Kconfig | 7 +++++++
|
|
drivers/spi/Makefile | 1 +
|
|
2 files changed, 8 insertions(+)
|
|
|
|
--- a/drivers/spi/Kconfig
|
|
+++ b/drivers/spi/Kconfig
|
|
@@ -940,6 +940,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
|
|
@@ -125,6 +125,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
|