summaryrefslogtreecommitdiffstats
path: root/cpu/ppc4xx/405gp_enet.c
diff options
context:
space:
mode:
authorwdenk <wdenk>2003-12-07 19:24:00 +0000
committerwdenk <wdenk>2003-12-07 19:24:00 +0000
commitb4676a25e2feb15826d960f4a216c3c429d2de75 (patch)
tree884c5a34f6f0769ddafc939b76a6633425d84372 /cpu/ppc4xx/405gp_enet.c
parenta2663ea4fc9d18cb8000c97ed92c3c668eda8e04 (diff)
downloadbarebox-b4676a25e2feb15826d960f4a216c3c429d2de75.tar.gz
barebox-b4676a25e2feb15826d960f4a216c3c429d2de75.tar.xz
* Patch by Andre Schwarz, 24 Nov 2003:
add support for mvblue (mvBlueLYNX and mvBlueBOX) boards * Patch by Pavel Bartusek, 21 Nov 2003: set ZMII bridge speed on 440 * Patch by Anders Larsen, 17 Nov 2003: Fix mismatched #ifdef / #endif in include/asm-arm/arch-pxa/hardware.h
Diffstat (limited to 'cpu/ppc4xx/405gp_enet.c')
-rw-r--r--cpu/ppc4xx/405gp_enet.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/cpu/ppc4xx/405gp_enet.c b/cpu/ppc4xx/405gp_enet.c
index a9c7cfe050..7394c21958 100644
--- a/cpu/ppc4xx/405gp_enet.c
+++ b/cpu/ppc4xx/405gp_enet.c
@@ -67,6 +67,9 @@
* 17-Jun-02 stefan.roese@esd-electronics.com
* - MAL error debug printf 'M' removed (rx de interrupt may
* occur upon many incoming packets with only 4 rx buffers).
+ * 21-Nov-03 pavel.bartusek@sysgo.com
+ * - set ZMII bridge speed on 440
+ *
*-----------------------------------------------------------------------------*/
#include <common.h>
@@ -414,6 +417,14 @@ static int ppc_4xx_eth_init (struct eth_device *dev, bd_t * bis)
out32 (EMAC_M1, mode_reg);
+#if defined(CONFIG_440)
+ /* set speed in the ZMII bridge */
+ if (speed == _100BASET)
+ out32(ZMII_SSR, in32(ZMII_SSR) | 0x10000000);
+ else
+ out32(ZMII_SSR, in32(ZMII_SSR) & ~0x10000000);
+#endif
+
/* Enable broadcast and indvidual address */
out32 (EMAC_RXM, EMAC_RMR_BAE | EMAC_RMR_IAE
/*| EMAC_RMR_ARRP| EMAC_RMR_SFCS | EMAC_RMR_SP */ );