
13 Dec
2004
13 Dec
'04
10:46 a.m.
Hi there,
there is a bug in the at91rm9200_ether.c. The pins are configured wrong due to the new introduced
"#if defined(CONFIG_AT91C_USE_RMII) && !defined(CONFIG_CMC_PU2)".
The pin configuration is now done jsut like in linux-2.4 and linux-2.6
* Patch by Steven Scholz, 13 Dec 2004: Fix bug in at91rm920 ethernet driver
--
Steven Scholz
Index: u-boot/cpu/at91rm9200/at91rm9200_ether.c
===================================================================
RCS file: /cvsroot/u-boot/u-boot/cpu/at91rm9200/at91rm9200_ether.c,v
retrieving revision 1.7
diff -u -r1.7 at91rm9200_ether.c
--- u-boot/cpu/at91rm9200/at91rm9200_ether.c 21 Nov 2004 00:06:35 -0000 1.7
+++ u-boot/cpu/at91rm9200/at91rm9200_ether.c 13 Dec 2004 09:44:55 -0000
@@ -169,14 +169,16 @@
AT91C_PA10_ETX1 | AT91C_PA9_ETX0 | AT91C_PA8_ETXEN |
AT91C_PA7_ETXCK_EREFCK;
-#if defined(CONFIG_AT91C_USE_RMII) && !defined(CONFIG_CMC_PU2)
- *AT91C_PIOB_PDR = AT91C_PB25_EF100 |
- AT91C_PB19_ERXCK | AT91C_PB18_ECOL | AT91C_PB17_ERXDV |
+#ifdef CONFIG_AT91C_USE_RMII
+ *AT91C_PIOB_PDR = AT91C_PB19_ERXCK;
+ *AT91C_PIOB_BSR = AT91C_PB19_ERXCK;
+#else
+ *AT91C_PIOB_PDR = AT91C_PB19_ERXCK | AT91C_PB18_ECOL | AT91C_PB17_ERXDV |
AT91C_PB16_ERX3 | AT91C_PB15_ERX2 | AT91C_PB14_ETXER |
AT91C_PB13_ETX3 | AT91C_PB12_ETX2;
/* Select B Register */
- *AT91C_PIOB_BSR = AT91C_PB25_EF100 | AT91C_PB19_ERXCK | AT91C_PB18_ECOL |
+ *AT91C_PIOB_BSR = AT91C_PB19_ERXCK | AT91C_PB18_ECOL |
AT91C_PB17_ERXDV | AT91C_PB16_ERX3 | AT91C_PB15_ERX2 |
AT91C_PB14_ETXER | AT91C_PB13_ETX3 | AT91C_PB12_ETX2;
#endif