1 #include <lunaix/device.h>
2 #include <lunaix/mm/mmio.h>
7 uart_mmio_regread(struct uart16550* uart, ptr_t regoff)
9 return (u32_t)(*(u8_t*)(uart->base_addr + regoff));
13 uart_mmio_regwrite(struct uart16550* uart, ptr_t regoff, u32_t val)
15 *(u8_t*)(uart->base_addr + regoff) = (u8_t)val;
19 uart16x50_mmio_create(ptr_t base, ptr_t size)
22 struct uart16550* uart;
24 base = ioremap(base, size);
25 uart = uart_alloc(base);
26 uart->read_reg = uart_mmio_regread;
27 uart->write_reg = uart_mmio_regwrite;
29 if (!uart_testport(uart, 0xe3)) {
35 uart_enable_fifo(uart, UART_FIFO8);