10-09-2019 06:25 PM
We're running into issues when attempting to bring up all of our GEMs on our custom UltraScale design. Everytime we attempt to enable the GEMs only one of them bind to the correct PHY and functions. If other PHYs are enabled in the device tree, the wonrg GEM (say GEM0) gets selected even though we clearly have configured the device tree in a fashion where GEM2 should be the MDIO controller.
Our set up is as follows:
-GEM0 (SGMII) -> PHY@2
-GEM1 (SGMII) -> PHY@8
-GEM2 (SGMII) -> PHY@0
-GEM3 (SGMII) -> PHY@1
We've tried the following methods mentioned in previous posts and wiki pages with no success:
https://lists.yoctoproject.org/pipermail/meta-xilinx/2018-February/003686.html
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841740/Macb+Driver
For reference we are using buildroot to compile our kernel.
What is the official method to enable all GEMs on a shared MDIO bus?
12-09-2020 01:10 PM - edited 12-09-2020 01:11 PM
You've probably solved this by now, but I ran into the same problem as you.
The wiki didn't work for me.
I found this official answer from Xilinx:
https://www.xilinx.com/support/answers/69132.html
I managed to use this to make a patch for linux-xlnx version 2019.1 (attached).
Then make sure to add the mdio device, and 'phy-handle' for each gem device in the device tree.
Don't forget to do 'ifup eth1' to bring up the interface once it's all booted.