]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
kernel: add support for DesignWare SPI MMIO controller 19049/head
authorAlbrecht Lohofener <albrechtloh@gmx.de>
Sun, 8 Jun 2025 07:23:42 +0000 (09:23 +0200)
committerÁlvaro Fernández Rojas <noltari@gmail.com>
Mon, 9 Jun 2025 09:43:46 +0000 (11:43 +0200)
Add kernel packages for DesignWare SPI core and MMIO controllers.
This is needed for the RP1 SoC found on RPi 5 devices.

Tested with a Microchip ENC28J60 Ethernet controller on a RPi 5.

Signed-off-by: Albrecht Lohofener <albrechtloh@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19049
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
package/kernel/linux/modules/spi.mk
target/linux/generic/config-6.12
target/linux/generic/config-6.6

index 78a1c8a03283b21fcecc2ff7394f7803ce4ce8f2..5e8ab03b1800c0c5e0549d3d160343aa19462246 100644 (file)
@@ -73,3 +73,41 @@ define KernelPackage/spi-dev/description
 endef
 
 $(eval $(call KernelPackage,spi-dev))
+
+
+define KernelPackage/spi-dw
+  SUBMENU:=$(SPI_MENU)
+  TITLE:=DesignWare SPI controller driver (core)
+  KCONFIG:=\
+    CONFIG_SPI=y \
+    CONFIG_SPI_DESIGNWARE \
+    CONFIG_SPI_DYNAMIC=y \
+    CONFIG_SPI_MASTER=y
+  FILES:=\
+    $(LINUX_DIR)/drivers/spi/spi-dw.ko
+  AUTOLOAD:=$(call AutoProbe,spi-dw)
+endef
+
+define KernelPackage/spi-dw/description
+ This package contains the DesignWare SPI core driver.
+endef
+
+$(eval $(call KernelPackage,spi-dw))
+
+
+define KernelPackage/spi-dw-mmio
+  SUBMENU:=$(SPI_MENU)
+  TITLE:=DesignWare SPI controller driver (MMIO)
+  DEPENDS:=+kmod-spi-dw
+  KCONFIG:=\
+    CONFIG_SPI_DW_MMIO
+  FILES:=\
+    $(LINUX_DIR)/drivers/spi/spi-dw-mmio.ko
+  AUTOLOAD:=$(call AutoProbe,spi-dw-mmio)
+endef
+
+define KernelPackage/spi-dw-mmio/description
+ This package contains the DesignWare SPI MMIO driver.
+endef
+
+$(eval $(call KernelPackage,spi-dw-mmio))
index 594c0165281fbbe37f6c9aa9373591a2f360e306..cb6faac20cbe6deff7f80a1c755ce281d67c0b6e 100644 (file)
@@ -6329,6 +6329,11 @@ CONFIG_SND_X86=y
 # CONFIG_SPI_CH341 is not set
 # CONFIG_SPI_DEBUG is not set
 # CONFIG_SPI_DESIGNWARE is not set
+# CONFIG_SPI_DW_BT1 is not set
+# CONFIG_SPI_DW_BT1_DIRMAP is not set
+# CONFIG_SPI_DW_DMA is not set
+# CONFIG_SPI_DW_MMIO is not set
+# CONFIG_SPI_DW_PCI is not set
 # CONFIG_SPI_FSL_DSPI is not set
 # CONFIG_SPI_FSL_ESPI is not set
 # CONFIG_SPI_FSL_SPI is not set
index 6bb3dcf1e667cb3c33fe6dc6e77f684e2181dd6c..fa9ab09cf3ce35a957fb27eec5be521cc8be6ae3 100644 (file)
@@ -6217,6 +6217,11 @@ CONFIG_SND_X86=y
 # CONFIG_SPI_CADENCE_XSPI is not set
 # CONFIG_SPI_DEBUG is not set
 # CONFIG_SPI_DESIGNWARE is not set
+# CONFIG_SPI_DW_BT1 is not set
+# CONFIG_SPI_DW_BT1_DIRMAP is not set
+# CONFIG_SPI_DW_DMA is not set
+# CONFIG_SPI_DW_MMIO is not set
+# CONFIG_SPI_DW_PCI is not set
 # CONFIG_SPI_FSL_DSPI is not set
 # CONFIG_SPI_FSL_ESPI is not set
 # CONFIG_SPI_FSL_SPI is not set