Kconfig: Rework MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG

* Rename it to HAVE_VGA_TEXT_FRAMEBUFFER.
* Let drivers select it if they are in charge.
* Don't select it on the mainboard level if a driver handles it.

Change-Id: I2d9d09be9aa6d019e77460e69a245ad2d8cda4ea
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: https://review.coreboot.org/19791
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
diff --git a/src/device/Kconfig b/src/device/Kconfig
index 778ab88..50d75c7 100644
--- a/src/device/Kconfig
+++ b/src/device/Kconfig
@@ -21,7 +21,7 @@
 	bool
 	default n
 
-config MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG
+config HAVE_VGA_TEXT_FRAMEBUFFER
 	bool
 	default n
 
@@ -47,7 +47,7 @@
 	bool "Use libgfxinit for native graphics initialization"
 	depends on MAINBOARD_DO_NATIVE_VGA_INIT
 	depends on MAINBOARD_HAS_LIBGFXINIT
-	select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG
+	select HAVE_VGA_TEXT_FRAMEBUFFER
 	select RAMSTAGE_LIBHWBASE
 	select VGA if !FRAMEBUFFER_KEEP_VESA_MODE
 	select NO_EDID_FILL_FB
@@ -62,6 +62,7 @@
 	default n if PAYLOAD_SEABIOS
 	default y if !PAYLOAD_SEABIOS
 	depends on PCI && !MAINBOARD_DO_NATIVE_VGA_INIT
+	select HAVE_VGA_TEXT_FRAMEBUFFER
 	help
 	  Execute VGA Option ROMs in coreboot if found. This is required
 	  to enable PCI/AGP/PCI-E video cards when not using a SeaBIOS
@@ -526,7 +527,7 @@
 config FRAMEBUFFER_KEEP_VESA_MODE
 	prompt "Keep VESA framebuffer"
 	bool
-	depends on PCI_OPTION_ROM_RUN_YABEL || PCI_OPTION_ROM_RUN_REALMODE || (MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG && MAINBOARD_DO_NATIVE_VGA_INIT)
+	depends on HAVE_VGA_TEXT_FRAMEBUFFER
 	help
 	  This option keeps the framebuffer mode set after coreboot finishes
 	  execution. If this option is enabled, coreboot will pass a
diff --git a/src/drivers/emulation/qemu/Kconfig b/src/drivers/emulation/qemu/Kconfig
index 168b1c5..0b847ba 100644
--- a/src/drivers/emulation/qemu/Kconfig
+++ b/src/drivers/emulation/qemu/Kconfig
@@ -3,6 +3,7 @@
 	default y
 	depends on BOARD_EMULATION_QEMU_X86
 	depends on MAINBOARD_DO_NATIVE_VGA_INIT
+	select HAVE_VGA_TEXT_FRAMEBUFFER
 	select VGA
 	help
 	   VGA driver for qemu emulated vga cards supporting
diff --git a/src/drivers/xgi/common/Kconfig b/src/drivers/xgi/common/Kconfig
index 203a123..fdc2c3e 100644
--- a/src/drivers/xgi/common/Kconfig
+++ b/src/drivers/xgi/common/Kconfig
@@ -2,3 +2,5 @@
 	bool
 	select VGA
 	select NO_EDID_FILL_FB
+	select MAINBOARD_HAS_NATIVE_VGA_INIT
+	select HAVE_VGA_TEXT_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT
diff --git a/src/mainboard/apple/macbook21/Kconfig b/src/mainboard/apple/macbook21/Kconfig
index a08880c..e2ca8fe 100644
--- a/src/mainboard/apple/macbook21/Kconfig
+++ b/src/mainboard/apple/macbook21/Kconfig
@@ -19,7 +19,6 @@
 	select HAVE_ACPI_RESUME
 	select USE_OPTION_TABLE
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
-	select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG
 	select VGA
 
 config MAINBOARD_DIR
