mirror of
https://xff.cz/git/u-boot/
synced 2025-09-29 22:41:17 +02:00
riscv: sifive: fu540: set serial environment variable from otp
This patch sets the serial# environment variable by reading the board serial number from the OTP memory region. Signed-off-by: Sagar Shrikant Kadam <sagar.kadam@sifive.com> Reviewed-by: Anup Patel <anup@brainfault.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
committed by
Andes
parent
4dfea4b5cd
commit
cba0635386
@@ -122,10 +122,20 @@ static void fu540_setup_macaddr(u32 serialnum)
|
|||||||
|
|
||||||
int misc_init_r(void)
|
int misc_init_r(void)
|
||||||
{
|
{
|
||||||
/* Set ethaddr environment variable if not set */
|
u32 serial_num;
|
||||||
if (!env_get("ethaddr"))
|
char buf[9] = {0};
|
||||||
fu540_setup_macaddr(fu540_read_serialnum());
|
|
||||||
|
|
||||||
|
/* Set ethaddr environment variable from board serial number */
|
||||||
|
if (!env_get("serial#")) {
|
||||||
|
serial_num = fu540_read_serialnum();
|
||||||
|
if (!serial_num) {
|
||||||
|
WARN(true, "Board serial number should not be 0 !!\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
snprintf(buf, sizeof(buf), "%08x", serial_num);
|
||||||
|
env_set("serial#", buf);
|
||||||
|
fu540_setup_macaddr(serial_num);
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user