We’re using LS1043A QorIQ CPU in our product (computing module) which is then placed on a motherboard with all needed peripherals and connectors including ethernet connectors. This module has two RGMII PHYs AR8035 connected to the CPU.
Everything works with this setup. But recently we got the need for a version with just one RGMII PHY and we just made a batch of boards without PHY attached to RGMII1 - it is the same product just without RGMII1 PHY soldered to the PCB.
And here appeared a problem - RGMII2 PHY is partly not working: we can see ARP-Request packets in the LS1043A Linux system using tcpdump and we see that this box is answering with ARP-Reply but the answers are not seen on the PC.
LS1043A box and the PC are connected directly with a cable without any other equipment.
So the problem is that LS1043A somehow doesn’t transmit packets.
When we switch this «reduced» CPU module to a «full» one with both PHYs - everything starts to work.
Then we took LS1043ARDB development kit and removed R74 and R225 to cut the power of the Realtek RTL8211 RGMII1 PHY - and we see the same behaviour: LS1043A receives the ARP packets via RGMII2 PHY but the response is not delivered to the PC.
We tried to switch RGMII1 (EC1) interface into GPIO mode in RCW (RC1 register value 001) for the CPU not to look at it as at RGMII interface but this didn’t help.
At this point my question is - how to make LS1043A work with only RGMII2 PHY attached?
I've attached 2 images - one (with two console windows - tcpdump and ping) is with what we see on the PC and the second one is with what we see with tcpdump on LS1043A.
Solved! Go to Solution.
Thanks for pointing into this, we have missed this reg.
In our design RGMII1 PHY GTX_CLK is attached to EC1_GTX_CLK125 and RGMII2 PHY GTX_CLK is attached to EC2_GTX_CLK125.
Now we have changed SCFG_ECGTXCMCR[CLK_SEL] to 1 to use EC2_GTX_CLK125 and that helped.
Thank you very much!