forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-04 8a67202f814bbd808484ed00f93ede0531f51506
kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
....@@ -2346,13 +2346,18 @@
23462346 {
23472347 }
23482348
2349
+
2350
+static unsigned char macaddr[6];
2351
+extern ssize_t at24_mac_read(unsigned char* addr);
2352
+extern ssize_t at24_mac1_read(unsigned char* addr);
23492353 void rk_get_eth_addr(void *priv, unsigned char *addr)
23502354 {
23512355 struct rk_priv_data *bsp_priv = priv;
23522356 struct device *dev = &bsp_priv->pdev->dev;
23532357 unsigned char ethaddr[ETH_ALEN * MAX_ETH] = {0};
2354
- int ret, id = bsp_priv->bus_id;
2355
-
2358
+ int ret,i, id = bsp_priv->bus_id;
2359
+ printk("troy test id : %d\n",id);
2360
+#if 0
23562361 rk_devinfo_get_eth_mac(addr);
23572362 if (is_valid_ether_addr(addr))
23582363 goto out;
....@@ -2383,6 +2388,35 @@
23832388 } else {
23842389 memcpy(addr, &ethaddr[id * ETH_ALEN], ETH_ALEN);
23852390 }
2391
+#endif
2392
+ #if 1
2393
+ if (id == 1 ){
2394
+ if (at24_mac_read(macaddr) > 0) {
2395
+ printk("ben %s: at24_mac_read Success!! \n", __func__);
2396
+ memcpy(addr, macaddr, 6);
2397
+ printk("Read the Ethernet MAC address from :");
2398
+ for (i = 0; i < 5; i++)
2399
+ printk("%2.2x:", addr[i]);
2400
+ } else {
2401
+ printk("ben %s: at24_mac_read Failed!! \n", __func__);
2402
+ goto out;
2403
+ }
2404
+ }
2405
+ else
2406
+ {
2407
+ if (at24_mac1_read(macaddr) > 0) {
2408
+ printk("ben %s: at24_mac_read Success!! \n", __func__);
2409
+ memcpy(addr, macaddr, 6);
2410
+ printk("Read the Ethernet MAC address from :");
2411
+ for (i = 0; i < 5; i++)
2412
+ printk("%2.2x:", addr[i]);
2413
+ } else {
2414
+ printk("ben %s: at24_mac_read Failed!! \n", __func__);
2415
+ goto out;
2416
+ }
2417
+ }
2418
+
2419
+ #endif
23862420
23872421 out:
23882422 dev_err(dev, "%s: mac address: %pM\n", __func__, addr);
....@@ -2546,7 +2580,7 @@
25462580 .of_match_table = rk_gmac_dwmac_match,
25472581 },
25482582 };
2549
-module_platform_driver(rk_gmac_dwmac_driver);
2583
+module_platform_driver1(rk_gmac_dwmac_driver);
25502584
25512585 MODULE_AUTHOR("Chen-Zhi (Roger Chen) <roger.chen@rock-chips.com>");
25522586 MODULE_DESCRIPTION("Rockchip RK3288 DWMAC specific glue layer");