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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mxd_sdk_porting.c

?? MXD_SDK_Ax.x.xxx :MXD1320 軟件開發包源碼
?? C
字號:
/*!
 *
 * \file    mxd_sdk_porting.c
 *
 * \brief    Poring Section for SDK.
 *
 * Implementation of those APIS need porting.
 *
 * \par    Include files
 *    - mxd_sdk_api.h
 *    - mxd_sdk_data.h
 *    - mxd_sdk_porting.h
 *
 * \par    Sections
 * - OAL
 * - I2C
 * - Tuner
 * - Config
 *
 * \par    Copyright (c) 2007 Maxscend Technologies Inc. All rights reserved
 *
 * PROPRIETARY RIGHTS of Maxscend Technologies Inc. are involved in
 * the subject matter of this material.  All manufacturing, reproduction, 
 * use, and sales rights pertaining to this subject matter are governed 
 * by the license agreement.  The recipient of this software implicitly 
 * accepts the terms of the license.
 *
 * \version
 * Revision of last commit:  $Rev:: 37                           $
 * Author of last commit  :  $Author:: MAXSCEND\peng.chen        $
 * Date of last commit    :  $Date:: 2007-10-07 10:22:55 +0800 (#$
 *
 */

/* porting point - please add your code here for header file including */
#include "mxd_sdk_data.h"
#include "mxd_sdk_api.h"
#include "mxd_sdk_porting.h"

/***********************************************************************************************
 *
 * OAL Porting Section of SDK
 * - OAL_Sleep
 * - OAL_DebugPrint
 *
 ***********************************************************************************************
 */
/*!
 * Delay, unit: ms
 *
 * \param 
 *             milliSeconds:  [ in ] the milli seconds to be delayed.
 * \return 
 *             Return code by MXD_RTN_CODE_E enumeration
 */
MXD_RTN_CODE_E MXD_API OAL_Sleep( IN MXD_U32 milliSeconds )
{
    /* porting point - please add your code here for sleep */

    return MXD_RTN_OK;
} /* end of OAL_Sleep( ) */


/*!
 * Debug Print
 *
 * \param 
 *             traceLevel    [ in ] current trace level
 *             dbgOutput    [ in ] Output debug information 
 * \return 
 *             Return code by MXD_RTN_CODE_E enumeration
 */
VOID MXD_API OAL_DebugPrint( IN MXD_U8 trace, IN CONST MXD_CHAR* dbgOutput, ... )
{
    if(DEBUG_TRACE_LEVEL >= trace)       
    {
	    /* porting point - please add your code here for debug output */
    }
} /* end of OAL_DebugPrint( ) */

#ifdef __I2C_TS_USED__
/***********************************************************************************************
 *
 * I2C Porting Section of SDK
 *
 ***********************************************************************************************
 */
/*!
 * I2C read
 *
 * \param i2cHandle    		[ in ] Handle of the device driver
 * \param slaveAddr    		[ in ] Demodulator slave address.
 * \param byteLen			[ in ] the byte length to be read.
 * \param pValue			[ out ] pointer to the value returned
 * \param pRtnLen			[ out ] pointer to the length has been read
 *
 * \return Return code by MHL_DRV_RTN_CODE_E enumeration
 *
 */

MXD_RTN_CODE_E MXD_API MXD_Porting_I2cRead( 
    IN HMXDDEV i2cHandle,
    IN MXD_U16 slaveAddr, 
    IN MXD_U8 dataAddr,    
    IN MXD_U16 byteLen,
    OUT MXD_U8 *pValue,
    OUT MXD_U16 *pRtnLen )
{	
    /* porting point - please add your code here for i2c read if I2C is used */
    return MXD_RTN_OK;
}/* end of MXD_Porting_I2cRead( ) */

/*!
 * I2C write.
 *
 * \param i2cHandle    		[ in ] Handle of the device driver
 * \param slaveAddr    		[ in ] Demodulator slave address.
 * \param byteLen			[ in ] the byte length to be written.
 * \param pValue			[ in ] pointer to the value to be written
 * \param pRtnLen			[ out ] pointer to the length has been read
 *
 * \return Return code by MHL_DRV_RTN_CODE_E enumeration
 *
 */
