.. | .. |
---|
2711 | 2711 | } |
---|
2712 | 2712 | EXPORT_SYMBOL(dwmac_rk_get_phy_interface); |
---|
2713 | 2713 | |
---|
| 2714 | +static unsigned char macaddr[6]; |
---|
| 2715 | +extern ssize_t at24_mac_read(unsigned char* addr); |
---|
2714 | 2716 | static void rk_get_eth_addr(void *priv, unsigned char *addr) |
---|
2715 | 2717 | { |
---|
2716 | 2718 | struct rk_priv_data *bsp_priv = priv; |
---|
2717 | 2719 | struct device *dev = &bsp_priv->pdev->dev; |
---|
2718 | | - unsigned char ethaddr[ETH_ALEN * MAX_ETH] = {0}; |
---|
| 2720 | + //unsigned char ethaddr[ETH_ALEN * MAX_ETH] = {0}; |
---|
2719 | 2721 | int ret, id = bsp_priv->bus_id; |
---|
| 2722 | + //int i; |
---|
2720 | 2723 | |
---|
| 2724 | + printk("hw-debug:enter rk_get_eth_addr.. \n"); |
---|
| 2725 | +#if 0 |
---|
2721 | 2726 | if (is_valid_ether_addr(addr)) |
---|
2722 | 2727 | goto out; |
---|
2723 | 2728 | |
---|
.. | .. |
---|
2747 | 2752 | } else { |
---|
2748 | 2753 | memcpy(addr, ðaddr[id * ETH_ALEN], ETH_ALEN); |
---|
2749 | 2754 | } |
---|
| 2755 | +#endif |
---|
| 2756 | + |
---|
2750 | 2757 | |
---|
| 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); |
---|
| 2764 | + |
---|
| 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 | + } |
---|
2751 | 2781 | out: |
---|
2752 | 2782 | dev_err(dev, "%s: mac address: %pM\n", __func__, addr); |
---|
2753 | 2783 | } |
---|
.. | .. |
---|
2920 | 2950 | .of_match_table = rk_gmac_dwmac_match, |
---|
2921 | 2951 | }, |
---|
2922 | 2952 | }; |
---|
2923 | | -module_platform_driver(rk_gmac_dwmac_driver); |
---|
| 2953 | +//module_platform_driver(rk_gmac_dwmac_driver); |
---|
| 2954 | +module_platform_driver1(rk_gmac_dwmac_driver); |
---|
2924 | 2955 | |
---|
2925 | 2956 | MODULE_AUTHOR("Chen-Zhi (Roger Chen) <roger.chen@rock-chips.com>"); |
---|
2926 | 2957 | MODULE_DESCRIPTION("Rockchip RK3288 DWMAC specific glue layer"); |
---|