From f2c1205f88acaec2fbe1684f11c8d1811ccc472a Mon Sep 17 00:00:00 2001 From: Nishanth Menon Date: Mon, 12 Feb 2024 13:47:20 -0600 Subject: [PATCH] board: ti: am64x: Set fdtfile from C code instead of findfdt script 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 Reviewed-by: Roger Quadros Signed-off-by: Nishanth Menon --- board/ti/am64x/am64x.env | 9 --------- board/ti/am64x/evm.c | 8 ++++++++ 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/board/ti/am64x/am64x.env b/board/ti/am64x/am64x.env index efd736b99b..9a8812d4ee 100644 --- a/board/ti/am64x/am64x.env +++ b/board/ti/am64x/am64x.env @@ -2,14 +2,6 @@ #include #include -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; diff --git a/board/ti/am64x/evm.c b/board/ti/am64x/evm.c index a7ca6be436..b8de69da06 100644 --- a/board/ti/am64x/evm.c +++ b/board/ti/am64x/evm.c @@ -16,6 +16,7 @@ #include #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) -- 2.39.5