[PATCH] board: ti: am64,j721*: use correct fdt if eeprom detection fails
Anshul Dalal
anshuld at ti.com
Fri Feb 6 09:51:45 CET 2026
On Tue Feb 3, 2026 at 7:43 PM IST, Bryan Brattlof wrote:
> On February 3, 2026 thus sayeth Anshul Dalal:
>> We currently provide default board names for each board in their
>> respective evm.c file. However for custom boards, this behaviour
>> overwrites the default DT as set in the defconfig
>> (CONFIG_DEFAULT_FDT_FILE or CONFIG_DEFAULT_DEVICE_TREE).
>
> Are people using the TI_I2C_BOARD_DETECT logic on their custom boards?
Users are expected to not use TI_I2C_BOARD_DETECT for custom boards but
the correct behaviour should be to fallback to what's configured in the
.config regardless.
>
>>
>> This patch changes the default name to be NULL which prevents this
>> overwrite and allows ti_set_fdt_env to instead fallback to the correct
>> DT as set in Kconfig.
>>
>> Signed-off-by: Anshul Dalal <anshuld at ti.com>
>> ---
>> board/ti/am64x/evm.c | 2 +-
>> board/ti/j721e/evm.c | 2 +-
>> board/ti/j721s2/evm.c | 2 +-
>> 3 files changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/board/ti/am64x/evm.c b/board/ti/am64x/evm.c
>> index 25076a8a588..c6ddc44d14c 100644
>> --- a/board/ti/am64x/evm.c
>> +++ b/board/ti/am64x/evm.c
>> @@ -138,7 +138,7 @@ static struct ti_fdt_map ti_am64_evm_fdt_map[] = {
>>
>> static void setup_board_eeprom_env(void)
>> {
>> - char *name = "am64x_gpevm";
>> + char *name = NULL;
>
> Would it make sense to add this default to the else case?
>
I assume you're suggesting something like the following:
diff --git a/board/ti/am64x/evm.c b/board/ti/am64x/evm.c
index 25076a8a588..7d59e5c376c 100644
--- a/board/ti/am64x/evm.c
+++ b/board/ti/am64x/evm.c
@@ -147,9 +147,11 @@ static void setup_board_eeprom_env(void)
name = "am64x_gpevm";
else if (board_is_am64x_skevm())
name = "am64x_skevm";
- else
+ else {
+ name = NULL;
printf("Unidentified board claims %s in eeprom header\n",
board_ti_get_name());
+ }
invalid_eeprom:
set_board_info_env_am6(name);
We could do so but it would be functionally identical except for the
cases where do_board_detect fails and we still fallback to presuming a
GP board.
> If I understand the problem correctly we still get the benefit of the
> default for boards we don't have a match for in eeprom but if
> do_board_detect() fails we pass the NULL to ti_set_fdt_env()?
>
IMO passing NULL to set_board_info_env_am6 and especially ti_set_fdt_env
is the correct behavior here as my patch originally intends to.
For set_board_info_env_am6, it ensures the "board_name" in env is set to
"unknown" instead of the default GP board which might not be correct.
And for ti_set_fdt_env it allows the user to specify the DT from .config
instead of having to modify ti_fdt_map.
> ~Bryan
More information about the U-Boot
mailing list