UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Observer yhs159
Observer
191 Views
Registered: ‎01-11-2019

GEM EMIO GMII/MII Auto-negotiated Speed Detection Logic

I'm learning to develop linux driver, and trying to use ZYNQ GEM GMII/MII Interface via EMIO, I've created both 1G bitstream and 100M bitstream successfully. Now, I want to create a 3-speed GMII/MII interface bitstream. According to ug585 P528:

2019_09_09_20_37_43_ug585_Zynq_7000_TRM.pdf_Adobe_Acrobat_Pro_DC.png

I need an Auto-negotiated Speed Detection Logic.

I have an idea: find the way how linux driver detect phy link speed, analyse mdio read signal, then get phy link speed.

I learn about linux ethernet phy driver and find a function: genphy_read_status(), but driver does mdio read 2 times and use 2 variables to determine phy link speed. Maybe it's too complex to create a logic to accomplish this function...

Is there any example about this Detection Logic? or any other way?

thanks!!!

 

0 Kudos
2 Replies
Moderator
Moderator
131 Views
Registered: ‎08-25-2009

Re: GEM EMIO GMII/MII Auto-negotiated Speed Detection Logic

Hi @yhs159 ,

Yes, the driver does exactly what you have described here to detect the PHY speed. Why are you not using our driver by the way?

The management interface (MDIO) is used to probe all AN information such as duplex, link speed etc...The drvier also does the same way.

 

"Don't forget to reply, kudo and accept as solution."
Moderator
Moderator
61 Views
Registered: ‎08-25-2009

Re: GEM EMIO GMII/MII Auto-negotiated Speed Detection Logic

Hi @yhs159 ,

Have you made any progress on this issue? Do you have any further questions?

 

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