亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? tlg1100mfg.c

?? 泰景的模擬電視全部驅(qū)動及MTK平臺界面代碼
?? C
字號:
/*****************************************************************************
* FILENAME
* tlg1100Mfg.c
*
*
* ABSTRACT
* This file contains Application Programmer's Interface library support for
* manufacturing floor tests of the TLG1100 Ultra Low Power NTSC/PAL
* Tuner/Decoder Front End.
*
* $Revision: 1.2 $
*
* (c) 2006 Telegent Systems
*****************************************************************************/
#include "tlgConfig.h"
#if TLG_CHIP_TYPE == TLG_CHIP_TYPE_TLG1100_1

#include "tlg1100Api.h"
#include "tlg1100Hal.h"
#include "tlgi2c.h"

/*****************************************************************************
* TLG_FreezeAgcLoops
*
* 
*
*
*****************************************************************************/
TLGDLL_API int TLG_FreezeAgcLoops(uint32 base_addr, int minmax, tlg_statep state)
{
    uint16 lna2_gain, bb1_gain, bb2_gain;

    if (minmax == TLG_FREEZE_MAX)
    {
        lna2_gain = 0x1200;
        bb1_gain  = 0xf800;
        bb2_gain  = 0xd400;
    } else {
        lna2_gain = 0x0000;
        bb1_gain  = 0x0000;
        bb2_gain  = 0x0000;
    }
    TLG_ReadReg(base_addr, REG_0030,       &state[1]);
    TLG_WriteReg(base_addr,REG_002F,       lna2_gain);
    TLG_WriteReg(base_addr,REG_0030,       0xc000);
    TLG_ReadReg(base_addr, REG_001B,     &state[2]);
    TLG_WriteReg(base_addr,REG_001D,     bb1_gain);
    TLG_WriteReg(base_addr,REG_001C,     bb2_gain);
    TLG_WriteReg(base_addr,REG_001B,     0x0003);

	state[0] = TLG_STATE1;
    return(TLG_ERR_SUCCESS);
}

/*****************************************************************************
* TLG_RestoreAgcLoops
*
* 
*
*
*****************************************************************************/
TLGDLL_API int TLG_RestoreAgcLoops(uint32 base_addr, tlg_statep state)
{
    if (state[0] != TLG_STATE1)
        return (TLG_ERR_PARAM);
    TLG_WriteReg(base_addr, REG_0030,      state[1]);
    TLG_WriteReg(base_addr, REG_001B,    state[2]);
    return(TLG_ERR_SUCCESS);
}

/*****************************************************************************
* TLG_EnterAdcMode
*
* 
*
*
*****************************************************************************/
TLGDLL_API int TLG_EnterAdcMode(uint32 base_addr, tlg_statep state)
{
    uint16 reg;

#ifdef TLG_SUPPORT_RUNTIME_CHECK
    {uint32 version; TLG_GetChipVersion(base_addr, &version);}
#endif /* TLG_SUPPORT_RUNTIME_CHECK */
TLG_CHIP_VERS_1_2_BEGIN
    #if defined(TLG_CMP_CHIP_1_3) || defined(TLG_CMP_CHIP_2)
    TLG_ReadReg(base_addr, REG_0000, &state[1]);
    reg = state[1];
    TLGHAL_CLEAR(reg, REG_0000_BIT1_MASK);
    TLG_WriteReg(base_addr, REG_0000, reg);
    #endif /* TLG_CMP_CHIP_1_2 */
 TLG_CHIP_VERS_1_1_ELSE
    #ifdef TLG_CMP_CHIP_1_1
    TLG_ReadReg(base_addr, REG_0000, &state[1]);
    reg = state[1];
    TLGHAL_SET(reg, TLG_ON, REG_0000_BIT1_SHIFT, REG_0000_BIT1_MASK);
    TLG_WriteReg(base_addr, REG_0000, reg);
    #endif /* TLG_CMP_CHIP_1_1 */
 TLG_CHIP_VERS_END

    TLG_ReadReg(base_addr, REG_0098, &state[2]);
    reg = state[2];
    TLGHAL_SET(reg, REG_0098_BIT3_0_ADC, REG_0098_BIT3_0_SHIFT,
                                           REG_0098_BIT3_0_MASK);
    TLG_WriteReg(base_addr, REG_0098, reg);

    state[0] = TLG_STATE1;
    return(TLG_ERR_SUCCESS);
}

