On 10/27/25 18:12, Patrice CHOTARD wrote:
> 
> 
> On 10/23/25 23:48, Marek Vasut wrote:
>> Move dh_add_item_number_and_serial_to_env() to common code, so it
>> can be used by both STM32MP13xx and iMX8MP DHSOM. No functional
>> change.
>>
>> Signed-off-by: Marek Vasut <[email protected]>
>> ---
>> Cc: Patrice Chotard <[email protected]>
>> Cc: Patrick Delaunay <[email protected]>
>> Cc: Tom Rini <[email protected]>
>> Cc: [email protected]
>> Cc: [email protected]
>> Cc: [email protected]
>> ---
>>  board/dhelectronics/common/dh_common.c        | 37 +++++++++++++++++++
>>  board/dhelectronics/common/dh_common.h        |  9 +++++
>>  .../dh_imx8mp/imx8mp_dhcom_pdk2.c             | 37 -------------------
>>  3 files changed, 46 insertions(+), 37 deletions(-)
>>
>> diff --git a/board/dhelectronics/common/dh_common.c 
>> b/board/dhelectronics/common/dh_common.c
>> index 6101ecc7ebc..e7ee23aa8ce 100644
>> --- a/board/dhelectronics/common/dh_common.c
>> +++ b/board/dhelectronics/common/dh_common.c
>> @@ -246,3 +246,40 @@ __weak int dh_setup_mac_address(struct eeprom_id_page 
>> *eip)
>>      printf("%s: Unable to set mac address!\n", __func__);
>>      return -ENXIO;
>>  }
>> +
>> +void dh_add_item_number_and_serial_to_env(struct eeprom_id_page *eip)
>> +{
>> +    char *item_number_env;
>> +    char item_number[8];    /* String with 7 characters + string 
>> termination */
>> +    char *serial_env;
>> +    char serial[10];        /* String with 9 characters + string 
>> termination */
>> +    int ret;
>> +
>> +    ret = dh_get_value_from_eeprom_buffer(DH_ITEM_NUMBER, item_number, 
>> sizeof(item_number),
>> +                                          eip);
>> +    if (ret) {
>> +            printf("%s: Unable to get DHSOM item number from EEPROM ID 
>> page! ret = %d\n",
>> +                   __func__, ret);
>> +    } else {
>> +            item_number_env = env_get("dh_som_item_number");
>> +            if (!item_number_env)
>> +                    env_set("dh_som_item_number", item_number);
>> +            else if (strcmp(item_number_env, item_number))
>> +                    printf("Warning: Environment dh_som_item_number differs 
>> from EEPROM ID page value (%s != %s)\n",
>> +                           item_number_env, item_number);
>> +    }
>> +
>> +    ret = dh_get_value_from_eeprom_buffer(DH_SERIAL_NUMBER, serial, 
>> sizeof(serial),
>> +                                          eip);
>> +    if (ret) {
>> +            printf("%s: Unable to get DHSOM serial number from EEPROM ID 
>> page! ret = %d\n",
>> +                   __func__, ret);
>> +    } else {
>> +            serial_env = env_get("dh_som_serial_number");
>> +            if (!serial_env)
>> +                    env_set("dh_som_serial_number", serial);
>> +            else if (strcmp(serial_env, serial))
>> +                    printf("Warning: Environment dh_som_serial_number 
>> differs from EEPROM ID page value (%s != %s)\n",
>> +                           serial_env, serial);
>> +    }
>> +}
>> diff --git a/board/dhelectronics/common/dh_common.h 
>> b/board/dhelectronics/common/dh_common.h
>> index c4693c60618..b4f31bdb88e 100644
>> --- a/board/dhelectronics/common/dh_common.h
>> +++ b/board/dhelectronics/common/dh_common.h
>> @@ -107,7 +107,16 @@ int dh_get_value_from_eeprom_buffer(enum 
>> eip_request_values request, u8 *data, i
>>  
>>  /*
>>   * dh_setup_mac_address - Try to get MAC address from various locations and 
>> write it to env
>> + * @eip: ID EEPROM buffer
>>   *
>>   * Return: 0 if OK, other value on error
>>   */
>>  int dh_setup_mac_address(struct eeprom_id_page *eip);
>> +
>> +/*
>> + * dh_add_item_number_and_serial_to_env - Try to get DH IDs from WLP write 
>> them to env
>> + * @eip: ID EEPROM buffer
>> + *
>> + * Return: 0 if OK, other value on error
>> + */
>> +void dh_add_item_number_and_serial_to_env(struct eeprom_id_page *eip);
>> diff --git a/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c 
>> b/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c
>> index 3a890c5920c..5c35a5bf447 100644
>> --- a/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c
>> +++ b/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c
>> @@ -116,43 +116,6 @@ int dh_setup_mac_address(struct eeprom_id_page *eip)
>>      return ret;
>>  }
>>  
>> -void dh_add_item_number_and_serial_to_env(struct eeprom_id_page *eip)
>> -{
>> -    char *item_number_env;
>> -    char item_number[8];    /* String with 7 characters + string 
>> termination */
>> -    char *serial_env;
>> -    char serial[10];        /* String with 9 characters + string 
>> termination */
>> -    int ret;
>> -
>> -    ret = dh_get_value_from_eeprom_buffer(DH_ITEM_NUMBER, item_number, 
>> sizeof(item_number),
>> -                                          eip);
>> -    if (ret) {
>> -            printf("%s: Unable to get DHSOM item number from EEPROM ID 
>> page! ret = %d\n",
>> -                   __func__, ret);
>> -    } else {
>> -            item_number_env = env_get("dh_som_item_number");
>> -            if (!item_number_env)
>> -                    env_set("dh_som_item_number", item_number);
>> -            else if (strcmp(item_number_env, item_number))
>> -                    printf("Warning: Environment dh_som_item_number differs 
>> from EEPROM ID page value (%s != %s)\n",
>> -                           item_number_env, item_number);
>> -    }
>> -
>> -    ret = dh_get_value_from_eeprom_buffer(DH_SERIAL_NUMBER, serial, 
>> sizeof(serial),
>> -                                          eip);
>> -    if (ret) {
>> -            printf("%s: Unable to get DHSOM serial number from EEPROM ID 
>> page! ret = %d\n",
>> -                   __func__, ret);
>> -    } else {
>> -            serial_env = env_get("dh_som_serial_number");
>> -            if (!serial_env)
>> -                    env_set("dh_som_serial_number", serial);
>> -            else if (strcmp(serial_env, serial))
>> -                    printf("Warning: Environment dh_som_serial_number 
>> differs from EEPROM ID page value (%s != %s)\n",
>> -                           serial_env, serial);
>> -    }
>> -}
>> -
>>  int board_late_init(void)
>>  {
>>      u8 eeprom_buffer[DH_EEPROM_ID_PAGE_MAX_SIZE] = { 0 };
> Hi 
> 
> Reviewed-by: Patrice Chotard <[email protected]>
> 
> Thanks
> Patrice

Applied to u-boot-stm32/master

Thanks
Patrice

Reply via email to