Ethernet issue on AT91SAM9260 custom board

I have a custom board using an Atmel 9260 with a Micrel KZ8041NL PHY. I've ported U-boot & LINUX 2.6.30 to the board and it works fairly well except one big issue - I can't get the Ethernet to work at speeds above 10BT.

Some notes on the behaviour:

1) Negotiates link speeds fine - detects 10/100 half/full properly with all the hubs I've tried and LINUX reports the correct speeds. 2) Works reliably at 10BaseT half connections - either using an old 10BT hub or a direct connection to a PC with its NIC fixed to 10BT. 3) Does not work at all at 100BT either half or full duplex. As soon as I plug it into a 100BT hub it negotiates the link fine and turns on LED1 (as it should for 100BT), but the LED0 activity LED on the PHY immediately begins flashing quickly. Checking ifconfig it shows continuous packets with framing errors being received. It's like it constantly seeing packets even though none are being sent to it -- it is the ONLY thing plugged into the hub. I get similar errors when I plug it directly into my PC using either straight or crossover cables. 4) I am not happy with the layout of the tracks between the PHY and the RJ45 but I am unsure if this could cause my issues.

Any ideas?

--
Allan Williams
Reply to
Al Williams
Loading thread data ...

Al Williams skrev:

I have seen this problem when the CPU clock was unstable.

Dont use the PCK outputs for anything requiring high stability, like the Ethernet PHY.

Best Regards Ulf Samuelsson

Reply to
Ulf Samuelsson

Interesting, we are using PCK1 to provide the 50 MHz RMII clock to the PHY. Can you be more specific on what makes the clock unstable - is it simply because of the PLL or is it a source termination thing? The multipliers/dividers are simple as we use a 8 MHz main clock and I thought PLL's were pretty stable. Anything we can do to clean up the clock without resorting to an external oscillator - we are short on board space...

Thanks for the input.

-- Allan Williams

Ulf Samuelss> Al Williams skrev:

Reply to
Al Williams

Al Williams skrev:

This is exactly the scenario I saw and the same symptoms.

10 Mbit works, but not 100 Mbit.

No way to "clean up" the PCK1, External crystal is the way to go.

If you want to save on crystals, use the DP83858I from National Semiconductor. This supplies a clock output, which you can feed to the CPU and lose that crystal instead. Might be similar devices out there with this clock, but I am not aware of any.

BR Ulf

Reply to
Ulf Samuelsson

Thanks. This does appear to be the issue based on a quick "jerry rigging" test. We are going to try and patch an oscillator on the board to verify once and for all.

-- Allan Williams

Ulf Samuelss> Al Williams skrev:

Reply to
Al Williams

One other related question since your the LINUX AT91 expert ;-)

I gather we don't really need a PHY interrupt connection on the AT91 anymore inLINUX? I noticed that most (if not all) PHY's are detected with the generic PHY driver which does not support an interrupt AFAIK.

-- Allan Williams

Ulf Samuelss> Al Williams skrev:

Reply to
Al Williams

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.