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

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

?? pcm.c

?? 三星 s3c6400測試代碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
/********************************************************************************
* 
*	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
*	Created Date : 2007/03/16
*	Version : 0.2 
* 
*	History
*	- Version 0.1 (2007/03/16)
*	  -> Available with AK2440 PCM Codec.
*   - Version 0.2 (2007/04/
*	  -> Available with 
*********************************************************************************/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

#include "def.h"
#include "option.h"
#include "library.h"
#include "sfr6400.h"
#include "system.h"
#include "sysc.h"
#include "intc.h"
#include "gpio.h"
#include "iic.h"
#include "dma.h"

#include "ac97.h"
#include "pcm.h"

static DMAC oPcmDma;
static u16 uPcmRecDone;
static u16 uPcmPlayDone;

static volatile u16 * uPcmRecBuffer;
static volatile u16 * uPcmEndRecBuffer;

PCM oPcm;
	
void PCM_SetPort(PCM_PORT ePort)
{
	if (ePort == PCM_PORT0)
	{
		//Set GPD: PCM Port
		GPIO_SetFunctionAll(eGPIO_D, 0x22222, 0); 
		GPIO_SetPullUpDownAll(eGPIO_D, 0x0);	
	}					
	else if (ePort == PCM_PORT1)
	{
		//Set GPE: PCM Port
		GPIO_SetFunctionAll(eGPIO_E, 0x22222, 0); 
		GPIO_SetPullUpDownAll(eGPIO_E, 0x0);	
	}

	Delay(1000);

	#if (PCM_CODEC_NAME== AK2430 || PCM_CODEC_NAME== WM8753)
		GPIO_SetFunctionEach(eGPIO_B,eGPIO_5,2);
		GPIO_SetFunctionEach(eGPIO_B,eGPIO_6,2);	
		GPIO_SetPullUpDownEach(eGPIO_B,eGPIO_5,2);
		GPIO_SetPullUpDownEach(eGPIO_B,eGPIO_6,2);
	#endif
}


