aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/thead/light-c910/light.c34
1 files changed, 13 insertions, 21 deletions
diff --git a/board/thead/light-c910/light.c b/board/thead/light-c910/light.c
index 48fd41a9..88ddbdfc 100644
--- a/board/thead/light-c910/light.c
+++ b/board/thead/light-c910/light.c
@@ -1867,45 +1867,37 @@ static void light_usb_boot_check(void)
#endif
run_command("env default -a -f", 0);
- run_command("env save", 0);
+ env_save();
run_command("run gpt_partition", 0);
run_command("fastboot usb 0", 0);
}
static void light_mac_vaild_check(void)
{
- uchar env_enetaddr[6]={0};
- uchar env_enet1addr[6]={0};
+ uchar env_enetaddr[6];
+ uchar env_enet1addr[6];
int env_ethaddr_flag,env_eth1addr_flag;
/*Get this version ethaddr(mac addr) env,which follows one board, trans to next version env*/
env_ethaddr_flag = eth_env_get_enetaddr_by_index("eth", 0, env_enetaddr);
env_eth1addr_flag = eth_env_get_enetaddr_by_index("eth", 1, env_enet1addr);
- /*If mac addr in last version env is valid, before save,inherit env mac addr */
- if(env_ethaddr_flag){
- eth_env_set_enetaddr_by_index("eth", 0, env_enetaddr);
- run_command("printenv ethaddr",0);
- }else{
+ if (!env_ethaddr_flag || !env_eth1addr_flag) {
net_random_ethaddr(env_enetaddr);
+ if (env_enetaddr[5] == (uchar)(0xff)) {
+ env_enetaddr[5] = 0xfe;
+ }
eth_env_set_enetaddr_by_index("eth", 0, env_enetaddr);
env_enetaddr[5] += 0x01;
eth_env_set_enetaddr_by_index("eth", 1, env_enetaddr);
- //printf("env ethaddr not exist or invalid\n");
- printf("use random addr as fixed mac addr\n");
+ printf("Use random addr as fixed mac addr\n");
+ env_save();
}
- if(env_eth1addr_flag){
- eth_env_set_enetaddr_by_index("eth", 1, env_enet1addr);
- run_command("printenv eth1addr",0);
- }else{
- net_random_ethaddr(env_enet1addr);
- eth_env_set_enetaddr_by_index("eth", 1, env_enet1addr);
- env_enet1addr[5] -= 0x01;
- eth_env_set_enetaddr_by_index("eth", 0, env_enet1addr);
- //printf("env eth1addr not exist or invalid\n");
- printf("use random addr as fixed mac addr\n");
- }
+ printf("ethaddr: %s\n", env_get("ethaddr"));
+ printf("eth1addr: %s\n", env_get("eth1addr"));
+
+ return;
}
int board_late_init(void)