device/Kconfig: Introduce MAINBOARD_FORCE_NATIVE_VGA_INIT

MAINBOARD_FORCE_NATIVE_VGA_INIT is to be selected instead of the user
option MAINBOARD_DO_NATIVE_VGA_INIT. The distinction is necessary to
use the latter in a choice.

Change-Id: I689aa5cadea9e1091180fd38b1dc093c6938d69c
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: https://review.coreboot.org/19813
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
diff --git a/src/device/Kconfig b/src/device/Kconfig
index 5d9aa89..841f224 100644
--- a/src/device/Kconfig
+++ b/src/device/Kconfig
@@ -16,11 +16,6 @@
 
 menu "Devices"
 
-# Only set this in the mainboard
-config MAINBOARD_HAS_NATIVE_VGA_INIT
-	bool
-	default n
-
 config HAVE_VGA_TEXT_FRAMEBUFFER
 	bool
 	help
@@ -38,6 +33,20 @@
 	  Selected by graphics drivers that can set up a generic linear
 	  framebuffer.
 
+config MAINBOARD_HAS_NATIVE_VGA_INIT
+	def_bool n
+	help
+	  Selected by mainboards / drivers that provide native graphics
+	  init within coreboot.
+
+config MAINBOARD_FORCE_NATIVE_VGA_INIT
+	def_bool n
+	depends on MAINBOARD_HAS_NATIVE_VGA_INIT || MAINBOARD_HAS_LIBGFXINIT
+	select MAINBOARD_DO_NATIVE_VGA_INIT
+	help
+	  Selected by mainboards / chipsets whose graphics driver can't or
+	  shouldn't be disabled.
+
 config MAINBOARD_DO_NATIVE_VGA_INIT
 	bool "Use native graphics initialization"
 	depends on MAINBOARD_HAS_NATIVE_VGA_INIT
diff --git a/src/mainboard/asus/kcma-d8/Kconfig b/src/mainboard/asus/kcma-d8/Kconfig
index 6d2e13f..c4b0e41 100644
--- a/src/mainboard/asus/kcma-d8/Kconfig
+++ b/src/mainboard/asus/kcma-d8/Kconfig
@@ -32,7 +32,7 @@
 	select HAVE_ACPI_RESUME
 	select DRIVERS_I2C_W83795
 	select DRIVERS_ASPEED_AST2050
-	select MAINBOARD_DO_NATIVE_VGA_INIT
+	select MAINBOARD_FORCE_NATIVE_VGA_INIT
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
 
 config MAINBOARD_DIR
diff --git a/src/mainboard/asus/kgpe-d16/Kconfig b/src/mainboard/asus/kgpe-d16/Kconfig
index c86937d..b73bbc5 100644
--- a/src/mainboard/asus/kgpe-d16/Kconfig
+++ b/src/mainboard/asus/kgpe-d16/Kconfig
@@ -33,7 +33,7 @@
 	select HAVE_ACPI_RESUME
 	select DRIVERS_I2C_W83795
 	select DRIVERS_ASPEED_AST2050
-	select MAINBOARD_DO_NATIVE_VGA_INIT
+	select MAINBOARD_FORCE_NATIVE_VGA_INIT
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
 
 config MAINBOARD_DIR
diff --git a/src/mainboard/emulation/qemu-armv7/Kconfig b/src/mainboard/emulation/qemu-armv7/Kconfig
index 7ae7639..74e0163 100644
--- a/src/mainboard/emulation/qemu-armv7/Kconfig
+++ b/src/mainboard/emulation/qemu-armv7/Kconfig
@@ -28,7 +28,7 @@
 	select BOOTBLOCK_CONSOLE
 	select CONSOLE_SERIAL
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
-	select MAINBOARD_DO_NATIVE_VGA_INIT
+	select MAINBOARD_FORCE_NATIVE_VGA_INIT
 	select HAVE_LINEAR_FRAMEBUFFER
 	select ARCH_BOOTBLOCK_ARMV7
 	select ARCH_ROMSTAGE_ARMV7
diff --git a/src/mainboard/emulation/qemu-i440fx/Kconfig b/src/mainboard/emulation/qemu-i440fx/Kconfig
index 5a6020d..fc56ab6 100644
--- a/src/mainboard/emulation/qemu-i440fx/Kconfig
+++ b/src/mainboard/emulation/qemu-i440fx/Kconfig
@@ -11,7 +11,7 @@
 	select HAVE_ACPI_TABLES
 	select BOARD_ROMSIZE_KB_256
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
-	select MAINBOARD_DO_NATIVE_VGA_INIT
+	select MAINBOARD_FORCE_NATIVE_VGA_INIT
 
 config MAINBOARD_DIR
 	string
diff --git a/src/mainboard/emulation/qemu-q35/Kconfig b/src/mainboard/emulation/qemu-q35/Kconfig
index c12f636..08759e2 100644
--- a/src/mainboard/emulation/qemu-q35/Kconfig
+++ b/src/mainboard/emulation/qemu-q35/Kconfig
@@ -10,7 +10,7 @@
 	select HAVE_ACPI_TABLES
 	select BOARD_ROMSIZE_KB_2048
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
-	select MAINBOARD_DO_NATIVE_VGA_INIT
+	select MAINBOARD_FORCE_NATIVE_VGA_INIT
 
 config MAINBOARD_DIR
 	string
