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

viper_common.h (5970B)


      1 /********************************************************************************/
      2 /********************************************************************************/
      3 /*                                                                              */
      4 /*  Revision      :  viper_common.h 382 2014-03-14 04:56:06Z mageshv $          */
      5 /*                                                                              */
      6 /*  Description   :  Defines and Enumerations required by VIPER APIs     */
      7 /*                                                                              */
      8 /*  Copyright: (c) 2014 Broadcom Corporation All Rights Reserved.               */
      9 /*  All Rights Reserved                                                         */
     10 /*  No portions of this material may be reproduced in any form without          */
     11 /*  the written permission of:                                                  */
     12 /*      Broadcom Corporation                                                    */
     13 /*      5300 California Avenue                                                  */
     14 /*      Irvine, CA  92617                                                       */
     15 /*                                                                              */
     16 /*  All information contained in this document is Broadcom Corporation          */
     17 /*  company private proprietary, and trade secret.                              */
     18 /*                                                                              */
     19 /********************************************************************************/
     20 /********************************************************************************/
     21 /*
     22  * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
     23  * 
     24  * Copyright 2007-2019 Broadcom Inc. All rights reserved.
     25  * 
     26 */
     27 
     28 /** @file viper_common.h
     29  * Defines and Enumerations required by VIPER APIs
     30  */
     31 
     32 #ifndef VIPER_COMMON_H
     33 #define VIPER_COMMON_H
     34 
     35 #ifndef _DV_TB_
     36 #define PHYMOD_ST  phymod_access_t
     37 #else
     38 #define PHYMOD_ST  temod_st
     39 #endif
     40 
     41 
     42 #ifdef __C51__
     43 /** Returns Absolute value of x */
     44 #define abs(x) ( ((x)>0) ? (x) : (-(x)) )
     45 #endif
     46 
     47 /** Returns Sign of x */
     48 #define sign(x) ((x>=0) ? 1 : -1)
     49 
     50 /* Function return values */
     51 #define SUCCESS              (0)
     52 #define FAIL                 (1)
     53 #define PENDING              (2)
     54 
     55 /* Register Address Defines */
     56 /** Address define for PRBS_CHK_ERR_CNT_MSB_STATUS Register */
     57 #define TLB_RX_PRBS_CHK_ERR_CNT_MSB_STATUS 0xD0DA
     58 
     59 
     60 /** Address define for MDIO_MASKDATA Register */ 
     61 #define MDIO_MMDSEL_AER_COM_MDIO_MASKDATA  0xFFDB
     62 #define DSC_A_DSC_UC_CTRL 0xd00d
     63 
     64 
     65 /*-----------------------*/
     66 /*  Serdes Enumerations  */
     67 /*-----------------------*/
     68 
     69 /** DSC_STATES Enum */
     70 enum viper_dsc_state_enum {
     71   DSC_STATE_RESET        = 0,  
     72   DSC_STATE_RESTART      = 1,
     73   DSC_STATE_CONFIG       = 2,
     74   DSC_STATE_WAIT_FOR_SIG = 3,
     75   DSC_STATE_ACQ_CDR      = 4,
     76   DSC_STATE_CDR_SETTLE   = 5,
     77   DSC_STATE_HW_TUNE      = 6,
     78   DSC_STATE_UC_TUNE      = 7,
     79   DSC_STATE_MEASURE      = 8,
     80   DSC_STATE_DONE         = 9
     81 };
     82 
     83 /** SERDES_PMD_UC_COMMANDS Enum */
     84 enum viper_pmd_uc_cmd_enum {
     85   CMD_NULL                =  0,
     86   CMD_UC_CTRL             =  1,
     87   CMD_HEYE_OFFSET         =  2,
     88   CMD_VEYE_OFFSET         =  3,
     89   CMD_READ_DIE_TEMP       =  4,
     90   CMD_DIAG_EN             =  5,
     91   CMD_READ_UC_LANE_BYTE   =  6,
     92   CMD_WRITE_UC_LANE_BYTE  =  7,
     93   CMD_READ_UC_CORE_BYTE   =  8,
     94   CMD_WRITE_UC_CORE_BYTE  =  9,
     95   CMD_READ_UC_LANE_WORD   = 10,
     96   CMD_WRITE_UC_LANE_WORD  = 11,
     97   CMD_READ_UC_CORE_WORD   = 12,
     98   CMD_WRITE_UC_CORE_WORD  = 13,
     99   CMD_EVENT_LOG_CTRL      = 14,
    100   CMD_EVENT_LOG_READ      = 15,
    101   CMD_CAPTURE_BER_START   = 16,
    102   CMD_READ_DIAG_DATA_BYTE = 17,
    103   CMD_READ_DIAG_DATA_WORD = 18,
    104   CMD_CAPTURE_BER_END     = 19
    105 };
    106 
    107 /** SERDES_UC_CTRL_COMMANDS Enum */
    108 enum viper_pmd_uc_ctrl_cmd_enum {
    109   CMD_UC_CTRL_STOP_GRACEFULLY   = 0,
    110   CMD_UC_CTRL_STOP_IMMEDIATE    = 1,
    111   CMD_UC_CTRL_RESUME            = 2,
    112   CMD_UC_CTRL_STOP_HOLD         = 3,
    113   CMD_UC_CTRL_RELEASE_HOLD_ONCE = 4
    114 };
    115 
    116 /** SERDES_EVENT_LOG_READ Enum */
    117 enum viper_pmd_event_rd_cmd_enum {
    118   CMD_EVENT_LOG_READ_START      = 0,
    119   CMD_EVENT_LOG_READ_NEXT       = 1,
    120   CMD_EVENT_LOG_READ_DONE       = 2
    121 };
    122 
    123 /** SERDES_UC_DIAG_COMMANDS Enum */
    124 enum viper_pmd_uc_diag_cmd_enum {
    125   CMD_UC_DIAG_DISABLE         = 3,
    126   CMD_UC_DIAG_PASSIVE         = 1,
    127   CMD_UC_DIAG_DENSITY         = 2,
    128   CMD_UC_DIAG_START_VSCAN_EYE = 4,
    129   CMD_UC_DIAG_START_HSCAN_EYE = 5,
    130   CMD_UC_DIAG_GET_EYE_SAMPLE  = 6
    131 };
    132 
    133 /** DIAG_BER mode settings **/
    134 enum viper_diag_ber_mode_enum {
    135 	DIAG_BER_POS  = 0,
    136 	DIAG_BER_NEG  = 1,
    137 	DIAG_BER_VERT = 0,
    138 	DIAG_BER_HORZ = 1<<1,
    139 	DIAG_BER_PASS = 0,
    140 	DIAG_BER_INTR = 1<<2,
    141 	DIAG_BER_P1_NARROW = 1<<3,
    142 	DIAG_BER_P1_WIDE = 0,
    143     DIAG_BER_FAST = 1<<6
    144 
    145 };
    146 
    147 enum viper_eye_scan_dir_enum {
    148       EYE_SCAN_HORIZ = 0,
    149       EYE_SCAN_VERTICAL = 1
    150 };
    151 
    152 typedef uint8_t float8_t;
    153 
    154 /** OSR_MODES Enum */
    155 enum viper_osr_mode_enum {
    156   OSX1    = 0,
    157   OSX2    = 1,
    158   OSX3    = 2,
    159   OSX3P3  = 3,
    160   OSX4    = 4,
    161   OSX5    = 5,
    162   OSX7P5  = 6,
    163   OSX8    = 7,
    164   OSX8P25 = 8,
    165   OSX10   = 9
    166 };
    167 
    168 /** Media type Enum */
    169 enum viper_media_type_enum {
    170   MEDIA_TYPE_PCB_TRACE_BACKPLANE = 0,
    171   MEDIA_TYPE_COPPER_CABLE        = 1,
    172   MEDIA_TYPE_OPTICS              = 2
    173 };
    174 
    175 /** CDR mode Enum **/
    176 enum cdr_mode_enum {
    177   CDR_MODE_OS_ALL_EDGES = 0,
    178   CDR_MODE_OS_PATTERN   = 1,
    179   CDR_MODE_BR_PATTERN   = 2
    180 };
    181 
    182 /** VCO_RATE Enum */
    183 enum viper_vco_rate_enum {
    184   VCO_5P5G = 0,
    185   VCO_5P75G,
    186   VCO_6G,
    187   VCO_6P25G,
    188   VCO_6P5G,
    189   VCO_6P75G,
    190   VCO_7G,
    191   VCO_7P25G,
    192   VCO_7P5G,
    193   VCO_7P75G,
    194   VCO_8G,
    195   VCO_8P25G,
    196   VCO_8P5G,
    197   VCO_8P75G,
    198   VCO_9G,
    199   VCO_9P25G,
    200   VCO_9P5G,
    201   VCO_9P75G,
    202   VCO_10G,
    203   VCO_10P25G,
    204   VCO_10P5G,
    205   VCO_10P75G,
    206   VCO_11G,
    207   VCO_11P25G,
    208   VCO_11P5G,
    209   VCO_11P75G,
    210   VCO_12G,
    211   VCO_12P25G,
    212   VCO_12P5G,
    213   VCO_12P75G,
    214   VCO_13G,
    215   VCO_13P25G
    216 };
    217 
    218 
    219 /** Core User Control Event Log Level **/
    220 #define USR_CTRL_CORE_EVENT_LOG_UPTO_FULL (0xFF)
    221 
    222 #endif