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

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

?? uda1341ts.c

?? vxworks for S3c2410 bsp
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include "vxWorks.h"
#include "iv.h"
#include "stdlib.h"
#include "sysLib.h"
#include "intLib.h"
#include "errno.h"
#include "ioLib.h"
#include "stdio.h"
#include "logLib.h"
#include "wrSbcArm9.h"


#include "UDA1341TS.h"

#ifndef BSP_44B0_LITTLE_ENDIAN
#define BSP_44B0_LITTLE_ENDIAN
#endif

#undef _TEST_CODEC_DMA_

#define IIS_RECORD 1
#define IIS_PLAY   0

#define U32 unsigned int

#define L3BUS_MODE_CFG 		(0x56000020)
#define L3BUS_CLK_CFG		(0x56000020)
#define L3BUS_DATA_CFG 		(0x56000030)

#define L3BUS_MODE_DATA 		(0x56000024)
#define L3BUS_CLK_DATA		(0x56000024)
#define L3BUS_DATA_DATA 		(0x56000034)

#define L3BUS_MODE_PLUP			(0x56000028)
#define L3BUS_DATA_PLUP			(0x56000038)


#define rL3CFG_MODE		(*(volatile unsigned *)0x56000020)
#define rL3CFG_CLK		(*(volatile unsigned *)0x56000020)
#define rL3CFG_DATA		(*(volatile unsigned *)0x56000030)

#define rL3DATA_MODE		(*(volatile unsigned *)0x56000024)
#define rL3DATA_CLK		(*(volatile unsigned *)0x56000024)
#define rL3DATA_DATA		(*(volatile unsigned *)0x56000034)

#define rL3_MODE_PLUP			(*(volatile unsigned *)0x56000028)
#define rL3_DATA_PLUP			(*(volatile unsigned *)0x56000038)


#define L3MODE_CLR  0xfffcffff
#define L3MODE_OUT	0x00010000

#define L3CLK_CLR	0xcfffffff
#define L3CLK_OUT	0x10000000

#define L3DATA_CLR	0xffffffcf
#define L3DATA_OUT	0x00000010
#define L3DATA_IN   0x00000000

#define L3MODE_LOW  0xfeff
#define L3MODE_HIGH 0x0100

#define L3CLK_LOW   0xbfff
#define L3CLK_HIGH  0x4000

#define L3DATA_LOW  0xfffb
#define L3DATA_HIGH 0x0004


#define UDA1314_IISCON						(0x55000000)
#define UDA1314_IISMOD						(0x55000004)
#define UDA1314_IISPSR						(0x55000008)
#define UDA1314_IISFCON					(0x5500000c)
#ifdef BSP_44B0_LITTLE_ENDIAN
#define UDA1314_IISFIFO					(0x55000010)
#else
#define UDA1314_IISFIFO					(0x55000012)
#endif

#define rIIS_GPEC			(*(volatile unsigned *)0x55000040)
#define rIIS_GPED			(*(volatile unsigned *)0x55000044)
#define rIIS_GPEU			(*(volatile unsigned *)0x55000048)

#define rIIS_CONFREG		(*(volatile unsigned *)0x55000000)
#define rIIS_MODREG	(*(volatile unsigned *)0x55000004)
#define rIIS_PSRREG		(*(volatile unsigned *)0x55000008)
#define rIIS_FCONREG	(*(volatile unsigned *)0x5500000c)

#ifdef BSP_44B0_LITTLE_ENDIAN
#define rIIS_FIFREG		(*(volatile unsigned short *)0x55000010)
#else 
#define rIIS_FIFREG		(*(volatile unsigned short *)0x55000012)
#endif

#ifdef BSP_44B0_LITTLE_ENDIAN
#define IIS_FIFREG		((volatile unsigned short *)0x55000010)
#else 
#define IIS_FIFREG		((volatile unsigned short *)0x55000012)
#endif


#define IIS_INTER_ENABLE		(0x001)
#define IIS_PRES_ENABLE			(0x002)
#define IIS_TR_LRCLK_GEN			(0x1f7)
#define IIS_RC_LRCLK_GEN		(0x1fb)
#define IIS_TR_DMA_ENABLE		(0x020)
#define IIS_RC_DMA_ENABLE		(0x010)

#define IIS_INTER_DISABLE		(0x1fe)
#define IIS_PRES_DISABLE		(0x1fd)
#define IIS_TR_LRCLK_NGEN		(0x008)
#define IIS_RC_LRCLK_NGEN		(0x004)
#define IIS_TR_DMA_DISABLE		(0x1ef)
#define IIS_RC_DMA_DISABLE		(0x1df)