/*****************************************************************************
* TLG_ExitAdcMode
*
* 
*
*
*****************************************************************************/
TLGDLL_API int TLG_ExitAdcMode(uint32 base_addr, tlg_statep state)
{
    if (state[0] != TLG_STATE1)
        return(TLG_ERR_PARAM);
    TLG_WriteReg(base_addr, REG_0000,        state[1]);
    TLG_WriteReg(base_addr, REG_0098,      state[2]);

    return(TLG_ERR_SUCCESS);
}


/*****************************************************************************
* TLG_GetTFCalCode
*
* 
*
*
*****************************************************************************/
TLGDLL_API int TLG_GetTFCalCode(uint32 base_addr, uint16 *tfCalCode)
{
    TLG_NULLPTR_CHECK(tfCalCode);
    /* Tracking Filter cal code */
    TLG_ReadRegNS(base_addr,    REG_011C,   tfCalCode);
    return TLG_ERR_SUCCESS;
}

/*****************************************************************************
* TLG_GetPeakAgcGain
*
* 
*
*
*****************************************************************************/
TLGDLL_API int TLG_GetPeakAgcGain(uint32 base_addr, uint16 *peakAgcGain)
{
    TLG_NULLPTR_CHECK(peakAgcGain);
    TLG_ReadRegNS(base_addr, REG_0123, peakAgcGain);
    return TLG_ERR_SUCCESS;
}


