env: Provide a work-around for unquoting fdtfile
authorSimon Glass <sjg@chromium.org>
Wed, 13 Nov 2024 15:09:37 +0000 (08:09 -0700)
committerTom Rini <trini@konsulko.com>
Mon, 10 Mar 2025 16:12:08 +0000 (10:12 -0600)
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>
Reviewed-by: Tom Rini <trini@konsulko.com>
Makefile
doc/usage/environment.rst

index 5f90cea..b1aba35 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1864,6 +1864,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 \
index 30fc167..7e2f286 100644 (file)
@@ -87,6 +87,18 @@ settings. For example::
 
    #include <env/ti/mmc.env>
 
+Quotes are not suppressed, 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.