Kernel driver aspeed-uart-routing ================================= Supported chips: ASPEED AST2500/AST2600 Author: Google LLC Description ----------- The Aspeed AST2500/AST2600 allows to dynamically route the inputs for the built-in UARTS and physical serial I/O ports. This allows, for example, to connect the output of UART to another UART. This can be used to enable host<->BMC communication via UARTs, e.g. to allow access to the host's serial console. This driver is for the BMC side. The sysfs files allow the BMC userspace which owns the system configuration policy, to configure how UARTs and physical serial I/O ports are routed. The driver provides the following files in sysfs: uart1 Configure the input signal to UART1. uart2 Configure the input signal to UART2. uart3 Configure the input signal to UART3. uart4 Configure the input signal to UART4. uart5 Configure the input signal to UART5. io1 Configure the input signal to physical serial port 1. io2 Configure the input signal to physical serial port 2. io3 Configure the input signal to physical serial port 3. io4 Configure the input signal to physical serial port 4. io5 Configure the input signal to physical serial port 5. When read, each file shows the list of available options with the currently selected option marked by square brackets "[]". The list of available options depends on the selected file. Example: $ cat /sys/bus/platform/drivers/aspeed-uart-routing/*.uart_routing/uart1 [io1] io2 io3 io4 uart2 uart3 uart4 io6 In this case, UART1 gets its input signal from IO1 (physical serial port 1). $ echo -n "uart3" \ >/sys/bus/platform/drivers/aspeed-uart-routing/*.uart_routing/uart1 $ cat /sys/bus/platform/drivers/aspeed-uart-routing/*.uart_routing/uart1 io1 io2 io3 io4 uart2 [uart3] uart4 io6