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

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

?? plx9054.h

?? Vxworks 下PLX 9054 的驅動
?? H
?? 第 1 頁 / 共 2 頁
字號:
{
    P9054_DMA_CHANNEL_0 = 0,
    P9054_DMA_CHANNEL_1 = 1
} P9054_DMA_CHANNEL;

typedef enum
{
    P9054_MODE_BYTE   = 0,
    P9054_MODE_WORD   = 1,
    P9054_MODE_DWORD  = 2
} P9054_MODE;

typedef enum
{
    DATA_BYTE   = 1,
    DATA_WORD   = 2,
    DATA_TRI = 3,
    DATA_DWORD  = 4
} DATA_WIDTH_MODE;

typedef enum
{
    P9054_ADDR_REG     = AD_PCI_BAR0,        /* PLX9054 寄存器在PCI 內存空間的基址*/
    P9054_ADDR_REG_IO  = AD_PCI_BAR1,     /* PLX9054 寄存器在PCI I/0 空間的基址*/
    P9054_ADDR_SPACE0  = AD_PCI_BAR2,     /* 本地空間0*/
    P9054_ADDR_SPACE1  = AD_PCI_BAR3,     /* 本地空間1*/
    P9054_ADDR_SPACE2  = AD_PCI_BAR4,     /* 保留*/
    P9054_ADDR_SPACE3  = AD_PCI_BAR5,     /* 保留*/
    P9054_ADDR_EPROM   = AD_PCI_BAR_EPROM   /* PLX9054 EEPROM 空間*/
} PLX9054_SPACE_INDEX;

/* typedefs */
typedef struct plx9054PciResource              /* PLX9054_PCI_RESOURCES */
    {
    UINT32      membaseCsr;              /* Base Address Register 0: Used for Memory-Mapped */
    UINT32      iobaseCsr;                   /* Base Address Register 1: Used for I/O-Mapped*/
    char          irq;                              /* Interrupt Request Level */
    UINT32      irqvec;                        /* Interrupt Request vector */
    UINT32      configType;                 /* type of configuration */
    UINT32      pciBus;                        /* PCI Bus number */
    UINT32      pciDevice;                   /* PCI Device number */
    UINT32      pciFunc;                      /* PCI Function number */
    } PLX9054_PCI_RESOURCES;

typedef struct plx9054BoardResource            /* PLX9054_BOARD_RESOURCES */
    {
    UINT32      type;                   /* type of the board */
    UINT32      vendorId;               /* Vendor ID */
    UINT32      deviceId;               /* Device ID */
    UINT32      plxUsrFlags;             /* RTL driver user flags */
    } PLX9054_BOARD_RESOURCES;

typedef struct  plx9054SpaceDesc  /* plx9054 本地空間描述*/
{
    char     spaceName[256];     /* Space 空間名*/
    UINT32 dwPciBar;                 /* pci 空間基地址*/
    UINT32 dwRange;                 /* 本地空間大小*/
    UINT32 dwLocalBase;           /* 本地空間基地址*/
    BOOL    fIsMemory;              /* 是否映射到PCI Memory 空間*/
    BOOL    fIsEnable;                /* 本地空間是否使能*/
    BOOL    fIsPrefetch;             /* Is Read Prefetchable*/

    UINT32 dwCurrentAddr;       /*CPU當前處理的地址*/
} PLX9054_SPACE_DESC;

enum { PLX9054_DMA_CHANNEL_SHIFT = 0x14 }; 

typedef enum
{
    PLX9054_DMA_CH_0 = 0,
    PLX9054_DMA_CH_1 = 1,
    PLX9054_DMA_NUM = 2
} PLX9054_DMA_CH;

typedef enum
{
    PLX9054_BUS_BYTE   = 0,
    PLX9054_BUS_WORD   = 1,
    PLX9054_BUS_DWORD  = 2
} PLX9054_BUS_MODE;

typedef struct plx9054_dma_desc
{
    UINT32  pciAddr;
    UINT32  localAddr;
    UINT32  nBytes;
    UINT32  descPointer;
}PLX9054_DMA_DESC;

typedef struct
{
    #if 0
    UINT32 * pPciAddr;       /* DMA PCI Address                0x84h        0x98h */
    UINT32 * pLocalAddr;    /* DMA Local Address              0x88h        0x9ch */
    UINT32 * pSize;             /* Transfer Size (Bytes)           0x8ch        0xa0h*/
    UINT32 * pNextPointer; /* DMA Descriptor Pointer        0x90h        0xa4h*/
    #endif   
}PLX9054_DMA_REG;

