source: svn/trunk/newcon3bcm2_21bu/magnum/portinginterface/aob/7552/baob_struct.h

Last change on this file was 2, checked in by phkim, 11 years ago

1.phkim

  1. revision copy newcon3sk r27
  • Property svn:executable set to *
File size: 10.3 KB
Line 
1/***************************************************************************
2 *     (c)2005-2012 Broadcom Corporation
3 * 
4 *  This program is the proprietary software of Broadcom Corporation and/or its licensors,
5 *  and may only be used, duplicated, modified or distributed pursuant to the terms and
6 *  conditions of a separate, written license agreement executed between you and Broadcom
7 *  (an "Authorized License").  Except as set forth in an Authorized License, Broadcom grants
8 *  no license (express or implied), right to use, or waiver of any kind with respect to the
9 *  Software, and Broadcom expressly reserves all rights in and to the Software and all
10 *  intellectual property rights therein.  IF YOU HAVE NO AUTHORIZED LICENSE, THEN YOU
11 *  HAVE NO RIGHT TO USE THIS SOFTWARE IN ANY WAY, AND SHOULD IMMEDIATELY
12 *  NOTIFY BROADCOM AND DISCONTINUE ALL USE OF THE SOFTWARE. 
13 *   
14 *  Except as expressly set forth in the Authorized License,
15 *   
16 *  1.     This program, including its structure, sequence and organization, constitutes the valuable trade
17 *  secrets of Broadcom, and you shall use all reasonable efforts to protect the confidentiality thereof,
18 *  and to use this information only in connection with your use of Broadcom integrated circuit products.
19 *   
20 *  2.     TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
21 *  AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES, REPRESENTATIONS OR
22 *  WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO
23 *  THE SOFTWARE.  BROADCOM SPECIFICALLY DISCLAIMS ANY AND ALL IMPLIED WARRANTIES
24 *  OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE,
25 *  LACK OF VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION
26 *  OR CORRESPONDENCE TO DESCRIPTION. YOU ASSUME THE ENTIRE RISK ARISING OUT OF
27 *  USE OR PERFORMANCE OF THE SOFTWARE.
28 * 
29 *  3.     TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM OR ITS
30 *  LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL, INCIDENTAL, SPECIAL, INDIRECT, OR
31 *  EXEMPLARY DAMAGES WHATSOEVER ARISING OUT OF OR IN ANY WAY RELATING TO YOUR
32 *  USE OF OR INABILITY TO USE THE SOFTWARE EVEN IF BROADCOM HAS BEEN ADVISED OF
33 *  THE POSSIBILITY OF SUCH DAMAGES; OR (ii) ANY AMOUNT IN EXCESS OF THE AMOUNT
34 *  ACTUALLY PAID FOR THE SOFTWARE ITSELF OR U.S. $1, WHICHEVER IS GREATER. THESE
35 *  LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF
36 *  ANY LIMITED REMEDY.
37 *
38 * $brcm_Workfile: baob_struct.h $
39 * $brcm_Revision: 20 $
40 * $brcm_Date: 2/9/12 12:44p $
41 *
42 * Module Description:
43 *
44 * Revision History:
45 *
46 * $brcm_Log: /AP/ctfe/core/aob/baob_struct.h $
47 *
48 * 20   2/9/12 12:44p farshidf
49 * SW3128-1: merge to main
50 *
51 * Fw_Integration_Devel/5   2/9/12 12:19p farshidf
52 * SW3128-1: merge to integ
53 *
54 * Fw_Integration_Devel/AP_V3_0_AOB_DEV/6   2/8/12 2:15p dorothyl
55 * SW3128-1 : OOB BERT
56 *
57 * Fw_Integration_Devel/AP_V3_0_AOB_DEV/5   2/1/12 5:50p farshidf
58 * SW3128-1: add 7552 fields
59 *
60 * Fw_Integration_Devel/AP_V3_0_AOB_DEV/4   2/1/12 5:49p farshidf
61 * SW3128-1: merge to integ
62 *
63 * 18   1/18/12 11:18a farshidf
64 * SW3128-1: change the status elemnt to 32 bits for 7552 compatability
65 *
66 * 17   1/12/12 2:28p farshidf
67 * SW3128-1: merge back the structure
68 *
69 * 16   1/9/12 12:22p farshidf
70 * SW3128-102: merge to main
71 *
72 * Fw_Integration_Devel/3   1/9/12 11:55a farshidf
73 * SW3128-102: merge to integ
74 *
75 * Fw_Integration_Devel/AP_V3_0_AOB_DEV/2   1/6/12 1:24p dorothyl
76 * SW3128-1 : add nyq filter option
77 *
78 * Fw_Integration_Devel/AP_V3_0_AOB_DEV/1   12/13/11 12:27p mpovich
79 * SW3128-69: Add lock/unlock IRQs and status for Out of Band.
80 *
81 * Fw_Integration_Devel/AP_V3_0_AOB_DEV/SW3128-69/1   12/13/11 10:31a mpovich
82 * SW3128-69: Add Acquire After Tune flag.
83 *
84 * 9   11/9/11 4:39p farshidf
85 * SW7552-139: adapt the code for magnum support
86 *
87 * 8   4/5/11 3:28p farshidf
88 * SW3461-1: merge  main
89 *
90 * AOB_3128_1/8   4/5/11 10:54a dorothyl
91 * SW3128-1: OOB UPDATE
92 *
93 * AOB_3128_1/7   3/31/11 11:44a farshidf
94 * SW3128-1: fix compile issue
95 *
96 * AOB_3128_1/6   3/31/11 11:32a dorothyl
97 * SW3128-1: oob status fix
98 *
99 * AOB_3128_1/5   3/29/11 10:39a dorothyl
100 * SW3128-1: oob bersrc
101 *
102 * AOB_3128_1/4   3/23/11 1:05p mpovich
103 * SW3128-1: Rebase AOB from main branch
104 *
105 * 4   3/22/11 5:05p mpovich
106 * SW3128-1: Add latest AOB driver changes.
107 *
108 * AOB_3128_1/3   3/18/11 4:38p cbrooks
109 * sw3128-1:Added Status for OOB
110 *
111 * AOB_3128_1/2   3/18/11 12:43p cbrooks
112 * sw3128-1:new code
113 *
114 * AOB_3128_1/1   3/17/11 6:16p cbrooks
115 * sw3128-1:Added OOB code
116 *
117 * 3   3/8/11 3:27p farshidf
118 * SW3461-1: fix compile issues
119 *
120 * 2   3/8/11 2:46p cbrooks
121 * sw3128-1:new OOB code
122 *
123 * 1   2/23/11 11:58a cbrooks
124 * sw3128-1:new code
125 *
126 * 2   12/16/10 6:33p farshidf
127 * SW3461-1: update
128 *
129 * 1   12/13/10 4:41p farshidf
130 * SW3128-1: add aob
131 *
132 ***************************************************************************/
133#ifndef BAOB_STRUCT_H__
134#define BAOB_STRUCT_H__
135
136#ifdef __cplusplus
137extern "C" {
138#endif
139
140#ifndef LEAP_BASED_CODE
141#define F_HS               15000000
142#endif
143
144/****************************************************************************************
145* Enum used by  BAOB_AcqParams_t
146****************************************************************************************/
147
148
149typedef enum BAOB_Acquire_Params_BPS_s
150{
151  BAOB_Acquire_Params_BPS_eDVS_178, 
152  BAOB_Acquire_Params_BPS_eDVS_167_GradeA,
153  BAOB_Acquire_Params_BPS_eDVS_167_GradeB,
154  BAOB_Acquire_Params_BPS_eBERT_TEST_MODE
155}BAOB_Acquire_Params_BPS_t;
156
157typedef enum BAOB_Acquire_Params_FEC_s
158{
159  BAOB_Acquire_Params_BPS_eDVS178, 
160  BAOB_Acquire_Params_BPS_eDVS167
161}BAOB_Acquire_Params_FEC_t;
162
163typedef enum BAOB_Acquire_Params_PLBW_s
164{
165        BAOB_Acquire_Params_PLBW_eLow, 
166        BAOB_Acquire_Params_PLBW_eMed,
167        BAOB_Acquire_Params_PLBW_eHigh
168}BAOB_Acquire_Params_PLBW_t;
169
170typedef enum BAOB_Acquire_Params_BERT_Source_s
171{
172        BAOB_Acquire_Params_BERT_Source_eI, 
173        BAOB_Acquire_Params_BERT_Source_eQ,
174        BAOB_Acquire_Params_BERT_Source_eIQ,
175        BAOB_Acquire_Params_BERT_Source_eFEC
176}BAOB_Acquire_Params_BERT_Source_t;
177
178typedef enum BAOB_Acquire_Params_OffOn_s
179{
180  BAOB_Acquire_Params_eDisable, 
181  BAOB_Acquire_Params_eEnable
182}BAOB_Acquire_Params_OffOn_t;
183
184typedef enum BAOB_Acquire_Params_Nyq_s
185{       
186        BAOB_Acquire_Params_Nyq_ehalf_raised,
187        BAOB_Acquire_Params_Nyq_ehalf_rtraised,
188        BAOB_Acquire_Params_Nyq_ethird_rtraised
189}BAOB_Acquire_Params_Nyq_t;
190
191
192#ifndef LEAP_BASED_CODE
193typedef enum BAOB_AcquireStartMode
194{
195  BAOB_AcquireStartMode_Acquire = 1, 
196  BAOB_AcquireStartMode_ResetStatus = 2,
197  BAOB_AcquireStartMode_UpdateStatus = 4
198} BAOB_AcquireStartMode_t;
199#endif
200
201typedef struct BAOB_Acquire_Params_s
202{
203#ifndef LEAP_BASED_CODE
204        volatile BAOB_AcquireStartMode_t                        AcquireStartMode;
205#endif
206        BAOB_Acquire_Params_OffOn_t                                     Auto;
207        BAOB_Acquire_Params_OffOn_t                                     AI;
208        BAOB_Acquire_Params_OffOn_t                                     IS;
209        BAOB_Acquire_Params_OffOn_t                             BYP;
210        BAOB_Acquire_Params_BPS_t                                       BPS;
211        BAOB_Acquire_Params_FEC_t                                       AA;
212        BAOB_Acquire_Params_PLBW_t                                      PLBW;
213        BAOB_Acquire_Params_BERT_Source_t                       BERSRC;
214        BAOB_Acquire_Params_OffOn_t                                     Acquire_After_Tune;
215        BAOB_Acquire_Params_Nyq_t                                       Nyq;
216}BAOB_Acquire_Params_t;
217
218
219typedef enum BAOB_Local_Params_BERT_Source_s
220{
221        BAOB_Local_Params_BERT_Source_eI, 
222        BAOB_Local_Params_BERT_Source_eQ,
223        BAOB_Local_Params_BERT_Source_eIQ,
224        BAOB_Local_Params_BERT_Source_eFEC
225}BAOB_Local_Params_BERT_Source_t;
226
227typedef enum BAOB_Local_Params_CTRL3_s
228{
229   BAOB_Local_Params_CTRL3_DEFAULT     
230}BAOB_Local_Params_CTRL3_t;
231
232typedef struct BAOB_Local_Params_s
233{
234        BAOB_Local_Params_BERT_Source_t         BERSRC;
235        uint32_t                                                        CTRL3;
236#ifndef LEAP_BASED_CODE
237        uint32_t                                                        LockUpdate;
238        uint32_t                                                        LockStatus;
239        uint32_t                                                        BBSAcqAdd;
240        uint32_t                                                        BBSStaAdd;
241#endif
242}BAOB_Local_Params_t;
243
244/***************************************************************************
245* BAOB_AcqParams_t This is the main structure by the AOB acquisition functions
246****************************************************************************/
247typedef struct BAOB_AcqParams_s
248{
249        BAOB_Acquire_Params_t           BAOB_Acquire_Params;
250        BAOB_Local_Params_t                     BAOB_Local_Params;      /*needs initialization in BAOB_P_Init()*/
251}BAOB_AcqParams_t;
252
253/****************************************************************************************
254* Enum used by  BAOB_Status_t
255***************************************************************************************/
256
257typedef enum BAOB_Status_NotInvertedInveted_s
258{
259  BAOB_Status_eNotInverted, 
260  BAOB_Status_eInverted
261}BAOB_Status_NotInvertedInveted_t;
262
263typedef enum BAOB_Status_UnlockLock_s
264{
265  BAOB_Status_eUnlock, 
266  BAOB_Status_eLock
267}BAOB_Status_UnlockLock_t;
268
269typedef enum BAOB_Status_BERT_Source_s
270{
271        BAOB_Status_BERT_Source_eI, 
272        BAOB_Status_BERT_Source_eQ,
273        BAOB_Status_BERT_Source_eIQ,
274        BAOB_Status_BERT_Source_eFEC
275}BAOB_Status_BERT_Source_t;
276
277typedef enum BAOB_Status_PLBW_s
278{
279        BAOB_Status_PLBW_eLow, 
280        BAOB_Status_PLBW_eMed,
281        BAOB_Status_PLBW_eHigh
282}BAOB_Status_PLBW_t;
283
284typedef enum BAOB_Status_FEC_s
285{
286  BAOB_Status_BPS_eDVS178, 
287  BAOB_Status_BPS_eDVS167
288}BAOB_Status_FEC_t;
289
290typedef enum BAOB_Status_BPS_s
291{
292        BAOB_Status_BPS_eDVS_178, 
293        BAOB_Status_BPS_eDVS_167_GradeA,
294        BAOB_Status_BPS_eDVS_167_GradeB,
295        BAOB_Status_BPS_eBERT_TEST_MODE
296}BAOB_Status_BPS_t;
297
298typedef enum BAOB_Status_OffOn_s
299{
300        BAOB_Status_eDisable, 
301        BAOB_Status_eEnable
302}BAOB_Status_OffOn_t;
303
304typedef struct BAOB_Status_s
305{
306        BAOB_Status_OffOn_t                                                     Auto;
307        BAOB_Status_OffOn_t                                                     AI;
308        BAOB_Status_OffOn_t                                             BYP;
309        BAOB_Status_BPS_t                                                       BPS;
310        BAOB_Status_FEC_t                                                       AA;
311        BAOB_Status_PLBW_t                                                      PLBW;
312        BAOB_Status_BERT_Source_t                                       BERSRC;
313        BAOB_Status_UnlockLock_t                                        RLK;
314        BAOB_Status_UnlockLock_t                                        FLK;
315        BAOB_Status_NotInvertedInveted_t                        SI;
316        BAOB_Status_UnlockLock_t                                        BERSYN;
317        uint32_t                                                                        Reack_Count;
318        uint32_t                                                                        SNR;
319        uint32_t                                                                        Sample_Rate;
320        uint32_t                                                                        Symbol_Rate;
321        int32_t                                                                     Frequency_Error;
322        int32_t                                                                     Symbol_Error;
323        uint32_t                                                                        BERT;
324        uint32_t                                                                        FEC_Corr_RS_Blocks;
325        uint32_t                                                                        FEC_UCorr_RS_Blocks;
326        uint32_t                                                                        ATM_Total_Count;
327        uint32_t                                                                        ATM_Loss_Count;
328        int32_t                                                                         EstChannelPower_dbm;
329        int32_t                                                                         FrontEndGain_db;
330        int32_t                                                                         DAGC_Gain_db;
331        int32_t                                                                         EQ_Gain_db;
332}BAOB_Status_t;
333
334/* Channel power on/off status */
335typedef enum BAOB_PowerStatus
336{
337    BAOB_ePower_Off = 0,
338    BAOB_ePower_On  = 1,
339    BAOB_ePower_Unknown = 0xFF
340} BAOB_PowerStatus;
341
342
343
344
345
346
347
348#ifdef __cplusplus
349}
350#endif
351
352#endif
353
354
355
Note: See TracBrowser for help on using the repository browser.