• 0
david.600

Zynq 7000 intr_dme example

Question

Hi,

I have the Zynq 7000 board (Z-7010).

I'm trying to build a Vhdl Program that sends and basic Ethernet Frame throw the RJ45 onboard interface.

I'm trying the Intr_Dma example to learn how to use the controllers on the PS.

My block design is simply one block of Zynq7 Processing system with eth0 and UART1 enabled

blk_design_eth.png

Exported the hardware to SDK and imported the example of emacps "xemacps_example_intr_dma.c".

Run the program will show the following message from UART:

"Entering into main()

Error setup phy loopback"

Debugging the program and I found the problem is inside function EmacPsUtilEnterLoopback of xemacps_example_util.c

This function is to set the PHY chip to loopback mode. However, This functions only works for Marvell and TI chip.

according to this great blog, this should work: http://igorfreire.com.br/blog/#zynq-ethernet-interface-zybo-board

i'v tried troubleshooting this problem,i'v added the fallowing lines:(to the "EmacPsUtilEnterLoopback" function)

printf("%d\n",PhyIdentity);
printf("%d\n",PHY_ID_MARVELL);
printf("%d\n",PHY_ID_TI);

the output is:

Entering into main() 
28
321
8192
Error setup phy loopback

Therefor the realtec phy has PhyIdentity of 28, marvell phy is 321 and Ti phy is 8192.

i'v tried changing the following lines:

if (PhyIdentity == 28) {
        printf("phy is Marvell\n");
        Status = EmacPsUtilMarvellPhyLoopback(EmacPsInstancePtr, Speed, PhyAddr);
    }

 after it didnt work, i've tried this lines:

if (PhyIdentity == 28) {
        printf("phy is TI\n");
        Status = EmacPsUtilTiPhyLoopback(EmacPsInstancePtr, Speed, PhyAddr);

Nothing works.

where can i find the relevant code?

Thanks,

David

 

Edited by david.600

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Hi @david.600,

I am not aware of any code made to get around this situation. In the blog post you link to they disable the loopback mode. I would suggest to reach out to xinlinx to see if they have any suggestions about having the loopback function accept a realtec phy.

thank you,

Jon

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now