public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] [PATCH] ColdFire: Fix FEC transmit issue for MCF5275
@ 2008-03-17 22:08 Tsi-Chung Liew
  2008-03-18 21:29 ` Wolfgang Denk
  2008-03-30  4:18 ` Ben Warren
  0 siblings, 2 replies; 7+ messages in thread
From: Tsi-Chung Liew @ 2008-03-17 22:08 UTC (permalink / raw)
  To: u-boot

Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
---
 drivers/net/mcffec.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/drivers/net/mcffec.c b/drivers/net/mcffec.c
index 3b81258..71d1960 100644
--- a/drivers/net/mcffec.c
+++ b/drivers/net/mcffec.c
@@ -166,6 +166,13 @@ int fec_send(struct eth_device *dev, volatile void *packet, int length)
 	/* Activate transmit Buffer Descriptor polling */
 	fecp->tdar = 0x01000000;	/* Descriptor polling active    */
 
+	/* FEC fix for MCF5275, FEC unable to initial transmit data packet.
+	 * A nop will ensure the descriptor polling active completed.
+	 */
+#ifdef CONFIG_M5275
+	__asm__ ("nop");
+#endif
+
 #ifdef CFG_UNIFY_CACHE
 	icache_invalid();
 #endif
-- 
1.5.4.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread
* [U-Boot-Users] [PATCH] ColdFire: Fix FEC transmit issue for MCF5275
@ 2008-03-18 22:29 Tsi-Chung Liew
  2008-03-19 14:05 ` Jon Loeliger
  0 siblings, 1 reply; 7+ messages in thread
From: Tsi-Chung Liew @ 2008-03-18 22:29 UTC (permalink / raw)
  To: u-boot

Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
---
 drivers/net/mcffec.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/drivers/net/mcffec.c b/drivers/net/mcffec.c
index 3b81258..40d7bf2 100644
--- a/drivers/net/mcffec.c
+++ b/drivers/net/mcffec.c
@@ -166,6 +166,14 @@ int fec_send(struct eth_device *dev, volatile void *packet, int length)
 	/* Activate transmit Buffer Descriptor polling */
 	fecp->tdar = 0x01000000;	/* Descriptor polling active    */
 
+	/*
+	 * FEC fix for MCF5275, FEC unable to initial transmit data packet.
+	 * A nop will ensure the descriptor polling active completed.
+	 */
+#ifdef CONFIG_M5275
+	__asm__ ("nop");
+#endif
+
 #ifdef CFG_UNIFY_CACHE
 	icache_invalid();
 #endif
-- 
1.5.4.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread
* [U-Boot-Users] [PATCH] ColdFire: Fix FEC transmit issue for MCF5275
@ 2008-03-20  0:55 Tsi-Chung Liew
  0 siblings, 0 replies; 7+ messages in thread
From: Tsi-Chung Liew @ 2008-03-20  0:55 UTC (permalink / raw)
  To: u-boot

Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
---
 drivers/net/mcffec.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/drivers/net/mcffec.c b/drivers/net/mcffec.c
index 3b81258..10afa93 100644
--- a/drivers/net/mcffec.c
+++ b/drivers/net/mcffec.c
@@ -166,6 +166,18 @@ int fec_send(struct eth_device *dev, volatile void *packet, int length)
 	/* Activate transmit Buffer Descriptor polling */
 	fecp->tdar = 0x01000000;	/* Descriptor polling active    */
 
+#ifdef CONFIG_M5275
+	/*
+	 * FEC fix for MCF5275. This issue is only happened in cpu polling
+	 * but does not show up in interrupt. It is believe that there is
+	 * a sync issue when accessing from DRAM. This causes FEC unable
+	 * to initial transmit data packet. A NOP instruction will
+	 * ensure the transmit descriptor polling active completed before
+	 * the next instruction begin.
+	 */
+	__asm__ ("nop");
+#endif
+
 #ifdef CFG_UNIFY_CACHE
 	icache_invalid();
 #endif
-- 
1.5.4.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2008-03-30  4:18 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-17 22:08 [U-Boot-Users] [PATCH] ColdFire: Fix FEC transmit issue for MCF5275 Tsi-Chung Liew
2008-03-18 21:29 ` Wolfgang Denk
2008-03-30  4:18 ` Ben Warren
  -- strict thread matches above, loose matches on Subject: below --
2008-03-18 22:29 Tsi-Chung Liew
2008-03-19 14:05 ` Jon Loeliger
2008-03-19 15:18   ` Scott Wood
2008-03-20  0:55 Tsi-Chung Liew

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox