⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 d0370qam.c

📁 st7710的tuner标准驱动
💻 C
📖 第 1 页 / 共 5 页
字号:
/* ----------------------------------------------------------------------------
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 + -