Changeset 22700


Ignore:
Timestamp:
2010-08-18T18:00:28+02:00 (7 years ago)
Author:
juhosg
Message:

ar71xx: change mac address initialization

Location:
trunk/target/linux/ar71xx/files/arch/mips/ar71xx
Files:
31 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-eth.c

    r22401 r22700  
    3535} 
    3636 
    37 void __init ap91_eth_init(u8 *mac_addr, const char *port_names[]) 
     37void __init ap91_eth_init(const char *port_names[]) 
    3838{ 
    39         if (mac_addr) 
    40                 ar71xx_set_mac_base(mac_addr); 
    41  
    4239        if (port_names) { 
    4340                int i; 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-eth.h

    r20095 r22700  
    1515 
    1616#if defined(CONFIG_AR71XX_DEV_AP91_ETH) 
    17 void ap91_eth_init(u8 *mac_addr, const char *port_names[]) __init; 
     17void ap91_eth_init(const char *port_names[]) __init; 
    1818#else 
    19 static inline void ap91_eth_init(u8 *mac_addr) { } 
     19static inline void ap91_eth_init(const char *port_names[]) { } 
    2020#endif 
    2121 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/devices.c

    r22303 r22700  
    2323#include "devices.h" 
    2424 
    25 static u8 ar71xx_mac_base[ETH_ALEN] __initdata; 
     25unsigned char ar71xx_mac_base[ETH_ALEN] __initdata; 
    2626 
    2727static struct resource ar71xx_uart_resources[] = { 
     
    491491        } 
    492492 
    493         if (is_valid_ether_addr(ar71xx_mac_base)) { 
    494                 memcpy(pdata->mac_addr, ar71xx_mac_base, ETH_ALEN); 
    495                 pdata->mac_addr[5] += ar71xx_eth_instance; 
    496         } else { 
     493        if (!is_valid_ether_addr(pdata->mac_addr)) { 
    497494                random_ether_addr(pdata->mac_addr); 
    498495                printk(KERN_DEBUG 
     
    581578} 
    582579__setup("kmac=", ar71xx_kmac_setup); 
     580 
     581void __init ar71xx_init_mac(unsigned char *dst, const unsigned char *src, 
     582                            unsigned offset) 
     583{ 
     584        u32 t; 
     585 
     586        if (!is_valid_ether_addr(src)) { 
     587                memset(dst, '\0', ETH_ALEN); 
     588                return; 
     589        } 
     590 
     591        t = (((u32) src[3]) << 16) + (((u32) src[4]) << 8) + ((u32) src[5]); 
     592        t += offset; 
     593 
     594        dst[0] = src[0]; 
     595        dst[1] = src[1]; 
     596        dst[2] = src[2]; 
     597        dst[3] = (t >> 16) & 0xff; 
     598        dst[4] = (t >> 8) & 0xff; 
     599        dst[5] = t & 0xff; 
     600} 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/devices.h

    r18943 r22700  
    2121                           unsigned n) __init; 
    2222 
    23 void ar71xx_set_mac_base(unsigned char *mac) __init; 
     23extern unsigned char ar71xx_mac_base[] __initdata; 
    2424void ar71xx_parse_mac_addr(char *mac_str) __init; 
     25void ar71xx_init_mac(unsigned char *dst, const unsigned char *src, 
     26                     unsigned offset) __init; 
    2527 
    2628struct ar71xx_eth_pll_data { 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-ap81.c

    r20358 r22700  
    110110        u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000); 
    111111 
    112         ar71xx_set_mac_base(eeprom); 
    113112        ar71xx_add_device_mdio(0x0); 
    114113 
     114        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, eeprom, 0); 
    115115        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; 
    116116        ar71xx_eth0_data.speed = SPEED_100; 
     
    118118        ar71xx_eth0_data.has_ar8216 = 1; 
    119119 
     120        ar71xx_init_mac(ar71xx_eth1_data.mac_addr, eeprom, 1); 
    120121        ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; 
    121122        ar71xx_eth1_data.phy_mask = 0x10; 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-ap83.c

    r21075 r22700  
    197197        u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000); 
    198198 
    199         ar71xx_set_mac_base(eeprom); 
    200  
    201199        ar71xx_add_device_mdio(0xfffffffe); 
    202200 
     201        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, eeprom, 0); 
    203202        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII; 
    204203        ar71xx_eth0_data.phy_mask = 0x1; 
     
    206205        ar71xx_add_device_eth(0); 
    207206 
     207        ar71xx_init_mac(ar71xx_eth1_data.mac_addr, eeprom, 1); 
    208208        ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII; 
    209209        ar71xx_eth1_data.speed = SPEED_1000; 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-600-a1.c

    r21075 r22700  
    119119 
    120120        if (nvram_parse_mac_addr(nvram, DIR_600_A1_NVRAM_SIZE, 
    121                                  "lan_mac=", mac_buff) == 0) 
     121                                 "lan_mac=", mac_buff) == 0) { 
     122                ar71xx_init_mac(ar71xx_eth0_data.mac_addr, mac, 0); 
     123                ar71xx_init_mac(ar71xx_eth1_data.mac_addr, mac, 1); 
    122124                mac = mac_buff; 
     125        } 
    123126 
    124127        ar71xx_add_device_m25p80(&dir_600_a1_flash_data); 
     
    131134                                        dir_600_a1_gpio_buttons); 
    132135 
    133         ap91_eth_init(mac, NULL); 
     136        ap91_eth_init(NULL); 
    134137        ap91_pci_init(ee, mac); 
    135138} 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-615-c1.c

    r21075 r22700  
    143143        if (nvram_parse_mac_addr(config, DIR_615C1_CONFIG_SIZE, 
    144144                                 "lan_mac=", mac) == 0) { 
    145                 ar71xx_set_mac_base(mac); 
     145                ar71xx_init_mac(ar71xx_eth0_data.mac_addr, mac, 0); 
     146                ar71xx_init_mac(ar71xx_eth1_data.mac_addr, mac, 1); 
    146147                wlan_mac = mac; 
    147148        } 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-825-b1.c

    r21075 r22700  
    146146static void __init dir825b1_setup(void) 
    147147{ 
    148         u8 mac[6], i; 
    149  
    150         memcpy(mac, (u8*)KSEG1ADDR(DIR825B1_MAC_LOCATION_1), 6); 
    151         for(i = 5; i >= 3; i--) 
    152                 if(++mac[i] != 0x00) break; 
    153  
    154         ar71xx_set_mac_base(mac); 
     148        u8 *mac = (u8 *) KSEG1ADDR(DIR825B1_MAC_LOCATION_1); 
    155149 
    156150        ar71xx_add_device_mdio(0x0); 
    157151 
     152        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, mac, 1); 
    158153        ar71xx_eth0_data.mii_bus_dev = &dir825b1_rtl8366s_device.dev; 
    159154        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII; 
     
    162157        ar71xx_eth0_pll_data.pll_1000 = 0x11110000; 
    163158 
     159        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, mac, 2); 
    164160        ar71xx_eth1_data.mii_bus_dev = &dir825b1_rtl8366s_device.dev; 
    165161        ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII; 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-eap7660d.c

    r22187 r22700  
    146146{ 
    147147        u8 *boardconfig = (u8 *) KSEG1ADDR(EAP7660D_BOARDCONFIG); 
    148         ar71xx_set_mac_base(boardconfig + EAP7660D_GBIC_MAC_OFFSET); 
     148 
    149149        ar71xx_add_device_mdio(~EAP7660D_PHYMASK); 
     150 
     151        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, 
     152                        boardconfig + EAP7660D_GBIC_MAC_OFFSET, 0); 
    150153        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII; 
    151154        ar71xx_eth0_data.phy_mask = EAP7660D_PHYMASK; 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-mzk-w04nu.c

    r21172 r22700  
    134134        u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000); 
    135135 
    136         ar71xx_set_mac_base(eeprom); 
    137  
    138136        ar71xx_add_device_mdio(MZK_W04NU_MDIO_MASK); 
    139137 
     138        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, eeprom, 0); 
    140139        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; 
    141140        ar71xx_eth0_data.speed = SPEED_100; 
     
    143142        ar71xx_eth0_data.has_ar8216 = 1; 
    144143 
     144        ar71xx_init_mac(ar71xx_eth1_data.mac_addr, eeprom, 1); 
    145145        ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; 
    146146        ar71xx_eth1_data.phy_mask = MZK_W04NU_WAN_PHYMASK; 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-mzk-w300nh.c

    r21173 r22700  
    129129        u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000); 
    130130 
    131         ar71xx_set_mac_base(eeprom); 
    132  
    133131        ar71xx_add_device_mdio(MZK_W300NH_MDIO_MASK); 
    134132 
     133        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, eeprom, 0); 
    135134        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; 
    136135        ar71xx_eth0_data.speed = SPEED_100; 
     
    138137        ar71xx_eth0_data.has_ar8216 = 1; 
    139138 
     139        ar71xx_init_mac(ar71xx_eth1_data.mac_addr, eeprom, 1); 
    140140        ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; 
    141141        ar71xx_eth1_data.phy_mask = MZK_W300NH_WAN_PHYMASK; 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-nbg460n.c

    r21443 r22700  
    185185        u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000); 
    186186 
    187         ar71xx_set_mac_base(mac); 
    188  
    189187        /* LAN Port */ 
     188        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, mac, 0); 
    190189        ar71xx_eth0_data.mii_bus_dev = &nbg460n_rtl8366s_device.dev; 
    191190        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII; 
     
    194193 
    195194        /* WAN Port */ 
     195        ar71xx_init_mac(ar71xx_eth1_data.mac_addr, mac, 1); 
    196196        ar71xx_eth1_data.mii_bus_dev = &nbg460n_rtl8366s_device.dev; 
    197197        ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII; 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-pb42.c

    r20358 r22700  
    5252        ar71xx_add_device_mdio(~PB42_MDIO_PHYMASK); 
    5353 
     54        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, ar71xx_mac_base, 0); 
    5455        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII; 
    5556        ar71xx_eth0_data.phy_mask = PB42_WAN_PHYMASK; 
    5657 
     58        ar71xx_init_mac(ar71xx_eth1_data.mac_addr, ar71xx_mac_base, 1); 
    5759        ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; 
    5860        ar71xx_eth1_data.speed = SPEED_100; 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-pb44.c

    r21075 r22700  
    174174        ar71xx_add_device_mdio(~PB44_MDIO_PHYMASK); 
    175175 
     176        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, ar71xx_mac_base, 0); 
    176177        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII; 
    177178        ar71xx_eth0_data.phy_mask = PB44_WAN_PHYMASK; 
     
    179180        ar71xx_add_device_eth(0); 
    180181 
     182        ar71xx_init_mac(ar71xx_eth1_data.mac_addr, ar71xx_mac_base, 1); 
    181183        ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII; 
    182184        ar71xx_eth1_data.speed = SPEED_1000; 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-pb92.c

    r20725 r22700  
    8585        u8 *mac = (u8 *) KSEG1ADDR(0x1fff0000); 
    8686 
    87         ar71xx_set_mac_base(mac); 
    8887        ar71xx_add_device_m25p80(&pb92_flash_data); 
    8988 
    9089        ar71xx_add_device_mdio(~0); 
     90        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, mac, 0); 
    9191        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; 
    9292        ar71xx_eth0_data.speed = SPEED_1000; 
    9393        ar71xx_eth0_data.duplex = DUPLEX_FULL; 
    9494 
     95        ar71xx_init_mac(ar71xx_eth1_data.mac_addr, mac, 1); 
    9596        ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; 
    9697        ar71xx_eth1_data.speed = SPEED_1000; 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-rb4xx.c

    r21743 r22700  
    180180        ar71xx_add_device_mdio(0xfffffffc); 
    181181 
     182        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, ar71xx_mac_base, 0); 
    182183        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII; 
    183184        ar71xx_eth0_data.phy_mask = 0x00000003; 
     
    211212        ar71xx_add_device_mdio(~RB433_MDIO_PHYMASK); 
    212213 
     214        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, ar71xx_mac_base, 1); 
    213215        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII; 
    214216        ar71xx_eth0_data.phy_mask = RB433_LAN_PHYMASK; 
    215217 
     218        ar71xx_init_mac(ar71xx_eth1_data.mac_addr, ar71xx_mac_base, 0); 
    216219        ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; 
    217220        ar71xx_eth1_data.phy_mask = RB433_WAN_PHYMASK; 
     
    246249        ar71xx_add_device_mdio(~RB450_MDIO_PHYMASK); 
    247250 
     251        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, ar71xx_mac_base, 1); 
    248252        ar71xx_eth0_data.phy_if_mode = (gige) ? PHY_INTERFACE_MODE_RGMII : PHY_INTERFACE_MODE_MII; 
    249253        ar71xx_eth0_data.phy_mask = RB450_LAN_PHYMASK; 
    250254 
     255        ar71xx_init_mac(ar71xx_eth1_data.mac_addr, ar71xx_mac_base, 0); 
    251256        ar71xx_eth1_data.phy_if_mode = (gige) ? PHY_INTERFACE_MODE_RGMII : PHY_INTERFACE_MODE_RMII; 
    252257        ar71xx_eth1_data.phy_mask = RB450_WAN_PHYMASK; 
     
    279284        ar71xx_add_device_mdio(0x3fffff00); 
    280285 
     286        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, ar71xx_mac_base, 0); 
    281287        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII; 
    282288        ar71xx_eth0_data.speed = SPEED_100; 
    283289        ar71xx_eth0_data.duplex = DUPLEX_FULL; 
    284290 
     291        ar71xx_init_mac(ar71xx_eth1_data.mac_addr, ar71xx_mac_base, 1); 
    285292        ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; 
    286293        ar71xx_eth1_data.phy_mask = 0x00000001; 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-rb750.c

    r20096 r22700  
    1414 
    1515#include "machtype.h" 
     16#include "devices.h" 
    1617#include "dev-ap91-eth.h" 
    1718 
     
    125126                                     AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN); 
    126127 
    127         ap91_eth_init(NULL, rb750_port_names); 
     128        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, ar71xx_mac_base, 0); 
     129        ar71xx_init_mac(ar71xx_eth1_data.mac_addr, ar71xx_mac_base, 1); 
     130        ap91_eth_init(rb750_port_names); 
     131 
    128132        platform_device_register(&rb750_leds_device); 
    129133        platform_device_register(&rb750_nand_device); 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tew-632brp.c

    r21075 r22700  
    119119        if (nvram_parse_mac_addr(config, TEW_632BRP_CONFIG_SIZE, 
    120120                                 "lan_mac=", mac) == 0) { 
    121                 ar71xx_set_mac_base(mac); 
     121                ar71xx_init_mac(ar71xx_eth0_data.mac_addr, mac, 0); 
     122                ar71xx_init_mac(ar71xx_eth1_data.mac_addr, mac, 1); 
    122123                wlan_mac = mac; 
    123124        } 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wa901nd.c

    r22353 r22700  
    111111        u8 *ee  = (u8 *) KSEG1ADDR(0x1fff1000); 
    112112 
    113         ar71xx_set_mac_base(mac); 
    114  
    115113        /* 
    116114         * ar71xx_eth0 would be the WAN port, but is not connected on 
     
    118116         * however we have a single LAN port only. 
    119117         */ 
     118        ar71xx_init_mac(ar71xx_eth1_data.mac_addr, mac, 0); 
    120119        ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; 
    121120        ar71xx_eth1_data.speed       = SPEED_1000; 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr1043nd.c

    r21075 r22700  
    127127        u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000); 
    128128 
    129         ar71xx_set_mac_base(mac); 
    130  
     129        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, mac, 0); 
    131130        ar71xx_eth0_data.mii_bus_dev = &tl_wr1043nd_rtl8366rb_device.dev; 
    132131        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII; 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr741nd.c

    r22675 r22700  
    110110 
    111111        ar71xx_eth1_data.has_ar7240_switch = 1; 
    112         ar71xx_set_mac_base(mac); 
     112        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, mac, 0); 
     113        ar71xx_init_mac(ar71xx_eth1_data.mac_addr, mac, 1); 
    113114 
    114115        /* WAN port */ 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr841n.c

    r21075 r22700  
    116116        u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00); 
    117117 
    118         ar71xx_set_mac_base(mac); 
    119  
    120118        ar71xx_add_device_mdio(0x0); 
    121119 
     120        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, mac, 0); 
    122121        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; 
    123122        ar71xx_eth0_data.speed = SPEED_100; 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr941nd.c

    r21075 r22700  
    117117        u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000); 
    118118 
    119         ar71xx_set_mac_base(mac); 
    120  
    121119        ar71xx_add_device_mdio(0x0); 
    122120 
     121        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, mac, 0); 
    123122        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; 
    124123        ar71xx_eth0_data.speed = SPEED_100; 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-ubnt.c

    r21764 r22700  
    143143        ar71xx_add_device_mdio(~(UBNT_RS_WAN_PHYMASK | UBNT_RS_LAN_PHYMASK)); 
    144144 
     145        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, ar71xx_mac_base, 0); 
    145146        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII; 
    146147        ar71xx_eth0_data.phy_mask = UBNT_RS_WAN_PHYMASK; 
    147148 
     149        ar71xx_init_mac(ar71xx_eth1_data.mac_addr, ar71xx_mac_base, 1); 
    148150        ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; 
    149151        ar71xx_eth1_data.speed = SPEED_100; 
     
    171173        ar71xx_add_device_mdio(~(UBNT_RSPRO_WAN_PHYMASK | UBNT_RSPRO_LAN_PHYMASK)); 
    172174 
     175        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, ar71xx_mac_base, 0); 
    173176        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII; 
    174177        ar71xx_eth0_data.phy_mask = UBNT_RSPRO_WAN_PHYMASK; 
    175178 
     179        ar71xx_init_mac(ar71xx_eth1_data.mac_addr, ar71xx_mac_base, 1); 
    176180        ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII; 
    177181        ar71xx_eth1_data.phy_mask = UBNT_RSPRO_LAN_PHYMASK; 
     
    206210        ar71xx_add_device_mdio(~UBNT_LSSR71_PHY_MASK); 
    207211 
     212        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, ar71xx_mac_base, 0); 
    208213        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII; 
    209214        ar71xx_eth0_data.phy_mask = UBNT_LSSR71_PHY_MASK; 
     
    223228        u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000); 
    224229 
    225         ar71xx_set_mac_base(mac); 
    226  
    227230        ar71xx_add_device_m25p80(NULL); 
    228231 
    229232        ar71xx_add_device_mdio(~0); 
    230233 
     234        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, mac, 0); 
     235        ar71xx_init_mac(ar71xx_eth1_data.mac_addr, mac, 1); 
    231236        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII; 
    232237        ar71xx_eth0_data.speed = SPEED_100; 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-wndr3700.c

    r21075 r22700  
    169169        u8 *art = (u8 *) KSEG1ADDR(0x1fff0000); 
    170170 
    171         ar71xx_set_mac_base(art); 
    172  
     171        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, art, 0); 
    173172        ar71xx_eth0_pll_data.pll_1000 = 0x11110000; 
    174173        ar71xx_eth0_data.mii_bus_dev = &wndr3700_rtl8366s_device.dev; 
     
    177176        ar71xx_eth0_data.duplex = DUPLEX_FULL; 
    178177 
     178        ar71xx_init_mac(ar71xx_eth1_data.mac_addr, art, 1); 
    179179        ar71xx_eth1_pll_data.pll_1000 = 0x11110000; 
    180180        ar71xx_eth1_data.mii_bus_dev = &wndr3700_rtl8366s_device.dev; 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-wnr2000.c

    r21075 r22700  
    119119        u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000); 
    120120 
    121         ar71xx_set_mac_base(eeprom); 
    122121        ar71xx_add_device_mdio(0x0); 
    123122 
     123        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, eeprom, 0); 
    124124        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; 
    125125        ar71xx_eth0_data.speed = SPEED_100; 
     
    127127        ar71xx_eth0_data.has_ar8216 = 1; 
    128128 
     129        ar71xx_init_mac(ar71xx_eth1_data.mac_addr, eeprom, 1); 
    129130        ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; 
    130131        ar71xx_eth1_data.phy_mask = 0x10; 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-wp543.c

    r20358 r22700  
    7979        ar71xx_add_device_mdio(0xfffffff7); 
    8080 
     81        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, ar71xx_mac_base, 0); 
    8182        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII; 
    8283        ar71xx_eth0_data.phy_mask = 0x08; 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-wrt160nl.c

    r21075 r22700  
    122122 
    123123        if (nvram_parse_mac_addr(nvram, WRT160NL_NVRAM_SIZE, 
    124                                  "lan_hwaddr=", mac) == 0) 
    125                 ar71xx_set_mac_base(mac); 
     124                                 "lan_hwaddr=", mac) == 0) { 
     125                ar71xx_init_mac(ar71xx_eth0_data.mac_addr, mac, 0); 
     126                ar71xx_init_mac(ar71xx_eth1_data.mac_addr, mac, 1); 
     127        } 
    126128 
    127129        ar71xx_add_device_mdio(0x0); 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-wrt400n.c

    r21075 r22700  
    132132{ 
    133133        u8 *art = (u8 *) KSEG1ADDR(0x1fff0000); 
    134         u8 mac[6]; 
    135         int i; 
    136  
    137         memcpy(mac, art + WRT400N_MAC_ADDR_OFFSET, 6); 
    138         for (i = 5; i >= 3; i--) 
    139                 if (++mac[i] != 0x00) break; 
    140  
    141         ar71xx_set_mac_base(mac); 
     134        u8 *mac = art + WRT400N_MAC_ADDR_OFFSET; 
    142135 
    143136        ar71xx_add_device_mdio(0x0); 
    144137 
     138        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, mac, 1); 
    145139        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; 
    146140        ar71xx_eth0_data.speed = SPEED_100; 
    147141        ar71xx_eth0_data.duplex = DUPLEX_FULL; 
    148142 
     143        ar71xx_init_mac(ar71xx_eth1_data.mac_addr, mac, 2); 
    149144        ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; 
    150145        ar71xx_eth1_data.phy_mask = 0x10; 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-wzr-hp-g300nh.c

    r21075 r22700  
    229229{ 
    230230        u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000); 
    231  
    232         ar71xx_set_mac_base(eeprom + WZRHPG300NH_MAC_OFFSET); 
    233  
     231        u8 *mac = eeprom + WZRHPG300NH_MAC_OFFSET; 
     232 
     233        ar71xx_init_mac(ar71xx_eth0_data.mac_addr, mac, 0); 
    234234        ar71xx_eth0_pll_data.pll_1000 = 0x1e000100; 
    235235        ar71xx_eth0_data.mii_bus_dev = &wzrhpg300nh_rtl8366s_device.dev; 
     
    238238        ar71xx_eth0_data.duplex = DUPLEX_FULL; 
    239239 
     240        ar71xx_init_mac(ar71xx_eth1_data.mac_addr, mac, 1); 
    240241        ar71xx_eth1_pll_data.pll_1000 = 0x1e000100; 
    241242        ar71xx_eth1_data.mii_bus_dev = &wzrhpg300nh_rtl8366s_device.dev; 
Note: See TracChangeset for help on using the changeset viewer.