]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
bcm27xx: add kmod-rp1-pio-uart package
authorJoshua Covington <joshuacov@gmail.com>
Sun, 9 Aug 2026 13:58:06 +0000 (13:58 +0000)
committerJonas Jelonek <jelonek.jonas@gmail.com>
Fri, 14 Aug 2026 08:31:19 +0000 (10:31 +0200)
Add a KernelPackage for CONFIG_SERIAL_RP1_PIO_UART, a software UART
implemented on the RP1 PIO block with DMA-driven TX/RX and a PIO
interrupt for break detection. Only 8N1 with no hardware flow control
is supported.

The package follows the same pattern as the other RP1 PIO consumers
(kmod-pwm-pio-rp1, kmod-ws2812-pio-rp1): it depends on kmod-rp1-pio
and is only available on bcm2712. Guard on 6.18, since the driver is
not available on 6.12.

Signed-off-by: Joshua Covington <joshuacov@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24645
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
target/linux/bcm27xx/modules/other.mk

index 4918306308a1306880b159bc254cfa790a780bde..47b463c7ac00fcb29949c46f2cf8c7e96636781a 100644 (file)
@@ -125,6 +125,24 @@ endef
 $(eval $(call KernelPackage,ws2812-pio-rp1))
 
 
+define KernelPackage/rp1-pio-uart
+  SUBMENU:=$(OTHER_MENU)
+  TITLE:=RP1 PIO-based UART support
+  KCONFIG:=CONFIG_SERIAL_RP1_PIO_UART
+  FILES:=$(LINUX_DIR)/drivers/tty/serial/rp1-pio-uart.ko
+  AUTOLOAD:=$(call AutoLoad,21,rp1-pio-uart)
+  DEPENDS:=@TARGET_bcm27xx_bcm2712 @LINUX_6_18 +kmod-rp1-pio
+endef
+
+define KernelPackage/rp1-pio-uart/description
+  A software UART implemented using the RP1 PIO block, with DMA
+  moving data and a PIO interrupt used for break detection. Only
+  8N1 with no hardware flow control is supported.
+endef
+
+$(eval $(call KernelPackage,rp1-pio-uart))
+
+
 define KernelPackage/rp1-mailbox
   SUBMENU:=$(OTHER_MENU)
   TITLE:=RP1 mailbox IPC driver