[PATCH] sunxi: avoid double vendor prefix when CONFIG_OF_UPSTREAM is enabled
Bohdan Chubuk
chbgdn at gmail.com
Sun Nov 23 21:43:46 CET 2025
When CONFIG_OF_UPSTREAM is enabled, the device tree name provided by SPL
already includes the vendor directory (e.g., "allwinner/board-name").
The existing logic in misc_init_r() unconditionally prepends "allwinner/"
for ARM64 builds, resulting in an incorrect path like
"allwinner/allwinner/board-name.dtb".
This patch modifies the logic to only prepend the vendor prefix if
CONFIG_OF_UPSTREAM is NOT enabled. This ensures compatibility with both
legacy builds and the new upstream devicetree structure.
Signed-off-by: Bohdan Chubuk <chbgdn at gmail.com>
---
board/sunxi/board.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/board/sunxi/board.c b/board/sunxi/board.c
index 2929bc17f08..c68b51d370d 100644
--- a/board/sunxi/board.c
+++ b/board/sunxi/board.c
@@ -834,7 +834,10 @@ int misc_init_r(void)
/* Set fdtfile to match the FIT configuration chosen in SPL. */
spl_dt_name = get_spl_dt_name();
if (spl_dt_name) {
- char *prefix = IS_ENABLED(CONFIG_ARM64) ? "allwinner/" : "";
+ const char *prefix = "";
+
+ if (IS_ENABLED(CONFIG_ARM64) && !IS_ENABLED(CONFIG_OF_UPSTREAM))
+ prefix = "allwinner/";
char str[64];
snprintf(str, sizeof(str), "%s%s.dtb", prefix, spl_dt_name);
--
2.52.0
More information about the U-Boot
mailing list