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

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

?? 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;
	

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美国产一区在线观看| 亚洲午夜羞羞片| 亚洲国产cao| 国产精品传媒视频| 91免费国产在线观看| 亚洲视频资源在线| 91精品国产欧美一区二区成人| 成人午夜免费av| 亚洲国产精品t66y| 91国产视频在线观看| 天天综合网天天综合色| 精品国产乱码久久久久久牛牛| 国产自产高清不卡| 17c精品麻豆一区二区免费| 在线播放视频一区| 国产成人在线观看| 午夜精品久久久久久久久久 | 在线看国产一区二区| 日本欧美在线观看| 国产清纯白嫩初高生在线观看91 | 亚洲三级免费观看| 亚洲18影院在线观看| 国产精品久久久久精k8| 亚洲婷婷综合色高清在线| 亚洲精品欧美专区| 国产人伦精品一区二区| 国产精品白丝在线| 日日夜夜精品视频天天综合网| 国产精品视频线看| 久久久久青草大香线综合精品| 欧美日韩精品一二三区| 成人国产一区二区三区精品| 久久国产日韩欧美精品| 亚洲综合一区二区精品导航| 国产精品欧美一区二区三区| 一区二区国产视频| 亚洲综合视频在线| 国产呦精品一区二区三区网站| 美国精品在线观看| 日韩高清不卡在线| 国产成人aaaa| 国产福利一区二区三区视频在线 | 欧美二区在线观看| 国产亚洲1区2区3区| 欧美mv日韩mv国产网站app| 欧美女孩性生活视频| 久久久亚洲欧洲日产国码αv| 亚洲激情中文1区| 国产在线国偷精品免费看| 91久久奴性调教| 国产欧美一区在线| 日韩av一区二区三区| 91免费看片在线观看| 久久久噜噜噜久噜久久综合| 午夜国产精品一区| 91麻豆精品秘密| 国产区在线观看成人精品| 亚洲va欧美va天堂v国产综合| 成人av中文字幕| 国产婷婷精品av在线| 麻豆极品一区二区三区| 欧美日韩国产综合一区二区| 精品一二三四区| 国产在线乱码一区二区三区| 欧美欧美午夜aⅴ在线观看| 日韩毛片在线免费观看| 激情小说亚洲一区| 精品国产99国产精品| 三级亚洲高清视频| 欧美三区在线视频| 欧美α欧美αv大片| 爽爽淫人综合网网站| 欧美日韩高清一区| 日韩成人一级片| 91精品国产麻豆| 蜜臀久久99精品久久久久久9| 欧美一区二区美女| 蜜臀av性久久久久蜜臀aⅴ四虎| 5566中文字幕一区二区电影| 国产日韩欧美一区二区三区综合| 国内外成人在线视频| 精品国一区二区三区| 国模少妇一区二区三区| 国产午夜亚洲精品午夜鲁丝片| 国产盗摄一区二区三区| 国产精品久久一级| av成人老司机| 337p粉嫩大胆色噜噜噜噜亚洲| 中文字幕日韩av资源站| av不卡一区二区三区| 伊人色综合久久天天人手人婷| 色婷婷av一区二区三区大白胸| 精品国产在天天线2019| 国产精品一区二区久激情瑜伽| 欧美日韩国产bt| 另类欧美日韩国产在线| 久久久久久免费网| fc2成人免费人成在线观看播放 | 日韩欧美资源站| 亚洲午夜精品一区二区三区他趣| 欧美中文一区二区三区| 捆绑调教一区二区三区| 久久久久9999亚洲精品| 成人福利视频网站| 亚洲高清不卡在线观看| 久久久亚洲精华液精华液精华液| 欧美私模裸体表演在线观看| 国产精品三级视频| 91福利国产成人精品照片| 男男成人高潮片免费网站| 欧美日韩在线播放三区四区| 免费精品视频在线| 自拍偷自拍亚洲精品播放| 欧美乱熟臀69xxxxxx| 国产成人免费xxxxxxxx| 视频一区二区中文字幕| 国产精品水嫩水嫩| 欧美一区二区久久| 色久综合一二码| 国产成人综合网站| 日日摸夜夜添夜夜添亚洲女人| 中文一区一区三区高中清不卡| 欧美日韩大陆一区二区| 成人看片黄a免费看在线| 免费成人性网站| 又紧又大又爽精品一区二区| 欧美videossexotv100| 欧美影视一区二区三区| 国产乱理伦片在线观看夜一区| 亚洲成人av一区二区| 国产精品成人在线观看| 久久精品免费在线观看| 欧美一区二区日韩一区二区| 欧美性猛交xxxx黑人交| 成人黄色片在线观看| 国产一本一道久久香蕉| 全国精品久久少妇| 香蕉久久一区二区不卡无毒影院| 国产精品久久久久久久蜜臀| 欧美mv日韩mv国产网站app| 欧美精品久久99久久在免费线| 91视频在线看| www.日韩精品| 成人午夜视频网站| 成人一道本在线| 国产成人免费视频| 国产精品一区二区三区四区| 久久91精品久久久久久秒播| 天天av天天翘天天综合网色鬼国产| 一区二区三区在线高清| 亚洲柠檬福利资源导航| 欧美三级韩国三级日本三斤| 91麻豆视频网站| 91小宝寻花一区二区三区| 成人app软件下载大全免费| 国产成人一区二区精品非洲| 国产成人日日夜夜| 成人一区二区三区视频| 成人精品视频一区二区三区尤物| 国产精品白丝av| 岛国一区二区在线观看| 99久久777色| 激情成人综合网| 久久99精品国产91久久来源| 久久爱www久久做| 国产激情偷乱视频一区二区三区| 国产成人av电影免费在线观看| 不卡电影一区二区三区| 一本大道av伊人久久综合| 在线亚洲欧美专区二区| 欧美高清视频不卡网| 欧美成人一区二区三区在线观看| www激情久久| 免费一级片91| 成人性色生活片免费看爆迷你毛片| 国产电影一区在线| 欧美又粗又大又爽| 欧美一区2区视频在线观看| 久久久亚洲国产美女国产盗摄 | 性欧美疯狂xxxxbbbb| 麻豆91精品视频| 波多野结衣在线aⅴ中文字幕不卡| 成人午夜视频福利| 欧美高清激情brazzers| 久久久久久久精| 亚洲成人激情av| 国产一区二区导航在线播放| 91麻豆自制传媒国产之光| 欧美一级高清片在线观看| 国产精品天天看| 麻豆91精品视频| 色婷婷久久久久swag精品| 欧美大黄免费观看| 亚洲男同1069视频| 精品综合久久久久久8888| 在线免费观看不卡av| 国产欧美一区二区精品仙草咪| 亚洲一卡二卡三卡四卡五卡| 国产99久久久久久免费看农村| 欧美日韩一卡二卡三卡|