Hardware Auto-Negotiation
About this task
The 10GBase-KR PCS uses hardware auto-negotiation mode when the
usx_an_enable field of the
pcsr_x_control_register is set to 1’b1. In
this mode, the information exchange is autonomous, and programmable interrupts
signal completion. Use this sequence:
Procedure
-
Program
pcsr_x_usxgmii_link_timer_registerwith the SerDes link rate and the required auto-negotiation link timeout value (1 - 2 ms per the USXGMII specification). -
Program
pcsr_x_usxgmii_an_adv_registerfields with the link parameters according to the Cisco USXGMII specification. -
(MAC devices only) enable the
usx_an_mirror_enablefield ofpcsr_x_control_registerto allow automatic mirroring of the link, duplex and speed fields of the negotiation message. -
Unmask the
usxgmii_new_link_infoandusxgmii_link_sts_updinterrupts. -
Enable auto-negotiation by setting the
usx_an_enablefield ofpcsr_x_control_registerto1’b1. -
Wait for the interrupts to trigger. The first interrupt received is the
usxgmii_new_link_infointerrupt which occurs when a non-zero configuration word is received from the link partner. For MAC devices, do the following actions when you receive this interrupt:-
Optionally update the
pcsr_x_usxgmii_an_adv_registerif you are not usingusx_an_mirror_enable. -
Program the
usx_speedfield ofpcsr_x_control_registerwith the speed information sent by the link partner (read it inpcsr_x_usxgmii_an_lp_register).
-
Optionally update the
-
When you receive the
usxgmii_link_sts_updinterrupt, auto-negotiation is complete and normal data transmission/reception is possible. - Monitor the interrupts to be notified if/when auto-negotiation restarts.
Results
Note: The 10GBase-KR block does not support the auto-negotiation function for
backplane Ethernet, which is specified in Clause 73. It does support auto-negotiation
for non-backplane Ethernet (Clause 37).