uart: Support multiple ports

The port for console remains to be a compile time constant.
The Kconfig option is changed to select an UART port with index
to avoid putting map of UART base addresses in Kconfigs.

With this change it is possible to have other than debug console
on different UART port.

Change-Id: Ie1845a946f8d3b2604ef5404edb31b2e811f3ccd
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/5342
Tested-by: build bot (Jenkins)
Reviewed-by: David Hendricks <dhendrix@chromium.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
Kyösti Mälkki
2014-03-14 22:28:29 +02:00
parent a8d089d3ac
commit 70342a7f51
19 changed files with 147 additions and 311 deletions

View File

@@ -48,11 +48,6 @@ config DRAM_SIZE_MB
int
default 1024
config CONSOLE_SERIAL_UART_ADDRESS
hex
depends on CONSOLE_SERIAL
default 0x10009000
# Memory map for qemu vexpress-a9:
#
# 0x0000_0000: jump instruction (by qemu)

View File

@@ -21,3 +21,7 @@ ramstage-y += media.c
bootblock-y += timer.c
romstage-y += timer.c
ramstage-y += timer.c
bootblock-y += mmio.c
romstage-y += mmio.c
ramstage-y += mmio.c

View File

@@ -0,0 +1,21 @@
/*
* This file is part of the coreboot project.
*
* This software is licensed under the terms of the GNU General Public
* License version 2, as published by the Free Software Foundation, and
* may be copied, distributed, and modified under those terms.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#include <console/uart.h>
#define VEXPRESS_UART0_IO_ADDRESS (0x10009000)
unsigned int uart_platform_base(int idx)
{
return VEXPRESS_UART0_IO_ADDRESS;
}