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

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

?? dsk6713_edma_aic23.c

?? 用DSP5410實(shí)現(xiàn)對(duì)音樂文件音量的限制性調(diào)節(jié)
?? C
字號(hào):
/*
 *  Copyright 2003 by Texas Instruments Incorporated.
 *  All rights reserved. Property of Texas Instruments Incorporated.
 *  Restricted rights to use, duplicate or disclose this code are
 *  granted through contract.
 *  
 */
/* "@(#) DDK 1.11.00.00 11-04-03 (ddk-b13)" */
/* 
 *  ======== dsk6713_edma_aic23.c ========
 * 
 *  Driver for the aic23 codec on the TMS320C6713 DSK. Requires the
 *  generic TMS320C6x1x McBSP driver.
 */

#include <std.h>

#include <iom.h>

#include <csl.h>
#include <csl_edma.h>
#include <csl_mcbsp.h>

#include <dsk6713_edma_aic23.h>

#include <c6x1x_edma_mcbsp.h>

#define GENERICDEVPARAMS {                                                  \
    C6X1X_EDMA_MCBSP_VERSION_1, /* Version number of mcbsp driver  */       \
    FALSE, /* True if buffers are in cacheable memory (set in mdBindDev) */ \
    FALSE, /* Driver should not enable the McBSP sample rate generator */   \
    FALSE, /* Driver should not enable the McBSP frame sync generator */    \
    0,     /* IRQ id to use for the EDMA (set in mdBindDev) */              \
    NULL,   /* McBSP configuration for the codec (set in mdBindDev) */      \
    DSK6713_EDMA_AIC23_INTR_MASK_DEFAULT /* Interrupt mask */               \
}

/* Structure containing port specific variables */
typedef struct {
        Ptr c6x1xPortObj;
        Int edmaPriority;
} PortObj, *PortHandle;

/* Declare the port structures */
/* Only Mcbsp 1 is used */
static PortObj port;

DSK6713_EDMA_AIC23_DevParams DSK6713_EDMA_AIC23_DEVPARAMS =
                                   DSK6713_EDMA_AIC23_DEVPARAMS_DEFAULT;

/*
 * Forward declaration of the IOM interface functions. They are only
 * exposed via the IOM function table to avoid namespace pollution.
 */
static Int mdBindDev(Ptr *devp, Int devid, Ptr devParams);
static Int mdCreateChan(Ptr *chanp, Ptr devp, String name, Int mode,
                        Ptr chanParams, IOM_TiomCallback cbFxn, Ptr cbArg);

/*
 * The codec driver function table. Notice how we copy most functions
 * from the generic c6x1x edma mcbsp driver.
 */
IOM_Fxns DSK6713_EDMA_AIC23_FXNS = {
    &mdBindDev,
    NULL,
    NULL,
    &mdCreateChan,
    NULL,
    NULL
};