typedef enum
{
    DMA_CHANNEL_SET = 0,
    DMA_CHANNEL_GET = 1,
    DMA_READ_ENABLE = 2,    /*LOCAL -> PCI*/
    DMA_WRITE_ENABLE = 3,  /*PCI -> LOCAL*/
    DMA_BUS_WIDTH_SET = 4,
    DMA_BUS_WIDTH_GET = 5,
    DMA_WAIT_SET = 6,
    DMA_WAIT_GET = 7,
    DMA_BURST_ENABLE = 8,
    DMA_BURST_DISABLE,
    DMA_GATHER_MODE_ENABLE,
    DMA_GATHER_MODE_DISABLE,
    DMA_INT_ENABLE,
    DMA_INT_DISABLE,
    DMA_LOCAL_ADDR_INC,
    DMA_LOCAL_ADDR_HOLD   
}PLX9054_DMA_CMD;

typedef enum
{
    PLX9054_CMD = 0 
}PLX9054_IOCTL_CMD;

typedef struct
{
    UINT32 *   pDmaMode;                          /* DMA模式寄存器*/
    PLX9054_DMA_DESC * pDmaDesc;        /* 指向DMA描述符結構體*/
    UINT8 *    pDmaCs;                               /* DMA控制狀態寄存器*/

    BOOL     fIschkDone;                                 /*是否為查詢方式,否則使用中斷方式*/
    BOOL     fIsRead;                                  /* DMA READ*/
    BOOL     fIsBusy;
    SEM_ID       syncSem;                    /* binary sem for syncronization */
    int          semTimeOut;
    UINT32   timeOutCount;
}PLX9054_DMA;

typedef struct plx9054_device
{
    PLX9054_PCI_RESOURCES 	PlxPciRsrc;
    PLX9054_SPACE_DESC           spaceDesc[AD_PCI_BARS];
    PLX9054_DMA                        dmaCh[PLX9054_DMA_NUM];
    PLX9054_DMA_CH                  channel;
    BOOL                                     fIsInit;          /* 是否初始化*/
    BOOL                                     intIsEnable;  /* 中斷是否使能*/
} PLX9054_DEVICE;

typedef struct plx9054_drvctrl
{
    PLX9054_DEVICE * pDevice[PLX9054_MAX_DEV];   /* 設備指針數組*/
    int                         plxCardNum;                           /* 實際安裝的擴展卡的數量*/
    UINT32                  errorCount;                             /* 錯誤統計*/
    UINT32                  totalBytes;                              /* 傳輸的數據字節數*/
}PLX9054_DRVCTRL;


/* *********************EEPROM 相關定義***************************/
/*PLX 9000-series EEPROM definitions*/
#define EE46_CMD_LEN                    9           /*Bits in instructions*/
#define EE56_CMD_LEN                    11         /*Bits in instructions*/
#define EE66_CMD_LEN                    11         /* Bits in instructions*/
#define EE_READ                              0x0180  /* 01 1000 0000 read instruction*/
#define EE_WRITE                            0x0140  /* 01 0100 0000 write instruction*/
#define EE_WREN                             0x0130  /* 01 0011 0000 write enable instruction*/
#define EE_WRALL                            0x0110  /* 01 0001 0000 write all registers*/
#define EE_PRREAD                          0x0180  /* 01 1000 0000 read address stored in Protect Register*/
#define EE_PRWRITE                        0x0140  /* 01 0100 0000 write the address into PR*/
#define EE_WDS                               0x0100  /* 01 0000 0000 write disable instruction*/
#define EE_PREN                              0x0130  /* 01 0011 0000 protect enable instruction*/
#define EE_PRCLEAR                        0x01FF  /* 01 1111 1111 clear protect register instr*/
#define EE_PRDS                              0x0100  /* 01 0000 0000 ONE TIME ONLY, permenant */

/* EEPROM TYPE */
typedef enum _EEPROM_TYPE
{
    Eeprom93CS46,
    Eeprom93CS56,
    Eeprom93CS66,
    EepromX24012,
    EepromX24022,
    EepromX24042,
    EepromX24162,
    EEPROM_UNSUPPORTED
} EEPROM_TYPE;