diff --git a/src/mainboard/asrock/g41c-gs/Kconfig b/src/mainboard/asrock/g41c-gs/Kconfig
index 669d8a5..0bb290a 100644
--- a/src/mainboard/asrock/g41c-gs/Kconfig
+++ b/src/mainboard/asrock/g41c-gs/Kconfig
@@ -27,7 +27,6 @@
 	select BOARD_ROMSIZE_KB_1024
 	select INTEL_EDID
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
-	select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG
 	select PCIEXP_ASPM
 	select PCIEXP_CLK_PM
 	select PCIEXP_L1_SUB_STATE
diff --git a/src/mainboard/asus/kfsn4-dre/Kconfig b/src/mainboard/asus/kfsn4-dre/Kconfig
index 96260ce..0920056 100644
--- a/src/mainboard/asus/kfsn4-dre/Kconfig
+++ b/src/mainboard/asus/kfsn4-dre/Kconfig
@@ -20,9 +20,6 @@
 	select ENABLE_APIC_EXT_ID
 	select DRIVERS_I2C_W83793
 	select DRIVERS_XGI_Z9S
-	select VGA
-	select MAINBOARD_HAS_NATIVE_VGA_INIT
-	select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG
 
 config MAINBOARD_DIR
 	string
diff --git a/src/mainboard/asus/kfsn4-dre_k8/Kconfig b/src/mainboard/asus/kfsn4-dre_k8/Kconfig
index 2b345ff..8bd2146 100644
--- a/src/mainboard/asus/kfsn4-dre_k8/Kconfig
+++ b/src/mainboard/asus/kfsn4-dre_k8/Kconfig
@@ -22,9 +22,6 @@
 	select K8_ALLOCATE_IO_RANGE
 	select DRIVERS_I2C_W83793
 	select DRIVERS_XGI_Z9S
-	select VGA
-	select MAINBOARD_HAS_NATIVE_VGA_INIT
-	select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG
 
 config MAINBOARD_DIR
 	string
diff --git a/src/mainboard/emulation/qemu-i440fx/Kconfig b/src/mainboard/emulation/qemu-i440fx/Kconfig
index 9a65f70..5a6020d 100644
--- a/src/mainboard/emulation/qemu-i440fx/Kconfig
+++ b/src/mainboard/emulation/qemu-i440fx/Kconfig
@@ -12,7 +12,6 @@
 	select BOARD_ROMSIZE_KB_256
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
 	select MAINBOARD_DO_NATIVE_VGA_INIT
-	select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG
 
 config MAINBOARD_DIR
 	string
diff --git a/src/mainboard/emulation/qemu-q35/Kconfig b/src/mainboard/emulation/qemu-q35/Kconfig
index e5c06d5..c12f636 100644
--- a/src/mainboard/emulation/qemu-q35/Kconfig
+++ b/src/mainboard/emulation/qemu-q35/Kconfig
@@ -11,7 +11,6 @@
 	select BOARD_ROMSIZE_KB_2048
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
 	select MAINBOARD_DO_NATIVE_VGA_INIT
-	select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG
 
 config MAINBOARD_DIR
 	string
diff --git a/src/mainboard/getac/p470/Kconfig b/src/mainboard/getac/p470/Kconfig
index d87761b..cfe5f8f 100644
--- a/src/mainboard/getac/p470/Kconfig
+++ b/src/mainboard/getac/p470/Kconfig
@@ -35,7 +35,6 @@
 	select CHANNEL_XOR_RANDOMIZATION
 	select VGA
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
-	select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG
 	select INTEL_INT15
 
 config MAINBOARD_DIR
diff --git a/src/mainboard/gigabyte/ga-g41m-es2l/Kconfig b/src/mainboard/gigabyte/ga-g41m-es2l/Kconfig
index 909e580..fbb090f 100644
--- a/src/mainboard/gigabyte/ga-g41m-es2l/Kconfig
+++ b/src/mainboard/gigabyte/ga-g41m-es2l/Kconfig
@@ -26,7 +26,6 @@
 	select BOARD_ROMSIZE_KB_1024
 	select INTEL_EDID
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
-	select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG
 	select PCIEXP_ASPM
 	select PCIEXP_CLK_PM
 	select PCIEXP_L1_SUB_STATE