diff --git a/src/mainboard/google/daisy/Kconfig b/src/mainboard/google/daisy/Kconfig
index 5311e37..7a93905 100644
--- a/src/mainboard/google/daisy/Kconfig
+++ b/src/mainboard/google/daisy/Kconfig
@@ -26,7 +26,7 @@
 	select MAINBOARD_HAS_CHROMEOS
 	select DRIVER_TI_TPS65090
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
-	select MAINBOARD_DO_NATIVE_VGA_INIT
+	select MAINBOARD_FORCE_NATIVE_VGA_INIT
 	select HAVE_LINEAR_FRAMEBUFFER
 
 config VBOOT
diff --git a/src/mainboard/google/gru/Kconfig b/src/mainboard/google/gru/Kconfig
index 3a30013..75da54d 100644
--- a/src/mainboard/google/gru/Kconfig
+++ b/src/mainboard/google/gru/Kconfig
@@ -34,7 +34,7 @@
 	select EC_GOOGLE_CHROMEEC_RTC
 	select EC_GOOGLE_CHROMEEC_SPI
 	select HAVE_HARD_RESET
-	select MAINBOARD_DO_NATIVE_VGA_INIT
+	select MAINBOARD_FORCE_NATIVE_VGA_INIT
 	select MAINBOARD_HAS_CHROMEOS
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
 	select RAM_CODE_SUPPORT
diff --git a/src/mainboard/google/oak/Kconfig b/src/mainboard/google/oak/Kconfig
index a4a34b2..ede32e0 100644
--- a/src/mainboard/google/oak/Kconfig
+++ b/src/mainboard/google/oak/Kconfig
@@ -34,7 +34,7 @@
 	select EC_GOOGLE_CHROMEEC
 	select EC_GOOGLE_CHROMEEC_SPI
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
-	select MAINBOARD_DO_NATIVE_VGA_INIT
+	select MAINBOARD_FORCE_NATIVE_VGA_INIT
 	select HAVE_LINEAR_FRAMEBUFFER
 	select MAINBOARD_HAS_CHROMEOS
 	select RAM_CODE_SUPPORT
diff --git a/src/mainboard/google/peach_pit/Kconfig b/src/mainboard/google/peach_pit/Kconfig
index fead669..70fbd1a 100644
--- a/src/mainboard/google/peach_pit/Kconfig
+++ b/src/mainboard/google/peach_pit/Kconfig
@@ -22,7 +22,7 @@
 	select EC_GOOGLE_CHROMEEC_SPI
 	select BOARD_ROMSIZE_KB_4096
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
-	select MAINBOARD_DO_NATIVE_VGA_INIT
+	select MAINBOARD_FORCE_NATIVE_VGA_INIT
 	select HAVE_LINEAR_FRAMEBUFFER
 	select DRIVER_PARADE_PS8625
 
diff --git a/src/mainboard/google/slippy/Kconfig b/src/mainboard/google/slippy/Kconfig
index cfae4e4..1d889df 100644
--- a/src/mainboard/google/slippy/Kconfig
+++ b/src/mainboard/google/slippy/Kconfig
@@ -22,7 +22,7 @@
 config VBOOT
 	select EC_GOOGLE_CHROMEEC_SWITCHES
 	select VBOOT_LID_SWITCH
-	select MAINBOARD_DO_NATIVE_VGA_INIT
+	select MAINBOARD_FORCE_NATIVE_VGA_INIT
 	select VBOOT_VBNV_CMOS
 
 config MAINBOARD_DIR
diff --git a/src/mainboard/google/smaug/Kconfig b/src/mainboard/google/smaug/Kconfig
index 344be28..06c1cba 100644
--- a/src/mainboard/google/smaug/Kconfig
+++ b/src/mainboard/google/smaug/Kconfig
@@ -24,7 +24,7 @@
 	select EC_GOOGLE_CHROMEEC_I2C
 	select EC_GOOGLE_CHROMEEC_I2C_PROTO3
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
-	select MAINBOARD_DO_NATIVE_VGA_INIT
+	select MAINBOARD_FORCE_NATIVE_VGA_INIT
 	select SPI_FLASH
 	select SPI_FLASH_WINBOND
 	select SOC_NVIDIA_TEGRA210
diff --git a/src/soc/nvidia/tegra124/Kconfig b/src/soc/nvidia/tegra124/Kconfig
index 8fe0451..79638d9 100644
--- a/src/soc/nvidia/tegra124/Kconfig
+++ b/src/soc/nvidia/tegra124/Kconfig
@@ -14,7 +14,7 @@
 	select ARM_LPAE
 	select GENERIC_GPIO_LIB
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
-	select MAINBOARD_DO_NATIVE_VGA_INIT
+	select MAINBOARD_FORCE_NATIVE_VGA_INIT
 	select HAVE_LINEAR_FRAMEBUFFER
 
 if SOC_NVIDIA_TEGRA124
diff --git a/src/soc/rockchip/rk3288/Kconfig b/src/soc/rockchip/rk3288/Kconfig
index 293743c..e0fd718 100644
--- a/src/soc/rockchip/rk3288/Kconfig
+++ b/src/soc/rockchip/rk3288/Kconfig
@@ -29,7 +29,7 @@
 	select RTC
 	select UART_OVERRIDE_REFCLK
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
-	select MAINBOARD_DO_NATIVE_VGA_INIT
+	select MAINBOARD_FORCE_NATIVE_VGA_INIT
 	select HAVE_LINEAR_FRAMEBUFFER
 
 if SOC_ROCKCHIP_RK3288