#define IIS_CLK_CLR				(0x1fc)
#define IIS_CLK_16				(0x1fc)
#define IIS_CLK_32				(0x001)
#define IIS_CLK_48				(0x002)

#define IIS_MCLK_256			(0x1fb)
#define IIS_MCLK_384			(0x004)
#define IIS_SDB_8				(0x1f7)
#define IIS_SDB_16				(0x008)

#define IIS_LOW_LEFT			(0x1df)
#define IIS_HIGH_LEFT			(0x020)

#define IIS_TR_MODE_CLR			(0x13f)
#define IIS_NTR_MODE			(0x13f)
#define IIS_RECV_MODE			(0x040)
#define IIS_TR_MODE 			(0x080)
#define IIS_TR_RECV_MODE		(0x0c0)

#define IIS_MASTER_MODE			(0x0ff)
#define IIS_SLAVE_MODE			(0x100)

#define IIS_TR_FIFO_EN			(0x2000)
#define IIS_TR_FIFO_DIS			(0xdfff)
#define IIS_RC_FIFO_EN			(0x1000)
#define IIS_RC_FIFO_DIS			(0xefff)
#define IIS_TR_FIFO_NOR_MODE	(0x7fff)
#define IIS_TR_FIFO_DMA_MODE	(0x8000)
#define IIS_RC_FIFO_NOR_MODE	(0xbfff)
#define IIS_RC_FIFO_DMA_MODE	(0x4000)


#define rIIS_DISRC1		(*(volatile unsigned *)0x4b000040)
#define rIIS_DISRCC1	(*(volatile unsigned *)0x4b000044)
#define rIIS_DIDST1		(*(volatile unsigned *)0x4b000048)
#define rIIS_DIDSTC1	(*(volatile unsigned *)0x4b00004c)
#define rIIS_DCON1		(*(volatile unsigned *)0x4b000050)
#define rIIS_DSTAT1		(*(volatile unsigned *)0x4b000054)
#define rIIS_DCSRC1		(*(volatile unsigned *)0x4b000058)
#define rIIS_DCDST1		(*(volatile unsigned *)0x4b00005c)
#define rIIS_DMASKTRIG1	(*(volatile unsigned *)0x4b000060)

#define rIIS_DISRC2		(*(volatile unsigned *)0x4b000080)
#define rIIS_DISRCC2	(*(volatile unsigned *)0x4b000084)
#define rIIS_DIDST2		(*(volatile unsigned *)0x4b000088)
#define rIIS_DIDSTC2	(*(volatile unsigned *)0x4b00008c)
#define rIIS_DCON2		(*(volatile unsigned *)0x4b000090)
#define rIIS_DSTAT2		(*(volatile unsigned *)0x4b000094)
#define rIIS_DCSRC2		(*(volatile unsigned *)0x4b000098)
#define rIIS_DCDST2		(*(volatile unsigned *)0x4b00009c)
#define rIIS_DMASKTRIG2	(*(volatile unsigned *)0x4b0000a0)




typedef struct tagIISDeviceST
{
	int recvCount;
	int sndCount;
	int iisTaskId;
	int semCount;
}IIS_DEVICE_ST;

IIS_DEVICE_ST gIISDevice;

void UDA1341Delay(char count)
{
	int i=1000;
	int n;

	for(n=0;n<count;n++)
	{
		i--;
	}

}

#if 1
void L3busInit();
void IISbusInit();
void Uda1341Init(char mode);
void Uda1341SndData();
void Uda1341RecvData();
void L3busAddrTran(char addrVal);
void L3busDataTran(char dataVal , int halt);
void IISDmaInit();
void Uda1341DmaSndData();
void Uda1341DmaRecvData();
void IISDmaRecvIntProc(IIS_DEVICE_ST *iisDev);
void IISDmaSndIntProc(IIS_DEVICE_ST *iisDev);
int LoadFiletoAddr(char *pFileName, char *pAddr);

#endif

char dmaRecvBuf[10][1024];
char dmaSndBuf[1024];