diff --git a/src/mainboard/lenovo/t400/Kconfig b/src/mainboard/lenovo/t400/Kconfig
index 13837a2..decbab7f 100644
--- a/src/mainboard/lenovo/t400/Kconfig
+++ b/src/mainboard/lenovo/t400/Kconfig
@@ -18,7 +18,6 @@
 	select HAVE_CMOS_DEFAULT
 	select HAVE_ACPI_RESUME
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
-	select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG
 	select INTEL_INT15
 	select SUPERIO_NSC_PC87382
 	select SUPERIO_NSC_PC87384
diff --git a/src/mainboard/lenovo/t430/Kconfig b/src/mainboard/lenovo/t430/Kconfig
index 0b7dc4b..ea46e23 100644
--- a/src/mainboard/lenovo/t430/Kconfig
+++ b/src/mainboard/lenovo/t430/Kconfig
@@ -20,8 +20,6 @@
 	select SOUTHBRIDGE_INTEL_C216
 	select SYSTEM_TYPE_LAPTOP
 	select USE_NATIVE_RAMINIT
-	select MAINBOARD_HAS_NATIVE_VGA_INIT
-	select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG
 	select ENABLE_VMX
 	select DRIVERS_LENOVO_HYBRID_GRAPHICS
 
diff --git a/src/mainboard/lenovo/t530/Kconfig b/src/mainboard/lenovo/t530/Kconfig
index 76147fc..d1c924a 100644
--- a/src/mainboard/lenovo/t530/Kconfig
+++ b/src/mainboard/lenovo/t530/Kconfig
@@ -15,8 +15,6 @@
 	select HAVE_OPTION_TABLE
 	select HAVE_CMOS_DEFAULT
 	select HAVE_ACPI_RESUME
-	select MAINBOARD_HAS_NATIVE_VGA_INIT
-	select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG
 	select INTEL_INT15
 	select SANDYBRIDGE_IVYBRIDGE_LVDS
 	select ENABLE_VMX
diff --git a/src/mainboard/lenovo/t60/Kconfig b/src/mainboard/lenovo/t60/Kconfig
index bb760a3..b3f885e 100644
--- a/src/mainboard/lenovo/t60/Kconfig
+++ b/src/mainboard/lenovo/t60/Kconfig
@@ -21,7 +21,6 @@
 	select HAVE_ACPI_TABLES
 	select HAVE_ACPI_RESUME
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
-	select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG
 	select H8_DOCK_EARLY_INIT
 	select HAVE_CMOS_DEFAULT
 
diff --git a/src/mainboard/lenovo/x200/Kconfig b/src/mainboard/lenovo/x200/Kconfig
index 158dec7..d2fcec4 100644
--- a/src/mainboard/lenovo/x200/Kconfig
+++ b/src/mainboard/lenovo/x200/Kconfig
@@ -18,7 +18,6 @@
 	select HAVE_CMOS_DEFAULT
 	select HAVE_ACPI_RESUME
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
-	select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG
 	select INTEL_INT15
 	select SUPERIO_NSC_PC87382
 	select DRIVERS_LENOVO_WACOM
diff --git a/src/mainboard/lenovo/x201/Kconfig b/src/mainboard/lenovo/x201/Kconfig
index 239a815..ba590eb 100644
--- a/src/mainboard/lenovo/x201/Kconfig
+++ b/src/mainboard/lenovo/x201/Kconfig
@@ -15,7 +15,6 @@
 	select INTEL_INT15
 	select HAVE_ACPI_RESUME
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
-	select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG
 	select SUPERIO_NSC_PC87382
 	select DRIVERS_LENOVO_WACOM
 	select MAINBOARD_HAS_LPC_TPM
diff --git a/src/mainboard/lenovo/x60/Kconfig b/src/mainboard/lenovo/x60/Kconfig
index 50db78d..977f378 100644
--- a/src/mainboard/lenovo/x60/Kconfig
+++ b/src/mainboard/lenovo/x60/Kconfig
@@ -24,7 +24,6 @@
 	select HAVE_ACPI_RESUME
 	select USE_OPTION_TABLE
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
-	select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG
 	select H8_DOCK_EARLY_INIT
 	select DRIVERS_LENOVO_WACOM
 
