payloads/iPXE: Fix PXE Kconfig question

As reported by Andrew Engelbrecht on the coreboot mailing list, there
was an issue when selecting the pxe rom file:

When using "make menuconfig", if "add pxe rom" is selected, then
the field below to set to the path of the pxe rom, the "add pxe rom"
option gets disabled.

This problem seems to be due to the use of the 'optional' Kconfig
keyword, so this section of the Kconfig is rewitten here to remove that
keyword and fix the issue.

Change-Id: I51680cb746160cb853c8679ac64e2d37989cb574
Signed-off-by: Martin Roth <>
Tested-by: build bot (Jenkins)
Reviewed-by: Jonathan Neuschäfer <>
Reviewed-by: Paul Menzel <>
Reviewed-by: Patrick Georgi <>
diff --git a/payloads/external/iPXE/Kconfig b/payloads/external/iPXE/Kconfig
index d425d51..aa8d92d 100644
--- a/payloads/external/iPXE/Kconfig
+++ b/payloads/external/iPXE/Kconfig
@@ -11,11 +11,17 @@
 ## GNU General Public License for more details.
+config PXE
 	prompt "Add a PXE ROM"
-	default PXE_ROM
+	def_bool n
 	depends on ARCH_X86
-	optional
+if PXE
+menu "PXE Options"
+	prompt "PXE ROM to use"
+	default PXE_ROM
 config PXE_ROM
 	bool "Add an existing PXE ROM image"
@@ -59,7 +65,6 @@
 config PXE_ROM_ID
 	string "network card PCI IDs"
-	depends on PXE_ROM || BUILD_IPXE
 	default "10ec,8168"
 	  The comma-separated PCI vendor and device ID that would associate
@@ -72,3 +77,6 @@
 	  network card (also in hex, without "0x" prefix).
 	  Under GNU/Linux you can run `lspci -nn` to list the IDs of your PCI devices.