The MAC supports Loopback of
transmitted packets to the receiver. The following are some guidelines for using the
loopback mode:
- Enable loopback only with the full-duplex mode. In half-duplex
mode, the carrier sense signal (CRS) or collision (COL) signal inputs get
sampled that can result into issues such as packet dropping.
- If the loopback mode is enabled without connecting a PHY chip
(for example, in FPGA setup), enable the internal clock for loopback to generate
the Tx and Rx clocks and provide these clocks to the MAC.
- Program the CLK_LM field of EMACSS_CTRLSTS Register to program
the loopback clocks (either from the external source or from the internal
source).
- If internal source is selected, the divider ETHDIV and
clock source ETHDIVSRCSEL must be properly set to derive a 50MHz clock
as in the case of RMII clocking.
- If external source is selected :
- For RMII mode, the ENET_RMII_CLK must be
provided with a 50MHz clock
- For MII mode, the ENET_MII_TX_CLK and
ENER_MII_RX_CLK must be provided with a 25MHz (for 100Mbps) or
2.5MHz (for 10Mbps link)
- Do not loop back big packets. Big packets can get corrupted in
the loopback FIFO.
At the end of every received packet,
the Receive Protocol Engine module generates received packet status and sends the
status to the Receive Packet Controller module. The control, missed packet, and
filter fail status are added to the Receive status in the Receive Packet Controller
module.
The MAC does not process ARP or PMT
packets that are looped back.