I was wondering if someone who has used the embedded MAC's can give me a pointer here. I am using BaseX mode, with RocketIO to interface to a a fibre SFP module then via fibre to a syskonnect card in a PC.
I have finally got my rocketIO working, after a lot of messing around with all the settings and everything is working, or so it seems. However I am having trouble getting the MAC to auto-negotiate. The PC on the end of the fibre is sending the negotiation frames, and I have a little embedded controller that is poking the MAC host interface configuration registers to set stuff like the MDIO clock divider and such like. Once that register is poked with a sane value I can see the MAC's tx data also switch from sending idle frames to sending negotiation frames and a few clocks later the CLIENTANINTERRUPT signal goes high. At this point I assume they have negotiated? Or am i being silly?
But how do you then switch to normal data mode? (The PC at the other end also stays in auto-negotiation mode too) Do I have to read/poke one of the registers in the host interface or MDIO interface?
Anyone offer any hits with using these things?
BTW The code is based on the v4.1 wrapper, with the patches mentioned in the various xilinx online docs.