Sign In

Don't have a Xilinx account yet?

  • Choose to receive important news and product information
  • Gain access to special content
  • Personalize your web experience on Xilinx.com

Create Account

Username

Password

Forgot your password?
XClose Panel
Xilinx Home
Reply
Contributor
n5ac
Posts: 61
Registered: ‎10-29-2008
0
Accepted Solution

TEMAC / LwIP failure to connect

I have an Ethernet port on my board using  Marvell 88E1111 PHY.  I have wired the PHY to the FPGA MGT just as is done in the ML50x boards.  I have MDC and MDIO going into the FPGA also and connected to the hard TEMAC.  Here's my MHS file for xps_ll_temac:

 

BEGIN xps_ll_temac

 PARAMETER INSTANCE = temac

 PARAMETER HW_VER = 1.01.b

 PARAMETER C_TEMAC_TYPE = 0

 PARAMETER C_PHY_TYPE = 4

 PARAMETER C_SPLB_CLK_PERIOD_PS = 8000

 PARAMETER C_BUS2CORE_CLK_RATIO = 1

 PARAMETER C_TEMAC0_PHYADDR = 0b00000

 PARAMETER C_TEMAC0_TXCSUM = 1

 PARAMETER C_TEMAC0_RXCSUM = 1

 PARAMETER C_TEMAC0_TXFIFO = 2048

 PARAMETER C_TEMAC0_RXFIFO = 2048

 PARAMETER C_BASEADDR = 0x81c00000

 PARAMETER C_HIGHADDR = 0x81c0ffff

 BUS_INTERFACE SPLB = mb_plb

 BUS_INTERFACE LLINK0 = temac_LLINK0

 PORT RXN_0 = temac_RXN_0

 PORT RXP_0 = temac_RXP_0

 PORT TXN_0 = temac_TXN_0

 PORT TXP_0 = temac_TXP_0

 PORT MDC_0 = temac_MDC_0

 PORT MDIO_0 = temac_MDIO_0

 PORT TemacIntc0_Irpt = temac_TemacIntc0_Irpt

 PORT TemacPhy_RST_n = temac_TemacPhy_RST_n

 PORT MGTCLK_N = temac_MGTCLK_0_N

 PORT MGTCLK_P = temac_MGTCLK_0_P

END

 

My issue is that using the sample applications in XAPP1026, I receive the following message when I run the app in microblaze:

 


              Server   Port Connect With..

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

         echo server      7 $ telnet <board_ip> 7


XLlTemac detect_phy: No PHY detected.  Assuming a PHY at address 0

auto-negotiated link speed: 100

network is up...

Launching echo server...

In echo server...

 

I have the PHY wired to the LEDs on the connector and the PHY is indicating that it is plugged into a 1Gb Ethernet port (which is it), yet the software is reporting that it is 100 speed.  I am unable to connect to the echo server that I have running.  I placed messages in the server code to see where it is, and it clearly is waiting for a connect, but never gets one when I connect.  
 
Also, when I look on wire shark, I can see my PC attempting to get the MAC address of my board with an ARP request (when I try to connect).  It never gets a response.  I can see the RX LED on the connector blink so I know the ARP requests are hitting my board.
 
Do I have a failure to recognize the negotiated speed?  Is this some kind of MDC/MDIO problem?  Any other ideas?
 
Steve 
Contributor
n5ac
Posts: 61
Registered: ‎10-29-2008
0

Re: TEMAC / LwIP failure to connect

I discovered a footnote in the MAC documentation that indicated that I cannot use a PHY address of b00000 because:

 

The value "00000" is a broadcast PHY address and should not be used to avoid contention between the internal

HARD_TEMAC PHYs and the external PHY(s). 

 

I blue-wired this on my PHY to give it the address b00001 and then updated my settings in the MHS file and I no longer get the PHY not detected error.  I still cannot, however, get an ARP response or anything else out of the Ethernet port.  I've turned on the debug in LwIP, but there is no obvious error.  ARP appears to be running because a timer times out periodically and then a message is shown on the console from the debug statements.  

 

Any ideas?

 

Thanks,

Steve 

Contributor
n5ac
Posts: 61
Registered: ‎10-29-2008
0

Re: TEMAC / LwIP failure to connect

OK I found my problem.  In setting up the MHS file, I had neglected to connect the Local Link clock on the TEMAC.  So without that, there was no data being moved around.  The drivers found the PHY because that connection is through the MDC/MDIO lines.  Anyway, adding this to my MHS file in the xps_ll_temac peripheral and it solved the problem (the mb_clk is my 200MHz clock for the Microblaze):

 

 PORT LlinkTemac0_CLK = mb_clk

 

 

Steve