uart: Redefine Kconfig options
Option DRIVERS_UART builds with support for UART hardware.
Option CONSOLE_SERIAL enables the console output for UART.
Those x86 boards that do not have serial port on SuperIO should select
NO_UART_ON_SUPERIO to disable 8250 UART for the default configuration.
Removes:
CONSOLE_SERIAL_UART
HAVE_UART_IO_MAPPED
HAVE_UART_MEMORY_MAPPED
Renames:
CONSOLE_SERIAL8250 -> DRIVERS_UART_8250IO
CONSOLE_SERIAL8250MEM -> DRIVERS_UART_8250MEM
Change-Id: Id3afa05f85c0d6849746886db8b6c2ed6c846b61
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/5311
Tested-by: build bot (Jenkins)
Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
diff --git a/src/drivers/Makefile.inc b/src/drivers/Makefile.inc
index 197a900..148e257 100644
--- a/src/drivers/Makefile.inc
+++ b/src/drivers/Makefile.inc
@@ -30,7 +30,7 @@
subdirs-y += realtek
subdirs-y += sil
subdirs-y += trident
-subdirs-y += uart
+subdirs-$(CONFIG_DRIVERS_UART) += uart
subdirs-y += usb
subdirs-y += ics
subdirs-y += spi
diff --git a/src/drivers/oxford/oxpcie/Kconfig b/src/drivers/oxford/oxpcie/Kconfig
index 899a153..5ad42aa 100644
--- a/src/drivers/oxford/oxpcie/Kconfig
+++ b/src/drivers/oxford/oxpcie/Kconfig
@@ -1,7 +1,7 @@
config DRIVERS_OXFORD_OXPCIE
bool "Oxford OXPCIe952"
default n
- select HAVE_UART_MEMORY_MAPPED
+ select DRIVERS_UART_8250MEM
help
Support for Oxford OXPCIe952 serial port PCIe cards.
Currently only devices with the vendor ID 0x1415 and device ID
diff --git a/src/drivers/oxford/oxpcie/Makefile.inc b/src/drivers/oxford/oxpcie/Makefile.inc
index 1922425..5e3e6e5 100644
--- a/src/drivers/oxford/oxpcie/Makefile.inc
+++ b/src/drivers/oxford/oxpcie/Makefile.inc
@@ -1,4 +1,4 @@
-ifeq ($(CONFIG_CONSOLE_SERIAL8250MEM),y)
+ifeq ($(CONFIG_CONSOLE_SERIAL),y)
ramstage-y += oxpcie_early.c oxpcie.c
romstage-y += oxpcie_early.c
endif
diff --git a/src/drivers/uart/Kconfig b/src/drivers/uart/Kconfig
index 5c9a9d1..889c69a 100644
--- a/src/drivers/uart/Kconfig
+++ b/src/drivers/uart/Kconfig
@@ -1,10 +1,19 @@
-# This should default to N and be set by SuperI/O drivers that have an UART
-config HAVE_UART_IO_MAPPED
+config DRIVERS_UART
bool
+ default y if CONSOLE_SERIAL
+ default n
+
+config DRIVERS_UART_8250IO
+ bool "Serial port on SuperIO"
depends on !ARCH_ARMV7
+ default n if NO_UART_ON_SUPERIO
default y if ARCH_X86
-config HAVE_UART_MEMORY_MAPPED
+# Select this for mainboard without SuperIO serial port.
+config NO_UART_ON_SUPERIO
+ def_bool n
+
+config DRIVERS_UART_8250MEM
bool
default n
diff --git a/src/drivers/uart/Makefile.inc b/src/drivers/uart/Makefile.inc
index 415c5bb..286bff2 100644
--- a/src/drivers/uart/Makefile.inc
+++ b/src/drivers/uart/Makefile.inc
@@ -1,28 +1,25 @@
-ifeq ($(CONFIG_CONSOLE_SERIAL),y)
romstage-y += util.c
ramstage-y += util.c
bootblock-y += util.c
smm-$(CONFIG_DEBUG_SMI) += util.c
-endif
-ifeq ($(CONFIG_CONSOLE_SERIAL8250),y)
+# Add the driver, only one can be enabled. The driver files may
+# be located in the soc/ or cpu/ directories instead of here.
+
+ifeq ($(CONFIG_DRIVERS_UART_8250IO),y)
romstage-y += uart8250io.c
ramstage-y += uart8250io.c
smm-$(CONFIG_DEBUG_SMI) += uart8250io.c
endif
-ifeq ($(CONFIG_CONSOLE_SERIAL8250MEM),y)
+ifeq ($(CONFIG_DRIVERS_UART_8250MEM),y)
romstage-y += uart8250mem.c
ramstage-y += uart8250mem.c
smm-$(CONFIG_DEBUG_SMI) += uart8250mem.c
endif
-ifeq ($(CONFIG_CONSOLE_SERIAL_UART),y)
-
ifeq ($(CONFIG_DRIVERS_UART_PL011),y)
bootblock-$(CONFIG_BOOTBLOCK_CONSOLE) += pl011.c
romstage-$(CONFIG_EARLY_CONSOLE) += pl011.c
ramstage-y += pl011.c
endif
-
-endif