Edward O'Callaghan (eocallaghan@alterapraxis.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/7927
-gerrit
commit a7cb9a28e60a661105699ac0914c35080787bae3 Author: Edward O'Callaghan eocallaghan@alterapraxis.com Date: Fri Dec 26 12:44:08 2014 +1100
soc/samsung/exynos5420/uart.c: Implement 'uart_tx_flush()'
This brings 'uart.c' implementations closer together between Exynos generations.
Change-Id: Ifbc61794207ff36a9d8a98951e917f3b6d2ef205 Signed-off-by: Edward O'Callaghan eocallaghan@alterapraxis.com --- src/soc/samsung/exynos5420/uart.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/soc/samsung/exynos5420/uart.c b/src/soc/samsung/exynos5420/uart.c index 4d71155..7a7b79b 100644 --- a/src/soc/samsung/exynos5420/uart.c +++ b/src/soc/samsung/exynos5420/uart.c @@ -149,6 +149,11 @@ static void exynos5_uart_tx_byte(struct s5p_uart *uart, unsigned char data) writeb(data, &uart->utxh); }
+static void exynos5_uart_tx_flush(struct s5p_uart *uart) +{ + while (readl(&uart->ufstat) & 0x1ff0000); +} + uintptr_t uart_platform_base(int idx) { if (idx < 4) @@ -177,7 +182,8 @@ void uart_tx_byte(int idx, unsigned char data)
void uart_tx_flush(int idx) { - /* Exynos5250 implements this too. */ + struct s5p_uart *uart = uart_platform_baseptr(idx); + exynos5_uart_tx_flush(uart); }
#ifndef __PRE_RAM__