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

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

?? c5509_usb_bind.c

?? 基于TMS320VC5507DSP和CF卡的MP3項目的源代碼、電路圖、PCB文件
?? C
字號:
/*
 *  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)" */
/*
 *  ======== c5509_usb_bind.c ========
 *  This file implements _mdBindDev function.
 */

#include <std.h>

#include <hwi.h>
#include <iom.h>
#include <csl.h>
#include <csl_usb.h>
#include <c5509_usb.h>
#include <_c5509_usb.h>


/*
 *  ======== control endpoint 0  ========
 *  They are accessed internally in mini-driver code.
 */
USB_EpObj _C5509_USB_usbEpObjIn0, _C5509_USB_usbEpObjOut0;

/*  
 *  ======== global C5509_USB device object ========
 */
_C5509_USB_DevObj _C5509_USB_devObj = {


    FALSE,    /* bus connected if TRUE */
    0,        /* last chapter 9 request */
    /* 
     * channel object handles
     */
    { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL },

    /* 
     * Null terminated endpoint ptr array used for CSL initialization
     */
    { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL },

    /*
     * USB state information C5509_USB_StateInfo.
     */
    {0,        /* current configuration number */
     0,        /* current interface number */ 
     0,        /* current alternate set number */
     1}        /* current device state, self powered */ 

};


/*
 * ======== _C5509_USB_devParams ========
 *  This pointer points to the device parameter passed by user as a 
 *  parameter of _C5509_USB_mdBindDev(...)
 */
C5509_USB_DevParams *_C5509_USB_devParams;

  
/*  
 * ======== control endpoint 0 handler ========
 *  This function is defined in file c5509_usbiom_usbctrl.c.
 */
extern Void _C5509_USB_usbCtrlHandler();

/*
 * ======== endpoint out 1 handler ========
 *  We need the wrapper to pass _C5509_USB_devObj.chans[USB_OUT_EP1] due
 *   to lack of context parameter in EP handler function call.
 */
static Void endptOut1Handler( Void ) {
    _C5509_USB_transactionHandler( _C5509_USB_devObj.chans[USB_OUT_EP1] );
}

/*
 * ======== endpoint out 2 handler ========
 *  We need the wrapper to pass __C5509_USB_devObj.chans[USB_OUT_EP2]
 */
static Void endptOut2Handler( Void ) {
    _C5509_USB_transactionHandler( _C5509_USB_devObj.chans[USB_OUT_EP2] );
}

/*
 * ======== endpoint out 3 handler ========
 *  We need the wrapper to pass __C5509_USB_devObj.chans[USB_OUT_EP3]
 */
static Void endptOut3Handler( Void ) {
    _C5509_USB_transactionHandler( _C5509_USB_devObj.chans[USB_OUT_EP3] );
}

/*
 * ======== endpoint out 4 handler ========
 *  We need the wrapper to pass _C5509_USB_devObj.chans[USB_OUT_EP4]
 */
static Void endptOut4Handler( Void ) {
    _C5509_USB_transactionHandler( _C5509_USB_devObj.chans[USB_OUT_EP4] );
}

/*
 * ======== endpoint out 5 handler ========
 *  We need the wrapper to pass _C5509_USB_devObj.chans[USB_OUT_EP5]
 */
static Void endptOut5Handler( Void ) {
    _C5509_USB_transactionHandler( _C5509_USB_devObj.chans[USB_OUT_EP5] );
}

/*
 * ======== endpoint out 6 handler ========
 *  We need the wrapper to pass _C5509_USB_devObj.chans[USB_OUT_EP6]
 */
static Void endptOut6Handler( Void ) {
    _C5509_USB_transactionHandler( _C5509_USB_devObj.chans[USB_OUT_EP6] );
}

/*
 * ======== endpoint out 7 handler ========
 *  We need the wrapper to pass _C5509_USB_devObj.chans[USB_OUT_EP7]
 */
static Void endptOut7Handler( Void ) {
    _C5509_USB_transactionHandler( _C5509_USB_devObj.chans[USB_OUT_EP7] );
}

/*
 * ======== endpoint in 1  handler ========
 *  We need the wrapper to pass _C5509_USB_devObj.chans[USB_IN_EP1]
 */
static Void endptIn1Handler( Void ) {
    _C5509_USB_transactionHandler( _C5509_USB_devObj.chans[USB_IN_EP1] );
}