/*****************************************************************************
* TLG_GetTotalGain
*
* 
*
*
*****************************************************************************/
TLGDLL_API int TLG_GetTotalGain(uint32 base_addr, uint16 *ttlGain)
{
    uint16 bb1, bb2, lna1, lna2, lna_mode, m6db;
    int res = TLG_ERR_SUCCESS;
    int lna_gain, bb_gain, fix;

    TLG_NULLPTR_CHECK(ttlGain);

    /* Calculate the total gain */
    TLG_ReadRegNS(base_addr,    REG_010E, &bb1);
    TLG_ReadRegNS(base_addr,    REG_010D, &bb2);
    TLGHAL_GET(bb1, bb1,        REG_010E_BIT15_11_SHIFT,
                                REG_010E_BIT15_11_MASK);
    TLGHAL_GET(bb2, bb2,        REG_010D_BIT15_10_SHIFT,
                                REG_010D_BIT15_10_MASK);

#ifdef TLG_SUPPORT_RUNTIME_CHECK
    {uint32 version; TLG_GetChipVersion(base_addr, &version);}
#endif /* TLG_SUPPORT_RUNTIME_CHECK */
TLG_CHIP_VERS_1_2_BEGIN
    #if defined(TLG_CMP_CHIP_1_3) || defined(TLG_CMP_CHIP_1_2)
    TLG_ReadRegNS(base_addr,    REG_0139, &lna1);
    TLGHAL_GET(lna1, lna1,      REG_0139_BIT10_9_SHIFT,
                                REG_0139_BIT10_9_MASK);
    #endif /* TLG_CMP_CHIP_1_2 */
 TLG_CHIP_VERS_1_1_ELSE
    #ifdef TLG_CMP_CHIP_1_1
    TLG_ReadRegNS(base_addr,    REG_0113, &lna1);
    TLGHAL_GET(lna1, lna1,      REG_0113_BIT1_0_SHIFT,
                                REG_0113_BIT1_0_MASK);
    #endif /* TLG_CMP_CHIP_1_1 */
 TLG_CHIP_VERS_END
    TLG_ReadRegNS(base_addr,    REG_0114, &lna2);
    TLGHAL_GET(lna2, lna2,      REG_0114_BIT12_9_SHIFT,
                                REG_0114_BIT12_9_MASK);
    TLG_ReadReg(base_addr,      REG_0180, &lna_mode);
    TLGHAL_GET(lna_mode, lna_mode,  REG_0180_BIT15_13_SHIFT,
                                    REG_0180_BIT15_13_MASK);
    TLG_ReadReg(base_addr,      REG_0193, &m6db);
    TLGHAL_GET(m6db, m6db,      REG_0193_BIT15_SHIFT,
                                REG_0193_BIT15_MASK);

    lna_gain    = -20*min(2,(3-lna1)) + -2*max(0, 9-lna2);
    bb_gain     = (bb1 + bb2)/2;
    switch (lna_mode)
    {
    case TLG_LNA_UHF : fix = 11; break;
    case TLG_LNA_VHF2: fix = 12; break;
    case TLG_LNA_VHF1: fix = 13; break;
    default: res = TLG_ERR_FAIL; break;
    }
    if (res == TLG_ERR_SUCCESS)
    {
        fix += (m6db) ? 5 : 11;
        *ttlGain = lna_gain + bb_gain + fix + 21;
    }
    return(res);
}
#endif /*TLG_CHIP_TYPE */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
voyeur盗摄精品| 久久亚洲捆绑美女| 国产欧美一区二区在线| 亚洲成人午夜电影| eeuss鲁片一区二区三区| 欧美一区二区三区四区视频| 亚洲免费毛片网站| 成人国产视频在线观看| 精品粉嫩超白一线天av| 视频一区中文字幕| 在线观看亚洲专区| 亚洲三级在线看| 国产91综合网| 久久精品水蜜桃av综合天堂| 日本一不卡视频| 欧美日韩精品欧美日韩精品一综合| 国产人久久人人人人爽| 捆绑调教一区二区三区| 在线成人av影院| 亚洲国产裸拍裸体视频在线观看乱了| 风流少妇一区二区| 久久新电视剧免费观看| 久久99久国产精品黄毛片色诱| 欧美理论在线播放| 亚洲国产精品一区二区尤物区| 99久久99久久综合| 综合中文字幕亚洲| 91在线视频免费观看| 国产精品成人免费精品自在线观看 | 中文字幕一区二区在线播放| 国产精品亚洲专一区二区三区 | 日日夜夜一区二区| 欧美妇女性影城| 午夜精品福利一区二区蜜股av| 97精品久久久午夜一区二区三区| 欧美激情综合五月色丁香小说| 国产精选一区二区三区| 国产区在线观看成人精品| 高潮精品一区videoshd| 国产精品久久三| 色婷婷综合久色| 亚洲成人av福利| 欧美日韩成人综合天天影院 | 亚洲精品中文在线影院| 色婷婷久久久亚洲一区二区三区| 一区二区视频在线| 欧美优质美女网站| 日韩国产精品久久久| 精品乱码亚洲一区二区不卡| 国产精品888| 亚洲欧美日韩一区二区三区在线观看| 一本大道久久a久久综合婷婷| 亚洲综合在线第一页| 91精品一区二区三区久久久久久| 老司机一区二区| 国产精品天干天干在观线| 色8久久精品久久久久久蜜| 爽好久久久欧美精品| 国产亚洲欧洲997久久综合| 成人久久18免费网站麻豆| 亚洲图片有声小说| 久久亚洲精品国产精品紫薇| 91日韩精品一区| 欧美96一区二区免费视频| 国产欧美在线观看一区| 欧美三级中文字| 国产在线不卡一卡二卡三卡四卡| 国产精品久久久久久久第一福利| 欧美日韩中文字幕一区二区| 激情综合色综合久久综合| 亚洲欧洲制服丝袜| 精品国偷自产国产一区| 99精品视频在线观看| 男男gaygay亚洲| 国产精品网友自拍| 欧美一卡二卡在线观看| 一本到三区不卡视频| 偷窥少妇高潮呻吟av久久免费 | 欧美日韩在线播放三区| 国产精品一区不卡| 日一区二区三区| 亚洲毛片av在线| 久久久久久97三级| 在线不卡欧美精品一区二区三区| 国产91丝袜在线播放九色| 视频一区二区中文字幕| 亚洲视频资源在线| 久久蜜臀中文字幕| 欧美一级xxx| 欧美亚洲尤物久久| av中文字幕不卡| 国产精品91一区二区| 捆绑调教一区二区三区| 亚洲高清在线精品| 亚洲欧美日韩精品久久久久| 久久久综合视频| 精品国产一区二区三区忘忧草| 欧美网站大全在线观看| 91蜜桃免费观看视频| 国产电影精品久久禁18| 久久99精品久久久久久国产越南| 午夜电影网亚洲视频| 夜色激情一区二区| 亚洲乱码中文字幕| 亚洲欧美中日韩| 中文字幕一区不卡| 国产精品理伦片| 中文字幕日本不卡| 国产精品福利一区| 中文字幕一区二区不卡 | 欧美精品一区二区三区蜜桃视频| 欧美日韩1区2区| 欧美日韩视频在线一区二区 | 欧美精品亚洲一区二区在线播放| 色久综合一二码| 在线免费观看日本一区| 在线视频国内自拍亚洲视频| 欧美亚洲综合另类| 欧美嫩在线观看| 精品国产欧美一区二区| 欧美一区二区三区免费| 91精品国产一区二区三区香蕉| 欧美精品xxxxbbbb| 日韩写真欧美这视频| 精品国产伦一区二区三区观看方式| 日韩一级大片在线| 国产清纯白嫩初高生在线观看91 | 日韩一区二区在线观看| 日韩写真欧美这视频| 久久亚洲综合av| 国产精品嫩草久久久久| 亚洲精品国产品国语在线app| 亚洲激情自拍偷拍| 日本va欧美va精品发布| 精品一区二区三区蜜桃| 成人高清在线视频| 91成人在线免费观看| 欧美一级一级性生活免费录像| 久久午夜色播影院免费高清| 国产精品丝袜在线| 亚洲一区二区三区爽爽爽爽爽| 日本一区中文字幕| 成人动漫精品一区二区| 色狠狠色狠狠综合| 日韩一级黄色片| 成人欧美一区二区三区1314 | 中文字幕在线不卡一区| 亚洲成人黄色小说| 国产精品亚洲成人| 欧美三级日韩在线| 国产人成一区二区三区影院| 亚洲一区二区视频在线| 国产伦精品一区二区三区视频青涩| www.欧美日韩| 日韩欧美二区三区| 最近中文字幕一区二区三区| 蜜臀av在线播放一区二区三区| 国产91清纯白嫩初高中在线观看| 在线观看国产日韩| 久久久精品人体av艺术| 亚洲一区欧美一区| 高清beeg欧美| 日韩精品一区二区三区视频在线观看 | 日韩一区二区视频| 亚洲摸摸操操av| 国产成人福利片| 日韩视频一区在线观看| 亚洲精品国产品国语在线app| 国产在线观看免费一区| 欧美精品久久天天躁| 亚洲欧美影音先锋| 国产在线不卡视频| 欧美一级在线视频| 亚洲777理论| 91蜜桃视频在线| 国产欧美综合在线观看第十页 | 欧美一三区三区四区免费在线看 | 国产乱码精品一区二区三区五月婷| 在线观看亚洲a| 中文字幕一区二| 国产91丝袜在线播放九色| 欧美videossexotv100| 午夜精品爽啪视频| 欧美亚洲日本国产| 亚洲乱码国产乱码精品精98午夜| 国产综合久久久久影院| 91精品国产91久久久久久最新毛片| 亚洲欧洲综合另类| 99久久精品国产精品久久| 国产欧美中文在线| 国产精品一区在线观看乱码| 日韩午夜激情免费电影| 日韩激情视频在线观看| 欧美美女网站色| 日韩中文字幕亚洲一区二区va在线| 91九色最新地址| 亚洲国产精品尤物yw在线观看| 在线亚洲人成电影网站色www| 国产精品不卡在线| 91小视频在线免费看|