libpayload: Change CONFIG_X86_SERIAL_CONSOLE to CONFIG_8250_SERIAL_CONSOLE

While the 8250 compatible serial port driver is primarily useful on x86
systems because it works with the legacy x86 com ports, some devices which
aren't x86 based have 8250 compatible UARTs as well. This change renames the
CONFIG_X86_SERIAL_CONSOLE option to the more general and direct
CONFIG_8250_SERIAL_CONSOLE and fixes up the dependencies so that non-x86
systems can enable the driver, although it will default to on on x86 and off
otherwise.

Also, the default IO port address that's added to the sysinfo structure on x86
and which is intended to be overwritten by a value in the coreboot tables is
not used on ARM. That variable is adjusted so that it's more clear it's a
default value, and made dependent on x86 since that's the only place its value
is actually used.

BUG=None
TEST=With this and other changes, built for an ARM board which has an ns16550
(and essentially 8250) compatible UART. Built for pit and for link.
BRANCH=None

Change-Id: Ifeaade0e7bd76d382426e947275a9c933da4930e
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: https://chromium-review.googlesource.com/170834
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Commit-Queue: Gabe Black <gabeblack@chromium.org>
Tested-by: Gabe Black <gabeblack@chromium.org>
diff --git a/payloads/libpayload/Config.in b/payloads/libpayload/Config.in
index 9d1c82d..f08f355 100644
--- a/payloads/libpayload/Config.in
+++ b/payloads/libpayload/Config.in
@@ -162,14 +162,16 @@
 	bool "See output on the serial port console"
 	default y
 
-config X86_SERIAL_CONSOLE
-	bool
-	depends on ARCH_X86 && SERIAL_CONSOLE
-	default y
+config 8250_SERIAL_CONSOLE
+	bool "8250, 16450, 16550, 16550A compatible serial port driver"
+	depends on SERIAL_CONSOLE
+	default y if ARCH_X86
+	default n if !ARCH_X86
 
 config SERIAL_IOBASE
-	hex "I/O base for the serial port (default 0x3f8)"
-	depends on X86_SERIAL_CONSOLE
+	## This default is currently not used on non-x86 systems.
+	hex "Default I/O base for the serial port (default 0x3f8)"
+	depends on SERIAL_CONSOLE && ARCH_X86
 	default 0x3f8
 
 config SERIAL_SET_SPEED
diff --git a/payloads/libpayload/configs/config.beltino b/payloads/libpayload/configs/config.beltino
index f842815..7c92f1a 100644
--- a/payloads/libpayload/configs/config.beltino
+++ b/payloads/libpayload/configs/config.beltino
@@ -35,7 +35,7 @@
 CONFIG_LP_SKIP_CONSOLE_INIT=y
 CONFIG_LP_CBMEM_CONSOLE=y
 CONFIG_LP_SERIAL_CONSOLE=y
-CONFIG_LP_X86_SERIAL_CONSOLE=y
+CONFIG_LP_8250_SERIAL_CONSOLE=y
 CONFIG_LP_SERIAL_IOBASE=0x3f8
 # CONFIG_LP_SERIAL_SET_SPEED is not set
 # CONFIG_LP_SERIAL_ACS_FALLBACK is not set
diff --git a/payloads/libpayload/configs/config.bolt b/payloads/libpayload/configs/config.bolt
index bb72dd1..177f437 100644
--- a/payloads/libpayload/configs/config.bolt
+++ b/payloads/libpayload/configs/config.bolt
@@ -35,7 +35,7 @@
 CONFIG_LP_SKIP_CONSOLE_INIT=y
 CONFIG_LP_CBMEM_CONSOLE=y
 CONFIG_LP_SERIAL_CONSOLE=y
-CONFIG_LP_X86_SERIAL_CONSOLE=y
+CONFIG_LP_8250_SERIAL_CONSOLE=y
 CONFIG_LP_SERIAL_IOBASE=0x3f8
 # CONFIG_LP_SERIAL_SET_SPEED is not set
 # CONFIG_LP_SERIAL_ACS_FALLBACK is not set
