Hi Andrei, On 30/09/2024 12:47, Andrei Cherechesu (OSS) wrote:
+static void __init linflex_uart_init_preirq(struct serial_port *port) +{ + struct linflex_uart *uart = port->uart; + uint32_t ibr, fbr, divisr, dividr, ctrl; + + /* Disable RX/TX before init mode */ + ctrl = linflex_uart_readl(uart, UARTCR); + ctrl &= ~(UARTCR_RXEN | UARTCR_TXEN); + linflex_uart_writel(uart, UARTCR, ctrl); + + /* + * Smoothen the transition from early_printk by waiting + * for all pending characters to transmit + */
Just to note that early_printk() will still be used by secondary CPUs when booting which happens after init_preirq() is called. Will this be a problem for you?
I haven't compared the code against the specification. But the logic LGTM from a Xen PoV. So:
Acked-by: Julien Grall <jgr...@amazon.com> Cheers, -- Julien Grall