PL1_CFG_TMP#

code: 388

Attention

Only for the following modules:

  • Freya-800G-4S-1P

  • Freya-800G-4S-1P-OSFP

# set
<module-index>/<port-index> PL1_CFG_TMP [<serdes>, <type>] <values>

# get
<module-index>/<port-index> PL1_CFG_TMP [<serdes>, <type>] ?

Description#

This command performs various actions based on the <type> value.

Actions#

set, get

Indices#

type: integer, Layer-1 configuration type. Different types have different interpretations of value

  • 0 (ANLT Auto Link Recovery), AN/LT auto link recovery

  • 1 (Auto-Negotiation Loopback), Auto-negotiation loopback config

  • 2 (Link Training Initial Modulation), Initial modulation of link training

  • 3 (Low-Level Debug Info), Low-level debug, used to initialize low-level debug, get-only.

  • 4 (Link Training Algorithm), For link training algorithm selection

  • 5 (ANLT Log Control), control what should be logged by ANLT

  • 6 (ANLT Strict Mode), set AN/LT strict mode. In strict mode, errored framed will be ignored

  • 7 (ANLT XLA Mode), set XLA mode. If enabled XLA dumps will, if triggered, be logged automatically

Parameters#

  1. values: integer list, the meaning of <value> varies depending on the <type>.

PL1_CFG_TMP [0, 0] <int>#

This command manages the auto-restart features. The <int> parameter represents the sum of the following values:

  • 1: Enable AN+LT auto-restart when a link down condition is detected. A “link down” state signifies the loss of a valid input signal, which can occur due to events such as cable unplugging and re-plugging, TX disable, or link flap on the link partner’s end. The auto-restart process will continue until the link is re-established. Please note that this setting is only effective when AN and/or LT are enabled.

  • 2: If LT is enabled and experiences a failure on either side, the port will initiate the AN+LT restart process repeatedly until LT succeeds. This functionality is only applicable when LT is enabled.

  • The default is 0, indicating that all AN+LT auto-restart options are disabled by default.

Example

PL1_CFG_TMP [0, 0] 3

Enable both the described restart features.

PL1_CFG_TMP [0, 1] <int>#

This command controls whether the port should permit loopback during AN operations. The <int> parameter has the following values:

  • 0: Not allow AN in loopback. The port must be connected to another port. (default)

  • 1: Allow AN in loopback. The port can loop back to itself.

Example

PL1_CFG_TMP [0, 1] 1

Allow port in loopback when exercising auto-negotiation.

PL1_CFG_TMP [<serdes>, 2] <int>#

This command controls the initial modulation of Link Training. The <int> parameter has the following values:

  • NRZ = 0: link training encoding NRZ.

  • PAM4 = 1: link training encoding PAM4.

  • PAM4_WITH_PRECODING = 2: link training encoding PAM4 with Precoding.

Example

PL1_CFG_TMP [0, 2] 0

Set the initial modulation of serdes lane 0 to NRZ.

PL1_CFG_TMP [<serdes>, 3] ?#

Initializes the communication parameters required to read the configuration of a Serializer/Deserializer. It takes in a port object used for communication, and the index of the Serializer/Deserializer to read (serdes). The function returns an object of type AnLtLowLevelInfo, which contains low-level communication information.

Returns a list of integers that parsed into the following structure:

class AnLtLowLevelInfo:
    base: int
    rx_gtm_base: int
    rx_serdes: int
    tx_gtm_base: int
    tx_serdes: int

Example

PL1_CFG_TMP [0, 3] ?

PL1_CFG_TMP [<serdes>, 4] <int>#

This command controls the link training algorithm used by the port. The <int> parameter has the following values:

  • INTERACTIVE = 0: Interactive link training (user manually does link training)

  • ALG0 = 1: Algorithm 0 (Xena proprietary algorithm)

  • ALGN1 = 2: Algorithm -1 (Xena proprietary algorithm)

Example

PL1_CFG_TMP [0, 4] 1

Set the LT algorithm to Algorithm 0.

PL1_CFG_TMP [<serdes>, 5] <[int]>#

This command controls the ANLT log output from the server. To activate specific log output options, include the corresponding values in the <[int]> list of integers.

  • 2: debug log output (0x02)

  • 4: auto-negotiation trace output (0x04)

  • 8: link training trace output (0x08)

  • 16: link training algorithm trace (0x10)

  • 131072: auto-negotiation state machine transitions (0x20000)

  • 262144: auto-negotiation stimuli state machine transitions (0x40000)

  • 524288: link training state machine transitions (0x80000)

  • 1048576: link training coefficient state machine transitions (0x100000)

  • 2097152: link training stimuli state machine transitions (0x200000)

  • 4194304: link training algorithm 0 state machine transitions (0x400000)

  • 8388608: link training algorithm -1 state machine transitions (0x800000)

Example

PL1_CFG_TMP [0, 5] 2 4 8

Set serdes lane 0 to output debug log output, auto-negotiation trace output, and link training trace output.

PL1_CFG_TMP [<serdes>, 6] <int>#

This command controls the ANLT strict mode. In strict mode, errored framed will be ignored. The <int> parameter has the following values:

  • 0: disable on serdes lane

  • 1: enable ANLT strict mode on serdes lane

Example

PL1_CFG_TMP [0, 6] 1

enable ANLT strict mode on serdes lane 0.