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>
diff --git a/src/arch/x86/lib/romcc_console.c b/src/arch/x86/lib/romcc_console.c
index 6c7f050..62490fc 100644
--- a/src/arch/x86/lib/romcc_console.c
+++ b/src/arch/x86/lib/romcc_console.c
@@ -32,7 +32,7 @@
 void console_hw_init(void)
 {
 #if CONFIG_CONSOLE_SERIAL
-	uart_init();
+	uart_init(CONFIG_UART_FOR_CONSOLE);
 #endif
 #if CONFIG_CONSOLE_NE2K
 	ne2k_init(CONFIG_CONSOLE_NE2K_IO_PORT);
@@ -42,7 +42,7 @@
 void console_tx_byte(unsigned char byte)
 {
 #if CONFIG_CONSOLE_SERIAL
-	uart_tx_byte(byte);
+	uart_tx_byte(CONFIG_UART_FOR_CONSOLE, byte);
 #endif
 #if CONFIG_CONSOLE_NE2K
 	ne2k_append_data_byte(byte, CONFIG_CONSOLE_NE2K_IO_PORT);
@@ -52,7 +52,7 @@
 void console_tx_flush(void)
 {
 #if CONFIG_CONSOLE_SERIAL
-	uart_tx_flush();
+	uart_tx_flush(CONFIG_UART_FOR_CONSOLE);
 #endif
 #if CONFIG_CONSOLE_NE2K
 	ne2k_transmit(CONFIG_CONSOLE_NE2K_IO_PORT);