Low Latency Ethernet 10G MAC Intel® Stratix® 10 FPGA IP Design Example User Guide

ID 683026
Date 1/11/2022
Public
Download
Document Table of Contents

8.3.1. 1G/2.5G/5G/10G Multi-rate PHY

This topic lists the byte offsets of the 1G/2.5G/5G/10G Multi-rate variant registers for Intel® Stratix® 10 devices.

Register Map

You can access the 16-bit/32-bit configuration registers via the Avalon® memory-mapped interface.

Table 35.  Register Map Overview
Address Range Usage Register Width Configuration
0x00 : 0x1F 1000BASE-X/SGMII 16 2.5G, 1G/2.5G, 10M/100M/1G/2.5G, 10M/100M/1G/2.5G/10G, 1G/2.5G/10G
0x400 : 0x41F USXGMII 32 1G/2.5G/5G/10G (USXGMII)
0x461 Serial Loopback 32 1G/2.5G/5G/10G (USXGMII)

Register Definitions

Observe the following guidelines when accessing the registers:
  • Do not write to reserved or undefined registers.
  • When writing to the registers, perform read-modify-write operation to ensure that reserved or undefined register bits are not overwritten.
Table 36.  1G/2.5G/5G/10G Multi-rate PHY Register Definitions
Word Offset Name Description Access HW Reset Value
0x00 control Bit [15]: RESET. Set this bit to 1 to trigger a soft reset.

The PHY clears the bit when the reset is completed. The register values remain intact during the reset.

RWC 0
Bit[14]: LOOPBACK. Set this bit to 1 to enable loopback on the serial interface. RW 0
Bit [12]: AUTO_NEGOTIATION_ENABLE. Set this bit to 1 to enable auto-negotiation.

Auto-negotiation is supported only in 1GbE. Therefore, set this bit to 0 when you switch to a speed other than 1GbE.

RW 0
Bit [9]: RESTART_AUTO_NEGOTIATION. Set this bit to 1 to restart auto-negotiation.

The PHY clears the bit as soon as auto-negotiation is restarted.

RWC 0
All other bits are reserved.
0x01 status Bit [5]: AUTO_NEGOTIATION_COMPLETE. A value of "1" indicates that the auto-negotiation is completed. RO 0
Bit [3]: AUTO_NEGOTIATION_ABILITY. A value of "1" indicates that the PCS function supports auto-negotiation. RO 1
Bit [2]: LINK_STATUS. A value of "0" indicates that the link is lost. A value of "1" indicates that the link is established. RO 0
All other bits are reserved.
0x02:0x03 phy_identifier The value set in the PHY_IDENTIFIER parameter. RO Value of PHY_IDENTIFIER parameter
0x04 dev_ability Use this register to advertise the device abilities during auto-negotiation.
Bits [13:12]: RF. Specify the remote fault.
  • 00: No error.
  • 01: Link failure.
  • 10: Off-line.
  • 11: Auto-negotiation error.
RW 00
Bits [8:7]: PS. Specify the PAUSE support.
  • 00: No PAUSE.
  • 01: Symmetric PAUSE.
  • 10: Asymmetric PAUSE towards the link partner.
  • 11: Asymmetric and symmetric PAUSE towards the link device.
RW 11
Bit [5]: FD. Ensure that this bit is always set to 1. RW 1
All other bits are reserved.
0x05 (1000BASE-X mode) partner_ability The device abilities of the link partner during auto-negotiation.
Bit [14]: ACK. A value of "1" indicates that the link partner has received three consecutive matching ability values from the device. RO 0
Bits [13:12]: RF. The remote fault.
  • 00: No error.
  • 01: Link failure.
  • 10: Off-line.
  • 11: Auto-negotiation error.
RO 0
Bits [8:7]: PS. The PAUSE support.
  • 00: No PAUSE.
  • 01: Symmetric PAUSE.
  • 10: Asymmetric PAUSE towards the link partner.
  • 11: Asymmetric and symmetric PAUSE towards the link device.
RO 0
Bit [6]: HD. A value of "1" indicates that half-duplex is supported. RO 0
Bit [5]: FD. A value of "1" indicates that full-duplex is supported. RO 0
All other bits are reserved.
0x05 (SGMII mode) partner_ability The device abilities of the link partner during auto-negotiation.
Bit [11:10]: COPPER_SPEED
Link partner speed:
  • 00: copper interface speed is 10 Mbps
  • 01: copper interface speed is 100 Mbps
  • 10: copper interface speed is 1 Gigabit
  • 11: reserved
RO 00
Bit [12]: COPPER_DUPLEX_STATUS
Link partner capability:
  • 1: copper interface is capable of full-duplex operation
  • 0: copper interface is capable of half-duplex operation
RO 0
Bit [14]: ACK. Link partner acknowledge. A value of 1 indicates that the device received three consecutive matching ability values from its link partner. RO 0
Bit [15]: COPPER_LINK_STATUS
Link partner status:
  • 1: copper interface link is up
  • 0: copper interface link is down
RO 0
All other bits are reserved.
0x06 an_expansion The PCS capabilities and auto-negotiation status.
Bit [1]: PAGE_RECEIVE. A value of "1" indicates that the partner_ability register has been updated. This bit is automatically cleared once it is read. RO 0
Bit [0]: LINK_PARTNER_AUTO_NEGOTIATION_ABLE. A value of "1" indicates that the link partner supports auto-negotiation. RO 0
0x07 device_next_page The PHY does not support the next page feature. These registers are always set to 0. RO 0
0x08 partner_next_page RO 0
0x09:0x0F Reserved

