Use SOC's native ethernet peripherals?


Is there a way to use one ore more of the ZU3EG’s ethernet peripherals on the Ultra96 board, ie route them to the pins of the connectors on the board? Even if this would break the pin assignment and it might require some external hardware components besides the connector


The easiest way to add wired Ethernet is through a USB-to-Ethernet adapter. We have tried several of these, which are documented on the Accessories Forum post here:

If you really want to use the one of the PS Ethernet peripherals, it MAY be possible by configuring it for EMIO then using the MIPI pins on the HS Mezzanine, but it would require a PHY to be built onto the HS Mezzanine. Is that what you want to do? If so, I will do a bit more research and get back to you.



I’d love to use a USB Ethernet adapter, but I don’t have Linux running. Thus I’d have to write (or port) the USB driver and the USB stack first. Using the native ethernet ports and adding a PHY seem a bit easier.


On Ultra96, connector J3 is the 96Boards High-speed Mezzanine connector. It gives you access to 28 PL I/Os. you should be able to create a small mezzanine with an Ethernet PHY that connects to one of the PS GEMs via EMIO.

You could use the new Avnet Network FMC design with the Microchip KSZ9031RNXI PHY as a reference design when you design your mezzanine. You can get more information about this board here:



Is there a chance to use PINs from the 2x20 connector also?


The 2x20 gives you access to 16 PL I/Os and 10 MIOs. It looks like you will need 15 I/Os to connect, so perhaps possible. However, the signals between MPSoC and PHY are timing sensitive, so I personally wouldn’t. Again, you could certainly look at Avnet’s Network FMC card to use as a reference in terms of schematic and layout. In fact, Avnet will give you the Altium source code for the Network FMC if you qualify through your local Avnet FAE. You could use that as a starting point. Remove one PHY and then changeover to the HS connector rather than FMC.