source: svn/trunk/newcon3bcm2_21bu/magnum/portinginterface/aob/7552/baob_utils.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: 7.1 KB
Line 
1/******************************************************************************
2 *    (c)2011-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_utils.h $
39 * $brcm_Revision: 8 $
40 * $brcm_Date: 2/15/12 6:51p $
41 *
42 * Module Description:
43 *
44 * Revision History:
45 *
46 * $brcm_Log: /AP/ctfe/core/aob/baob_utils.h $
47 *
48 * 8   2/15/12 6:51p farshidf
49 * SW3128-1: merge to main
50 *
51 * Fw_Integration_Devel/2   2/15/12 6:41p farshidf
52 * SW3128-1: merge to integ
53 *
54 * Fw_Integration_Devel/AP_V4_0_AOB_DEV/1   2/15/12 5:16p dorothyl
55 * SW3128-1: bug fix --
56 *
57 * Fw_Integration_Devel/1   2/9/12 12:20p farshidf
58 * SW3128-1: merge to integ
59 *
60 * Fw_Integration_Devel/AP_V3_0_AOB_DEV/2   2/8/12 4:11p dorothyl
61 * SW3128-1 : bug in fec
62 *
63 * Fw_Integration_Devel/AP_V3_0_AOB_DEV/1   2/8/12 2:17p dorothyl
64 * SW3128-1: OOB BERT
65 *
66 * 6   4/5/11 3:27p farshidf
67 * SW3461-1: merge  main
68 *
69 * AOB_3128_1/6   3/31/11 11:32a dorothyl
70 * SW3128-1: oob status fix
71 *
72 * AOB_3128_1/5   3/23/11 1:06p mpovich
73 * SW3128-1: Rebase AOB from main branch
74 *
75 * 4   3/22/11 5:06p mpovich
76 * SW3128-1: Add latest AOB driver changes.
77 *
78 * AOB_3128_1/4   3/21/11 6:26p farshidf
79 * SW3461-1: update naming
80 *
81 * AOB_3128_1/3   3/17/11 8:49p cbrooks
82 * sw4128-1:removed Range_Check
83 *
84 * AOB_3128_1/2   3/17/11 8:39p cbrooks
85 * sw3128-1:Worked on AOB status
86 *
87 * AOB_3128_1/1   3/17/11 6:16p cbrooks
88 * sw3128-1:Added OOB code
89 *
90 * 3   3/11/11 3:49p farshidf
91 * SW3128-1: latest chnages from Charlie
92 *
93 * 2   3/8/11 2:46p cbrooks
94 * sw3128-1:new OOB code
95 *
96 * 1   2/23/11 7:09p cbrooks
97 * sw3128-1:new code
98 *
99 *****************************************************************************/
100#ifndef BAOB_UTILS_H__
101#define BAOB_UTILS_H__
102
103#ifdef __cplusplus
104extern "C" {
105#endif
106
107
108
109typedef enum BW_Sel_s
110{
111  BW_Sel_eAcquisition_BW, 
112  BW_Sel_eTracking_BW
113}BW_Sel_t;
114
115typedef struct BAOB_PhaseLoopBW_Tables_s
116{
117uint8_t Lin_PhaseLoopBw;
118uint8_t Int_PhaseLoopBw;
119}BAOB_PhaseLoopBW_Tables_t; 
120
121static const BAOB_PhaseLoopBW_Tables_t BAOB_PhaseLoopBw_Table[3][3][2] = 
122{
123        /* AcqLowBW     TrkLowBW        AcqMedBW      TrkMedBW        AcqHighBW    TrkHighBW*/
124        /* Lin   Int    Lin   Int       Lin   Int     Lin   Int       Lin   Int    Lin   Int*/
125        {{{0xfc, 0xdc}, {0xfe, 0xff}}, {{0xfc, 0xdc}, {0xfd, 0xfc}}, {{0xfc, 0xdc}, {0xfc, 0xf5}}}, /*DVS_178*/
126        {{{0xF9, 0xC1}, {0xfe, 0xff}}, {{0xF9, 0xC1}, {0xfc, 0xf9}}, {{0xF9, 0xC1}, {0xf9, 0xc1}}}, /*DVS_167_GradeA*/
127        {{{0xF9, 0xC1}, {0xfe, 0xff}}, {{0xF9, 0xC1}, {0xfc, 0xf9}}, {{0xF9, 0xC1}, {0xf9, 0xc1}}}  /*DVS_167_GradeB*/
128};     
129
130typedef struct BAOB_TimingLoopBW_Tables_s
131{
132uint32_t Lin_TimingLoopBw;
133uint32_t Int_TimingLoopBw;
134}BAOB_TimingLoopBW_Tables_t;
135
136static const BAOB_TimingLoopBW_Tables_t BAOB_TimingLoopBW_Table[3][2] = 
137{
138        /*  AcqLowBW    AcqLowBW      TrkLowBW     TrkLowBW*/
139        /*     Lin         Int           Lin          Int  */
140        {{0x0a4cf800, 0x02ad3600}, {0x020f6400, 0x00183693}}, /*DVS_178*/
141        {{0x0db2f700, 0x042ea46d}, {0x0db2f700, 0x042ea46d}}, /*DVS_167_GradeA*/
142        {{0x0db2f700, 0x042ea46d}, {0x0db2f700, 0x042ea46d}}  /*DVS_167_GradeB*/
143};     
144
145typedef struct BAOB_FEC_Tables_s
146{
147uint32_t STFECL;
148uint32_t STFECH;
149}BAOB_FEC_Tables_t;
150
151/*DVS_178
152 *acq: allow 2 of 16 to get in,   
153 *trk: allow 7 of 13 bad MPEG headers
154 *trk: allow 8 of 48 bad RS blocks
155 *
156 *DVS_167
157 *acq: allow 2 of 16 to get in then
158 *trk: allow 7 of 13 bad MPEG headers
159 *trk: allow 8 of 48 bad RS blocks
160 *
161 *For TESTING
162 *acq: allow 2 of 16 to get in
163 *trk: allow 13 of 13 bad MPEG hdr
164 *trk: allow 48 of 48 bad RS blcks
165 */
166static const BAOB_FEC_Tables_t BAOB_FEC_Table[4] = 
167{
168  /* STFECL      STFECH*/
169        {0x08c7f200, 0x07300000}, /*DVS_178*/
170        {0x05532100, 0x0B070000}, /*DVS_167*/
171 /* {0x08c7f200, 0x07300000},*/ /*DVS_178*/
172        {0x31fFF200, 0x07300000}, /*for BERT tests - Annex B*/
173        {0x31fff200, 0x03300000}, /*for BERT tests - Annex A*/
174};     
175
176/*****************************************************************************
177 * ADS Function Prototypes Used by PI or Local
178 *****************************************************************************/
179
180
181/*****************************************************************************
182 * ADS Function Prototypes Used Local
183 *****************************************************************************/
184void     BAOB_P_Set_CFL_Frequency(BAOB_3x7x_Handle hChn, int32_t CFL_Frequency);
185int32_t  BAOB_P_Get_CFL_FrequencyError(BAOB_3x7x_Handle hChn);
186void     BAOB_P_Set_CFL_BW(BAOB_3x7x_Handle h, BW_Sel_t BW_Sel);
187uint32_t BAOB_P_Get_SymbolRate(BAOB_3x7x_Handle hChn);
188void     BAOB_P_Set_TL_Frequency(BAOB_3x7x_Handle h, uint32_t Symbol_Rate);
189int32_t  BAOB_P_Get_TL_FrequencyError(BAOB_3x7x_Handle h);
190void     BAOB_P_Set_TL_BW(BAOB_3x7x_Handle h, BW_Sel_t BW_Sel);
191void     BAOB_P_Set_FEC(BAOB_3x7x_Handle h);
192void     BAOB_P_Set_SNR(BAOB_3x7x_Handle h);
193
194#ifdef __cplusplus
195}
196#endif
197
198#endif
199
200
Note: See TracBrowser for help on using the repository browser.