void IISTaskProc()
{
	int i=0;
	int j=0;

	while(1)
	{

		if(gIISDevice.semCount>0)
		{
	
			printf("\r\nr%ds%d" ,gIISDevice.recvCount,gIISDevice.sndCount);
			#if 0
			if(gIISDevice.bufCount == 0)
			{
				for(i=0 ; i<2 ;i++)
				{
					printf("\r\n");
					for(j=0;j<10;j++)
					{
						printf("%02x ",dmaRecvBuf[9][i*10+j]);
					}
				}
				printf("\r\n");
			}
			else
			{
				for(i=0 ; i<2 ;i++)
				{
					printf("\r\n");
					for(j=0;j<10;j++)
					{
						printf("%02x ",dmaRecvBuf[gIISDevice.bufCount-1][i*10+j]);
					}
				}
				printf("\r\n");

			}
			#endif
			gIISDevice.semCount--;
		}

	}
	
	
}

void CodecModInit()
{
	gIISDevice.recvCount= 0;
	gIISDevice.sndCount =5;
	gIISDevice.semCount = 0;

/*
	if (usrTffsConfig (0, 0, "/tffs0/vxworks") == ERROR)
	{
        printf ("usrTffsConfig failed.\n");
		return;
	}
	else
		ioDefPathSet("/tffs0/");
	*/
	
	L3busInit();
	IISbusInit();
	Uda1341Init(IIS_RECORD);
	IISDmaInit();

#ifdef _TEST_CODEC_DMA_

	gIISDevice.iisTaskId =taskSpawn("iisTask" , 120 , 0 , 0x4000,
			(FUNCPTR) IISTaskProc, 0, 0, 0, 0, 0, 0, 
						   0, 0, 0, 0);

	if(gIISDevice.iisTaskId <= 0)
	{
			logMsg("\r\n Start iis task failure\n" , 0 , 0,0,0,0,0);
			return;
	}
#endif
	
	logMsg("\r\n CodecModInit\n" , 0 , 0,0,0,0,0);

}


void L3busInit()
{
	rL3CFG_MODE &= L3MODE_CLR;
	rL3CFG_MODE |= L3MODE_OUT;	

	rL3CFG_CLK &= L3CLK_CLR;
	rL3CFG_CLK |= L3CLK_OUT;
	
	rL3CFG_DATA &=L3DATA_CLR;
	rL3CFG_DATA |= L3DATA_OUT;

	rL3DATA_MODE |= L3MODE_HIGH;
	rL3DATA_CLK |= L3CLK_HIGH;

	rL3_MODE_PLUP |= 0x0100;
	rL3_MODE_PLUP |= 0x4000;
	rL3_DATA_PLUP |= 0x0004;

}

void IISbusInit()
{
	rIIS_GPEC &= 0xfffffc00;
	rIIS_GPEC |= 0x000002aa;

	rIIS_GPEU |= 0x1f;
	rIIS_CONFREG |=IIS_PRES_ENABLE;
	rIIS_CONFREG &=IIS_INTER_DISABLE;
	
	rIIS_CONFREG &=IIS_TR_LRCLK_GEN&IIS_RC_LRCLK_GEN;

	rIIS_CONFREG &= IIS_TR_DMA_DISABLE &IIS_RC_DMA_DISABLE;

	rIIS_MODREG &=IIS_CLK_CLR&IIS_TR_MODE_CLR&IIS_MCLK_256&IIS_LOW_LEFT\
				&IIS_MASTER_MODE;
	rIIS_MODREG |=IIS_CLK_32|IIS_SDB_16|IIS_TR_MODE;
	

	rIIS_PSRREG = (0x17<<5) +0x17;	 

	rIIS_FCONREG &=IIS_TR_FIFO_NOR_MODE&IIS_RC_FIFO_NOR_MODE;
	rIIS_FCONREG &=IIS_TR_FIFO_DIS|IIS_RC_FIFO_DIS;	

}


void Uda1341Init(char mode)
{
	rL3DATA_MODE |= L3MODE_HIGH;
	rL3DATA_CLK |= L3CLK_HIGH;
	rL3DATA_DATA &= L3DATA_LOW;
	
	L3busAddrTran(0x14+2);
	L3busDataTran(0x60 , 0);

	L3busAddrTran(0x14+2);
	L3busDataTran(0x20 , 0);

	L3busAddrTran(0x14+2);
	L3busDataTran(0x83 , 0);


}






