mb/emulation/qemu-riscv: Use generic 8250 uart driver

Drop hacked uart code and use the generic 8250 uart driver for ns16550a.

Tested on qemu-system-riscv64:
* The UART is still working.

Change-Id: I6efda913fa39e0cfa466b52c570572aca90dacdf
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/33735
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-by: Philipp Hug <philipp@hug.cx>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Patrick Rudolph 2019-06-23 19:23:30 +02:00 committed by Patrick Rudolph
parent 7be4f30c5a
commit efc39cbec7
2 changed files with 2 additions and 35 deletions

View File

@ -37,9 +37,9 @@ config BOARD_SPECIFIC_OPTIONS
def_bool y def_bool y
select SOC_UCB_RISCV select SOC_UCB_RISCV
select BOARD_ROMSIZE_KB_4096 select BOARD_ROMSIZE_KB_4096
select HAVE_UART_SPECIAL
select BOOT_DEVICE_NOT_SPI_FLASH select BOOT_DEVICE_NOT_SPI_FLASH
select MISSING_BOARD_RESET select MISSING_BOARD_RESET
select DRIVERS_UART_8250MEM
config MAINBOARD_DIR config MAINBOARD_DIR
string string

View File

@ -15,42 +15,9 @@
#include <types.h> #include <types.h>
#include <console/uart.h> #include <console/uart.h>
#include <boot/coreboot_tables.h>
#include <mainboard/addressmap.h> #include <mainboard/addressmap.h>
static uint8_t *buf = (void *)QEMU_VIRT_UART0;
uintptr_t uart_platform_base(int idx) uintptr_t uart_platform_base(int idx)
{ {
return (uintptr_t) buf; return (uintptr_t) QEMU_VIRT_UART0;
} }
void uart_init(int idx)
{
}
unsigned char uart_rx_byte(int idx)
{
return *buf;
}
void uart_tx_byte(int idx, unsigned char data)
{
*buf = data;
}
void uart_tx_flush(int idx)
{
}
#ifndef __PRE_RAM__
void uart_fill_lb(void *data)
{
struct lb_serial serial;
serial.type = LB_SERIAL_TYPE_MEMORY_MAPPED;
serial.baseaddr = QEMU_VIRT_UART0;
serial.baud = 115200;
serial.regwidth = 1;
lb_add_serial(&serial, data);
lb_add_console(LB_TAG_CONSOLE_SERIAL8250MEM, data);
}
#endif