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