hc
2023-11-06 1622ff3442ff6aecc1f538cda437379d1f6a4a93
kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
....@@ -2346,13 +2346,16 @@
23462346 {
23472347 }
23482348
2349
+
2350
+static unsigned char macaddr[6];
2351
+extern ssize_t at24_mac_read(unsigned char* addr);
23492352 void rk_get_eth_addr(void *priv, unsigned char *addr)
23502353 {
23512354 struct rk_priv_data *bsp_priv = priv;
23522355 struct device *dev = &bsp_priv->pdev->dev;
23532356 unsigned char ethaddr[ETH_ALEN * MAX_ETH] = {0};
2354
- int ret, id = bsp_priv->bus_id;
2355
-
2357
+ int ret,i, id = bsp_priv->bus_id;
2358
+#if 0
23562359 rk_devinfo_get_eth_mac(addr);
23572360 if (is_valid_ether_addr(addr))
23582361 goto out;
....@@ -2383,6 +2386,22 @@
23832386 } else {
23842387 memcpy(addr, &ethaddr[id * ETH_ALEN], ETH_ALEN);
23852388 }
2389
+#endif
2390
+ #if 1
2391
+ if (at24_mac_read(macaddr) > 0) {
2392
+ printk("ben %s: at24_mac_read Success!! \n", __func__);
2393
+ memcpy(addr, macaddr, 6);
2394
+
2395
+ printk("Read the Ethernet MAC address from :");
2396
+ for (i = 0; i < 5; i++)
2397
+ printk("%2.2x:", addr[i]);
2398
+
2399
+ printk("%2.2x\n", addr[i]);
2400
+ } else {
2401
+ printk("ben %s: at24_mac_read Failed!! \n", __func__);
2402
+ goto out;
2403
+ }
2404
+ #endif
23862405
23872406 out:
23882407 dev_err(dev, "%s: mac address: %pM\n", __func__, addr);