env: Provide a work-around for unquoting fdtfile

Some boards use a CONFIG option to specify the value of this variable.
This is normally handled by efi_get_distro_fdt_name() but in the case
of sunxi this does not work, since 'soc' is sunxi, but the files are
in the allwinner directory.

Provide a work-around for this particular case.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2024-07-30 17:05:12 -06:00
parent 6cf6875075
commit 1e6da4a507
2 changed files with 13 additions and 0 deletions

View File

@@ -1844,6 +1844,7 @@ quiet_cmd_gen_envp = ENVP $@
$(CPP) -P $(cpp_flags) -x assembler-with-cpp -undef \
-D__ASSEMBLY__ \
-D__UBOOT_CONFIG__ \
-DDEFAULT_DEVICE_TREE=$(subst ",,$(CONFIG_DEFAULT_DEVICE_TREE)) \
-I . -I include -I $(srctree)/include \
-include linux/kconfig.h -include include/config.h \
-I$(srctree)/arch/$(ARCH)/include \

View File

@@ -87,6 +87,18 @@ settings. For example::
#include <env/ti/mmc.env>
Quotes are not supressed, for example::
fdtfile=CONFIG_DEFAULT_DEVICE_TREE.dtb
# produces: fdtfile="sun7i-a20-pcduino3.dtb"
For this particular issue you can use DEFAULT_DEVICE_TREE instead::
fdtfile=DEFAULT_DEVICE_TREE.dtb
# produces: fdtfile=sun7i-a20-pcduino3.dtb
There is no general way to remove quotes.
If CONFIG_ENV_SOURCE_FILE is empty and the default filename is not present, then
the old-style C environment is used instead. See below.