
Hi,
Sander Vermin a écrit :> I did a new build with:> > macb_eth_initialize(0, (void *)AT91_BASE_EMAC, 1<<5);> > in stead of:> > macb_eth_initialize(0, (void *)AT91_BASE_EMAC, 0x00);> > But still no PHY detected :-(> You need to check your schematic, and the PHY datasheet in order to know what could be the address of your PHY (set by pull up/down resistors on several pins of the PHY at reset of the PHY). Or you can try a loop on the PHY address and see if it answers at any address ...
Try this code to do the loop test.
#if defined(CONFIG_YOURBOARD) #define MAX_PHY_ADDR 64 for (i = 0 ; i < MAX_PHY_ADDR; i++) { macb->phy_addr = i; phy_id = macb_mdio_read(macb, MII_PHYSID1); if (phy_id != 0xffff) break; } printf("phy_id %x found at %d\n", phy_id, i); #else phy_id = macb_mdio_read(macb, MII_PHYSID1); #endif
Michael