|
@@ -507,7 +507,7 @@ static int __init sh_eth_is_eeprom_ready(void)
|
|
|
static void __init sh_eth_init(void)
|
|
|
{
|
|
|
int i;
|
|
|
- u16 mac[3];
|
|
|
+ u16 mac;
|
|
|
|
|
|
/* check EEPROM status */
|
|
|
if (!sh_eth_is_eeprom_ready())
|
|
@@ -521,16 +521,10 @@ static void __init sh_eth_init(void)
|
|
|
if (!sh_eth_is_eeprom_ready())
|
|
|
return;
|
|
|
|
|
|
- mac[i] = ctrl_inw(EEPROM_DATA);
|
|
|
- mac[i] = ((mac[i] & 0xFF) << 8) | (mac[i] >> 8); /* swap */
|
|
|
+ mac = ctrl_inw(EEPROM_DATA);
|
|
|
+ sh_eth_plat.mac_addr[i << 1] = mac & 0xff;
|
|
|
+ sh_eth_plat.mac_addr[(i << 1) + 1] = mac >> 8;
|
|
|
}
|
|
|
-
|
|
|
- /* reset sh-eth */
|
|
|
- ctrl_outl(0x1, SH_ETH_ADDR + 0x0);
|
|
|
-
|
|
|
- /* set MAC addr */
|
|
|
- ctrl_outl(((mac[0] << 16) | (mac[1])), SH_ETH_MAHR);
|
|
|
- ctrl_outl((mac[2]), SH_ETH_MALR);
|
|
|
}
|
|
|
|
|
|
#define SW4140 0xBA201000
|