Files
OpenBMC/meta-luxshare/meta-common/recipes-bsp/u-boot/files/0001-Force-set-mac-from-eeprom-even-if-current-mac-is-val.patch
T
2026-04-23 17:07:55 +08:00

62 lines
2.0 KiB
Diff
Executable File

From 4d636c9d43fcaec7807e08c5cc7ba7984e18a58a Mon Sep 17 00:00:00 2001
From: "Chen.Zhao" <zhao.chen@luxshare-ict.com>
Date: Mon, 23 Dec 2024 16:29:06 +0800
Subject: [PATCH] Force set mac from eeprom even if current mac is valid
---
board/aspeed/evb_ast2600/evb_ast2600.c | 2 ++
cmd/nvedit.c | 3 +++
include/configs/aspeed-common.h | 2 ++
3 files changed, 7 insertions(+)
diff --git a/board/aspeed/evb_ast2600/evb_ast2600.c b/board/aspeed/evb_ast2600/evb_ast2600.c
index dfb4c7c7ef..62b2cb3585 100644
--- a/board/aspeed/evb_ast2600/evb_ast2600.c
+++ b/board/aspeed/evb_ast2600/evb_ast2600.c
@@ -220,6 +220,7 @@ int mac_read_from_eeprom(void)
u8 ethaddr[MAC_NUM*MAC_BYTE_SIZE];
char addr_str[100];
+ printf("mac_read_from_eeprom\n");
memset(ethaddr, 0, sizeof(ethaddr));
if (get_ethaddr_from_eeprom(ethaddr)) {
@@ -228,6 +229,7 @@ int mac_read_from_eeprom(void)
}
for (int i = 0; i < MAC_NUM; i++) {
if (is_valid_ethaddr(&ethaddr[MAC_BYTE_SIZE*i])) {
+ printf("eth%d mac:0x%x 0x%x 0x%x 0x%x 0x%x 0x%x\n",i,ethaddr[0+6*i],ethaddr[1+6*i],ethaddr[2+6*i],ethaddr[3+6*i],ethaddr[4+6*i],ethaddr[5+6*i]);
memset(addr_str, 0, sizeof(addr_str));
if (i == 0) {
snprintf(addr_str, sizeof(addr_str), "ethaddr");
diff --git a/cmd/nvedit.c b/cmd/nvedit.c
index 24a6cf7824..2df944eefb 100644
--- a/cmd/nvedit.c
+++ b/cmd/nvedit.c
@@ -373,8 +373,11 @@ int eth_env_set_enetaddr(const char *name, const uint8_t *enetaddr)
{
char buf[ARP_HLEN_ASCII + 1];
+ /*Luxshare remark this code to force write ethaddr and not check current mac address */
+ #if 0
if (eth_env_get_enetaddr(name, (uint8_t *)buf))
return -EEXIST;
+ #endif
sprintf(buf, "%pM", enetaddr);
diff --git a/include/configs/aspeed-common.h b/include/configs/aspeed-common.h
index 62570cea47..5892b28b2f 100644
--- a/include/configs/aspeed-common.h
+++ b/include/configs/aspeed-common.h
@@ -86,4 +86,6 @@
#define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
#endif
+#define CONFIG_ENV_OVERWRITE
+
#endif /* __ASPEED_COMMON_CONFIG_H */
--
2.25.1