cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
nardhini03
Observer
Observer
1,118 Views
Registered: ‎08-20-2018

Error Detect Phy in EmacPs Intr DMA example

Hi,

I created a Vivado Project with just Zync PS and used the hardware platform to run the EmacPS Intr DMA example in SDK. The code fails at detecting phy address and returns "Error detect phy". I am using Vivado 2017.4.

I went through a lot of forum discussions about the same issue and many of the discussions deal with PetaLinux project. Mine is just a baremetal application. I also tried connecting ENET0 reset to pin 50, but it didn't help. Can someone please help me find where the issue is?

 

0 Kudos
5 Replies
stephenm
Moderator
Moderator
1,092 Views
Registered: ‎09-12-2007

What board are you using? If using a development board, are you using the presets for this board in the Vivado IPI?

If this is a custom board, then can you verify if the PHY is out of reset, and relevent connections between the Zynq SoC and

PHY are correct?

0 Kudos
nardhini03
Observer
Observer
1,084 Views
Registered: ‎08-20-2018

I am using Zybo Z7-20 development board and yes board presets are used. Board presets were enabled in the block automation step.

0 Kudos
nardhini03
Observer
Observer
1,083 Views
Registered: ‎08-20-2018

And, should ENET0 reset be enabled?

0 Kudos
nardhini03
Observer
Observer
1,038 Views
Registered: ‎08-20-2018

The phy detect error was because the MDIO and MDC pins in the Zync block design were connected to EMIO, instead of MIO pins. Once I changed the connection, phy detection worked fine.

Now, other problem has popped up. The example application has PHY configuration for Marvell and TI chips and not Realtek chip. I managed to change the register settings for Realtek chip but in the Realtek phy datasheet the basic mode control register seems to have speed setting only for 10Mbps and 100Mbps and not 1Gbps. I couldn't find any other register setting to enable 1Gbps. 

And, the code waits infinitely for receive complete interrupt to be called and it never seems to happen. As per the code, the PHY is set in loopback mode and not emacps. Should emacps also be set in loopback?

Can someone really help in this? This application is part of the peripheral test and it fails all the time. How do we go about working with Zync Ethernet when the test code itself fails miserably?

0 Kudos
611 Views
Registered: ‎09-02-2019

Hi,

Sorry to bother you

Did your second problem be solved? I have the same problem. The code waits infinitely for receive complete interrupt to be called and it never seems to happen.

Can you help me?

Thank you so much.

0 Kudos