PPC405gp enet Soft Reset

andrew may acmay at acmay.homeip.net
Fri Feb 8 14:17:41 EST 2002


I seem to be having a problem with the soft reset of EMAC
mode register when I have no ethernet connection to by phy.

After this code in init_ppc405_enet(void) the SRST bit does
not clear until after I stick in a cable.

		/* Reset the EMAC */
		emacp->em0mr0 = EMAC_M0_SRST;
		eieio();
		for (delay = 0; delay < 1000; delay++) ;
		emacp->em0mr0 = emacp->em0mr0 & ~EMAC_M0_SRST;
		eieio();
                printk( KERN_INFO "em0mr0 %08x", emacp->em0mr0 );


This causes problems in find_phy, since phy_reg never gets set to
a value and read_mdio fails.

I have a Rev E chip, but since I always booted over the net with the
Walnut board I don't think I even tried to boot without an ethernet
connection.

Just checking to see if anyone else has noticed what their 405gp does
when it doesn't have a connection during the linux boot.

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-embedded mailing list