diff --git a/payloads/libpayload/configs/config.falco b/payloads/libpayload/configs/config.falco
index bb72dd1..177f437 100644
--- a/payloads/libpayload/configs/config.falco
+++ b/payloads/libpayload/configs/config.falco
@@ -35,7 +35,7 @@
 CONFIG_LP_SKIP_CONSOLE_INIT=y
 CONFIG_LP_CBMEM_CONSOLE=y
 CONFIG_LP_SERIAL_CONSOLE=y
-CONFIG_LP_X86_SERIAL_CONSOLE=y
+CONFIG_LP_8250_SERIAL_CONSOLE=y
 CONFIG_LP_SERIAL_IOBASE=0x3f8
 # CONFIG_LP_SERIAL_SET_SPEED is not set
 # CONFIG_LP_SERIAL_ACS_FALLBACK is not set
diff --git a/payloads/libpayload/configs/config.fox_baskingridge b/payloads/libpayload/configs/config.fox_baskingridge
index 1e8a373..b0f76d5 100644
--- a/payloads/libpayload/configs/config.fox_baskingridge
+++ b/payloads/libpayload/configs/config.fox_baskingridge
@@ -35,7 +35,7 @@
 CONFIG_LP_SKIP_CONSOLE_INIT=y
 CONFIG_LP_CBMEM_CONSOLE=y
 CONFIG_LP_SERIAL_CONSOLE=y
-CONFIG_LP_X86_SERIAL_CONSOLE=y
+CONFIG_LP_8250_SERIAL_CONSOLE=y
 CONFIG_LP_SERIAL_IOBASE=0x3f8
 # CONFIG_LP_SERIAL_SET_SPEED is not set
 # CONFIG_LP_SERIAL_ACS_FALLBACK is not set
diff --git a/payloads/libpayload/configs/config.fox_wtm2 b/payloads/libpayload/configs/config.fox_wtm2
index bb72dd1..177f437 100644
--- a/payloads/libpayload/configs/config.fox_wtm2
+++ b/payloads/libpayload/configs/config.fox_wtm2
@@ -35,7 +35,7 @@
 CONFIG_LP_SKIP_CONSOLE_INIT=y
 CONFIG_LP_CBMEM_CONSOLE=y
 CONFIG_LP_SERIAL_CONSOLE=y
-CONFIG_LP_X86_SERIAL_CONSOLE=y
+CONFIG_LP_8250_SERIAL_CONSOLE=y
 CONFIG_LP_SERIAL_IOBASE=0x3f8
 # CONFIG_LP_SERIAL_SET_SPEED is not set
 # CONFIG_LP_SERIAL_ACS_FALLBACK is not set
diff --git a/payloads/libpayload/configs/config.link b/payloads/libpayload/configs/config.link
index 1e8a373..b0f76d5 100644
--- a/payloads/libpayload/configs/config.link
+++ b/payloads/libpayload/configs/config.link
@@ -35,7 +35,7 @@
 CONFIG_LP_SKIP_CONSOLE_INIT=y
 CONFIG_LP_CBMEM_CONSOLE=y
 CONFIG_LP_SERIAL_CONSOLE=y
-CONFIG_LP_X86_SERIAL_CONSOLE=y
+CONFIG_LP_8250_SERIAL_CONSOLE=y
 CONFIG_LP_SERIAL_IOBASE=0x3f8
 # CONFIG_LP_SERIAL_SET_SPEED is not set
 # CONFIG_LP_SERIAL_ACS_FALLBACK is not set
diff --git a/payloads/libpayload/configs/config.lumpy b/payloads/libpayload/configs/config.lumpy
index 1e8a373..b0f76d5 100644
--- a/payloads/libpayload/configs/config.lumpy
+++ b/payloads/libpayload/configs/config.lumpy
@@ -35,7 +35,7 @@
 CONFIG_LP_SKIP_CONSOLE_INIT=y
 CONFIG_LP_CBMEM_CONSOLE=y
 CONFIG_LP_SERIAL_CONSOLE=y
-CONFIG_LP_X86_SERIAL_CONSOLE=y
+CONFIG_LP_8250_SERIAL_CONSOLE=y
 CONFIG_LP_SERIAL_IOBASE=0x3f8
 # CONFIG_LP_SERIAL_SET_SPEED is not set
 # CONFIG_LP_SERIAL_ACS_FALLBACK is not set
