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

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

?? pcm.h

?? samsung 最新芯片2450 的測試程序.
?? H
字號:
/********************************************************************************
* 
*	Project Name : S3C6400 Validation
*
*	Copyright 2006 by Samsung Electronics, Inc.
*	All rights reserved.
*
*	Project Description :
*		This software is only for verifying functions of the S3C6400.
*		Anybody can use this software without our permission.
*  
*--------------------------------------------------------------------------------
* 
*	File Name : PCM_test.c
*	File Description :
*
*	Author	: Yoh-Han Lee
*	Dept. : AP Development Team
*
*	Version : 0.2
* 
*	History
*	- Version 0.1 (2007/03/16)
*	  -> Available with AK2440 PCM Codec.
*   - Version 0.2 (2007/04/19)
*     -> Also, working with WM8753 PCM Codec.
*
********************************************************************************/

#ifndef __PCM_H__
#define __PCM_H__
 
#include "codec.h" 
  
#ifdef __cplusplus
extern "C" {
#endif

///////////////////////////////////////////////////////////////
#define PCM_REC_BUF  				0x31000000
//#define PCM_REC_LEN 				0xfffff
#define PCM_REC_LEN 				(8000*2*10)//bytes  8KHz mono 16bit 10sec

#define PCM_SCLK_EN				(1<<19)
#define PCM_PCM_ENABLE			(1<<0)
#define PCM_RXFIFO_EN   			(1<<1)
#define PCM_TXFIFO_EN			(1<<2)
#define RX_MSB_POS0				(0<<3)
#define RX_MSB_POS1				(1<<3)
#define TX_MSB_POS0				(0<<4)
#define TX_MSB_POS1				(1<<4)
#define PCM_RX_DMA_EN			(1<<5)
#define PCM_TX_DMA_EN			(1<<6)
#define RXFIFO_DIPSTICK(n)		(((n)&0x3f) <<7)
#define TXFIFO_DIPSTICK(n)		(((n)&0x3f) <<13)

///////////////////////////////////////////////////////////////////////////////////////

//FPGA IO B'd 
#define INVERTED_R194_DEFAULT					0
#define NORMAL_R196_BOARDCHANGED				1
#define AUDIOPORT1_SEL	NORMAL_R196_BOARDCHANGED


// Codec Master CLK ON/OFF
#define OFF							0
#define ON							1
#define PCM_CODEC_MASTERCLK		ON

//External CLK
//#define EXT_CLOCK_FREQ			25000000		
#define EXT_CLOCK_FREQ_B_16_9344	16934400		
#define EXT_CLOCK_FREQ_A_32_768		32768000
#define EXT_CLOCK_FREQ_A_36_864		36864000

//#define EXT_CLOCK_FREQ_A_32_768		12000000


// PCM CODEC NAME 
//#define PCM_CODEC_NAME			WM9713
#define PCM_CODEC_NAME			PCM_WM8753
//PCM_PORT;
#define PCM_PORT0	0
#define PCM_PORT1 	1

//play mode
#define PCM_POLLING		0
#define PCM_INTERRUPT	1
#define PCM_DMA			2

//PCM_CLKSRC;
#define PCM_PCMCDCLK	0
#define PCM_PCLK		1

//PCM_SCLK
#define SCLK_128K 	128000
#define SCLK_256K 	256000
#define SCLK_512K 	512000
#define SCLK_768K 	768000
#define SCLK_1536K 	1536000

//PCM_SYNC_CLK;
#define SYNC_8K 	8000
#define SYNC_16K	16000
#define SYNC_32K	32000
#define SYNC_48K	48000
#define SYNC_64K	64000
#define SYNC_96K	96000

#define SYNC_11025	11025
#define SYNC_22050	22050
#define SYNC_44100	44100
#define SYNC_88200	88200


//PCM_MSBPOS;
#define DURING_PCMSYNC_HIGH	0
#define AFTER_PCMSYNC_HIGH	1

//PCM_Configuration;
#define Init	0
#define Set		1


///////////////////////////////////////////
// STATUS registers
//

//PCM_CTRL
#define RXFIFO_DIPSTICK0			( (rPCM_CTL0>>7) & 0x3f )
#define TXFIFO_DIPSTICK0			( (rPCM_CTL0>>13) & 0x3f )

#define RXFIFO_DIPSTICK1			( (rPCM_CTL1>>7) & 0x3f )
#define TXFIFO_DIPSTICK1			( (rPCM_CTL1>>13) & 0x3f )


//PCM_FIFO(//1)
#define FIFO_TXFIFO_COUNT			( (rPCM_FIFO_STAT1>>14) & 0x3f )
#define FIFO_RXFIFO_COUNT			( (rPCM_FIFO_STAT1>>4) & 0x3f )

#define FIFO_TXFIFO_COUNT0			( (rPCM_FIFO_STAT0>>14) & 0x3f )
#define FIFO_RXFIFO_COUNT0			( (rPCM_FIFO_STAT0>>4) & 0x3f )

#define FIFO_TXFIFO_COUNT1			( (rPCM_FIFO_STAT1>>14) & 0x3f )
#define FIFO_RXFIFO_COUNT1			( (rPCM_FIFO_STAT1>>4) & 0x3f )

///////////////////////////////////////////
// CONTROL registers
//

//PCM_FIFO
#define FIFO_TXFIFO_EMPTY			(1<<13)
#define FIFO_TXFIFO_ALMOST_EMPTY	(1<<12)
#define FIFO_TXFIFO_FULL			(1<<11)
#define FIFO_TXFIFO_ALMOST_FULL		(1<<10)



#define FIFO_RXFIFO_EMPTY			(1<<3)
#define FIFO_RXFIFO_ALMOST_EMPTY	(1<<2)
#define FIFO_RXFIFO_FULL			(1<<1)
#define FIFO_RXFIFO_ALMOST_FULL		(1<<0)


//PCM_INT
#define EN_IRQ_TO_ARM		(1<<14)//ctrl
#define IRQ_PENDING			(1<<13)//stat
#define TRANSFER_DONE		(1<<12)

#define TXFIFO_EMPTY		(1<<11)
#define TXFIFO_ALMOST_EMPTY	(1<<10)
#define TXFIFO_FULL			(1<<9)
#define TXFIFO_ALMOST_FULL		(1<<8)
#define TXFIFO_ERROR_STARVE		(1<<7)
#define TXFIFO_ERROR_OVERFLOW	(1<<6)

#define RXFIFO_EMPTY			(1<<5)
#define RXFIFO_ALMOST_EMPTY		(1<<4)
#define RXFIFO_FULL			(1<<3)
#define RXFIFO_ALMOST_FULL		(1<<2)
#define RXFIFO_ERROR_STARVE		(1<<1)
#define RXFIFO_ERROR_OVERFLOW	(1<<0)

#define CLRINT	(1<<0)//clrint
///////////////////////////////////////////////////////////////////////////////////////

/*
typedef struct
{
	u32 m_uNumDma;
	DMASELECT_eID m_eDmaId;
	DMA_UNIT m_eDmaUnit;
	DMA_CH m_eDmaCh;
	u32 m_uPcmRxFifoAddr;
	u32 m_uPcmTxFifoAddr;
	DREQ_SRC m_eDreqSrc;
	u32 m_uNumInt;	
}PCM;
*/

typedef struct
{
	unsigned char		CodecID;
	unsigned char		PCMPort;
		
	unsigned char		PCMClkSrc;
	unsigned int 		EXTCDCLKFreq;
	unsigned int		PCMSync;
	unsigned int		PCMSClk;	
	
	unsigned char 		PCMMSBPosition;	
	
	unsigned char 		Playmode;//0.polling 1. interrupt 2. dma
}PCM_State;

typedef struct
{
	unsigned int 	irqstat1;//before clearint
	unsigned int 	irqstat2;//after clearint	
}PCM_IRQstat;
#define PCM_IRQ_STAT_MAX	20
///////////////////////////////////////////////////////////////////////////////////////

void Test_PCM(void);

void PCM_Init(void);
void PCM_AUTO_set(PCM_State setting);


void PCM_SelectPort(void);
	void PCM_SetPort(unsigned char ePort);
void PCM_SelectPCMCLKSOURCE(void);
void PCM_SelectPCMSYNC_SCLK(void);
void PCM_SelectSyncPosition(void);



void PCM_SelClkSrc(unsigned char ePort, unsigned char eClkSrc, bool enable);

void PCM_CodecExitPCMIn(void);
bool PCM_CodecInitPCMIn(unsigned int eSync, unsigned char eMSBPos, unsigned int eSclk, unsigned char eClkSrc);
void PCM_CodecExitPCMOut(void);
bool PCM_CodecInitPCMOut(unsigned int eSync, unsigned char eMSBPos, unsigned int eSclk, unsigned char eClkSrc);


bool PCM_PCMInDMA(unsigned int uRecBufferAddr, unsigned int uPcmSize, bool (*fn_extra)(void));
bool PCM_PCMOutDMA(unsigned int uRecBufferAddr, unsigned int uPcmSize, bool (*fn_extra)(void));

void PCM_PCMInInt(unsigned int uRecBufferAddr, unsigned int uPcmSize);
void PCM_PCMOutInt(unsigned int uRecBufferAddr, unsigned int uPcmSize);

void PCM_PCMOutInt2(unsigned int uBufferAddr, unsigned int uPcmSize);

void PCM_ClearInt(void);
void PCM_EnableInt(void);
void PCM_DisableInt(void);
void PCM_SetInt(unsigned int ePcmInt);

//extra bit by bit test
void PCM_pcmtest4(void);

bool PCM_GetClkValAndClkDir(unsigned int* uSclkDiv, unsigned int* uSyncDiv);


void PCM_ISRInit(void);
void PCM_ISRDeInit(void);
void __irq Isr_PCM_Interrupt(void);
void __irq Isr_PCM_InterruptTEST(void);
void __irq Isr_PCM_PCMIn_DMADone(void);
void __irq Isr_PCM_PCMOut_DMADone(void);
void __irq Isr_PCM_PCMIn(void);
void __irq Isr_PCM_PCMOut(void);
void __irq Isr_PCM_PCMOut2(void);


//void PCM_WM8753MasterCLKGen(unsigned char ePort);



#ifdef __cplusplus
}
#endif

