PERFORCE change 96670 for review
Warner Losh
imp at FreeBSD.org
Thu May 4 20:41:10 UTC 2006
http://perforce.freebsd.org/chv.cgi?CH=96670
Change 96670 by imp at imp_hammer on 2006/05/04 20:40:52
support RMII, minor optimizations to save 32 bytes
Affected files ...
.. //depot/projects/arm/src/sys/boot/arm/at91/libat91/emac.c#12 edit
Differences ...
==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/emac.c#12 (text+ko) ====
@@ -406,7 +406,13 @@
pEmac->EMAC_CTL = 0;
- if(!(pEmac->EMAC_SR & AT91C_EMAC_LINK))
+ pEmac->EMAC_CFG = (pEmac->EMAC_CFG & ~(AT91C_EMAC_CLK)) |
+ AT91C_EMAC_CLK_HCLK_32 | AT91C_EMAC_CAF
+#ifdef BOOT_TSC
+ | AT91C_EMAC_RMII
+#endif
+ ;
+ if (!(pEmac->EMAC_SR & AT91C_EMAC_LINK))
MII_GetLinkSpeed(pEmac);
// the sequence write EMAC_SA1L and write EMAC_SA1H must be respected
@@ -415,10 +421,7 @@
pEmac->EMAC_RBQP = (unsigned) p_rxBD;
pEmac->EMAC_RSR |= (AT91C_EMAC_OVR | AT91C_EMAC_REC | AT91C_EMAC_BNA);
- pEmac->EMAC_CFG |= AT91C_EMAC_CAF;
- pEmac->EMAC_CFG = (pEmac->EMAC_CFG & ~(AT91C_EMAC_CLK)) |
- AT91C_EMAC_CLK_HCLK_32;
- pEmac->EMAC_CTL |= (AT91C_EMAC_TE | AT91C_EMAC_RE);
+ pEmac->EMAC_CTL = AT91C_EMAC_TE | AT91C_EMAC_RE;
pEmac->EMAC_TAR = (unsigned)transmitBuffer;
}
@@ -544,6 +547,7 @@
AT91C_PA8_ETXEN | AT91C_PA16_EMDIO | AT91C_PA9_ETX0 |
AT91C_PA10_ETX1 | AT91C_PA11_ECRS_ECRSDV | AT91C_PA15_EMDC |
AT91C_PA7_ETXCK_EREFCK;
+#ifdef BOOT_MB920X /* Really !RMII */
AT91C_BASE_PIOB->PIO_BSR =
AT91C_PB12_ETX2 | AT91C_PB13_ETX3 | AT91C_PB14_ETXER |
AT91C_PB15_ERX2 | AT91C_PB16_ERX3 | AT91C_PB17_ERXDV |
@@ -552,6 +556,7 @@
AT91C_PB12_ETX2 | AT91C_PB13_ETX3 | AT91C_PB14_ETXER |
AT91C_PB15_ERX2 | AT91C_PB16_ERX3 | AT91C_PB17_ERXDV |
AT91C_PB18_ECOL | AT91C_PB19_ERXCK;
+#endif
MAC_init = 1;
}
More information about the p4-projects
mailing list