Skip to content

Commit

Permalink
starfive: add mac vendor sub-command
Browse files Browse the repository at this point in the history
As boards from multiple vendors (Milk-V, StarFive, Pine64) use the mac
command provide a sub-command to set the vendor string.

Reported-by: E. Shattow <[email protected]>
Signed-off-by: Heinrich Schuchardt <[email protected]>
  • Loading branch information
xypron authored and Leo Yu-Chi Liang committed May 14, 2024
1 parent 215dc02 commit fcaf019
Showing 1 changed file with 24 additions and 1 deletion.
25 changes: 24 additions & 1 deletion board/starfive/visionfive2/visionfive2-i2c-eeprom.c
Original file line number Diff line number Diff line change
Expand Up @@ -404,6 +404,24 @@ static void set_product_id(char *string)
update_crc();
}

/**
* set_vendor() - set vendor name
*
* Takes a pointer to a string representing the vendor name, e.g.
* "StarFive Technology Co., Ltd.", stores it in the vendor field
* of the EEPROM local copy, and updates the CRC of the local copy.
*/
static void set_vendor(char *string)
{
memset(pbuf.eeprom.atom1.data.vstr, 0,
sizeof(pbuf.eeprom.atom1.data.vstr));

strncpy(pbuf.eeprom.atom1.data.vstr,
string, sizeof(pbuf.eeprom.atom1.data.vstr) - 1);

update_crc();
}

const char *get_product_id_from_eeprom(void)
{
if (read_eeprom())
Expand Down Expand Up @@ -463,6 +481,9 @@ int do_mac(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
} else if (!strcmp(cmd, "product_id")) {
set_product_id(argv[2]);
return 0;
} else if (!strcmp(cmd, "vendor")) {
set_vendor(argv[2]);
return 0;
}

return CMD_RET_USAGE;
Expand Down Expand Up @@ -586,7 +607,9 @@ U_BOOT_LONGHELP(mac,
"mac bom_revision <A>\n"
" - stores a StarFive BOM revision into the local EEPROM copy\n"
"mac product_id <VF7110A1-2228-D008E000-xxxxxxxx>\n"
" - stores a StarFive product ID into the local EEPROM copy\n");
" - stores a StarFive product ID into the local EEPROM copy\n"
"mac vendor <Vendor Name>\n"
" - set vendor string\n");

U_BOOT_CMD(
mac, 3, 1, do_mac,
Expand Down

0 comments on commit fcaf019

Please sign in to comment.