Skip to content

AEL2005 PHY Chips Configuration

Marco Forconesi edited this page Apr 11, 2014 · 1 revision

Currently, NetFPGA-10G projects use the MicroBlaze soft processor to program the four on board AEL2005 PHY chips at start-up. The MicroBlaze writes a sequence of registers through the MDIO pcore after the FPGA gets programmed. The original AEL2005 code for the NetFPGA-10G was taken from an open-source driver- we use the same programming sequence to setup the AEL2005. Please note that the actual AEL2005 datasheet is available from NetLogic (now Broadcom) under an NDA (non-disclosure agreement).

Having the PHY chips configured by the MicroBlaze is useful in most situations because it allows the possibility to run the NetFPGA-10G board in standalone mode and having a faster and simpler system start-up. In certain resource constrained designs, however, removing the MicroBlaze and the ROM memory which stores the AEL2005 configuration program could be a relief. Moreover, the flexibility is increased if the PHY chips can be configured, reset and re-configured at any time later before the FPGA is programmed. For these reasons we are now providing a linux user application that can configure the AEL2005 without the need for MicroBlaze. In the following, an explanation of how it works is given.

Project specific files

The user application files to manage the AEL2005 configuration can be found under:

NetFPGA-10G-live/projects/reference_nic/sw/host/apps/

  • ael2005_conf.h
    Header file which contains constants definitions of and magic registers. These same information can be found in the MicroBlaze code.

  • ael2005_conf.c
    Program that allows the configuration of each interface individually in 1G or 10G mode; reset all the PHY chips; put in loopback and dump status information of the AEL2005 chips. Please note that hardware for a 1G project and a 10G project is different. An attempt to configure an interface in 1G in a project that was built to run in 10G will not work.

How to use the user application

The NetFPGA-10G must be programmed with a project bitfile which contains the dma pcore (e.g. reference_nic) in order to have the PCI Express communication between the host machine and the NetFPGA. After the machine is rebooted and the driver loaded, change directory to:

NetFPGA-10G-live/projects/reference_nic/sw/host/apps/

Compile the program running make:

# make

Execute the ael2005 program:

# ./ael2005_conf

A menu with the options is displayed as shown in the above figure.

An example dump status should look like the one on the figure.

The driver's role in the AEL2005 configuration

When the driver is loaded, it checks to see if the AEL2005 PHY chips are already configured and if not, it takes a few seconds to program them. In the current project, the MicroBlaze stills configure the AEL2005 so no further action is performed by the driver.

Clone this wiki locally