hc
2024-05-10 37f49e37ab4cb5d0bc4c60eb5c6d4dd57db767bb
kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
....@@ -2718,9 +2718,10 @@
27182718 struct rk_priv_data *bsp_priv = priv;
27192719 struct device *dev = &bsp_priv->pdev->dev;
27202720 //unsigned char ethaddr[ETH_ALEN * MAX_ETH] = {0};
2721
- //int ret, id = bsp_priv->bus_id;
2722
- int i;
2721
+ int ret, id = bsp_priv->bus_id;
2722
+ //int i;
27232723
2724
+ printk("hw-debug:enter rk_get_eth_addr.. \n");
27242725 #if 0
27252726 if (is_valid_ether_addr(addr))
27262727 goto out;
....@@ -2753,21 +2754,30 @@
27532754 }
27542755 #endif
27552756
2756
- #if 1
2757
- if (at24_mac_read(macaddr) > 0) {
2758
- printk("ben %s: at24_mac_read Success!! \n", __func__);
2759
- memcpy(addr, macaddr, 6);
27602757
2761
- printk("Read the Ethernet MAC address from :");
2762
- for (i = 0; i < 5; i++)
2763
- printk("%2.2x:", addr[i]);
2758
+ //eeprom
2759
+ ret = at24_mac_read(macaddr);
2760
+ if (ret > 0)
2761
+ {
2762
+ printk("ben %s: at24_mac_read Success!! \n", __func__);
2763
+ memcpy(addr, macaddr, 6);
27642764
2765
- printk("%2.2x\n", addr[i]);
2766
- } else {
2767
- printk("ben %s: at24_mac_read Failed!! \n", __func__);
2768
- goto out;
2769
- }
2770
- #endif
2765
+ if ((addr[0] == 0x68) && (addr[1] == 0xed))
2766
+ {
2767
+ printk("at24_eeprom mac is valid \n", __func__);
2768
+ goto out;
2769
+ }
2770
+ else
2771
+ {
2772
+ printk("at24_eeprom mac is invalid \n", __func__);
2773
+ addr[0] = 0x68;
2774
+ addr[1] = 0xed;
2775
+ addr[2] = 0x01;
2776
+ addr[3] = 0x02;
2777
+ addr[4] = 0x03;
2778
+ addr[5] = 0x04;
2779
+ }
2780
+ }
27712781 out:
27722782 dev_err(dev, "%s: mac address: %pM\n", __func__, addr);
27732783 }