Ethernet Slice on Square
Posted: Tue Apr 18, 2017 11:24 pm
Hi
On a L2-Slice-Kit board, I managed to get the AN00122 (webserver) demo running. The port definition is correct for the CIRCLE slot. However, I would like to use the SQUARE slot and adapted the port configuration as much as I could but never succeeded.
Based on an older (back in 2010) post somebody referred to
but this doesn't fit the API of the Ethernet library the current sample uses (it expects ports and not #defines). In addition, what's MDIOFAKE good for? I understand that on the port map chart and on the slice kit daughter card sheet it says that some of the bits are overlayed and multi-bit SMI should be enabled in the library (I guess that
does this?!
As of now, I have:
I don't know what to do with p_eth_timing and the p_smi_mdio and p_smi_mdc. I need to set these ports for the library to be happy.
So how are those ports supposed to be when I must use the SQUARE port?
Any help would be very much appreciated?
Thanks!
On a L2-Slice-Kit board, I managed to get the AN00122 (webserver) demo running. The port definition is correct for the CIRCLE slot. However, I would like to use the SQUARE slot and adapted the port configuration as much as I could but never succeeded.
Based on an older (back in 2010) post somebody referred to
Code: Select all
#define SMI_COMBINE_MDC_MDIO 1
#define SMI_MDC_BIT 0
#define SMI_MDIO_BIT 1
#define ETHERNET_DEFAULT_TILE tile[1]
#define PORT_ETH_RXCLK on tile[1]: XS1_PORT_1B
#define PORT_ETH_RXD on tile[1]: XS1_PORT_4A
#define PORT_ETH_TXD on tile[1]: XS1_PORT_4B
#define PORT_ETH_RXDV on tile[1]: XS1_PORT_1C
#define PORT_ETH_TXEN on tile[1]: XS1_PORT_1F
#define PORT_ETH_TXCLK on tile[1]: XS1_PORT_1G
#define PORT_ETH_MDIOC on tile[1]: XS1_PORT_4C
#define PORT_ETH_MDIOFAKE on tile[1]: XS1_PORT_8A
#define PORT_ETH_ERR on tile[1]: XS1_PORT_4D
Code: Select all
#define SMI_COMBINE_MDC_MDIO 1
#define SMI_MDC_BIT 0
#define SMI_MDIO_BIT 1
As of now, I have:
Code: Select all
#define ETHERNET_USE_SQUARE_SLOT
port p_eth_rxclk = on tile[1]: XS1_PORT_1B; //XS1_PORT_1J on CIRCLE
port p_eth_rxd = on tile[1]: XS1_PORT_4A; //XS1_PORT_4E on CIRCLE
port p_eth_txd = on tile[1]: XS1_PORT_4B; //XS1_PORT_4F on CIRCLE
port p_eth_rxdv = on tile[1]: XS1_PORT_1C; //XS1_PORT_1 on CIRCLE
port p_eth_txen = on tile[1]: XS1_PORT_1F; //XS1_PORT_1L on CIRCLE
port p_eth_txclk = on tile[1]: XS1_PORT_1G; //XS1_PORT_1I on CIRCLE
port p_eth_rxerr = on tile[1]: XS1_PORT_4D; //(bit1) //XS1_PORT_1P on CIRCLE
port p_eth_timing = on tile[1]: XS1_PORT_8C; //CIRCLE good, SQUARE?
clock eth_rxclk = on tile[1]: XS1_CLKBLK_1;
clock eth_txclk = on tile[1]: XS1_CLKBLK_2;
port p_smi_mdio = on tile[1]: XS1_PORT_8A; // (bit0) //XS1_PORT_1M on CIRCLE
port p_smi_mdc = on tile[1]: XS1_PORT_4C; // (bit1) //XS1_PORT_1N on CIRCLE
So how are those ports supposed to be when I must use the SQUARE port?
Any help would be very much appreciated?
Thanks!