dts: renamed FIT_EMBED to MULTI_DTB_FIT and moved it to the dts Kconfig
CONFIG_FIT_EMBED might be confused with CONFIG_OF_EMBED, rename it MULTI_DTB_FIT as it is able to get a DTB from a FIT image containing multiple DTBs. Also move the option to the Kconfig dedicated to the DTS options and create a README for this feature. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
84570a0c11
commit
11955590a2
2
Makefile
2
Makefile
@ -878,7 +878,7 @@ dts/dt.dtb: u-boot
|
||||
quiet_cmd_copy = COPY $@
|
||||
cmd_copy = cp $< $@
|
||||
|
||||
ifeq ($(CONFIG_FIT_EMBED),y)
|
||||
ifeq ($(CONFIG_MULTI_DTB_FIT),y)
|
||||
|
||||
fit-dtb.blob: dts/dt.dtb FORCE
|
||||
$(call if_changed,mkimage)
|
||||
|
@ -166,7 +166,7 @@ int get_num_eth_ports(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_FIT_EMBED)
|
||||
#if defined(CONFIG_MULTI_DTB_FIT)
|
||||
int board_fit_config_name_match(const char *name)
|
||||
{
|
||||
if (!strcmp(name, "keystone-k2e-evm"))
|
||||
|
@ -217,7 +217,7 @@ int board_mmc_init(bd_t *bis)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_FIT_EMBED)
|
||||
#if defined(CONFIG_MULTI_DTB_FIT)
|
||||
int board_fit_config_name_match(const char *name)
|
||||
{
|
||||
bool eeprom_read = board_ti_was_eeprom_read();
|
||||
|
@ -150,7 +150,7 @@ int board_early_init_f(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_FIT_EMBED)
|
||||
#if defined(CONFIG_MULTI_DTB_FIT)
|
||||
int board_fit_config_name_match(const char *name)
|
||||
{
|
||||
if (!strcmp(name, "keystone-k2hk-evm"))
|
||||
|
@ -138,7 +138,7 @@ int board_early_init_f(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_FIT_EMBED)
|
||||
#if defined(CONFIG_MULTI_DTB_FIT)
|
||||
int board_fit_config_name_match(const char *name)
|
||||
{
|
||||
if (!strcmp(name, "keystone-k2l-evm"))
|
||||
|
@ -403,22 +403,6 @@ config SYS_STDIO_DEREGISTER
|
||||
|
||||
endmenu
|
||||
|
||||
config DTB_RESELECT
|
||||
bool "Support swapping dtbs at a later point in boot"
|
||||
depends on FIT_EMBED
|
||||
help
|
||||
It is possible during initial boot you may need to use a generic
|
||||
dtb until you can fully determine the board your running on. This
|
||||
config allows boards to implement a function at a later point
|
||||
during boot to switch to the "correct" dtb.
|
||||
|
||||
config FIT_EMBED
|
||||
bool "Support a FIT image embedded in the U-boot image"
|
||||
help
|
||||
This option provides hooks to allow U-boot to parse an
|
||||
appended FIT image and enable board specific code to then select
|
||||
the correct DTB to be used.
|
||||
|
||||
config DEFAULT_FDT_FILE
|
||||
string "Default fdt file"
|
||||
help
|
||||
|
@ -103,7 +103,7 @@ obj-y += image.o
|
||||
obj-$(CONFIG_ANDROID_BOOT_IMAGE) += image-android.o
|
||||
obj-$(CONFIG_$(SPL_TPL_)OF_LIBFDT) += image-fdt.o
|
||||
obj-$(CONFIG_$(SPL_TPL_)FIT) += image-fit.o
|
||||
obj-$(CONFIG_FIT_EMBED) += boot_fit.o common_fit.o
|
||||
obj-$(CONFIG_$(SPL_)MULTI_DTB_FIT) += boot_fit.o common_fit.o
|
||||
obj-$(CONFIG_$(SPL_TPL_)FIT_SIGNATURE) += image-sig.o
|
||||
obj-$(CONFIG_IO_TRACE) += iotrace.o
|
||||
obj-y += memsize.o
|
||||
|
@ -12,7 +12,7 @@ CONFIG_DEFAULT_DEVICE_TREE="keystone-k2e-evm"
|
||||
CONFIG_OF_BOARD_SETUP=y
|
||||
CONFIG_SYS_CONSOLE_INFO_QUIET=y
|
||||
CONFIG_DTB_RESELECT=y
|
||||
CONFIG_FIT_EMBED=y
|
||||
CONFIG_MULTI_DTB_FIT=y
|
||||
CONFIG_VERSION_VARIABLE=y
|
||||
CONFIG_BOARD_EARLY_INIT_F=y
|
||||
CONFIG_SPL=y
|
||||
|
@ -12,7 +12,7 @@ CONFIG_DEFAULT_DEVICE_TREE="keystone-k2g-evm"
|
||||
CONFIG_OF_BOARD_SETUP=y
|
||||
CONFIG_SYS_CONSOLE_INFO_QUIET=y
|
||||
CONFIG_DTB_RESELECT=y
|
||||
CONFIG_FIT_EMBED=y
|
||||
CONFIG_MULTI_DTB_FIT=y
|
||||
CONFIG_VERSION_VARIABLE=y
|
||||
CONFIG_BOARD_EARLY_INIT_F=y
|
||||
CONFIG_SPL=y
|
||||
|
@ -12,7 +12,7 @@ CONFIG_DEFAULT_DEVICE_TREE="keystone-k2hk-evm"
|
||||
CONFIG_OF_BOARD_SETUP=y
|
||||
CONFIG_SYS_CONSOLE_INFO_QUIET=y
|
||||
CONFIG_DTB_RESELECT=y
|
||||
CONFIG_FIT_EMBED=y
|
||||
CONFIG_MULTI_DTB_FIT=y
|
||||
CONFIG_VERSION_VARIABLE=y
|
||||
CONFIG_BOARD_EARLY_INIT_F=y
|
||||
CONFIG_SPL=y
|
||||
|
@ -12,7 +12,7 @@ CONFIG_DEFAULT_DEVICE_TREE="keystone-k2l-evm"
|
||||
CONFIG_OF_BOARD_SETUP=y
|
||||
CONFIG_SYS_CONSOLE_INFO_QUIET=y
|
||||
CONFIG_DTB_RESELECT=y
|
||||
CONFIG_FIT_EMBED=y
|
||||
CONFIG_MULTI_DTB_FIT=y
|
||||
CONFIG_VERSION_VARIABLE=y
|
||||
CONFIG_BOARD_EARLY_INIT_F=y
|
||||
CONFIG_SPL=y
|
||||
|
15
doc/README.multi-dtb-fit
Normal file
15
doc/README.multi-dtb-fit
Normal file
@ -0,0 +1,15 @@
|
||||
MULTI DTB FIT
|
||||
|
||||
The purpose of this feature is to enable u-boot to select its DTB from a FIT
|
||||
appended at the end of the binary.
|
||||
|
||||
Usually the DTB is selected by the SPL and passed down to U-Boot. But some
|
||||
platforms don't use the SPL. In this case MULTI_DTB_FIT can used to provide
|
||||
U-Boot with a choice of DTBs.
|
||||
The relevant DTBs are packed into a FIT (list provided by CONFIG__OF_LIST). The
|
||||
FIT is automatically generated at the end of the compilation and appended to
|
||||
u-boot.bin so that U-Boot can locate it and select the correct DTB from inside
|
||||
the FIT.
|
||||
The selection is done using board_fit_config_name_match() (same as what the SPL
|
||||
uses to select the DTB for U-Boot). The selection happens during fdtdec_setup()
|
||||
which is called during before relocation by board_init_f().
|
20
dts/Kconfig
20
dts/Kconfig
@ -102,7 +102,7 @@ config DEFAULT_DEVICE_TREE
|
||||
|
||||
config OF_LIST
|
||||
string "List of device tree files to include for DT control"
|
||||
depends on SPL_LOAD_FIT || FIT_EMBED
|
||||
depends on SPL_LOAD_FIT || MULTI_DTB_FIT
|
||||
default DEFAULT_DEVICE_TREE
|
||||
help
|
||||
This option specifies a list of device tree files to use for DT
|
||||
@ -112,6 +112,24 @@ config OF_LIST
|
||||
device tree files (without the directory or .dtb suffix)
|
||||
separated by <space>.
|
||||
|
||||
|
||||
config DTB_RESELECT
|
||||
bool "Support swapping dtbs at a later point in boot"
|
||||
depends on MULTI_DTB_FIT
|
||||
help
|
||||
It is possible during initial boot you may need to use a generic
|
||||
dtb until you can fully determine the board your running on. This
|
||||
config allows boards to implement a function at a later point
|
||||
during boot to switch to the "correct" dtb.
|
||||
|
||||
config MULTI_DTB_FIT
|
||||
bool "Support embedding several DTBs in a FIT image for u-boot"
|
||||
help
|
||||
This option provides hooks to allow U-boot to parse an
|
||||
appended FIT image and enable board specific code to then select
|
||||
the correct DTB to be used. Use this if you need to support
|
||||
multiple DTBs but don't use the SPL.
|
||||
|
||||
config OF_SPL_REMOVE_PROPS
|
||||
string "List of device tree properties to drop for SPL"
|
||||
depends on SPL_OF_CONTROL
|
||||
|
@ -1217,7 +1217,7 @@ int fdtdec_setup(void)
|
||||
else
|
||||
gd->fdt_blob = (ulong *)&__bss_end;
|
||||
|
||||
# elif defined CONFIG_FIT_EMBED
|
||||
# elif defined CONFIG_MULTI_DTB_FIT
|
||||
gd->fdt_blob = locate_dtb_in_fit(&_end);
|
||||
|
||||
if (gd->fdt_blob == NULL || gd->fdt_blob <= ((void *)&_end)) {
|
||||
|
Loading…
Reference in New Issue
Block a user