lib: utils/serial: Update Shakti UART based on latest implementation

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>
This commit is contained in:
Prasanna T
2022-07-08 17:22:44 +05:30
committed by Anup Patel
parent 0374ccf3f1
commit 4e21ccacd1

View File

@@ -19,21 +19,21 @@
#define REG_RX_THRES 0x20 #define REG_RX_THRES 0x20
#define UART_TX_FULL 0x2 #define UART_TX_FULL 0x2
#define UART_RX_NOT_EMPTY 0x4
#define UART_RX_FULL 0x8 #define UART_RX_FULL 0x8
static volatile char *uart_base; static volatile char *uart_base;
static void shakti_uart_putc(char ch) 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); writeb(ch, uart_base + REG_TX);
} }
static int shakti_uart_getc(void) static int shakti_uart_getc(void)
{ {
u16 status = readw(uart_base + REG_STATUS); if (readb(uart_base + REG_STATUS) & UART_RX_NOT_EMPTY)
if (status & UART_RX_FULL)
return readb(uart_base + REG_RX); return readb(uart_base + REG_RX);
return -1; return -1;
} }