bcm27xx: add kmod-rp1-pio-uart package

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>
This commit is contained in:
Joshua Covington authored and Jonas Jelonek committed 2026-08-14 10:31:19 +02:00
1 parent f6bc2a3b29
commit ee752ad9b4
1 file changed
+18
+18
View 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