source: svn/newcon3bcm2_21bu/dta/src/settop_api/NXP_TDA182I4/tmbslTDA182I4/tmbslTDA182I4.h

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

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

  • Property svn:executable set to *
File size: 16.2 KB
Line 
1/*
2  Copyright (C) 2010 NXP B.V., All Rights Reserved.
3  This source code and any compilation or derivative thereof is the proprietary
4  information of NXP B.V. and is confidential in nature. Under no circumstances
5  is this software to be  exposed to or placed under an Open Source License of
6  any type without the expressed written permission of NXP B.V.
7 *
8 * \file          tmbslTDA182I4.h
9 *
10 * \date          %modify_time%
11 *
12 * \author        David LEGENDRE
13 *                Michael VANNIER
14 *
15 * \brief         Describe briefly the purpose of this file.
16 *
17 * REFERENCE DOCUMENTS :
18 *                TDA182I4_Driver_User_Guide.pdf
19 *
20 * TVFE SW Arch V4 Template: Author Christophe CAZETTES
21 *
22 * \section info Change Information
23 *
24*/
25
26#ifndef _TMBSL_TDA182I4_H
27#define _TMBSL_TDA182I4_H
28
29#ifdef __cplusplus
30extern "C"
31{
32#endif
33
34/*============================================================================*/
35/* TDA182I4 Error Codes                                                       */
36/*============================================================================*/
37
38#define TDA182I4_ERR_BASE                       (CID_COMP_TUNER | CID_LAYER_BSL)
39#define TDA182I4_ERR_COMP                       (CID_COMP_TUNER | CID_LAYER_BSL | TM_ERR_COMP_UNIQUE_START)
40
41#define TDA182I4_ERR_BAD_UNIT_NUMBER            (TDA182I4_ERR_BASE + TM_ERR_BAD_UNIT_NUMBER)
42#define TDA182I4_ERR_ERR_NO_INSTANCES           (TDA182I4_ERR_BASE + TM_ERR_NO_INSTANCES)
43#define TDA182I4_ERR_NOT_INITIALIZED            (TDA182I4_ERR_BASE + TM_ERR_NOT_INITIALIZED)
44#define TDA182I4_ERR_ALREADY_SETUP              (TDA182I4_ERR_BASE + TM_ERR_ALREADY_SETUP)
45#define TDA182I4_ERR_INIT_FAILED                (TDA182I4_ERR_BASE + TM_ERR_INIT_FAILED)
46#define TDA182I4_ERR_BAD_PARAMETER              (TDA182I4_ERR_BASE + TM_ERR_BAD_PARAMETER)
47#define TDA182I4_ERR_NOT_SUPPORTED              (TDA182I4_ERR_BASE + TM_ERR_NOT_SUPPORTED)
48#define TDA182I4_ERR_NULL_CONTROLFUNC           (TDA182I4_ERR_BASE + TM_ERR_NULL_CONTROLFUNC)
49#define TDA182I4_ERR_HW_FAILED                  (TDA182I4_ERR_COMP + 0x0001)
50#define TDA182I4_ERR_NOT_READY                  (TDA182I4_ERR_COMP + 0x0002)
51#define TDA182I4_ERR_BAD_VERSION                (TDA182I4_ERR_COMP + 0x0003)
52#define TDA182I4_ERR_STD_NOT_SET                (TDA182I4_ERR_COMP + 0x0004)
53#define TDA182I4_ERR_RF_NOT_SET                 (TDA182I4_ERR_COMP + 0x0005)
54
55/*============================================================================*/
56/* Types and defines:                                                         */
57/*============================================================================*/
58
59typedef enum _TDA182I4PowerState_t {
60    TDA182I4_PowerNormalMode = 0,                                 /* Device normal mode */
61    TDA182I4_PowerStandbyWithXtalOn,                              /* Device standby mode with Xtal Output */
62    TDA182I4_PowerStandbyWithLtOnWithXtalOn,                      /* Device standby mode with LT on and with Xtal Output */
63    TDA182I4_PowerStandbyWithPllOnWithXtalOn,                     /* Device standby mode with PLL on and with Xtal Output */
64    TDA182I4_PowerStandbyWithLtOnWithPllOnWithXtalOn,             /* Device standby mode with LT on with PLL on and with Xtal Output */
65    TDA182I4_PowerMax
66} TDA182I4PowerState_t, *pTDA182I4PowerState_t;
67
68typedef enum _TDA182I4StandardMode_t {
69    TDA182I4_StandardMode_Unknown = 0,                  /* Unknown standard */
70    TDA182I4_QAM_6MHz,                                  /* Digital TV QAM 6MHz */
71    TDA182I4_QAM_8MHz,                                  /* Digital TV QAM 8MHz */
72    TDA182I4_ATSC_6MHz,                                 /* Digital TV ATSC 6MHz */
73    TDA182I4_ISDBT_6MHz,                                /* Digital TV ISDBT 6MHz */
74    TDA182I4_DVBT_1_7MHz,                               /* Digital TV DVB-T/T2 6MHz */
75    TDA182I4_DVBT_6MHz,                                 /* Digital TV DVB-T/T2 6MHz */
76    TDA182I4_DVBT_7MHz,                                 /* Digital TV DVB-T/T2 7MHz */
77    TDA182I4_DVBT_8MHz,                                 /* Digital TV DVB-T/T2 8MHz */
78    TDA182I4_DVBT_10MHz,                                /* Digital TV DVB-T/T2 10MHz */     
79    TDA182I4_DMBT_8MHz,                                 /* Digital TV DMB-T 8MHz */
80    TDA182I4_FM_Radio,                                  /* Analog FM Radio */
81    TDA182I4_ANLG_MN,                                   /* Analog TV M/N */
82    TDA182I4_ANLG_B,                                    /* Analog TV B */
83    TDA182I4_ANLG_GH,                                   /* Analog TV G/H */
84    TDA182I4_ANLG_I,                                    /* Analog TV I */
85    TDA182I4_ANLG_DK,                                   /* Analog TV D/K */
86    TDA182I4_ANLG_L,                                    /* Analog TV L */
87    TDA182I4_ANLG_LL,                                   /* Analog TV L' */
88    TDA182I4_Scanning,                                  /* Analog Preset Blind Scanning */
89    TDA182I4_ScanXpress,                                /* ScanXpress */
90    TDA182I4_StandardMode_Max
91} TDA182I4StandardMode_t, *pTDA182I4StandardMode_t;
92
93
94#define isTDA182I4_DGTL_STD(_CURSTD) ( (((_CURSTD)>=TDA182I4_QAM_6MHz) && ((_CURSTD)<=TDA182I4_DMBT_8MHz)) || ((_CURSTD)==TDA182I4_ScanXpress) )
95#define isTDA182I4_ANLG_STD(_CURSTD) ( ((_CURSTD)>=TDA182I4_FM_Radio) && ((_CURSTD)<=TDA182I4_Scanning) )
96
97
98/* Register Bit-Field Definition */
99typedef struct _TDA182I4_BitField_t
100{
101    UInt8   Address;
102    UInt8   PositionInBits;
103    UInt8   WidthInBits;
104    UInt8   Attributes;
105}
106TDA182I4_BitField_t, *pTDA182I4_BitField_t;
107
108/*============================================================================*/
109/* Exported functions:                                                        */
110/*============================================================================*/
111
112tmErrorCode_t
113tmbslTDA182I4_Open(
114    tmUnitSelect_t              tUnit,      /*  I: Unit number */
115    tmbslFrontEndDependency_t*  psSrvFunc   /*  I: setup parameters */
116);
117
118tmErrorCode_t
119tmbslTDA182I4_Close(
120    tmUnitSelect_t  tUnit   /*  I: Unit number */
121);
122
123tmErrorCode_t
124tmbslTDA182I4_GetSWVersion(
125    ptmSWVersion_t  pSWVersion  /*  I: Receives SW Version */
126);
127
128tmErrorCode_t
129tmbslTDA182I4_GetSWSettingsVersion(
130    ptmSWSettingsVersion_t pSWSettingsVersion   /* O: Receives SW Settings Version */
131);
132
133tmErrorCode_t
134tmbslTDA182I4_CheckHWVersion(
135    tmUnitSelect_t tUnit    /* I: Unit number */
136);
137
138tmErrorCode_t
139tmbslTDA182I4_SetPowerState(
140    tmUnitSelect_t  tUnit,      /* I: Unit number */
141    tmPowerState_t  powerState  /* I: Power state */
142);
143
144tmErrorCode_t
145tmbslTDA182I4_GetPowerState(
146    tmUnitSelect_t  tUnit,      /* I: Unit number */
147    tmPowerState_t* pPowerState /* O: Power state */
148);
149
150tmErrorCode_t
151tmbslTDA182I4_SetLLPowerState(
152    tmUnitSelect_t          tUnit,      /* I: Unit number */
153    TDA182I4PowerState_t  powerState  /* I: Power state of TDA182I4 */
154);
155
156tmErrorCode_t
157tmbslTDA182I4_GetLLPowerState(
158    tmUnitSelect_t          tUnit,      /* I: Unit number */
159    TDA182I4PowerState_t* pPowerState /* O: Power state of TDA182I4 */
160);
161
162tmErrorCode_t
163tmbslTDA182I4_SetStandardMode(
164    tmUnitSelect_t              tUnit,          /*  I: Unit number */
165    TDA182I4StandardMode_t    StandardMode    /*  I: Standard mode of this device */
166);
167
168tmErrorCode_t
169tmbslTDA182I4_GetStandardMode(
170    tmUnitSelect_t              tUnit,          /*  I: Unit number */
171    TDA182I4StandardMode_t    *pStandardMode  /*  O: Standard mode of this device */
172);
173
174tmErrorCode_t
175tmbslTDA182I4_SetRF(
176    tmUnitSelect_t  tUnit,  /*  I: Unit number */
177    UInt32          uRF     /*  I: RF frequency in hertz */
178);
179
180tmErrorCode_t
181tmbslTDA182I4_GetRF(
182    tmUnitSelect_t  tUnit,  /*  I: Unit number */
183    UInt32*         pRF     /*  O: RF frequency in hertz */
184);
185
186tmErrorCode_t
187tmbslTDA182I4_HwInit(
188    tmUnitSelect_t tUnit    /* I: Unit number */
189);
190
191tmErrorCode_t
192tmbslTDA182I4_GetIF(
193    tmUnitSelect_t  tUnit,  /* I: Unit number */
194    UInt32*         puIF    /* O: IF Frequency in hertz */
195);
196
197tmErrorCode_t
198tmbslTDA182I4_GetCF_Offset(
199    tmUnitSelect_t  tUnit,      /* I: Unit number */
200    UInt32*         puOffset    /* O: Center frequency offset in hertz */
201);
202
203tmErrorCode_t
204tmbslTDA182I4_GetLockStatus(
205    tmUnitSelect_t          tUnit,      /* I: Unit number */
206    tmbslFrontEndState_t*   pLockStatus /* O: PLL Lock status */
207);
208
209tmErrorCode_t
210tmbslTDA182I4_GetAgcStatus(
211    tmUnitSelect_t          tUnit,       /* I: Unit number */
212    Bool*                   pbAgcLock,   /* O: AGC Lock status */
213    Bool*                   pbAgcMax     /* O: AGC Max status */
214);
215
216tmErrorCode_t
217tmbslTDA182I4_SetGpio(
218    tmUnitSelect_t          tUnit,           /* I: Unit number */
219    UInt8                   bNumber,         /* I: Number of the GPIO to set */
220    Bool                    bActive          /* I: GPIO enabled/disabled */
221);
222
223tmErrorCode_t
224tmbslTDA182I4_GetPowerLevel(
225    tmUnitSelect_t  tUnit,      /* I: Unit number */
226    UInt8*          pPowerLevel /* O: Power Level in 1/2 steps dBµV */
227);
228
229tmErrorCode_t
230tmbslTDA182I4_SetInternalVsync(
231    tmUnitSelect_t  tUnit,      /* I: Unit number */
232    Bool            bEnabled    /* I: Enable of disable the internal VSYNC */
233);
234
235tmErrorCode_t
236tmbslTDA182I4_GetInternalVsync(
237    tmUnitSelect_t  tUnit,      /* I: Unit number */
238    Bool*           pbEnabled   /* O: current status of the internal VSYNC */
239);
240
241tmErrorCode_t
242tmbslTDA182I4_SetPllManual(
243    tmUnitSelect_t  tUnit,         /* I: Unit number */
244    Bool            bOverridePLL   /* I: Determine if we need to put PLL in manual mode in SetRF */
245);
246
247tmErrorCode_t
248tmbslTDA182I4_GetPllManual(
249    tmUnitSelect_t  tUnit,         /* I: Unit number */
250    Bool*           pbOverridePLL  /* O: Determine if we need to put PLL in manual mode in SetRF */
251);
252
253tmErrorCode_t
254tmbslTDA182I4_GetIRQ(
255    tmUnitSelect_t  tUnit  /* I: Unit number */,
256    Bool*           pbIRQ  /* O: IRQ triggered */
257);
258
259tmErrorCode_t
260tmbslTDA182I4_WaitIRQ(
261    tmUnitSelect_t  tUnit,      /* I: Unit number */
262    UInt32          timeOut,    /* I: timeOut for IRQ wait */
263    UInt32          waitStep,   /* I: wait step */
264    UInt8           irqStatus   /* I: IRQs to wait */
265);
266
267tmErrorCode_t
268tmbslTDA182I4_GetXtalCal_End(
269    tmUnitSelect_t  tUnit           /* I: Unit number */,
270    Bool*           pbXtalCal_End   /* O: XtalCal_End triggered */
271);
272
273/* You can only add one step (-1 or +1) at a time along -125 KHz <-> -62.5 KHz <-> 0 <-> 62.5 KHz <-> 125 KHz */
274/* After calling tmbslTDA182I4_SetRF, step is reset at 0 */
275tmErrorCode_t
276tmbslTDA182I4_SetFineRF(
277    tmUnitSelect_t tUnit,      /* I: Unit number */
278    Int8           step        /* I: step (-1, +1) */
279);
280
281tmErrorCode_t
282tmbslTDA182I4_Write(
283    tmUnitSelect_t              tUnit,      /* I: Unit number */
284    const TDA182I4_BitField_t*  pBitField,  /* I: Bitfield structure */
285    UInt8                       uData,      /* I: Data to write */
286    tmbslFrontEndBusAccess_t    eBusAccess  /* I: Access to bus */
287);
288
289tmErrorCode_t
290tmbslTDA182I4_Read(
291    tmUnitSelect_t              tUnit,      /* I: Unit number */
292    const TDA182I4_BitField_t*  pBitField,  /* I: Bitfield structure */
293    UInt8*                      puData,     /* I: Data to read */
294    tmbslFrontEndBusAccess_t    eBusAccess  /* I: Access to bus */
295);
296
297tmErrorCode_t
298tmbslTDA182I4_SetFEF(
299    tmUnitSelect_t              tUnit,      /* I: Unit number */
300    Bool bFefEnable                         /* Activate/desactivate FEF settings for DVB-T/T2 */
301);
302
303tmErrorCode_t
304tmbslTDA182I4_GetFEF(
305    tmUnitSelect_t              tUnit,      /* I: Unit number */
306    Bool* bFefEnable                        /* get FEF settings for DVB-T/T2 status*/
307);
308
309tmErrorCode_t aov_tmbslTDA182I4_LTOEnable( tmUnitSelect_t  tUnit   /* I: Unit number */);
310tmErrorCode_t aov_tmbslTDA182I4_LTODisable( tmUnitSelect_t  tUnit   /* I: Unit number */);
311void aov_tmbslTDA182I4_dbg_test(unsigned int max);
312       
313/*============================================================================*/
314/* Legacy compatibility:                                                      */
315/*============================================================================*/
316
317#ifndef tmbslTDA182I4Init
318 #define tmbslTDA182I4Init tmbslTDA182I4_Open
319#endif
320
321#ifndef tmbslTDA182I4DeInit
322 #define tmbslTDA182I4DeInit tmbslTDA182I4_Close
323#endif
324
325#ifndef tmbslTDA182I4GetSWVersion
326 #define tmbslTDA182I4GetSWVersion tmbslTDA182I4_GetSWVersion
327#endif
328
329#ifndef tmbslTDA182I4GetSWSettingsVersion
330 #define tmbslTDA182I4GetSWSettingsVersion tmbslTDA182I4_GetSWSettingsVersion
331#endif
332
333#ifndef tmbslTDA182I4CheckHWVersion
334 #define tmbslTDA182I4CheckHWVersion tmbslTDA182I4_CheckHWVersion
335#endif
336
337#ifndef tmbslTDA182I4SetPowerState
338 #define tmbslTDA182I4SetPowerState tmbslTDA182I4_SetLLPowerState
339#endif
340
341#ifndef tmbslTDA182I4GetPowerState
342 #define tmbslTDA182I4GetPowerState tmbslTDA182I4_GetLLPowerState
343#endif
344
345#ifndef tmbslTDA182I4SetLLPowerState
346 #define tmbslTDA182I4SetLLPowerState tmbslTDA182I4_SetLLPowerState
347#endif
348
349#ifndef tmbslTDA182I4GetLLPowerState
350 #define tmbslTDA182I4GetLLPowerState tmbslTDA182I4_GetLLPowerState
351#endif
352
353#ifndef tmbslTDA182I4SetStandardMode
354 #define tmbslTDA182I4SetStandardMode tmbslTDA182I4_SetStandardMode
355#endif
356
357#ifndef tmbslTDA182I4GetStandardMode
358 #define tmbslTDA182I4GetStandardMode tmbslTDA182I4_GetStandardMode
359#endif
360
361#ifndef tmbslTDA182I4SetRf
362 #define tmbslTDA182I4SetRf tmbslTDA182I4_SetRF
363#endif
364
365#ifndef tmbslTDA182I4GetRf
366 #define tmbslTDA182I4GetRf tmbslTDA182I4_GetRF
367#endif
368
369#ifndef tmbslTDA182I4Reset
370 #define tmbslTDA182I4Reset tmbslTDA182I4_HwInit
371#endif
372
373#ifndef tmbslTDA182I4GetIF
374 #define tmbslTDA182I4GetIF tmbslTDA182I4_GetIF
375#endif
376
377#ifndef tmbslTDA182I4GetCF_Offset
378 #define tmbslTDA182I4GetCF_Offset tmbslTDA182I4_GetCF_Offset
379#endif
380
381#ifndef tmbslTDA182I4GetLockStatus
382 #define tmbslTDA182I4GetLockStatus tmbslTDA182I4_GetLockStatus
383#endif
384
385#ifndef tmbslTDA182I4GetPowerLevel
386 #define tmbslTDA182I4GetPowerLevel tmbslTDA182I4_GetPowerLevel
387#endif
388
389#ifndef tmbslTDA182I4GetRSSI
390 #define tmbslTDA182I4GetRSSI tmbslTDA182I4_GetRSSI
391#endif
392
393#ifndef tmbslTDA182I4SetIRQWait
394 #define tmbslTDA182I4SetIRQWait tmbslTDA182I4_SetIRQWait
395#endif
396
397#ifndef tmbslTDA182I4GetIRQWait
398 #define tmbslTDA182I4GetIRQWait tmbslTDA182I4_GetIRQWait
399#endif
400
401#ifndef tmbslTDA182I4SetIRQWaitHwInit
402 #define tmbslTDA182I4SetIRQWaitHwInit tmbslTDA182I4_SetIRQWaitHwInit
403#endif
404
405#ifndef tmbslTDA182I4GetIRQWaitHwInit
406 #define tmbslTDA182I4GetIRQWaitHwInit tmbslTDA182I4_GetIRQWaitHwInit
407#endif
408
409#ifndef tmbslTDA182I4GetIRQ
410 #define tmbslTDA182I4GetIRQ tmbslTDA182I4_GetIRQ
411#endif
412
413#ifndef tmbslTDA182I4WaitIRQ
414 #define tmbslTDA182I4WaitIRQ tmbslTDA182I4_WaitIRQ
415#endif
416
417#ifndef tmbslTDA182I4GetXtalCal_End
418 #define tmbslTDA182I4GetXtalCal_End tmbslTDA182I4_GetXtalCal_End
419#endif
420
421#ifndef tmbslTDA182I4RFFineTuning
422 #define tmbslTDA182I4RFFineTuning tmbslTDA182I4_SetFineRF
423#endif
424
425#ifndef tmbslTDA182I4Write
426 #define tmbslTDA182I4Write tmbslTDA182I4_Write
427#endif
428
429#ifndef tmbslTDA182I4Read
430 #define tmbslTDA182I4Read tmbslTDA182I4_Read
431#endif
432
433#define tmTDA182I4PowerState_t TDA182I4PowerState_t
434#define tmTDA182I4_PowerNormalMode TDA182I4_PowerNormalMode
435#define tmTDA182I4_PowerStandbyWithXtalOn TDA182I4_PowerStandbyWithXtalOn
436#define tmTDA182I4_PowerStandby TDA182I4_PowerStandby
437#define tmTDA182I4_PowerMax TDA182I4_PowerMax
438
439#define tmTDA182I4StandardMode_t TDA182I4StandardMode_t
440#define tmTDA182I4_QAM_6MHz TDA182I4_QAM_6MHz
441#define tmTDA182I4_QAM_8MHz TDA182I4_QAM_8MHz
442#define tmTDA182I4_ATSC_6MHz TDA182I4_ATSC_6MHz
443#define tmTDA182I4_ISDBT_6MHz TDA182I4_ISDBT_6MHz
444#define tmTDA182I4_DVBT_1_7MHz TDA182I4_DVBT_1_7MHz
445#define tmTDA182I4_DVBT_6MHz TDA182I4_DVBT_6MHz
446#define tmTDA182I4_DVBT_7MHz TDA182I4_DVBT_7MHz
447#define tmTDA182I4_DVBT_8MHz TDA182I4_DVBT_8MHz
448#define tmTDA182I4_DVBT_10MHz TDA182I4_DVBT_10MHz
449#define tmTDA182I4_DMBT_8MHz TDA182I4_DMBT_8MHz
450#define tmTDA182I4_FM_Radio TDA182I4_FM_Radio
451#define tmTDA182I4_ANLG_MN TDA182I4_ANLG_MN
452#define tmTDA182I4_ANLG_B TDA182I4_ANLG_B
453#define tmTDA182I4_ANLG_GH TDA182I4_ANLG_GH
454#define tmTDA182I4_ANLG_I TDA182I4_ANLG_I
455#define tmTDA182I4_ANLG_DK TDA182I4_ANLG_DK
456#define tmTDA182I4_ANLG_L TDA182I4_ANLG_L
457#define tmTDA182I4_ANLG_LL TDA182I4_ANLG_LL
458#define tmTDA182I4_Scanning TDA182I4_Scanning
459#define tmTDA182I4_ScanXpress TDA182I4_ScanXpress
460#define tmTDA182I4_StandardMode_Max TDA182I4_StandardMode_Max
461
462
463
464#ifdef __cplusplus
465}
466#endif
467
468#endif /* _TMBSL_TDA182I4_H */
469
Note: See TracBrowser for help on using the repository browser.