void PCM_CodecInitPCMOut(PCM_SCLK ePcmSclk)
{
		
	#if (PCM_CODEC_NAME== AK2430)
		u8 uCodecSet;

		if(ePcmSclk == SCLK_128K)
			uCodecSet = 0x0;
		else if(ePcmSclk == SCLK_256K)
			uCodecSet = 0x1;
		else if(ePcmSclk == SCLK_512K)
			uCodecSet = 0x2;
	
		PCM_CODEC_IICWrite(0x9e, 0x18, 0x07);	//MSTCLK_I = 19.2MHz
       
        if(PCMCLKSOURCE ==PCMCLKSOURCE_PCMCDCLK)
        	PCM_CODEC_IICWrite(0x9e, 0x1B, 0x0);	//PCM Codec Master Mode
        else
        	PCM_CODEC_IICWrite(0x9e, 0x1B, 0x6);	//PCM Codec Slave Mode
        	
        PCM_CODEC_IICWrite(0x9e, 0x1E, uCodecSet);	//DLCK = 128K,256kHz, or 512K, 14bit linear code (2's complement  format)
        PCM_CODEC_IICWrite(0x9e, 0x0C, 0x00);	//0 dB
        PCM_CODEC_IICWrite(0x9e, 0x10, 0x1F);	//three dB
        PCM_CODEC_IICWrite(0x9e, 0x11, 0x1F);   //three dB
        PCM_CODEC_IICWrite(0x9e, 0x06, 0x40);	//POP Mute Off     
        PCM_CODEC_IICWrite(0x9e, 0x03, 0x01);	//CKI Buff On other blocks Off
        Delay(1); 
	    PCM_CODEC_IICWrite(0x9e, 0x03, 0x09);	//PLL2, CKI Buff On and other blocks Off
        Delay(300);
		PCM_CODEC_IICWrite(0x9e, 0x04, 0x01);	//RXSUM On and other blocks Off
		PCM_CODEC_IICWrite(0x9e, 0x05, 0x20);	//PCM Codec On and other blocks Off
        Delay(50);
        PCM_CODEC_IICWrite(0x9e, 0x07, 0x20);	//sw_COL Close and other sw Open
        PCM_CODEC_IICWrite(0x9e, 0x08, 0x20);	//sw_COR Close and othr sw Open
        PCM_CODEC_IICWrite(0x9e, 0x09, 0x14);	//sw_EPL, sw_EPR Amp output
        PCM_CODEC_IICWrite(0x9e, 0x04, 0x31);	//EPL/R Amp(RXSUM) On and other blocks Off
        Delay(1600);

	#elif (PCM_CODEC_NAME == WM9713)
		if(AC97_Init())
		{
			AC97_CodecCmd(WRITE,0x26, 0x4f00);		// Enable PR5(Internal Clock, AC-link I/F)
			AC97_CodecCmd(WRITE,0x26, 0x4700);		// Enable PR3(VREF, I/P PGA's, DAC's, ADC's, Mixer, O/P's)

			AC97_CodecCmd(WRITE,0x3C, 0xfbff);		// Enable MBIAS generator
			Delay(1000);

			AC97_CodecCmd(WRITE,0x26, 0x4300);		// Enable I/P PGA's nad Mixers
			AC97_CodecCmd(WRITE,0x3C, 0xebf3);		// Enable VXDAC, L/R HP
			AC97_CodecCmd(WRITE,0x26, 0x4100);		// Enable DAC
			AC97_CodecCmd(WRITE,0x26, 0x0100);		// Enable PR6 (O/P PGA's)
			AC97_CodecCmd(WRITE,0x3E, 0xf9ff);		// Enable HPL/R output PGA's

			AC97_CodecCmd(WRITE,0x1C, 0x00a0);		// HPL/R PGA input select: HPMIXL/R
			AC97_CodecCmd(WRITE,0x04, 0x8a8a);		// Set HL/R Volume = -6dB

			AC97_CodecCmd(WRITE,0x2A,0x1);		//Variable Rate Enable	
			Disp("VRA Enable(1)/Disable(0): 0x%x\n",(0x1&AC97_CodecCmd(READ,0x2A,0x0001)));
			AC97_CodecCmd(WRITE,0x2E, 0x1f40);		// AUXDAC = 8kHz
			
			AC97_CodecCmd(WRITE,0x18, 0x02aa);		// Unmute VXDAC to HPMIXL/R
			AC97_CodecCmd(WRITE,0x04, 0x0a80);		// Unmute HPL/R

			AC97_CodecCmd(WRITE,0x36, 0xa6a3);		// PCM IF=DSP A type, 16Bit, Slave Mode, Fs=8kHz
			AC97_CodecCmd(WRITE,0x44, 0x0b80);		// PCM CLK = 8kHz
			AC97_CodecCmd(WRITE,0x4C, 0xffde);		// GPIO config. For PCM IF (Slave mode) 
		}

	#elif (PCM_CODEC_NAME == WM8753	)
		PCM_CODEC_IICWrite(0x34, 0x3e, 0x00);	//Reset
	
		PCM_CODEC_IICWrite(0x34, 0x28, 0xd0);	//PWR Management(1) << Power up VMID[50Kohm]; VREF; VDAC >>
		PCM_CODEC_IICWrite(0x34, 0x2e, 0x03);	//PWR Management(4) << Power up L/RMIX >>
		Delay(1000);
		
		PCM_CODEC_IICWrite(0x34, 0x02, 0x08);	//DAC Control Mute
		PCM_CODEC_IICWrite(0x34, 0x04, 0x00);	//ADC Control
		PCM_CODEC_IICWrite(0x34, 0x07, 0xa3);	//PCM Audio I/F
		PCM_CODEC_IICWrite(0x34, 0x08, 0x0a);	//HiFi Audio I/F
		PCM_CODEC_IICWrite(0x34, 0x0a, 0x33);	//Interface Control << Voice Codec >>
		PCM_CODEC_IICWrite(0x34, 0x0c, 0x34);	//Sample Rate Control (1) 
		PCM_CODEC_IICWrite(0x34, 0x0e, 0x97); 	//Sample Rate Control (2), Don't care in case of slave mode
		PCM_CODEC_IICWrite(0x34, 0x10, 0xff); 	//Left DAC Volume
		PCM_CODEC_IICWrite(0x34, 0x12, 0xff); 	//Right DAC Volume
		PCM_CODEC_IICWrite(0x34, 0x14, 0x0f); 	//Bass Control
		PCM_CODEC_IICWrite(0x34, 0x16, 0x0f); 	//Treble Control
		PCM_CODEC_IICWrite(0x34, 0x18, 0x7b); 	//ALC 1
		PCM_CODEC_IICWrite(0x34, 0x1a, 0x00); 	//ALC 2
		PCM_CODEC_IICWrite(0x34, 0x1c, 0x32); 	//ALC 3
		PCM_CODEC_IICWrite(0x34, 0x1e, 0x00); 	//Noise Gate 
		PCM_CODEC_IICWrite(0x34, 0x21, 0xc3); 	//Left ADC Volume
		PCM_CODEC_IICWrite(0x34, 0x23, 0xc3); 	//Right ADC Volume
		PCM_CODEC_IICWrite(0x34, 0x24, 0xc0); 	//Additional Control
		PCM_CODEC_IICWrite(0x34, 0x26, 0x00); 	//Three D Control
		PCM_CODEC_IICWrite(0x34, 0x2a, 0x00); 	//Power Management(2) 
		PCM_CODEC_IICWrite(0x34, 0x30, 0x00); 	//ID Register
		PCM_CODEC_IICWrite(0x34, 0x32, 0x00); 	//Int. Polarty
		PCM_CODEC_IICWrite(0x34, 0x34, 0x00);	//Int. Enable
		PCM_CODEC_IICWrite(0x34, 0x36, 0x00);	//GPIO Control (1)
		PCM_CODEC_IICWrite(0x34, 0x38, 0x00);	//GPIO Control (2)
		PCM_CODEC_IICWrite(0x34, 0x40, 0x55);	//Record Mix (1)
		PCM_CODEC_IICWrite(0x34, 0x42, 0x05);	//Record Mix (2)
		PCM_CODEC_IICWrite(0x34, 0x44, 0x50);	//Left Out Mix(1)
		PCM_CODEC_IICWrite(0x34, 0x47, 0x55);	//Left Out Mix(2) << Set the VXD2LO bit (Voice DAC to Left Output >>
		PCM_CODEC_IICWrite(0x34, 0x48, 0x50);	//Rigth Out Mix(1)
		PCM_CODEC_IICWrite(0x34, 0x4b, 0x55);	//Right Out Mix(2) << Set the VXD2RO bit (Voice DAC to Right Output) >>
		PCM_CODEC_IICWrite(0x34, 0x4c, 0x50);	//Mono Out Mix(1)
		PCM_CODEC_IICWrite(0x34, 0x4e, 0x55);	//Mono Out Mix(2)
		PCM_CODEC_IICWrite(0x34, 0x51, 0x79);	//LOUT1 Volume << Set Left OUtput 1 Volume Update bit to '1' & Volume Level to Default >>
		PCM_CODEC_IICWrite(0x34, 0x53, 0x79);	//ROUT1 Volume << Set Right OUtput 1 Volume Update bit to '1' & Volume Level to Default >>
		PCM_CODEC_IICWrite(0x34, 0x54, 0x79);	//LOUT2 Volume
		PCM_CODEC_IICWrite(0x34, 0x56, 0x79);	//ROUT2 Volume
		PCM_CODEC_IICWrite(0x34, 0x58, 0x79);	//MONO Out
		PCM_CODEC_IICWrite(0x34, 0x5a, 0x00);	//Output Control
		PCM_CODEC_IICWrite(0x34, 0x5c, 0x00);	//ADC Input Mode 
		PCM_CODEC_IICWrite(0x34, 0x5e, 0x00);	//Input Control (1)
		PCM_CODEC_IICWrite(0x34, 0x60, 0x00);	//Input Control (2)
		PCM_CODEC_IICWrite(0x34, 0x62, 0x97);	//Left Input Volume
		PCM_CODEC_IICWrite(0x34, 0x64, 0x97);	//Right Input Volume
		PCM_CODEC_IICWrite(0x34, 0x66, 0x00);	//MIC Bias Comp Control
		PCM_CODEC_IICWrite(0x34, 0x68, 0x04);	//Clock Control << Clock for Voice Codec = MCLK or PLL1
		PCM_CODEC_IICWrite(0x34, 0x6a, 0x00);	//PLL1 Control (1)
		PCM_CODEC_IICWrite(0x34, 0x6c, 0x83);	//PLL1 Control (2)
		PCM_CODEC_IICWrite(0x34, 0x6e, 0x24);	//PLL1 Control (3)
		PCM_CODEC_IICWrite(0x34, 0x71, 0xba);	//PLL1 Control (4)
		PCM_CODEC_IICWrite(0x34, 0x72, 0x00);	//PLL2 Control (1)
		PCM_CODEC_IICWrite(0x34, 0x74, 0x83);	//PLL2 Control (2)
		PCM_CODEC_IICWrite(0x34, 0x76, 0x24);	//PLL2 Control (3)
		PCM_CODEC_IICWrite(0x34, 0x79, 0xba);	//PLL2 Control (4)
		PCM_CODEC_IICWrite(0x34, 0x7a, 0x00);	//Bias Control
		PCM_CODEC_IICWrite(0x34, 0x7e, 0x00);	//Additional Control
		PCM_CODEC_IICWrite(0x34, 0x2d, 0x80); 	//Power Management(3) <<Power up L/ROUT1 outputs >>
		
	#endif	
}


