drivers/uart/Kconfig: Be smarter about DRIVERS_UART_8250IO

It defaults to y to avoid having to select it per mainboard. But that
makes a mess because it results in linker conflicts unless other UART
drivers disable it explicitly.

We try to be smarter about the default value for now. The real solu-
tion would be to hardcode it per mainboard. But who knows which boards
actually have it?

Change-Id: I7e755fe0e4f6d1c31ef2854603a5510c3cdc4967
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/29571
Reviewed-by: Julius Werner <jwerner@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/drivers/uart/Kconfig b/src/drivers/uart/Kconfig
index 39d20a3..1130aeb 100644
--- a/src/drivers/uart/Kconfig
+++ b/src/drivers/uart/Kconfig
@@ -4,8 +4,11 @@
 	default n
 
 config DRIVERS_UART_8250IO
+	# FIXME: Shouldn't have a prompt, should default to n, and
+	#        should be selected by boards that have it instead.
 	bool "Serial port on SuperIO"
 	depends on ARCH_X86
+	default n if DRIVERS_UART_8250MEM || HAVE_UART_SPECIAL
 	default n if NO_UART_ON_SUPERIO
 	default y
 
diff --git a/src/soc/intel/denverton_ns/Kconfig b/src/soc/intel/denverton_ns/Kconfig
index d4ae805..5b704b9 100644
--- a/src/soc/intel/denverton_ns/Kconfig
+++ b/src/soc/intel/denverton_ns/Kconfig
@@ -162,7 +162,7 @@
 endchoice
 
 config ENABLE_HSUART
-	depends on (!DRIVERS_UART_8250IO && NON_LEGACY_UART_MODE)
+	depends on NON_LEGACY_UART_MODE
 	bool "Enable High-speed UART debug port selected by UART_FOR_CONSOLE."
 	default n
 	select CONSOLE_SERIAL