/* export */
extern STATUS PLX9054_DMAReadWriteBlock (int index, UINT32 dwLocalAddr, UINT32 buffer, UINT32 dwBytes, BOOL fIsRead);
extern STATUS PLX9054_DMACtl(int index, PLX9054_DMA_CMD cmd, UINT32 * pData);
extern STATUS PLX9054_DMA_Init(int index);
extern BOOL     PLX9054_DMAIsDone (PLX9054_DMA * pDmaCtrl);
extern STATUS PLX9054_DMAStart (PLX9054_DMA * pDmaCtrl);
extern STATUS PLX9054_GetSpaceInfo(int index, PLX9054_SPACE_INDEX spaceIndex, PLX9054_SPACE_DESC * pPlxSpace);
extern STATUS PLX9054_GetAllSpaceInfo(int index);
extern STATUS PLX9054_Local_Reg_Read( int index, int offset, UINT32 * pData);
extern STATUS PLX9054_Local_Reg_Write( int index, int offset, UINT32  Data);
extern STATUS PLX9054_Pci_Reg_Read( int index, int offset, UINT32 * pData, DATA_WIDTH_MODE dataWidth);
extern STATUS PLX9054_Pci_Reg_Write( int index, int offset, UINT32 data, DATA_WIDTH_MODE dataWidth);
extern void      PLX9054_IntEnable (int index);
extern void      PLX9054_IntDisable (int index);
extern void      PLX9054_Pci_Show(void);
extern STATUS PLX9054_ReadByte (int index, PLX9054_SPACE_INDEX spaceIndex, UINT32 dwOffset, char * pData);
extern STATUS PLX9054_WriteByte (int index, PLX9054_SPACE_INDEX spaceIndex, UINT32 dwOffset, char data);
extern STATUS PLX9054_ReadWord (int index, PLX9054_SPACE_INDEX spaceIndex, UINT32 dwOffset, short * pData);
extern STATUS PLX9054_WriteWord (int index, PLX9054_SPACE_INDEX spaceIndex, UINT32 dwOffset, short data);
extern STATUS PLX9054_ReadDword (int index, PLX9054_SPACE_INDEX spaceIndex, UINT32 dwOffset, UINT32 * pData);
extern STATUS PLX9054_WriteDword (int index, PLX9054_SPACE_INDEX spaceIndex, UINT32 dwOffset, UINT32 data);
extern PLX9054_DRVCTRL * PLX9054_GetDrvCtrl(void);
extern void PLX9054_SetDrvCtrl(PLX9054_DRVCTRL * pDrvCtrl);

extern BOOL PLX9054_EEPROM_Valid(int index);
extern STATUS PLX9054_EepromReadDword(int index, EEPROM_TYPE EepromType, UINT32 offset, UINT32 *pValue);
extern STATUS PLX9054_EepromWriteDword(int index, EEPROM_TYPE EepromType, UINT32 offset, UINT32 value);
extern void PLX9054_SoftReset(int index);
extern void sysPlx9054PciStart(void);
extern void PLX9054_WriteByteToDsp(int index, UINT8 data);



#ifdef __cplusplus
}
#endif

