openbcm

Git mirror of https://github.com/Broadcom-Network-Switching-Software/OpenBCM
git clone git://git.finwo.net/mirror/broadcom/openbcm
Log | Files | Refs | README

tefmod_enum_defines.h (52058B)


      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 tefmod development team.
     29  */
     30 
     31 #ifndef _TSCFMOD_ENUM_DEFINES_H
     32 #define _TSCFMOD_ENUM_DEFINES_H
     33 
     34 /*! \enum tefmod_lane_select_t 
     35 
     36 tefmod_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 TEFMOD_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   TEFMOD_LANE_0_0_0_0        = 0   ,  /*!< No lane              selected   */
     49   TEFMOD_LANE_0_0_0_1              ,  /*!< lane number  0       selected   */
     50   TEFMOD_LANE_0_0_1_0              ,  /*!< lane number  1       selected   */
     51   TEFMOD_LANE_0_0_1_1              ,  /*!< lane numbers 0,1     selected   */
     52   TEFMOD_LANE_0_1_0_0              ,  /*!< lane number  2       selected   */
     53   TEFMOD_LANE_0_1_0_1              ,  /*!< lane numbers 2,0     selected   */
     54   TEFMOD_LANE_0_1_1_0              ,  /*!< lane numbers 2,1     selected   */
     55   TEFMOD_LANE_0_1_1_1              ,  /*!< lane numbers 2,1,0   selected   */
     56   TEFMOD_LANE_1_0_0_0              ,  /*!< lane number  3       selected   */
     57   TEFMOD_LANE_1_0_0_1              ,  /*!< lane numbers 3,0     selected   */
     58   TEFMOD_LANE_1_0_1_0              ,  /*!< lane numbers 3,1     selected   */
     59   TEFMOD_LANE_1_0_1_1              ,  /*!< lane numbers 3,1,0   selected   */
     60   TEFMOD_LANE_1_1_0_0              ,  /*!< lane numbers 3,2     selected   */
     61   TEFMOD_LANE_1_1_0_1              ,  /*!< lane numbers 3,2,0   selected   */
     62   TEFMOD_LANE_1_1_1_0              ,  /*!< lane numbers 3,2,1   selected   */
     63   TEFMOD_LANE_1_1_1_1              ,  /*!< lane numbers 3,2,1,0 selected   */
     64   TEFMOD_LANE_BCST                 ,  /*!< lane numbers 3,2,1,0 BCST       */
     65   TEFMOD_LANE_ILLEGAL                /*!< Illegal (programmatic boundary) */
     66 } tefmod_lane_select_t;
     67 
     68 /*! \def CNT_tefmod_lane_select_t Types of enum tefmod_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 #tefmod_lane_select_t when
     74 indexed by the enum var.
     75 
     76 */
     77 extern char* e2s_tefmod_lane_select_t [CNT_tefmod_lane_select_t];
     78 /*!
     79 \brief
     80 This array associates the enum #tefmod_lane_select_t enum with a bit mask.
     81 The index is the #tefmod_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_tefmod_lane_select_t [CNT_tefmod_lane_select_t];
     90 /*! \enum tefmod_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   TEFMOD_SPD_ZERO            = 0   ,  /*!< Illegal value (enum boundary)   */
    104   TEFMOD_SPD_10_SGMII              ,  /*!< 10Mb SGMII (serial)             */
    105   TEFMOD_SPD_100_SGMII             ,  /*!< 100Mb SGMII (serial)            */
    106   TEFMOD_SPD_1000_SGMII            ,  /*!< 1Gb SGMII (serial)              */
    107   TEFMOD_SPD_2500                  ,  /*!< 2.5Gb  based on 1000BASE-X      */
    108   TEFMOD_SPD_10000_XFI             ,  /*!< 10Gb serial XFI                 */
    109   TEFMOD_SPD_10600_XFI_HG          ,  /*!< 10.5Gb serial XFI (HgSOLO)      */
    110   TEFMOD_SPD_20000_XFI             ,  /*!< 20Gb serial XFI                 */
    111   TEFMOD_SPD_21200_XFI_HG          ,  /*!< 21.2Gb serial XFI (HgSOLO)      */
    112   TEFMOD_SPD_25000_XFI             ,  /*!< 25Gb serial XFI                 */
    113   TEFMOD_SPD_26500_XFI_HG          ,  /*!< 26.5Gb serial XFI (HgSOLO)      */
    114   TEFMOD_SPD_20G_MLD_X2            ,  /*!< 20Gb serial XFI                 */
    115   TEFMOD_SPD_21G_MLD_HG_X2         ,  /*!< 21.5Gb serial XFI (HgSOLO)      */
    116   TEFMOD_SPD_40G_MLD_X2            ,  /*!< 40Gb serial XFI                 */
    117   TEFMOD_SPD_42G_MLD_HG_X2         ,  /*!< 42.4Gb serial XFI (HgSOLO)      */
    118   TEFMOD_SPD_40G_MLD_X4            ,  /*!< 40Gb serial XFI                 */
    119   TEFMOD_SPD_42G_MLD_HG_X4         ,  /*!< 42.4Gb serial XFI (HgSOLO)      */
    120   TEFMOD_SPD_50G_MLD_X2            ,  /*!< 50Gb serial XFI                 */
    121   TEFMOD_SPD_53G_MLD_HG_X2         ,  /*!< 53.0Gb serial XFI (HgSOLO)      */
    122   TEFMOD_SPD_100G_MLD_X4           ,  /*!< 100Gb serial XFI                */
    123   TEFMOD_SPD_106G_MLD_HG_X4        ,  /*!< 106.0Gb serial XFI (HgSOLO)     */
    124   TEFMOD_SPD_10000_HI              ,  /*!< 10Gb XAUI HiG                   */
    125   TEFMOD_SPD_10000                 ,  /*!< 10Gb XAUI                       */
    126   TEFMOD_SPD_12000_HI              ,  /*!< 12Gb XAUI HiG                   */
    127   TEFMOD_SPD_13000                 ,  /*!< 13Gb XAUI                       */
    128   TEFMOD_SPD_15000                 ,  /*!< 15Gb XAUI                       */
    129   TEFMOD_SPD_16000                 ,  /*!< 16Gb XAUI                       */
    130   TEFMOD_SPD_20000                 ,  /*!< 20Gb XFI                        */
    131   TEFMOD_SPD_20000_SCR             ,  /*!< 20Gb XAUI scrambled             */
    132   TEFMOD_SPD_21000                 ,  /*!< 21Gb XAUI                       */
    133   TEFMOD_SPD_25455                 ,  /*!< 25Gb XFI   64/66 codec          */
    134   TEFMOD_SPD_31500                 ,  /*!< 31.5Gb quad lane XAUI           */
    135   TEFMOD_SPD_40G_X4                ,  /*!< 40Gb quad lane XAUI             */
    136   TEFMOD_SPD_42G_X4                ,  /*!< 40Gb quad lane XAUI  HiG        */
    137   TEFMOD_SPD_40G_XLAUI             ,  /*!< 40Gb quad lane  MLD             */
    138   TEFMOD_SPD_42G_XLAUI             ,  /*!< 42Gb quad lane  MLD             */
    139   TEFMOD_SPD_10000_X2              ,  /*!< 10Gb dual lane                  */
    140   TEFMOD_SPD_10000_HI_DXGXS        ,  /*!< 10Gb dual lane XGXS HiG         */
    141   TEFMOD_SPD_10000_DXGXS           ,  /*!< 10Gb dual lane XGXS             */
    142   TEFMOD_SPD_10000_HI_DXGXS_SCR       ,  /*!< 10Gb dual lane,scrambled,HiG    */
    143   TEFMOD_SPD_10000_DXGXS_SCR       ,  /*!< 10Gb dual lane scrambled        */
    144   TEFMOD_SPD_10500_HI_DXGXS        ,  /*!< 10.5Gb dual lane XGXS HiG       */
    145   TEFMOD_SPD_12773_HI_DXGXS        ,  /*!< 12.73Gb dual lane XGXS HiG      */
    146   TEFMOD_SPD_12773_DXGXS           ,  /*!< 12.73Gb dual lane XGXS          */
    147   TEFMOD_SPD_15750_HI_DXGXS        ,  /*!< 15.75Gb scrambled dual lane HiG */
    148   TEFMOD_SPD_20G_MLD_DXGXS         ,  /*!< 20Gb dual lane MLD              */
    149   TEFMOD_SPD_21G_HI_MLD_DXGXS       ,  /*!< 20Gb dual lane HiG MLD          */
    150   TEFMOD_SPD_20G_DXGXS             ,  /*!< 20Gb dual lane BRCM             */
    151   TEFMOD_SPD_21G_HI_DXGXS          ,  /*!< 21.2Gb dual HiG(20+plldiv=70)   */
    152   TEFMOD_SPD_100G_CR10             ,  /*!< 100G                            */
    153   TEFMOD_SPD_120G_CR12             ,  /*!< 120G                            */
    154   TEFMOD_SPD_10000_XFI_HG2         ,  /*!< 10G HG2                         */
    155   TEFMOD_SPD_50G_MLD_X4            ,  /*!< 50G Serial XFI                  */
    156   TEFMOD_SPD_53G_MLD_HG_X4         ,  /*!< 53G Serial XFI (HgSOLO)         */
    157   TEFMOD_SPD_10000_XFI_CR1         ,  /*!< 10Gb serial XFI                 */
    158   TEFMOD_SPD_10600_XFI_HG_CR1       ,  /*!< 10Gb serial XFI                 */
    159   TEFMOD_SPD_CL73_20G              ,  /*!< 1G CL73 Auto-neg                */
    160   TEFMOD_SPD_CL73_25G              ,  /*!< 1G CL73 Auto-neg                */
    161   TEFMOD_SPD_1G_20G                ,  /*!< 1G CL36 1G                      */
    162   TEFMOD_SPD_1G_25G                ,  /*!< 1G CL36 1G                      */
    163   TEFMOD_SPD_10G_25G               ,  /*!< 10G CL36 with 25G vco           */
    164   TEFMOD_SPD_ILLEGAL                /*!< Illegal value (enum boundary)   */
    165 } tefmod_spd_intfc_type_t;
    166 
    167 /*! \def CNT_tefmod_spd_intfc_type_t Types of enum tefmod_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 #tefmod_lane_select_t when
    173 indexed by the enum var.
    174 
    175 */
    176 extern char* e2s_tefmod_spd_intfc_type_t [CNT_tefmod_spd_intfc_type_t];
    177 /*!
    178 \brief
    179 This array associates the enum #tefmod_lane_select_t enum with a bit mask.
    180 The index is the #tefmod_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_tefmod_spd_intfc_type_t [CNT_tefmod_spd_intfc_type_t];
    189 
    190 /*! \enum tefmod_regacc_type_t 
    191 MDIO access to PHY registers are no longer supported.
    192 */
    193 
    194 typedef enum {
    195   TEFMOD_REGACC_CL22         = 0   ,  /*!< IEEE clause 22 based MDIO (for PMD only) */
    196   TEFMOD_REGACC_CL45               ,  /*!< IEEE clause 45 based MDIO (for PMD only) */
    197   TEFMOD_REGACC_TOTSC              ,  /*!< Mission mode */
    198   TEFMOD_REGACC_SBUS_FD            ,  /*!< Probably used in PM testbenches */
    199   TEFMOD_REGACC_SBUS_BD            ,  /*!< Probably used in PM testbenches */
    200   TEFMOD_REGACC_ILLEGAL              /*!< Illegal value (enum boundary) */
    201 } tefmod_regacc_type_t;
    202 
    203 /*! \def CNT_tefmod_regacc_type_t Types of enum tefmod_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_tefmod_regacc_type_t when indexed
    209 by the enum var.
    210 
    211 */
    212 extern char* e2s_tefmod_regacc_type_t [CNT_tefmod_regacc_type_t];
    213 /*! \enum tefmod_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   TEFMOD_MULTI_PORT          = 0   ,  /*!< Each channel is one logical port */
    225   TEFMOD_TRI1_PORT                 ,  /*!< 3 ports, one of them paird as follows (0,1,2-3) */
    226   TEFMOD_TRI2_PORT                 ,  /*!< 3 ports, one of them paird as follows (0-1,2,3) */
    227   TEFMOD_DXGXS                     ,  /*!< Each paired channel(0-1, 2-3) is one logical port */
    228   TEFMOD_SINGLE_PORT               ,  /*!< single port mode: 4 channels as one logical port */
    229   TEFMOD_PORT_MODE_ILLEGAL           /*!< Illegal value (enum boundary) */
    230 } tefmod_port_type_t;
    231 
    232 /*! \def CNT_tefmod_port_type_t Types of enum tefmod_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 #tefmod_port_type_t when indexed
    238 by the enum var.
    239 
    240 */
    241 extern char* e2s_tefmod_port_type_t [CNT_tefmod_port_type_t];
    242 /*! \enum tefmod_sc_mode_type_t 
    243 
    244 This is the sc mode type enumeration.
    245 
    246 
    247 
    248 */
    249 
    250 typedef enum {
    251   TEFMOD_SC_MODE_HT_WITH_BASIC_OVERRIDE = 0   ,  /*!< TEFMOD_SC_MODE_HT_WITH_BASIC_OVERRIDE */
    252   TEFMOD_SC_MODE_HT_OVERRIDE       ,  /*!< TEFMOD_SC_MODE_ST_OVERRIDE */
    253   TEFMOD_SC_MODE_ST                ,  /*!< TEFMOD_SC_MODE_ST */
    254   TEFMOD_SC_MODE_ST_OVERRIDE       ,  /*!< TEFMOD_SC_MODE_ST */
    255   TEFMOD_SC_MODE_AN_CL37           ,  /*!< TEFMOD_SC_MODE_AN_CL73 */
    256   TEFMOD_SC_MODE_AN_CL73           ,  /*!< TEFMOD_SC_MODE_AN_CL73 */
    257   TEFMOD_SC_MODE_BYPASS            ,  /*!< TEFMOD_SC_MODE_BYPASS */
    258   TEFMOD_SC_MODE_ILLEGAL             /*!< Illegal value (enum boundary) */
    259 } tefmod_sc_mode_type_t;
    260 
    261 /*! \def CNT_tefmod_sc_mode_type_t Types of enum tefmod_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 #tefmod_port_type_t when indexed
    267 by the enum var.
    268 
    269 */
    270 extern char* e2s_tefmod_sc_mode_type_t [CNT_tefmod_sc_mode_type_t];
    271 /*! \enum tefmod_diag_type_t 
    272 
    273 tefmod_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   TEFMOD_DIAG_GENERAL        = 0x00000001 ,  /*!< General device wide information.         */
    333   TEFMOD_DIAG_TOPOLOGY       = 0x00000002 ,  /*!< Loopbacks etc.                           */
    334   TEFMOD_DIAG_LINK           = 0x00000004 ,  /*!< Link specific info.                      */
    335   TEFMOD_DIAG_SPEED          = 0x00000008 ,  /*!< sub-category of TEFMOD_DIAG_LINK(for SDK)*/
    336   TEFMOD_DIAG_ANEG           = 0x00000010 ,  /*!< Autoneg specific info.                   */
    337   TEFMOD_DIAG_TFC            = 0x00000020 ,  /*!< State of tx/rx internal tfc              */
    338   TEFMOD_DIAG_AN_TIMERS      = 0x00000040 ,  /*!< AN timers                                */
    339   TEFMOD_DIAG_STATE          = 0x00000080 ,  /*!< Debug state registers                    */
    340   TEFMOD_DIAG_DEBUG          = 0x00000100 ,  /*!< Debug                                    */
    341   TEFMOD_DIAG_IEEE           = 0x00000200 ,  /*!< IEEE related info                        */
    342   TEFMOD_DIAG_EEE            = 0x00000400 ,  /*!< EEE                                      */
    343 
    344   TEFMOD_DIAG_BER            = 0x00000800 ,  /*!< BER - PMD bit error rate                 */
    345   TEFMOD_DIAG_CFG            = 0x00001000 ,  /*!< CFG - PMD Lane/Core Config               */
    346   TEFMOD_DIAG_CL72           = 0x00002000 ,  /*!< CL72 - Status                            */
    347   TEFMOD_DIAG_DSC            = 0x00004000 ,  /*!< DSC dump                                 */
    348   TEFMOD_DIAG_DSC_STD        = 0x00010000 ,  /*!< DSC dump                                 */
    349   #if 0 
    350     TEFMOD_SERDES_DIAG          = 0x80000000UL ,  /*!< PMD Triage */
    351     TEFMOD_DIAG_ALL             = 0xffffffffUL ,  /*!< Everything but eye margin                */
    352   #else
    353     TEFMOD_SERDES_DIAG       = 0x00008000 ,  /*!< PMD Triage */
    354     TEFMOD_DIAG_ALL          = 0x0000ffff ,  /*!< Everything but eye margin                */
    355   #endif
    356   TEFMOD_DIAG_ILLEGAL         = 0x00000000   /*!< Illegal value. programmatic boundary.    */
    357 } tefmod_diag_type_t;
    358 
    359 /*! \def CNT_tefmod_diag_type_t Types of enum tefmod_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 #tefmod_port_type_t when indexed
    365 by the enum var.
    366 
    367 */
    368 extern char* e2s_tefmod_diag_type_t [CNT_tefmod_diag_type_t];
    369 /*! \enum tefmod_model_type_t 
    370 
    371 tefmod_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   TEFMOD_WC                  = 0   ,  /*!< Generic PHY (any model) */
    381   TEFMOD_WC_A0                     ,  /*!< PHY Version A0 */
    382   TEFMOD_WC_A1                     ,  /*!< PHY Version A1 */
    383   TEFMOD_WC_A2                     ,  /*!< PHY Version A2 */
    384   TEFMOD_WC_B0                     ,  /*!< PHY Version B0 */
    385   TEFMOD_WC_B1                     ,  /*!< PHY Version B1 */
    386   TEFMOD_WC_B2                     ,  /*!< PHY Version B2 */
    387   TEFMOD_WC_C0                     ,  /*!< PHY Version C0, model no. differs from other WCs */
    388   TEFMOD_WC_C1                     ,  /*!< PHY Version C1, model no. differs from other WCs */
    389   TEFMOD_WC_C2                     ,  /*!< PHY Version C2, model no. differs from other WCs */
    390   TEFMOD_WC_D0                     ,  /*!< PHY Version D0 */
    391   TEFMOD_WC_D1                     ,  /*!< PHY Version D1 */
    392   TEFMOD_WC_D2                     ,  /*!< PHY Version D2 */
    393   TEFMOD_XN                        ,  /*!< Generic Xenia Core (any model) */
    394   TEFMOD_WL                        ,  /*!< Generic PHY Lite (any model) */
    395   TEFMOD_WL_A0                     ,  /*!< WarpLite Core */
    396   TEFMOD_QS                        ,  /*!< Generic QSGMII core (any model) */
    397   TEFMOD_QS_A0                     ,  /*!< QSGMII core Version A0 */
    398   TEFMOD_QS_B0                     ,  /*!< QSGMII core Version B0 */
    399   TEFMOD_MODEL_TYPE_ILLEGAL          /*!< Illegal value. programmatic boundary. */
    400 } tefmod_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 #tefmod_port_type_t when indexed
    408 by the enum var.
    409 
    410 */
    411 extern char* e2s_tefmod_model_type_t [CNT_tefmod_model_type_t];
    412 /*! \enum tefmod_an_type_t 
    413 
    414 tefmod_an_type_t enumerates different types of autoneg modes in the PHY.
    415 
    416 */
    417 
    418 typedef enum {
    419   TEFMOD_CL73                = 0   ,  /*!< PHY autoneg CL73 enable */
    420   TEFMOD_CL37                      ,  /*!< PHY autoneg CL37 enable */
    421   TEFMOD_CL73_BAM                  ,  /*!< PHY autoneg CL73 enable with Brcm Aneg Mode */
    422   TEFMOD_CL37_BAM                  ,  /*!< PHY autoneg CL37 enable with  Brcm Aneg Mode */
    423   TEFMOD_CL37_SGMII                ,  /*!< PHY autoneg for SGMII */
    424   TEFMOD_HPAM                      ,  /*!< PHY autoneg for HP aneg */
    425   TEFMOD_MSA                       ,  /*!< PHY autoneg for 25G/50G consortium spec */
    426   TEFMOD_CL73_MSA                  , /*!< PHY autoneg for CL73 and 25G/50G consortium spec */
    427   TEFMOD_AN_TYPE_ILLEGAL             /*!< Illegal value. programmatic boundary. */
    428 } tefmod_an_type_t;
    429 
    430 /*! \def CNT_tefmod_an_type_t Types of enum tefmod_an_type_t */
    431 #define CNT_tefmod_an_type_t 9
    432 
    433 /*!
    434 \brief
    435 This array returns the string version of the enum #tefmod_port_type_t when indexed
    436 by the enum var.
    437 
    438 */
    439 extern char* e2s_tefmod_an_type_t [CNT_tefmod_an_type_t];
    440 /*! \enum tefmod_eye_direction_t 
    441 
    442 The direction of slicer changing always moves from the middle of the eye.
    443 Currently all speeds have the following bit positions.
    444 
    445 \li TEFMOD_EYE_VU: Vertical,   Upward direction
    446 \li TEFMOD_EYE_VD: Vertical,   Downward direction
    447 \li TEFMOD_EYE_HL: Horizontal, Left  direction
    448 \li TEFMOD_EYE_HR: Horizontal, Right direction
    449 
    450 */
    451 
    452 typedef enum {
    453   TEFMOD_EYE_VU              = 0   ,  /*!< Vertical,   Upward direction */
    454   TEFMOD_EYE_VD                    ,  /*!< Vertical,   Downward direction */
    455   TEFMOD_EYE_HL                    ,  /*!< Horizontal, Left  direction */
    456   TEFMOD_EYE_HR                    ,  /*!< Horizontal, Right direction */
    457   TEFMOD_EYE_ILLEGAL                 /*!< Programmatic illegal boundary. */
    458 } tefmod_eye_direction_t;
    459 
    460 /*! \def CNT_tefmod_eye_direction_t Types of enum tefmod_eye_direction_t */
    461 #define CNT_tefmod_eye_direction_t 5
    462 
    463 /*!
    464 \brief
    465 This array returns the string version of the enum #tefmod_port_type_t when indexed
    466 by the enum var.
    467 
    468 */
    469 extern char* e2s_tefmod_eye_direction_t [CNT_tefmod_eye_direction_t];
    470 
    471 
    472 typedef enum {
    473   TEFMOD_ASPD_10M            = 0   ,  /*!< No documentation   */
    474   TEFMOD_ASPD_100M                 ,  /*!< No documentation   */
    475   TEFMOD_ASPD_1000M                ,  /*!< No documentation   */
    476   TEFMOD_ASPD_2p5G_X1              ,  /*!< No documentation   */
    477   TEFMOD_ASPD_5G_X4                ,  /*!< No documentation   */
    478   TEFMOD_ASPD_6G_X4                ,  /*!< No documentation   */
    479   TEFMOD_ASPD_10G_X4               ,  /*!< No documentation   */
    480   TEFMOD_ASPD_10G_CX4              ,  /*!< No documentation   */
    481   TEFMOD_ASPD_12G_X4               ,  /*!< No documentation   */
    482   TEFMOD_ASPD_12p5G_X4             ,  /*!< No documentation   */
    483   TEFMOD_ASPD_13G_X4               ,  /*!< No documentation   */
    484   TEFMOD_ASPD_15G_X4               ,  /*!< No documentation   */
    485   TEFMOD_ASPD_16G_X4               ,  /*!< No documentation   */
    486   TEFMOD_ASPD_1G_KX1               ,  /*!< No documentation   */
    487   TEFMOD_ASPD_10G_KX4              ,  /*!< No documentation   */
    488   TEFMOD_ASPD_10G_KR1              ,  /*!< No documentation   */
    489   TEFMOD_ASPD_5G_X1                ,  /*!< No documentation   */
    490   TEFMOD_ASPD_6p36G_X1             ,  /*!< No documentation   */
    491   TEFMOD_ASPD_20G_CX4              ,  /*!< No documentation   */
    492   TEFMOD_ASPD_21G_X4               ,  /*!< No documentation   */
    493   TEFMOD_ASPD_25p45G_X4            ,  /*!< No documentation   */
    494   TEFMOD_ASPD_10G_X2_NOSCRAMBLE       ,  /*!< No documentation   */
    495   TEFMOD_ASPD_10G_CX2_NOSCRAMBLE       ,  /*!< No documentation   */
    496   TEFMOD_ASPD_10p5G_X2             ,  /*!< No documentation   */
    497   TEFMOD_ASPD_10p5G_CX2_NOSCRAMBLE       ,  /*!< No documentation   */
    498   TEFMOD_ASPD_12p7G_X2             ,  /*!< No documentation   */
    499   TEFMOD_ASPD_12p7G_CX2            ,  /*!< No documentation   */
    500   TEFMOD_ASPD_10G_X1               ,  /*!< No documentation   */
    501   TEFMOD_ASPD_40G_X4               ,  /*!< No documentation   */
    502   TEFMOD_ASPD_20G_X2               ,  /*!< No documentation   */
    503   TEFMOD_ASPD_20G_CX2              ,  /*!< No documentation   */
    504   TEFMOD_ASPD_10G_SFI              ,  /*!< No documentation   */
    505   TEFMOD_ASPD_31p5G_X4             ,  /*!< No documentation   */
    506   TEFMOD_ASPD_32p7G_X4             ,  /*!< No documentation   */
    507   TEFMOD_ASPD_20G_X4               ,  /*!< No documentation   */
    508   TEFMOD_ASPD_10G_X2               ,  /*!< No documentation   */
    509   TEFMOD_ASPD_10G_CX2              ,  /*!< No documentation   */
    510   TEFMOD_ASPD_12G_SCO_R2           ,  /*!< No documentation   */
    511   TEFMOD_ASPD_10G_SCO_X2           ,  /*!< No documentation   */
    512   TEFMOD_ASPD_40G_KR4              ,  /*!< No documentation   */
    513   TEFMOD_ASPD_40G_CR4              ,  /*!< No documentation   */
    514   TEFMOD_ASPD_100G_CR10            ,  /*!< No documentation   */
    515   TEFMOD_ASPD_5G_X2                ,  /*!< No documentation   */
    516   TEFMOD_ASPD_15p75G_X2            ,  /*!< No documentation   */
    517   TEFMOD_ASPD_2G_FC                ,  /*!< No documentation   */
    518   TEFMOD_ASPD_4G_FC                ,  /*!< No documentation   */
    519   TEFMOD_ASPD_8G_FC                ,  /*!< No documentation   */
    520   TEFMOD_ASPD_10G_CX1              ,  /*!< No documentation   */
    521   TEFMOD_ASPD_1G_CX1               ,  /*!< No documentation   */
    522   TEFMOD_ASPD_20G_KR2              ,  /*!< No documentation   */
    523   TEFMOD_ASPD_20G_CR2              ,  /*!< No documentation   */
    524   TEFMOD_ASPD_TYPE_ILLEGAL           /*!< Programmatic illegal boundary. */
    525 } tefmod_aspd_type_t;
    526 
    527 /*! \def CNT_tefmod_aspd_type_t Types of enum tefmod_aspd_type_t */
    528 #define CNT_tefmod_aspd_type_t 52
    529 
    530 /*!
    531 \brief
    532 This array returns the string version of the enum #tefmod_port_type_t when indexed
    533 by the enum var.
    534 
    535 */
    536 extern char* e2s_tefmod_aspd_type_t [CNT_tefmod_aspd_type_t];
    537 /*!
    538 \brief
    539 This array associates the enum #tefmod_lane_select_t enum with a bit mask.
    540 The index is the #tefmod_lane_select_t enum value.  The value for each entry is
    541 interpreted as follows.  If bit [n] is 1, then lane [n] is enabled; if bit [n]
    542 is 0, then lane [n] is disabled.  By enabled, we mean that such-and-such
    543 function is to be called for a lane; by disabled, we mean that such-and-such
    544 function is not to be called for a lane.  So a value of 0xF indicates that all
    545 lanes or enabled, while 0x5 indicates that only lanes 0 and 2 are enabled.
    546 
    547 */
    548 extern int e2n_tefmod_aspd_type_t [CNT_tefmod_aspd_type_t];
    549 /*! \enum tefmod_tech_ability_t 
    550 
    551 tefmod_tech_ability_t enumerates different types of speed advertisements in the
    552 basic autoneg page. Currently for CL73 only.
    553 
    554 Currently all speeds have the following bit positions in tefmod_st
    555 
    556 \li TEFMOD_ABILITY_1G               Bit Pos: 0
    557 \li TEFMOD_ABILITY_10G_KR           Bit Pos: 1
    558 \li TEFMOD_ABILITY_40G_KR4          Bit Pos: 2
    559 \li TEFMOD_ABILITY_40G_CR4          Bit Pos: 3
    560 \li TEFMOD_ABILITY_100G_CR10        Bit Pos: 4
    561 \li TEFMOD_ABILITY_10G_HIGIG        Bit Pos: 5
    562 \li TEFMOD_ABILITY_10G_CX4          Bit Pos: 6
    563 \li TEFMOD_ABILITY_20G_X4           Bit Pos: 7
    564 \li TEFMOD_ABILITY_40G              Bit Pos: 8
    565 \li TEFMOD_ABILITY_25P455G          Bit Pos: 9
    566 \li TEFMOD_ABILITY_21G_X4           Bit Pos: 10
    567 \li TEFMOD_ABILITY_20G_X4S          Bit Pos: 11
    568 \li TEFMOD_ABILITY_10G_DXGXS_HIGIG  Bit Pos: 12
    569 \li TEFMOD_ABILITY_10G_DXGXS        Bit Pos: 13
    570 \li TEFMOD_ABILITY_10P5G_DXGXS      Bit Pos: 14
    571 \li TEFMOD_ABILITY_12P5_DXGXS       Bit Pos: 15
    572 \li TEFMOD_ABILITY_20G_KR2_HIGIG    Bit Pos: 16
    573 \li TEFMOD_ABILITY_20G_KR2          Bit Pos: 17
    574 \li TEFMOD_ABILITY_20G_CR2          Bit Pos: 18
    575 \li TEFMOD_ABILITY_15P75G_R2        Bit Pos: 19
    576 \li TEFMOD_ABILITY_100G_KR4         Bit Pos: 20 
    577 \li TEFMOD_ABILITY_100G_CR4         Bit Pos: 21 
    578 \li TEFMOD_ABILITY_40G_KR2          Bit Pos: 22 
    579 \li TEFMOD_ABILITY_40G_CR2          Bit Pos: 23 
    580 \li TEFMOD_ABILITY_50G_KR2          Bit Pos: 24 
    581 \li TEFMOD_ABILITY_50G_CR2          Bit Pos: 25 
    582 \li TEFMOD_ABILITY_50G_KR4          Bit Pos: 26 
    583 \li TEFMOD_ABILITY_50G_CR4          Bit Pos: 27 
    584 \li TEFMOD_ABILITY_20G_KR1          Bit Pos: 28 
    585 \li TEFMOD_ABILITY_20G_CR1          Bit Pos: 29 
    586 \li TEFMOD_ABILITY_25G_KR1          Bit Pos: 30 
    587 \li TEFMOD_ABILITY_25G_CR1          Bit Pos: 31 
    588 
    589 
    590 */
    591 
    592 typedef enum {
    593   TEFMOD_ABILITY_1G          = 0   ,  /*!< please write comments        */
    594   TEFMOD_ABILITY_10G_KR            ,  /*!< please write comments        */
    595   TEFMOD_ABILITY_40G_KR4           ,  /*!< please write comments        */
    596   TEFMOD_ABILITY_40G_CR4           ,  /*!< please write comments        */
    597   TEFMOD_ABILITY_100G_CR10         ,  /*!< please write comments        */
    598   TEFMOD_ABILITY_10G_HIGIG         ,  /*!< please write comments        */
    599   TEFMOD_ABILITY_10G_CX4           ,  /*!< please write comments        */
    600   TEFMOD_ABILITY_20G_X4            ,  /*!< please write comments        */
    601   TEFMOD_ABILITY_40G               ,  /*!< please write comments        */
    602   TEFMOD_ABILITY_25P455G           ,  /*!< please write comments        */
    603   TEFMOD_ABILITY_21G_X4            ,  /*!< please write comments        */
    604   TEFMOD_ABILITY_20G_X4S           ,  /*!< XAUI 8b10b scrambled data    */
    605   TEFMOD_ABILITY_10G_DXGXS_HIGIG       ,  /*!< please write comments        */
    606   TEFMOD_ABILITY_10G_DXGXS         ,  /*!< please write comments        */
    607   TEFMOD_ABILITY_10P5G_DXGXS       ,  /*!< please write comments        */
    608   TEFMOD_ABILITY_12P5_DXGXS        ,  /*!< please write comments        */
    609   TEFMOD_ABILITY_20G_KR2_HIGIG       ,  /*!< please write comments        */
    610   TEFMOD_ABILITY_20G_KR2           ,  /*!< please write comments        */
    611   TEFMOD_ABILITY_20G_CR2           ,  /*!< please write comments        */
    612   TEFMOD_ABILITY_15P75G_R2         ,  /*!< please write comments        */
    613   TEFMOD_ABILITY_100G_KR4          ,  /*!< please write comments        */
    614   TEFMOD_ABILITY_100G_CR4          ,  /*!< please write comments        */
    615   TEFMOD_ABILITY_40G_KR2           ,  /*!< please write comments        */
    616   TEFMOD_ABILITY_40G_CR2           ,  /*!< please write comments        */
    617   TEFMOD_ABILITY_50G_KR2           ,  /*!< please write comments        */
    618   TEFMOD_ABILITY_50G_CR2           ,  /*!< please write comments        */
    619   TEFMOD_ABILITY_50G_KR4           ,  /*!< please write comments        */
    620   TEFMOD_ABILITY_50G_CR4           ,  /*!< please write comments        */
    621   TEFMOD_ABILITY_20G_KR1           ,  /*!< please write comments        */
    622   TEFMOD_ABILITY_20G_CR1           ,  /*!< please write comments        */
    623   TEFMOD_ABILITY_25G_KR1           ,  /*!< please write comments        */
    624   TEFMOD_ABILITY_25G_CR1           ,  /*!< please write comments        */
    625   TEFMOD_ABILITY_ILLEGAL             /*!< Illegal. Programmatic boundary */
    626 } tefmod_tech_ability_t;
    627 
    628 /*! \def CNT_tefmod_tech_ability_t Types of enum tefmod_tech_ability_t */
    629 #define CNT_tefmod_tech_ability_t 33
    630 
    631 /*!
    632 \brief
    633 This array returns the string version of the enum #tefmod_port_type_t when indexed
    634 by the enum var.
    635 
    636 */
    637 extern char* e2s_tefmod_tech_ability_t [CNT_tefmod_tech_ability_t];
    638 /*!
    639 \brief
    640 This array associates the enum #tefmod_lane_select_t enum with a bit mask.
    641 The index is the #tefmod_lane_select_t enum value.  The value for each entry is
    642 interpreted as follows.  If bit [n] is 1, then lane [n] is enabled; if bit [n]
    643 is 0, then lane [n] is disabled.  By enabled, we mean that such-and-such
    644 function is to be called for a lane; by disabled, we mean that such-and-such
    645 function is not to be called for a lane.  So a value of 0xF indicates that all
    646 lanes or enabled, while 0x5 indicates that only lanes 0 and 2 are enabled.
    647 
    648 */
    649 extern int e2n_tefmod_tech_ability_t [CNT_tefmod_tech_ability_t];
    650 /*! \enum tefmod_cl37bam_ability_t 
    651 
    652 This array associates the enum #tefmod_lane_select_t enum with a bit mask.
    653 The index is the #tefmod_lane_select_t enum value.  The value for each entry is
    654 interpreted as follows.  If bit [n] is 1, then lane [n] is enabled; if bit [n]
    655 is 0, then lane [n] is disabled.  Enabled implies the function under
    656 consideration be enebled for the lane. Disabled means the opposite.  So a value
    657 of 0xF indicates that all lanes or enabled, while 0x5 indicates that only lanes
    658 0 and 2 are enabled.
    659 
    660 tefmod_cl37bam_ability_t enumerates different types of speed advertisements in the
    661 basic autoneg page for CL37BAM only.
    662 
    663 Currently all speeds have the following bit positions in tefmod_st
    664 
    665 \li TEFMOD_BAM37ABL_2P5G             Bit Pos: 0
    666 \li TEFMOD_BAM37ABL_5G_X4            Bit Pos: 1
    667 \li TEFMOD_BAM37ABL_6G_X4            Bit Pos: 2
    668 \li TEFMOD_BAM37ABL_10G_HIGIG        Bit Pos: 3
    669 \li TEFMOD_BAM37ABL_10G_CX4          Bit Pos: 4
    670 \li TEFMOD_BAM37ABL_12G_X4           Bit Pos: 5
    671 \li TEFMOD_BAM37ABL_12P5_X4          Bit Pos: 6
    672 \li TEFMOD_BAM37ABL_13G_X4           Bit Pos: 7
    673 \li TEFMOD_BAM37ABL_15G_X4           Bit Pos: 8
    674 \li TEFMOD_BAM37ABL_16G_X4           Bit Pos: 9
    675 \li TEFMOD_BAM37ABL_20G_X4_CX4       Bit Pos: 10
    676 \li TEFMOD_BAM37ABL_20G_X4           Bit Pos: 11
    677 \li TEFMOD_BAM37ABL_21G_X4           Bit Pos: 12
    678 \li TEFMOD_BAM37ABL_25P455G          Bit Pos: 13
    679 \li TEFMOD_BAM37ABL_31P5G            Bit Pos: 14
    680 \li TEFMOD_BAM37ABL_32P7G            Bit Pos: 15
    681 \li TEFMOD_BAM37ABL_40G              Bit Pos: 16
    682 \li TEFMOD_BAM37ABL_10G_X2_CX4       Bit Pos: 17
    683 \li TEFMOD_BAM37ABL_10G_DXGXS        Bit Pos: 18
    684 \li TEFMOD_BAM37ABL_10P5G_DXGXS      Bit Pos: 19
    685 \li TEFMOD_BAM37ABL_12P7_DXGXS       Bit Pos: 20
    686 \li TEFMOD_BAM37ABL_15P75G_R2        Bit Pos: 21
    687 \li TEFMOD_BAM37ABL_20G_X2_CX4       Bit Pos: 22
    688 \li TEFMOD_BAM37ABL_20G_X2           Bit Pos: 23
    689 
    690 
    691 */
    692 
    693 typedef enum {
    694   TEFMOD_BAM37ABL_2P5G       = 0   ,  /*!< X1 BRCM */
    695   TEFMOD_BAM37ABL_5G_X4            ,  /*!< BRCM */
    696   TEFMOD_BAM37ABL_6G_X4            ,  /*!< BRCM */
    697   TEFMOD_BAM37ABL_10G_HIGIG        ,  /*!< HG (10G_X4) */
    698   TEFMOD_BAM37ABL_10G_CX4          ,  /*!< (10G_X4_CX4) */
    699   TEFMOD_BAM37ABL_12G_X4           ,  /*!< HG */
    700   TEFMOD_BAM37ABL_12P5_X4          ,  /*!< HG */
    701   TEFMOD_BAM37ABL_13G_X4           ,  /*!< HG */
    702   TEFMOD_BAM37ABL_15G_X4           ,  /*!< HG */
    703   TEFMOD_BAM37ABL_16G_X4           ,  /*!< HG */
    704   TEFMOD_BAM37ABL_20G_X4_CX4       ,  /*!< XAUI 8b10b scram(20G_X4S) */
    705   TEFMOD_BAM37ABL_20G_X4           ,  /*!< HG */
    706   TEFMOD_BAM37ABL_21G_X4           ,  /*!< HG */
    707   TEFMOD_BAM37ABL_25P455G          ,  /*!< X4 HG */
    708   TEFMOD_BAM37ABL_31P5G            ,  /*!< X4 HG */
    709   TEFMOD_BAM37ABL_32P7G            ,  /*!< X4 HG */
    710   TEFMOD_BAM37ABL_40G              ,  /*!< X4 BRCM HG (40G_X4) */
    711   TEFMOD_BAM37ABL_10G_X2_CX4       ,  /*!< 10G_X2_CX4 */
    712   TEFMOD_BAM37ABL_10G_DXGXS        ,  /*!< 10G_X2 */
    713   TEFMOD_BAM37ABL_10P5G_DXGXS       ,  /*!< 10P5_X2 */
    714   TEFMOD_BAM37ABL_12P7_DXGXS       ,  /*!< 12P7_X2 */
    715   TEFMOD_BAM37ABL_15P75G_R2        ,  /*!< 15P75_X2 */
    716   TEFMOD_BAM37ABL_20G_X2_CX4       ,  /*!< 20G_X2_CX4 */
    717   TEFMOD_BAM37ABL_20G_X2           ,  /*!< 20G_X2 */
    718   TEFMOD_BAM37ABL_ILLEGAL            /*!< Illegal. Programmatic boundary */
    719 } tefmod_cl37bam_ability_t;
    720 
    721 /*! \def CNT_tefmod_cl37bam_ability_t Types of enum tefmod_cl37bam_ability_t */
    722 #define CNT_tefmod_cl37bam_ability_t 25
    723 
    724 /*!
    725 \brief
    726 This array returns the string version of the enum #tefmod_port_type_t when indexed
    727 by the enum var.
    728 
    729 */
    730 extern char* e2s_tefmod_cl37bam_ability_t [CNT_tefmod_cl37bam_ability_t];
    731 /*! \enum tefmod_diag_an_type_t 
    732 
    733 This array associates the enum #tefmod_lane_select_t enum with a bit mask.
    734 The index is the #tefmod_lane_select_t enum value.  The value for each entry is
    735 interpreted as follows.  If bit [n] is 1, then lane [n] is enabled; if bit [n]
    736 is 0, then lane [n] is disabled.  By enabled, we mean that such-and-such
    737 function is to be called for a lane; by disabled, we mean that such-and-such
    738 function is not to be called for a lane.  So a value of 0xF indicates that all
    739 lanes or enabled, while 0x5 indicates that only lanes 0 and 2 are enabled.
    740 
    741 */
    742 
    743 typedef enum {
    744   TEFMOD_DIAG_AN_DONE        = 0   ,  /*!< AN completion check */
    745   TEFMOD_DIAG_AN_HCD               ,  /*!< AN HCD speed check */
    746   TEFMOD_DIAG_AN_TYPE_ILLEGAL         /*!< Illegal value. programmatic boundary */
    747 } tefmod_diag_an_type_t;
    748 
    749 /*! \def CNT_tefmod_diag_an_type_t Types of enum tefmod_diag_an_type_t */
    750 #define CNT_tefmod_diag_an_type_t 3
    751 
    752 /*!
    753 \brief
    754 This array returns the string version of the enum #tefmod_port_type_t when indexed
    755 by the enum var.
    756 
    757 */
    758 extern char* e2s_tefmod_diag_an_type_t [CNT_tefmod_diag_an_type_t];
    759 /*! \enum tefmod_tier1_function_type_t 
    760 
    761 This array associates the enum #tefmod_lane_select_t enum with a bit mask.
    762 The index is the #tefmod_lane_select_t enum value.  The value for each entry is
    763 interpreted as follows.  If bit [n] is 1, then lane [n] is enabled; if bit [n]
    764 is 0, then lane [n] is disabled.  By enabled, we mean that such-and-such
    765 function is to be called for a lane; by disabled, we mean that such-and-such
    766 function is not to be called for a lane.  So a value of 0xF indicates that all
    767 lanes or enabled, while 0x5 indicates that only lanes 0 and 2 are enabled.
    768 
    769 */
    770 
    771 typedef enum {
    772   PCS_BYPASS_CTL             = 0   ,  /*!< tefmod_pcs_bypass_ctl */
    773   CREDIT_SET                       ,  /*!< tefmod_credit_set */
    774   ENCODE_SET                       ,  /*!< tefmod_encode_set */
    775   DECODE_SET                       ,  /*!< tefmod_decode_set */
    776   CREDIT_CONTROL                   ,  /*!< tefmod_credit_control */
    777   AFE_SPEED_UP_DSC_VGA             ,  /*!< tefmod_afe_speed_up_dsc_vga */
    778   TX_LANE_CONTROL                  ,  /*!< tefmod_tx_lane_control */
    779   RX_LANE_CONTROL                  ,  /*!< tefmod_rx_lane_control */
    780   TX_LANE_DISABLE                  ,  /*!< tefmod_tx_lane_disable */
    781   POWER_CONTROL                    ,  /*!< tefmod_power_control */
    782   AUTONEG_SET                      ,  /*!< tefmod_autoneg_set */
    783   AUTONEG_GET                      ,  /*!< tefmod_autoneg_get */
    784   AUTONEG_CONTROL                  ,  /*!< tefmod_autoneg_control */
    785   AUTONEG_PAGE_SET                 ,  /*!< tefmod_autoneg_page_set */
    786   REG_READ                         ,  /*!< tefmod_reg_read */
    787   REG_WRITE                        ,  /*!< tefmod_reg_write */
    788   PRBS_CHECK                       ,  /*!< tefmod_prbs_check */
    789   CJPAT_CRPAT_CONTROL              ,  /*!< tefmod_cjpat_crpat_control */
    790   CJPAT_CRPAT_CHECK                ,  /*!< tefmod_cjpat_crpat_check */
    791   TEFMOD_DIAG                      ,  /*!< tefmod_diag */
    792   LANE_SWAP                        ,  /*!< tefmod_lane_swap */
    793   PARALLEL_DETECT_CONTROL          ,  /*!< tefmod_parallel_detect_control */
    794   CLAUSE_72_CONTROL                ,  /*!< tefmod_clause72_control */
    795   PLL_SEQUENCER_CONTROL            ,  /*!< tefmod_pll_sequencer_control */
    796   PLL_LOCK_WAIT                    ,  /*!< tefmod_pll_lock_wait */
    797   DUPLEX_CONTROL                   ,  /*!< tefmod_duplex_control */
    798   REVID_READ                       ,  /*!< tefmod_revid_read */
    799   BYPASS_SC                        ,  /*!< tefmod_bypass_sc */
    800   SET_POLARITY                     ,  /*!< tefmod_tx_rx_polarity */
    801   SET_PORT_MODE                    ,  /*!< tefmod_set_port_mode */
    802   SET_AN_PORT_MODE                 ,  /*!< tefmod_set_an_port_mode */
    803   PRBS_CONTROL                     ,  /*!< tefmod_prbs_control */
    804   PRBS_MODE                        ,  /*!< tefmod_prbs_mode */
    805   SOFT_RESET                       ,  /*!< tefmod_soft_reset */
    806   SET_SPD_INTF                     ,  /*!< tefmod_set_spd_intf */
    807   TX_BERT_CONTROL                  ,  /*!< tefmod_tx_bert_control */
    808   RX_LOOPBACK_CONTROL              ,  /*!< tefmod_rx_loopback_control */
    809   RX_PMD_LOOPBACK_CONTROL          ,  /*!< tefmod_rx_pmd_loopback_control */
    810   TX_LOOPBACK_CONTROL              ,  /*!< tefmod_tx_loopback_control */
    811   TX_PMD_LOOPBACK_CONTROL          ,  /*!< tefmod_tx_pmd_loopback_control */
    812   CORE_RESET                       ,  /*!< tefmod_core_reset */
    813   REFCLK_SET                       ,  /*!< tefmod_refclk_set */
    814   WAIT_PMD_LOCK                    ,  /*!< tefmod_wait_pmd_lock */
    815   FIRMWARE_SET                     ,  /*!< tefmod_firmware_set */
    816   INIT_PCS_FALCON                  ,  /*!< tefmod_init_pcs_falcon */
    817   DISABLE_PCS_FALCON               ,  /*!< tefmod_disable_pcs_falcon */
    818   INIT_PMD_FALCON                  ,  /*!< tefmod_init_pmd_falcon */
    819   PMD_LANE_SWAP_TX                 ,  /*!< tefmod_pmd_lane_swap_tx */
    820   PMD_LANE_SWAP                    ,  /*!< tefmod_pmd_lane_swap */
    821   PCS_LANE_SWAP                    ,  /*!< tefmod_pcs_lane_swap */
    822   SET_SC_SPEED                     ,  /*!< tefmod_set_sc_speed */
    823   CHECK_SC_STATS                   ,  /*!< tefmod_check_status */
    824   SET_OVERRIDE_0                   ,  /*!< tefmod_set_override_0 */
    825   SET_OVERRIDE_1                   ,  /*!< tefmod_set_override_1 */
    826   PMD_RESET_REMOVE                 ,  /*!< tefmod_pmd_reset_remove */
    827   PMD_RESET_BYPASS                 ,  /*!< tefmod_pmd_reset_bypass */
    828   INIT_PCS_ILKN                    ,  /*!< tefmod_init_pcs_ilkn */
    829   TOGGLE_SW_SPEED_CHANGE           ,  /*!< tefmod_toggle_sw_speed_change */
    830   TIER1_FUNCTION_ILLEGAL             /*!< illegal */
    831 } tefmod_tier1_function_type_t;
    832 
    833 /*! \def CNT_tefmod_tier1_function_type_t Types of enum tefmod_tier1_function_type_t */
    834 #define CNT_tefmod_tier1_function_type_t 59
    835 
    836 /*!
    837 \brief
    838 This array returns the string version of the enum #tefmod_port_type_t when indexed
    839 by the enum var.
    840 
    841 */
    842 extern char* e2s_tefmod_tier1_function_type_t [CNT_tefmod_tier1_function_type_t];
    843 /*! \enum tefmod_fec_en_parm_t 
    844 
    845 For passing parameters to tefmod_FEC_control.
    846 
    847 */
    848 
    849 typedef enum {
    850   TEFMOD_CL91_TX_EN_DIS      = 0x01 ,  /*!< Enable / Disable CL91 TX */
    851   TEFMOD_CL91_RX_EN_DIS      = 0x02 ,  /*!< Enable / Disable CL91 RX */
    852   TEFMOD_CL91_IND_ONLY_EN_DIS = 0x04 ,  /*!< Enable / Disable CL91 indication only */
    853   TEFMOD_CL91_COR_ONLY_EN_DIS = 0x08 ,  /*!< Enable / Disable CL91 correction only */
    854   TEFMOD_CL74_TX_EN_DIS      = 0x10 ,  /*!< Enable / Disable CL74 TX */
    855   TEFMOD_CL74_RX_EN_DIS      = 0x20 ,  /*!< Enable / Disable CL74 RX */
    856   TEFMOD_CL74_CL91_EN_DIS    = 0x40   /*!< Enable / Disable CL74CL91 for autoneg */
    857 } tefmod_fec_en_parm_t;
    858 
    859 /*! \def CNT_tefmod_fec_en_parm_t Types of enum tefmod_fec_en_parm_t */
    860 #define CNT_tefmod_fec_en_parm_t 7
    861 
    862 /*!
    863 \brief
    864 This array returns the string version of the enum #tefmod_port_type_t when indexed
    865 by the enum var.
    866 
    867 */
    868 extern char* e2s_tefmod_fec_en_parm_t [CNT_tefmod_fec_en_parm_t];
    869 
    870 /*! \enum tefmod_fec_type_t 
    871 
    872 For passing parameters to tefmod_FEC_control.
    873 
    874 */
    875 
    876 typedef enum {
    877   TEFMOD_CL74       = 0x01 ,  /*!< Enable / enable CL74 TX/RX */
    878   TEFMOD_CL91       = 0x02 ,  /*!< Enable / enable CL91 TX/RX */
    879   TEFMOD_CL108      = 0x03    /*!< Enable / enable CL108 TX/RX */
    880 } tefmod_fec_type_t;
    881 
    882 /*! \def CNT_tefmod_fec_type_t Types of enum tefmod_fec_en_parm_t */
    883 #define CNT_tefmod_fec_type_t 3
    884 
    885 /*!
    886 \brief
    887 This array returns the string version of the enum #tefmod_port_type_t when indexed
    888 by the enum var.
    889 
    890 */
    891 extern char* e2s_tefmod_fec_type_t [CNT_tefmod_fec_type_t];
    892 
    893 
    894 
    895 /*! \enum tefmod_tx_disable_enum_t 
    896 
    897 For various tx disable condition use this enum.
    898 
    899 */
    900 
    901 typedef enum {
    902     TEFMOD_TX_LANE_RESET = 0,
    903     TEFMOD_TX_LANE_TRAFFIC_ENABLE = 1,
    904     TEFMOD_TX_LANE_TRAFFIC_DISABLE = 2,
    905     TEFMOD_TX_LANE_RESET_TRAFFIC_ENABLE = 3,
    906     TEFMOD_TX_LANE_RESET_TRAFFIC_DISABLE = 4,
    907     TEFMOD_TX_LANE_TYPE_COUNT
    908 } tefmod_tx_disable_enum_t;
    909 
    910 /*! \def CNT_tefmod_tx_disable_enum_t Types of enum tefmod_tx_disable_enum_t */
    911 #define CNT_tefmod_tx_disable_enum_t 2
    912 
    913 /*!
    914 \brief
    915 This array returns the string version of the enum #tefmod_port_type_t when indexed
    916 by the enum var.
    917 
    918 */
    919 extern char* e2s_tefmod_tx_disable_enum_t [CNT_tefmod_tx_disable_enum_t];
    920 /*! \enum tefmod_os_mode_type 
    921 
    922 
    923 The oversampling mode means that bits are sent out more than once to reduce
    924 the effective frequency of data transfer. For example you can send 5G bits
    925 over a 10G bit lane by sending every bit twice, or OS=2. When the OS is 3.3
    926 it's a bit tricky, we send bits 3 or 4 times in a pattern like so
    927 3,3,3,4,3,3,3,4,... Similarly for OS = 8, we send 8,8,8,9,8,8,8,9,...
    928 
    929 
    930 */
    931 
    932 typedef enum {
    933   TEFMOD_PMA_OS_MODE_1       = 0   ,  /*!< Over sampling Mode 1         */
    934   TEFMOD_PMA_OS_MODE_2       = 1   ,  /*!< Over sampling Mode 2         */
    935   TEFMOD_PMA_OS_MODE_4       = 2   ,  /*!< Over sampling Mode 4         */
    936   TEFMOD_PMA_OS_MODE_16_25   = 8   ,  /*!< Over sampling Mode 8.25      */
    937   TEFMOD_PMA_OS_MODE_20_625  = 12  ,  /*!< Over sampling Mode 10        */
    938   TEFMOD_PMA_OS_MODE_ILLEGAL = 15    /*!< Over sampling Mode Illegal   */
    939 } tefmod_os_mode_type;
    940 
    941 /*! \def CNT_tefmod_os_mode_type Types of enum tefmod_os_mode_type */
    942 #define CNT_tefmod_os_mode_type 6
    943 
    944 /*!
    945 \brief
    946 This array returns the string of #tefmod_os_mode_type when indexed by the enum.
    947 
    948 */
    949 extern char* e2s_tefmod_os_mode_type [CNT_tefmod_os_mode_type];
    950 /*!
    951 \brief
    952 This array returns the over sampling value of #tefmod_os_mode_type when indexed by
    953 the enum. For floating values 3.3 and 8.25 it returns 33 and 825.
    954 
    955 */
    956 extern int e2n_tefmod_os_mode_type [CNT_tefmod_os_mode_type];
    957 /*! \enum tefmod_scr_mode 
    958 
    959 This mode indicates how many bits of a 'frame' will be scrambled. We have either
    960 66 or 80 bits per frame (depending on 8b10b or 64b66b encoding). Normally
    961 scrambling is
    962 
    963 \li bypassed for baud rates under 6.25G (0).
    964 \li we scramble all 66 bits (1)
    965 \li all 80 bits(2)
    966 \li only 64 of the 66b (3). i.e we don't scramble the 'sync' bits.
    967 
    968 */
    969 
    970 typedef enum {
    971   TEFMOD_SCR_MODE_BYPASS     = 0   ,  /*!< Scrambling Mode bypassed      */
    972   TEFMOD_SCR_MODE_CL49       = 1   ,  /*!< Scrambling Mode 66B           */
    973   TEFMOD_SCR_MODE_40G_2_LANE = 2   ,  /*!< Scrambling Mode 80B           */
    974   TEFMOD_SCR_MODE_100G       = 3   ,  /*!< Scrambling Mode 64B           */
    975   TEFMOD_SCR_MODE_20G        = 4   ,  /*!< Scrambling Mode 64B           */
    976   TEFMOD_SCR_MODE_40G_4_LANE = 5   ,  /*!< Scrambling Mode 64B           */
    977   TEFMOD_SCR_MODE_ILLEGAL    = 15    /*!< SCR Mode Mode Illegal   */
    978 } tefmod_scr_mode;
    979 
    980 /*! \def CNT_tefmod_scr_mode Types of enum tefmod_scr_mode */
    981 #define CNT_tefmod_scr_mode 7
    982 
    983 /*!
    984 \brief
    985 This array returns the string of #tefmod_scr_mode when indexed by the enum.
    986 
    987 */
    988 extern char* e2s_tefmod_scr_mode [CNT_tefmod_scr_mode];
    989 /*!
    990 \brief
    991 This array returns the scrambling mode of #tefmod_scr_mode when indexed by
    992 the enum.
    993 
    994 */
    995 extern int e2n_tefmod_scr_mode [CNT_tefmod_scr_mode];
    996 /*! \enum tefmod_encode_mode 
    997 
    998 Serial bits are encoded when transmitted. The encoding depends on the baud rate
    999 and the link type
   1000 \li 000 All encoding functions disabled for lane
   1001 \li 001 8b10b  (cl48 )
   1002 \li 010 8b10b  (cl48 rxaui)
   1003 \li 011 8b10b  (cl36 )
   1004 \li 100 64b66b (cl82 )
   1005 \li 101 64b66b (cl49 )
   1006 \li 110 64b66b (brcm )
   1007 
   1008 */
   1009 
   1010 typedef enum {
   1011   TEFMOD_ENCODE_MODE_NONE    = 0   ,  /*!< Encoding Mode NONE     */
   1012   TEFMOD_ENCODE_MODE_CL49    = 1   ,  /*!< Encoding Mode CL49     */
   1013   TEFMOD_ENCODE_MODE_CL82    = 2   ,  /*!< Encoding Mode CL82     */
   1014   TEFMOD_ENCODE_MODE_ILLEGAL = 15    /*!< Encoding Mode Illegal  */
   1015 } tefmod_encode_mode;
   1016 
   1017 /*! \def CNT_tefmod_encode_mode Types of enum tefmod_encode_mode */
   1018 #define CNT_tefmod_encode_mode 4
   1019 
   1020 /*!
   1021 \brief
   1022 This array returns the string of #tefmod_encode_mode when indexed by the enum.
   1023 
   1024 */
   1025 extern char* e2s_tefmod_encode_mode [CNT_tefmod_encode_mode];
   1026 /*!
   1027 \brief
   1028 This array returns the encoding mode of #tefmod_encode_mode when indexed by
   1029 the enum.
   1030 
   1031 */
   1032 extern int e2n_tefmod_encode_mode [CNT_tefmod_encode_mode];
   1033 /*! \enum tefmod_descrambler_mode 
   1034 
   1035 The descrambling must match the scrambling done at the transmitting port.
   1036 
   1037 */
   1038 
   1039 typedef enum {
   1040   TEFMOD_R_DESCR_MODE_BYPASS = 0   ,  /*!< No descrambling */
   1041   TEFMOD_R_DESCR_MODE_CL49   = 1   ,  /*!< CL49 */
   1042   TEFMOD_R_DESCR_MODE_CL82   = 2   ,  /*!< CL82 */
   1043   TEFMOD_R_DESCR_MODE_ILLEGAL = 3     /*!< Illegal */
   1044 } tefmod_descrambler_mode;
   1045 
   1046 /*! \def CNT_tefmod_descrambler_mode Types of enum tefmod_descrambler_mode */
   1047 #define CNT_tefmod_descrambler_mode 4
   1048 
   1049 /*!
   1050 \brief
   1051 This array returns the string of #tefmod_descrambler_mode when indexed by the enum.
   1052 
   1053 */
   1054 extern char* e2s_tefmod_descrambler_mode [CNT_tefmod_descrambler_mode];
   1055 /*! \enum tefmod_dec_tl_mode 
   1056 
   1057 The descrambling must match the scrambling done at the transmitting port.
   1058 
   1059 */
   1060 
   1061 typedef enum {
   1062   TEFMOD_DEC_TL_MODE_NONE    = 0   ,  /*!< decoder mode NONE */
   1063   TEFMOD_DEC_TL_MODE_CL49    = 1   ,  /*!< decoder mode CL49 */
   1064   TEFMOD_DEC_TL_MODE_CL82    = 2   ,  /*!< decoder mode CL82 */
   1065   TEFMOD_DEC_TL_MODE_ILLEGAL = 7     /*!< decoder mode ILLEGAL */
   1066 } tefmod_dec_tl_mode;
   1067 
   1068 /*! \def CNT_tefmod_dec_tl_mode Types of enum tefmod_dec_tl_mode */
   1069 #define CNT_tefmod_dec_tl_mode 4
   1070 
   1071 /*!
   1072 \brief
   1073 This array returns the string of #tefmod_dec_tl_mode when indexed by the enum.
   1074 
   1075 */
   1076 extern char* e2s_tefmod_dec_tl_mode [CNT_tefmod_dec_tl_mode];
   1077 /*! \enum tefmod_dec_fsm_mode 
   1078 
   1079 The descrambling must match the scrambling done at the transmitting port.
   1080 
   1081 */
   1082 
   1083 typedef enum {
   1084   TEFMOD_DEC_FSM_MODE_NONE   = 0   ,  /*!< decoder mode NONE */
   1085   TEFMOD_DEC_FSM_MODE_CL49   = 1   ,  /*!< decoder mode CL49 */
   1086   TEFMOD_DEC_FSM_MODE_CL82   = 2   ,  /*!< decoder mode CL82 */
   1087   TEFMOD_DEC_FSM_MODE_ILLEGAL = 7     /*!< decoder mode ILLEGAL */
   1088 } tefmod_dec_fsm_mode;
   1089 
   1090 /*! \def CNT_tefmod_dec_fsm_mode Types of enum tefmod_dec_fsm_mode */
   1091 #define CNT_tefmod_dec_fsm_mode 4
   1092 
   1093 /*!
   1094 \brief
   1095 This array returns the string of #tefmod_dec_fsm_mode when indexed by the enum.
   1096 
   1097 */
   1098 extern char* e2s_tefmod_dec_fsm_mode [CNT_tefmod_dec_fsm_mode];
   1099 /*! \enum tefmod_deskew_mode 
   1100 
   1101 Deskew Mode is a function of speed.
   1102 
   1103 */
   1104 
   1105 typedef enum {
   1106   TEFMOD_R_DESKEW_MODE_BYPASSi = 0   ,  /*!< deskew mode BYPASS */
   1107   TEFMOD_R_DESKEW_MODE_10G   = 1   ,  /*!< deskew mode 10G */
   1108   TEFMOD_R_DESKEW_MODE_40G_4_LANE = 2   ,  /*!< deskew mode 40G_4_LANE */
   1109   TEFMOD_R_DESKEW_MODE_40G_2_LANE = 3   ,  /*!< deskew mode 40G_2_LANE */
   1110   TEFMOD_R_DESKEW_MODE_100G  = 4   ,  /*!< deskew mode 100G */
   1111   TEFMOD_R_DESKEW_MODE_CL49  = 5   ,  /*!< deskew mode CL49 */
   1112   TEFMOD_R_DESKEW_MODE_CL91  = 6   ,  /*!< deskew mode CL91 */
   1113   TEFMOD_R_DESKEW_MODE_ILLEGAL = 7     /*!< deskew mode ILLEGAL */
   1114 } tefmod_deskew_mode;
   1115 
   1116 /*! \def CNT_tefmod_deskew_mode Types of enum tefmod_deskew_mode */
   1117 #define CNT_tefmod_deskew_mode 8
   1118 
   1119 /*!
   1120 \brief
   1121 This array returns the string of #tefmod_deskew_mode when indexed by the enum.
   1122 
   1123 */
   1124 extern char* e2s_tefmod_deskew_mode [CNT_tefmod_deskew_mode];
   1125 /*! \enum tefmod_t_fifo_mode 
   1126 
   1127 
   1128 */
   1129 
   1130 typedef enum {
   1131   TEFMOD_T_FIFO_MODE_NONE    = 0   ,  /*!< t_fifo mode NONE */
   1132   TEFMOD_T_FIFO_MODE_40G     = 1   ,  /*!< t_fifo mode 40G */
   1133   TEFMOD_T_FIFO_MODE_100G    = 2   ,  /*!< t_fifo mode 100G */
   1134   TEFMOD_T_FIFO_MODE_20G     = 3   ,  /*!< t_fifo mode 20G */
   1135   TEFMOD_T_FIFO_MODE_ILLEGAL = 7     /*!< t_fifo mode ILLEGAL */
   1136 } tefmod_t_fifo_mode;
   1137 
   1138 /*! \def CNT_tefmod_t_fifo_mode Types of enum tefmod_t_fifo_mode */
   1139 #define CNT_tefmod_t_fifo_mode 5
   1140 
   1141 /*!
   1142 \brief
   1143 This array returns the string of #tefmod_t_fifo_mode when indexed by the enum.
   1144 
   1145 */
   1146 extern char* e2s_tefmod_t_fifo_mode [CNT_tefmod_t_fifo_mode];
   1147 /*! \enum tefmod_bs_btmx_mode 
   1148 
   1149 
   1150 */
   1151 
   1152 typedef enum {
   1153   TEFMOD_BS_BTMX_MODE_NONE   = 0   ,  /*!< bs_btmx mode NONE */
   1154   TEFMOD_BS_BTMX_MODE_1to1   = 1   ,  /*!< bs_btmx mode 1to1 */
   1155   TEFMOD_BS_BTMX_MODE_2to1   = 2   ,  /*!< bs_btmx mode 2to1 */
   1156   TEFMOD_BS_BTMX_MODE_5to1   = 2   ,  /*!< bs_btmx mode 5to1 */
   1157   TEFMOD_BS_BTMX_MODE_ILLEGAL = 7     /*!< bs_btmx mode ILLEGAL */
   1158 } tefmod_bs_btmx_mode;
   1159 
   1160 /*! \def CNT_tefmod_bs_btmx_mode Types of enum tefmod_bs_btmx_mode */
   1161 #define CNT_tefmod_bs_btmx_mode 5
   1162 
   1163 /*!
   1164 \brief
   1165 This array returns the string of #tefmod_bs_btmx_mode when indexed by the enum.
   1166 
   1167 */
   1168 extern char* e2s_tefmod_bs_btmx_mode [CNT_tefmod_bs_btmx_mode];
   1169 /*! \enum tefmod_bs_dist_mode 
   1170 
   1171 
   1172 */
   1173 
   1174 typedef enum {
   1175   TEFMOD_BS_DIST_MODE_5_LANE_TDM = 0   ,  /*!< bs_dist mode 5LN_TDM */
   1176   TEFMOD_BS_DIST_MODE_2_LANE_TDM_2_VLANE = 1   ,  /*!< bs_dist mode 2LN_TDM_2VLN */
   1177   TEFMOD_BS_DIST_MODE_2_LANE_TDM_1_VLANE = 2   ,  /*!< bs_dist mode 2LN_TDM_1VLN */
   1178   TEFMOD_BS_DIST_MODE_NO_TDM = 3   ,  /*!< bs_dist mode NO_TDM */
   1179   TEFMOD_BS_DIST_MODE_ILLEGAL = 7     /*!< bs_dist mode ILLEGAL */
   1180 } tefmod_bs_dist_mode;
   1181 
   1182 /*! \def CNT_tefmod_bs_dist_mode Types of enum tefmod_bs_dist_mode */
   1183 #define CNT_tefmod_bs_dist_mode 5
   1184 
   1185 /*!
   1186 \brief
   1187 This array returns the string of #tefmod_bs_dist_mode when indexed by the enum.
   1188 
   1189 */
   1190 extern char* e2s_tefmod_bs_dist_mode [CNT_tefmod_bs_dist_mode];
   1191 
   1192 typedef enum {
   1193   TEFMOD_AN_PROPERTY_ENABLE_NONE = 0x00000000 ,  /*!<  */
   1194   TEFMOD_AN_PROPERTY_ENABLE_HPAM_TO_CL73_AUTO = 0x00000001 ,  /*!<  */
   1195   TEFMOD_AN_PROPERTY_ENABLE_CL73_BAM_TO_HPAM_AUTO = 0x00000002 ,  /*!<  */
   1196   TEFMOD_AN_PROPERTY_ENABLE_ILLEGAL = 0x00000004   /*!<  */
   1197 } an_property_enable;
   1198 
   1199 /*! \def CNT_an_property_enable Types of enum an_property_enable */
   1200 #define CNT_an_property_enable 4
   1201 
   1202 #endif /* _TSCFMOD_ENUM_DEFINES_H */