source: svn/trunk/newcon3bcm2_21bu/magnum/portinginterface/cec/7552/bcec_priv.h

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

first commit

  • Property svn:executable set to *
File size: 5.9 KB
Line 
1/***************************************************************************
2*          (c)2007-2011 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: bcec_priv.h $
39* $brcm_Revision: Hydra_Software_Devel/5 $
40* $brcm_Date: 2/28/12 10:57a $
41*
42* Module Description:
43*
44* Revision History:
45*
46* $brcm_Log: /magnum/portinginterface/cec/7425/bcec_priv.h $
47*
48* Hydra_Software_Devel/5   2/28/12 10:57a vle
49* SW7425-2289, SW7420-2256: Add more debug messages, fix compiler
50* warnings for 65nm platforms
51*
52* Hydra_Software_Devel/4   2/24/12 4:06p vle
53* SW7425-2289: Merge to mainline
54*
55* Hydra_Software_Devel/SW7425-2289/1   2/22/12 6:11p vle
56* SW7425-2289: Add support for CEC AutoOn
57*
58* Hydra_Software_Devel/3   2/17/12 3:44p vle
59* SW7425-2279: Merge to mainline
60*
61* Hydra_Software_Devel/SW7425-2279/4   2/16/12 4:55p vle
62* SW7425-2279: Additional updates after 2nd review. Still need to rework
63* Standby/Resume function to use CEC autoOn feature.
64*
65* Hydra_Software_Devel/SW7425-2279/3   2/13/12 3:33p vle
66* SW7420-682: Merge to SW7425-2279 branch
67*
68* Hydra_Software_Devel/SW7425-2279/2   2/9/12 3:35p vle
69* SW7425-2279: Update BCEC PI implementations. Use separate events for
70* transmit and receive.
71*
72* Hydra_Software_Devel/SW7425-2279/1   1/30/12 7:14p vle
73* SW7425-2279: Fix incorrect return of received CEC message
74*
75* Hydra_Software_Devel/SW7420-682/1   2/3/12 6:42p vle
76* SW7420-682: First attempt at enable Auto-on CEC. Code hasn't gone
77* through testing.
78*
79* Hydra_Software_Devel/2   1/17/12 6:46p vle
80* SW7125-1214: Fix crash issue duing initialization in proxy mode.
81*
82* Hydra_Software_Devel/1   11/22/11 6:23p vle
83* SW7425-1140: Add BCEC PI support
84*
85* Hydra_Software_Devel/SW7425-1140/1   11/16/11 12:14p vle
86* SW7425-1140: Add CEC PI support for 7425
87*
88***************************************************************************/
89#ifndef BCEC_PRIV_H__
90#define BCEC_PRIV_H__
91
92#include "bcec.h"
93
94#ifdef __cplusplus
95extern "C" {
96#endif
97
98
99#define BCEC_MAKE_INTR_ENUM(IntName) BCEC_INTR_e##IntName
100#define BCEC_MAKE_INTR_NAME(IntName) "BCEC_" #IntName
101
102
103#define BCEC_MAX_OPCODES 62
104typedef struct 
105{
106        uint8_t opCode ;
107        const char *opText ;
108} BCEC_OpcodeTextTable ;
109
110                                                         
111/******************************************************************************
112Summary:
113Enumeration of BCEC_Interrupts
114*******************************************************************************/
115typedef enum
116{
117#if BCEC_CONFIG_DUAL_INTERRUPT
118        /* 00 */ BCEC_MAKE_INTR_ENUM(RECEIVED),
119        /* 01 */ BCEC_MAKE_INTR_ENUM(SENT),     
120#else
121        /* 00 */ BCEC_MAKE_INTR_ENUM(CEC),
122#endif 
123        /* 01 */ BCEC_MAKE_INTR_ENUM(LAST)
124} BCEC_P_InterruptMask ;
125
126
127typedef struct BCEC_P_ReceivedMessageInfo
128{
129        BAVC_HDMI_CEC_MessageData data; 
130        BCEC_MessageStatus status;
131} BCEC_P_ReceivedMessageInfo ;
132
133
134/*******************************************************************************
135Private CEC Handle Declaration
136*******************************************************************************/
137BDBG_OBJECT_ID_DECLARE(BCEC_P_Handle);
138
139typedef struct BCEC_P_Handle
140{
141        BDBG_OBJECT(BCEC_P_Handle)
142        BCEC_Dependencies stDependencies;
143        BCEC_Settings stSettings;
144        BINT_CallbackHandle hCallback[BCEC_MAKE_INTR_ENUM(LAST)] ;
145
146        BKNI_EventHandle BCEC_EventCec_Transmitted ;
147        BKNI_EventHandle BCEC_EventCec_Received;
148        BCEC_MessageStatus lastTransmitMessageStatus ;
149        BCEC_MessageStatus lastReceivedMessageStatus ;
150        bool firstCecMessage ;
151       
152        bool standby; /* true if in standby */
153        bool enableAutoOn;
154} BCEC_P_Handle ;
155
156
157void BCEC_P_HandleInterrupt_isr(
158        void *pParam1,                                          /* [in] Device handle */
159        int parm2                                                       /* [in] not used */
160);
161
162
163#if BCEC_CONFIG_AUTO_ON_SUPPORT
164void BCEC_P_EnableAutoOn(
165        BCEC_Handle hCEC, 
166        bool enable
167);
168#endif
169
170
171#ifdef __cplusplus
172 }
173#endif
174 
175#endif /* BCEC_PRIV_H__ */
176 
177 
Note: See TracBrowser for help on using the repository browser.