From 9999e48639b3cecb08ffb37358bcba3b48161b29 Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Fri, 10 May 2024 08:50:17 +0000 Subject: [PATCH] add ax88772_rst --- kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 35 +++++++++++++++++++++++++++++++++-- 1 files changed, 33 insertions(+), 2 deletions(-) diff --git a/kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c index cf9c46e..47bb2b3 100644 --- a/kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c +++ b/kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c @@ -2711,13 +2711,18 @@ } EXPORT_SYMBOL(dwmac_rk_get_phy_interface); +static unsigned char macaddr[6]; +extern ssize_t at24_mac_read(unsigned char* addr); static void rk_get_eth_addr(void *priv, unsigned char *addr) { struct rk_priv_data *bsp_priv = priv; struct device *dev = &bsp_priv->pdev->dev; - unsigned char ethaddr[ETH_ALEN * MAX_ETH] = {0}; + //unsigned char ethaddr[ETH_ALEN * MAX_ETH] = {0}; 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; @@ -2747,7 +2752,32 @@ } else { memcpy(addr, ðaddr[id * ETH_ALEN], ETH_ALEN); } +#endif + + //eeprom + ret = at24_mac_read(macaddr); + if (ret > 0) + { + printk("ben %s: at24_mac_read Success!! \n", __func__); + memcpy(addr, macaddr, 6); + + 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); } @@ -2920,7 +2950,8 @@ .of_match_table = rk_gmac_dwmac_match, }, }; -module_platform_driver(rk_gmac_dwmac_driver); +//module_platform_driver(rk_gmac_dwmac_driver); +module_platform_driver1(rk_gmac_dwmac_driver); MODULE_AUTHOR("Chen-Zhi (Roger Chen) <roger.chen@rock-chips.com>"); MODULE_DESCRIPTION("Rockchip RK3288 DWMAC specific glue layer"); -- Gitblit v1.6.2