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

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

?? wtmpeg4ch.c

?? motorola MCF5249+IME6400的視頻采集系統的視頻驅動程序,可實時采集4路CIF視頻
?? C
?? 第 1 頁 / 共 2 頁
字號:
//************************************************************************************************//*                                                                                                                 *//*  IME6400 Video Caputure Card General Purpose Bus driver                      *//*                                                                                                                 *//*  Copyright (C) 2003 LiaoRongtao <rtliao@wtwh.com.cn>                           *//*                                                                                                                 *//*  Operation System:uClinux (Kernel V2.4)                                                  *//*  Last Update Date:2004/03/04                                                                *//*  Description:                                                                                             *//*       1.In all of the program I havn't take the big- or little-                             *//*         endian problem into account.Because I now don't know the trait        *//*         of the  driver.    (Now this problem has been fixed)                            *//*       2.IIC initial:                                                                                         *//*       3.This driver now can just work under default parameters for               *//*         testing.So the IOCTL_INIPARM will be modified later. (This               *//*         task has been moved to user program)                                             *//*       4.Registers accessing:Direct  memory access through the true            *//*         address.                                                                                          *//***********************************************************************************************//*   define _MCF5249_  : using mcf5249 board//*   define _ENDIANTRANS_: need ENDIAN TRANS//*//*//*//*//*******************************************************************************************#include <linux/config.h>#ifndef __KERNEL__#  define __KERNEL__#endif#ifdef   MODULE#include <linux/version.h>#include <linux/module.h>#endif#include <linux/kernel.h>#include <linux/types.h>#include <linux/sched.h>#include <linux/mm.h>#include <linux/slab.h>   /* kmalloc() */#include <linux/string.h>#include <linux/errno.h>#include <asm/uaccess.h>#include <asm/io.h>#include <asm/system.h>#include <asm/delay.h>#include <linux/kmod.h>#include <linux/fs.h>#include <linux/ioctl.h>#include <linux/wait.h>#include <linux/sched.h>#include <linux/init.h>/* *	Read will do some smarts later on. Buffer pin etc. *///********************************************//**********        for multiDesign                     *****//**  _AP5200_  for  the board use ap5200//**  _MCF5249_  for the core board mcf5249//**  _ENDIANTRANS_ for the board ime6400 need tranverse//**  _HHETH_ for _HHETH_ board (gpio)#ifndef _MCF5249_#define _MCF5249_#endif//#ifndef _ENDIANTRANS_//#define _ENDIANTRANS_//#endif#undef  _ENDIANTRANS_//#define _HHETH_//#define DEBUG 1#undef DEBUG//***************************************************************#ifdef DEBUG#define PDEBUG(fmt, args...) printk("KDEBUG: "fmt, ##args)#else#define PDEBUG(fmt, args...)	#endif#define DEVICEMAJOR 254//DATA TYPE DEFINE#define DWORD volatile  unsigned long#define BYTE  volatile  unsigned char#define WORD volatile unsigned short//////////////////////////////////////////////////////#ifdef  _MCF5249_//*****mcf5249********************** //Define base address#define IME_MBAR 0x30000000#define MCF_MBAR 0x10000000#define MCF_MBAR2 0x80000000//Register define#define BaseAddress0 (0x12<<1)#define BaseAddress1 (0x14<<1)#define Status (0x1e<<1)#define Data (0x02<<1)#define Command 0x00#define User0 (0x04<<1)#define User4 (0x0c<<1)#define User3 (0x0a<<1)#define EncodedStream (0x10<<1)#ifdef _HHETH_#define IrqID  161#else#define IrqID  162#endifstatic int ta_wait = 3;#ifdef MODULEMODULE_PARM (ta_wait, "i");MODULE_PARM_DESC (ta_wait, "clocks to insert before internal /TA!!!");#endif#define WAITLENTH(x) ((x<<10)|0x0180)//function#define MCFWriteReg(dIndex, dValue) M5272WriteReg(dIndex, dValue)#define MCFReadReg(dIndex) M5272ReadReg(dIndex)#define MCFReadMem(dAddr) M5272ReadMem(dAddr)//interrupt level set: origin -original value; x - level ; y - station#define   INTLEVEL_SET(origin,x,y) (origin&~(0x0000000f<<4*y)|(x<<4*y))// Chip Select registers (in MBA)#define MCFSIM_CSAR0		0x80		/* CS 0 Address 0 reg (r/w) */#define MCFSIM_CSMR0		0x84		/* CS 0 Mask 0 reg (r/w) */#define MCFSIM_CSCR0		0x8a		/* CS 0 Control reg (r/w) */#define MCFSIM_CSAR1		0x8c		/* CS 1 Address reg (r/w) */#define MCFSIM_CSMR1		0x90		/* CS 1 Mask reg (r/w) */#define MCFSIM_CSCR1		0x96		/* CS 1 Control reg (r/w) *//* *	General purpose IO registers (in MBAR2). */#define	MCFSIM2_GPIOREAD	0x0		/* GPIO read values */#define	MCFSIM2_GPIOWRITE	0x4		/* GPIO write values */#define	MCFSIM2_GPIOENABLE	0x8		/* GPIO enabled */#define	MCFSIM2_GPIOFUNC	0xc		/* GPIO function */#define	MCFSIM2_GPIO1READ	0xb0		/* GPIO1 read values */#define	MCFSIM2_GPIO1WRITE	0xb4		/* GPIO1 write values */#define	MCFSIM2_GPIO1ENABLE	0xb8		/* GPIO1 enabled */#define	MCFSIM2_GPIO1FUNC	0xbc		/* GPIO1 function */#define	MCFSIM2_GPIOINTSTAT	0xc0		/* GPIO interrupt status */#define	MCFSIM2_GPIOINTCLEAR	0xc0		/* GPIO interrupt clear */#define	MCFSIM2_GPIOINTENABLE	0xc4		/* GPIO interrupt enable */#define	MCFSIM2_INTLEVEL1	0x140		/* Interrupt level reg 1 */#define	MCFSIM2_INTLEVEL2	0x144		/* Interrupt level reg 2 */#define	MCFSIM2_INTLEVEL3	0x148		/* Interrupt level reg 3 */#define	MCFSIM2_INTLEVEL4	0x14c		/* Interrupt level reg 4 */#define	MCFSIM2_INTLEVEL5	0x150		/* Interrupt level reg 5 */#define	MCFSIM2_INTLEVEL6	0x154		/* Interrupt level reg 6 */#define	MCFSIM2_INTLEVEL7	0x158		/* Interrupt level reg 7 */#define	MCFSIM2_INTLEVEL8	0x15c		/* Interrupt level reg 8 */#else//*****mcf5272**********************//Define base address#define IME_MBAR 0x01000000#define MCF_MBAR 0x10000000//Register define#define BaseAddress0 0x12#define BaseAddress1 0x14#define Status 0x1e#define Data 0x02#define Command 0x00#define User0 0x04#define EncodedStream 0x10#define User4 0x0c#define User3 0x0a#define IrqID  67//fuctions#define MCFWriteReg(dIndex, dValue) M5272WriteReg(dIndex, dValue)#define MCFReadReg(dIndex) M5272ReadReg(dIndex)#define MCFReadMem(dAddr) M5272ReadMem(dAddr)#endif//#define FirmwareSize 14292DECLARE_WAIT_QUEUE_HEAD(wq);DWORD dEncode=IME_MBAR + EncodedStream;WORD wLoop=0;WORD nInt=0;#define LEAFLET 32   //8k#define BLOCK 2048  //每個隊列128個524小塊,共4個隊列#define NR_QUEUE   64  //(BLOCK/LEAFLET)unsigned char * StreamPool;  //buffer int nRd=0;int nWrt=0;int nBlock=0;#ifdef _ENDIANTRANS_WORD  Reverse16(WORD wValue){  WORD wLower8,wRet;  wLower8=wValue&0xFF;  wRet=(wLower8<<8)|(wValue>>8);  return wRet;}#else#define Reverse16(wValue) wValue#endifvoid M5272WriteReg(DWORD dIndex,DWORD dValue){  DWORD dRegAddr;  dRegAddr=MCF_MBAR + dIndex;  *((DWORD *)dRegAddr)=dValue;   //printf("WriteReg:write register %x successful!\n",dIndex);  return;}DWORD M5272ReadReg(DWORD dIndex){  DWORD dRegAddr;  DWORD dwRet;  dRegAddr=MCF_MBAR + dIndex;  dwRet=*((DWORD *)dRegAddr); return dwRet;}DWORD M5272ReadMem(DWORD dAddr){    DWORD dwRet;   dwRet=*((DWORD *)dAddr);    return dwRet;}void I6400WriteReg(DWORD dIndex,WORD wValue){  DWORD dRegAddr=IME_MBAR + dIndex;  *((WORD *)dRegAddr)=Reverse16(wValue);//Byte sequence change to little-endian  return;}WORD I6400ReadReg(DWORD dIndex){  WORD wValue;  DWORD dRegAddr=IME_MBAR + dIndex;  wValue=*((WORD *)dRegAddr);  return Reverse16(wValue);//Byte sequence change to big-endian}WORD I6400ReadMem(DWORD dAddr){  WORD wRet;  WORD wUpper16,wLower16;  wUpper16=dAddr>>16;  wLower16=dAddr&0xFFFF;  I6400WriteReg(BaseAddress1,wUpper16);  I6400WriteReg(BaseAddress0,wLower16);  I6400WriteReg(Command,0x00);  while((I6400ReadReg(Status)&0x0001)==0);  wRet=I6400ReadReg(Data);  return wRet;}void I6400WriteMem(DWORD dAddr,WORD wValue){  WORD wUpper16,wLower16;  wUpper16=dAddr>>16;  wLower16=dAddr&0xFFFF;  I6400WriteReg(BaseAddress1,wUpper16);  I6400WriteReg(BaseAddress0,wLower16);  I6400WriteReg(Data,wValue);  I6400WriteReg(Command,0x01);  while((I6400ReadReg(Status)&0x0001)==0);   //printf("Write IME6400 Address %x successfully\n",dAddr);  return;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩天堂在线观看| 免费观看一级特黄欧美大片| 亚洲福中文字幕伊人影院| 久久99蜜桃精品| 色哟哟一区二区| 国产日韩欧美精品在线| 日韩中文字幕亚洲一区二区va在线| 懂色av一区二区三区蜜臀| 欧美精品免费视频| 亚洲欧美一区二区三区国产精品| 国产一区二区女| 日韩一区二区电影网| 一区二区三区精品视频| 丁香激情综合五月| 2020国产成人综合网| 日韩国产欧美三级| 欧美日韩免费一区二区三区视频| 国产精品萝li| 丰满白嫩尤物一区二区| 91电影在线观看| 精品久久久久一区二区国产| 亚洲一区二区欧美| 一本一本大道香蕉久在线精品| 久久久五月婷婷| 极品瑜伽女神91| 精品日韩一区二区三区| 看电视剧不卡顿的网站| 欧美一级午夜免费电影| 日韩av一级片| 欧美一级片免费看| 日本午夜精品一区二区三区电影| 欧美性极品少妇| 午夜亚洲国产au精品一区二区| 色美美综合视频| 一区二区三区在线视频观看58| 成人av动漫在线| 中文字幕亚洲一区二区av在线| 成人综合婷婷国产精品久久免费| 国产日产欧美一区二区三区| 处破女av一区二区| 亚洲欧洲av在线| 94-欧美-setu| 一区二区三区精品久久久| 欧美视频在线观看一区二区| 丝瓜av网站精品一区二区| 日韩欧美一区在线观看| 久久精品国产精品青草| 国产午夜精品美女毛片视频| 成人午夜碰碰视频| 亚洲综合在线电影| 欧美一区二区三级| 国产高清亚洲一区| 亚洲精品成人精品456| 欧美日韩精品福利| 老司机精品视频导航| 国产人妖乱国产精品人妖| www.欧美精品一二区| 亚洲综合精品久久| 日韩免费性生活视频播放| 国产高清视频一区| 亚洲国产美国国产综合一区二区 | 亚洲成人黄色小说| 欧美成人一级视频| 91亚洲精品久久久蜜桃| 亚洲成人免费电影| 欧美国产成人精品| 欧美精品xxxxbbbb| 成人av资源下载| 视频一区在线播放| 久久免费精品国产久精品久久久久 | 丁香天五香天堂综合| 夜夜揉揉日日人人青青一国产精品| 欧美日韩国产天堂| 国产91清纯白嫩初高中在线观看 | 国产精品久线在线观看| 欧美日韩一区二区三区在线看| 久久国产精品色| 亚洲美女屁股眼交3| 欧美精品一区视频| 欧美天堂一区二区三区| 国产福利91精品| 亚洲第一主播视频| 亚洲视频免费看| 久久免费的精品国产v∧| 欧美日韩国产另类一区| 99re热这里只有精品免费视频| 裸体歌舞表演一区二区| 亚洲综合视频在线观看| 国产日韩欧美激情| 欧美变态tickling挠脚心| 欧美亚洲综合色| av在线不卡电影| 国产精品18久久久久| 三级欧美在线一区| 一级日本不卡的影视| 亚洲欧洲在线观看av| 久久久久久久电影| 精品国产一区二区三区久久影院| 欧美日韩二区三区| 欧洲一区在线电影| 91亚洲国产成人精品一区二区三| 久久国产精品99久久久久久老狼| 亚洲第一在线综合网站| 樱花影视一区二区| 中文字幕字幕中文在线中不卡视频| 精品久久国产老人久久综合| 555夜色666亚洲国产免| 在线精品亚洲一区二区不卡| 91色porny蝌蚪| 99视频一区二区| 99久久久无码国产精品| 成人高清av在线| 91在线视频免费91| 色婷婷久久久久swag精品| 91小视频在线观看| 91欧美一区二区| 色狠狠av一区二区三区| 在线观看一区二区视频| 欧美性猛片xxxx免费看久爱| 欧美熟乱第一页| 欧美日本国产一区| 日韩亚洲欧美在线观看| 精品久久久久香蕉网| 国产日韩欧美在线一区| 国产精品成人一区二区艾草| 亚洲人成人一区二区在线观看| 亚洲女同一区二区| 午夜影视日本亚洲欧洲精品| 日本aⅴ免费视频一区二区三区| 蜜桃久久久久久久| 国产乱码精品一区二区三| 不卡av电影在线播放| 在线观看一区日韩| 欧美第一区第二区| 国产视频一区二区在线观看| 亚洲欧美偷拍卡通变态| 亚洲国产日韩av| 精品一区二区三区影院在线午夜 | 欧美日韩黄色一区二区| 26uuu国产日韩综合| 国产精品午夜久久| 香蕉乱码成人久久天堂爱免费| 美女国产一区二区三区| 成人一区在线看| 在线视频国产一区| 欧美成人官网二区| 亚洲人一二三区| 老司机免费视频一区二区| 波多野结衣中文字幕一区| 欧美日韩一区二区三区高清| 2024国产精品视频| 亚洲自拍偷拍欧美| 国产高清久久久久| 欧美日韩国产综合久久| 中文一区在线播放| 亚洲v中文字幕| 成人福利在线看| 日韩视频免费观看高清完整版在线观看| 久久精品亚洲一区二区三区浴池| 亚洲精品成人在线| 丰满亚洲少妇av| 日韩一区二区三| 亚洲自拍偷拍综合| 成人av片在线观看| 精品88久久久久88久久久| 亚洲精品美腿丝袜| 丁香五精品蜜臀久久久久99网站| 欧美精品一卡两卡| 亚洲视频精选在线| 国产iv一区二区三区| 欧美一级片在线| 亚洲国产成人porn| 色综合天天综合网国产成人综合天 | 精品视频一区二区三区免费| 久久久夜色精品亚洲| 日韩精品一级二级 | www.av亚洲| 久久亚洲精品国产精品紫薇| 亚洲狠狠爱一区二区三区| caoporn国产精品| 久久色成人在线| 精品亚洲成a人| 日韩一区二区免费在线电影| 亚洲国产视频a| 色网综合在线观看| 国产精品嫩草久久久久| 国产盗摄一区二区| 久久影音资源网| 久久91精品久久久久久秒播| 欧美影院一区二区| 亚洲自拍偷拍欧美| 欧美网站一区二区| 亚洲综合色丁香婷婷六月图片| av在线不卡观看免费观看| 亚洲国产成人午夜在线一区| 国产成人综合在线| 久久久久久久久久久99999| 国产一区福利在线| 国产片一区二区| av一区二区三区在线|