we are developing our i.MX6Q & Android custom product using the Freescale Sabre Board SD as reference.
In this board the mounted ethernet phy is the Qualcomm/Atheros AR8031.
The question is: do we have to modify something (and where?) if we want to mount in out product a different phy chip with RGMII interface instead of AR8031?
We found some code referencing the AR8031 registers in board-mx6q_sabresd.c board initialization file, but we don't know if there are other references to AR8031 and if the registers are the same for all RGMII compliant chips.
Thank you for anyone that will give us some hints.
This should be the only place referencing PHY specific registers. This code was added to enable the 125Mhz clock from the PHY. I do not think the same steps will work for all PHY's, you should check the datasheet for the PHY that you are using.
thank you for you answer, I'll check the datasheet for the PHY I'm going to use (probably a Micrel KSZ9021RL that should more available in electronic component distribution).
Unfortunately we were not able to get the AR8031 datasheet, so I cannot verify what are the specific registers for that PHY and what they are supposed to do.
The critical part is to find the register to get the 125Mhz reference clock. Rest of the changes to the PHY (disable SmartEEE, updates to tx delay) were made later while debugging problems.
I doubt the Micrel Phy will have the same register settings as these were specific to Atheros phy.