static MCBSP_Config mcbspCfg1 = {
        MCBSP_FMKS(SPCR, FREE, NO)              |
        MCBSP_FMKS(SPCR, SOFT, NO)              |
        MCBSP_FMKS(SPCR, FRST, YES)             |
        MCBSP_FMKS(SPCR, GRST, YES)             |
        MCBSP_FMKS(SPCR, XINTM, XRDY)           |
        MCBSP_FMKS(SPCR, XSYNCERR, NO)          |
        MCBSP_FMKS(SPCR, XRST, YES)             |
        MCBSP_FMKS(SPCR, DLB, OFF)              |
        MCBSP_FMKS(SPCR, RJUST, RZF)            |
        MCBSP_FMKS(SPCR, CLKSTP, DISABLE)       |
        MCBSP_FMKS(SPCR, DXENA, OFF)            |
        MCBSP_FMKS(SPCR, RINTM, RRDY)           |
        MCBSP_FMKS(SPCR, RSYNCERR, NO)          |
        MCBSP_FMKS(SPCR, RRST, YES),

        MCBSP_FMKS(RCR, RPHASE, SINGLE)         |
        MCBSP_FMKS(RCR, RFRLEN2, DEFAULT)       |
        MCBSP_FMKS(RCR, RWDLEN2, DEFAULT)       |
        MCBSP_FMKS(RCR, RCOMPAND, MSB)          |
        MCBSP_FMKS(RCR, RFIG, NO)               |
        MCBSP_FMKS(RCR, RDATDLY, 0BIT)          |
        MCBSP_FMKS(RCR, RFRLEN1, OF(1))         |
        MCBSP_FMKS(RCR, RWDLEN1, 16BIT)         |
        MCBSP_FMKS(RCR, RWDREVRS, DISABLE),

        MCBSP_FMKS(XCR, XPHASE, SINGLE)         |
        MCBSP_FMKS(XCR, XFRLEN2, DEFAULT)       |
        MCBSP_FMKS(XCR, XWDLEN2, DEFAULT)       |
        MCBSP_FMKS(XCR, XCOMPAND, MSB)          |
        MCBSP_FMKS(XCR, XFIG, NO)               |
        MCBSP_FMKS(XCR, XDATDLY, 0BIT)          |
        MCBSP_FMKS(XCR, XFRLEN1, OF(1))         |
        MCBSP_FMKS(XCR, XWDLEN1, 16BIT)         |
        MCBSP_FMKS(XCR, XWDREVRS, DISABLE),
        
        MCBSP_FMKS(SRGR, GSYNC, DEFAULT)        |
        MCBSP_FMKS(SRGR, CLKSP, DEFAULT)        |
        MCBSP_FMKS(SRGR, CLKSM, DEFAULT)        |
        MCBSP_FMKS(SRGR, FSGM, DEFAULT)         |
        MCBSP_FMKS(SRGR, FPER, DEFAULT)         |
        MCBSP_FMKS(SRGR, FWID, DEFAULT)         |
        MCBSP_FMKS(SRGR, CLKGDV, DEFAULT),

        MCBSP_MCR_DEFAULT,
        MCBSP_RCER_DEFAULT,
        MCBSP_XCER_DEFAULT,

        MCBSP_FMKS(PCR, XIOEN, SP)              |
        MCBSP_FMKS(PCR, RIOEN, SP)              |
        MCBSP_FMKS(PCR, FSXM, EXTERNAL)         |
        MCBSP_FMKS(PCR, FSRM, EXTERNAL)         |
        MCBSP_FMKS(PCR, CLKXM, INPUT)           |
        MCBSP_FMKS(PCR, CLKRM, INPUT)           |
        MCBSP_FMKS(PCR, CLKSSTAT, DEFAULT)      |
        MCBSP_FMKS(PCR, DXSTAT, DEFAULT)        |
        MCBSP_FMKS(PCR, FSXP, ACTIVEHIGH)       |
        MCBSP_FMKS(PCR, FSRP, ACTIVEHIGH)       |
        MCBSP_FMKS(PCR, CLKXP, FALLING)         |
        MCBSP_FMKS(PCR, CLKRP, RISING)
};

/*
 * ======== mdBindDev ========
 * This function allocates and configures the aic23 codec.
 */
static Int mdBindDev(Ptr *devp, Int devid, Ptr devParams)
{
    Int result;
    DSK6713_EDMA_AIC23_DevParams *params =
        (DSK6713_EDMA_AIC23_DevParams *) devParams;
    C6X1X_EDMA_MCBSP_DevParams genericParams = GENERICDEVPARAMS;

    /* If no device parameters are passed, use the defaults. */
    if (params == NULL) {
        params = &DSK6713_EDMA_AIC23_DEVPARAMS;
    }

    /* Check if the version is supported by the driver */
    if (params->versionId != DSK6713_EDMA_AIC23_VERSION_1) {
        /* Unsupported version */
        return(IOM_EBADIO);
    }

    /* Set codec parameters (this will also initialize the codec) */
    if (!AIC23_setParams(&(params->aic23)))
        return IOM_EALLOC;

    /* Set the IRQ id to use for EDMA (default is 8) */
    genericParams.irqId = params->irqId;
    genericParams.cacheCalls = params->cacheCalls;
    genericParams.mcbspCfgPtr = &mcbspCfg1;
    genericParams.intrMask = params->intrMask;
    

    /* Call the generic mdBindDev to claim mcbsp port 1 */
    result = (C6X1X_EDMA_MCBSP_FXNS.mdBindDev)(&port.c6x1xPortObj,
                    MCBSP_PORT1, &genericParams);

    /* Store the edma priority in PortObj */
    port.edmaPriority = params->edmaPriority;
    *devp = &port;

    return (result);
}

/*
 * ======== mdCreateChan ========
 * This function creates and configures a device channel.
 */
static Int mdCreateChan(Ptr *chanp, Ptr devp, String name, Int mode,
                        Ptr chanParams, IOM_TiomCallback cbFxn, Ptr cbArg)
{
    Int result;
    C6X1X_EDMA_MCBSP_ChanParams genericParams;
    PortHandle localPort = (PortHandle) devp;

    EDMA_Config edmaCfg = {
        EDMA_FMKS(OPT, ESIZE, 16BIT)          |
        EDMA_FMKS(OPT, 2DS, NO)               |
        EDMA_FMKS(OPT, SUM, NONE)             |
        EDMA_FMKS(OPT, 2DD, NO)               |
        EDMA_FMKS(OPT, DUM, NONE)             |
        EDMA_FMKS(OPT, TCINT, YES)            |
        EDMA_FMK (OPT, TCC, NULL)             |
        EDMA_FMKS(OPT, LINK, YES)             |
        EDMA_FMKS(OPT, FS, NO),

        EDMA_FMK (SRC, SRC, NULL),

        EDMA_FMK (CNT, FRMCNT, NULL)          |
        EDMA_FMK (CNT, ELECNT, NULL),

        EDMA_FMK (DST, DST, NULL),

        EDMA_FMKS(IDX, FRMIDX, DEFAULT)       |
        EDMA_FMKS(IDX, ELEIDX, DEFAULT),

        EDMA_FMK (RLD, ELERLD, NULL)          |
        EDMA_FMK (RLD, LINK, NULL)
    };

    if (mode == IOM_INPUT) {
        edmaCfg.opt |= EDMA_FMK(OPT, DUM, EDMA_OPT_DUM_INC);
    }
    else {
        edmaCfg.opt |= EDMA_FMK(OPT, SUM, EDMA_OPT_SUM_INC);
    }

    /* set the edma transfer priority */
    edmaCfg.opt |= EDMA_FMK(OPT, PRI, localPort->edmaPriority);

    /* Configure parameters */
    genericParams.tdmChans = DSK6713_EDMA_AIC23_TDMCHANNELS;
    genericParams.edmaCfgPtr = &edmaCfg;

    result = (C6X1X_EDMA_MCBSP_FXNS.mdCreateChan)(chanp, 
                    localPort->c6x1xPortObj, name, mode,
                    &genericParams, cbFxn, cbArg);
    return (result);
}

/*
 * ======== DSK6713_EDMA_AIC23_init ========
 * This function initializes the driver's structures.
 */
