📄 d0370qam.c
字号:
/* ----------------------------------------------------------------------------
File Name: d0370qam.c
Description:
stb0370 QAM demod driver.
Copyright (C) 2005-2006 STMicroelectronics
date:
version:
author:
comment: Write for multi-instance/multi-FrontEnd.
Reference:
ST API Definition "TUNER Driver API" DVD-API-06
---------------------------------------------------------------------------- */
/* Includes ---------------------------------------------------------------- */
/* C libs */
#include <string.h>
#include "stlite.h" /* Standard includes */
#include "stcommon.h"
/* STAPI */
#include "sttbx.h"
#include "stevt.h"
#include "sttuner.h"
/* local to sttuner */
#include "util.h" /* generic utility functions for sttuner */
#include "dbtypes.h" /* data types for databases */
#include "sysdbase.h" /* functions to accesss system data */
#include "ioarch.h" /* I/O for this driver */
#include "ioreg.h" /* I/O for this driver */
#include "d0370qam.h" /* header for this file */
#include "reg0370qam.h" /* register mappings for the stb0370qam */
#include "drv0370qam.h" /* misc driver functions */
#include "cioctl.h" /* data structure typedefs for all the the cable ioctl functions */
/* Private types/constants ------------------------------------------------ */
/* Device capabilities */
#define STB0370QAM_MAX_AGC 1023
#define STB0370QAM_MAX_SIGNAL_QUALITY 100
#define STB0370QAM_MAX_SIGNAL_QUALITY_IN_DB 50 /*Considering maximum signal quality as 50dB*/
/* Device ID */
#define STB0370QAM_DEVICE_VERSION 0x10
#define STB0370QAM_SYMBOLMIN 870000; /* # 1 MegaSymbols/sec */
#define STB0370QAM_SYMBOLMAX 11700000; /* # 11 MegaSymbols/sec */
/* private variables ------------------------------------------------------- */
#ifdef ST_OS21
static semaphore_t *Lock_InitTermOpenClose; /* guard calls to the functions */
#else
static semaphore_t Lock_InitTermOpenClose; /* guard calls to the functions */
#endif
static BOOL Installed = FALSE;
/*New changed */
U16 STB0370_Address_256QAM_TD1336[STB0370_QAM_NBREGS]=
{
0xf000,
0xf001,
0xf002,
0xf003,
0xf004,
0xf005,
0xf006,
0xf007,
0xf640,
0xf641,
0xf610,
0xf611,
0xf612,
0xf613,
0xf614,
0xf615,
0xf616,
0xf617,
0xf618,
0xf619,
0xf61c,
0xf410,
0xf411,
0xf412,
0xf413,
0xf415,
0xf414,
0xf416,
0xf417,
0xf419,
0xf418,
0xf41a,
0xf41b,
0xf41c,
0xf41d,
0xf41f,
0xf41e,
0xf420,
0xf421,
0xf422,
0xf423,
0xf424,
0xf425,
0xf426,
0xf427,
0xf428,
0xf429,
0xf42a,
0xf42b,
0xf42c,
0xf430,
0xf42f,
0xf432,
0xf431,
0xf433,
0xf434,
0xf436,
0xf435,
0xf438,
0xf437,
0xf439,
0xf43a,
0xf43b,
0xf43c,
0xf440,
0xf43f,
0xf43e,
0xf43d,
0xf441,
0xf442,
0xf443,
0xf444,
0xf445,
0xf446,
0xf449,
0xf448,
0xf447,
0xf44d,
0xf44c,
0xf44b,
0xf44a,
0xf44f,
0xf44e,
0xf450,
0xf451,
0xf452,
0xf453,
0xf454,
0xf455,
0xf456,
0xf457,
0xf458,
0xf459,
0xf45a,
0xf45b,
0xf45c,
0xf45d,
0xf45e,
0xf45f,
0xf460,
0xf461,
0xf462,
0xf463,
0xf464,
0xf465,
0xf466,
0xf467,
0xf468,
0xf469,
0xf46c,
0xf46b,
0xf46a,
0xf46d,
0xf46e,
0xf46f,
0xf470,
0xf471,
0xf472,
0xf473,
0xf474,
0xf475,
0xf478,
0xf477,
0xf476,
0xf479,
0xf47a,
0xf47e,
0xf47f,
0xf480,
0xf481,
0xf482,
0xf485,
0xf484,
0xf483,
0xf491,
0xf492,
0xf493,
0xf495,
0xf496,
0xf497,
0xf498,
0xf499,
0xf49a,
0xf49b,
0xf49c,
0xf49d,
0xf49e,
0xf49f,
0xf4a0,
0xf4a1,
0xf4a2,
0xf4a3,
0xf4a4,
0xf4a5,
0xf4a6,
0xf4a7,
0xf4a8,
0xf4a9,
0xf4aa,
0xf4ac,
0xf4ad,
0xf4ae,
0xf4af
};
U8 STB0370_DefVal_256QAM_TD1336[STB0370_QAM_NBREGS]=
{
0x0010, /*REGISTER ID - 0xf000 */
0x0000, /*REGISTER I2C_PAGE - 0xf001 */
0x0022, /*REGISTER I2CRPT1 - 0xf002 */
0x0002, /*REGISTER I2CRPT2 - 0xf003 */
0x000a, /*REGISTER CLK_CTRL - 0xf004 */
0x00ca, /*REGISTER STANDBY - 0xf005 */
0x00c6, /*REGISTER IO_CTRL - 0xf006 */
0x0000, /*REGISTER GPIO_INFO - 0xf007 */
0x0000, /*REGISTER AD_INTERF - 0xf640 */
0x0000, /*REGISTER TEST_AD_IF - 0xf641 */
0x0087, /*REGISTER PLL_CTRL - 0xf610 */
0x0000, /*REGISTER SEL_CLKAD8 - 0xf611 */
0x0000, /*REGISTER NCO_PLL1 - 0xf612 */
0x0000, /*REGISTER NCO_PLL2 - 0xf613 */
0x0000, /*REGISTER NCO_TST_PLL - 0xf614 */
0x0003, /*REGISTER NCO_CTRL - 0xf615 */
0x0000, /*REGISTER NCO_SYNTH_COARSE_FREQ - 0xf616 */
0x0000, /*REGISTER NCO_SYNTH_FINE_FREQ_1 - 0xf617 */
0x0000, /*REGISTER NCO_SYNTH_FINE_FREQ_0 - 0xf618 */
0x0008, /*REGISTER OOB_TUNER_CTRL - 0xf619 */
0x0030, /*REGISTER AD10_CTRL - 0xf61c */ /*For cut 2.0*/
0x0039, /*REGISTER EQU_0 - 0xf410 */
0x0069, /*REGISTER EQU_1 - 0xf411 */
0x0020, /*REGISTER EQU_2 - 0xf412 */
0x0016, /*REGISTER EQU_3 - 0xf413 */
0x0000, /*REGISTER EQU_5 - 0xf415 */
0x003f, /*REGISTER EQU_4 - 0xf414 */
0x0000, /*REGISTER EQU_6 - 0xf416 */
0x0000, /*REGISTER EQU_7 - 0xf417 */
0x0012, /*REGISTER EQU_9 - 0xf419 */
0x004a, /*REGISTER EQU_8 - 0xf418 */
0x00db, /*REGISTER EQU_10 - 0xf41a */
0x001c, /*REGISTER EQU_11 - 0xf41b */
0x0098, /*REGISTER INITDEM_0 - 0xf41c */
0x00d0, /*REGISTER INITDEM_1 - 0xf41d */
0x0000, /*REGISTER INITDEM_2 - 0xf41f */
0x0000, /*REGISTER INITDEM_3 - 0xf41e */
0x0000, /*REGISTER INITDEM_4 - 0xf420 */
0x0084, /*REGISTER INITDEM_5 - 0xf421 */
0x0057, /*REGISTER DELAGC_0 - 0xf422 */
0x0000, /*REGISTER DELAGC_1 - 0xf423 */
0x00ff, /*REGISTER DELAGC_2 - 0xf424 */
0x0000, /*REGISTER DELAGC_3 - 0xf425 */
0x0039, /*REGISTER DELAGC_4 - 0xf426 */
0x001f, /*REGISTER DELAGC_5 - 0xf427 */
0x0080, /*REGISTER DELAGC_6 - 0xf428 */
0x002e, /*REGISTER DELAGC_7 - 0xf429 */
0x0038, /*REGISTER DELAGC_8 - 0xf42a */
0x00ff, /*REGISTER DELAGC_9 - 0xf42b */
0x0001, /*REGISTER DELAGC_10 - 0xf42c */
0x0003, /*REGISTER DELAGC_13 - 0xf430 */
0x0043, /*REGISTER DELAGC_12 - 0xf42f */
0x0025, /*REGISTER WBAGC_1 - 0xf432 */
0x0042, /*REGISTER WBAGC_0 - 0xf431 */
0x001a, /*REGISTER WBAGC_2 - 0xf433 */
0x0018, /*REGISTER WBAGC_3 - 0xf434 */
0x006f, /*REGISTER WBAGC_5 - 0xf436 */
0x0097, /*REGISTER WBAGC_4 - 0xf435 */
0x0013, /*REGISTER WBAGC_7 - 0xf438 */
0x0088, /*REGISTER WBAGC_6 - 0xf437 */
0x0008, /*REGISTER STLOOP_0 - 0xf439 */
0x0000, /*REGISTER STLOOP_1 - 0xf43a */
0x0008, /*REGISTER STLOOP_2 - 0xf43b */
0x0030, /*REGISTER STLOOP_3 - 0xf43c */
0x0019, /*REGISTER STLOOP_7 - 0xf440 */
0x006a, /*REGISTER STLOOP_6 - 0xf43f */
0x0026, /*REGISTER STLOOP_5 - 0xf43e */
0x004c, /*REGISTER STLOOP_4 - 0xf43d */
0x005e, /*REGISTER STLOOP_8 - 0xf441 */
0x0084, /*REGISTER STLOOP_9 - 0xf442 */
0x00ca, /*REGISTER CRL_0 - 0xf443 */
0x008b, /*REGISTER CRL_1 - 0xf444 */
0x0002, /*REGISTER CRL_2 - 0xf445 */
0x0000, /*REGISTER CRL_3 - 0xf446 */
0x0016, /*REGISTER CRL_7 - 0xf449 */
0x008c, /*REGISTER CRL_5 - 0xf448 */
0x00d4, /*REGISTER CRL_4 - 0xf447 */
0x000f, /*REGISTER CRL_11 - 0xf44d */
0x00f7, /*REGISTER CRL_10 - 0xf44c */
0x0051, /*REGISTER CRL_9 - 0xf44b */
0x00c0, /*REGISTER CRL_8 - 0xf44a */
0x0000, /*REGISTER CRL_13 - 0xf44f */
0x0000, /*REGISTER CRL_12 - 0xf44e */
0x0007, /*REGISTER CRL_14 - 0xf450 */
0x00ff, /*REGISTER PMFAGC_0 - 0xf451 */
0x0004, /*REGISTER PMFAGC_1 - 0xf452 */
0x0012, /*REGISTER PMFAGC_2 - 0xf453 */
0x0019, /*REGISTER PMFAGC_3 - 0xf454 */
0x002c, /*REGISTER PMFAGC_4 - 0xf455 */
0x0005, /*REGISTER PMFAGC_5 - 0xf456 */
0x001b, /*REGISTER SIG_FAD_0 - 0xf457 */
0x0038, /*REGISTER SIG_FAD_1 - 0xf458 */
0x001e, /*REGISTER SIG_FAD_2 - 0xf459 */
0x0037, /*REGISTER SIG_FAD_3 - 0xf45a */
0x0004, /*REGISTER NEW_CRL_0 - 0xf45b */
0x000a, /*REGISTER NEW_CRL_1 - 0xf45c */
0x0004, /*REGISTER NEW_CRL_2 - 0xf45d */
0x0007, /*REGISTER NEW_CRL_3 - 0xf45e */
0x0002, /*REGISTER NEW_CRL_4 - 0xf45f */
0x0006, /*REGISTER NEW_CRL_5 - 0xf460 */
0x0009, /*REGISTER NEW_CRL_6 - 0xf461 */
0x00c1, /*REGISTER FREQ_0 - 0xf462 */
0x007b, /*REGISTER FREQ_1 - 0xf463 */
0x0005, /*REGISTER FREQ_2 - 0xf464 */
0x0006, /*REGISTER FREQ_3 - 0xf465 */
0x0008, /*REGISTER FREQ_4 - 0xf466 */
0x00ea, /*REGISTER FREQ_5 - 0xf467 */
0x0081, /*REGISTER FREQ_6 - 0xf468 */
0x0098, /*REGISTER FREQ_7 - 0xf469 */
0x0000, /*REGISTER FREQ_10 - 0xf46c */
0x000c, /*REGISTER FREQ_9 - 0xf46b */
0x0030, /*REGISTER FREQ_8 - 0xf46a */
0x0022, /*REGISTER FREQ_11 - 0xf46d */
0x00b4, /*REGISTER FREQ_12 - 0xf46e */
0x0000, /*REGISTER FREQ_13 - 0xf46f */
0x0000, /*REGISTER FREQ_14 - 0xf470 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -