|
@@ -53,7 +53,7 @@ v1.2 03/18/2003 Weilun Huang <weilun_huang@davicom.com.tw>:
|
|
|
notes (i.e. double reset)
|
|
|
- some minor code cleanups
|
|
|
These changes are tested with DM9000{A,EP,E} together
|
|
|
- with a 200MHz Atmel AT91SAM92161 core
|
|
|
+ with a 200MHz Atmel AT91SAM9261 core
|
|
|
|
|
|
TODO: external MII is not functional, only internal at the moment.
|
|
|
*/
|
|
@@ -62,6 +62,7 @@ TODO: external MII is not functional, only internal at the moment.
|
|
|
#include <command.h>
|
|
|
#include <net.h>
|
|
|
#include <asm/io.h>
|
|
|
+#include <dm9000.h>
|
|
|
|
|
|
#include "dm9000x.h"
|
|
|
|
|
@@ -113,7 +114,6 @@ void eth_halt(void);
|
|
|
static int dm9000_probe(void);
|
|
|
static u16 phy_read(int);
|
|
|
static void phy_write(int, u16);
|
|
|
-static void read_srom_word(int, u8 *);
|
|
|
static u8 DM9000_ior(int);
|
|
|
static void DM9000_iow(int reg, u8 value);
|
|
|
|
|
@@ -347,9 +347,9 @@ eth_init(bd_t * bd)
|
|
|
|
|
|
/* Set Node address */
|
|
|
if (!eth_getenv_enetaddr("ethaddr", enetaddr)) {
|
|
|
-#if !defined(CONFIG_AT91SAM9261EK)
|
|
|
+#if !defined(CONFIG_DM9000_NO_SROM)
|
|
|
for (i = 0; i < 3; i++)
|
|
|
- read_srom_word(i, enetaddr + 2 * i);
|
|
|
+ dm9000_read_srom_word(i, enetaddr + 2 * i);
|
|
|
eth_setenv_enetaddr("ethaddr", enetaddr);
|
|
|
#endif
|
|
|
}
|
|
@@ -541,7 +541,8 @@ eth_rx(void)
|
|
|
/*
|
|
|
Read a word data from SROM
|
|
|
*/
|
|
|
-static void read_srom_word(int offset, u8 *to)
|
|
|
+#if !defined(CONFIG_DM9000_NO_SROM)
|
|
|
+void dm9000_read_srom_word(int offset, u8 *to)
|
|
|
{
|
|
|
DM9000_iow(DM9000_EPAR, offset);
|
|
|
DM9000_iow(DM9000_EPCR, 0x4);
|
|
@@ -551,8 +552,7 @@ static void read_srom_word(int offset, u8 *to)
|
|
|
to[1] = DM9000_ior(DM9000_EPDRH);
|
|
|
}
|
|
|
|
|
|
-void
|
|
|
-write_srom_word(int offset, u16 val)
|
|
|
+void dm9000_write_srom_word(int offset, u16 val)
|
|
|
{
|
|
|
DM9000_iow(DM9000_EPAR, offset);
|
|
|
DM9000_iow(DM9000_EPDRH, ((val >> 8) & 0xff));
|
|
@@ -561,7 +561,7 @@ write_srom_word(int offset, u16 val)
|
|
|
udelay(8000);
|
|
|
DM9000_iow(DM9000_EPCR, 0);
|
|
|
}
|
|
|
-
|
|
|
+#endif
|
|
|
|
|
|
/*
|
|
|
Read a byte from I/O port
|