void PCM_CodecExitPCMOut(void)
{
	#if (PCM_CODEC_NAME== AK2430)
		PCM_CODEC_IICWrite(0x9e, 0x04, 0x01);	//EPL/R Amp Off		
		Delay(1300);

		PCM_CODEC_IICWrite(0x9e, 0x07, 0x00);	//sw_COL Close and other sw Open
       	PCM_CODEC_IICWrite(0x9e, 0x08, 0x00);	//sw_COR Close and othr sw Open
       	PCM_CODEC_IICWrite(0x9e, 0x09, 0x00);	//sw_EPL, sw_EPR Amp output

		PCM_CODEC_IICWrite(0x9e, 0x04, 0x00);	//RXSUM Off	
		PCM_CODEC_IICWrite(0x9e, 0x05, 0x00);	//PCM Codec Off
	#elif (PCM_CODEC_NAME== WM9713)
		AC97_CodecCmd(WRITE,0x3E, 0xffff);		//Disable HPL/R output PGA's
		AC97_CodecCmd(WRITE,0x26, 0xff00);		//Disable I/P PGA's nad Mixers
	#endif
	
}

void PCM_CodecInitPCMIn(PCM_SCLK ePcmSclk)
{	
	#if (PCM_CODEC_NAME== AK2430)
	u8 uCodecSet;
	
		if(ePcmSclk == SCLK_128K)
			uCodecSet = 0x0;
		else if(ePcmSclk == SCLK_256K)
			uCodecSet = 0x1;
		else if(ePcmSclk == SCLK_512K)
			uCodecSet = 0x2;

		PCM_CODEC_IICWrite(0x9e, 0x18, 0x07);	//MSTCLK_I = 19.2MHz

		if(PCMCLKSOURCE ==PCMCLKSOURCE_PCMCDCLK)
        	PCM_CODEC_IICWrite(0x9e, 0x1B, 0x0);	//PCM Codec Master Mode
        else
        	PCM_CODEC_IICWrite(0x9e, 0x1B, 0x6);	//PCM Codec Slave Mode
        	
        PCM_CODEC_IICWrite(0x9e, 0x1E, uCodecSet);	//DLCK = 128K,256kHz, or 512K, 14bit linear code (2's complement  format)
       
	    PCM_CODEC_IICWrite(0x9e, 0x0D, 0x5);	//0 dB
       	PCM_CODEC_IICWrite(0x9e, 0x06, 0x40);	//POP Mute Off
     
       	PCM_CODEC_IICWrite(0x9e, 0x03, 0x01);	//CKI Buff On other blocks Off
       	Delay(1);
       
       	PCM_CODEC_IICWrite(0x9e, 0x03, 0x09);	//PLL2, CKI Buff On and other blocks Off
       	Delay(300);

		PCM_CODEC_IICWrite(0x9e, 0x05, 0x10);	//TXSUM On and other blocks Off
		PCM_CODEC_IICWrite(0x9e, 0x05, 0x30);	//PCM Codec, TX Sum On and other blocks Off
       	Delay(50);

       	PCM_CODEC_IICWrite(0x9e, 0x0B, 0x11);	//sw_COI, sw_TX1 Close and other sw Open
       	PCM_CODEC_IICWrite(0x9e, 0x05, 0x35);	//MIC AMP1, MIC BIAS1, PCM CODEC, TX SUM On and other bolcks OFF
       	Delay(1600);
       	
	#elif (PCM_CODEC_NAME== WM9713)
	
		if(AC97_Init())
		{
			
			AC97_CodecCmd(WRITE,0x26, 0x4f00);		// Enable PR5(Internal Clock, AC-link I/F)
			AC97_CodecCmd(WRITE,0x26, 0x4700);		// Enable PR3(VREF, I/P PGA's, DAC's, ADC's, Mixer, O/P's)

			AC97_CodecCmd(WRITE,0x3C, 0xfbff);		// Enable MBIAS generator
			
			Delay(1000);
			
			AC97_CodecCmd(WRITE,0x26, 0x4300);		// Enable I/P PGA's nad Mixers
			AC97_CodecCmd(WRITE,0x3C, 0xfbdf);		// Enable ADC L
			
			AC97_CodecCmd(WRITE,0x26, 0x4200);		// Enable Stereo ADC 
			AC97_CodecCmd(WRITE,0x26, 0x0200);		// Enable PR6 (O/P PGA's)

			AC97_CodecCmd(WRITE,0x3E, 0xffbf);		// Enable LINE L PGA
		
			AC97_CodecCmd(WRITE,0x2A,0x1);			//Variable Rate Enable	
			Disp("VRA Enable(1)/Disable(0): 0x%x\n",(0x1&AC97_CodecCmd(READ,0x2A,0x0001)));
			AC97_CodecCmd(WRITE,0x32, 0x1f40);		// ADC SR = 8kHz

			AC97_CodecCmd(WRITE,0x14, 0xfe52);		// Record Mux Source Selection: LINE L/R

			//AC97_CodecCmd(WRITE,0x62, 0xbf80);	// ALC On
			//AC97_CodecCmd(WRITE,0x5A, 0x0030);	// HPF Corner Freq.
			//AC97_CodecCmd(WRITE,0x5C, 0x000c);	// ADC High-Pass Filter On
			
			AC97_CodecCmd(WRITE,0x12, 0x0000);		// Unmute ADC and Set ADC Recoding Volume	
	
			AC97_CodecCmd(WRITE,0x36, 0xa6a3);		// PCM IF=DSP A type, 16Bit, Slave Mode, Fs=8kHz
			AC97_CodecCmd(WRITE,0x44, 0x0b80);		// PCM CLK = 8kHz
			AC97_CodecCmd(WRITE,0x4C, 0xffde);		// GPIO config. For PCM IF (Slave mode) 
			
		}

	#elif (PCM_CODEC_NAME == WM8753	)
		PCM_CODEC_IICWrite(0x34, 0x3e, 0x00);	//Reset

		PCM_CODEC_IICWrite(0x34, 0x02, 0x08);	//DAC Control Mute
		PCM_CODEC_IICWrite(0x34, 0x04, 0x00);	//ADC Control
		PCM_CODEC_IICWrite(0x34, 0x07, 0xa3);	//PCM Audio I/F
		PCM_CODEC_IICWrite(0x34, 0x08, 0x0a);	//HiFi Audio I/F
		PCM_CODEC_IICWrite(0x34, 0x0a, 0x00);	//Interface Control << Voice Codec >>
		PCM_CODEC_IICWrite(0x34, 0x0c, 0x34);	//Sample Rate Control (1) 
		PCM_CODEC_IICWrite(0x34, 0x0e, 0x97); 	//Sample Rate Control (2), Don't care in case of slave mode
		PCM_CODEC_IICWrite(0x34, 0x10, 0xff); 	//Left DAC Volume
		PCM_CODEC_IICWrite(0x34, 0x12, 0xff); 	//Right DAC Volume
		PCM_CODEC_IICWrite(0x34, 0x18, 0x7b); 	//ALC 1
		PCM_CODEC_IICWrite(0x34, 0x1a, 0x00); 	//ALC 2
		PCM_CODEC_IICWrite(0x34, 0x1c, 0x32); 	//ALC 3
		PCM_CODEC_IICWrite(0x34, 0x1e, 0x00); 	//Noise Gate 
		PCM_CODEC_IICWrite(0x34, 0x21, 0xc3); 	//Left ADC Volume
		PCM_CODEC_IICWrite(0x34, 0x23, 0xc3); 	//Right ADC Volume
		PCM_CODEC_IICWrite(0x34, 0x24, 0xc0); 	//Additional Control
		PCM_CODEC_IICWrite(0x34, 0x26, 0x00); 	//Three D Control
		PCM_CODEC_IICWrite(0x34, 0x28, 0xc0); 	//Power Management(1) << Power up VMID[50K ohm]; VREF >>
		PCM_CODEC_IICWrite(0x34, 0x2a, 0x0c); 	//Power Management(2) << Power up ADCL/R >>
		PCM_CODEC_IICWrite(0x34, 0x2c, 0x00); 	//Power Management(3)
		PCM_CODEC_IICWrite(0x34, 0x2e, 0x00); 	//Power Management(4)
		PCM_CODEC_IICWrite(0x34, 0x30, 0x00); 	//ID Register
		PCM_CODEC_IICWrite(0x34, 0x32, 0x00); 	//Int. Polarty
		PCM_CODEC_IICWrite(0x34, 0x34, 0x00);	//Int. Enable
		PCM_CODEC_IICWrite(0x34, 0x36, 0x00);	//GPIO Control (1)
		PCM_CODEC_IICWrite(0x34, 0x38, 0x00);	//GPIO Control (2)
		
		PCM_CODEC_IICWrite(0x34, 0x40, 0x55);	//Record Mix (1)
		PCM_CODEC_IICWrite(0x34, 0x42, 0x05);	//Record Mix (2)
		PCM_CODEC_IICWrite(0x34, 0x44, 0x50);	//Left Out Mix(1)
		PCM_CODEC_IICWrite(0x34, 0x46, 0x55);	//Left Out Mix(2)
		PCM_CODEC_IICWrite(0x34, 0x48, 0x50);	//Rigth Out Mix(1)
		PCM_CODEC_IICWrite(0x34, 0x4a, 0x55);	//Right Out Mix(2)
		PCM_CODEC_IICWrite(0x34, 0x4c, 0x50);	//Mono Out Mix(1)
		PCM_CODEC_IICWrite(0x34, 0x4e, 0x55);	//Mono Out Mix(2)

		PCM_CODEC_IICWrite(0x34, 0x50, 0x79);	//LOUT1 Volume
		PCM_CODEC_IICWrite(0x34, 0x52, 0x79);	//ROUT1 Volume
		PCM_CODEC_IICWrite(0x34, 0x54, 0x79);	//LOUT2 Volume
		PCM_CODEC_IICWrite(0x34, 0x56, 0x79);	//ROUT2 Volume
		PCM_CODEC_IICWrite(0x34, 0x58, 0x79);	//MONO Out
		PCM_CODEC_IICWrite(0x34, 0x5a, 0x00);	//Output Control
		PCM_CODEC_IICWrite(0x34, 0x5c, 0x05);	//ADC Input Mode << Set L/R ADC input select to Line 1/2 '01' >>
		PCM_CODEC_IICWrite(0x34, 0x5e, 0x00);	//Input Control (1)
		PCM_CODEC_IICWrite(0x34, 0x60, 0x00);	//Input Control (2)
		PCM_CODEC_IICWrite(0x34, 0x62, 0x97);	//Left Input Volume
		PCM_CODEC_IICWrite(0x34, 0x64, 0x97);	//Right Input Volume
		PCM_CODEC_IICWrite(0x34, 0x66, 0x00);	//MIC Bias Comp Control

		PCM_CODEC_IICWrite(0x34, 0x68, 0x04);	//Clock Control << Clock for Voice Codec = MCLK or PLL1
		PCM_CODEC_IICWrite(0x34, 0x6a, 0x00);	//PLL1 Control (1)
		PCM_CODEC_IICWrite(0x34, 0x6c, 0x83);	//PLL1 Control (2)
		PCM_CODEC_IICWrite(0x34, 0x6e, 0x24);	//PLL1 Control (3)
		PCM_CODEC_IICWrite(0x34, 0x71, 0xba);	//PLL1 Control (4)

		PCM_CODEC_IICWrite(0x34, 0x72, 0x00);	//PLL2 Control (1)
		PCM_CODEC_IICWrite(0x34, 0x74, 0x83);	//PLL2 Control (2)
		PCM_CODEC_IICWrite(0x34, 0x76, 0x24);	//PLL2 Control (3)
		PCM_CODEC_IICWrite(0x34, 0x79, 0xba);	//PLL2 Control (4)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品一区二区三区四区| 国产一二精品视频| 亚洲精品国产第一综合99久久 | 亚洲免费电影在线| 久久综合狠狠综合| 精品88久久久久88久久久| 欧美成人a∨高清免费观看| 日韩欧美电影一区| 精品成人佐山爱一区二区| 欧美精品一区二区在线观看| 久久免费视频一区| 国产精品久久毛片a| 中文字幕在线不卡视频| 亚洲精品午夜久久久| 亚洲第一成人在线| 日本午夜精品一区二区三区电影 | 91视频国产观看| 色拍拍在线精品视频8848| 欧美色爱综合网| 欧美电影一区二区| 精品少妇一区二区三区日产乱码 | 国产日本一区二区| 中文字幕成人av| 亚洲色图欧美偷拍| 亚洲国产视频直播| 秋霞午夜鲁丝一区二区老狼| 国产乱淫av一区二区三区| 成人app软件下载大全免费| 91电影在线观看| 制服.丝袜.亚洲.另类.中文| 精品人在线二区三区| 国产精品久久久99| 视频在线观看一区| 国产精品一区久久久久| 一本到不卡精品视频在线观看| 欧美人伦禁忌dvd放荡欲情| 欧美xxxx老人做受| 国产精品不卡一区二区三区| 午夜电影网亚洲视频| 精品一区二区三区av| 成人黄色国产精品网站大全在线免费观看 | 美女网站色91| 成人午夜av电影| 欧美体内she精高潮| 日韩一区二区麻豆国产| 国产日韩欧美精品一区| 亚洲一区二区精品3399| 久久99精品久久久久婷婷| 不卡的av电影| 欧美一区二区三区精品| 亚洲欧洲另类国产综合| 美国毛片一区二区三区| 99天天综合性| 精品美女在线观看| 一区二区三区国产精华| 国产精品中文字幕欧美| 欧美另类高清zo欧美| 国产精品久久久久一区二区三区 | 精品在线你懂的| 色婷婷综合久久| 久久欧美一区二区| 午夜精品福利一区二区三区蜜桃| 成人一区二区三区| 日韩一区二区免费视频| 亚洲自拍偷拍综合| 欧美一三区三区四区免费在线看| 久久久国产综合精品女国产盗摄| 亚洲福利视频一区二区| av亚洲精华国产精华精华 | 国产精品久久久久久久浪潮网站| 日本午夜一本久久久综合| 色狠狠桃花综合| 国产清纯在线一区二区www| 日本系列欧美系列| 色老汉av一区二区三区| 国产情人综合久久777777| 久久福利资源站| 欧美日韩国产另类一区| 亚洲欧美区自拍先锋| 国产成人一区二区精品非洲| 69堂国产成人免费视频| 亚洲午夜在线观看视频在线| 97精品久久久午夜一区二区三区 | 亚洲成av人片在www色猫咪| 波多野结衣中文一区| www久久精品| 久久69国产一区二区蜜臀| 欧美精品国产精品| 一区二区在线免费观看| 91在线云播放| 1024成人网| 92精品国产成人观看免费| 国产日韩av一区| 国产成人aaaa| 国产清纯白嫩初高生在线观看91| 国产制服丝袜一区| 精品国免费一区二区三区| 免费av网站大全久久| 91精品国产综合久久福利软件| 亚洲成人资源网| 在线免费观看日韩欧美| 亚洲精品国产第一综合99久久| 99久久国产综合色|国产精品| 中文字幕一区三区| 99精品在线观看视频| 中文字幕一区二区三区乱码在线| www.视频一区| 成人欧美一区二区三区白人| 福利视频网站一区二区三区| 日本一区二区视频在线观看| 成人综合婷婷国产精品久久| 亚洲欧洲无码一区二区三区| 色婷婷久久久综合中文字幕 | 日韩电影免费一区| 日韩一区二区三区免费看| 麻豆精品视频在线观看视频| 精品三级av在线| 国产成人av网站| 国产精品大尺度| 欧美在线观看一区二区| 天堂一区二区在线| 日韩美女主播在线视频一区二区三区| 老司机精品视频一区二区三区| 久久欧美中文字幕| 99精品国产热久久91蜜凸| 一区二区三区.www| 日韩视频免费直播| 国产91精品露脸国语对白| 成人欧美一区二区三区| 欧美国产综合色视频| 91色综合久久久久婷婷| 午夜日韩在线观看| 欧美tickling挠脚心丨vk| 国产成人av一区二区| 尤物av一区二区| 日韩欧美成人一区| 国产成人精品免费| 一区二区国产盗摄色噜噜| 欧美一区二区人人喊爽| 国产成人av资源| 亚洲中国最大av网站| 日韩欧美中文字幕精品| 成av人片一区二区| 天堂资源在线中文精品| 久久综合中文字幕| 欧美亚一区二区| 激情五月激情综合网| 亚洲精品中文字幕乱码三区| 91精品午夜视频| av高清久久久| 免费观看一级特黄欧美大片| 国产欧美综合在线观看第十页| 欧美色区777第一页| 国内精品久久久久影院色| 亚洲丝袜自拍清纯另类| 日韩一级在线观看| 91视频国产资源| 国产呦精品一区二区三区网站| 一区二区三区中文字幕| wwwwww.欧美系列| 欧美日韩一区成人| 国产高清不卡一区| 日韩1区2区日韩1区2区| 亚洲人成网站在线| 国产午夜精品一区二区三区视频 | 欧美精品一区在线观看| 欧美系列日韩一区| 成人国产亚洲欧美成人综合网| 视频一区欧美日韩| 亚洲欧洲一区二区在线播放| 久久综合久久综合亚洲| 777久久久精品| 色综合一个色综合亚洲| 国产精品亚洲综合一区在线观看| 丝袜美腿亚洲色图| 亚洲日本va午夜在线影院| 久久夜色精品一区| 51精品秘密在线观看| 91在线视频播放| 国产成人午夜精品5599| 日本亚洲最大的色成网站www| 夜夜夜精品看看| 亚洲欧美日韩国产成人精品影院| 久久久久久久久久美女| 欧美一级夜夜爽| 欧美性色综合网| 91色.com| av毛片久久久久**hd| 国产91精品一区二区麻豆亚洲| 精品一区免费av| 美国十次了思思久久精品导航| 婷婷开心久久网| 午夜影院久久久| 亚洲超碰精品一区二区| 亚洲电影欧美电影有声小说| 亚洲一区二区免费视频| 亚洲一区在线观看免费| 亚洲一区二区四区蜜桃| 一区二区三区高清| 亚洲一区欧美一区|