4.3.1.18. Ncsi_get_link_status
HSSI Read Data Fields | ANLT enable | ANLT disable | ||
---|---|---|---|---|
[31:22] | Reserved | 0 | N/A (Return 0) | N/A (Return 0) |
[21:21] | OEM Link Speed Valid | 0b = OEM link settings are invalid. 1b = OEM link settings are valid |
N/A (Return 0) | N/A (Return 0) |
[20:20] | SerDes Link | SerDes status (see 4.18") 0b = SerDes not used 1b = SerDes used This field is mandatory |
0x322 tx_pcs_ready AND 0x326 rx_aligned 0x1084 rx_aligned |
0x322 tx_pcs_ready AND 0x326 rx_aligned 0x1084 rx_aligned |
[19:18] | Link Partner Advertised Flow Control | 00b = Link partner is not pause capable. 01b = Link partner supports symmetric pause. 10b = Link partner supports asymmetric pause toward link partner. 11b = Link partner supports both symmetric and asymmetric pause. Valid when: SerDes Flag = 0b Auto-Negotiate = 1b Auto-Negotiate Complete = 1b This field is mandatory |
0xCB an_lP_adv_pause[29:28] [28] = PAUSE as defined in Annex 28B [29] = ASM_DIR as defined in Annex 28B |
0 |
[17:17] | Rx Flow Control Flag | 0b = Reception of Pause frames by the NC from the external network interface is disabled. 1b = Reception of Pause frames by the NC from the external network interface is enabled. This field is mandatory. |
Rx Flow Control Flag 1'b1 = 0x705 en_rx_pause (non zero) 1'b0 = 0x705 en_rx_pause (all zero)) |
Rx Flow Control Flag 1'b1 = 0x705 en_rx_pause (non zero) 1'b0 = 0x705 en_rx_pause (all zero) |
[16:16] | TX Flow Control Flag | 0b = Transmission of Pause frames by the NC onto the external network interface is disabled. 1b = Transmission of Pause frames by the NC onto the external network interface is enabled. This field is mandatory interface. This field is mandatory. |
TX Flow Control Flags 1'b1 = 0x605 en_pfc_port (non zero) 1'b0 = 0x605 en_pfc_port (all zero) |
Tx Flow Control Flags 1'b1 = 0x605 en_pfc_port (non zero) 1'b0 = 0x605 en_pfc_port (all zero) |
[15:15] | Link Partner Advertised Speed and Duplex 10THD | 1b = Link Partner is 10BASE-T half-duplex capable. Valid when: SerDes Flag = 0b Auto-Negotiate Flag = 1b Auto-Negotiate Complete = 1b This field is mandatory. |
0 | 0 |
[14:14] | Link Partner Advertised Speed and Duplex 10TFD | 1b = Link Partner is 10BASE-T full-duplex capable. Valid when: SerDes Flag = 0b Auto-Negotiate Flag = 1b Auto-Negotiate Complete = 1b This field is mandatory. |
0 | 0 |
[13:13] | Link Partner Advertised Speed and Duplex 100TXHD | 1b = Link Partner is 100BASE-TX half-duplex capable. Valid when: SerDes Flag = 0b Auto-Negotiate Flag = 1b Auto-Negotiate Complete = 1b This field is mandatory. |
0 | 0 |
[12:12] | Link Partner Advertised Speed and Duplex 100TXFD | 1b = Link Partner is 100BASE-TX full-duplex capable. Valid when: SerDes Flag = 0b Auto-Negotiate Flag = 1b Auto-Negotiate Complete = 1b This field is mandatory |
0 | 0 |
[11:11] | Link Partner Advertised Speed and Duplex 100T4 | 1b = Link Partner is 100BASE-T4 capable. Valid when: SerDes Flag = 0b Auto-Negotiate Flag = 1b Auto-Negotiate Complete = 1b This field is mandatory |
0 | 0 |
[10:10] | Link Partner Advertised Speed and Duplex 1000THD | 1b = Link Partner is 1000BASE-T half-duplex capable. Valid when: SerDes Flag = 0b Auto-Negotiate Flag = 1b Auto-Negotiate Complete = 1b This field is mandatory. |
0 | 0 |
[9:9] | Link Partner Advertised Speed and Duplex 1000TFD | 1b = Link Partner is 1000BASE-T full-duplex capable. Valid when: SerDes Flag = 0b Auto-Negotiate Flag = 1b Auto-Negotiate Complete = 1b This field is mandatory. |
0 | 0 |
[8:8] | Reserved | None | 0 | 0 |
[7:7] | Parallel Detection Flag | 1b = Link partner did not support auto-negotiation and parallel detection was used to get link. This field contains 0b if Parallel Detection was not used to obtain link. |
0xC2 [7:7] an_lp_apability | 0 |
[6:6] | Auto Negotiate Complete | 1b = Auto-negotiation has completed. This includes if auto-negotiation was completed using Parallel Detection. Always returns 0b if auto-negotiation is not supported or is not enabled. This field is mandatory if the Auto Negotiate Flag is supported. |
0xC2 [2:2] an_complete | 0 |
[5:5] | Auto Negotiate Flag | 1b = Auto-negotiation is enabled. This field always returns 0b if auto-negotiation is not supported. This field is mandatory if supported by the controller. |
0xC0 [0:0] enable_an | 0 |
[4:1] | Speed and duplex | 0x0 = Auto-negotiate not complete [per IEEE 802.3], SerDes Flag = 1b, or no Highest Common Denominator (HCD) from the following options (0x1 through 0x8) was found. 0x1 = 10BASE-T half-duplex 0x2 = 10BASE-T full-duplex 0x3 = 100BASE-TX half-duplex 0x4 = 100BASE-T4 0x5 = 100BASE-TX full-duplex 0x6 = 1000BASE-T half-duplex 0x7 = 1000BASE-T full-duplex 0x8 = 10G-BASE-T support 0x9 = 20 Gbps (optional for NC-SI 1.1, RESERVED for NCSI 1.0) 0xA = 25 Gbps (optional for NC-SI 1.1, RESERVED for NCSI 1.0) 0xB = 40 Gbps (optional for NC-SI 1.1, RESERVED for NCSI 1.0) 0xC = 50 Gbps (optional for NC-SI 1.1, RESERVED for NCSI 1.0) 0xD = 100 Gbps (optional for NC-SI 1.1, RESERVED for NCSI 1.0) 0xE = 2.5 Gbps (optional for NC-SI 1.1, RESERVED for NCSI 1.0) 0xF = Use values defined in Enhanced Speed and Duplex field starting at bit 24 (optional for NC-SI 1.1, RESERVED for NC-SI 1.0) Except when SerDes = 1b, the value may reflect forced link setting. |
0x0 = 0x308 (Bit [11:11] negotiation_faiilure = 1) 0xA = 0x308 (Bit 17 = 1 or Bit 18 = 1) 0xB = 0x308 (Bit 13 = 1 or Bit 14 = 1) 0xC = 0x308 (Bit 19 = 1) 0xD = 0x308 (Bit 15 or Bit 16 or Bit 20 or Bit 22 = 1) Remaining all 0xF |
0 |
[0:0] | Link Flag | 0b = Link is down 1b = Link is up This field is mandatory. |
0xC2 [6:6] an_status | 0x322 tx_pcs_ready AND 0x326 rx_aligned |
HSSI Read Data Fields | ANLT enable | ANLT disable | ||
---|---|---|---|---|
[31:22] | Reserved | 0 | N/A (Return 0) | N/A (Return 0) |
[21:21] | OEM Link Speed Valid | 0b = OEM link settings are invalid. 1b = OEM link settings are valid |
N/A (Return 0) | N/A (Return 0) |
[20:20] | SerDes Link | SerDes status (see 4.18") 0b = SerDes not used 1b = SerDes used This field is mandatory |
0x118 tx_lanes_stable AND 0x1084 rx_aligned |
0x118 tx_lanes_stable AND 0x1084 rx_aligned |
[19:18] | Link Partner Advertised Flow Control | 00b = Link partner is not pause capable. 01b = Link partner supports symmetric pause. 10b = Link partner supports asymmetric pause toward link partner. 11b = Link partner supports both symmetric and asymmetric pause. Valid when: SerDes Flag = 0b Auto-Negotiate = 1b Auto-Negotiate Complete = 1b This field is mandatory |
0x31C Link partner PAUSE bits[12:10] (bit 12 - not defined) 00b = 0x31C (bit 10 and bit 11 = 0) 01b = 0x31C (bit 10 = 1) 10b = 0x31C (bit 11 = 1) 11b = 0x31C (bit 10 or bit 11 = 1) |
0 |
[17:17] | Rx Flow Control Flag | 0b = Reception of Pause frames by the NC from the external network interface is disabled. 1b = Reception of Pause frames by the NC from the external network interface is enabled. This field is mandatory. |
Rx Flow Control Flag 1'b1 = 0x1260 en_rx_pause (non zero) 1'b0 = 0x1260 en_rx_pause (all zero) |
Rx Flow Control Flag 1'b1 = 0x1260 en_rx_pause (non zero) 1'b0 = 0x1260 en_rx_pause (all zero) |
[16:16] | Tx Flow Control Flag | 0b = Transmission of Pause frames by the NC onto the external network interface is disabled. 1b = Transmission of Pause frames by the NC onto the external network interface is enabled. This field is mandatory interface. This field is mandatory. |
Tx Flow Control Flags 1'b1 = 0x122c en_pfc_port (non zero) 1'b0 = 0x122c en_pfc_port (all zero) |
Tx Flow Control Flags 1'b1 = 0x122c en_pfc_port (non zero) 1'b0 = 0x122c en_pfc_port (all zero) |
[15:15] | Link Partner Advertised Speed and Duplex 10THD | 1b = Link Partner is 10BASE-T half-duplex capable. Valid when: SerDes Flag = 0b Auto-Negotiate Flag = 1b Auto-Negotiate Complete = 1b This field is mandatory. |
0 | 0 |
[14:14] | Link Partner Advertised Speed and Duplex 10TFD | 1b = Link Partner is 10BASE-T full-duplex capable. Valid when: SerDes Flag = 0b Auto-Negotiate Flag = 1b Auto-Negotiate Complete = 1b This field is mandatory. |
0 | 0 |
[13:13] | Link Partner Advertised Speed and Duplex 100TXHD | 1b = Link Partner is 100BASE-TX half-duplex capable. Valid when: SerDes Flag = 0b Auto-Negotiate Flag = 1b Auto-Negotiate Complete = 1b This field is mandatory. |
0 | 0 |
[12:12] | Link Partner Advertised Speed and Duplex 100TXFD | 1b = Link Partner is 100BASE-TX full-duplex capable. Valid when: SerDes Flag = 0b Auto-Negotiate Flag = 1b Auto-Negotiate Complete = 1b This field is mandatory |
0 | 0 |
[11:11] | Link Partner Advertised Speed and Duplex 100T4 | 1b = Link Partner is 100BASE-T4 capable. Valid when: SerDes Flag = 0b Auto-Negotiate Flag = 1b Auto-Negotiate Complete = 1b This field is mandatory |
0 | 0 |
[10:10] | Link Partner Advertised Speed and Duplex 1000THD | 1b = Link Partner is 1000BASE-T half-duplex capable. Valid when: SerDes Flag = 0b Auto-Negotiate Flag = 1b Auto-Negotiate Complete = 1b This field is mandatory. |
0 | 0 |
[9:9] | Link Partner Advertised Speed and Duplex 1000TFD | 1b = Link Partner is 1000BASE-T full-duplex capable. Valid when: SerDes Flag = 0b Auto-Negotiate Flag = 1b Auto-Negotiate Complete = 1b This field is mandatory. |
0 | 0 |
[8:8] | Reserved | None | 0 | 0 |
[7:7] | Parallel Detection Flag | 1b = Link partner did not support auto-negotiation and parallel detection was used to get link. This field contains 0b if Parallel Detection was not used to obtain link. |
0x308 [7:7] an_lp_apability | 0 |
[6:6] | Auto Negotiate Complete | 1b = Auto-negotiation has completed. This includes if auto-negotiation was completed using Parallel Detection. Always returns 0b if auto-negotiation is not supported or is not enabled. This field is mandatory if the Auto Negotiate Flag is supported. |
0x308 [2:2] an_complete | 0 |
[5:5] | Auto Negotiate Flag | 1b = Auto-negotiation is enabled. This field always returns 0b if auto-negotiation is not supported. This field is mandatory if supported by the controller. |
0x300 [0:0] enable_an | 0 |
[4:1] | Speed and duplex | 0x0 = Auto-negotiate not complete [per IEEE 802.3], SerDes Flag = 1b, or no Highest Common Denominator (HCD) from the following options (0x1 through 0x8) was found. 0x1 = 10BASE-T half-duplex 0x2 = 10BASE-T full-duplex 0x3 = 100BASE-TX half-duplex 0x4 = 100BASE-T4 0x5 = 100BASE-TX full-duplex 0x6 = 1000BASE-T half-duplex 0x7 = 1000BASE-T full-duplex 0x8 = 10G-BASE-T support 0x9 = 20 Gbps (optional for NC-SI 1.1, RESERVED for NCSI 1.0) 0xA = 25 Gbps (optional for NC-SI 1.1, RESERVED for NCSI 1.0) 0xB = 40 Gbps (optional for NC-SI 1.1, RESERVED for NCSI 1.0) 0xC = 50 Gbps (optional for NC-SI 1.1, RESERVED for NCSI 1.0) 0xD = 100 Gbps (optional for NC-SI 1.1, RESERVED for NCSI 1.0) 0xE = 2.5 Gbps (optional for NC-SI 1.1, RESERVED for NCSI 1.0) 0xF = Use values defined in Enhanced Speed and Duplex field starting at bit 24 (optional for NC-SI 1.1, RESERVED for NC-SI 1.0) Except when SerDes = 1b, the value may reflect forced link setting. |
0x0 = 0x308 (Bit [11:11] negotiation_faiilure = 1) negotiation_faiilure 0xA = C2 (Bit 17 = 1 or Bit 18 = 1) 0xB = C2 (Bit 13 = 1 or Bit 14 = 1) 0xC = C2 (Bit 19 = 1) 0xD = C2 (Bit 15 or Bit 16 or Bit 20 or Bit 22 = 1) Remaining all zero |
0 |
[0:0] | Link Flag | 0b = Link is down 1b = Link is up This field is mandatory. |
0x308 [6:6] an_status | 0x118 tx_lanes_stable AND 0x1084 rx_aligned |