-
Notifications
You must be signed in to change notification settings - Fork 600
SAI LPO attributes #2178
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
tjchadaga
merged 1 commit into
opencomputeproject:master
from
pullaraogunda:sai_lpo_attributes
Sep 5, 2025
+212
−0
Merged
SAI LPO attributes #2178
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,119 @@ | ||
|
|
||
| SAI - Linear Pluggable Optics (LPO) support | ||
| ============================================ | ||
|
|
||
| | Title | SAI LPO attributes | | ||
| |-------------|----------------------------| | ||
| | Authors | Pulla Rao, Broadcom Inc | | ||
| | Status | In Review | | ||
| | Type | Standards Track | | ||
| | Created | 06/09/2025 | | ||
| | SAI-Version | 1.16 | | ||
|
|
||
| ### 1. Overview | ||
| --------------- | ||
| LPO optics are designed specifically to meet the data center requirements for low power consumption, low cost, low latency, compact form factor, reach up to 500meters. | ||
|
|
||
| This document defines the port serdes attributes used to tune the Linear Pluggable Optics (LPO). At a port level, the attributes define the non-linear compensation percentage values, Error Correcting Decoder (ECD) state and Tx/Rx polarity settings. | ||
|
|
||
| ### 2. Specification | ||
| -------------------- | ||
|
|
||
| #### 2.1 Changes to saiport.h | ||
| ----------------------------- | ||
| /** | ||
| * @brief Serdes Rx Error Correcting Decoder/Maximum Likelihood | ||
| * Sequence Estimation control state | ||
| */ | ||
| typedef enum _sai_port_serdes_rx_ecd_mlse_state_t | ||
| { | ||
| /** Disable */ | ||
| SAI_PORT_SERDES_RX_ECD_MLSE_STATE_DISABLE, | ||
| /** Enable */ | ||
| SAI_PORT_SERDES_RX_ECD_MLSE_STATE_ENABLE | ||
|
|
||
| } sai_port_serdes_rx_ecd_mlse_state_t; | ||
|
|
||
| /** | ||
| * @brief Serdes polarity setting value | ||
| */ | ||
| typedef enum _sai_port_serdes_polarity_t | ||
| { | ||
| /** Normal polarity */ | ||
| SAI_PORT_SERDES_POLARITY_NORMAL, | ||
| /** Inverted polarity */ | ||
| SAI_PORT_SERDES_POLARITY_INVERTED | ||
|
|
||
| } sai_port_serdes_polarity_t; | ||
|
|
||
|
|
||
| The following attributes are added to `sai_port_serdes_attr_t`: | ||
|
|
||
| /** | ||
| * @brief Port serdes Tx upper eye non linear compensation percentage value | ||
| * | ||
| * List of port serdes Tx upper eye non linear compensation percentage value | ||
| * The values are of type sai_u32_list_t where the count is number of lanes | ||
| * in a port and the list specifies list of values to be applied to each | ||
| * lane. | ||
| * | ||
| * @type sai_u32_list_t | ||
| * @flags CREATE_AND_SET | ||
| * @default internal | ||
| */ | ||
| SAI_PORT_SERDES_ATTR_TX_NLC_PERCENTAGE, | ||
|
|
||
| /** | ||
| * @brief Port serdes Tx lower eye non linear compensation percentage value | ||
| * | ||
| * List of port serdes Tx lower eye non linear compensation percentage value | ||
| * The values are of type sai_u32_list_t where the count is number of lanes | ||
| * in a port and the list specifies list of values to be applied to each | ||
| * lane. | ||
| * | ||
| * @type sai_u32_list_t | ||
| * @flags CREATE_AND_SET | ||
| * @default internal | ||
| */ | ||
| SAI_PORT_SERDES_ATTR_TX_NLC_LOWER_EYE_PERCENTAGE, | ||
|
|
||
| /** | ||
| * @brief Port serdes Rx Error Correcting Decoder/Maximum Likelihood | ||
| * Sequence Estimation control | ||
| * | ||
| * To enable/disable Rx ECD for a port with back plane media type. | ||
| * | ||
| * @type sai_s32_list_t sai_port_serdes_rx_ecd_mlse_state_t | ||
| * @flags CREATE_AND_SET | ||
| * @default empty | ||
| */ | ||
| SAI_PORT_SERDES_ATTR_RX_ECD_MLSE_STATE, | ||
|
|
||
| /** | ||
| * @brief Port serdes control for inverted TX polarity setting | ||
| * | ||
| * TX polarity setting value | ||
| * The values are of type sai_s32_list_t where the count is number of lanes in | ||
| * a port and the list specifies list of values to be applied to each lane. | ||
| * This extension is added to support both create and set operations. | ||
| * | ||
| * @type sai_s32_list_t sai_port_serdes_polarity_t | ||
| * @flags CREATE_AND_SET | ||
| * @default internal | ||
| */ | ||
| SAI_PORT_SERDES_ATTR_TX_POLARITY, | ||
|
|
||
| /** | ||
| * @brief Port serdes control for inverted RX polarity setting | ||
| * | ||
| * RX polarity setting value | ||
| * The values are of type sai_s32_list_t where the count is number of lanes in | ||
| * a port and the list specifies list of values to be applied to each lane. | ||
| * This extension is added to support both create and set operations. | ||
| * | ||
| * @type sai_s32_list_t sai_port_serdes_polarity_t | ||
| * @flags CREATE_AND_SET | ||
| * @default internal | ||
| */ | ||
| SAI_PORT_SERDES_ATTR_RX_POLARITY, | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.