3 * @author Lunaixsky (lunaxisky@qq.com)
4 * @brief 16550 UART with port mapped IO
8 * @copyright Copyright (c) 2023
11 #include <lunaix/device.h>
13 #include <asm/x86_pmio.h>
20 com_regread(struct uart16550* uart, ptr_t regoff)
22 u8_t val = port_rdbyte(uart->base_addr + regoff);
29 com_regwrite(struct uart16550* uart, ptr_t regoff, u32_t val)
31 port_wrbyte(uart->base_addr + regoff, (u8_t)val);
37 uart16x50_pmio_create(ptr_t base)
39 struct uart16550* uart;
41 uart = uart_alloc(base);
42 uart->read_reg = com_regread;
43 uart->write_reg = com_regwrite;
45 if (!uart_testport(uart, 0xe3)) {
50 uart_enable_fifo(uart, UART_FIFO8);