亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
一区二区三区在线视频观看| 欧美精品一二三| 精品一区中文字幕| 一区二区三区四区五区视频在线观看 | 午夜视频一区二区| 国产精品久久久久久福利一牛影视 | 成人免费在线播放视频| 久久久久久日产精品| 日韩欧美在线网站| 欧美精品久久天天躁| 在线免费视频一区二区| 色综合久久88色综合天天6| 国产伦精品一区二区三区视频青涩| 亚洲一区二区成人在线观看| 亚洲精品伦理在线| 一区二区三区中文字幕精品精品| 国产精品久久久久国产精品日日| 久久综合狠狠综合久久综合88 | 欧美一区二区日韩| gogo大胆日本视频一区| 99精品国产91久久久久久| 成人h版在线观看| 99久久久无码国产精品| 99久久99久久精品国产片果冻| 成人av在线播放网址| 不卡av电影在线播放| 色偷偷一区二区三区| 日本韩国欧美一区| 91精品国产免费| 欧美日韩一区不卡| 91精品国产高清一区二区三区| 9191久久久久久久久久久| 欧美另类videos死尸| 欧美电影免费观看高清完整版在线 | 精品视频1区2区| 色综合av在线| 欧美日本乱大交xxxxx| 91精品综合久久久久久| 精品美女在线观看| 4438x亚洲最大成人网| 精品国产乱码久久久久久老虎| 精品av综合导航| 成人免费一区二区三区视频 | 99re8在线精品视频免费播放| 欧洲色大大久久| 亚洲精品一区二区三区精华液 | 日韩精品一区二区三区视频播放| 久久亚洲一级片| 亚洲日穴在线视频| 麻豆一区二区99久久久久| 成人性生交大合| 5566中文字幕一区二区电影 | 欧美怡红院视频| 亚洲精品在线三区| 1区2区3区欧美| 青娱乐精品视频| 91麻豆.com| 亚洲精品一区二区三区蜜桃下载| 亚洲天堂av一区| 经典三级一区二区| 欧美在线不卡视频| 国产精品婷婷午夜在线观看| 亚洲成人精品在线观看| 粉嫩av一区二区三区在线播放| 欧美福利视频一区| 国产精品视频免费| 蜜臀久久99精品久久久久宅男| 99久久精品99国产精品 | 国产日韩影视精品| 亚洲精品乱码久久久久久| 精品中文av资源站在线观看| 欧美综合亚洲图片综合区| 久久久另类综合| 日韩国产欧美在线观看| 色婷婷激情一区二区三区| 国产日韩在线不卡| 精品一区二区在线免费观看| 欧美理论在线播放| 一区二区三区在线观看欧美| 日韩精品久久理论片| 在线观看亚洲成人| 亚洲欧美日韩小说| 不卡的电影网站| 一区二区三区欧美| 在线成人高清不卡| 激情五月婷婷综合| 国产日韩欧美在线一区| 成人动漫在线一区| 亚洲精品中文在线| 欧美高清性hdvideosex| 另类小说图片综合网| 久久精品一区四区| 91在线小视频| 五月激情综合色| 亚洲精品一线二线三线| www.综合网.com| 亚洲国产成人av好男人在线观看| 欧美一区二区三区啪啪| 国产麻豆精品95视频| 国产精品国产三级国产三级人妇| 色先锋资源久久综合| 裸体健美xxxx欧美裸体表演| 久久久99久久精品欧美| 色爱区综合激月婷婷| 日韩av在线发布| 国产欧美精品一区| 欧美日韩精品系列| 国产一区二区在线观看免费| 亚洲欧美一区二区久久| 5858s免费视频成人| 丰满少妇在线播放bd日韩电影| 亚洲乱码中文字幕综合| 精品美女一区二区三区| 在线国产电影不卡| 国产乱码精品一区二区三区五月婷| 国产精品成人免费精品自在线观看 | 91国产成人在线| 国产一区日韩二区欧美三区| 一区二区三区四区精品在线视频| 欧美一级欧美三级在线观看| 99这里都是精品| 国产综合色精品一区二区三区| 一区二区三区四区高清精品免费观看 | 777久久久精品| 粉嫩av亚洲一区二区图片| 五月激情综合网| 亚洲伦在线观看| 国产三级欧美三级日产三级99| 欧美年轻男男videosbes| 成人免费观看视频| 久久成人18免费观看| 中文字幕五月欧美| 久久一留热品黄| 日韩手机在线导航| 欧美日韩高清一区| 99re视频精品| 成人激情免费网站| 国产成人av自拍| 国产在线精品国自产拍免费| 免费观看成人av| 婷婷丁香久久五月婷婷| 亚洲精品中文在线观看| 亚洲视频在线观看三级| 国产婷婷色一区二区三区| 精品久久久三级丝袜| 日韩三级在线免费观看| 欧美日韩二区三区| 欧美日韩成人高清| 欧美日韩国产综合视频在线观看| 在线观看国产91| 欧美日韩视频不卡| 欧美精选在线播放| 欧美卡1卡2卡| 日韩欧美电影一区| xnxx国产精品| 国产日韩欧美制服另类| 国产女人水真多18毛片18精品视频 | 亚洲香肠在线观看| 亚洲国产中文字幕| 日韩精品一二三四| 极品少妇一区二区三区精品视频| 狠狠色综合日日| 福利一区二区在线| 99国产欧美另类久久久精品| 在线欧美小视频| 91.com视频| 久久久欧美精品sm网站| 国产精品久久久久久久蜜臀| 亚洲色图在线看| 亚洲一区二区三区美女| 男女男精品网站| 极品少妇一区二区三区精品视频| 国产iv一区二区三区| 99re热这里只有精品免费视频| 91成人免费在线| 欧美一级高清片| 国产精品久久看| 亚洲综合色成人| 狠狠色综合色综合网络| 不卡视频一二三四| 精品视频在线免费观看| 亚洲精品一区二区三区香蕉| 日韩毛片高清在线播放| 午夜精品123| 国产不卡视频在线播放| 欧美在线观看一二区| 欧美r级电影在线观看| 中文字幕日韩av资源站| 日韩成人一区二区三区在线观看| 国产一区二区三区视频在线播放| 91丨porny丨户外露出| 日韩欧美视频在线| 亚洲欧美色一区| 国产一区二区三区久久悠悠色av| 色综合色综合色综合色综合色综合 | 日韩高清不卡在线| 99久久久国产精品免费蜜臀| 91精品国产高清一区二区三区| 中文字幕一区二区三区在线播放| 日韩精品免费视频人成|