0x10

scratch Provides a memory location to test read and write operations.

RW

0
Bit [31:16]: Reserved
0x11 rev The current version of the PHY IP. RO Current version of the PHY
Bit [31:16]: Reserved
0x12:0x13 link_timer 21-bit auto-negotiation link timer.
  • Offset 0x12: link_timer[15:0]. Bits [8:0] are always be set to 0.
  • Offset 0x13: link_timer[20:16] occupies the lower 5 bits. The remaining 11 bits are reserved and must always be set to 0.
RW 0
0x14 if_mode Interface Mode Register
Bit [0]: SGMII_ENA

Determines the PCS function operating mode. Setting this bit to 1b'1 enables SGMII mode. Setting this bit to 1b'0 enables 1000BASE-X gigabit mode.

RW 0
Bit [1]: USE_SGMII_AN

In SGMII mode, setting this bit to 1b'1 configures the PCS with the link partner abilities advertised during auto-negotiation. If this bit is set to 1b'0, the PCS function should be configured with the SGMII_SPEED bits.

RW 0
Bit [3:2]: SGMII_SPEED
When the PCS operates in SGMII mode (SGMII_ENA = 1) and is not programmed for automatic configuration (USE_SGMII_AN = 0), the following encodings specify the speed:
  • 2'b00: 10 Mbps
  • 2'b01: 100 Mbps
  • 2'b10: Gigabit
  • 2'b11: Reserved
These bits are not used when SGMII_ENA = 0 or USE_SGMII_AN = 1.
RW 0
All other bits are reserved.
0x15:0x1F Reserved
0x400 usxgmii_control Control Register
Bit [0]: USXGMII_ENA:
  • 0: 10GBASE-R mode
  • 1: USXGMII mode
RW 0
Bit [1]: USXGMII_AN_ENA is used when USXGMII_ENA is set to 1:
  • 0: Disables USXGMII Auto-Negotiation and manually configures the operating speed with the USXGMII_SPEED register.
  • 1: Enables USXGMII Auto-Negotiation, and automatically configures operating speed with link partner ability advertised during USXGMII Auto-Negotiation.
RW 1
Bit [4:2]: USXGMII_SPEED is the operating speed of the PHY in USXGMII mode and USE_USXGMII_AN is set to 0.
  • 3’b000: 10M
  • 3’b001: 100M
  • 3’b010: 1G
  • 3’b011: 10G
  • 3’b100: 2.5G
  • 3’b101: 5G
  • 3’b110: Reserved
  • 3’b111: Reserved
RW 0
Bit [8:5]: Reserved
Bit [9]: RESTART_AUTO_NEGOTIATION

Write 1 to restart Auto-Negotiation sequence The bit is cleared by hardware when Auto-Negotiation is restarted.

RWC 0
Bit [31:10]: Reserved
0x401 usxgmii_status Status Register
Bit [1:0]: Reserved
Bit [2]: LINK_STATUS indicates link status for USXGMII all speeds
  • 1: Link is established
  • 0: Link synchronization is lost, a 0 is latched
RO 0
Bit [4:3]: Reserved
Bit [5]: AUTO_NEGOTIATION_COMPLETE

A value of 1 indicates the Auto-Negotiation process is completed.

RO 0
Bit [31:6]: Reserved
0x402:0x404 Reserved
0x405 usxgmii_partner_ability Device abilities advertised to the link partner during Auto-Negotiation
Bit [6:0]: Reserved
Bit [7]: EEE_CLOCK_STOP_CAPABILITY
Indicates whether or not energy efficient Ethernet (EEE) clock stop is supported.
  • 0: Not supported
  • 1: Supported
RO 0
Bit [8]: EEE_CAPABILITY
Indicates whether or not EEE is supported.
  • 0: Not supported
  • 1: Supported
RO 0
Bit [11:9]: SPEED
  • 3'b000: 10M
  • 3'b001: 100M
  • 3'b010: 1G
  • 3'b011: 10G
  • 3'b100: 2.5G
  • 3'b101: 5G
  • 3'b110: Reserved
  • 3'b111: Reserved
RO 0
Bit [12]: DUPLEX
Indicates the duplex mode.
  • 0: Half duplex
  • 1: Full duplex
RO 0
Bit [13]: Reserved
Bit [14]: ACKNOWLEDGE

A value of 1 indicates that the device has received three consecutive matching ability values from its link partner.

RO 0
Bit [15]: LINK
Indicates the link status.
  • 0: Link down
  • 1: Link up
RO 0
Bit [31:16]: Reserved
0x406:0x411 Reserved
0x412 usxgmii_link_timer

Auto-Negotiation link timer. Sets the link timer value in bit [19:14] from 0 to 2 ms in approximately 0.05-ms steps. You must program the link timer to ensure that it matches the link timer value of the external NBASE-T PHY IP.

The reset value sets the link timer to approximately 1.6 ms.

Bits [13:0] are reserved and always set to 0.

[19:14]: RW

[13:0]: RO

[19:14]: 1F

[13:0]: 0

0x413:0x41F Reserved
0x461 phy_serial_loopback Configures the transceiver serial loopback in the PMA from TX to RX.
Bit [0]
  • 0: Disables the PHY serial loopback
  • 1: Enables the PHY serial loopback
RW 0
Bit [31:1]: Reserved