void L3busAddrTran(char addrVal)
{
	int i = 0;
	
	rL3DATA_MODE &= L3MODE_LOW;
	rL3DATA_CLK |= L3CLK_HIGH;
	rL3DATA_DATA &= L3DATA_LOW;

	UDA1341Delay(6);

	for(i =0 ; i< 8 ; i++)
	{
		if(addrVal&0x01)
		{
			rL3DATA_CLK &= L3CLK_LOW;
			rL3DATA_DATA |= L3DATA_HIGH;
			UDA1341Delay(3);
			rL3DATA_CLK |= L3CLK_HIGH;
			rL3DATA_DATA |= L3DATA_HIGH;
			UDA1341Delay(3);
		}
		else
		{
			rL3DATA_CLK &= L3CLK_LOW;
			rL3DATA_DATA &= L3DATA_LOW;
			UDA1341Delay(3);
			rL3DATA_CLK |= L3CLK_HIGH;
			rL3DATA_DATA &= L3DATA_LOW;
			UDA1341Delay(3);
		}

		 addrVal >>=1;

	}

	rL3DATA_CLK |= L3CLK_HIGH;
	rL3DATA_MODE |= L3MODE_HIGH;
	rL3DATA_DATA &= L3DATA_LOW;
	
	

}



void L3busDataTran(char dataVal , int halt)
{
	int i = 0;
	int j = 0;

	if(halt)
	{
		rL3DATA_MODE &= L3MODE_LOW;
		rL3DATA_CLK |= L3CLK_HIGH;
		rL3DATA_DATA &= L3DATA_LOW;
		UDA1341Delay(3);
	}

	rL3DATA_CLK |= L3CLK_HIGH;
	rL3DATA_MODE |= L3MODE_HIGH;
	UDA1341Delay(3);
	

	for(i =0 ; i< 8 ; i++)
	{
		if(dataVal&0x01)
		{
			rL3DATA_CLK &= L3CLK_LOW;
			rL3DATA_DATA |= L3DATA_HIGH;
			UDA1341Delay(3);
			rL3DATA_CLK |= L3CLK_HIGH;
			rL3DATA_DATA |= L3DATA_HIGH;
			UDA1341Delay(3);
		}
		else
		{
			rL3DATA_CLK &= L3CLK_LOW;
			rL3DATA_DATA &= L3DATA_LOW;
			UDA1341Delay(3);
			rL3DATA_CLK |= L3CLK_HIGH;
			rL3DATA_DATA &= L3DATA_LOW;
			UDA1341Delay(3);
		}
		
		dataVal>>=1;	

	}


	rL3DATA_CLK |= L3CLK_HIGH;
	rL3DATA_MODE |= L3MODE_HIGH;
	rL3DATA_DATA &= L3DATA_LOW;
	

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久青草欧美一区二区三区| 偷拍一区二区三区| 麻豆精品国产91久久久久久| 在线免费观看视频一区| 国产精品久久久久一区二区三区 | 亚洲一区免费观看| 色综合激情五月| 亚洲精品国产高清久久伦理二区 | 欧美日韩国产免费一区二区| 午夜伦理一区二区| 国产精品国产三级国产aⅴ无密码| 欧美丰满嫩嫩电影| 国产一区日韩二区欧美三区| 久久精品视频一区二区| 99精品黄色片免费大全| 一区二区三区电影在线播| 欧美精品18+| 91久久精品一区二区三| 蜜桃av一区二区三区电影| 亚洲综合免费观看高清完整版在线 | 国产三级一区二区| 日韩欧美电影一二三| 国产原创一区二区| 青青草成人在线观看| 久久精品亚洲精品国产欧美| 日韩欧美一级特黄在线播放| 欧美精品日韩一区| 欧美日韩小视频| 国产成人午夜精品影院观看视频| 国产精品理论片在线观看| 久久综合色综合88| 欧美图区在线视频| 国产剧情在线观看一区二区| 国产欧美日韩三区| 欧洲色大大久久| 在线观看亚洲精品视频| 色素色在线综合| 91麻豆国产自产在线观看| 麻豆高清免费国产一区| 奇米影视在线99精品| 麻豆精品一区二区三区| 视频一区欧美精品| 亚洲视频在线一区观看| 欧美成人bangbros| 日本高清不卡视频| 欧美最新大片在线看| 欧亚洲嫩模精品一区三区| 欧美在线免费观看视频| 欧美日韩一区二区三区高清| 欧美日韩高清在线播放| 91精品国产品国语在线不卡| jiyouzz国产精品久久| 久久99国产精品麻豆| 亚洲国产精品一区二区www在线| 国产亚洲午夜高清国产拍精品 | 日韩视频永久免费| 国产精品久久久久久户外露出| 欧美国产日韩亚洲一区| 日韩一区二区在线观看视频播放| 欧美一二三区在线观看| 26uuu国产电影一区二区| 欧美高清在线一区二区| 亚洲女人****多毛耸耸8| 国产日韩三级在线| 亚洲精品国产品国语在线app| 亚洲午夜精品久久久久久久久| 免费人成精品欧美精品| 国产又黄又大久久| 色婷婷综合久久久久中文 | 国产激情视频一区二区三区欧美 | 亚洲黄一区二区三区| 午夜亚洲福利老司机| 激情综合网av| 91丨porny丨最新| 91精品国产色综合久久ai换脸| 精品福利在线导航| 精品久久久久香蕉网| 中文字幕一区三区| 国产精品久久久久久久裸模 | 日日摸夜夜添夜夜添亚洲女人| 国产最新精品免费| 国内久久婷婷综合| 91浏览器入口在线观看| 日韩区在线观看| 亚洲欧洲国产日韩| 麻豆精品视频在线观看视频| av福利精品导航| 欧美成人高清电影在线| 亚洲精品日产精品乱码不卡| 久草中文综合在线| 色婷婷亚洲综合| 久久先锋影音av| 亚洲成人免费视频| 亚洲国产成人tv| 成人精品免费网站| 一本大道久久精品懂色aⅴ| 日韩欧美国产系列| 一区二区三区精品在线| 国产精品夜夜嗨| 欧美日韩成人在线| 亚洲人精品一区| 国产精品羞羞答答xxdd| 欧美一区二区在线观看| 亚洲精选在线视频| 成人精品高清在线| 在线观看免费一区| 国产精品天天看| 亚洲一区在线视频观看| 成人免费观看av| 久久婷婷综合激情| 丝袜美腿高跟呻吟高潮一区| 色婷婷香蕉在线一区二区| 国产人成亚洲第一网站在线播放| 日韩av电影天堂| 国产成人在线视频网址| 日韩欧美国产综合在线一区二区三区| 亚洲欧美日韩精品久久久久| 国产69精品久久777的优势| 91久久精品日日躁夜夜躁欧美| 国产视频一区二区三区在线观看| 免费看日韩a级影片| 欧美午夜电影网| 亚洲综合男人的天堂| 一本到不卡精品视频在线观看| 国产精品久久久久影院老司 | 亚洲第一综合色| 色婷婷综合激情| 亚洲乱码国产乱码精品精小说| 不卡高清视频专区| 欧美国产精品中文字幕| 国产精品性做久久久久久| 久久影音资源网| 国产老肥熟一区二区三区| 久久综合久久综合九色| 国内精品写真在线观看| 欧美精品一区在线观看| 精品一区免费av| 久久久久久影视| 国产99精品在线观看| 亚洲国产精品成人综合| 国产成人av电影在线播放| 欧美激情资源网| 国产精品123| 欧美韩日一区二区三区| 从欧美一区二区三区| 国产精品国产三级国产专播品爱网 | 亚洲伦理在线精品| 欧美性感一区二区三区| 午夜电影网一区| 91精品国产福利在线观看| 久久99国产精品尤物| 国产三级精品在线| 99久免费精品视频在线观看| 亚洲狼人国产精品| 欧美电影一区二区| 韩国女主播一区| 国产精品久久久久久久第一福利| 色综合久久天天综合网| 性久久久久久久久久久久| 91麻豆精品91久久久久久清纯| 亚洲女与黑人做爰| 欧美三级三级三级爽爽爽| 日韩av网站免费在线| 久久精品免视看| 色综合久久久久综合99| 日韩不卡一区二区三区| 国产日韩精品视频一区| 在线区一区二视频| 六月丁香综合在线视频| 欧美精三区欧美精三区| 国产一区二三区| 亚洲天堂网中文字| 制服丝袜亚洲网站| 国产成人免费网站| 亚洲mv在线观看| 久久久99精品免费观看| 色综合久久中文综合久久牛| 美女精品自拍一二三四| 中文字幕在线观看一区二区| 欧美精选一区二区| 成人高清免费观看| 日本在线不卡视频一二三区| 国产日韩欧美电影| 欧美日韩免费观看一区三区| 国产麻豆精品theporn| 樱桃视频在线观看一区| 精品欧美乱码久久久久久 | 欧美tickling网站挠脚心| 99在线视频精品| 精品一区二区久久| 一卡二卡三卡日韩欧美| 国产无一区二区| 日韩一级片网址| 一本一道波多野结衣一区二区| 国产在线视频一区二区| 午夜伦理一区二区| 亚洲精品乱码久久久久久| 国产欧美日韩精品一区| 欧美一区二区三区免费观看视频 | 国产综合色视频|