#include <lunaix/peripheral/serial.h>
#include <lunaix/syslog.h>
-LOG_MODULE("COM")
+LOG_MODULE("UART")
void
-serial_init_port(uintptr_t port)
+serial_init_port(ptr_t port)
{
// disable interrupt, use irq instead
io_outb(COM_RIE(port), 0);
io_outb(COM_RRXTX(port), 0xaa);
if (io_inb(COM_RRXTX(port)) != 0xaa) {
- kprintf(KWARN "Port (%p) is faulty, use other instead.\n", port);
+ kprintf(KWARN "port.%p: faulty\n", port);
return;
}
io_outb(COM_RCMODEM(port), 0xf);
io_outb(COM_RIE(port), 0x1);
- kprintf("Port (%p) ok\n", port);
+ kprintf("port.%p: ok\n", port);
}
void
}
char
-serial_rx_byte(uintptr_t port)
+serial_rx_byte(ptr_t port)
{
while (!(io_inb(COM_RSLINE(port)) & 0x01))
;
}
void
-serial_rx_buffer(uintptr_t port, char* data, size_t len)
+serial_rx_buffer(ptr_t port, char* data, size_t len)
{
for (size_t i = 0; i < len; i++) {
data[i] = serial_rx_byte(port);
}
void
-serial_tx_byte(uintptr_t port, char data)
+serial_tx_byte(ptr_t port, char data)
{
while (!(io_inb(COM_RSLINE(port)) & 0x20))
;
}
void
-serial_tx_buffer(uintptr_t port, char* data, size_t len)
+serial_tx_buffer(ptr_t port, char* data, size_t len)
{
for (size_t i = 0; i < len; i++) {
serial_tx_byte(port, data[i]);
}
void
-serial_clear_fifo(uintptr_t port)
+serial_clear_fifo(ptr_t port)
{
io_outb(COM_RIE(port), 0x0);
io_outb(COM_RCFIFO(port), 0x00);
}
void
-serial_disable_irq(uintptr_t port)
+serial_disable_irq(ptr_t port)
{
io_outb(COM_RIE(port), 0x0);
}
void
-serial_enable_irq(uintptr_t port)
+serial_enable_irq(ptr_t port)
{
io_outb(COM_RIE(port), 0x1);
}
\ No newline at end of file