/*
 * ======== endpoint in 2  handler ========
 *  We need the wrapper to pass _C5509_USB_devObj.chans[USB_IN_EP2]
 */
static Void endptIn2Handler( Void ) {
    _C5509_USB_transactionHandler( _C5509_USB_devObj.chans[USB_IN_EP2] );
}

/*
 * ======== endpoint in 3  handler ========
 * We need the wrapper to pass _C5509_USB_devObj.chans[USB_IN_EP3]
 */
static Void endptIn3Handler( Void ) {
    _C5509_USB_transactionHandler( _C5509_USB_devObj.chans[USB_IN_EP3] );
}

/*
 * ======== endpoint in 4 handler ========
 * We need the wrapper to pass _C5509_USB_devObj.chans[USB_IN_EP4]
 */
static Void endptIn4Handler( Void ) {
    _C5509_USB_transactionHandler( _C5509_USB_devObj.chans[USB_IN_EP4] );
}

/*
 * ======== endpoint in 5  handler ========
 * We need the wrapper to pass _C5509_USB_devObj.chans[USB_IN_EP5]
 */
static Void endptIn5Handler( Void ) {
    _C5509_USB_transactionHandler( _C5509_USB_devObj.chans[USB_IN_EP5] );
}

/*
 * ======== endpoint in 6  handler ========
 * We need the wrapper to pass _C5509_USB_devObj.chans[USB_IN_EP6]
 */
static Void endptIn6Handler( Void ) {
    _C5509_USB_transactionHandler( _C5509_USB_devObj.chans[USB_IN_EP6] );
}

/*
 *  ======== endpoint in 7  handler ========
 *  We need the wrapper to pass _C5509_USB_devObj.chans[USB_IN_EP7]
 */
static Void endptIn7Handler( Void ) {
    _C5509_USB_transactionHandler( _C5509_USB_devObj.chans[USB_IN_EP7] );
}

typedef Void (*EndptHandler)();  /* function pointer type */
/*
 *  ======== Endpoint handler function pointer table ========
 */
static EndptHandler endptHandler[_C5509_USB_ENDPTNUMS] = {
    _C5509_USB_usbCtrlHandler, endptOut1Handler, endptOut2Handler,
    endptOut3Handler, endptOut4Handler, endptOut5Handler, endptOut6Handler,
    endptOut7Handler, _C5509_USB_usbCtrlHandler, endptIn1Handler, endptIn2Handler,
    endptIn3Handler, endptIn4Handler, endptIn5Handler, endptIn6Handler,
    endptIn7Handler
};

/*  
 *  ======== _C5509_USB_mdBindDev ========
 *  It is called during DSP/BIOS initialization to initialize device
 *
 *  *devp is used to output global device object to IOM
 *
 *  devid is device id.
 *
 *  devParams is the device parameter. There is no default device 
 *  parameter. User is required to pass the proper device parameter so 
 *  that the necessary init work can be done.  
 */  
