]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
board: ti: am64x: Set fdtfile from C code instead of findfdt script
authorNishanth Menon <nm@ti.com>
Mon, 12 Feb 2024 19:47:20 +0000 (13:47 -0600)
committerTom Rini <trini@konsulko.com>
Tue, 20 Feb 2024 22:57:40 +0000 (17:57 -0500)
We now can provide a map and have the standard fdtfile variable set from
code itself. This allows for bootstd to "just work".

While at this, replace findfdt in environment with a warning as it is no
longer needed.

Reviewed-by: Jonathan Humphreys <j-humphreys@ti.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Signed-off-by: Nishanth Menon <nm@ti.com>
board/ti/am64x/am64x.env
board/ti/am64x/evm.c

index efd736b99be4556598b49547ad6943b7b26d58ca..9a8812d4ee54fe25637da04212f7b788c788fbf3 100644 (file)
@@ -2,14 +2,6 @@
 #include <env/ti/mmc.env>
 #include <env/ti/k3_dfu.env>
 
-findfdt=
-       if test $board_name = am64x_gpevm; then
-               setenv name_fdt ti/k3-am642-evm.dtb; fi;
-       if test $board_name = am64x_skevm; then
-               setenv name_fdt ti/k3-am642-sk.dtb; fi;
-       if test $name_fdt = undefined; then
-               echo WARNING: Could not determine device tree to use; fi;
-       setenv fdtfile ${name_fdt}
 name_kern=Image
 console=ttyS2,115200n8
 args_all=setenv optargs earlycon=ns16550a,mmio32,0x02800000 ${mtdparts}
@@ -43,7 +35,6 @@ get_fit_usb=load usb ${bootpart} ${addr_fit}
 usbboot=setenv boot usb;
        setenv bootpart 0:2;
        usb start;
-       run findfdt;
        run init_usb;
        run get_kern_usb;
        run get_fdt_usb;
index a7ca6be436eb9dbb80c8fb001823d3f7059772ab..b8de69da06c59b6c3a05fe874586e286192a068e 100644 (file)
@@ -16,6 +16,7 @@
 #include <env.h>
 
 #include "../common/board_detect.h"
+#include "../common/fdt_ops.h"
 
 #define board_is_am64x_gpevm() (board_ti_k3_is("AM64-GPEVM") || \
                                board_ti_k3_is("AM64-EVM") || \
@@ -181,6 +182,12 @@ int checkboard(void)
 }
 
 #ifdef CONFIG_BOARD_LATE_INIT
+static struct ti_fdt_map ti_am64_evm_fdt_map[] = {
+       {"am64x_gpevm", "k3-am642-evm.dtb"},
+       {"am64x_skevm", "k3-am642-sk.dtb"},
+       { /* Sentinel. */ }
+};
+
 static void setup_board_eeprom_env(void)
 {
        char *name = "am64x_gpevm";
@@ -198,6 +205,7 @@ static void setup_board_eeprom_env(void)
 
 invalid_eeprom:
        set_board_info_env_am6(name);
+       ti_set_fdt_env(name, ti_am64_evm_fdt_map);
 }
 
 static void setup_serial(void)