MXD_RTN_CODE_E MXD_API MXD_Porting_I2cWrite( 
    IN HMXDDEV i2cHandle,
    IN MXD_U16 slaveAddr, 
    IN MXD_U8 dataAddr,      
    IN MXD_U16 byteLen,
    IN MXD_U8 *pValue,
    OUT MXD_U16 *pRtnLen )
{
	/* porting point - please add your code here for i2c write if I2C is used */
    return MXD_RTN_OK;
}/* end of MXD_Porting_I2cWrite( ) */
#endif /* end of #ifdef __I2C_TS_USED__ */

/***********************************************************************************************
 *
 * Tuner Porting Section of SDK
 *
 ***********************************************************************************************
 */
/*!
 * Init for tuner, including demod for tuner
 *
 * \param hDevice    [ in ] Device handle
 * \return Return code by MXD_RTN_CODE_E enumeration
 *
 */
MXD_RTN_CODE_E MXD_API MXD_Porting_InitTuner(IN HMXDDEV hDevice)
{
	/* porting point - please add your code here for tuner interface & AGC setup */
    /* please refer to the reference code in the tuner directory */
	return MXD_RTN_OK;
}/* enf of MXD_Porting_InitTuner( )*/

#ifndef __TUNER_EXT_CTRL__
/*!
 * Tune the tuner to the frequency
 *
 * \param hDevice    [ in ] Device handle
 * \param freqHz     [ in ] frequency to be tuned, unit: Hz
 *
 * \return Return code by MXD_RTN_CODE_E enumeration
 *
 */
MXD_RTN_CODE_E MXD_API MXD_Porting_TuneFreq(IN HMXDDEV hDevice, IN MXD_U32 freqHz )
{
    /* porting point - please add your code here for setting tuner frequency */

	return MXD_RTN_OK;
}/* end of MXD_Porting_TuneFreq( )*/

/*!
 * Get tuner status. If locked, then return ok, if un-locked, then return failed.
 *
 * \param hDevice    [ in ] Device handle
 *
 * \return Return code by MXD_RTN_CODE_E enumeration
 *
 */
MXD_RTN_CODE_E MXD_API MXD_Porting_GetTunerStatus(IN HMXDDEV hDevice)
{
    /* porting point - please add your code here for polling tuner status */
	
	return MXD_RTN_OK; 
}/* end of MXD_Porting_GetTunerStatus( )*/

#endif /* end of #ifndef __TUNER_EXT_CTRL__ */

/***********************************************************************************************
 *
 * Config Section of SDK
 *
 ***********************************************************************************************
 */
/*!
 * Device Config
 *
 * \param pDemodProperty    [ in ] demod property
 * \param pTunerProperty    [ in ] tuner property
 *
 * \return Return code by MXD_RTN_CODE_E enumeration
 *
 */