diff --git a/src/mainboard/packardbell/ms2290/Kconfig b/src/mainboard/packardbell/ms2290/Kconfig
index 3ea302a..ca25a14 100644
--- a/src/mainboard/packardbell/ms2290/Kconfig
+++ b/src/mainboard/packardbell/ms2290/Kconfig
@@ -16,7 +16,6 @@
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
 	select INTEL_INT15
 	select EC_ACPI
-	select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG
 
 config MAINBOARD_DIR
 	string
diff --git a/src/northbridge/intel/gm45/Kconfig b/src/northbridge/intel/gm45/Kconfig
index 57ca8bd..6885ff3 100644
--- a/src/northbridge/intel/gm45/Kconfig
+++ b/src/northbridge/intel/gm45/Kconfig
@@ -26,6 +26,7 @@
 	select INTEL_GMA_ACPI
 	select INTEL_GMA_SSC_ALTERNATE_REF
 	select RELOCATABLE_RAMSTAGE
+	select HAVE_VGA_TEXT_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT
 
 config CBFS_SIZE
 	hex
diff --git a/src/northbridge/intel/i945/Kconfig b/src/northbridge/intel/i945/Kconfig
index 3bb042e..8492d77 100644
--- a/src/northbridge/intel/i945/Kconfig
+++ b/src/northbridge/intel/i945/Kconfig
@@ -27,6 +27,7 @@
 	select INTEL_GMA_SSC_ALTERNATE_REF
 	select RELOCATABLE_RAMSTAGE
 	select INTEL_EDID
+	select HAVE_VGA_TEXT_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT
 
 config NORTHBRIDGE_INTEL_SUBTYPE_I945GC
 	def_bool n
diff --git a/src/northbridge/intel/nehalem/Kconfig b/src/northbridge/intel/nehalem/Kconfig
index 9d3d772..ca4128a 100644
--- a/src/northbridge/intel/nehalem/Kconfig
+++ b/src/northbridge/intel/nehalem/Kconfig
@@ -22,6 +22,7 @@
 	select INTEL_GMA_ACPI
 	select NORTHBRIDGE_INTEL_COMMON_MRC_CACHE
 	select ACPI_HUGE_LOWMEM_BACKUP
+	select HAVE_VGA_TEXT_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT
 
 if NORTHBRIDGE_INTEL_NEHALEM
 
diff --git a/src/northbridge/intel/pineview/Kconfig b/src/northbridge/intel/pineview/Kconfig
index db77f11..cf659ef 100644
--- a/src/northbridge/intel/pineview/Kconfig
+++ b/src/northbridge/intel/pineview/Kconfig
@@ -25,6 +25,7 @@
 	select LAPIC_MONOTONIC_TIMER
 	select VGA
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
+	select HAVE_VGA_TEXT_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT
 	select RELOCATABLE_RAMSTAGE
 
 config MAINBOARD_DO_NATIVE_VGA_INIT
diff --git a/src/northbridge/intel/sandybridge/Kconfig b/src/northbridge/intel/sandybridge/Kconfig
index 8b92077..07d1815 100644
--- a/src/northbridge/intel/sandybridge/Kconfig
+++ b/src/northbridge/intel/sandybridge/Kconfig
@@ -58,12 +58,11 @@
 	def_bool n
 	select VGA
 	select MAINBOARD_HAS_NATIVE_VGA_INIT
-	select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG
 
-# Select VGA & INTEL_EDID if MAINBOARD_DO_NATIVE_VGA_INIT is enabled.
 config MAINBOARD_DO_NATIVE_VGA_INIT
 	select VGA
 	select INTEL_EDID
+	select HAVE_VGA_TEXT_FRAMEBUFFER
 
 config MRC_CACHE_SIZE
 	hex
diff --git a/src/northbridge/intel/x4x/Kconfig b/src/northbridge/intel/x4x/Kconfig
index f5dd39e..aef21b5 100644
--- a/src/northbridge/intel/x4x/Kconfig
+++ b/src/northbridge/intel/x4x/Kconfig
@@ -25,6 +25,7 @@
 	select VGA
 	select INTEL_GMA_ACPI
 	select RELOCATABLE_RAMSTAGE
+	select HAVE_VGA_TEXT_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT
 
 config CBFS_SIZE
 	hex