From 37f49e37ab4cb5d0bc4c60eb5c6d4dd57db767bb Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Fri, 10 May 2024 07:44:59 +0000
Subject: [PATCH] gmac get mac form eeprom

---
 kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c |   40 +++++++++++++++++++++++++---------------
 1 files changed, 25 insertions(+), 15 deletions(-)

diff --git a/kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
index 8e1b354..47bb2b3 100644
--- a/kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
+++ b/kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
@@ -2718,9 +2718,10 @@
 	struct rk_priv_data *bsp_priv = priv;
 	struct device *dev = &bsp_priv->pdev->dev;
 	//unsigned char ethaddr[ETH_ALEN * MAX_ETH] = {0};
-	//int ret, id = bsp_priv->bus_id;
-	int i;
+	int ret, id = bsp_priv->bus_id;
+	//int i;
 
+	printk("hw-debug:enter rk_get_eth_addr.. \n");
 #if 0
 	if (is_valid_ether_addr(addr))
 		goto out;
@@ -2753,21 +2754,30 @@
 	}
 #endif
 	
-	#if 1
-        if (at24_mac_read(macaddr) > 0) {
-                printk("ben %s: at24_mac_read Success!! \n", __func__);
-                memcpy(addr, macaddr, 6);
 
-                printk("Read the Ethernet MAC address from :");
-                for (i = 0; i < 5; i++)
-                        printk("%2.2x:", addr[i]);
+	//eeprom
+        	ret = at24_mac_read(macaddr);
+        	if (ret > 0)
+        	{
+                	printk("ben %s: at24_mac_read Success!! \n", __func__);
+                	memcpy(addr, macaddr, 6);
 
-                printk("%2.2x\n", addr[i]);
-        } else {
-                printk("ben %s: at24_mac_read Failed!! \n", __func__);
-                goto out;
-        }
-        #endif
+                	if ((addr[0] == 0x68) && (addr[1] == 0xed))
+                	{
+                        	printk("at24_eeprom mac is valid \n", __func__);
+                        	goto out;
+        		}
+                	else
+                	{
+                        	printk("at24_eeprom mac is invalid \n", __func__);
+                        	addr[0] = 0x68;
+                        	addr[1] = 0xed;
+                        	addr[2] = 0x01;
+                        	addr[3] = 0x02;
+                        	addr[4] = 0x03;
+                        	addr[5] = 0x04;
+                	}
+    		}
 out:
 	dev_err(dev, "%s: mac address: %pM\n", __func__, addr);
 }

--
Gitblit v1.6.2