From d6cc73e4e70a7f8712c52ef9d93a19a906cc3d4b Mon Sep 17 00:00:00 2001
From: Markus Klotzbuecher <mk@denx.de>
Date: Wed, 12 Jul 2006 09:08:36 +0200
Subject: [PATCH] Bugfix in FEC initialisation: All MII configuration is done
 via FEC1 registers. But MII_SPEED was configured according to FEC used. So if
 only FEC2 was used, this caused the real MII_SPEED register in FEC1 to stay
 uninitalised, what lead to "mii_send STUCK!" messages. Fix: always configure
 MII_SPEED on FEC1 only.

---
 cpu/mpc8xx/fec.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/cpu/mpc8xx/fec.c b/cpu/mpc8xx/fec.c
index 21c9070d21f..9ebee592d8c 100644
--- a/cpu/mpc8xx/fec.c
+++ b/cpu/mpc8xx/fec.c
@@ -396,8 +396,10 @@ static void fec_pin_init(int fecidx)
 	 * * to 2.5 MHz.
 	 * * This MDC frequency is equal to system clock / (2 * MII_SPEED).
 	 * * Then MII_SPEED = system_clock / 2 * 2,5 Mhz.
+	 *
+	 * All MII configuration is done via FEC1 registers:
 	 */
-	fecp->fec_mii_speed = ((bd->bi_intfreq + 4999999) / 5000000) << 1;
+	immr->im_cpm.cp_fec1.fec_mii_speed = ((bd->bi_intfreq + 4999999) / 5000000) << 1;
 
 #if defined(CONFIG_NETTA) || defined(CONFIG_NETPHONE) || defined(CONFIG_NETTA2)
 	/* our PHYs are the limit at 2.5 MHz */
-- 
GitLab