Files
TheRock/rocm-systems/projects/amdsmi/include/ualoe_lib/ifoe_mcdi_hostapp.h
T
derek.holloway 7502bf64a4
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
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

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 */