mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00:00
Makefile: Add environment variable DEVICE_TREE to header
Users have option to overwrite default device tree
(CONFIG_DEFAULT_DEVICE_TREE) via environment variable DEVICE_TREE.
Feature has been added long time ago by commit 74de8c9a16
("dts/Makefile: Build the user specified dts") for a little bit different
reason.
But this variable can be also used for different purpose like choosing
proper configuration from FIT image in SPL.
And this is the functionality I would like to use on Xilinx Zynq devices
that current u-boot.img can be composed in the same way based on OF_LIST
and different configuration is taken based on platform specific SPL.
SPL requires low level ps7_init_gpl configuration that's why different
boards require different SPL with fixed board_fit_config_name_match().
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
f5a122e2ab
commit
dacec83ce0
2 changed files with 19 additions and 3 deletions
14
Makefile
14
Makefile
|
@ -483,6 +483,7 @@ endif
|
|||
version_h := include/generated/version_autogenerated.h
|
||||
timestamp_h := include/generated/timestamp_autogenerated.h
|
||||
defaultenv_h := include/generated/defaultenv_autogenerated.h
|
||||
dt_h := include/generated/dt.h
|
||||
|
||||
no-dot-config-targets := clean clobber mrproper distclean \
|
||||
help %docs check% coccicheck \
|
||||
|
@ -1767,7 +1768,7 @@ endif
|
|||
# prepare2 creates a makefile if using a separate output directory
|
||||
prepare2: prepare3 outputmakefile cfg
|
||||
|
||||
prepare1: prepare2 $(version_h) $(timestamp_h) \
|
||||
prepare1: prepare2 $(version_h) $(timestamp_h) $(dt_h) \
|
||||
include/config/auto.conf
|
||||
ifeq ($(wildcard $(LDSCRIPT)),)
|
||||
@echo >&2 " Could not find linker script."
|
||||
|
@ -1833,12 +1834,23 @@ define filechk_defaultenv.h
|
|||
xxd -i ; echo ", 0x00" ; )
|
||||
endef
|
||||
|
||||
define filechk_dt.h
|
||||
(if test -n "$${DEVICE_TREE}"; then \
|
||||
echo \#define DEVICE_TREE \"$(DEVICE_TREE)\"; \
|
||||
else \
|
||||
echo \#define DEVICE_TREE CONFIG_DEFAULT_DEVICE_TREE; \
|
||||
fi)
|
||||
endef
|
||||
|
||||
$(version_h): include/config/uboot.release FORCE
|
||||
$(call filechk,version.h)
|
||||
|
||||
$(timestamp_h): $(srctree)/Makefile FORCE
|
||||
$(call filechk,timestamp.h)
|
||||
|
||||
$(dt_h): $(srctree)/Makefile FORCE
|
||||
$(call filechk,dt.h)
|
||||
|
||||
$(defaultenv_h): $(CONFIG_DEFAULT_ENV_FILE:"%"=%) FORCE
|
||||
$(call filechk,defaultenv.h)
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#include <debug_uart.h>
|
||||
#include <hang.h>
|
||||
#include <spl.h>
|
||||
#include <generated/dt.h>
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <asm/spl.h>
|
||||
|
@ -89,8 +90,11 @@ void spl_board_prepare_for_boot(void)
|
|||
int board_fit_config_name_match(const char *name)
|
||||
{
|
||||
/* Just empty function now - can't decide what to choose */
|
||||
debug("%s: %s\n", __func__, name);
|
||||
debug("%s: Check %s, default %s\n", __func__, name, DEVICE_TREE);
|
||||
|
||||
return 0;
|
||||
if (!strcmp(name, DEVICE_TREE))
|
||||
return 0;
|
||||
|
||||
return -1;
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue