| .. | .. |
|---|
| 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"); |
|---|