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