diff options
author | Ronald G. Minnich <rminnich@gmail.com> | 2013-02-20 14:13:01 -0800 |
---|---|---|
committer | Ronald G. Minnich <rminnich@gmail.com> | 2013-02-21 01:10:18 +0100 |
commit | c8fadd9f465428cb2470d78c72b77766acb058d9 (patch) | |
tree | b49fe740759d2541b386bbc65b2173325e4b767f /src | |
parent | a8ae1c66f919a41c8756d0cdb09a77243d1121eb (diff) | |
download | coreboot-c8fadd9f465428cb2470d78c72b77766acb058d9.tar.gz coreboot-c8fadd9f465428cb2470d78c72b77766acb058d9.tar.bz2 coreboot-c8fadd9f465428cb2470d78c72b77766acb058d9.zip |
ARMV7: create a correct LB_SERIAL table entry
If CONFIG_CONSOLE_SERIAL is set, and we can call the standard function
and get a non-zero uart address, then we create an lb table entry.
The code was mostly right, just needed a tweak.
Change-Id: I5b36c7b4e580a23319b7ba92cc8ad61592b1757a
Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Reviewed-on: http://review.coreboot.org/2466
Tested-by: build bot (Jenkins)
Reviewed-by: David Hendricks <dhendrix@chromium.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/arch/armv7/boot/coreboot_table.c | 13 | ||||
-rw-r--r-- | src/mainboard/emulation/qemu-armv7/Kconfig | 1 | ||||
-rw-r--r-- | src/mainboard/emulation/qemu-armv7/uart.c | 4 |
3 files changed, 6 insertions, 12 deletions
diff --git a/src/arch/armv7/boot/coreboot_table.c b/src/arch/armv7/boot/coreboot_table.c index 044f3d51e0fc..2810a5e99024 100644 --- a/src/arch/armv7/boot/coreboot_table.c +++ b/src/arch/armv7/boot/coreboot_table.c @@ -110,18 +110,7 @@ static struct lb_memory *lb_memory(struct lb_header *header) static struct lb_serial *lb_serial(struct lb_header *header) { -#if CONFIG_CONSOLE_SERIAL8250 - struct lb_record *rec; - struct lb_serial *serial; - rec = lb_new_record(header); - serial = (struct lb_serial *)rec; - serial->tag = LB_TAG_SERIAL; - serial->size = sizeof(*serial); - serial->type = LB_SERIAL_TYPE_IO_MAPPED; - serial->baseaddr = CONFIG_TTYS0_BASE; - serial->baud = CONFIG_TTYS0_BAUD; - return serial; -#elif CONFIG_CONSOLE_SERIAL8250MEM +#if CONFIG_CONSOLE_SERIAL if (uartmem_getbaseaddr()) { struct lb_record *rec; struct lb_serial *serial; diff --git a/src/mainboard/emulation/qemu-armv7/Kconfig b/src/mainboard/emulation/qemu-armv7/Kconfig index 38b1da249ac4..b66761d512dc 100644 --- a/src/mainboard/emulation/qemu-armv7/Kconfig +++ b/src/mainboard/emulation/qemu-armv7/Kconfig @@ -25,6 +25,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy def_bool y select ARCH_ARMV7 select CPU_ARMLTD_CORTEX_A9 + select HAVE_UART_MEMORY_MAPPED select DEFAULT_EARLY_CONSOLE select HAVE_UART_SPECIAL select BOARD_ROMSIZE_KB_4096 diff --git a/src/mainboard/emulation/qemu-armv7/uart.c b/src/mainboard/emulation/qemu-armv7/uart.c index 29887777d7d5..dfe5d0ac1267 100644 --- a/src/mainboard/emulation/qemu-armv7/uart.c +++ b/src/mainboard/emulation/qemu-armv7/uart.c @@ -39,6 +39,10 @@ static const struct console_driver pl011_uart_console __console = { .tx_flush = pl011_uart_tx_flush, }; +uint32_t uartmem_getbaseaddr(void) +{ + return VEXPRESS_UART0_IO_ADDRESS; +} #else void uart_init(void) { |