Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: aspeed: tyan-s7106: Add uart_routing and fix vuart config

Configure the vuart in such a way that it does not inhibit the SuperIO's
UART from functioning correctly. This allows the same DTS to be used for
both configurations with SuperIO and VUART (depending on the BIOS
build). The decision on whether to actually enable VUART can then be
made at runtime.

This change also enables the new uart_routing driver for the SuperIO
case.

Signed-off-by: Oskar Senft <osk@google.com>
Link: https://lore.kernel.org/r/20211130184855.1779353-1-osk@google.com
Signed-off-by: Joel Stanley <joel@jms.id.au>

authored by

Oskar Senft and committed by
Joel Stanley
4fcbe1f5 a8c729e9

+16
+16
arch/arm/boot/dts/aspeed-bmc-tyan-s7106.dts
··· 3 3 4 4 #include "aspeed-g5.dtsi" 5 5 #include <dt-bindings/gpio/aspeed-gpio.h> 6 + #include <dt-bindings/interrupt-controller/irq.h> 6 7 7 8 / { 8 9 model = "Tyan S7106 BMC"; ··· 128 127 status = "okay"; 129 128 }; 130 129 130 + &uart_routing { 131 + status = "okay"; 132 + }; 133 + 131 134 &vuart { 132 135 status = "okay"; 136 + 137 + /* We enable the VUART here, but leave it in a state that does 138 + * not interfere with the SuperIO. The goal is to have both the 139 + * VUART and the SuperIO available and decide at runtime whether 140 + * the VUART should actually be used. For that reason, configure 141 + * an "invalid" IO address and an IRQ that is not used by the 142 + * BMC. 143 + */ 144 + 145 + aspeed,lpc-io-reg = <0xffff>; 146 + aspeed,lpc-interrupts = <15 IRQ_TYPE_LEVEL_HIGH>; 133 147 }; 134 148 135 149 &lpc_ctrl {