cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Zhao
Contributor
Contributor
506 Views
Registered: ‎11-13-2020

Tri-Mode Ethernet MAC MDIO read return all 0.

Jump to solution

I am debugging Tri-Mode Ethernet MAC on ZYNQ-7000. The MDIO read just returns 0. The ready bit of Register MDIO Read Data (0x50C) is 1. I try all possible PHY addresses. What next should I try?

Tags (3)
0 Kudos
1 Solution

Accepted Solutions
Zhao
Contributor
Contributor
264 Views
Registered: ‎11-13-2020

The axi lite state machine in the example design does not wait a time long enough for my PHY begins to function. I add a poll loop at the beginning to check the PHYID, if the PHYID is valid, then I proceed the normal MDIO configurations. Now it works.

View solution in original post

5 Replies
nanz
Moderator
Moderator
468 Views
Registered: ‎08-25-2009

Hi @Zhao ,

Can you please first test in simulation and see if that works? You can compare the interface between your simulation and hardware and see differences.

Also, your MDIO clock should be 2.5MHz or below. Please confirm that too. 


-------------------------------------------------------------------------------------------

Don’t forget to reply, kudo, and accept as solution.

If starting with Versal take a look at our Versal Design Process Hub and our Versal Blogs and our Versal Ethernet Sticky Note.

-------------------------------------------------------------------------------------------
0 Kudos
Zhao
Contributor
Contributor
428 Views
Registered: ‎11-13-2020

Thanks for your reply. The simulation works fine. The MDC clock is below 2.5MHz. Is there anything else that I should pay attention to?

0 Kudos
nanz
Moderator
Moderator
380 Views
Registered: ‎08-25-2009

Did you add an ILA on the interface? If you could compare the MDIO interface between the simulation and HW ILA, you will get where the issue comes from. 


-------------------------------------------------------------------------------------------

Don’t forget to reply, kudo, and accept as solution.

If starting with Versal take a look at our Versal Design Process Hub and our Versal Blogs and our Versal Ethernet Sticky Note.

-------------------------------------------------------------------------------------------
0 Kudos
Zhao
Contributor
Contributor
265 Views
Registered: ‎11-13-2020

The axi lite state machine in the example design does not wait a time long enough for my PHY begins to function. I add a poll loop at the beginning to check the PHYID, if the PHYID is valid, then I proceed the normal MDIO configurations. Now it works.

View solution in original post

nanz
Moderator
Moderator
244 Views
Registered: ‎08-25-2009

Hi @Zhao ,

Great to know the issue is resolved. Could you please mark your above thread as accepted solution? So it will also benefit other forum users. Thank you!


-------------------------------------------------------------------------------------------

Don’t forget to reply, kudo, and accept as solution.

If starting with Versal take a look at our Versal Design Process Hub and our Versal Blogs and our Versal Ethernet Sticky Note.

-------------------------------------------------------------------------------------------
0 Kudos