#endif	/* INCplx9054h */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看精品一区| 亚洲国产精品v| 欧美国产日韩a欧美在线观看| 亚洲在线视频网站| 久久精品国产精品亚洲精品| av网站免费线看精品| 欧美三级韩国三级日本一级| 国产精品免费久久| 久久91精品久久久久久秒播| 欧美三级电影网| 一区二区中文视频| 国产成人av一区二区| 日韩欧美一卡二卡| 日韩国产欧美一区二区三区| 成人免费视频caoporn| 精品精品国产高清a毛片牛牛 | 成人性生交大片免费看视频在线 | 一区二区三区视频在线看| 久久精品99国产精品日本| 欧美视频一区二区| 亚洲欧洲综合另类在线| 国产福利电影一区二区三区| 精品女同一区二区| 爽好久久久欧美精品| 欧美亚洲免费在线一区| 成人欧美一区二区三区在线播放| 国产精品国产三级国产专播品爱网| 国产精品福利一区二区| 国产精品66部| 久久久久久久国产精品影院| 日韩国产精品大片| 欧美绝品在线观看成人午夜影视| 欧美xxx久久| 秋霞国产午夜精品免费视频| 在线精品视频免费播放| 亚洲午夜视频在线| 欧美日韩亚洲综合一区| 丝袜诱惑亚洲看片| 欧美一区二区视频免费观看| 日日夜夜精品免费视频| 91精品国产色综合久久不卡电影 | 精品理论电影在线| 亚洲成人精品一区二区| 久久久久久久电影| 国产不卡免费视频| 中文无字幕一区二区三区 | 在线观看视频一区二区| 亚洲最色的网站| 在线播放国产精品二区一二区四区| 欧美tickle裸体挠脚心vk| 激情综合色播激情啊| 精品国产一区二区三区久久影院| 亚洲视频免费看| 欧美午夜电影在线播放| 午夜久久久久久久久久一区二区| 国产91丝袜在线观看| 亚洲欧洲精品一区二区精品久久久 | 欧美日韩国产天堂| 久久成人免费网站| 欧美国产日韩精品免费观看| 在线观看国产精品网站| 日韩av中文在线观看| 国产三级精品三级| 色婷婷av一区二区三区软件 | 亚洲欧洲精品一区二区三区| 欧洲精品中文字幕| 久热成人在线视频| 国产精品美女久久久久久| 欧美美女喷水视频| 国产在线看一区| 亚洲综合视频在线| www成人在线观看| 91福利在线看| 国产盗摄一区二区三区| 亚洲图片欧美色图| 久久久久久久综合色一本| 在线一区二区观看| 国产999精品久久| 日本不卡一二三| 亚洲天堂av老司机| 久久精品亚洲一区二区三区浴池| 九九国产精品视频| 亚洲精品久久嫩草网站秘色| 欧美精品一区二区三区四区 | 久久久亚洲精品石原莉奈| 91在线观看成人| 国产一区二区三区高清播放| 亚洲h精品动漫在线观看| 亚洲丝袜自拍清纯另类| 久久青草国产手机看片福利盒子| 国产精品自拍av| 日韩av电影天堂| 亚洲人成网站精品片在线观看 | 精品在线播放午夜| 亚洲一区二区三区四区在线观看 | 日韩av电影一区| 韩国av一区二区三区四区| 午夜精品aaa| 亚洲国产成人tv| 亚洲一区视频在线| 亚洲乱码精品一二三四区日韩在线| 成人精品gif动图一区| 久久国产乱子精品免费女| 日韩精品欧美精品| 亚洲成人av一区| 亚洲精品高清视频在线观看| 中文子幕无线码一区tr| 久久久亚洲欧洲日产国码αv| 国产精品1024| 国产激情偷乱视频一区二区三区| 亚洲国产高清aⅴ视频| 久久亚洲一区二区三区四区| 精品国产自在久精品国产| 日韩一区二区高清| 日韩精品中文字幕在线不卡尤物| 国产精品91一区二区| 国产精品中文字幕日韩精品| 精品一区二区三区蜜桃| 国产乱码精品1区2区3区| 韩国精品在线观看| 国产成a人亚洲精| 成人av免费在线观看| 99re在线精品| 欧美体内she精视频| 欧美性生活久久| 欧美高清视频www夜色资源网| 久久成人久久鬼色| 国产一区二区久久| 国产成人亚洲精品青草天美| 国产成人午夜视频| 成年人国产精品| 日本高清不卡视频| 欧美精品电影在线播放| 精品蜜桃在线看| 国产精品青草综合久久久久99| 欧美日本韩国一区| 欧美精品一区二区三区久久久 | 中文字幕亚洲区| 国产精品麻豆久久久| 亚洲激情图片qvod| 日韩国产在线一| 国产高清精品网站| 97se亚洲国产综合在线| 欧美电影在哪看比较好| 久久久久久久久久久久久久久99 | 欧美日韩一级片在线观看| 69久久99精品久久久久婷婷| 久久久三级国产网站| 亚洲天堂免费在线观看视频| 日韩国产在线一| youjizz久久| 制服丝袜中文字幕亚洲| 国产欧美一区二区在线| 午夜精品久久久久久久久久 | 色天天综合久久久久综合片| 在线亚洲一区二区| 久久先锋影音av| 亚洲精品日韩综合观看成人91| 国产精品午夜春色av| 亚洲成av人片观看| 成人午夜激情在线| 在线播放中文字幕一区| 最新中文字幕一区二区三区| 日本vs亚洲vs韩国一区三区二区| 亚洲一区二区视频在线观看| 美女久久久精品| 在线中文字幕一区二区| 精品国产精品网麻豆系列| 一区二区三区精品视频在线| 国产精品综合网| 日韩精品影音先锋| 一个色综合av| 99久久精品国产导航| 日韩欧美成人一区| 亚洲成在线观看| 91浏览器在线视频| 中文成人综合网| 国产高清一区日本| 精品三级在线观看| 日韩国产在线观看| 欧美日韩视频第一区| 成人欧美一区二区三区黑人麻豆 | 中文字幕佐山爱一区二区免费| 日韩一区日韩二区| 国产精品夜夜爽| 亚洲精品一区二区三区福利| 午夜伊人狠狠久久| 色狠狠一区二区| 成人欧美一区二区三区1314| 国产乱码精品一区二区三区忘忧草| 波多野结衣中文一区| 久久综合九色综合久久久精品综合| 26uuu精品一区二区| 日韩精品成人一区二区三区| 欧美熟乱第一页| 亚洲va欧美va国产va天堂影院| 国产一区二区伦理| 国产亚洲精品bt天堂精选| 久热成人在线视频| xvideos.蜜桃一区二区|