Hi there,
as I can see the sc_ethernet port definitions for the different slicekits is kept on the module_ethernet_board_ethernet_board_conf.h file. Here I see different definitions, like using a single-bit port...
#define PORT_ETH_MDIO on tile[0]: XS1_PORT_1M
Or also for the XC-2 board, the port is an 8-bit port and the bit used por this signal is the bit 7. The definitions for these board are...
#define ETHERNET_DEFAULT_PHY_ADDRESS 0x1f
#define SMI_MDIO_BIT 7
#define SMI_MDIO_REST (~(1<<7))
#define SMI_MDIO_RESET_MUX 1
Well, in my design, I am using a 4-bit port for the MDIO signal and I want to use the bit 3. I define in my board_conf the following...
#define PORT_ETH_MDIO on tile[0]: XS1_PORT_4D
#define SMI_MDIO_BIT 3
#define SMI_MDIO_REST (~(1<<3))
#define SMI_MDIO_RESET_MUX 0
Rest of ports on my design match the Slicekit-L16 ones but on tile 0, but this port definitions are not working for me. The application does not get any IP from the router. What I am doing wrong? Any idea?
Thanks a lot on advance!
:)
ps. In fact, if I hack my design and move MDIO signal to a single-bit port, with the correspondent definition PORT_ETH_MDIO on tile[0]: XS1_PORT_1M, everything works fine. So on the MDIO signal is the problem.
PRBLEM w/ MDIO Port definition on sc_ethernet
-
- Member
- Posts: 12
- Joined: Fri Apr 25, 2014 3:35 pm
-
- Experienced Member
- Posts: 111
- Joined: Sun Mar 06, 2011 11:39 pm
I would have thought that module_ethernet_board_support which is supplied inside sc_ethernet would have taken care of selecting the proper port definitions. That module just looks for the "TARGET =" board type in your main makefile and sets ports using #define accordingly.
Are you sure you want to be using the MDIO interface? It's a serial interface which is a lot slower than the MII interface which uses separate 4-bit ports for RX and TX data.
Are you sure you want to be using the MDIO interface? It's a serial interface which is a lot slower than the MII interface which uses separate 4-bit ports for RX and TX data.
-
- XCore Expert
- Posts: 754
- Joined: Thu Dec 10, 2009 6:56 pm
MDIO is mandatory as management interfaceTSC wrote:I would have thought that module_ethernet_board_support which is supplied inside sc_ethernet would have taken care of selecting the proper port definitions. That module just looks for the "TARGET =" board type in your main makefile and sets ports using #define accordingly.
Are you sure you want to be using the MDIO interface? It's a serial interface which is a lot slower than the MII interface which uses separate 4-bit ports for RX and TX data.
-
- Member
- Posts: 12
- Joined: Fri Apr 25, 2014 3:35 pm
First of all, thanks for your replies guys.
Second, the solution was provided by a collegue of me and it was really easy. Basically, at the definitions of my MDIO port configuration I just needed to change one of them, SMI_MDIO_BIT, remaining definitions stay the same.
So the definitions are like this.
#define PORT_ETH_MDIO on tile[0]: XS1_PORT_4D
#define SMI_MDIO_BIT 3
The application runs just fine this way.
Best,
:)
Second, the solution was provided by a collegue of me and it was really easy. Basically, at the definitions of my MDIO port configuration I just needed to change one of them, SMI_MDIO_BIT, remaining definitions stay the same.
So the definitions are like this.
#define PORT_ETH_MDIO on tile[0]: XS1_PORT_4D
#define SMI_MDIO_BIT 3
The application runs just fine this way.
Best,
:)