Date:2010-08-18 18:00:28 (13 years 7 months ago)
Author:juhosg
Commit:a393655eea19a5375e43c545bf104ab906fc72e9
Message:ar71xx: change mac address initialization

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22700 3c298f89-4303-0410-b956-a3cf2f4a3e73
Files: target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-eth.c (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-eth.h (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/devices.c (3 diffs)
target/linux/ar71xx/files/arch/mips/ar71xx/devices.h (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-ap81.c (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-ap83.c (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-600-a1.c (2 diffs)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-615-c1.c (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-825-b1.c (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-eap7660d.c (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-mzk-w04nu.c (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-mzk-w300nh.c (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-nbg460n.c (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-pb42.c (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-pb44.c (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-pb92.c (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-rb4xx.c (4 diffs)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-rb750.c (2 diffs)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-tew-632brp.c (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wa901nd.c (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr1043nd.c (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr741nd.c (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr841n.c (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr941nd.c (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-ubnt.c (4 diffs)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-wndr3700.c (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-wnr2000.c (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-wp543.c (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-wrt160nl.c (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-wrt400n.c (1 diff)
target/linux/ar71xx/files/arch/mips/ar71xx/mach-wzr-hp-g300nh.c (1 diff)

Change Details

target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-eth.c
3434        ap91_dsa_chip.port_names[port] = (char *) name;
3535}
3636
37void __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;
4441
target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-eth.h
1414#define AP91_ETH_NUM_PORT_NAMES 4
1515
1616#if defined(CONFIG_AR71XX_DEV_AP91_ETH)
17void ap91_eth_init(u8 *mac_addr, const char *port_names[]) __init;
17void ap91_eth_init(const char *port_names[]) __init;
1818#else
19static inline void ap91_eth_init(u8 *mac_addr) { }
19static inline void ap91_eth_init(const char *port_names[]) { }
2020#endif
2121
2222#endif /* _AR71XX_DEV_AP91_ETH_H */
target/linux/ar71xx/files/arch/mips/ar71xx/devices.c
2222
2323#include "devices.h"
2424
25static u8 ar71xx_mac_base[ETH_ALEN] __initdata;
25unsigned char ar71xx_mac_base[ETH_ALEN] __initdata;
2626
2727static struct resource ar71xx_uart_resources[] = {
2828    {
...... 
490490        break;
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
499496            "ar71xx: using random MAC address for eth%d\n",
...... 
580577    return 1;
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}
target/linux/ar71xx/files/arch/mips/ar71xx/devices.h
2020               struct spi_board_info const *info,
2121               unsigned n) __init;
2222
23void 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 {
2729    u32 pll_10;
target/linux/ar71xx/files/arch/mips/ar71xx/mach-ap81.c
109109{
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;
117117    ar71xx_eth0_data.duplex = DUPLEX_FULL;
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;
122123
target/linux/ar71xx/files/arch/mips/ar71xx/mach-ap83.c
196196{
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;
205204
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;
210210    ar71xx_eth1_data.duplex = DUPLEX_FULL;
target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-600-a1.c
118118    u8 *mac = NULL;
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);
125128
...... 
130133                    ARRAY_SIZE(dir_600_a1_gpio_buttons),
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}
136139
target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-615-c1.c
142142
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    }
148149
target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-825-b1.c
145145
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;
160155    ar71xx_eth0_data.speed = SPEED_1000;
161156    ar71xx_eth0_data.duplex = DUPLEX_FULL;
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;
166162    ar71xx_eth1_data.phy_mask = 0x10;
target/linux/ar71xx/files/arch/mips/ar71xx/mach-eap7660d.c
145145static void __init eap7660d_setup(void)
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;
152155    ar71xx_add_device_eth(0);
target/linux/ar71xx/files/arch/mips/ar71xx/mach-mzk-w04nu.c
133133{
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;
142141    ar71xx_eth0_data.duplex = DUPLEX_FULL;
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;
147147
target/linux/ar71xx/files/arch/mips/ar71xx/mach-mzk-w300nh.c
128128{
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;
137136    ar71xx_eth0_data.duplex = DUPLEX_FULL;
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;
142142
target/linux/ar71xx/files/arch/mips/ar71xx/mach-nbg460n.c
184184    /* last sector contains wlan calib data */
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;
192191    ar71xx_eth0_data.speed = SPEED_1000;
193192    ar71xx_eth0_data.duplex = DUPLEX_FULL;
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;
198198    ar71xx_eth1_data.phy_mask = 0x10;
target/linux/ar71xx/files/arch/mips/ar71xx/mach-pb42.c
5151
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;
5961    ar71xx_eth1_data.duplex = DUPLEX_FULL;
target/linux/ar71xx/files/arch/mips/ar71xx/mach-pb44.c
173173{
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;
178179
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;
183185    ar71xx_eth1_data.duplex = DUPLEX_FULL;
target/linux/ar71xx/files/arch/mips/ar71xx/mach-pb92.c
8484{
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;
9798    ar71xx_eth1_data.duplex = DUPLEX_FULL;
target/linux/ar71xx/files/arch/mips/ar71xx/mach-rb4xx.c
179179
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;
184185
...... 
210211
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;
218221
...... 
245248
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;
253258
...... 
278283
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;
287294
target/linux/ar71xx/files/arch/mips/ar71xx/mach-rb750.c
1313#include <asm/mach-ar71xx/mach-rb750.h>
1414
1515#include "machtype.h"
16#include "devices.h"
1617#include "dev-ap91-eth.h"
1718
1819static struct rb750_led_data rb750_leds[] = {
...... 
124125                     AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
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);
130134}
target/linux/ar71xx/files/arch/mips/ar71xx/mach-tew-632brp.c
118118
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    }
124125
target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wa901nd.c
110110    u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
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
117115     * the TL-WA901ND. ar71xx_eth1 connects to the internal switch chip,
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;
122121    ar71xx_eth1_data.duplex = DUPLEX_FULL;
target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr1043nd.c
126126    u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
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;
133132    ar71xx_eth0_data.speed = SPEED_1000;
target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr741nd.c
109109                    tl_wr741nd_gpio_buttons);
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 */
115116    ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr841n.c
115115{
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;
124123    ar71xx_eth0_data.duplex = DUPLEX_FULL;
target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr941nd.c
116116    u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
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;
125124    ar71xx_eth0_data.duplex = DUPLEX_FULL;
target/linux/ar71xx/files/arch/mips/ar71xx/mach-ubnt.c
142142
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;
150152    ar71xx_eth1_data.duplex = DUPLEX_FULL;
...... 
170172
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;
178182    ar71xx_eth1_data.speed = SPEED_1000;
...... 
205209
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;
210215
...... 
222227    u8 *mac = (u8 *) KSEG1ADDR(0x1fff0000);
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;
233238    ar71xx_eth0_data.duplex = DUPLEX_FULL;
target/linux/ar71xx/files/arch/mips/ar71xx/mach-wndr3700.c
168168{
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;
175174    ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
176175    ar71xx_eth0_data.speed = SPEED_1000;
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;
181181    ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
target/linux/ar71xx/files/arch/mips/ar71xx/mach-wnr2000.c
118118{
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;
126126    ar71xx_eth0_data.duplex = DUPLEX_FULL;
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;
131132
target/linux/ar71xx/files/arch/mips/ar71xx/mach-wp543.c
7878
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;
8384    ar71xx_eth0_data.reset_bit = RESET_MODULE_GE0_MAC |
target/linux/ar71xx/files/arch/mips/ar71xx/mach-wrt160nl.c
121121    u8 mac[6];
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);
128130
target/linux/ar71xx/files/arch/mips/ar71xx/mach-wrt400n.c
131131static void __init wrt400n_setup(void)
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;
151146
target/linux/ar71xx/files/arch/mips/ar71xx/mach-wzr-hp-g300nh.c
228228static void __init wzrhpg300nh_setup(void)
229229{
230230    u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000);
231    u8 *mac = eeprom + WZRHPG300NH_MAC_OFFSET;
231232
232    ar71xx_set_mac_base(eeprom + WZRHPG300NH_MAC_OFFSET);
233
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;
236236    ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
237237    ar71xx_eth0_data.speed = SPEED_1000;
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;
242243    ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;

Archive Download the corresponding diff file



interactive