Int _C5509_USB_mdBindDev(Ptr *devp, Int devid, Ptr devParams)
{
    C5509_USB_EpConfig * cfgPtr;
    Int16 i;
    HWI_Attrs hwiAttrs = HWI_ATTRS;
    Int16 status;
    
                      
    *devp = &_C5509_USB_devObj; /* internal device object */

    if (devParams == NULL) {
        return IOM_EBADARGS;
    }

     _C5509_USB_devParams = devParams;

    /*
     * Check for supported driver version(s)
     */
    if (_C5509_USB_devParams->versionId > C5509_USB_VERSION_1) {
        return IOM_EBADIO;
    }
   
   

    /* 
     *  API vector address must be initialized before calling any USB API.
     */
    USB_setAPIVectorAddress(); 

    USB_initPLL(_C5509_USB_devParams->inclk, _C5509_USB_OUTCLK48MHZ, \
            _C5509_USB_devParams->plldiv);    /* init USB clock */ 

    /*
     *  init reserved endpoints EP0 OUT & EP0 IN.
     */
    _C5509_USB_devObj.eps[0] = &_C5509_USB_usbEpObjOut0;
    USB_initEndptObj( USB0, &_C5509_USB_usbEpObjOut0, USB_OUT_EP0, USB_CTRL, 
            _C5509_USB_EP0RSVDSIZE, _C5509_USB_EP0RSVDMASK, 
            _C5509_USB_usbCtrlHandler);

    _C5509_USB_devObj.eps[1] = &_C5509_USB_usbEpObjIn0;
    USB_initEndptObj(USB0, &_C5509_USB_usbEpObjIn0, USB_IN_EP0, USB_CTRL, 
            _C5509_USB_EP0RSVDSIZE, _C5509_USB_EP0RSVDMASK, 
            _C5509_USB_usbCtrlHandler);

    
    cfgPtr =  _C5509_USB_devParams->ifcConfig->epConfig;

    for (i = 0; i < _C5509_USB_devParams->ifcConfig->numEps; i++, cfgPtr++) {

        _C5509_USB_devObj.eps[i + _C5509_USB_NUMEPSRSVD] =  &cfgPtr->chanp->epObj;
       /*
        * init configured endpoints.
        */

        USB_initEndptObj(USB0, &cfgPtr->chanp->epObj, cfgPtr->epNum, 
                cfgPtr->epType, cfgPtr->epMaxPktLen,
                cfgPtr->epEvtMask, endptHandler[cfgPtr->epNum]);
    }

    /* init usb module. Only single device(USB0) supported by CSL */
    status = USB_init(USB0, &_C5509_USB_devObj.eps[0], 
            _C5509_USB_devParams->pSofTmrCnt);

    if (status != USB_TRUE) {
        return (IOM_EBADIO);        
    }
       
    /*  
     * Plug & enable the USB device interrupt.
     * For C55x if both ierx masks are equal to one, then mask only self intr.
     */
    hwiAttrs.ier0mask = _C5509_USB_devParams->ier0mask;
    hwiAttrs.ier1mask = _C5509_USB_devParams->ier1mask;
    
    HWI_dispatchPlug(IRQ_EVT_USB, (Fxn)USB_evDispatch, &hwiAttrs);

    IRQ_enable(IRQ_EVT_USB);
    
    return (IOM_COMPLETED);
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久国产精品麻豆ai换脸| 蜜桃av噜噜一区二区三区小说| 亚洲午夜视频在线| 六月丁香婷婷色狠狠久久| 一本一道综合狠狠老| 精品国产精品网麻豆系列| 亚洲国产成人91porn| 成人综合婷婷国产精品久久免费| 欧美一区二区日韩| 亚洲人成7777| 成人一道本在线| 国产亚洲制服色| 久久se精品一区二区| 欧美在线视频日韩| 亚洲少妇最新在线视频| 国产麻豆9l精品三级站| 日韩精品一区二区三区在线| 午夜私人影院久久久久| 色久综合一二码| 国产精品乱码一区二区三区软件| 国产美女精品在线| 精品精品国产高清a毛片牛牛| 五月天亚洲精品| 91极品美女在线| 1024成人网色www| av综合在线播放| 一区在线观看免费| k8久久久一区二区三区| 中文字幕不卡在线播放| 色综合久久久久网| 亚洲欧洲精品一区二区三区| 高清不卡在线观看| 国产精品三级视频| 成人黄色片在线观看| 中文av字幕一区| 不卡的av电影| 亚洲视频一二区| 欧美色倩网站大全免费| 日日摸夜夜添夜夜添国产精品 | 日韩欧美美女一区二区三区| 亚洲妇女屁股眼交7| 欧美美女一区二区| 亚洲男人天堂av网| 欧洲av一区二区嗯嗯嗯啊| 亚洲电影在线播放| 欧美一卡二卡三卡四卡| 美女性感视频久久| 国产欧美一区二区精品婷婷| 高清久久久久久| 亚洲精品国产第一综合99久久 | 三级欧美在线一区| 欧美一级二级三级蜜桃| 国产一区在线不卡| 日韩毛片视频在线看| 在线免费精品视频| 日韩成人午夜精品| 久久久不卡网国产精品二区| 成人av资源站| 天天色综合成人网| 亚洲精品一区二区三区影院| voyeur盗摄精品| 日韩精品视频网| 国产人妖乱国产精品人妖| 91免费看`日韩一区二区| 日韩经典中文字幕一区| 亚洲精品在线免费观看视频| 99久久久久久| 老司机精品视频导航| 亚洲桃色在线一区| 日韩一级成人av| 99久久99久久精品国产片果冻| 午夜欧美视频在线观看| 久久久国产综合精品女国产盗摄| 91福利小视频| 国产精品一区二区三区网站| 亚洲精品国产第一综合99久久| 精品久久免费看| 日本高清成人免费播放| 精品一区二区三区在线视频| 亚洲欧美欧美一区二区三区| 日韩精品在线一区| 91丨porny丨首页| 国产一二三精品| 日韩激情av在线| 亚洲精品成人精品456| 久久精品一区二区三区四区| 欧美日韩在线不卡| 99久久精品一区二区| 国产一区二区视频在线| 亚洲va在线va天堂| 亚洲免费观看高清完整版在线 | 99久久综合色| 国内一区二区在线| 日本三级亚洲精品| 亚洲国产精品一区二区www在线 | gogo大胆日本视频一区| 国产乱色国产精品免费视频| 午夜视频一区在线观看| 亚洲最大色网站| 国产欧美精品一区二区色综合| 精品卡一卡二卡三卡四在线| 欧美日韩精品欧美日韩精品一| 色av综合在线| 色综合激情五月| 99re热这里只有精品视频| 国产成人免费视频网站| 国产乱码精品1区2区3区| 蜜臀av国产精品久久久久| 日韩综合在线视频| 亚洲h动漫在线| 天涯成人国产亚洲精品一区av| 亚洲在线视频一区| 一区二区三区日本| 一区二区久久久久久| 亚洲综合在线观看视频| 亚洲最新视频在线播放| 亚洲高清免费在线| 亚洲高清视频中文字幕| 日韩和欧美的一区| 全国精品久久少妇| 免费在线观看精品| 国内精品写真在线观看| 国产精品一级片| 波多野结衣一区二区三区| av亚洲精华国产精华精| 欧洲av在线精品| 欧美精品三级在线观看| 日韩三级中文字幕| 精品国产91久久久久久久妲己| 精品电影一区二区三区| 国产精品美女视频| 一区二区三区四区视频精品免费| 亚洲精品乱码久久久久久黑人| 亚洲成人资源网| 久草中文综合在线| 成人一区二区三区在线观看| 91毛片在线观看| 欧美肥大bbwbbw高潮| 精品国产亚洲一区二区三区在线观看 | 日韩一区二区精品葵司在线| 日韩视频在线你懂得| 久久众筹精品私拍模特| 中文字幕+乱码+中文字幕一区| 亚洲欧美日韩中文字幕一区二区三区 | 一区二区三区四区高清精品免费观看| 亚洲一区二区视频| 久久国产成人午夜av影院| 成人精品国产一区二区4080| 欧美日精品一区视频| 久久久综合视频| 一区二区三区四区视频精品免费 | 色综合色综合色综合色综合色综合| 色婷婷综合久久久中文一区二区| 日韩一级完整毛片| 国产色产综合色产在线视频| 亚洲无线码一区二区三区| 国产乱人伦偷精品视频不卡 | 国产精品亲子伦对白| 日韩激情视频网站| 国产a视频精品免费观看| 欧美日本精品一区二区三区| 中文一区在线播放| 蜜桃一区二区三区在线观看| 99精品1区2区| 久久蜜桃一区二区| 日本欧美一区二区在线观看| 99久久精品国产麻豆演员表| 日韩精品中午字幕| 有码一区二区三区| 成人国产亚洲欧美成人综合网| 日韩视频国产视频| 亚洲人成小说网站色在线| 国产一区二区视频在线| 这里只有精品视频在线观看| 亚洲天天做日日做天天谢日日欢 | 综合色中文字幕| 国产裸体歌舞团一区二区| 欧美日本一区二区| 亚洲欧美成人一区二区三区| 国产精品一区二区三区乱码| 欧美一级电影网站| 肉丝袜脚交视频一区二区| 欧美最猛黑人xxxxx猛交| 最新不卡av在线| 粉嫩一区二区三区在线看| 精品成人私密视频| 久久爱另类一区二区小说| 欧美一区二区三区在线| 午夜精品爽啪视频| 精品视频在线看| 亚洲福中文字幕伊人影院| 色屁屁一区二区| 亚洲美女淫视频| 91丨porny丨国产入口| 亚洲欧美在线观看| 色综合久久久久久久| 一区二区视频在线| 欧美三级在线播放| 日韩精品免费视频人成| 欧美一级日韩一级|