VOID MXD_API MXD_Porting_DeviceConfig( IN PDEMOD_PROPERTY_S psDemodProperty, IN PTUNER_PROPERTY_S psTunerProperty)
{
    /* 
	 * Demod Configuration 
	 */
#ifdef __I2C_TS_USED__
	psDemodProperty->m_sChannelProperty.m_eRegAccessType = MXD_I2C_IF;
    psDemodProperty->m_sChannelProperty.m_eTsStreamAccessType = MXD_MP2TS_IF;

    psDemodProperty->m_sI2cProperty.m_BitRateKHz = I2C_BIT_RATE_IN_KHZ;
    psDemodProperty->m_sI2cProperty.m_DemodSlaveAddr = MXD_I2C_SLAVE_ADDR;
    psDemodProperty->m_sI2cProperty.m_pPIL_I2cRead = MXD_Porting_I2cRead;
    psDemodProperty->m_sI2cProperty.m_pPIL_I2cWrite = MXD_Porting_I2cWrite;

    psDemodProperty->m_sMp2tsProperty.m_SpeedKHz = MP2TS_CLK_FREQ_IN_KHZ;
    psDemodProperty->m_sMp2tsProperty.m_ByteMode = MP2TS_BYTE_MODE;
    psDemodProperty->m_sMp2tsProperty.m_DataMode = MP2TS_DATA_TYPE;
    psDemodProperty->m_sMp2tsProperty.m_TriggerEdge = MP2TS_TRIGGER_EDGE;
#endif /* end of #ifdef __I2C_TS_USED__ */
    
#ifdef __EEPROM_USED__
    psDemodProperty->m_EepromAddr = E2PROM_SLAVE_ADDR;
#else
	psDemodProperty->m_MtxLoadLen = MAX_I2C_BURST_WRITE_LEN;
#endif
	
    psDemodProperty->m_sSdramProperty.m_BurstLength = SDRAM_BURST_LENGTH;
    psDemodProperty->m_sSdramProperty.m_BurstType = SDRAM_BURST_TYPE;
    psDemodProperty->m_sSdramProperty.m_Cas = SDRAM_CAS;
    psDemodProperty->m_sSdramProperty.m_Ras = SDRAM_RAS;
    psDemodProperty->m_sSdramProperty.m_Rc = SDRAM_RC;
    psDemodProperty->m_sSdramProperty.m_RefreshPeriod = SDRAM_REFRESH_PERIOD;
    psDemodProperty->m_sSdramProperty.m_Rfc = SDRAM_RFC;
    psDemodProperty->m_sSdramProperty.m_Rp = SDRAM_RP;
    psDemodProperty->m_sSdramProperty.m_Rrd = SDRAM_RRD;
    psDemodProperty->m_sSdramProperty.m_Mrd = SDRAM_MRD;
    psDemodProperty->m_sSdramProperty.m_Xp = SDRAM_XP;
    psDemodProperty->m_sSdramProperty.m_Twr = SDRAM_TWR;
	psDemodProperty->m_sSdramProperty.m_CalibVal = SDRAM_CALIBVAL;

    /* Tuner Configuration */
    psTunerProperty->m_LifFreqKhz = LIF_FREQ_IN_KHZ;
    psTunerProperty->m_LifOrNZif = TUNER_NZIF_LIF;
    psTunerProperty->m_pPIL_InitTuner = MXD_Porting_InitTuner;
#ifndef __TUNER_EXT_CTRL__
    psTunerProperty->m_SlaveAddr = TUNER_SALVE_ADDR_VAL;
    psTunerProperty->m_pPIL_SetFreq = MXD_Porting_TuneFreq;
    psTunerProperty->m_pPIL_GetTunerStatus = MXD_Porting_GetTunerStatus;
#else
    psTunerProperty->m_pPIL_SetFreq = NULL;
    psTunerProperty->m_pPIL_GetTunerStatus = NULL;
#endif /* end of #ifndef __TUNER_EXT_CTRL__ */

}/* end of MxdPorting_devConfig( ) */

/***********************************************************************************************
 *
 * Callback Section of SDK
 *
 ***********************************************************************************************
 */
CALLBACK_SETTING_S gsCallbackSetting ={0, 0, 0, NULL, NULL, NULL};;