diff --git a/payloads/libpayload/configs/config.peppy b/payloads/libpayload/configs/config.peppy
index bb72dd1..177f437 100644
--- a/payloads/libpayload/configs/config.peppy
+++ b/payloads/libpayload/configs/config.peppy
@@ -35,7 +35,7 @@
 CONFIG_LP_SKIP_CONSOLE_INIT=y
 CONFIG_LP_CBMEM_CONSOLE=y
 CONFIG_LP_SERIAL_CONSOLE=y
-CONFIG_LP_X86_SERIAL_CONSOLE=y
+CONFIG_LP_8250_SERIAL_CONSOLE=y
 CONFIG_LP_SERIAL_IOBASE=0x3f8
 # CONFIG_LP_SERIAL_SET_SPEED is not set
 # CONFIG_LP_SERIAL_ACS_FALLBACK is not set
diff --git a/payloads/libpayload/configs/config.slippy b/payloads/libpayload/configs/config.slippy
index bb72dd1..177f437 100644
--- a/payloads/libpayload/configs/config.slippy
+++ b/payloads/libpayload/configs/config.slippy
@@ -35,7 +35,7 @@
 CONFIG_LP_SKIP_CONSOLE_INIT=y
 CONFIG_LP_CBMEM_CONSOLE=y
 CONFIG_LP_SERIAL_CONSOLE=y
-CONFIG_LP_X86_SERIAL_CONSOLE=y
+CONFIG_LP_8250_SERIAL_CONSOLE=y
 CONFIG_LP_SERIAL_IOBASE=0x3f8
 # CONFIG_LP_SERIAL_SET_SPEED is not set
 # CONFIG_LP_SERIAL_ACS_FALLBACK is not set
diff --git a/payloads/libpayload/configs/defconfig b/payloads/libpayload/configs/defconfig
index 01de7fe..10e494c 100644
--- a/payloads/libpayload/configs/defconfig
+++ b/payloads/libpayload/configs/defconfig
@@ -37,7 +37,7 @@
 # CONFIG_LP_SKIP_CONSOLE_INIT is not set
 CONFIG_LP_CBMEM_CONSOLE=y
 CONFIG_LP_SERIAL_CONSOLE=y
-CONFIG_LP_X86_SERIAL_CONSOLE=y
+CONFIG_LP_8250_SERIAL_CONSOLE=y
 CONFIG_LP_SERIAL_IOBASE=0x3f8
 # CONFIG_LP_SERIAL_SET_SPEED is not set
 # CONFIG_LP_SERIAL_ACS_FALLBACK is not set
diff --git a/payloads/libpayload/drivers/Makefile.inc b/payloads/libpayload/drivers/Makefile.inc
index bb626f9..5463636 100644
--- a/payloads/libpayload/drivers/Makefile.inc
+++ b/payloads/libpayload/drivers/Makefile.inc
@@ -33,7 +33,7 @@
 
 libc-$(CONFIG_LP_SPEAKER) += speaker.c
 
-libc-$(CONFIG_LP_X86_SERIAL_CONSOLE) += serial.c
+libc-$(CONFIG_LP_8250_SERIAL_CONSOLE) += serial.c
 
 libc-$(CONFIG_LP_PC_KEYBOARD) += keyboard.c
 
diff --git a/payloads/libpayload/tests/libpayload-config.h b/payloads/libpayload/tests/libpayload-config.h
index 68995b84..cce7c4c 100644
--- a/payloads/libpayload/tests/libpayload-config.h
+++ b/payloads/libpayload/tests/libpayload-config.h
@@ -15,7 +15,7 @@
 #define CONFIG_LP_STORAGE_ATA 1
 #define CONFIG_LP_ARCH_SPECIFIC_OPTIONS 1
 #define CONFIG_LP_STORAGE_AHCI_ONLY_TESTED 1
-#define CONFIG_LP_X86_SERIAL_CONSOLE 1
+#define CONFIG_LP_8250_SERIAL_CONSOLE 1
 #define CONFIG_LP_PDCURSES 1
 #define CONFIG_LP_NVRAM 1
 #define CONFIG_LP_PC_KEYBOARD_LAYOUT_US 1