source: svn/trunk/newcon3bcm2_21bu/magnum/portinginterface/vbi/7552/bvbi_itu656.c

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

first commit

  • Property svn:executable set to *
File size: 4.2 KB
Line 
1/***************************************************************************
2 *     Copyright (c) 2003-2009, Broadcom Corporation
3 *     All Rights Reserved
4 *     Confidential Property of Broadcom Corporation
5 *
6 *  THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED SOFTWARE LICENSE
7 *  AGREEMENT  BETWEEN THE USER AND BROADCOM.  YOU HAVE NO RIGHT TO USE OR
8 *  EXPLOIT THIS MATERIAL EXCEPT SUBJECT TO THE TERMS OF SUCH AN AGREEMENT.
9 *
10 * $brcm_Workfile: bvbi_itu656.c $
11 * $brcm_Revision: Hydra_Software_Devel/3 $
12 * $brcm_Date: 6/24/09 4:38p $
13 *
14 * Module Description:
15 *
16 * Revision History:
17 *
18 * $brcm_Log: /magnum/portinginterface/vbi/7420/bvbi_itu656.c $
19 *
20 * Hydra_Software_Devel/3   6/24/09 4:38p darnstein
21 * PR56289: BVBI compiles for 7340 chipset now.
22 *
23 * Hydra_Software_Devel/2   12/4/08 6:08p darnstein
24 * PR45819: 7420 software will now compile, but not link.
25 *
26 * Hydra_Software_Devel/1   12/4/08 5:55p darnstein
27 * PR45819: copy over from 7400 branch.
28 *
29 * Hydra_Software_Devel/1   12/3/08 7:46p darnstein
30 * PR45819: Source files for 7400 are no longer symbolic links.
31 *
32 * Hydra_Software_Devel/1   11/13/06 3:03p darnstein
33 * PR23247: Code to initialize ITU656 core to support output of teletext
34 * through auxiliary serial port.
35 *
36 ***************************************************************************/
37
38#include "bstd.h"                       /* standard types */
39#include "bdbg.h"                       /* Dbglib */
40#include "bvbi.h"                       /* VBI processing, this module. */
41#include "bvbi_priv.h"          /* VBI internal data structures */
42
43#if (BVBI_P_HAS_XSER_TT != 0) /** { **/
44
45#include "bchp_itu656_0.h"      /* RDB info for ITU656 registers */
46
47BDBG_MODULE(BVBI);
48
49
50/***************************************************************************
51* Forward declarations of static (private) functions
52***************************************************************************/
53
54/***************************************************************************
55* Implementation of "BVBI_" API functions
56***************************************************************************/
57
58/***************************************************************************
59* Implementation of supporting VBI_ENC functions that are not in API
60***************************************************************************/
61
62BERR_Code BVBI_P_ITU656_Init( 
63        BREG_Handle hReg, const BVBI_XSER_Settings* pXSERdefaultSettings )
64{
65        uint32_t ulReg;
66        uint32_t iMode;
67
68        BDBG_ENTER(BVBI_P_ITU656_Init);
69
70        switch (pXSERdefaultSettings->ttSerialDataSync)
71        {
72    case BVBI_TTserialDataSync_EAV:
73                iMode = BCHP_ITU656_0_ITU656_TTE_CTRL_TTE_MODE_EAV;
74                break;
75    case BVBI_TTserialDataSync_SAV:
76                iMode = BCHP_ITU656_0_ITU656_TTE_CTRL_TTE_MODE_SAV;
77                break;
78    case BVBI_TTserialDataSync_RQ:
79                iMode = BCHP_ITU656_0_ITU656_TTE_CTRL_TTE_MODE_RQ;
80                break;
81        default:
82                iMode = BCHP_ITU656_0_ITU656_TTE_CTRL_TTE_MODE_DISABLED;
83                break;
84        }
85
86        ulReg = (
87        BCHP_FIELD_DATA (ITU656_0_ITU656_TTE_CTRL, TTE_MODE,    iMode) |
88        BCHP_FIELD_DATA (ITU656_0_ITU656_TTE_CTRL, DELAY_COUNT, 
89              pXSERdefaultSettings->iTTserialDataSyncDelay) );
90        BREG_Write32 (hReg, BCHP_ITU656_0_ITU656_TTE_CTRL, ulReg);
91
92        BDBG_LEAVE(BVBI_P_ITU656_Init);
93
94        return BERR_SUCCESS;
95}
96
97BERR_Code BVBI_P_ITU656_Enc_Program (
98        BREG_Handle hReg,
99        BVBI_XSER_Settings* pSettings,
100        uint32_t ulActive_XSER_Standards)
101{
102        uint32_t ulReg;
103        uint32_t iMode;
104
105        BDBG_ENTER(BVBI_P_ITU656_Enc_Program);
106
107        switch (pSettings->ttSerialDataSync)
108        {
109    case BVBI_TTserialDataSync_EAV:
110                iMode = BCHP_ITU656_0_ITU656_TTE_CTRL_TTE_MODE_EAV;
111                break;
112    case BVBI_TTserialDataSync_SAV:
113                iMode = BCHP_ITU656_0_ITU656_TTE_CTRL_TTE_MODE_SAV;
114                break;
115    case BVBI_TTserialDataSync_RQ:
116                iMode = BCHP_ITU656_0_ITU656_TTE_CTRL_TTE_MODE_RQ;
117                break;
118        default:
119                iMode = BCHP_ITU656_0_ITU656_TTE_CTRL_TTE_MODE_DISABLED;
120                break;
121        }
122
123        if ((ulActive_XSER_Standards & BVBI_P_SELECT_TT) == 0)
124                iMode = BCHP_ITU656_0_ITU656_TTE_CTRL_TTE_MODE_DISABLED;
125
126        ulReg = (
127        BCHP_FIELD_DATA (ITU656_0_ITU656_TTE_CTRL, TTE_MODE,    iMode) |
128        BCHP_FIELD_DATA (ITU656_0_ITU656_TTE_CTRL, DELAY_COUNT, 
129              pSettings->iTTserialDataSyncDelay) );
130        BREG_Write32 (hReg, BCHP_ITU656_0_ITU656_TTE_CTRL, ulReg);
131
132        BDBG_LEAVE(BVBI_P_ITU656_Enc_Program);
133
134
135        return BERR_SUCCESS;
136}
137
138#endif /** }  BVBI_P_HAS_XSER_TT **/
Note: See TracBrowser for help on using the repository browser.