/* end of mxd_sdk_porting.c */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区免费在线观看| 国产精品自在在线| 伦理电影国产精品| av一区二区三区黑人| 欧美一二三四在线| 美女一区二区视频| 成人免费不卡视频| 日韩欧美一区中文| 亚洲成人精品一区| 色综合色狠狠综合色| 国产色爱av资源综合区| 男女男精品视频| 欧美综合天天夜夜久久| 中文字幕欧美激情一区| 精品写真视频在线观看| 337p亚洲精品色噜噜狠狠| 亚洲另类春色校园小说| 成人免费va视频| 欧美国产一区二区在线观看| 久久国产三级精品| 日韩一级片网站| 日韩福利视频导航| 欧美在线观看视频在线| 一区二区高清在线| 91官网在线观看| 亚洲精品视频一区二区| 97久久精品人人爽人人爽蜜臀| 久久久久久久性| 国产精品1区二区.| 久久久久国色av免费看影院| 精品在线观看视频| 91精品国产乱| 日韩av中文字幕一区二区三区| 欧美日本韩国一区二区三区视频| 一区二区三区在线视频观看| 91国模大尺度私拍在线视频| 亚洲影视在线播放| 91麻豆精品国产综合久久久久久| 午夜精品福利视频网站| 欧美日本国产视频| 久久精品999| 久久久久国产精品厨房| 成人小视频免费在线观看| 国产精品青草久久| 99久久精品情趣| 一区二区三区在线观看网站| 欧美人成免费网站| 另类中文字幕网| 中文字幕av一区二区三区免费看 | 欧美午夜精品一区二区蜜桃| 日本视频一区二区三区| 精品国产一区二区在线观看| 国产精品自拍一区| 国产精品短视频| 在线精品视频免费观看| 麻豆一区二区在线| 中文字幕第一区综合| 91国偷自产一区二区三区成为亚洲经典| 亚洲成人精品一区| 26uuu国产日韩综合| 不卡av在线免费观看| 一区二区高清视频在线观看| 精品伦理精品一区| 91片黄在线观看| 奇米影视7777精品一区二区| 中文字幕va一区二区三区| 在线精品观看国产| 国产精品白丝jk白祙喷水网站| 亚洲精品美腿丝袜| 精品成人私密视频| 91国偷自产一区二区使用方法| 久久成人久久鬼色| 依依成人综合视频| 26uuu久久天堂性欧美| 99精品偷自拍| 捆绑变态av一区二区三区| 亚洲日本成人在线观看| 欧美videos大乳护士334| 99re8在线精品视频免费播放| 美腿丝袜亚洲一区| 亚洲综合视频在线观看| 国产清纯在线一区二区www| 337p亚洲精品色噜噜| 日韩精品中文字幕一区| av爱爱亚洲一区| 国产主播一区二区| 亚洲成人www| 亚洲日本成人在线观看| 久久精子c满五个校花| 日韩一级大片在线观看| 欧美中文一区二区三区| 成人国产在线观看| 精品亚洲成a人| 午夜精品久久久久久久| 伊人性伊人情综合网| 日韩美女精品在线| 国产日韩精品视频一区| 精品国产一区二区亚洲人成毛片 | 97精品久久久久中文字幕| 狠狠色狠狠色合久久伊人| 日本视频中文字幕一区二区三区| 亚洲综合久久久| 亚洲免费伊人电影| 亚洲欧洲美洲综合色网| 欧美激情综合五月色丁香小说| 日韩精品中文字幕一区二区三区| 6080午夜不卡| 欧美日韩国产精品自在自线| 91蜜桃视频在线| a亚洲天堂av| 丰满少妇在线播放bd日韩电影| 久久国产精品99久久人人澡| 日韩精品五月天| 亚洲不卡一区二区三区| 亚洲高清免费视频| 午夜精品123| 三级欧美在线一区| 日本不卡一二三| 精品在线亚洲视频| 国产不卡一区视频| 成人av片在线观看| 99精品视频一区二区三区| 91在线丨porny丨国产| 色美美综合视频| 欧美丝袜丝交足nylons| 69堂亚洲精品首页| 日韩午夜三级在线| 国产欧美一区二区精品秋霞影院| 亚洲国产精品成人综合 | 日韩欧美一二三四区| 欧美成人a在线| 日本一区二区在线不卡| 国产精品久久久久久户外露出| 亚洲欧美综合色| 亚洲精品高清在线观看| 日韩专区在线视频| 久久精品国产亚洲5555| 高清在线观看日韩| 在线精品视频免费播放| 日韩精品一区二区三区中文精品| 久久女同精品一区二区| 亚洲欧美自拍偷拍色图| 亚洲成a人v欧美综合天堂下载 | 久久久久久亚洲综合影院红桃 | 色婷婷亚洲精品| 88在线观看91蜜桃国自产| 久久久亚洲精品一区二区三区 | 秋霞午夜av一区二区三区 | 日韩国产欧美三级| 国产+成+人+亚洲欧洲自线| 91久久免费观看| 欧美电视剧在线观看完整版| 中文字幕欧美国产| 亚洲超碰精品一区二区| 高清成人免费视频| 欧美三级中文字| 国产精品视频线看| 日韩精品午夜视频| 色综合欧美在线| 久久久久久久久久久久久女国产乱| 亚洲精品视频免费看| 国产成人av电影在线观看| 欧美日高清视频| 亚洲视频一二区| 国产精品一级黄| 欧美一级二级三级蜜桃| 亚洲精品日韩一| 成人免费高清视频| 精品国精品国产| 日本不卡中文字幕| 91豆麻精品91久久久久久| 久久久久亚洲蜜桃| 久久精品99久久久| 欧美精品xxxxbbbb| 一区二区欧美精品| 91原创在线视频| 国产午夜亚洲精品午夜鲁丝片| 日韩激情在线观看| 欧美日韩另类国产亚洲欧美一级| 国产精品久久久久婷婷| 极品少妇一区二区| 91精品国产欧美一区二区18 | 国产精品国产三级国产专播品爱网 | 91麻豆精品国产91久久久资源速度| 国产精品久久三区| 国产一区二区91| 日韩三级免费观看| 午夜电影一区二区三区| 欧美视频一区二区三区四区| 亚洲美腿欧美偷拍| 9人人澡人人爽人人精品| 国产欧美日韩精品a在线观看| 精品一区二区日韩| 日韩精品在线一区| 久久精品国产秦先生| 日韩欧美色电影| 国产在线播放一区| 精品粉嫩超白一线天av| 精品中文字幕一区二区小辣椒| 亚洲精品在线免费观看视频|