[PATCH v2 0/4] Add support for StarFive JHB100 UART Routing
From: Changhuang Liang <changhuang.liang@starfivetech.com>
Date: 2026-09-05 10:29:27
Also in:
linux-devicetree, linux-doc, lkml, openbmc
Currently, since Aspeed also has a similar driver, there is some code with identical structures on both sides, but a common framework is lacking. Therefore, this series introduces a generic UART routing framework. It also moves aspeed-uart-routing.c under this generic framework and makes it use the interfaces provided by the generic framework. At the same time, StarFive also registers its own driver based on this generic framework. StarFive JHB100 UART Routing allows dynamic routing of inputs between built-in UARTs and physical serial I/O ports, enabling use cases such as Host <-> BMC communication via UARTs. This series has been tested on the EVB1 board. changes since v1: - Add a new patch 1 to implement the generic UART routing framework (drivers/uart-routing). - Add a new patch 2 to switch aspeed-uart-routing.c to use the generic UART routing framework PATCH 3: - Move the dt-bindings to the uart-routing directory. PATCH 4: - Register the JHB100 UART routing driver via the UART routing framework v1: https://lore.kernel.org/all/20260830065118.51551-1-changhuang.liang@starfivetech.com/ (local) Changhuang Liang (4): uart-routing: Add common UART routing framework soc: aspeed: Move UART routing driver to drivers/uart-routing dt-bindings: uart-routing: Add binding for StarFive JHB100 UART routing uart-routing: Add UART Routing driver for StarFive JHB100 SoC .../sysfs-driver-starfive-uart-routing | 45 ++ .../uart-routing/starfive,uart-routing.yaml | 46 ++ Documentation/driver-api/index.rst | 1 + Documentation/driver-api/uart-routing.rst | 145 +++++ MAINTAINERS | 25 + drivers/Kconfig | 2 + drivers/Makefile | 1 + drivers/soc/aspeed/Kconfig | 10 - drivers/soc/aspeed/Makefile | 1 - drivers/soc/aspeed/aspeed-uart-routing.c | 601 ------------------ drivers/uart-routing/Kconfig | 44 ++ drivers/uart-routing/Makefile | 5 + drivers/uart-routing/aspeed-uart-routing.c | 415 ++++++++++++ drivers/uart-routing/starfive-uart-routing.c | 192 ++++++ drivers/uart-routing/uart-routing.c | 200 ++++++ drivers/uart-routing/uart-routing.h | 84 +++ 16 files changed, 1205 insertions(+), 612 deletions(-) create mode 100644 Documentation/ABI/testing/sysfs-driver-starfive-uart-routing create mode 100644 Documentation/devicetree/bindings/uart-routing/starfive,uart-routing.yaml create mode 100644 Documentation/driver-api/uart-routing.rst delete mode 100644 drivers/soc/aspeed/aspeed-uart-routing.c create mode 100644 drivers/uart-routing/Kconfig create mode 100644 drivers/uart-routing/Makefile create mode 100644 drivers/uart-routing/aspeed-uart-routing.c create mode 100644 drivers/uart-routing/starfive-uart-routing.c create mode 100644 drivers/uart-routing/uart-routing.c create mode 100644 drivers/uart-routing/uart-routing.h -- 2.25.1