MIPS: TXx9: Fix RBTX4939 ethernet address initialization
Fix location of ethernet adddress when booted from external ROM. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
committed by
Ralf Baechle
parent
e946217e4f
commit
9cc4581528
@@ -308,16 +308,22 @@ static void __init rbtx4939_device_init(void)
|
|||||||
#if defined(CONFIG_TC35815) || defined(CONFIG_TC35815_MODULE)
|
#if defined(CONFIG_TC35815) || defined(CONFIG_TC35815_MODULE)
|
||||||
int i, j;
|
int i, j;
|
||||||
unsigned char ethaddr[2][6];
|
unsigned char ethaddr[2][6];
|
||||||
|
u8 bdipsw = readb(rbtx4939_bdipsw_addr) & 0x0f;
|
||||||
|
|
||||||
for (i = 0; i < 2; i++) {
|
for (i = 0; i < 2; i++) {
|
||||||
unsigned long area = CKSEG1 + 0x1fff0000 + (i * 0x10);
|
unsigned long area = CKSEG1 + 0x1fff0000 + (i * 0x10);
|
||||||
if (readb(rbtx4939_bdipsw_addr) & 8) {
|
if (bdipsw == 0)
|
||||||
|
memcpy(ethaddr[i], (void *)area, 6);
|
||||||
|
else {
|
||||||
u16 buf[3];
|
u16 buf[3];
|
||||||
area -= 0x03000000;
|
if (bdipsw & 8)
|
||||||
|
area -= 0x03000000;
|
||||||
|
else
|
||||||
|
area -= 0x01000000;
|
||||||
for (j = 0; j < 3; j++)
|
for (j = 0; j < 3; j++)
|
||||||
buf[j] = le16_to_cpup((u16 *)(area + j * 2));
|
buf[j] = le16_to_cpup((u16 *)(area + j * 2));
|
||||||
memcpy(ethaddr[i], buf, 6);
|
memcpy(ethaddr[i], buf, 6);
|
||||||
} else
|
}
|
||||||
memcpy(ethaddr[i], (void *)area, 6);
|
|
||||||
}
|
}
|
||||||
tx4939_ethaddr_init(ethaddr[0], ethaddr[1]);
|
tx4939_ethaddr_init(ethaddr[0], ethaddr[1]);
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user