eCos and MCF5208 - Ethernet not transmitting

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

eCos and MCF5208 - Ethernet not transmitting

Jump to solution
1,164 Views
DaStoned
Contributor II
Hi!

I am running a public CVS version of eCos on MCF5208, compiled with the CodeSourcery toolchain.

Ethernet driver for ColdFire 5272/5282 was donated by eCosPro 2 weeks ago (/devs/eth/m68k/mcf52782). Recent Coldfires have same Ethernet controller as 5282. I had to make only trivial changes to create a 5208 port.

I conneted the MCF5208 EVBe to a computer running a sniffer. I use a switch (to see activity LED blinking). Code is broadcasting a DHCP query. Driver outputs nice tracing messages so all command traffic to/from the FEC (Fast Ethernet Controller) is clearly visible.

Driver properly initializes and configures the FEC, puts it into "live" mode, fills the buffer with data and tells it to transmit.

The PHY link is active, but nothing is sent. It looks like the FEC completely ignores the TX request. It does not clear the TX request flag in TDAR or "Ready" flag in the BD. It does not set any error flags in EIR. Nothing happens - it looks like the controller is dead.

I have read the HW spec forwards and backwards. Everything seems OK. The driver knows all the details - register and flag positions, command sequence, buffer alignment, etc. Changelog shows it has been in development for 5 years so I don't really expect to find any trivial errors there.

I'm a bit stumped. I assume I missed something when porting, but the changes were rather simple. I only enabled buffer alignment and set up correct interrupts.

The debug output is at:
http://www.hot.ee/tarmospam/eth_trace_20081204.txt

Changes to source code are highlighted here:
http://www.hot.ee/tarmospam/diffreport.html

Any suggestions on how to get FEC up and running?

Labels (1)
0 Kudos
1 Solution
442 Views
DaStoned
Contributor II
Problem solved - GPIO had to be manually configured for Ethernet. Also, the interrupt priorities are simpler in 5208. Seems to be working now.

View solution in original post

0 Kudos
1 Reply
443 Views
DaStoned
Contributor II
Problem solved - GPIO had to be manually configured for Ethernet. Also, the interrupt priorities are simpler in 5208. Seems to be working now.
0 Kudos