Hi LT
Have you respected the start up sequence including delays?
Example:
EPHYCTL1 = PHY_ADDRESS;
EPHYCTL0 = 0; // enable autonegotiate
EPHYCTL0 |= LEDEN; // enable LED support in the Hardware
EPHYSR = EPHYIF; // clear interrupt
EPHYCTL0 |= (EPHYEN | EPHYIEN); // enable PHY with interrupt
for (usDelay=64000; usDelay >0; usDelay--); // delay before continuing
SWRST = MACRST; // EMAC software reset
for (usDelay=16; usDelay >0; usDelay--); // short wait
MCMST = (BUS_CLOCK/5000000); // set up MDC clock to 2.5MHz... set up memory use, etc.
Regards
Mark
www.uTasker.com