starfive: add mac vendor sub-command
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 <lucent@gmail.com> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
committed by
Leo Yu-Chi Liang
parent
215dc02aee
commit
fcaf019c4e
@@ -404,6 +404,24 @@ static void set_product_id(char *string)
|
|||||||
update_crc();
|
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)
|
const char *get_product_id_from_eeprom(void)
|
||||||
{
|
{
|
||||||
if (read_eeprom())
|
if (read_eeprom())
|
||||||
@@ -463,6 +481,9 @@ int do_mac(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
|
|||||||
} else if (!strcmp(cmd, "product_id")) {
|
} else if (!strcmp(cmd, "product_id")) {
|
||||||
set_product_id(argv[2]);
|
set_product_id(argv[2]);
|
||||||
return 0;
|
return 0;
|
||||||
|
} else if (!strcmp(cmd, "vendor")) {
|
||||||
|
set_vendor(argv[2]);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return CMD_RET_USAGE;
|
return CMD_RET_USAGE;
|
||||||
@@ -586,7 +607,9 @@ U_BOOT_LONGHELP(mac,
|
|||||||
"mac bom_revision <A>\n"
|
"mac bom_revision <A>\n"
|
||||||
" - stores a StarFive BOM revision into the local EEPROM copy\n"
|
" - stores a StarFive BOM revision into the local EEPROM copy\n"
|
||||||
"mac product_id <VF7110A1-2228-D008E000-xxxxxxxx>\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(
|
U_BOOT_CMD(
|
||||||
mac, 3, 1, do_mac,
|
mac, 3, 1, do_mac,
|
||||||
|
|||||||
Reference in New Issue
Block a user