SOLVED: Coldfire 5282 ethernet not working

Andrei Chichak groups at chichak.ca
Wed Jun 30 19:08:14 UTC 2010


I'm sure you are sick and tired of me asking for help with my ethernet problems, well I solved it after 2 months of searching.


It turns out that the FEC typically uses the internal SRAM as a fast buffer. The FEC accesses the SRAM using DMA.

To enable the SRAM to be accessed for DMA, an extra bit in the RAMBAR register needs to be set.

The typical way to set up SRAM through RAMBAR is to set the LSB of the base address and drop it into RAMBAR. This enables the SRAM, but only from the CPU, not from the DMA enabled subsections (FEC, UARTs, timers).

So, in start.S, instead of moving __SRAMBASE+1 to %rambar, you move __SRAMBASE+0x201 to %rambar.

This is not in any of the other BSPs for the Coldfire processors since they all rely on dBUG, or some other bootloader, to setup RAMBAR. It is also very poorly documented by Freescale.

Thanks to Eric Norum for his help.

Andrei




More information about the users mailing list