x86: Change how selection of ROMs works

Most x86 boards build a u-boot.rom which is programmed into SPI flash. But
this is not unique to x86. For example some rockchip boards can also boot
from SPI flash.

Also, at least on x86, binary blobs are sadly quite common. It is not
possible to build a functional image without them, and U-Boot needs to
know this at build time.

Introduce a new CONFIG_HAS_ROM option which selects whether u-boot.rom is
built and a new CONFIG_ROM_NEEDS_BLOBS option to indicate whether binary
blobs are also needed. If they are not needed, it is safe to build the ROM
always. Otherwise we still require the BUILD_ROM environment variable.

For now this affects only x86, but future patches will enable this for
rockchip too.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2020-07-19 13:55:52 -06:00
parent 38f159c05b
commit bcd4e6f3bd
5 changed files with 36 additions and 6 deletions

View File

@@ -160,6 +160,7 @@ config X86
select TIMER
select USE_PRIVATE_LIBGCC
select X86_TSC_TIMER
imply HAS_ROM if X86_RESET_VECTOR
imply BLK
imply CMD_DM
imply CMD_FPGA_LOADMK

View File

@@ -360,6 +360,8 @@ config HAVE_FSP
bool "Add an Firmware Support Package binary"
depends on !EFI
select USE_HOB
select HAS_ROM
select ROM_NEEDS_BLOBS
help
Select this option to add an Firmware Support Package binary to
the resulting U-Boot image. It is a binary blob which U-Boot uses
@@ -519,6 +521,8 @@ config ENABLE_MRC_CACHE
config HAVE_MRC
bool "Add a System Agent binary"
select HAS_ROM
select ROM_NEEDS_BLOBS
depends on !HAVE_FSP
help
Select this option to add a System Agent binary to

View File

@@ -24,6 +24,7 @@ if INTEL_QUARK
config HAVE_RMU
bool "Add a Remote Management Unit (RMU) binary"
select ROM_NEEDS_BLOBS
help
Select this option to add a Remote Management Unit (RMU) binary
to the resulting U-Boot image. It is a data block (up to 64K) of