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 <[email protected]>
>> ---
>>  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

Reply via email to