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

  1. Program pcsr_x_usxgmii_link_timer_register with the SerDes link rate and the required auto-negotiation link timeout value (1 - 2 ms per the USXGMII specification).
  2. Program pcsr_x_usxgmii_an_adv_register fields with the link parameters according to the Cisco USXGMII specification.
  3. (MAC devices only) enable the usx_an_mirror_enable field of pcsr_x_control_register to allow automatic mirroring of the link, duplex and speed fields of the negotiation message.
  4. Unmask the usxgmii_new_link_info and usxgmii_link_sts_upd interrupts.
  5. Enable auto-negotiation by setting the usx_an_enable field of pcsr_x_control_register to 1’b1.
  6. Wait for the interrupts to trigger. The first interrupt received is the usxgmii_new_link_info interrupt 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:
    1. Optionally update the pcsr_x_usxgmii_an_adv_register if you are not using usx_an_mirror_enable.
    2. Program the usx_speed field of pcsr_x_control_register with the speed information sent by the link partner (read it in pcsr_x_usxgmii_an_lp_register).
  7. When you receive the usxgmii_link_sts_upd interrupt, auto-negotiation is complete and normal data transmission/reception is possible.
  8. 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).