Quick question about the AD8031 in RGMII mode and it providing a 125MHz clock to the SOC. The AD8031 MDIO side works fine, but I can never get a good link status. I suspect it might be clock management. By default the driver selects an external 125MHz clock from the AR8031, seen in setting up the SOC clocks and poking the AR8031 registers. On my custom board I never see the 125MHz clock exiting the AR8031 ( I can get the AR8031 default 25MHz clock if I tweak the code ). Question is, is this clock there all the time or only produced once the link is up and the AD8031 can derive it off the LAN?
Thanks.
Solved! Go to Solution.
SOLVED! Turns out the board was missing the 2.37K bias resistor. Once this was fitted the internal AR8031 auto-negotiation worked. Immediately after that my 125MHz derived clock appeared. The documentation alludes to the 125MHz clock being derived off/or referenced to line timings, this appears to be correct as the 125MHz clock only appears once the link is up.
SOLVED! Turns out the board was missing the 2.37K bias resistor. Once this was fitted the internal AR8031 auto-negotiation worked. Immediately after that my 125MHz derived clock appeared. The documentation alludes to the 125MHz clock being derived off/or referenced to line timings, this appears to be correct as the 125MHz clock only appears once the link is up.
Hi Edward
one can adjust clocks in uboot setup_fec()
mx7dsabresd.c\mx7dsabresd\freescale\board - uboot-imx - i.MX U-Boot
Clock should be on all the time and recommended not to reenable it as described on
net: ethernet: fsl: don't en/disable refclk on open/close - Patchwork
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Thanks, I've already tried those registers.
Something's odd then. I can program teh AR8031 for 25Mz output but any other frequency nothing. The AR8031 documentation hints at the 125MHz is only produced from the line side sync pulses.
AR8031 is used on i.MX6Q Sabre SD board
mx6sabresd.c\mx6sabresd\freescale\board - uboot-imx - i.MX U-Boot
Best regards
igor