#endif /*__PCM_H__*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人欧美一区二区三区1314| 久久婷婷国产综合精品青草| 加勒比av一区二区| 亚洲成av人片一区二区梦乃| 久久精品在这里| 日韩视频一区二区三区在线播放| 99re热这里只有精品免费视频| 久久精品国产亚洲5555| 日韩精品乱码av一区二区| 亚洲影视在线观看| 亚洲欧美日韩国产一区二区三区 | 一本大道综合伊人精品热热| 国内外成人在线视频| 久久av资源站| 久久国产精品99久久人人澡| 日本亚洲天堂网| 日韩高清中文字幕一区| 午夜欧美电影在线观看| 天堂成人国产精品一区| 亚洲一区二区三区在线看| 一区二区三区精品在线| 亚洲卡通欧美制服中文| 亚洲精品综合在线| 亚洲午夜免费福利视频| 日韩成人一区二区三区在线观看| 日韩电影在线免费| 国模冰冰炮一区二区| 成人av在线电影| 在线观看中文字幕不卡| 日韩久久精品一区| 欧美国产亚洲另类动漫| 亚洲欧美一区二区三区孕妇| 亚洲二区视频在线| 国产综合色产在线精品| 成人av网站在线| 欧美色图免费看| 精品国一区二区三区| 国产精品国产三级国产aⅴ原创 | 国产日韩欧美不卡在线| 亚洲激情第一区| 久久精品久久精品| 91尤物视频在线观看| 欧美日韩精品系列| 中文字幕av一区二区三区免费看| 日本vs亚洲vs韩国一区三区| 成人午夜私人影院| 欧美成人免费网站| 亚洲综合在线五月| 丁香网亚洲国际| 欧美群妇大交群的观看方式| 一区在线中文字幕| 国产一区二区0| 欧美一区二区免费| 亚洲综合免费观看高清完整版 | 亚洲国产精品一区二区久久恐怖片| 日韩av在线发布| 欧美日韩视频不卡| 亚洲啪啪综合av一区二区三区| 国产一区不卡在线| 精品国产三级a在线观看| 久久黄色级2电影| 色偷偷88欧美精品久久久| 久久久不卡网国产精品二区| 五月婷婷久久综合| 制服丝袜日韩国产| 性做久久久久久免费观看| 色综合激情五月| 久久国产尿小便嘘嘘| 欧美日韩激情一区| 日本欧美大码aⅴ在线播放| 欧美日韩免费不卡视频一区二区三区| 亚洲三级在线免费观看| 国产成人av一区| 中文字幕一区二区三区精华液| 成人v精品蜜桃久久一区| 中文字幕日韩欧美一区二区三区| 99精品久久只有精品| 亚洲成国产人片在线观看| 精品视频一区二区三区免费| 五月天丁香久久| 久久久美女毛片| 色噜噜狠狠成人中文综合 | 一二三区精品福利视频| 国产黄色成人av| 国产精品中文字幕日韩精品| 精品国产成人在线影院| 成人黄色免费短视频| 婷婷综合五月天| 欧美精品一区二区三区久久久| 国产乱色国产精品免费视频| 亚洲人亚洲人成电影网站色| 3d动漫精品啪啪1区2区免费| 国产不卡视频一区二区三区| 欧美日韩中文字幕精品| 亚洲一区二区在线免费观看视频| 欧美日韩高清一区二区| 欧美主播一区二区三区美女| 亚洲一区二三区| 国产欧美日韩另类视频免费观看| 色综合天天天天做夜夜夜夜做| 日韩电影在线看| 一二三四区精品视频| 久久久综合精品| 在线精品视频小说1| 99vv1com这只有精品| 国产美女娇喘av呻吟久久| 丝袜诱惑制服诱惑色一区在线观看| 国产亚洲视频系列| 337p粉嫩大胆噜噜噜噜噜91av| 欧美性大战xxxxx久久久| 成人aa视频在线观看| 国产精品中文有码| 国产一区在线视频| 国产在线不卡视频| 国产成人亚洲综合色影视| 国产一区二区三区国产| 精品一区二区三区免费毛片爱| 偷拍与自拍一区| 麻豆精品精品国产自在97香蕉| 亚洲国产成人高清精品| 亚洲午夜精品一区二区三区他趣| 国产欧美1区2区3区| 欧美激情资源网| 国产精品视频在线看| 国产精品三级视频| 国产精品激情偷乱一区二区∴| 国产精品三级av| 一区二区三区四区在线播放| 亚洲国产综合在线| 丝袜美腿亚洲综合| 国产精品一区专区| av不卡在线播放| 欧美福利视频一区| 日韩精品在线一区二区| 国产亚洲视频系列| 亚洲女人****多毛耸耸8| 国产精品99久久久久久似苏梦涵 | 乱一区二区av| 国产不卡视频在线播放| 欧美亚洲一区三区| 日韩欧美不卡在线观看视频| 国产色综合久久| 夜夜嗨av一区二区三区网页| 美国毛片一区二区| 成人午夜视频福利| 3751色影院一区二区三区| 久久久不卡网国产精品二区| 一区二区在线观看不卡| 久久国产视频网| 91国模大尺度私拍在线视频| 日韩免费看的电影| 亚洲乱码中文字幕综合| 久久99国产精品尤物| 色婷婷亚洲精品| 亚洲国产高清aⅴ视频| 日产精品久久久久久久性色| 成人影视亚洲图片在线| 日韩精品一区二区三区在线| 亚洲精品va在线观看| 国产福利精品一区二区| 日韩精品中文字幕一区| 婷婷成人激情在线网| 欧美在线小视频| 亚洲欧美一区二区三区孕妇| 国产91色综合久久免费分享| 久久久久久久综合日本| 韩国理伦片一区二区三区在线播放 | 国产黑丝在线一区二区三区| 69久久99精品久久久久婷婷 | ...xxx性欧美| 成人avav影音| 亚洲精品国产成人久久av盗摄| 国产精品一品视频| 欧美激情一区在线观看| 国产盗摄一区二区| 国产精品色一区二区三区| 福利电影一区二区| 亚洲女厕所小便bbb| 欧美综合久久久| 日韩精品一二三| 精品成人a区在线观看| 国产成人免费视频网站高清观看视频| 欧美va在线播放| 国产成人久久精品77777最新版本| 久久亚洲精华国产精华液| 懂色av一区二区三区免费观看| 久久久不卡影院| 色综合天天性综合| 日本三级亚洲精品| 2024国产精品视频| 91在线观看美女| 美国十次了思思久久精品导航| 久久精品人人做人人爽人人| 91蜜桃婷婷狠狠久久综合9色| 午夜伊人狠狠久久| 国产女人水真多18毛片18精品视频 | 精品乱码亚洲一区二区不卡| 成人国产亚洲欧美成人综合网| 午夜伦欧美伦电影理论片| 国产亚洲自拍一区|