tefmod16_enum_defines.h (55363B)
1 /*---------------------------------------------------------------------- 2 * 3 * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 4 * 5 * Copyright 2007-2019 Broadcom Inc. All rights reserved. 6 * 7 * $Copyright: (c) 2014 Broadcom Corporation All Rights Reserved.$ 8 * Broadcom Corporation 9 * Proprietary and Confidential information 10 * All rights reserved 11 * This source file is the property of Broadcom Corporation, and 12 * may not be copied or distributed in any isomorphic form without the 13 * prior written consent of Broadcom Corporation. 14 *--------------------------------------------------------------------- 15 ############### THIS FILE IS AUTOMATICALLY GENERATED. ############### 16 ############### DO !! NOT !! MANUALLY EDIT THIS FILE. ############### 17 *--------------------------------------------------------------------- 18 * Description: This file contains enums, elems and doxyten comments 19 * needed for SerDes Configuration programs. 20 *--------------------------------------------------------------------- 21 * CVS INFORMATION: 22 * Please see inc/enum_desc.txt for CVS information. 23 *---------------------------------------------------------------------- 24 */ 25 26 /* This file is automatically generated. Do not modify it. Modify the 27 * inc/enum_desc.txt to change enums, elems, or comments. For issues about 28 * the process that creates this file contact the tefmod16 development team. 29 */ 30 31 #ifndef _TSCFMOD_ENUM_DEFINES_H 32 #define _TSCFMOD_ENUM_DEFINES_H 33 34 /*! \enum tefmod16_lane_select_t 35 36 tefmod16_lane_select_t selects for programming, any combination of 4 lanes of PHY. 37 A '1' in the latter part of the enum name selects the lane. Other parameters 38 will decide what to do with the selected lane(s). In most cases we 39 enable/disable a feature on the selected lanes. 40 41 If lane_select is set to TEFMOD16_LANE_BCST for writes we broadcast to all lanes. 42 43 Note that you cannot read in broadcast mode. 44 45 */ 46 47 typedef enum { 48 TEFMOD16_LANE_0_0_0_0 = 0 , /*!< No lane selected */ 49 TEFMOD16_LANE_0_0_0_1 , /*!< lane number 0 selected */ 50 TEFMOD16_LANE_0_0_1_0 , /*!< lane number 1 selected */ 51 TEFMOD16_LANE_0_0_1_1 , /*!< lane numbers 0,1 selected */ 52 TEFMOD16_LANE_0_1_0_0 , /*!< lane number 2 selected */ 53 TEFMOD16_LANE_0_1_0_1 , /*!< lane numbers 2,0 selected */ 54 TEFMOD16_LANE_0_1_1_0 , /*!< lane numbers 2,1 selected */ 55 TEFMOD16_LANE_0_1_1_1 , /*!< lane numbers 2,1,0 selected */ 56 TEFMOD16_LANE_1_0_0_0 , /*!< lane number 3 selected */ 57 TEFMOD16_LANE_1_0_0_1 , /*!< lane numbers 3,0 selected */ 58 TEFMOD16_LANE_1_0_1_0 , /*!< lane numbers 3,1 selected */ 59 TEFMOD16_LANE_1_0_1_1 , /*!< lane numbers 3,1,0 selected */ 60 TEFMOD16_LANE_1_1_0_0 , /*!< lane numbers 3,2 selected */ 61 TEFMOD16_LANE_1_1_0_1 , /*!< lane numbers 3,2,0 selected */ 62 TEFMOD16_LANE_1_1_1_0 , /*!< lane numbers 3,2,1 selected */ 63 TEFMOD16_LANE_1_1_1_1 , /*!< lane numbers 3,2,1,0 selected */ 64 TEFMOD16_LANE_BCST , /*!< lane numbers 3,2,1,0 BCST */ 65 TEFMOD16_LANE_ILLEGAL /*!< Illegal (programmatic boundary) */ 66 } tefmod16_lane_select_t; 67 68 /*! \def CNT_tefmod_lane_select_t Types of enum tefmod16_lane_select_t */ 69 #define CNT_tefmod_lane_select_t 18 70 71 /*! 72 \brief 73 This array returns the string version of the enum #tefmod16_lane_select_t when 74 indexed by the enum var. 75 76 */ 77 extern char* e2s_tefmod16_lane_select_t [CNT_tefmod_lane_select_t]; 78 /*! 79 \brief 80 This array associates the enum #tefmod16_lane_select_t enum with a bit mask. 81 The index is the #tefmod16_lane_select_t enum value. The value for each entry is 82 interpreted as follows. If bit [n] is 1, then lane [n] is enabled; if bit [n] 83 is 0, then lane [n] is disabled. By enabled, we mean that such-and-such 84 function is to be called for a lane; by disabled, we mean that such-and-such 85 function is not to be called for a lane. So a value of 0xF indicates that all 86 lanes or enabled, while 0x5 indicates that only lanes 0 and 2 are enabled. 87 88 */ 89 extern int e2n_tefmod16_lane_select_t [CNT_tefmod_lane_select_t]; 90 /*! \enum tefmod16_spd_intfc_type_t 91 92 All legal speed-interface combination are encapsulated in this enum 93 94 There are several speed and interface combinations allowed for a logical PHY 95 port. Names and speeds are self explanatory. 96 97 Speed and interface selection is combined because we don't want the speeds 98 to be incompatible with interface. 99 100 */ 101 102 typedef enum { 103 TEFMOD16_SPD_ZERO = 0 , /*!< Illegal value (enum boundary) */ 104 TEFMOD16_SPD_10_SGMII , /*!< 10Mb SGMII (serial) */ 105 TEFMOD16_SPD_100_SGMII , /*!< 100Mb SGMII (serial) */ 106 TEFMOD16_SPD_1000_SGMII , /*!< 1Gb SGMII (serial) */ 107 TEFMOD16_SPD_2500 , /*!< 2.5Gb based on 1000BASE-X */ 108 TEFMOD16_SPD_10000_XFI , /*!< 10Gb serial XFI */ 109 TEFMOD16_SPD_10600_XFI_HG , /*!< 10.5Gb serial XFI (HgSOLO) */ 110 TEFMOD16_SPD_20000_XFI , /*!< 20Gb serial XFI */ 111 TEFMOD16_SPD_21200_XFI_HG , /*!< 21.2Gb serial XFI (HgSOLO) */ 112 TEFMOD16_SPD_25000_XFI , /*!< 25Gb serial XFI */ 113 TEFMOD16_SPD_26500_XFI_HG , /*!< 26.5Gb serial XFI (HgSOLO) */ 114 TEFMOD16_SPD_20G_MLD_X2 , /*!< 20Gb serial XFI */ 115 TEFMOD16_SPD_21G_MLD_HG_X2 , /*!< 21.5Gb serial XFI (HgSOLO) */ 116 TEFMOD16_SPD_40G_MLD_X2 , /*!< 40Gb serial XFI */ 117 TEFMOD16_SPD_42G_MLD_HG_X2 , /*!< 42.4Gb serial XFI (HgSOLO) */ 118 TEFMOD16_SPD_40G_MLD_X4 , /*!< 40Gb serial XFI */ 119 TEFMOD16_SPD_42G_MLD_HG_X4 , /*!< 42.4Gb serial XFI (HgSOLO) */ 120 TEFMOD16_SPD_50G_MLD_X2 , /*!< 50Gb serial XFI */ 121 TEFMOD16_SPD_53G_MLD_HG_X2 , /*!< 53.0Gb serial XFI (HgSOLO) */ 122 TEFMOD16_SPD_100G_MLD_X4 , /*!< 100Gb serial XFI */ 123 TEFMOD16_SPD_106G_MLD_HG_X4 , /*!< 106.0Gb serial XFI (HgSOLO) */ 124 TEFMOD16_SPD_10000_HI , /*!< 10Gb XAUI HiG */ 125 TEFMOD16_SPD_10000 , /*!< 10Gb XAUI */ 126 TEFMOD16_SPD_12000_HI , /*!< 12Gb XAUI HiG */ 127 TEFMOD16_SPD_13000 , /*!< 13Gb XAUI */ 128 TEFMOD16_SPD_15000 , /*!< 15Gb XAUI */ 129 TEFMOD16_SPD_16000 , /*!< 16Gb XAUI */ 130 TEFMOD16_SPD_20000 , /*!< 20Gb XFI */ 131 TEFMOD16_SPD_20000_SCR , /*!< 20Gb XAUI scrambled */ 132 TEFMOD16_SPD_21000 , /*!< 21Gb XAUI */ 133 TEFMOD16_SPD_25455 , /*!< 25Gb XFI 64/66 codec */ 134 TEFMOD16_SPD_31500 , /*!< 31.5Gb quad lane XAUI */ 135 TEFMOD16_SPD_40G_X4 , /*!< 40Gb quad lane XAUI */ 136 TEFMOD16_SPD_42G_X4 , /*!< 40Gb quad lane XAUI HiG */ 137 TEFMOD16_SPD_40G_XLAUI , /*!< 40Gb quad lane MLD */ 138 TEFMOD16_SPD_42G_XLAUI , /*!< 42Gb quad lane MLD */ 139 TEFMOD16_SPD_10000_X2 , /*!< 10Gb dual lane */ 140 TEFMOD16_SPD_10000_HI_DXGXS , /*!< 10Gb dual lane XGXS HiG */ 141 TEFMOD16_SPD_10000_DXGXS , /*!< 10Gb dual lane XGXS */ 142 TEFMOD16_SPD_10000_HI_DXGXS_SCR , /*!< 10Gb dual lane,scrambled,HiG */ 143 TEFMOD16_SPD_10000_DXGXS_SCR , /*!< 10Gb dual lane scrambled */ 144 TEFMOD16_SPD_10500_HI_DXGXS , /*!< 10.5Gb dual lane XGXS HiG */ 145 TEFMOD16_SPD_12773_HI_DXGXS , /*!< 12.73Gb dual lane XGXS HiG */ 146 TEFMOD16_SPD_12773_DXGXS , /*!< 12.73Gb dual lane XGXS */ 147 TEFMOD16_SPD_15750_HI_DXGXS , /*!< 15.75Gb scrambled dual lane HiG */ 148 TEFMOD16_SPD_20G_MLD_DXGXS , /*!< 20Gb dual lane MLD */ 149 TEFMOD16_SPD_21G_HI_MLD_DXGXS , /*!< 20Gb dual lane HiG MLD */ 150 TEFMOD16_SPD_20G_DXGXS , /*!< 20Gb dual lane BRCM */ 151 TEFMOD16_SPD_21G_HI_DXGXS , /*!< 21.2Gb dual HiG(20+plldiv=70) */ 152 TEFMOD16_SPD_100G_CR10 , /*!< 100G */ 153 TEFMOD16_SPD_120G_CR12 , /*!< 120G */ 154 TEFMOD16_SPD_10000_XFI_HG2 , /*!< 10G HG2 */ 155 TEFMOD16_SPD_50G_MLD_X4 , /*!< 50G Serial XFI */ 156 TEFMOD16_SPD_53G_MLD_HG_X4 , /*!< 53G Serial XFI (HgSOLO) */ 157 TEFMOD16_SPD_10000_XFI_CR1 , /*!< 10Gb serial XFI */ 158 TEFMOD16_SPD_10600_XFI_HG_CR1 , /*!< 10Gb serial XFI */ 159 TEFMOD16_SPD_CL73_20G , /*!< 1G CL73 Auto-neg */ 160 TEFMOD16_SPD_CL73_25G , /*!< 1G CL73 Auto-neg */ 161 TEFMOD16_SPD_1G_20G , /*!< 1G CL36 1G */ 162 TEFMOD16_SPD_1G_25G , /*!< 1G CL36 1G */ 163 TEFMOD16_SPD_10G_25G , /*!< 10G CL36 with 25G vco */ 164 TEFMOD16_SPD_ILLEGAL /*!< Illegal value (enum boundary) */ 165 } tefmod16_spd_intfc_type_t; 166 167 /*! \def CNT_tefmod_spd_intfc_type_t Types of enum tefmod16_spd_intfc_type_t */ 168 #define CNT_tefmod_spd_intfc_type_t 62 169 170 /*! 171 \brief 172 This array returns the string version of the enum #tefmod16_lane_select_t when 173 indexed by the enum var. 174 175 */ 176 extern char* e2s_tefmod16_spd_intfc_type_t [CNT_tefmod_spd_intfc_type_t]; 177 /*! 178 \brief 179 This array associates the enum #tefmod16_lane_select_t enum with a bit mask. 180 The index is the #tefmod16_lane_select_t enum value. The value for each entry is 181 interpreted as follows. If bit [n] is 1, then lane [n] is enabled; if bit [n] 182 is 0, then lane [n] is disabled. By enabled, we mean that such-and-such 183 function is to be called for a lane; by disabled, we mean that such-and-such 184 function is not to be called for a lane. So a value of 0xF indicates that all 185 lanes or enabled, while 0x5 indicates that only lanes 0 and 2 are enabled. 186 187 */ 188 extern int e2n_tefmod16_spd_intfc_type_t [CNT_tefmod_spd_intfc_type_t]; 189 190 /*! \enum tefmod16_regacc_type_t 191 MDIO access to PHY registers are no longer supported. 192 */ 193 194 typedef enum { 195 TEFMOD16_REGACC_CL22 = 0 , /*!< IEEE clause 22 based MDIO (for PMD only) */ 196 TEFMOD16_REGACC_CL45 , /*!< IEEE clause 45 based MDIO (for PMD only) */ 197 TEFMOD16_REGACC_TOTSC , /*!< Mission mode */ 198 TEFMOD16_REGACC_SBUS_FD , /*!< Probably used in PM testbenches */ 199 TEFMOD16_REGACC_SBUS_BD , /*!< Probably used in PM testbenches */ 200 TEFMOD16_REGACC_ILLEGAL /*!< Illegal value (enum boundary) */ 201 } tefmod16_regacc_type_t; 202 203 /*! \def CNT_tefmod_regacc_type_t Types of enum tefmod16_regacc_type_t */ 204 #define CNT_tefmod_regacc_type_t 6 205 206 /*! 207 \brief 208 This array returns the string version of the enum #e2s_tefmod16_regacc_type_t when indexed 209 by the enum var. 210 211 */ 212 extern char* e2s_tefmod16_regacc_type_t [CNT_tefmod_regacc_type_t]; 213 /*! \enum tefmod16_port_type_t 214 215 This is the port mode type enumeration. 216 217 WC can be configured in combo mode (i.e. entire WC is a single port) or 218 independent mode (i.e. WC has more than one port (2, 3, or 4) that are 219 controlled individually. 220 221 */ 222 223 typedef enum { 224 TEFMOD16_MULTI_PORT = 0 , /*!< Each channel is one logical port */ 225 TEFMOD16_TRI1_PORT , /*!< 3 ports, one of them paird as follows (0,1,2-3) */ 226 TEFMOD16_TRI2_PORT , /*!< 3 ports, one of them paird as follows (0-1,2,3) */ 227 TEFMOD16_DXGXS , /*!< Each paired channel(0-1, 2-3) is one logical port */ 228 TEFMOD16_SINGLE_PORT , /*!< single port mode: 4 channels as one logical port */ 229 TEFMOD16_PORT_MODE_ILLEGAL /*!< Illegal value (enum boundary) */ 230 } tefmod16_port_type_t; 231 232 /*! \def CNT_tefmod_port_type_t Types of enum tefmod16_port_type_t */ 233 #define CNT_tefmod_port_type_t 6 234 235 /*! 236 \brief 237 This array returns the string version of the enum #tefmod16_port_type_t when indexed 238 by the enum var. 239 240 */ 241 extern char* e2s_tefmod16_port_type_t [CNT_tefmod_port_type_t]; 242 /*! \enum tefmod16_sc_mode_type_t 243 244 This is the sc mode type enumeration. 245 246 247 248 */ 249 250 typedef enum { 251 TEFMOD16_SC_MODE_HT_WITH_BASIC_OVERRIDE = 0 , /*!< TEFMOD_SC_MODE_HT_WITH_BASIC_OVERRIDE */ 252 TEFMOD16_SC_MODE_HT_OVERRIDE , /*!< TEFMOD_SC_MODE_ST_OVERRIDE */ 253 TEFMOD16_SC_MODE_ST , /*!< TEFMOD_SC_MODE_ST */ 254 TEFMOD16_SC_MODE_ST_OVERRIDE , /*!< TEFMOD_SC_MODE_ST */ 255 TEFMOD16_SC_MODE_AN_CL37 , /*!< TEFMOD_SC_MODE_AN_CL73 */ 256 TEFMOD16_SC_MODE_AN_CL73 , /*!< TEFMOD_SC_MODE_AN_CL73 */ 257 TEFMOD16_SC_MODE_BYPASS , /*!< TEFMOD_SC_MODE_BYPASS */ 258 TEFMOD16_SC_MODE_ILLEGAL /*!< Illegal value (enum boundary) */ 259 } tefmod16_sc_mode_type_t; 260 261 /*! \def CNT_tefmod_sc_mode_type_t Types of enum tefmod16_sc_mode_type_t */ 262 #define CNT_tefmod_sc_mode_type_t 8 263 264 /*! 265 \brief 266 This array returns the string version of the enum #tefmod16_port_type_t when indexed 267 by the enum var. 268 269 */ 270 extern char* e2s_tefmod16_sc_mode_type_t [CNT_tefmod_sc_mode_type_t]; 271 /*! \enum tefmod16_diag_type_t 272 273 tefmod16_diag_type_t enumerates categories of diagnostic data. 274 has many intermediate stages between down and up. This enum is work in progress 275 276 277 <table cellspacing=0> 278 <tr><td colspan=3><B>'per_lane_control' bit-mappings</B></td></tr> 279 280 <tr><td><B>Type</B></td><td><B>Description</B></td><td><B>Scope</B></td></tr> 281 282 <tr><td>General</td> 283 <td> Combo/independent, Device and Revision Id, VCO settings, Firmware state 284 and version, active/passive lanes, MDIO type. PLL info, Oversampling Info</td> 285 <td>Device</td></tr> 286 287 <tr><td>Link</td> 288 <td> Speeds, oversampling, interface, forced/Autoneg, link status, sync 289 status, RX sequencer on/off </td> 290 <td>Lane</td></tr> 291 292 <tr><td>Autoneg</td> 293 <td> Local and remote advertisement, link status, cl73/37/BAM info </td> 294 <td>Lane</td></tr> 295 296 <tr><td>Internal Traffic</td> 297 <td> PRBS type, CJPat Type, Prog_data value, Any associated recorded errors, 298 and misc. info (IPG etc.)</td> 299 <td>Lane </td></tr> 300 301 <tr> 302 <td>DFE</td> 303 <td>Equalization info, Tap settings. (pre/post/overrides), peaking filter values </td> 304 <td>Lane</td></tr> 305 306 <tr><td>IEEE info</td> 307 <td>Clause 72, FEC</td> 308 <td>Lane</td></tr> 309 310 <tr><td>Topology</td> 311 <td>Looping info (Gloop/rloop), lane swapping, polarity swap info</td> 312 <td>Device</td></tr> 313 314 <tr><td>EEE</td> 315 <td>EEE full, passthru modes, some window values?</td> 316 <td>Lane</td></tr> 317 318 <tr><td>Eye Margin</td> 319 <td>Eye margin measurement (readout only)</td> 320 <td>Lane</td></tr> 321 322 <tr><td>All</td> 323 <td>All of the above. Except eye margin.</td> 324 <td>Device</td></tr> 325 326 </table> 327 328 329 */ 330 331 typedef enum { 332 TEFMOD16_DIAG_GENERAL = 0x00000001 , /*!< General device wide information. */ 333 TEFMOD16_DIAG_TOPOLOGY = 0x00000002 , /*!< Loopbacks etc. */ 334 TEFMOD16_DIAG_LINK = 0x00000004 , /*!< Link specific info. */ 335 TEFMOD16_DIAG_SPEED = 0x00000008 , /*!< sub-category of TEFMOD_DIAG_LINK(for SDK)*/ 336 TEFMOD16_DIAG_ANEG = 0x00000010 , /*!< Autoneg specific info. */ 337 TEFMOD16_DIAG_TFC = 0x00000020 , /*!< State of tx/rx internal tfc */ 338 TEFMOD16_DIAG_AN_TIMERS = 0x00000040 , /*!< AN timers */ 339 TEFMOD16_DIAG_STATE = 0x00000080 , /*!< Debug state registers */ 340 TEFMOD16_DIAG_DEBUG = 0x00000100 , /*!< Debug */ 341 TEFMOD16_DIAG_IEEE = 0x00000200 , /*!< IEEE related info */ 342 TEFMOD16_DIAG_EEE = 0x00000400 , /*!< EEE */ 343 344 TEFMOD16_DIAG_BER = 0x00000800 , /*!< BER - PMD bit error rate */ 345 TEFMOD16_DIAG_CFG = 0x00001000 , /*!< CFG - PMD Lane/Core Config */ 346 TEFMOD16_DIAG_CL72 = 0x00002000 , /*!< CL72 - Status */ 347 TEFMOD16_DIAG_DSC = 0x00004000 , /*!< DSC dump */ 348 TEFMOD16_DIAG_DSC_STD = 0x00010000 , /*!< DSC dump */ 349 #if 0 350 TEFMOD16_SERDES_DIAG = 0x80000000UL , /*!< PMD Triage */ 351 TEFMOD16_DIAG_ALL = 0xffffffffUL , /*!< Everything but eye margin */ 352 #else 353 TEFMOD16_SERDES_DIAG = 0x00008000 , /*!< PMD Triage */ 354 TEFMOD16_DIAG_ALL = 0x0000ffff , /*!< Everything but eye margin */ 355 #endif 356 TEFMOD16_DIAG_ILLEGAL = 0x00000000 /*!< Illegal value. programmatic boundary. */ 357 } tefmod16_diag_type_t; 358 359 /*! \def CNT_tefmod_diag_type_t Types of enum tefmod16_diag_type_t */ 360 #define CNT_tefmod_diag_type_t 18 361 362 /*! 363 \brief 364 This array returns the string version of the enum #tefmod16_port_type_t when indexed 365 by the enum var. 366 367 */ 368 extern char* e2s_tefmod16_diag_type_t [CNT_tefmod_diag_type_t]; 369 /*! \enum tefmod16_model_type_t 370 371 tefmod16_model_type_t enumerates different generations and revisions of PHY. 372 Note that we pretty much only look at different versions of PHY. 373 374 We rely on all the information being in the SERDES_ID register. 375 376 377 */ 378 379 typedef enum { 380 TEFMOD16_WC = 0 , /*!< Generic PHY (any model) */ 381 TEFMOD16_WC_A0 , /*!< PHY Version A0 */ 382 TEFMOD16_WC_A1 , /*!< PHY Version A1 */ 383 TEFMOD16_WC_A2 , /*!< PHY Version A2 */ 384 TEFMOD16_WC_B0 , /*!< PHY Version B0 */ 385 TEFMOD16_WC_B1 , /*!< PHY Version B1 */ 386 TEFMOD16_WC_B2 , /*!< PHY Version B2 */ 387 TEFMOD16_WC_C0 , /*!< PHY Version C0, model no. differs from other WCs */ 388 TEFMOD16_WC_C1 , /*!< PHY Version C1, model no. differs from other WCs */ 389 TEFMOD16_WC_C2 , /*!< PHY Version C2, model no. differs from other WCs */ 390 TEFMOD16_WC_D0 , /*!< PHY Version D0 */ 391 TEFMOD16_WC_D1 , /*!< PHY Version D1 */ 392 TEFMOD16_WC_D2 , /*!< PHY Version D2 */ 393 TEFMOD16_XN , /*!< Generic Xenia Core (any model) */ 394 TEFMOD16_WL , /*!< Generic PHY Lite (any model) */ 395 TEFMOD16_WL_A0 , /*!< WarpLite Core */ 396 TEFMOD16_QS , /*!< Generic QSGMII core (any model) */ 397 TEFMOD16_QS_A0 , /*!< QSGMII core Version A0 */ 398 TEFMOD16_QS_B0 , /*!< QSGMII core Version B0 */ 399 TEFMOD16_MODEL_TYPE_ILLEGAL /*!< Illegal value. programmatic boundary. */ 400 } tefmod16_model_type_t; 401 402 /*! \def CNT_tefmod_model_type_t Types of enum tefmod_model_type_t */ 403 #define CNT_tefmod_model_type_t 20 404 405 /*! 406 \brief 407 This array returns the string version of the enum #tefmod16_port_type_t when indexed 408 by the enum var. 409 410 */ 411 extern char* e2s_tefmod16_model_type_t [CNT_tefmod_model_type_t]; 412 /*! \enum tefmod16_an_type_t 413 414 tefmod16_an_type_t enumerates different types of autoneg modes in the PHY. 415 416 */ 417 418 typedef enum { 419 TEFMOD16_AN_CL73 = 0 , /*!< PHY autoneg CL73 enable */ 420 TEFMOD16_AN_CL73_BAM , /*!< PHY autoneg CL73 enable with Brcm Aneg Mode */ 421 TEFMOD16_AN_HPAM , /*!< PHY autoneg for HP aneg */ 422 TEFMOD16_AN_MSA , /*!< PHY autoneg for 25G/50G consortium spec */ 423 TEFMOD16_AN_CL73_MSA , /*!< PHY autoneg for CL73 and 25G/50G consortium spec */ 424 TEFMOD16_AN_TYPE_ILLEGAL /*!< Illegal value. programmatic boundary. */ 425 } tefmod16_an_type_t; 426 427 /*! \def CNT_tefmod_an_type_t Types of enum tefmod16_an_type_t */ 428 #define CNT_tefmod_an_type_t 6 429 430 /*! 431 \brief 432 This array returns the string version of the enum #tefmod16_port_type_t when indexed 433 by the enum var. 434 435 */ 436 extern char* e2s_tefmod16_an_type_t [CNT_tefmod_an_type_t]; 437 /*! \enum tefmod16_eye_direction_t 438 439 The direction of slicer changing always moves from the middle of the eye. 440 Currently all speeds have the following bit positions. 441 442 \li TEFMOD16_EYE_VU: Vertical, Upward direction 443 \li TEFMOD16_EYE_VD: Vertical, Downward direction 444 \li TEFMOD16_EYE_HL: Horizontal, Left direction 445 \li TEFMOD16_EYE_HR: Horizontal, Right direction 446 447 */ 448 449 typedef enum { 450 TEFMOD16_EYE_VU = 0 , /*!< Vertical, Upward direction */ 451 TEFMOD16_EYE_VD , /*!< Vertical, Downward direction */ 452 TEFMOD16_EYE_HL , /*!< Horizontal, Left direction */ 453 TEFMOD16_EYE_HR , /*!< Horizontal, Right direction */ 454 TEFMOD16_EYE_ILLEGAL /*!< Programmatic illegal boundary. */ 455 } tefmod16_eye_direction_t; 456 457 /*! \def CNT_tefmod_eye_direction_t Types of enum tefmod16_eye_direction_t */ 458 #define CNT_tefmod_eye_direction_t 5 459 460 /*! 461 \brief 462 This array returns the string version of the enum #tefmod16_port_type_t when indexed 463 by the enum var. 464 465 */ 466 extern char* e2s_tefmod16_eye_direction_t [CNT_tefmod_eye_direction_t]; 467 468 469 typedef enum { 470 TEFMOD16_ASPD_10M = 0 , /*!< No documentation */ 471 TEFMOD16_ASPD_100M , /*!< No documentation */ 472 TEFMOD16_ASPD_1000M , /*!< No documentation */ 473 TEFMOD16_ASPD_2p5G_X1 , /*!< No documentation */ 474 TEFMOD16_ASPD_5G_X4 , /*!< No documentation */ 475 TEFMOD16_ASPD_6G_X4 , /*!< No documentation */ 476 TEFMOD16_ASPD_10G_X4 , /*!< No documentation */ 477 TEFMOD16_ASPD_10G_CX4 , /*!< No documentation */ 478 TEFMOD16_ASPD_12G_X4 , /*!< No documentation */ 479 TEFMOD16_ASPD_12p5G_X4 , /*!< No documentation */ 480 TEFMOD16_ASPD_13G_X4 , /*!< No documentation */ 481 TEFMOD16_ASPD_15G_X4 , /*!< No documentation */ 482 TEFMOD16_ASPD_16G_X4 , /*!< No documentation */ 483 TEFMOD16_ASPD_1G_KX1 , /*!< No documentation */ 484 TEFMOD16_ASPD_10G_KX4 , /*!< No documentation */ 485 TEFMOD16_ASPD_10G_KR1 , /*!< No documentation */ 486 TEFMOD16_ASPD_5G_X1 , /*!< No documentation */ 487 TEFMOD16_ASPD_6p36G_X1 , /*!< No documentation */ 488 TEFMOD16_ASPD_20G_CX4 , /*!< No documentation */ 489 TEFMOD16_ASPD_21G_X4 , /*!< No documentation */ 490 TEFMOD16_ASPD_25p45G_X4 , /*!< No documentation */ 491 TEFMOD16_ASPD_10G_X2_NOSCRAMBLE , /*!< No documentation */ 492 TEFMOD16_ASPD_10G_CX2_NOSCRAMBLE , /*!< No documentation */ 493 TEFMOD16_ASPD_10p5G_X2 , /*!< No documentation */ 494 TEFMOD16_ASPD_10p5G_CX2_NOSCRAMBLE , /*!< No documentation */ 495 TEFMOD16_ASPD_12p7G_X2 , /*!< No documentation */ 496 TEFMOD16_ASPD_12p7G_CX2 , /*!< No documentation */ 497 TEFMOD16_ASPD_10G_X1 , /*!< No documentation */ 498 TEFMOD16_ASPD_40G_X4 , /*!< No documentation */ 499 TEFMOD16_ASPD_20G_X2 , /*!< No documentation */ 500 TEFMOD16_ASPD_20G_CX2 , /*!< No documentation */ 501 TEFMOD16_ASPD_10G_SFI , /*!< No documentation */ 502 TEFMOD16_ASPD_31p5G_X4 , /*!< No documentation */ 503 TEFMOD16_ASPD_32p7G_X4 , /*!< No documentation */ 504 TEFMOD16_ASPD_20G_X4 , /*!< No documentation */ 505 TEFMOD16_ASPD_10G_X2 , /*!< No documentation */ 506 TEFMOD16_ASPD_10G_CX2 , /*!< No documentation */ 507 TEFMOD16_ASPD_12G_SCO_R2 , /*!< No documentation */ 508 TEFMOD16_ASPD_10G_SCO_X2 , /*!< No documentation */ 509 TEFMOD16_ASPD_40G_KR4 , /*!< No documentation */ 510 TEFMOD16_ASPD_40G_CR4 , /*!< No documentation */ 511 TEFMOD16_ASPD_100G_CR10 , /*!< No documentation */ 512 TEFMOD16_ASPD_5G_X2 , /*!< No documentation */ 513 TEFMOD16_ASPD_15p75G_X2 , /*!< No documentation */ 514 TEFMOD16_ASPD_2G_FC , /*!< No documentation */ 515 TEFMOD16_ASPD_4G_FC , /*!< No documentation */ 516 TEFMOD16_ASPD_8G_FC , /*!< No documentation */ 517 TEFMOD16_ASPD_10G_CX1 , /*!< No documentation */ 518 TEFMOD16_ASPD_1G_CX1 , /*!< No documentation */ 519 TEFMOD16_ASPD_20G_KR2 , /*!< No documentation */ 520 TEFMOD16_ASPD_20G_CR2 , /*!< No documentation */ 521 TEFMOD16_ASPD_TYPE_ILLEGAL /*!< Programmatic illegal boundary. */ 522 } tefmod16_aspd_type_t; 523 524 /*! \def CNT_tefmod_aspd_type_t Types of enum tefmod16_aspd_type_t */ 525 #define CNT_tefmod_aspd_type_t 52 526 527 /*! 528 \brief 529 This array returns the string version of the enum #tefmod16_port_type_t when indexed 530 by the enum var. 531 532 */ 533 extern char* e2s_tefmod16_aspd_type_t [CNT_tefmod_aspd_type_t]; 534 /*! 535 \brief 536 This array associates the enum #tefmod16_lane_select_t enum with a bit mask. 537 The index is the #tefmod16_lane_select_t enum value. The value for each entry is 538 interpreted as follows. If bit [n] is 1, then lane [n] is enabled; if bit [n] 539 is 0, then lane [n] is disabled. By enabled, we mean that such-and-such 540 function is to be called for a lane; by disabled, we mean that such-and-such 541 function is not to be called for a lane. So a value of 0xF indicates that all 542 lanes or enabled, while 0x5 indicates that only lanes 0 and 2 are enabled. 543 544 */ 545 extern int e2n_tefmod16_aspd_type_t [CNT_tefmod_aspd_type_t]; 546 /*! \enum tefmod16_tech_ability_t 547 548 tefmod16_tech_ability_t enumerates different types of speed advertisements in the 549 basic autoneg page. Currently for CL73 only. 550 551 Currently all speeds have the following bit positions in tefmod16_st 552 553 \li TEFMOD16_ABILITY_1G Bit Pos: 0 554 \li TEFMOD16_ABILITY_10G_KR Bit Pos: 1 555 \li TEFMOD16_ABILITY_40G_KR4 Bit Pos: 2 556 \li TEFMOD16_ABILITY_40G_CR4 Bit Pos: 3 557 \li TEFMOD16_ABILITY_100G_CR10 Bit Pos: 4 558 \li TEFMOD16_ABILITY_10G_HIGIG Bit Pos: 5 559 \li TEFMOD16_ABILITY_10G_CX4 Bit Pos: 6 560 \li TEFMOD16_ABILITY_20G_X4 Bit Pos: 7 561 \li TEFMOD16_ABILITY_40G Bit Pos: 8 562 \li TEFMOD16_ABILITY_25P455G Bit Pos: 9 563 \li TEFMOD16_ABILITY_21G_X4 Bit Pos: 10 564 \li TEFMOD16_ABILITY_20G_X4S Bit Pos: 11 565 \li TEFMOD16_ABILITY_10G_DXGXS_HIGIG Bit Pos: 12 566 \li TEFMOD16_ABILITY_10G_DXGXS Bit Pos: 13 567 \li TEFMOD16_ABILITY_10P5G_DXGXS Bit Pos: 14 568 \li TEFMOD16_ABILITY_12P5_DXGXS Bit Pos: 15 569 \li TEFMOD16_ABILITY_20G_KR2_HIGIG Bit Pos: 16 570 \li TEFMOD16_ABILITY_20G_KR2 Bit Pos: 17 571 \li TEFMOD16_ABILITY_20G_CR2 Bit Pos: 18 572 \li TEFMOD16_ABILITY_15P75G_R2 Bit Pos: 19 573 \li TEFMOD16_ABILITY_100G_KR4 Bit Pos: 20 574 \li TEFMOD16_ABILITY_100G_CR4 Bit Pos: 21 575 \li TEFMOD16_ABILITY_40G_KR2 Bit Pos: 22 576 \li TEFMOD16_ABILITY_40G_CR2 Bit Pos: 23 577 \li TEFMOD16_ABILITY_50G_KR2 Bit Pos: 24 578 \li TEFMOD16_ABILITY_50G_CR2 Bit Pos: 25 579 \li TEFMOD16_ABILITY_50G_KR4 Bit Pos: 26 580 \li TEFMOD16_ABILITY_50G_CR4 Bit Pos: 27 581 \li TEFMOD16_ABILITY_20G_KR1 Bit Pos: 28 582 \li TEFMOD16_ABILITY_20G_CR1 Bit Pos: 29 583 \li TEFMOD16_ABILITY_25G_KR1 Bit Pos: 30 584 \li TEFMOD16_ABILITY_25G_CR1 Bit Pos: 31 585 586 587 */ 588 589 typedef enum { 590 TEFMOD16_ABILITY_1G = 0 , /*!< please write comments */ 591 TEFMOD16_ABILITY_10G_KR , /*!< please write comments */ 592 TEFMOD16_ABILITY_40G_KR4 , /*!< please write comments */ 593 TEFMOD16_ABILITY_40G_CR4 , /*!< please write comments */ 594 TEFMOD16_ABILITY_100G_CR10 , /*!< please write comments */ 595 TEFMOD16_ABILITY_10G_HIGIG , /*!< please write comments */ 596 TEFMOD16_ABILITY_10G_CX4 , /*!< please write comments */ 597 TEFMOD16_ABILITY_20G_X4 , /*!< please write comments */ 598 TEFMOD16_ABILITY_40G , /*!< please write comments */ 599 TEFMOD16_ABILITY_25P455G , /*!< please write comments */ 600 TEFMOD16_ABILITY_21G_X4 , /*!< please write comments */ 601 TEFMOD16_ABILITY_20G_X4S , /*!< XAUI 8b10b scrambled data */ 602 TEFMOD16_ABILITY_10G_DXGXS_HIGIG , /*!< please write comments */ 603 TEFMOD16_ABILITY_10G_DXGXS , /*!< please write comments */ 604 TEFMOD16_ABILITY_10P5G_DXGXS , /*!< please write comments */ 605 TEFMOD16_ABILITY_12P5_DXGXS , /*!< please write comments */ 606 TEFMOD16_ABILITY_20G_KR2_HIGIG , /*!< please write comments */ 607 TEFMOD16_ABILITY_20G_KR2 , /*!< please write comments */ 608 TEFMOD16_ABILITY_20G_CR2 , /*!< please write comments */ 609 TEFMOD16_ABILITY_15P75G_R2 , /*!< please write comments */ 610 TEFMOD16_ABILITY_100G_KR4 , /*!< please write comments */ 611 TEFMOD16_ABILITY_100G_CR4 , /*!< please write comments */ 612 TEFMOD16_ABILITY_40G_KR2 , /*!< please write comments */ 613 TEFMOD16_ABILITY_40G_CR2 , /*!< please write comments */ 614 TEFMOD16_ABILITY_50G_KR2 , /*!< please write comments */ 615 TEFMOD16_ABILITY_50G_CR2 , /*!< please write comments */ 616 TEFMOD16_ABILITY_50G_KR4 , /*!< please write comments */ 617 TEFMOD16_ABILITY_50G_CR4 , /*!< please write comments */ 618 TEFMOD16_ABILITY_20G_KR1 , /*!< please write comments */ 619 TEFMOD16_ABILITY_20G_CR1 , /*!< please write comments */ 620 TEFMOD16_ABILITY_25G_KR1 , /*!< please write comments */ 621 TEFMOD16_ABILITY_25G_CR1 , /*!< please write comments */ 622 TEFMOD16_ABILITY_ILLEGAL /*!< Illegal. Programmatic boundary */ 623 } tefmod16_tech_ability_t; 624 625 /*! \def CNT_tefmod_tech_ability_t Types of enum tefmod16_tech_ability_t */ 626 #define CNT_tefmod_tech_ability_t 33 627 628 /*! 629 \brief 630 This array returns the string version of the enum #tefmod16_port_type_t when indexed 631 by the enum var. 632 633 */ 634 extern char* e2s_tefmod16_tech_ability_t [CNT_tefmod_tech_ability_t]; 635 /*! 636 \brief 637 This array associates the enum #tefmod16_lane_select_t enum with a bit mask. 638 The index is the #tefmod16_lane_select_t enum value. The value for each entry is 639 interpreted as follows. If bit [n] is 1, then lane [n] is enabled; if bit [n] 640 is 0, then lane [n] is disabled. By enabled, we mean that such-and-such 641 function is to be called for a lane; by disabled, we mean that such-and-such 642 function is not to be called for a lane. So a value of 0xF indicates that all 643 lanes or enabled, while 0x5 indicates that only lanes 0 and 2 are enabled. 644 645 */ 646 extern int e2n_tefmod16_tech_ability_t [CNT_tefmod_tech_ability_t]; 647 /*! \enum tefmod16_cl37bam_ability_t 648 649 This array associates the enum #tefmod16_lane_select_t enum with a bit mask. 650 The index is the #tefmod16_lane_select_t enum value. The value for each entry is 651 interpreted as follows. If bit [n] is 1, then lane [n] is enabled; if bit [n] 652 is 0, then lane [n] is disabled. Enabled implies the function under 653 consideration be enebled for the lane. Disabled means the opposite. So a value 654 of 0xF indicates that all lanes or enabled, while 0x5 indicates that only lanes 655 0 and 2 are enabled. 656 657 tefmod16_cl37bam_ability_t enumerates different types of speed advertisements in the 658 basic autoneg page for CL37BAM only. 659 660 Currently all speeds have the following bit positions in tefmod16_st 661 662 \li TEFMOD16_BAM37ABL_2P5G Bit Pos: 0 663 \li TEFMOD16_BAM37ABL_5G_X4 Bit Pos: 1 664 \li TEFMOD16_BAM37ABL_6G_X4 Bit Pos: 2 665 \li TEFMOD16_BAM37ABL_10G_HIGIG Bit Pos: 3 666 \li TEFMOD16_BAM37ABL_10G_CX4 Bit Pos: 4 667 \li TEFMOD16_BAM37ABL_12G_X4 Bit Pos: 5 668 \li TEFMOD16_BAM37ABL_12P5_X4 Bit Pos: 6 669 \li TEFMOD16_BAM37ABL_13G_X4 Bit Pos: 7 670 \li TEFMOD16_BAM37ABL_15G_X4 Bit Pos: 8 671 \li TEFMOD16_BAM37ABL_16G_X4 Bit Pos: 9 672 \li TEFMOD16_BAM37ABL_20G_X4_CX4 Bit Pos: 10 673 \li TEFMOD16_BAM37ABL_20G_X4 Bit Pos: 11 674 \li TEFMOD16_BAM37ABL_21G_X4 Bit Pos: 12 675 \li TEFMOD16_BAM37ABL_25P455G Bit Pos: 13 676 \li TEFMOD16_BAM37ABL_31P5G Bit Pos: 14 677 \li TEFMOD16_BAM37ABL_32P7G Bit Pos: 15 678 \li TEFMOD16_BAM37ABL_40G Bit Pos: 16 679 \li TEFMOD16_BAM37ABL_10G_X2_CX4 Bit Pos: 17 680 \li TEFMOD16_BAM37ABL_10G_DXGXS Bit Pos: 18 681 \li TEFMOD16_BAM37ABL_10P5G_DXGXS Bit Pos: 19 682 \li TEFMOD16_BAM37ABL_12P7_DXGXS Bit Pos: 20 683 \li TEFMOD16_BAM37ABL_15P75G_R2 Bit Pos: 21 684 \li TEFMOD16_BAM37ABL_20G_X2_CX4 Bit Pos: 22 685 \li TEFMOD16_BAM37ABL_20G_X2 Bit Pos: 23 686 687 688 */ 689 690 typedef enum { 691 TEFMOD16_BAM37ABL_2P5G = 0 , /*!< X1 BRCM */ 692 TEFMOD16_BAM37ABL_5G_X4 , /*!< BRCM */ 693 TEFMOD16_BAM37ABL_6G_X4 , /*!< BRCM */ 694 TEFMOD16_BAM37ABL_10G_HIGIG , /*!< HG (10G_X4) */ 695 TEFMOD16_BAM37ABL_10G_CX4 , /*!< (10G_X4_CX4) */ 696 TEFMOD16_BAM37ABL_12G_X4 , /*!< HG */ 697 TEFMOD16_BAM37ABL_12P5_X4 , /*!< HG */ 698 TEFMOD16_BAM37ABL_13G_X4 , /*!< HG */ 699 TEFMOD16_BAM37ABL_15G_X4 , /*!< HG */ 700 TEFMOD16_BAM37ABL_16G_X4 , /*!< HG */ 701 TEFMOD16_BAM37ABL_20G_X4_CX4 , /*!< XAUI 8b10b scram(20G_X4S) */ 702 TEFMOD16_BAM37ABL_20G_X4 , /*!< HG */ 703 TEFMOD16_BAM37ABL_21G_X4 , /*!< HG */ 704 TEFMOD16_BAM37ABL_25P455G , /*!< X4 HG */ 705 TEFMOD16_BAM37ABL_31P5G , /*!< X4 HG */ 706 TEFMOD16_BAM37ABL_32P7G , /*!< X4 HG */ 707 TEFMOD16_BAM37ABL_40G , /*!< X4 BRCM HG (40G_X4) */ 708 TEFMOD16_BAM37ABL_10G_X2_CX4 , /*!< 10G_X2_CX4 */ 709 TEFMOD16_BAM37ABL_10G_DXGXS , /*!< 10G_X2 */ 710 TEFMOD16_BAM37ABL_10P5G_DXGXS , /*!< 10P5_X2 */ 711 TEFMOD16_BAM37ABL_12P7_DXGXS , /*!< 12P7_X2 */ 712 TEFMOD16_BAM37ABL_15P75G_R2 , /*!< 15P75_X2 */ 713 TEFMOD16_BAM37ABL_20G_X2_CX4 , /*!< 20G_X2_CX4 */ 714 TEFMOD16_BAM37ABL_20G_X2 , /*!< 20G_X2 */ 715 TEFMOD16_BAM37ABL_ILLEGAL /*!< Illegal. Programmatic boundary */ 716 } tefmod16_cl37bam_ability_t; 717 718 /*! \def CNT_tefmod_cl37bam_ability_t Types of enum tefmod16_cl37bam_ability_t */ 719 #define CNT_tefmod_cl37bam_ability_t 25 720 721 /*! 722 \brief 723 This array returns the string version of the enum #tefmod16_port_type_t when indexed 724 by the enum var. 725 726 */ 727 extern char* e2s_tefmod16_cl37bam_ability_t [CNT_tefmod_cl37bam_ability_t]; 728 /*! \enum tefmod16_diag_an_type_t 729 730 This array associates the enum #tefmod16_lane_select_t enum with a bit mask. 731 The index is the #tefmod16_lane_select_t enum value. The value for each entry is 732 interpreted as follows. If bit [n] is 1, then lane [n] is enabled; if bit [n] 733 is 0, then lane [n] is disabled. By enabled, we mean that such-and-such 734 function is to be called for a lane; by disabled, we mean that such-and-such 735 function is not to be called for a lane. So a value of 0xF indicates that all 736 lanes or enabled, while 0x5 indicates that only lanes 0 and 2 are enabled. 737 738 */ 739 740 typedef enum { 741 TEFMOD16_DIAG_AN_DONE = 0 , /*!< AN completion check */ 742 TEFMOD16_DIAG_AN_HCD , /*!< AN HCD speed check */ 743 TEFMOD16_DIAG_AN_TYPE_ILLEGAL /*!< Illegal value. programmatic boundary */ 744 } tefmod16_diag_an_type_t; 745 746 /*! \def CNT_tefmod_diag_an_type_t Types of enum tefmod16_diag_an_type_t */ 747 #define CNT_tefmod_diag_an_type_t 3 748 749 /*! 750 \brief 751 This array returns the string version of the enum #tefmod16_port_type_t when indexed 752 by the enum var. 753 754 */ 755 extern char* e2s_tefmod16_diag_an_type_t [CNT_tefmod_diag_an_type_t]; 756 /*! \enum tefmod16_tier1_function_type_t 757 758 This array associates the enum #tefmod16_lane_select_t enum with a bit mask. 759 The index is the #tefmod16_lane_select_t enum value. The value for each entry is 760 interpreted as follows. If bit [n] is 1, then lane [n] is enabled; if bit [n] 761 is 0, then lane [n] is disabled. By enabled, we mean that such-and-such 762 function is to be called for a lane; by disabled, we mean that such-and-such 763 function is not to be called for a lane. So a value of 0xF indicates that all 764 lanes or enabled, while 0x5 indicates that only lanes 0 and 2 are enabled. 765 766 */ 767 768 typedef enum { 769 PCS_BYPASS_CTL = 0 , /*!< tefmod16_pcs_bypass_ctl */ 770 CREDIT_SET , /*!< tefmod16_credit_set */ 771 ENCODE_SET , /*!< tefmod16_encode_set */ 772 DECODE_SET , /*!< tefmod16_decode_set */ 773 CREDIT_CONTROL , /*!< tefmod16_credit_control */ 774 AFE_SPEED_UP_DSC_VGA , /*!< tefmod16_afe_speed_up_dsc_vga */ 775 TX_LANE_CONTROL , /*!< tefmod16_tx_lane_control */ 776 RX_LANE_CONTROL , /*!< tefmod16_rx_lane_control */ 777 TX_LANE_DISABLE , /*!< tefmod16_tx_lane_disable */ 778 POWER_CONTROL , /*!< tefmod16_power_control */ 779 AUTONEG_SET , /*!< tefmod16_autoneg_set */ 780 AUTONEG_GET , /*!< tefmod16_autoneg_get */ 781 AUTONEG_CONTROL , /*!< tefmod16_autoneg_control */ 782 AUTONEG_PAGE_SET , /*!< tefmod16_autoneg_page_set */ 783 REG_READ , /*!< tefmod16_reg_read */ 784 REG_WRITE , /*!< tefmod16_reg_write */ 785 PRBS_CHECK , /*!< tefmod16_prbs_check */ 786 CJPAT_CRPAT_CONTROL , /*!< tefmod16_cjpat_crpat_control */ 787 CJPAT_CRPAT_CHECK , /*!< tefmod16_cjpat_crpat_check */ 788 TEFMOD16_DIAG , /*!< tefmod16_diag */ 789 LANE_SWAP , /*!< tefmod16_lane_swap */ 790 PARALLEL_DETECT_CONTROL , /*!< tefmod16_parallel_detect_control */ 791 CLAUSE_72_CONTROL , /*!< tefmod16_clause72_control */ 792 PLL_SEQUENCER_CONTROL , /*!< tefmod16_pll_sequencer_control */ 793 PLL_LOCK_WAIT , /*!< tefmod16_pll_lock_wait */ 794 DUPLEX_CONTROL , /*!< tefmod16_duplex_control */ 795 REVID_READ , /*!< tefmod16_revid_read */ 796 BYPASS_SC , /*!< tefmod16_bypass_sc */ 797 SET_POLARITY , /*!< tefmod16_tx_rx_polarity */ 798 SET_PORT_MODE , /*!< tefmod16_set_port_mode */ 799 SET_AN_PORT_MODE , /*!< tefmod16_set_an_port_mode */ 800 PRBS_CONTROL , /*!< tefmod16_prbs_control */ 801 PRBS_MODE , /*!< tefmod16_prbs_mode */ 802 SOFT_RESET , /*!< tefmod16_soft_reset */ 803 SET_SPD_INTF , /*!< tefmod16_set_spd_intf */ 804 TX_BERT_CONTROL , /*!< tefmod16_tx_bert_control */ 805 RX_LOOPBACK_CONTROL , /*!< tefmod16_rx_loopback_control */ 806 RX_PMD_LOOPBACK_CONTROL , /*!< tefmod16_rx_pmd_loopback_control */ 807 TX_LOOPBACK_CONTROL , /*!< tefmod16_tx_loopback_control */ 808 TX_PMD_LOOPBACK_CONTROL , /*!< tefmod16_tx_pmd_loopback_control */ 809 CORE_RESET , /*!< tefmod16_core_reset */ 810 REFCLK_SET , /*!< tefmod16_refclk_set */ 811 WAIT_PMD_LOCK , /*!< tefmod16_wait_pmd_lock */ 812 FIRMWARE_SET , /*!< tefmod16_firmware_set */ 813 INIT_PCS_FALCON , /*!< tefmod16_init_pcs_falcon */ 814 DISABLE_PCS_FALCON , /*!< tefmod16_disable_pcs_falcon */ 815 INIT_PMD_FALCON , /*!< tefmod16_init_pmd_falcon */ 816 PMD_LANE_SWAP_TX , /*!< tefmod16_pmd_lane_swap_tx */ 817 PMD_LANE_SWAP , /*!< tefmod16_pmd_lane_swap */ 818 PCS_LANE_SWAP , /*!< tefmod16_pcs_lane_swap */ 819 SET_SC_SPEED , /*!< tefmod16_set_sc_speed */ 820 CHECK_SC_STATS , /*!< tefmod16_check_status */ 821 SET_OVERRIDE_0 , /*!< tefmod16_set_override_0 */ 822 SET_OVERRIDE_1 , /*!< tefmod16_set_override_1 */ 823 PMD_RESET_REMOVE , /*!< tefmod16_pmd_reset_remove */ 824 PMD_RESET_BYPASS , /*!< tefmod16_pmd_reset_bypass */ 825 INIT_PCS_ILKN , /*!< tefmod16_init_pcs_ilkn */ 826 TOGGLE_SW_SPEED_CHANGE , /*!< tefmod16_toggle_sw_speed_change */ 827 TIER1_FUNCTION_ILLEGAL /*!< illegal */ 828 } tefmod16_tier1_function_type_t; 829 830 /*! \def CNT_tefmod_tier1_function_type_t Types of enum tefmod16_tier1_function_type_t */ 831 #define CNT_tefmod_tier1_function_type_t 59 832 833 /*! 834 \brief 835 This array returns the string version of the enum #tefmod16_port_type_t when indexed 836 by the enum var. 837 838 */ 839 extern char* e2s_tefmod16_tier1_function_type_t [CNT_tefmod_tier1_function_type_t]; 840 /*! \enum tefmod16_fec_en_parm_t 841 842 For passing parameters to tefmod16_FEC_control. 843 844 */ 845 846 typedef enum { 847 TEFMOD16_CL91_TX_EN_DIS = 0x01 , /*!< Enable / Disable CL91 TX */ 848 TEFMOD16_CL91_RX_EN_DIS = 0x02 , /*!< Enable / Disable CL91 RX */ 849 TEFMOD16_CL91_IND_ONLY_EN_DIS = 0x04 , /*!< Enable / Disable CL91 indication only */ 850 TEFMOD16_CL91_COR_ONLY_EN_DIS = 0x08 , /*!< Enable / Disable CL91 correction only */ 851 TEFMOD16_CL74_TX_EN_DIS = 0x10 , /*!< Enable / Disable CL74 TX */ 852 TEFMOD16_CL74_RX_EN_DIS = 0x20 , /*!< Enable / Disable CL74 RX */ 853 TEFMOD16_CL74_CL91_EN_DIS = 0x40 /*!< Enable / Disable CL74CL91 for autoneg */ 854 } tefmod16_fec_en_parm_t; 855 856 /*! \def CNT_tefmod_fec_en_parm_t Types of enum tefmod16_fec_en_parm_t */ 857 #define CNT_tefmod_fec_en_parm_t 7 858 859 /*! 860 \brief 861 This array returns the string version of the enum #tefmod16_port_type_t when indexed 862 by the enum var. 863 864 */ 865 extern char* e2s_tefmod16_fec_en_parm_t [CNT_tefmod_fec_en_parm_t]; 866 867 /*! \enum tefmod16_fec_type_t 868 869 For passing parameters to tefmod16_FEC_control. 870 871 */ 872 873 typedef enum { 874 TEFMOD16_CL74 = 0x01 , /*!< Enable / enable CL74 TX/RX */ 875 TEFMOD16_CL91 = 0x02 , /*!< Enable / enable CL91 TX/RX */ 876 TEFMOD16_CL108 = 0x03 /*!< Enable / enable CL108 TX/RX */ 877 } tefmod16_fec_type_t; 878 879 /*! \def CNT_tefmod_fec_type_t Types of enum tefmod16_fec_en_parm_t */ 880 #define CNT_tefmod_fec_type_t 3 881 882 /*! 883 \brief 884 This array returns the string version of the enum #tefmod16_port_type_t when indexed 885 by the enum var. 886 887 */ 888 extern char* e2s_tefmod16_fec_type_t [CNT_tefmod_fec_type_t]; 889 890 891 892 /*! \enum tefmod16_tx_disable_enum_t 893 894 For various tx disable condition use this enum. 895 896 */ 897 898 typedef enum { 899 TEFMOD16_TX_LANE_RESET = 0, 900 TEFMOD16_TX_LANE_TRAFFIC_ENABLE = 1, 901 TEFMOD16_TX_LANE_TRAFFIC_DISABLE = 2, 902 TEFMOD16_TX_LANE_RESET_TRAFFIC_ENABLE = 3, 903 TEFMOD16_TX_LANE_RESET_TRAFFIC_DISABLE = 4, 904 TEFMOD16_TX_LANE_TYPE_COUNT 905 } tefmod16_tx_disable_enum_t; 906 907 /*! \def CNT_tefmod_tx_disable_enum_t Types of enum tefmod16_tx_disable_enum_t */ 908 #define CNT_tefmod_tx_disable_enum_t 2 909 910 /*! 911 \brief 912 This array returns the string version of the enum #tefmod16_port_type_t when indexed 913 by the enum var. 914 915 */ 916 extern char* e2s_tefmod16_tx_disable_enum_t [CNT_tefmod_tx_disable_enum_t]; 917 /*! \enum tefmod16_os_mode_type 918 919 920 The oversampling mode means that bits are sent out more than once to reduce 921 the effective frequency of data transfer. For example you can send 5G bits 922 over a 10G bit lane by sending every bit twice, or OS=2. When the OS is 3.3 923 it's a bit tricky, we send bits 3 or 4 times in a pattern like so 924 3,3,3,4,3,3,3,4,... Similarly for OS = 8, we send 8,8,8,9,8,8,8,9,... 925 926 927 */ 928 929 typedef enum { 930 TEFMOD16_PMA_OS_MODE_1 = 0 , /*!< Over sampling Mode 1 */ 931 TEFMOD16_PMA_OS_MODE_2 = 1 , /*!< Over sampling Mode 2 */ 932 TEFMOD16_PMA_OS_MODE_4 = 2 , /*!< Over sampling Mode 4 */ 933 TEFMOD16_PMA_OS_MODE_16_25 = 8 , /*!< Over sampling Mode 8.25 */ 934 TEFMOD16_PMA_OS_MODE_20_625 = 12 , /*!< Over sampling Mode 10 */ 935 TEFMOD16_PMA_OS_MODE_ILLEGAL = 15 /*!< Over sampling Mode Illegal */ 936 } tefmod16_os_mode_type; 937 938 /*! \def CNT_tefmod_os_mode_type Types of enum tefmod16_os_mode_type */ 939 #define CNT_tefmod_os_mode_type 6 940 941 /*! 942 \brief 943 This array returns the string of #tefmod16_os_mode_type when indexed by the enum. 944 945 */ 946 extern char* e2s_tefmod16_os_mode_type [CNT_tefmod_os_mode_type]; 947 /*! 948 \brief 949 This array returns the over sampling value of #tefmod16_os_mode_type when indexed by 950 the enum. For floating values 3.3 and 8.25 it returns 33 and 825. 951 952 */ 953 extern int e2n_tefmod16_os_mode_type [CNT_tefmod_os_mode_type]; 954 /*! \enum tefmod16_scr_mode 955 956 This mode indicates how many bits of a 'frame' will be scrambled. We have either 957 66 or 80 bits per frame (depending on 8b10b or 64b66b encoding). Normally 958 scrambling is 959 960 \li bypassed for baud rates under 6.25G (0). 961 \li we scramble all 66 bits (1) 962 \li all 80 bits(2) 963 \li only 64 of the 66b (3). i.e we don't scramble the 'sync' bits. 964 965 */ 966 967 typedef enum { 968 TEFMOD16_SCR_MODE_BYPASS = 0 , /*!< Scrambling Mode bypassed */ 969 TEFMOD16_SCR_MODE_CL49 = 1 , /*!< Scrambling Mode 66B */ 970 TEFMOD16_SCR_MODE_40G_2_LANE = 2 , /*!< Scrambling Mode 80B */ 971 TEFMOD16_SCR_MODE_100G = 3 , /*!< Scrambling Mode 64B */ 972 TEFMOD16_SCR_MODE_20G = 4 , /*!< Scrambling Mode 64B */ 973 TEFMOD16_SCR_MODE_40G_4_LANE = 5 , /*!< Scrambling Mode 64B */ 974 TEFMOD16_SCR_MODE_ILLEGAL = 15 /*!< SCR Mode Mode Illegal */ 975 } tefmod16_scr_mode; 976 977 /*! \def CNT_tefmod_scr_mode Types of enum tefmod16_scr_mode */ 978 #define CNT_tefmod_scr_mode 7 979 980 /*! 981 \brief 982 This array returns the string of #tefmod16_scr_mode when indexed by the enum. 983 984 */ 985 extern char* e2s_tefmod16_scr_mode [CNT_tefmod_scr_mode]; 986 /*! 987 \brief 988 This array returns the scrambling mode of #tefmod16_scr_mode when indexed by 989 the enum. 990 991 */ 992 extern int e2n_tefmod16_scr_mode [CNT_tefmod_scr_mode]; 993 /*! \enum tefmod16_encode_mode 994 995 Serial bits are encoded when transmitted. The encoding depends on the baud rate 996 and the link type 997 \li 000 All encoding functions disabled for lane 998 \li 001 8b10b (cl48 ) 999 \li 010 8b10b (cl48 rxaui) 1000 \li 011 8b10b (cl36 ) 1001 \li 100 64b66b (cl82 ) 1002 \li 101 64b66b (cl49 ) 1003 \li 110 64b66b (brcm ) 1004 1005 */ 1006 1007 typedef enum { 1008 TEFMOD16_ENCODE_MODE_NONE = 0 , /*!< Encoding Mode NONE */ 1009 TEFMOD16_ENCODE_MODE_CL49 = 1 , /*!< Encoding Mode CL49 */ 1010 TEFMOD16_ENCODE_MODE_CL82 = 2 , /*!< Encoding Mode CL82 */ 1011 TEFMOD16_ENCODE_MODE_ILLEGAL = 15 /*!< Encoding Mode Illegal */ 1012 } tefmod16_encode_mode; 1013 1014 /*! \def CNT_tefmod_encode_mode Types of enum tefmod16_encode_mode */ 1015 #define CNT_tefmod_encode_mode 4 1016 1017 /*! 1018 \brief 1019 This array returns the string of #tefmod16_encode_mode when indexed by the enum. 1020 1021 */ 1022 extern char* e2s_tefmod16_encode_mode [CNT_tefmod_encode_mode]; 1023 /*! 1024 \brief 1025 This array returns the encoding mode of #tefmod16_encode_mode when indexed by 1026 the enum. 1027 1028 */ 1029 extern int e2n_tefmod16_encode_mode [CNT_tefmod_encode_mode]; 1030 /*! \enum tefmod16_descrambler_mode 1031 1032 The descrambling must match the scrambling done at the transmitting port. 1033 1034 */ 1035 1036 typedef enum { 1037 TEFMOD16_R_DESCR_MODE_BYPASS = 0 , /*!< No descrambling */ 1038 TEFMOD16_R_DESCR_MODE_CL49 = 1 , /*!< CL49 */ 1039 TEFMOD16_R_DESCR_MODE_CL82 = 2 , /*!< CL82 */ 1040 TEFMOD16_R_DESCR_MODE_ILLEGAL = 3 /*!< Illegal */ 1041 } tefmod16_descrambler_mode; 1042 1043 /*! \def CNT_tefmod_descrambler_mode Types of enum tefmod16_descrambler_mode */ 1044 #define CNT_tefmod_descrambler_mode 4 1045 1046 /*! 1047 \brief 1048 This array returns the string of #tefmod16_descrambler_mode when indexed by the enum. 1049 1050 */ 1051 extern char* e2s_tefmod16_descrambler_mode [CNT_tefmod_descrambler_mode]; 1052 /*! \enum tefmod16_dec_tl_mode 1053 1054 The descrambling must match the scrambling done at the transmitting port. 1055 1056 */ 1057 1058 typedef enum { 1059 TEFMOD16_DEC_TL_MODE_NONE = 0 , /*!< decoder mode NONE */ 1060 TEFMOD16_DEC_TL_MODE_CL49 = 1 , /*!< decoder mode CL49 */ 1061 TEFMOD16_DEC_TL_MODE_CL82 = 2 , /*!< decoder mode CL82 */ 1062 TEFMOD16_DEC_TL_MODE_ILLEGAL = 7 /*!< decoder mode ILLEGAL */ 1063 } tefmod16_dec_tl_mode; 1064 1065 /*! \def CNT_tefmod_dec_tl_mode Types of enum tefmod16_dec_tl_mode */ 1066 #define CNT_tefmod_dec_tl_mode 4 1067 1068 /*! 1069 \brief 1070 This array returns the string of #tefmod16_dec_tl_mode when indexed by the enum. 1071 1072 */ 1073 extern char* e2s_tefmod16_dec_tl_mode [CNT_tefmod_dec_tl_mode]; 1074 /*! \enum tefmod16_dec_fsm_mode 1075 1076 The descrambling must match the scrambling done at the transmitting port. 1077 1078 */ 1079 1080 typedef enum { 1081 TEFMOD16_DEC_FSM_MODE_NONE = 0 , /*!< decoder mode NONE */ 1082 TEFMOD16_DEC_FSM_MODE_CL49 = 1 , /*!< decoder mode CL49 */ 1083 TEFMOD16_DEC_FSM_MODE_CL82 = 2 , /*!< decoder mode CL82 */ 1084 TEFMOD16_DEC_FSM_MODE_ILLEGAL = 7 /*!< decoder mode ILLEGAL */ 1085 } tefmod16_dec_fsm_mode; 1086 1087 /*! \def CNT_tefmod_dec_fsm_mode Types of enum tefmod16_dec_fsm_mode */ 1088 #define CNT_tefmod_dec_fsm_mode 4 1089 1090 /*! 1091 \brief 1092 This array returns the string of #tefmod16_dec_fsm_mode when indexed by the enum. 1093 1094 */ 1095 extern char* e2s_tefmod16_dec_fsm_mode [CNT_tefmod_dec_fsm_mode]; 1096 /*! \enum tefmod16_deskew_mode 1097 1098 Deskew Mode is a function of speed. 1099 1100 */ 1101 1102 typedef enum { 1103 TEFMOD16_R_DESKEW_MODE_BYPASSi = 0 , /*!< deskew mode BYPASS */ 1104 TEFMOD16_R_DESKEW_MODE_10G = 1 , /*!< deskew mode 10G */ 1105 TEFMOD16_R_DESKEW_MODE_40G_4_LANE = 2 , /*!< deskew mode 40G_4_LANE */ 1106 TEFMOD16_R_DESKEW_MODE_40G_2_LANE = 3 , /*!< deskew mode 40G_2_LANE */ 1107 TEFMOD16_R_DESKEW_MODE_100G = 4 , /*!< deskew mode 100G */ 1108 TEFMOD16_R_DESKEW_MODE_CL49 = 5 , /*!< deskew mode CL49 */ 1109 TEFMOD16_R_DESKEW_MODE_CL91 = 6 , /*!< deskew mode CL91 */ 1110 TEFMOD16_R_DESKEW_MODE_ILLEGAL = 7 /*!< deskew mode ILLEGAL */ 1111 } tefmod16_deskew_mode; 1112 1113 /*! \def CNT_tefmod_deskew_mode Types of enum tefmod16_deskew_mode */ 1114 #define CNT_tefmod_deskew_mode 8 1115 1116 /*! 1117 \brief 1118 This array returns the string of #tefmod16_deskew_mode when indexed by the enum. 1119 1120 */ 1121 extern char* e2s_tefmod16_deskew_mode [CNT_tefmod_deskew_mode]; 1122 /*! \enum tefmod16_t_fifo_mode 1123 1124 1125 */ 1126 1127 typedef enum { 1128 TEFMOD16_T_FIFO_MODE_NONE = 0 , /*!< t_fifo mode NONE */ 1129 TEFMOD16_T_FIFO_MODE_40G = 1 , /*!< t_fifo mode 40G */ 1130 TEFMOD16_T_FIFO_MODE_100G = 2 , /*!< t_fifo mode 100G */ 1131 TEFMOD16_T_FIFO_MODE_20G = 3 , /*!< t_fifo mode 20G */ 1132 TEFMOD16_T_FIFO_MODE_ILLEGAL = 7 /*!< t_fifo mode ILLEGAL */ 1133 } tefmod16_t_fifo_mode; 1134 1135 /*! \def CNT_tefmod_t_fifo_mode Types of enum tefmod16_t_fifo_mode */ 1136 #define CNT_tefmod_t_fifo_mode 5 1137 1138 /*! 1139 \brief 1140 This array returns the string of #tefmod16_t_fifo_mode when indexed by the enum. 1141 1142 */ 1143 extern char* e2s_tefmod16_t_fifo_mode [CNT_tefmod_t_fifo_mode]; 1144 /*! \enum tefmod16_bs_btmx_mode 1145 1146 1147 */ 1148 1149 typedef enum { 1150 TEFMOD16_BS_BTMX_MODE_NONE = 0 , /*!< bs_btmx mode NONE */ 1151 TEFMOD16_BS_BTMX_MODE_1to1 = 1 , /*!< bs_btmx mode 1to1 */ 1152 TEFMOD16_BS_BTMX_MODE_2to1 = 2 , /*!< bs_btmx mode 2to1 */ 1153 TEFMOD16_BS_BTMX_MODE_5to1 = 2 , /*!< bs_btmx mode 5to1 */ 1154 TEFMOD16_BS_BTMX_MODE_ILLEGAL = 7 /*!< bs_btmx mode ILLEGAL */ 1155 } tefmod16_bs_btmx_mode; 1156 1157 /*! \def CNT_tefmod_bs_btmx_mode Types of enum tefmod16_bs_btmx_mode */ 1158 #define CNT_tefmod_bs_btmx_mode 5 1159 1160 /*! 1161 \brief 1162 This array returns the string of #tefmod16_bs_btmx_mode when indexed by the enum. 1163 1164 */ 1165 extern char* e2s_tefmod16_bs_btmx_mode [CNT_tefmod_bs_btmx_mode]; 1166 /*! \enum tefmod16_bs_dist_mode 1167 1168 1169 */ 1170 1171 typedef enum { 1172 TEFMOD16_BS_DIST_MODE_5_LANE_TDM = 0 , /*!< bs_dist mode 5LN_TDM */ 1173 TEFMOD16_BS_DIST_MODE_2_LANE_TDM_2_VLANE = 1 , /*!< bs_dist mode 2LN_TDM_2VLN */ 1174 TEFMOD16_BS_DIST_MODE_2_LANE_TDM_1_VLANE = 2 , /*!< bs_dist mode 2LN_TDM_1VLN */ 1175 TEFMOD16_BS_DIST_MODE_NO_TDM = 3 , /*!< bs_dist mode NO_TDM */ 1176 TEFMOD16_BS_DIST_MODE_ILLEGAL = 7 /*!< bs_dist mode ILLEGAL */ 1177 } tefmod16_bs_dist_mode; 1178 1179 /*! \def CNT_tefmod_bs_dist_mode Types of enum tefmod16_bs_dist_mode */ 1180 #define CNT_tefmod_bs_dist_mode 5 1181 1182 /*! 1183 \brief 1184 This array returns the string of #tefmod16_bs_dist_mode when indexed by the enum. 1185 1186 */ 1187 extern char* e2s_tefmod16_bs_dist_mode [CNT_tefmod_bs_dist_mode]; 1188 1189 typedef enum { 1190 TEFMOD16_AN_PROPERTY_ENABLE_NONE = 0x00000000 , /*!< */ 1191 TEFMOD16_AN_PROPERTY_ENABLE_HPAM_TO_CL73_AUTO = 0x00000001 , /*!< */ 1192 TEFMOD16_AN_PROPERTY_ENABLE_CL73_BAM_TO_HPAM_AUTO = 0x00000002 , /*!< */ 1193 TEFMOD16_AN_PROPERTY_ENABLE_ILLEGAL = 0x00000004 /*!< */ 1194 } an_property_enable; 1195 1196 /*! \def CNT_an_property_enable Types of enum an_property_enable */ 1197 #define CNT_an_property_enable 4 1198 1199 typedef enum { 1200 TEFMOD16_PLL_MODE_DIV_ZERO = 0, /* Divide value to be determined by API. */ 1201 TEFMOD16_PLL_MODE_DIV_80 = 0x00000050UL, /* Divide by 80 */ 1202 TEFMOD16_PLL_MODE_DIV_96 = 0x00000060UL, /* Divide by 96 */ 1203 TEFMOD16_PLL_MODE_DIV_100 = 0x00000064UL, /* Divide by 100 */ 1204 TEFMOD16_PLL_MODE_DIV_120 = 0x00000078UL, /* Divide by 120 */ 1205 TEFMOD16_PLL_MODE_DIV_127P401984 = 0x66E8707FUL, /* Divide by 127.401984 */ 1206 TEFMOD16_PLL_MODE_DIV_128 = 0x00000080UL, /* Divide by 128 */ 1207 TEFMOD16_PLL_MODE_DIV_132 = 0x00000084UL, /* Divide by 132 */ 1208 TEFMOD16_PLL_MODE_DIV_140 = 0x0000008CUL, /* Divide by 140 */ 1209 TEFMOD16_PLL_MODE_DIV_144 = 0x00000090UL, /* Divide by 144 */ 1210 TEFMOD16_PLL_MODE_DIV_147P2 = 0x33333093UL, /* Divide by 147.2 */ 1211 TEFMOD16_PLL_MODE_DIV_158P4 = 0x6666609EUL, /* Divide by 158.4 */ 1212 TEFMOD16_PLL_MODE_DIV_160 = 0x000000A0UL, /* Divide by 160 */ 1213 TEFMOD16_PLL_MODE_DIV_165 = 0x000000A5UL, /* Divide by 165 */ 1214 TEFMOD16_PLL_MODE_DIV_168 = 0x000000A8UL, /* Divide by 168 */ 1215 TEFMOD16_PLL_MODE_DIV_175 = 0x000000AFUL, /* Divide by 175 */ 1216 TEFMOD16_PLL_MODE_DIV_180 = 0x000000B4UL, /* Divide by 180 */ 1217 TEFMOD16_PLL_MODE_DIV_184 = 0x000000B8UL, /* Divide by 184 */ 1218 TEFMOD16_PLL_MODE_DIV_192 = 0x000000C0UL, /* Divide by 192 */ 1219 TEFMOD16_PLL_MODE_DIV_198 = 0x000000C6UL, /* Divide by 198 */ 1220 TEFMOD16_PLL_MODE_DIV_200 = 0x000000C8UL, /* Divide by 200 */ 1221 TEFMOD16_PLL_MODE_DIV_224 = 0x000000E0UL, /* Divide by 224 */ 1222 TEFMOD16_PLL_MODE_DIV_240 = 0x000000F0UL, /* Divide by 240 */ 1223 TEFMOD16_PLL_MODE_DIV_264 = 0x00000108UL, /* Divide by 264 */ 1224 TEFMOD16_PLL_MODE_DIV_280 = 0x00000118UL /* Divide by 280 */ 1225 } tefmod16_pll_mode_type; 1226 1227 1228 #endif /* _TSCFMOD16_ENUM_DEFINES_H */