CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
678 lines
27 KiB
C
678 lines
27 KiB
C
/*
|
|
* Copyright (c) Advanced Micro Devices, Inc. All rights reserved.
|
|
*
|
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
* of this software and associated documentation files (the "Software"), to deal
|
|
* in the Software without restriction, including without limitation the rights
|
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
* copies of the Software, and to permit persons to whom the Software is
|
|
* furnished to do so, subject to the following conditions:
|
|
*
|
|
* The above copyright notice and this permission notice shall be included in
|
|
* all copies or substantial portions of the Software.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
* THE SOFTWARE.
|
|
*/
|
|
|
|
/* This file is automatically generated. DO NOT EDIT IT. To make
|
|
* changes, edit the .yml files under doc/mcdi/ and rebuild this file
|
|
* with "make mcdi_headers". */
|
|
|
|
#ifndef IFOE_MCDI_HOSTAPP_H
|
|
#define IFOE_MCDI_HOSTAPP_H
|
|
|
|
/* PMA_TXEQ_CURSOR_TYPE enum: This enum defines the TXEQ parameters that can be
|
|
* set or retrieved using the PMA_TXEQ_GET/SET commands.
|
|
*/
|
|
/* enum: Pre-cursor3 */
|
|
#define PMA_TXEQ_CURSOR_TYPE_PRE3 0x0
|
|
/* enum: Pre-cursor2 */
|
|
#define PMA_TXEQ_CURSOR_TYPE_PRE2 0x1
|
|
/* enum: Pre-cursor1 */
|
|
#define PMA_TXEQ_CURSOR_TYPE_PRE1 0x2
|
|
/* enum: Main Cursor */
|
|
#define PMA_TXEQ_CURSOR_TYPE_MAIN 0x3
|
|
/* enum: Post-cursor1 */
|
|
#define PMA_TXEQ_CURSOR_TYPE_POST1 0x4
|
|
|
|
/* PMA_POLARITY_TYPE enum: This enum defines the polarity modes that can be
|
|
* used for PMA_CONFIGURE_LANE.
|
|
*/
|
|
/* enum: Use the default polarity for the board. */
|
|
#define PMA_POLARITY_TYPE_BOARD_DEFAULT 0x0
|
|
/* enum: Don't invert channel polarity. */
|
|
#define PMA_POLARITY_TYPE_NON_INVERTED 0x1
|
|
/* enum: Invert channel polarity. */
|
|
#define PMA_POLARITY_TYPE_INVERTED 0x2
|
|
|
|
/* PMA_RATE_SPECIFIER enum: This enum defines a combined per-lane Gbps baud
|
|
* rates (symbol rate) and the modulation scheme for use with
|
|
* PMA_CONFIGURE_LANE command. The rates represent lane symbol rates, not port
|
|
* rates nor the lane frequency. `P` in the enum names indicates the decimal
|
|
* point after gigabauds. e.g. 1P250 = 1.25 Gbd.
|
|
*/
|
|
/* enum: Power down the lane. No transmission or reception should be enabled in
|
|
* neither direction nor internally.
|
|
*/
|
|
#define PMA_RATE_SPECIFIER_POWER_DOWN 0x0
|
|
/* enum: 1.25 Gbd NRZ */
|
|
#define PMA_RATE_SPECIFIER_1P250_NRZ 0x1
|
|
/* enum: 10.3125 Gbd NRZ */
|
|
#define PMA_RATE_SPECIFIER_10P3125_NRZ 0x2
|
|
/* enum: 25.78125 Gbd NRZ */
|
|
#define PMA_RATE_SPECIFIER_25P78125_NRZ 0x3
|
|
/* enum: 53.125 Gbd PAM4 */
|
|
#define PMA_RATE_SPECIFIER_53P125_PAM4 0x4
|
|
/* enum: 106.25 Gbd PAM4 */
|
|
#define PMA_RATE_SPECIFIER_106P25_PAM4 0x5
|
|
/* enum: 212.5 Gbd PAM4 */
|
|
#define PMA_RATE_SPECIFIER_212P5_PAM4 0x6
|
|
|
|
/* PMA_PRBS_PATTERN enum: This enum defines the PRBS patterns that can be used
|
|
* for PMA_PRBS_TX and PMA_PRBS_RX operations.
|
|
*/
|
|
/* enum: Special enum element to indicate to turn off PRBS transmission or
|
|
* listening (receive). I.e. This has different meanings for TX and RX.
|
|
*/
|
|
#define PMA_PRBS_PATTERN_OFF 0x0
|
|
/* enum: Special enum element to indicate to ask MC FW to use its default. This
|
|
* eliminates the need for clients to know which PRBS patterns are supported by
|
|
* the MC FW. This may differ between products but should remain the same
|
|
* across different MC FW versions of the same product.
|
|
*/
|
|
#define PMA_PRBS_PATTERN_DEFAULT 0x1
|
|
#define PMA_PRBS_PATTERN_PRBS7 0x2 /* enum */
|
|
#define PMA_PRBS_PATTERN_PRBS9 0x3 /* enum */
|
|
#define PMA_PRBS_PATTERN_PRBS11 0x4 /* enum */
|
|
#define PMA_PRBS_PATTERN_PRBS13 0x5 /* enum */
|
|
#define PMA_PRBS_PATTERN_PRBS15 0x6 /* enum */
|
|
#define PMA_PRBS_PATTERN_PRBS23 0x7 /* enum */
|
|
#define PMA_PRBS_PATTERN_PRBS31 0x8 /* enum */
|
|
#define PMA_PRBS_PATTERN_QPRBS13 0x9 /* enum */
|
|
#define PMA_PRBS_PATTERN_JP03A 0xa /* enum */
|
|
#define PMA_PRBS_PATTERN_JP03B 0xb /* enum */
|
|
#define PMA_PRBS_PATTERN_TRANS_LINEARITY 0xc /* enum */
|
|
/* enum: USER_DEFINED pattern must be accompanied with a USER_PATTERN field */
|
|
#define PMA_PRBS_PATTERN_USER_DEFINED 0xd
|
|
|
|
/* AN_TYPE structuredef: Auto-negotiation types defined in IEEE802.3 */
|
|
#define AN_TYPE_LEN 4
|
|
#define AN_TYPE_TYPE_OFST 0
|
|
#define AN_TYPE_TYPE_LEN 4
|
|
/* enum: None, AN disabled or not supported */
|
|
#define MC_CMD_AN_NONE 0x0
|
|
/* enum: Clause 28 - BASE-T */
|
|
#define MC_CMD_AN_CLAUSE28 0x1
|
|
/* enum: Clause 37 - BASE-X */
|
|
#define MC_CMD_AN_CLAUSE37 0x2
|
|
/* enum: Clause 73 - BASE-R startup protocol for backplane and copper cable
|
|
* assemblies. Includes Clause 72/Clause 92 link-training.
|
|
*/
|
|
#define MC_CMD_AN_CLAUSE73 0x3
|
|
#define AN_TYPE_TYPE_LBN 0
|
|
#define AN_TYPE_TYPE_WIDTH 32
|
|
|
|
/* FEC_TYPE structuredef: Forward error correction types defined in IEEE802.3
|
|
*/
|
|
#define FEC_TYPE_LEN 4
|
|
#define FEC_TYPE_TYPE_OFST 0
|
|
#define FEC_TYPE_TYPE_LEN 4
|
|
/* enum: No FEC */
|
|
#define MC_CMD_FEC_NONE 0x0
|
|
/* enum: IEEE 802.3, Clause 74 BASE-R FEC (a.k.a Firecode) */
|
|
#define MC_CMD_FEC_BASER 0x1
|
|
/* enum: IEEE 802.3, Clause 91/Clause 108 Reed-Solomon FEC */
|
|
#define MC_CMD_FEC_RS 0x2
|
|
/* enum: IEEE 802.3, Clause 161, interleaved RS-FEC sublayer for 100GBASE-R
|
|
* PHYs
|
|
*/
|
|
#define MC_CMD_FEC_IEEE_RS_INT 0x3
|
|
/* enum: Ethernet Consortium, Low Latency RS-FEC. RS(272, 258). Replaces FEC
|
|
* specified in Clause 119 for 100/200G PHY. Replaces FEC specified in Clause
|
|
* 134 for 50G PHY.
|
|
*/
|
|
#define MC_CMD_FEC_ETCS_RS_LL 0x4
|
|
/* enum: FEC mode selected automatically */
|
|
#define MC_CMD_FEC_AUTO 0x5
|
|
#define FEC_TYPE_TYPE_LBN 0
|
|
#define FEC_TYPE_TYPE_WIDTH 32
|
|
|
|
/* MC_CMD_ETH_TECH structuredef: Ethernet technology as defined by IEEE802.3,
|
|
* Ethernet Technology Consortium, proprietary technologies. The driver must
|
|
* not use technologies labelled NONE and AUTO.
|
|
*/
|
|
#define MC_CMD_ETH_TECH_LEN 16
|
|
/* The enums in this field can be used either as bitwise indices into a tech
|
|
* mask (e.g. see MC_CMD_ETH_AN_FIELDS/TECH_MASK for example) or as regular
|
|
* enums (e.g. see MC_CMD_LINK_CTRL_IN/ADVERTISED_TECH_ABILITIES_MASK). This
|
|
* structure must be updated to add new technologies when projects that need
|
|
* them arise. An incomplete list of possible expansion in the future include:
|
|
* 100GBASE_KP4, 800GBASE_CR8, 800GBASE_KR8, 800GBASE_DR8, 800GBASE_SR8
|
|
* 800GBASE_VR8
|
|
*/
|
|
#define MC_CMD_ETH_TECH_TECH_OFST 0
|
|
#define MC_CMD_ETH_TECH_TECH_LEN 16
|
|
/* enum: 1000BASE-KX - 1000BASE-X PCS/PMA over an electrical backplane PMD. See
|
|
* IEEE 802.3 Clause 70
|
|
*/
|
|
#define MC_CMD_ETH_TECH_1000BASE_KX 0x0
|
|
/* enum: Compatibility alias for 1000BASE_KX. Do not use in new code. */
|
|
#define MC_CMD_ETH_TECH_1000BASEKX 0x0
|
|
/* enum: 10GBASE-R - PCS/PMA over an electrical backplane PMD. Refer to IEEE
|
|
* 802.3 Clause 72
|
|
*/
|
|
#define MC_CMD_ETH_TECH_10GBASE_KR 0x1
|
|
/* enum: 40GBASE-R PCS/PMA over an electrical backplane PMD. See IEEE 802.3
|
|
* Clause 84.
|
|
*/
|
|
#define MC_CMD_ETH_TECH_40GBASE_KR4 0x2
|
|
/* enum: 40GBASE-R PCS/PMA over 4 lane shielded copper balanced cable PMD. See
|
|
* IEEE 802.3 Clause 85
|
|
*/
|
|
#define MC_CMD_ETH_TECH_40GBASE_CR4 0x3
|
|
/* enum: 40GBASE-R PCS/PMA over 4 lane multimode fiber PMD as specified in
|
|
* Clause 86
|
|
*/
|
|
#define MC_CMD_ETH_TECH_40GBASE_SR4 0x4
|
|
/* enum: 40GBASE-R PCS/PMA over 4 WDM lane single mode fiber PMD with long
|
|
* reach. See IEEE 802.3 Clause 87
|
|
*/
|
|
#define MC_CMD_ETH_TECH_40GBASE_LR4 0x5
|
|
/* enum: 25GBASE-R PCS/PMA over shielded balanced copper cable PMD. See IEEE
|
|
* 802.3 Clause 110
|
|
*/
|
|
#define MC_CMD_ETH_TECH_25GBASE_CR 0x6
|
|
/* enum: 25GBASE-R PCS/PMA over an electrical backplane PMD. See IEEE 802.3
|
|
* Clause 111
|
|
*/
|
|
#define MC_CMD_ETH_TECH_25GBASE_KR 0x7
|
|
/* enum: 25GBASE-R PCS/PMA over multimode fiber PMD. Refer to IEEE 802.3 Clause
|
|
* 112
|
|
*/
|
|
#define MC_CMD_ETH_TECH_25GBASE_SR 0x8
|
|
/* enum: An Ethernet Physical layer operating at 50 Gb/s on twin-axial copper
|
|
* cable. Refer to Ethernet Technology Consortium 25/50G Ethernet Spec.
|
|
*/
|
|
#define MC_CMD_ETH_TECH_50GBASE_CR2 0x9
|
|
/* enum: An Ethernet Physical layer operating at 50 Gb/s on copper backplane.
|
|
* Refer to Ethernet Technology Consortium 25/50G Ethernet Spec.
|
|
*/
|
|
#define MC_CMD_ETH_TECH_50GBASE_KR2 0xa
|
|
/* enum: 100GBASE-R PCS/PMA over an electrical backplane PMD. See IEEE 802.3
|
|
* Clause 93
|
|
*/
|
|
#define MC_CMD_ETH_TECH_100GBASE_KR4 0xb
|
|
/* enum: 100GBASE-R PCS/PMA over 4 lane multimode fiber PMD. See IEEE 802.3
|
|
* Clause 95
|
|
*/
|
|
#define MC_CMD_ETH_TECH_100GBASE_SR4 0xc
|
|
/* enum: 100GBASE-R PCS/PMA over 4 lane shielded copper balanced cable PMD. See
|
|
* IEEE 802.3 Clause 92
|
|
*/
|
|
#define MC_CMD_ETH_TECH_100GBASE_CR4 0xd
|
|
/* enum: 100GBASE-R PCS/PMA over 4 WDM lane single mode fiber PMD, with
|
|
* long/extended reach,. See IEEE 802.3 Clause 88
|
|
*/
|
|
#define MC_CMD_ETH_TECH_100GBASE_LR4_ER4 0xe
|
|
/* enum: An Ethernet Physical layer operating at 50 Gb/s on short reach fiber.
|
|
* Refer to Ethernet Technology Consortium 25/50G Ethernet Spec.
|
|
*/
|
|
#define MC_CMD_ETH_TECH_50GBASE_SR2 0xf
|
|
/* enum: 1000BASEX PCS/PMA. See IEEE 802.3 Clause 36 over undefined PMD, duplex
|
|
* mode unknown
|
|
*/
|
|
#define MC_CMD_ETH_TECH_1000BASE_X 0x10
|
|
/* enum: Compatibility alias for 1000BASE_X. Do not use in new code. */
|
|
#define MC_CMD_ETH_TECH_1000BASEX 0x10
|
|
/* enum: Non-standardised. 10G direct attach */
|
|
#define MC_CMD_ETH_TECH_10GBASE_CR 0x11
|
|
/* enum: 10GBASE-SR fiber over 850nm optics. See IEEE 802.3 Clause 52 */
|
|
#define MC_CMD_ETH_TECH_10GBASE_SR 0x12
|
|
/* enum: 10GBASE-LR fiber over 1310nm optics. See IEEE 802.3 Clause 52 */
|
|
#define MC_CMD_ETH_TECH_10GBASE_LR 0x13
|
|
/* enum: 10GBASE-LRM fiber over 1310 nm optics. See IEEE 802.3 Clause 68 */
|
|
#define MC_CMD_ETH_TECH_10GBASE_LRM 0x14
|
|
/* enum: 10GBASE-ER fiber over 1550nm optics. See IEEE 802.3 Clause 52 */
|
|
#define MC_CMD_ETH_TECH_10GBASE_ER 0x15
|
|
/* enum: 50GBASE-R PCS/PMA over an electrical backplane PMD. See IEEE 802.3
|
|
* Clause 137
|
|
*/
|
|
#define MC_CMD_ETH_TECH_50GBASE_KR 0x16
|
|
/* enum: 50GBASE-SR PCS/PMA over multimode fiber PMD as specified in Clause 138
|
|
*/
|
|
#define MC_CMD_ETH_TECH_50GBASE_SR 0x17
|
|
/* enum: 50GBASE-CR PCS/PMA over shielded copper balanced cable PMD. See IEEE
|
|
* 802.3 Clause 136
|
|
*/
|
|
#define MC_CMD_ETH_TECH_50GBASE_CR 0x18
|
|
/* enum: 50GBASE-R PCS/PMA over single mode fiber PMD as specified in Clause
|
|
* 139.
|
|
*/
|
|
#define MC_CMD_ETH_TECH_50GBASE_LR_ER_FR 0x19
|
|
/* enum: 100 Gb/s PHY using 100GBASE-R encoding over single-mode fiber with
|
|
* reach up to at least 500 m (see IEEE 802.3 Clause 140)
|
|
*/
|
|
#define MC_CMD_ETH_TECH_50GBASE_DR 0x1a
|
|
/* enum: 100GBASE-R PCS/PMA over an electrical backplane PMD. See IEEE 802.3
|
|
* Clause 137
|
|
*/
|
|
#define MC_CMD_ETH_TECH_100GBASE_KR2 0x1b
|
|
/* enum: 100GBASE-R PCS/PMA over 2 lane multimode fiber PMD. See IEEE 802.3
|
|
* Clause 138
|
|
*/
|
|
#define MC_CMD_ETH_TECH_100GBASE_SR2 0x1c
|
|
/* enum: 100GBASE-R PCS/PMA over 2 lane shielded copper balanced cable PMD. See
|
|
* IEEE 802.3 Clause 136
|
|
*/
|
|
#define MC_CMD_ETH_TECH_100GBASE_CR2 0x1d
|
|
/* enum: Unknown source */
|
|
#define MC_CMD_ETH_TECH_100GBASE_LR2_ER2_FR2 0x1e
|
|
/* enum: Unknown source */
|
|
#define MC_CMD_ETH_TECH_100GBASE_DR2 0x1f
|
|
/* enum: 200GBASE-R PCS/PMA over an electrical backplane PMD. See IEEE 802.3
|
|
* Clause 137
|
|
*/
|
|
#define MC_CMD_ETH_TECH_200GBASE_KR4 0x20
|
|
/* enum: 200GBASE-R PCS/PMA over 4 lane multimode fiber PMD. See IEEE 802.3
|
|
* Clause 138
|
|
*/
|
|
#define MC_CMD_ETH_TECH_200GBASE_SR4 0x21
|
|
/* enum: 200GBASE-R PCS/PMA over 4 WDM lane single-mode fiber PMD as specified
|
|
* in Clause 122
|
|
*/
|
|
#define MC_CMD_ETH_TECH_200GBASE_LR4_ER4_FR4 0x22
|
|
/* enum: 200GBASE-R PCS/PMA over 4-lane single-mode fiber PMD. See IEEE 802.3
|
|
* Clause 121
|
|
*/
|
|
#define MC_CMD_ETH_TECH_200GBASE_DR4 0x23
|
|
/* enum: 200GBASE-R PCS/PMA over 4 lane shielded copper balanced cable PMD as
|
|
* specified in Clause 136
|
|
*/
|
|
#define MC_CMD_ETH_TECH_200GBASE_CR4 0x24
|
|
/* enum: Ethernet Technology Consortium 400G AN Spec. 400GBASE-KR8 PMD uses
|
|
* 802.3 Clause 137, but the number PMD lanes is 8.
|
|
*/
|
|
#define MC_CMD_ETH_TECH_400GBASE_KR8 0x25
|
|
/* enum: 400GBASE-R PCS/PMA over 8-lane multimode fiber PMD. See IEEE 802.3
|
|
* Clause 138
|
|
*/
|
|
#define MC_CMD_ETH_TECH_400GBASE_SR8 0x26
|
|
/* enum: 400GBASE-R PCS/PMA over 8 WDM lane single-mode fiber PMD. See IEEE
|
|
* 802.3 Clause 122
|
|
*/
|
|
#define MC_CMD_ETH_TECH_400GBASE_LR8_ER8_FR8 0x27
|
|
/* enum: Unknown source */
|
|
#define MC_CMD_ETH_TECH_400GBASE_DR8 0x28
|
|
/* enum: Ethernet Technology Consortium 400G AN Spec. 400GBASE-CR8 PMD uses
|
|
* IEEE 802.3 Clause 136, but the number PMD lanes is 8.
|
|
*/
|
|
#define MC_CMD_ETH_TECH_400GBASE_CR8 0x29
|
|
/* enum: 100GBASE-R PCS/PMA over an electrical backplane PMD. See IEEE 802.3ck
|
|
* Clause 163.
|
|
*/
|
|
#define MC_CMD_ETH_TECH_100GBASE_KR 0x2a
|
|
/* enum: IEEE 802.3ck. 100G PHY with PMD as specified in Clause 167 over short
|
|
* reach fiber
|
|
*/
|
|
#define MC_CMD_ETH_TECH_100GBASE_SR 0x2b
|
|
/* enum: 100G PMD together with single-mode fiber medium. See IEEE 802.3 Clause
|
|
* 140
|
|
*/
|
|
#define MC_CMD_ETH_TECH_100GBASE_LR_ER_FR 0x2c
|
|
/* enum: 100GBASE-R PCS/PMA over shielded balanced copper cable PMD. See IEEE
|
|
* 802.3 in Clause 162 IEEE 802.3ck.
|
|
*/
|
|
#define MC_CMD_ETH_TECH_100GBASE_CR 0x2d
|
|
/* enum: 100G PMD together with single-mode fiber medium. See IEEE 802.3 Clause
|
|
* 140
|
|
*/
|
|
#define MC_CMD_ETH_TECH_100GBASE_DR 0x2e
|
|
/* enum: 200GBASE-R PCS/PMA over an electrical backplane PMD as specified in
|
|
* Clause 163 IEEE 802.3ck
|
|
*/
|
|
#define MC_CMD_ETH_TECH_200GBASE_KR2 0x2f
|
|
/* enum: 200G PHY with PMD as specified in Clause 167 over short reach fiber
|
|
* IEEE 802.3ck
|
|
*/
|
|
#define MC_CMD_ETH_TECH_200GBASE_SR2 0x30
|
|
/* enum: Unknown source */
|
|
#define MC_CMD_ETH_TECH_200GBASE_LR2_ER2_FR2 0x31
|
|
/* enum: Unknown source */
|
|
#define MC_CMD_ETH_TECH_200GBASE_DR2 0x32
|
|
/* enum: 200GBASE-R PCS/PMA over 2 lane shielded balanced copper cable PMD as
|
|
* specified in Clause 162 IEEE 802.3ck.
|
|
*/
|
|
#define MC_CMD_ETH_TECH_200GBASE_CR2 0x33
|
|
/* enum: 400GBASE-R PCS/PMA over an electrical backplane PMD. See IEEE 802.3
|
|
* Clause 163 IEEE 802.3ck.
|
|
*/
|
|
#define MC_CMD_ETH_TECH_400GBASE_KR4 0x34
|
|
/* enum: 400G PHY with PMD over short reach fiber. See Clause 167 of IEEE
|
|
* 802.3ck.
|
|
*/
|
|
#define MC_CMD_ETH_TECH_400GBASE_SR4 0x35
|
|
/* enum: 400GBASE-R PCS/PMA over 4 WDM lane single-mode fiber PMD. See IEEE
|
|
* 802.3 Clause 151
|
|
*/
|
|
#define MC_CMD_ETH_TECH_400GBASE_LR4_ER4_FR4 0x36
|
|
/* enum: 400GBASE-R PCS/PMA over 4-lane single-mode fiber PMD as specified in
|
|
* Clause 124
|
|
*/
|
|
#define MC_CMD_ETH_TECH_400GBASE_DR4 0x37
|
|
/* enum: 400GBASE-R PCS/PMA over 4 lane shielded balanced copper cable PMD as
|
|
* specified in Clause 162 of IEEE 802.3ck.
|
|
*/
|
|
#define MC_CMD_ETH_TECH_400GBASE_CR4 0x38
|
|
/* enum: Automatic tech mode. The driver must not use this. */
|
|
#define MC_CMD_ETH_TECH_AUTO 0x39
|
|
/* enum: See IEEE 802.3cc-2017 Clause 114 */
|
|
#define MC_CMD_ETH_TECH_25GBASE_LR_ER 0x3a
|
|
/* enum: Up to 7 m over twinaxial copper cable assembly (10 lanes, 10 Gbit/s
|
|
* each) See IEEE 802.3ba-2010 Clause 85
|
|
*/
|
|
#define MC_CMD_ETH_TECH_100GBASE_CR10 0x3b
|
|
/* enum: 800GBASE-R PCS/PMA over an electrical backplane PMD. 8-lane backplane;
|
|
* clause TBD (IEEE 802.3dj draft)
|
|
*/
|
|
#define MC_CMD_ETH_TECH_800GBASE_KR8 0x3c
|
|
/* enum: 800GBASE-R PCS/PMA over 8 lane shielded balanced copper cable PMD
|
|
* (twinax). Clause TBD (IEEE 802.3dj draft)
|
|
*/
|
|
#define MC_CMD_ETH_TECH_800GBASE_CR8 0x3d
|
|
/* enum: 800GBASE-R PCS/PMA over 8-lane multimode fiber PMD (short reach).
|
|
* Clause TBD (IEEE 802.3dj draft)
|
|
*/
|
|
#define MC_CMD_ETH_TECH_800GBASE_SR8 0x3e
|
|
/* enum: 800GBASE-R PCS/PMA over 8-lane single-mode fiber PMD (direct reach).
|
|
* Clause TBD (IEEE 802.3dj draft)
|
|
*/
|
|
#define MC_CMD_ETH_TECH_800GBASE_DR8 0x3f
|
|
/* enum: 800GBASE-R PCS/PMA over 8-lane very short reach medium (e.g., copper
|
|
* or fiber). Clause TBD (IEEE 802.3dj draft)
|
|
*/
|
|
#define MC_CMD_ETH_TECH_800GBASE_VR8 0x40
|
|
/* enum: 800GBASE-R PCS/PMA over an electrical backplane PMD. 4-lane backplane
|
|
* at 200 Gb/s per lane; clause TBD (IEEE 802.3dj draft)
|
|
*/
|
|
#define MC_CMD_ETH_TECH_800GBASE_KR4 0x41
|
|
/* enum: 800GBASE-R PCS/PMA over 4-lane shielded balanced copper cable PMD
|
|
* (twinax), 200 Gb/s per lane; clause TBD (IEEE 802.3dj draft)
|
|
*/
|
|
#define MC_CMD_ETH_TECH_800GBASE_CR4 0x42
|
|
/* enum: 800GBASE-R PCS/PMA over 4-lane single-mode fiber PMD (direct reach),
|
|
* 200 Gb/s per lane; clause TBD (IEEE 802.3dj draft)
|
|
*/
|
|
#define MC_CMD_ETH_TECH_800GBASE_DR4 0x43
|
|
/* enum: 10BASE-T PCS/PMA over twisted-pair copper cable. Refer to IEEE 802.3
|
|
* Clause 14
|
|
*/
|
|
#define MC_CMD_ETH_TECH_10BASE_T 0x44
|
|
/* enum: 100BASEX PCS/PMA. See IEEE 802.3 Clause 24 over undefined PMD, duplex
|
|
* mode unknown.
|
|
*/
|
|
#define MC_CMD_ETH_TECH_100BASE_X 0x45
|
|
/* enum: 1000BASE-SX PCS/PMA using short wavelength laser devices over
|
|
* multimode fiber. Refer to IEEE 802.3 Clause 38
|
|
*/
|
|
#define MC_CMD_ETH_TECH_1000BASE_SX 0x46
|
|
/* enum: 1000BASE-LX PCS/PMA using long wavelength laser devices over multimode
|
|
* and single-mode fiber. Refer to IEEE 802.3 Clause 38
|
|
*/
|
|
#define MC_CMD_ETH_TECH_1000BASE_LX 0x47
|
|
/* enum: 1000BASE-LX10 PCS/PMA for point-to-point link over two single-mode or
|
|
* multimode optical fibers. Refer to IEEE 802.3 Clause 59 and Clause 66
|
|
*/
|
|
#define MC_CMD_ETH_TECH_1000BASE_LX10 0x48
|
|
/* enum: 1000BASE-BX10 PCS/PMA for point-to-point link over one single-mode
|
|
* optical fiber. Refer to IEEE 802.3 Clause 59 and Clause 66
|
|
*/
|
|
#define MC_CMD_ETH_TECH_1000BASE_BX10 0x49
|
|
/* enum: 2.5GBASE-KX PCS/PMA over an electrical backplane PMD. Refer to IEEE
|
|
* 802.3 Clause 128
|
|
*/
|
|
#define MC_CMD_ETH_TECH_2500BASE_KX 0x4a
|
|
/* enum: 5GBASE-KR PCS/PMA over an electrical backplane PMD. Refer to IEEE
|
|
* 802.3 Clause 130
|
|
*/
|
|
#define MC_CMD_ETH_TECH_5GBASE_KR 0x4b
|
|
/* enum: 200GBASE-R PCS/PMA over an electrical backplane PMD. Clause 170 (IEEE
|
|
* 802.3dj draft)
|
|
*/
|
|
#define MC_CMD_ETH_TECH_200GBASE_KR1 0x4c
|
|
/* enum: 200GBASE-R PCS/PMA over 1 lane shielded balanced copper cable PMD.
|
|
* Clause 179 (IEEE 802.3dj draft)
|
|
*/
|
|
#define MC_CMD_ETH_TECH_200GBASE_CR1 0x4d
|
|
/* enum: 200GBASE-R PCS/PMA over 1-lane single-mode fiber PMD. Clause 180 (IEEE
|
|
* 802.3dj draft)
|
|
*/
|
|
#define MC_CMD_ETH_TECH_200GBASE_DR1 0x4e
|
|
/* enum: 400GBASE-R PCS/PMA over an electrical backplane PMD. Clause 178 (IEEE
|
|
* 802.3dj draft)
|
|
*/
|
|
#define MC_CMD_ETH_TECH_400GBASE_KR2 0x4f
|
|
/* enum: 400GBASE-R PCS/PMA over 2 lane shielded balanced copper cable PMD.
|
|
* Clause 179 (IEEE 802.3dj draft)
|
|
*/
|
|
#define MC_CMD_ETH_TECH_400GBASE_CR2 0x50
|
|
/* enum: 400GBASE-R PCS/PMA over 2-lane single-mode fiber PMD. Clause 180 (IEEE
|
|
* 802.3dj draft)
|
|
*/
|
|
#define MC_CMD_ETH_TECH_400GBASE_DR2 0x51
|
|
/* enum: Invalid tech mode. The driver must not use this. */
|
|
#define MC_CMD_ETH_TECH_NONE 0x7f
|
|
#define MC_CMD_ETH_TECH_TECH_LBN 0
|
|
#define MC_CMD_ETH_TECH_TECH_WIDTH 128
|
|
|
|
/* MC_CMD_LINK_STATUS_FLAGS structuredef */
|
|
#define MC_CMD_LINK_STATUS_FLAGS_LEN 8
|
|
/* Flags used to report the current configuration/state of the link. */
|
|
#define MC_CMD_LINK_STATUS_FLAGS_STATUS_FLAGS_OFST 0
|
|
#define MC_CMD_LINK_STATUS_FLAGS_STATUS_FLAGS_LEN 8
|
|
#define MC_CMD_LINK_STATUS_FLAGS_STATUS_FLAGS_LO_OFST 0
|
|
#define MC_CMD_LINK_STATUS_FLAGS_STATUS_FLAGS_LO_LEN 4
|
|
#define MC_CMD_LINK_STATUS_FLAGS_STATUS_FLAGS_LO_LBN 0
|
|
#define MC_CMD_LINK_STATUS_FLAGS_STATUS_FLAGS_LO_WIDTH 32
|
|
#define MC_CMD_LINK_STATUS_FLAGS_STATUS_FLAGS_HI_OFST 4
|
|
#define MC_CMD_LINK_STATUS_FLAGS_STATUS_FLAGS_HI_LEN 4
|
|
#define MC_CMD_LINK_STATUS_FLAGS_STATUS_FLAGS_HI_LBN 32
|
|
#define MC_CMD_LINK_STATUS_FLAGS_STATUS_FLAGS_HI_WIDTH 32
|
|
/* enum property: bitshift */
|
|
/* enum: Whether we have overall link up */
|
|
#define MC_CMD_LINK_STATUS_FLAGS_LINK_UP 0x0
|
|
/* enum: If set, the PHY has no external RX link synchronisation */
|
|
#define MC_CMD_LINK_STATUS_FLAGS_NO_PHY_LINK 0x1
|
|
/* enum: If set, PMD/MDI is not connected (e.g. cable disconnected, module cage
|
|
* empty)
|
|
*/
|
|
#define MC_CMD_LINK_STATUS_FLAGS_PMD_MDI_DISCONNECTED 0x2
|
|
/* enum: Set on error while decoding module data (e.g. module EEPROM does not
|
|
* contain valid values, has checksum errors, etc.)
|
|
*/
|
|
#define MC_CMD_LINK_STATUS_FLAGS_PMD_BAD 0x3
|
|
/* enum: Set when module unsupported (e.g. unsupported link rate or link
|
|
* technology)
|
|
*/
|
|
#define MC_CMD_LINK_STATUS_FLAGS_PMD_UNSUPPORTED 0x4
|
|
/* enum: Set on error while communicating with the module (e.g. I2C errors
|
|
* while reading EEPROM)
|
|
*/
|
|
#define MC_CMD_LINK_STATUS_FLAGS_PMD_COMMS_FAULT 0x5
|
|
/* enum: Set on module overcurrent/overvoltage condition */
|
|
#define MC_CMD_LINK_STATUS_FLAGS_PMD_POWER_FAULT 0x6
|
|
/* enum: Set on module overtemperature condition */
|
|
#define MC_CMD_LINK_STATUS_FLAGS_PMD_THERMAL_FAULT 0x7
|
|
/* enum: If set, the module is indicating Loss of Signal */
|
|
#define MC_CMD_LINK_STATUS_FLAGS_PMD_LOS 0x8
|
|
/* enum: If set, PMA is indicating loss of CDR lock (clock sync) */
|
|
#define MC_CMD_LINK_STATUS_FLAGS_PMA_NO_CDR_LOCK 0x9
|
|
/* enum: If set, PMA is indicating loss of analog signal */
|
|
#define MC_CMD_LINK_STATUS_FLAGS_PMA_LOS 0xa
|
|
/* enum: If set, PCS is indicating loss of block lock */
|
|
#define MC_CMD_LINK_STATUS_FLAGS_PCS_NO_BLOCK_LOCK 0xb
|
|
/* enum: If set, PCS is indicating loss of alignment marker lock on one or more
|
|
* lanes
|
|
*/
|
|
#define MC_CMD_LINK_STATUS_FLAGS_PCS_NO_AM_LOCK 0xc
|
|
/* enum: If set, PCS is indicating loss of overall alignment lock */
|
|
#define MC_CMD_LINK_STATUS_FLAGS_PCS_NO_ALIGN_LOCK 0xd
|
|
/* enum: If set, PCS is indicating high bit error rate condition. */
|
|
#define MC_CMD_LINK_STATUS_FLAGS_PCS_HI_BER 0xe
|
|
/* enum: If set, FEC is indicating loss of FEC lock */
|
|
#define MC_CMD_LINK_STATUS_FLAGS_FEC_NO_LOCK 0xf
|
|
/* enum: If set, indicates that the number of symbol errors in a 8192-codeword
|
|
* window has exceeded the threshold K (417).
|
|
*/
|
|
#define MC_CMD_LINK_STATUS_FLAGS_FEC_HI_SER 0x10
|
|
/* enum: If set, the receiver has detected the local FEC has degraded. */
|
|
#define MC_CMD_LINK_STATUS_FLAGS_FEC_LOCAL_DEGRADED 0x11
|
|
/* enum: If set, the receiver has detected the remote FEC has degraded. */
|
|
#define MC_CMD_LINK_STATUS_FLAGS_FEC_RM_DEGRADED 0x12
|
|
/* enum: If set, the number of symbol errors is over an internal threshold. */
|
|
#define MC_CMD_LINK_STATUS_FLAGS_FEC_DEGRADED_SER 0x13
|
|
/* enum: If set, autonegotiation has detected an auto-negotiation capable link
|
|
* partner
|
|
*/
|
|
#define MC_CMD_LINK_STATUS_FLAGS_AN_ABLE 0x14
|
|
/* enum: If set, autonegotiation base page exchange has failed */
|
|
#define MC_CMD_LINK_STATUS_FLAGS_AN_BP_FAILED 0x15
|
|
/* enum: If set, autonegotiation next page exchange has failed */
|
|
#define MC_CMD_LINK_STATUS_FLAGS_AN_NP_FAILED 0x16
|
|
/* enum: If set, autonegotiation has failed to negotiate a common set of
|
|
* capabilities
|
|
*/
|
|
#define MC_CMD_LINK_STATUS_FLAGS_AN_NO_HCD 0x17
|
|
/* enum: If set, local end link training has failed to establish link training
|
|
* frame lock on one or more lanes
|
|
*/
|
|
#define MC_CMD_LINK_STATUS_FLAGS_LT_NO_LOCAL_FRAME_LOCK 0x18
|
|
/* enum: If set, remote end link training has failed to establish link training
|
|
* frame lock on one or more lanes
|
|
*/
|
|
#define MC_CMD_LINK_STATUS_FLAGS_LT_NO_RM_FRAME_LOCK 0x19
|
|
/* enum: If set, remote end has failed to assert Receiver Ready (link training
|
|
* success) within the designated timeout
|
|
*/
|
|
#define MC_CMD_LINK_STATUS_FLAGS_LT_NO_RX_READY 0x1a
|
|
#define MC_CMD_LINK_STATUS_FLAGS_STATUS_FLAGS_LBN 0
|
|
#define MC_CMD_LINK_STATUS_FLAGS_STATUS_FLAGS_WIDTH 64
|
|
|
|
/* MC_CMD_PAUSE_MODE structuredef */
|
|
#define MC_CMD_PAUSE_MODE_LEN 1
|
|
#define MC_CMD_PAUSE_MODE_TYPE_OFST 0
|
|
#define MC_CMD_PAUSE_MODE_TYPE_LEN 1
|
|
/* enum: See IEEE 802.3 Clause 73.6.6 */
|
|
#define MC_CMD_PAUSE_MODE_AN_PAUSE 0x0
|
|
/* enum: See IEEE 802.3 Clause 73.6.6 */
|
|
#define MC_CMD_PAUSE_MODE_AN_ASYM_DIR 0x1
|
|
#define MC_CMD_PAUSE_MODE_TYPE_LBN 0
|
|
#define MC_CMD_PAUSE_MODE_TYPE_WIDTH 8
|
|
|
|
/* MC_CMD_LOOPBACK_V2 structuredef: Loopback modes for use with the new
|
|
* MC_CMD_LINK_CTRL and MC_CMD_LINK_STATE. These loopback modes are not
|
|
* supported in other getlink/setlink commands.
|
|
*/
|
|
#define MC_CMD_LOOPBACK_V2_LEN 4
|
|
#define MC_CMD_LOOPBACK_V2_MODE_OFST 0
|
|
#define MC_CMD_LOOPBACK_V2_MODE_LEN 4
|
|
/* enum: No loopback */
|
|
#define MC_CMD_LOOPBACK_V2_NONE 0x0
|
|
/* enum: Let firmware choose a supported loopback mode */
|
|
#define MC_CMD_LOOPBACK_V2_AUTO 0x1
|
|
/* enum: Loopback after the MAC */
|
|
#define MC_CMD_LOOPBACK_V2_POST_MAC 0x2
|
|
/* enum: Loopback after the PCS */
|
|
#define MC_CMD_LOOPBACK_V2_POST_PCS 0x3
|
|
/* enum: Loopback after the PMA */
|
|
#define MC_CMD_LOOPBACK_V2_POST_PMA 0x4
|
|
/* enum: Loopback after the MDI Wireside */
|
|
#define MC_CMD_LOOPBACK_V2_POST_MDI_WS 0x5
|
|
/* enum: Loopback after the PMA Wireside */
|
|
#define MC_CMD_LOOPBACK_V2_POST_PMA_WS 0x6
|
|
/* enum: Loopback after the PCS Wireside */
|
|
#define MC_CMD_LOOPBACK_V2_POST_PCS_WS 0x7
|
|
/* enum: Loopback after the MAC Wireside */
|
|
#define MC_CMD_LOOPBACK_V2_POST_MAC_WS 0x8
|
|
/* enum: Loopback after the MAC FIFOs (before the MAC) */
|
|
#define MC_CMD_LOOPBACK_V2_PRE_MAC 0x9
|
|
#define MC_CMD_LOOPBACK_V2_MODE_LBN 0
|
|
#define MC_CMD_LOOPBACK_V2_MODE_WIDTH 32
|
|
|
|
/* MC_CMD_FCNTL structuredef */
|
|
#define MC_CMD_FCNTL_LEN 4
|
|
#define MC_CMD_FCNTL_MASK_OFST 0
|
|
#define MC_CMD_FCNTL_MASK_LEN 4
|
|
/* enum: Flow control is off. */
|
|
#define MC_CMD_FCNTL_OFF 0x0
|
|
/* enum: Respond to flow control. */
|
|
#define MC_CMD_FCNTL_RESPOND 0x1
|
|
/* enum: Respond to and Issue flow control. */
|
|
#define MC_CMD_FCNTL_BIDIR 0x2
|
|
/* enum: Auto negotiate flow control. */
|
|
#define MC_CMD_FCNTL_AUTO 0x3
|
|
/* enum: Priority flow control. This is only supported on KSB. */
|
|
#define MC_CMD_FCNTL_QBB 0x4
|
|
/* enum: Issue flow control. */
|
|
#define MC_CMD_FCNTL_GENERATE 0x5
|
|
#define MC_CMD_FCNTL_MASK_LBN 0
|
|
#define MC_CMD_FCNTL_MASK_WIDTH 32
|
|
|
|
/* MC_CMD_LINK_FLAGS structuredef */
|
|
#define MC_CMD_LINK_FLAGS_LEN 4
|
|
/* The enums defined in this field are used as indices into the
|
|
* MC_CMD_LINK_FLAGS bitmask.
|
|
*/
|
|
#define MC_CMD_LINK_FLAGS_MASK_OFST 0
|
|
#define MC_CMD_LINK_FLAGS_MASK_LEN 4
|
|
/* enum property: bitshift */
|
|
/* enum: Enable auto-negotiation. If AN is enabled, link technology and FEC
|
|
* mode are determined by advertised capabilities and requested FEC modes,
|
|
* combined with link partner capabilities. If AN is disabled, link technology
|
|
* is forced to LINK_TECHNOLOGY and FEC mode is forced to FEC_MODE. Not valid
|
|
* if loopback is enabled
|
|
*/
|
|
#define MC_CMD_LINK_FLAGS_AUTONEG_EN 0x0
|
|
/* enum: Enable parallel detect. In addition to AN, try to sense partner forced
|
|
* speed/FEC mode (when partner AN disabled). Only valid if AN is enabled.
|
|
*/
|
|
#define MC_CMD_LINK_FLAGS_PARALLEL_DETECT_EN 0x1
|
|
/* enum: Force link down, in electrical idle. */
|
|
#define MC_CMD_LINK_FLAGS_LINK_DISABLE 0x2
|
|
/* enum: Ignore the sequence number and always apply. */
|
|
#define MC_CMD_LINK_FLAGS_IGNORE_MODULE_SEQ 0x3
|
|
/* enum: Power off the network port hardware. Low power capabilities vary
|
|
* between different hardware solution but typically this will power down the
|
|
* PHY, disable high speed I/O and gate the associated clocks.
|
|
*/
|
|
#define MC_CMD_LINK_FLAGS_POWER_OFF 0x4
|
|
#define MC_CMD_LINK_FLAGS_MASK_LBN 0
|
|
#define MC_CMD_LINK_FLAGS_MASK_WIDTH 32
|
|
|
|
/* PMA_TXEQ_CURSOR structuredef: This structure is used to represent the TXEQ
|
|
* parameters for a given lane. It is used for PMA_TXEQ_GET/SET commands. Must
|
|
* be 4-byte aligned so that arrays and arguments of the commands can be 32-bit
|
|
* aligned.
|
|
*/
|
|
#define PMA_TXEQ_CURSOR_LEN 8
|
|
/* TXEQ cursor type describing the weight/coefficient/tap */
|
|
#define PMA_TXEQ_CURSOR_TYPE_OFST 0
|
|
#define PMA_TXEQ_CURSOR_TYPE_LEN 4
|
|
/* enum property: value */
|
|
/* Enum values, see field(s): */
|
|
/* PMA_TXEQ_CURSOR_TYPE */
|
|
#define PMA_TXEQ_CURSOR_TYPE_LBN 0
|
|
#define PMA_TXEQ_CURSOR_TYPE_WIDTH 32
|
|
/* TXEQ cursor value (weight/coefficient/tap etc.) */
|
|
#define PMA_TXEQ_CURSOR_VALUE_OFST 4
|
|
#define PMA_TXEQ_CURSOR_VALUE_LEN 4
|
|
#define PMA_TXEQ_CURSOR_VALUE_LBN 32
|
|
#define PMA_TXEQ_CURSOR_VALUE_WIDTH 32
|
|
|
|
#endif /* IFOE_MCDI_HOSTAPP_H */
|