source: svn/newcon3bcm2_21bu/BSEAV/api/include/bsettop_config.h @ 76

Last change on this file since 76 was 76, checked in by megakiss, 10 years ago

1W 대기전력을 만족시키기 위하여 POWEROFF시 튜너를 Standby 상태로 함

  • Property svn:executable set to *
File size: 9.1 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: bsettop_config.h $
11 * $brcm_Revision: 14 $
12 * $brcm_Date: 3/13/09 3:13p $
13 *
14 * Module Description:
15 *
16 * Revision History:
17 *
18 * $brcm_Log: /BSEAV/api/include/bsettop_config.h $
19 *
20 * 14   3/13/09 3:13p jgarrett
21 * PR 49827: Merge to main branch
22 *
23 * PR49827/3   3/3/09 1:59p mward
24 * PR 52355: Adding ANR
25 *
26 * 13   2/20/09 1:39p jgarrett
27 * PR 52355: Adding ANR
28 *
29 * PR49827/2   1/13/09 5:11p mward
30 * PR50613: Add support for SRS Volume IQ.
31 *
32 * PR49827/1   12/1/08 4:37p mward
33 * PR49827: Add a Dolby Volume checkbox in Info:Audio.
34 *
35 * 12   8/14/08 11:46a jgarrett
36 * PR 32047: Adding pcm capture
37 *
38 * 11   1/31/08 5:15p jgarrett
39 * PR 39180: Adding ofdm tuning
40 *
41 * 10   8/22/07 5:29p jgarrett
42 * PR 32044: Merging to main branch
43 *
44 * 7405_pip_support/1   8/21/07 2:38p katrep
45 * PR34204: Added mosaic mode support for 7405.
46 *
47 * 9   7/10/07 5:05p vsilyaev
48 * PR 32849: Added list of streamer and input band object ID's
49 *
50 * PR32044/1   6/26/07 5:55p jgarrett
51 * PR 32044: Adding Mosaic Mode APIs
52 *
53 * 8   2/23/07 3:41p jgarrett
54 * PR 28036: Adding new options for LAB/CAB/Sharpness
55 *
56 * 7   2/8/07 3:45p jgarrett
57 * PR 27751: Adding runtime detection of PVR encryption support
58 *
59 * 6   1/19/07 7:24p vsilyaev
60 * PR 26400: Added decoder to handle separate audio decode
61 *
62 * 5   11/30/06 7:22p jgarrett
63 * PR 24698: PR 24264: Adding features for MAD, BNR/MNR/DCR, and video
64 * formats.
65 *
66 * 4   9/13/06 3:57p erickson
67 * PR22954: add HD display as bconfig feature
68 *
69 * 3   6/15/05 11:25a mphillip
70 * PR15896: Remove two const declarations (and add a "this structure
71 * should be treated as read-only" comment) to get bconfig_copy to work
72 * under 2.7
73 *
74 * 2   4/4/05 2:58p erickson
75 * PR13823: added linein and analog to bconfig, and fixed a few areas
76 *
77 * 1   2/7/05 7:04p dlwin
78 * Merge down for release 2005_REFSW_MERGETOMAIN:
79 *
80 * Irvine_BSEAVSW_Devel/9   12/10/04 4:28p marcusk
81 * PR13348: Added support for record_pes and record_tsdma options.
82 *
83 * Irvine_BSEAVSW_Devel/8   5/3/04 5:07p vsilyaev
84 * PR 10927: Renamed pcm to pcm_play.
85 *
86 * Irvine_BSEAVSW_Devel/7   5/3/04 12:28p vsilyaev
87 * PR 10927: Changed type of bconfig to be constant point to constant data
88 * (it allows to change data at initialization time).
89 *
90 * Irvine_BSEAVSW_Devel/6   5/3/04 11:22a vsilyaev
91 * PR 10927: Added resource list.
92 *
93 * Irvine_BSEAVSW_Devel/5   11/4/03 2:42p erickson
94 * documentation changes
95 *
96 * Irvine_BSEAVSW_Devel/4   10/28/03 11:28a erickson
97 * settop api reworks after internal design view
98 *
99 * Irvine_BSEAVSW_Devel/3   9/30/03 1:13a erickson
100 * updated docjet documentation
101 *
102 * Irvine_BSEAVSW_Devel/2   9/30/03 12:19a erickson
103 * added standard header stuff like cplusplus
104 *
105 * Irvine_BSEAVSW_Devel/1   8/11/03 4:27p vsilyaev
106 * Settop run-time config.
107 *
108 ***************************************************************************/
109#ifndef BSETTOP_CONFIG_H__
110#define BSETTOP_CONFIG_H__
111
112#ifdef __cplusplus
113extern "C" {
114#endif
115
116/*=**************
117The config interface allows the application to get information
118about the board, its high-level features, and all chips on the board.
119
120Read the bconfig global variable after calling bsettop_init()
121to access all information.
122
123Although most of the structure is const-protected, the current
124toolchain does not appear to allow it all to be protected and still be
125used in bconfig_copy for proxy mode.  The user of this API should note
126that these structures should be treated as read-only.  Modifying
127the values will not actually affect what capabilities are supported
128by the chip or board.
129****************/
130
131/*
132Summary:
133String array datatype used in several bconfig structures.
134*/
135typedef const char *bstring_list[];
136
137/*
138Summary:
139A data structure to describe a single chip family on a board.
140*/
141typedef struct bconfig_family {
142    const char *name; /* for example, venom2 */
143    const char *revision; /* family revision, for example, B0 */
144    char major;  /* major revision 'A', 'B' ... */
145    unsigned minor; /* minor revision number */
146} bconfig_family;
147
148/*
149Summary:
150A data structure to list the chip families on a board.
151*/
152typedef bconfig_family  *bconfig_family_list[10];
153
154/*
155Summary:
156A data structure to describe a single chip on a board.
157*/
158typedef struct bconfig_chip {
159    unsigned chip_no; /* chip name like 7320, 7020 */
160    const char *revision; /* chip revision, like RC0 */
161    char major;  /* major revision 'A', 'B' ... */
162    unsigned minor; /* minor revision number */
163    bconfig_family_list families; /* list of family cores included in the chip */
164} bconfig_chip;
165
166/*
167Summary:
168A data structure to define the list of chips on a board.
169*/
170typedef bconfig_chip *bconfig_chip_list[10];
171
172/*
173Summary:
174The set of features which can be supported by a board.
175*/
176typedef struct bconfig_features {
177    bool sds;          /* system might have SDS */
178    bool qam;          /* system might have QAM */
179    bool vsb;          /* system might have VSB */
180    bool ofdm;         /* system might have DVB-T OFDM */
181    bool analog;       /* system might have analog audio/video source */
182    bool video_hd;     /* system could decode HD video */
183    bool display_hd;   /* system could display HD video */
184    bool dnr_dcr;      /* system might have DCR support (digital contour removal) */
185    bool dnr_bnr;      /* system might have BNR support (block noise removal) */
186    bool dnr_mnr;      /* system might have MNR support (mosquito noise removal)*/
187    bool anr;          /* system might have ANR support (analog noise reduction)*/
188    bool deinterlacer; /* system might have deinterlacing support */
189    bool box_detect;   /* system might have letterbox detection support */
190    bool pvr_encryption; /* system might have PVR encryption */
191    bool sharpness;    /* System might have sharpness control */
192    bool cab;          /* System might have color adjustments [Green stretch, Blue Stretch, Auto Flesh Tome] */
193    bool lab;          /* System might have luma adjustments [Dynamic Contrast] */
194    bool mosaic;       /* System might support mosaic mode */
195    bool dolby_volume; /* System might have Dolby volume post processing */
196    bool srs_volume;   /* System might have SRS volume IQ post processing */
197
198    bool video_format_is_supported[bvideo_format_count]; /* Array of supported video formats (index w/bvideo_format values) */
199} bconfig_features;
200
201
202typedef struct bconfig_obj_list {
203    const char *type;         /* string representation of the object type */
204    unsigned total;           /* total number of objects */
205    const bobject_t *objects; /* list (array) of objects avaliable in the system */
206} bconfig_obj_list;
207
208/*
209Summary:
210Data structure to describe list of resources avaliable on a board.
211*/
212typedef struct bconfig_board_resources {
213    bconfig_obj_list record;       /* list of records */
214    bconfig_obj_list record_pes;   /* list of pes records */
215    bconfig_obj_list record_tsdma; /* list of tsdma records */
216    bconfig_obj_list playback;     /* list of playbacks */
217    bconfig_obj_list encode;       /* list of MPEG encoders */
218    bconfig_obj_list display;      /* list of displays */
219    bconfig_obj_list decode;       /* list of decodes */
220    bconfig_obj_list analog;       /* list of analog tuners */
221    bconfig_obj_list linein;       /* list of linein ids (see btuner_linein_t) */
222    bconfig_obj_list sds;          /* list of SDS capable tuners */
223    bconfig_obj_list qam;          /* list of QAM capable tuners */
224    bconfig_obj_list vsb;          /* list of VSB capable tuners */
225    bconfig_obj_list ofdm;         /* list of DVB-T/OFDM capable tuners */
226    bconfig_obj_list pcm_play;     /* list of PCM playbacks */
227    bconfig_obj_list decode_still; /* list of video still picture decodes */
228    bconfig_obj_list decode_es;    /* list of ES only decoders (used for audio ES decode) */
229    bconfig_obj_list streamers;    /* list of streamer inputs */
230    bconfig_obj_list input_bands;  /* list of transport input bands */
231    bconfig_obj_list decode_mosaic;/* list of Mosaic mode decoders */
232    bconfig_obj_list pcm_capture;  /* list of PCM capture channels */
233} bconfig_board_resources;
234
235/*
236Summary:
237Data structure to describe a board, including a list of chips
238and features.
239*/
240typedef struct bconfig_system{
241    const char *board;  /* name of the board */
242    unsigned board_revision;
243    bconfig_chip_list chips; /* list of Broadcom chips on the board */
244    bconfig_features features; /* list of features supported by the board */
245    bconfig_board_resources resources; /* list of resources provided by the board hardware */ 
246} bconfig_system;
247
248/*
249Summary:
250The access point for all system configuration information.
251Description:
252It is initialized after calling bsettop_init().
253*/
254extern const bconfig_system * const bconfig;
255
256#ifdef __cplusplus
257}
258#endif
259
260#endif /* BSETTOP_CONFIG_H__ */
261
Note: See TracBrowser for help on using the repository browser.