Void DSK6713_EDMA_AIC23_init()
{
    /* Pass some IOM fxns straight to the generic driver */
    DSK6713_EDMA_AIC23_FXNS.mdControlChan =
        C6X1X_EDMA_MCBSP_FXNS.mdControlChan;
    DSK6713_EDMA_AIC23_FXNS.mdDeleteChan =
        C6X1X_EDMA_MCBSP_FXNS.mdDeleteChan;
    DSK6713_EDMA_AIC23_FXNS.mdSubmitChan =
        C6X1X_EDMA_MCBSP_FXNS.mdSubmitChan;
    DSK6713_EDMA_AIC23_FXNS.mdUnBindDev =
        C6X1X_EDMA_MCBSP_FXNS.mdUnBindDev;

    C6X1X_EDMA_MCBSP_init();
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品sm在线观看| 性欧美疯狂xxxxbbbb| 亚洲午夜激情av| 日本一不卡视频| 91麻豆免费在线观看| 久久综合资源网| 亚洲福利国产精品| www.亚洲免费av| 337p日本欧洲亚洲大胆精品| 亚洲主播在线观看| av在线不卡网| 国产日韩欧美亚洲| 久久99热这里只有精品| 91精品国产综合久久精品麻豆| 国产精品久久久久久久久快鸭| 九九精品一区二区| 欧美精品18+| 亚洲成va人在线观看| 色综合天天做天天爱| 国产精品福利一区二区| 成人一区在线观看| 久久精品亚洲一区二区三区浴池 | 久久久久国产精品麻豆| 午夜久久久久久久久| 99视频精品全部免费在线| 久久精品人人做人人综合| 亚洲高清一区二区三区| 欧美日韩高清影院| 五月婷婷激情综合| 欧美日韩日本视频| 水蜜桃久久夜色精品一区的特点| 91久久线看在观草草青青| 亚洲免费观看视频| 在线精品视频免费观看| 一区二区在线观看视频在线观看| 国产成人精品免费一区二区| 国产女主播一区| 成人久久久精品乱码一区二区三区 | 欧美一区二区三区小说| 蜜臀va亚洲va欧美va天堂| 日韩欧美一二区| 国产美女一区二区| 国产精品视频看| 一本色道久久综合狠狠躁的推荐 | 中文字幕一区免费在线观看| 国产精品亚洲成人| 亚洲欧美另类小说视频| 欧美日韩在线直播| 卡一卡二国产精品| 日本一区二区动态图| 99v久久综合狠狠综合久久| 一区二区三区四区精品在线视频| 欧洲一区二区三区在线| 秋霞国产午夜精品免费视频| 久久久美女艺术照精彩视频福利播放| 国产精品一区二区你懂的| 最新国产精品久久精品| 欧美日韩一级二级三级| 国内精品第一页| 亚洲特级片在线| 91精品国产综合久久精品| 国产精品69毛片高清亚洲| 玉米视频成人免费看| 欧美成人福利视频| 91尤物视频在线观看| 日韩电影免费在线| 中文字幕精品一区二区三区精品| 色视频一区二区| 久久 天天综合| 亚洲欧洲综合另类在线| 欧美成人综合网站| 色综合久久综合中文综合网| 久久狠狠亚洲综合| 一个色综合av| 日本一区二区不卡视频| 欧美精品一二三| 不卡在线视频中文字幕| 免费观看91视频大全| 亚洲精品日韩综合观看成人91| 日韩一级视频免费观看在线| 99久久婷婷国产| 国产真实乱子伦精品视频| 亚洲一区二区三区国产| 欧美国产禁国产网站cc| 日韩情涩欧美日韩视频| 91久久国产最好的精华液| 国产福利电影一区二区三区| 日韩国产成人精品| 亚洲一区二区五区| 国产精品久久午夜夜伦鲁鲁| 精品国产青草久久久久福利| 欧美日韩午夜在线视频| 色综合久久久久综合99| 国产精品456露脸| 久久激情五月激情| 人妖欧美一区二区| 婷婷综合在线观看| 亚洲免费观看高清完整版在线| 国产亚洲婷婷免费| 欧美精品一区二区不卡 | 亚洲国产成人tv| 亚洲欧美经典视频| 国产精品超碰97尤物18| 中文字幕免费不卡| 国产亚洲一二三区| 中文字幕av一区二区三区免费看| 精品久久久久久久一区二区蜜臀| 777奇米成人网| 91精品一区二区三区久久久久久| 欧亚洲嫩模精品一区三区| 色综合久久六月婷婷中文字幕| av动漫一区二区| 99国产欧美久久久精品| 色婷婷综合久久久久中文| 91麻豆精品一区二区三区| 91日韩精品一区| 日本道精品一区二区三区| 欧洲视频一区二区| 欧美理论片在线| 日韩视频免费观看高清完整版 | 欧美视频一区二区三区在线观看| 色猫猫国产区一区二在线视频| 91丨九色丨黑人外教| 91麻豆swag| 欧美日韩视频一区二区| 日韩亚洲欧美中文三级| 欧美成人女星排行榜| 国产亚洲自拍一区| 最好看的中文字幕久久| 午夜私人影院久久久久| 奇米精品一区二区三区四区 | 图片区日韩欧美亚洲| 美腿丝袜亚洲三区| 国产黄色精品网站| proumb性欧美在线观看| 欧美私人免费视频| 亚洲精品一区在线观看| 国产精品―色哟哟| 亚洲成人一区二区| 精品一区二区免费在线观看| 成人三级伦理片| 欧美福利视频一区| 久久久91精品国产一区二区三区| 国产精品国产成人国产三级 | 在线播放91灌醉迷j高跟美女 | 欧美专区日韩专区| 日韩欧美一二三四区| 国产精品理论片在线观看| 午夜久久久久久久久久一区二区| 久久精品国产99久久6| 成人精品亚洲人成在线| 欧美日韩视频专区在线播放| 久久精品免费在线观看| 一区二区三区精品| 国产a视频精品免费观看| 欧美日韩激情一区二区三区| 国产欧美一区二区在线观看| 亚洲va国产天堂va久久en| 国产原创一区二区| 欧美日韩成人综合在线一区二区| 欧美韩国日本不卡| 麻豆精品在线看| 色偷偷一区二区三区| 精品少妇一区二区三区在线视频| 亚洲美女视频在线观看| 国产老女人精品毛片久久| 7878成人国产在线观看| 亚洲婷婷国产精品电影人久久| 久久精品国产网站| 欧美私模裸体表演在线观看| 欧美国产精品专区| 精品一二三四区| 91精品国产综合久久福利软件| 亚洲人快播电影网| 成人综合在线观看| 精品国产一区二区三区四区四| 亚洲第四色夜色| 色噜噜久久综合| 国产精品无遮挡| 国产乱码精品一品二品| 日韩精品一区二区三区在线 | 亚洲尤物视频在线| 成人精品视频一区二区三区尤物| 精品嫩草影院久久| 蜜桃av噜噜一区二区三区小说| 欧美日韩视频在线第一区| 亚洲精品综合在线| 91在线无精精品入口| 亚洲国产高清不卡| 成人综合婷婷国产精品久久| 精品福利视频一区二区三区| 蜜桃av一区二区在线观看| 正在播放亚洲一区| 婷婷开心激情综合| 欧美乱熟臀69xxxxxx| 日本不卡中文字幕| 日韩欧美国产不卡| 国模套图日韩精品一区二区| 精品99一区二区| 国产iv一区二区三区|