lib: utils/serial: Update Shakti UART based on latest implementation
authorPrasanna T <ptprasanna@gmail.com>
Fri, 8 Jul 2022 11:52:44 +0000 (17:22 +0530)
committerAnup Patel <anup@brainfault.org>
Wed, 20 Jul 2022 04:36:25 +0000 (10:06 +0530)
The age old version of Shakti UART was upgraded long back, but we missed
updating the driver in OpenSBI. The old version of UART is not supported
anymore, hence removed the inline comment which is also outdated now.

Signed-off-by: Prasanna T <ptprasanna@gmail.com>
Signed-off-by: Anup Patel <apatel@ventanamicro.com>
Reviewed-by: Xiang W <wxjstz@126.com>
lib/utils/serial/shakti-uart.c

index 5f2fe75..3556935 100644 (file)
 #define REG_RX_THRES   0x20
 
 #define UART_TX_FULL  0x2
+#define UART_RX_NOT_EMPTY 0x4
 #define UART_RX_FULL  0x8
 
 static volatile char *uart_base;
 
 static void shakti_uart_putc(char ch)
 {
-       while((readw(uart_base + REG_STATUS) & UART_TX_FULL))
+       while ((readb(uart_base + REG_STATUS) & UART_TX_FULL))
                ;
        writeb(ch, uart_base + REG_TX);
 }
 
 static int shakti_uart_getc(void)
 {
-       u16 status = readw(uart_base + REG_STATUS);
-       if (status & UART_RX_FULL)
+       if (readb(uart_base + REG_STATUS) & UART_RX_NOT_EMPTY)
                return readb(uart_base + REG_RX);
        return -1;
 }