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

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

?? ac97.c

?? 三星 s3c6400測試代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
	 	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)

	 	//Disp("AC97 Codec 0x26 Reg.: 0x%x\n\n", AC97_CodecCmd(READ,0x26,0x0000));
		AC97_CodecCmd(WRITE,0x3c, 0xfbff);		// Enable MBIAS generator
		Delay(1000);
		
		AC97_CodecCmd(WRITE,0x26, 0x4300);		// Enable PR2(I/P PGA's and mixers)
		AC97_CodecCmd(WRITE,0x3C, 0xfbcf);		// Enable ADC L/R
		AC97_CodecCmd(WRITE,0x26, 0x4200);		// Enable Stereo ADC 
		AC97_CodecCmd(WRITE,0x26, 0x0200);		// Enable PR6 (O/P PGA's)
		AC97_CodecCmd(WRITE,0x3E, 0xff9f);		// Enable LINE L/R PGA

		AC97_CodecCmd(WRITE,0x2A,0x1);		//Variable Rate Enable	
		Disp("VRA Enable(1)/Disable(0): 0x%x\n",(0x1&AC97_CodecCmd(READ,0x2A,0x0001)));

		if(uAc97Fs==8000){
		//ADC Sampling frequency 8kHz
		AC97_CodecCmd(WRITE,0x32,0x1f40);	
		}
		else if(uAc97Fs==48000){
		//ADC Sampling frequency 48kHz
		AC97_CodecCmd(WRITE,0x32,0xbb80);	
		}
		else if(uAc97Fs==44100){
		//ADC Sampling frequency 44.1kHz
		AC97_CodecCmd(WRITE,0x32,0xac44);
		}
		else if(uAc97Fs==22050){
		//ADC Sampling frequency 22.05kHz
		AC97_CodecCmd(WRITE,0x32,0x5622);	 	
		}
		
		Disp("\nAC97 Codec 0x32 Reg.: 0x%x\n\n", AC97_CodecCmd(READ,0x32,0x0000));

		AC97_CodecCmd(WRITE,0x5C, 0x2);		//ADC Slot Mapping: Left(Slot 6), Right(Slot 9)
		AC97_CodecCmd(WRITE,0x14, 0xfe12);		// Record Mux Source Selection: LINE L/R
		AC97_CodecCmd(WRITE,0x12, 0x1010);		// Unmute ADC and Set ADC Recoding Volume

	#endif

}


void AC97_PCMInDMA(u32 uRecBufferAddr, u32 uPcmSize)
{
	uAc97RecDone =0;
	
	//IRQ Setting
	INTC_SetVectAddr( NUM_DMA1, Isr_AC97_PCMIn_DMADone);
	INTC_Enable( NUM_DMA1);
	      
    //DMA Setting
    SYSC_SelectDMA(eSEL_AC_PCMIN, 1);
    DMAC_InitCh(DMA1 , DMA_A, &oAc97Dma);

    DMACH_ClearIntPending(&oAc97Dma);
	DMACH_ClearErrIntPending(&oAc97Dma);
	DMACH_Setup(DMA_A, 0x0, (u32)(AC97_BASE+rACPCMDATA), true, (u32)uRecBufferAddr, false, WORD, uPcmSize/4, HANDSHAKE, DMA1_AC_PCMin, MEM, SINGLE, &oAc97Dma);

	Disp("Supply Sound to AC97 CODEC via Line In Connector.\n");
    Disp("Press any key to record.\n");
    UART_Getc();
   	Disp("Recording...\n");

  	DMACH_Start(&oAc97Dma);

	//Transfer data enable using AC-Link
	AC97_SetTransferCh(PCM_IN, DMA);
 
    while(uAc97RecDone ==0)
    {
    	Disp(".");
        Delay(3000);
    }        
    		
    uAc97RecDone = 0;
    DMACH_Stop(&oAc97Dma);	// DMA stop
     
    INTC_Disable(NUM_DMA1);

    //AC97 PCM In Channel Finish 
    AC97_SetTransferCh(PCM_IN, OFF);
 
  	Disp("\nEnd of Record!\n");
}


void AC97_PCMOutDMA(u32 uRecBufferAddr, u32 uPcmSize)
{
	u32 uUpDownVolume;
	
	//IRQ Setting
	INTC_SetVectAddr( NUM_DMA1, Isr_AC97_PCMOut_DMADone);
	INTC_Enable( NUM_DMA1);
	      
    //DMA Setting
    SYSC_SelectDMA(eSEL_AC_PCMOUT, 1);
    DMAC_InitCh(DMA1, DMA_B, &oAc97Dma);

    DMACH_ClearIntPending(&oAc97Dma);
	DMACH_ClearErrIntPending(&oAc97Dma);
	DMACH_Setup(DMA_B, 0x0, (u32)uRecBufferAddr, false, (u32)(AC97_BASE+rACPCMDATA), true, WORD, uPcmSize/4, HANDSHAKE, MEM, DMA1_AC_PCMout, SINGLE, &oAc97Dma);
								
	Disp("\nListen to Sound via Speak Out Connector.\n");
	Disp("Press any key to play.\n");
    UART_Getc();
   	Disp("\nNow Play...\n");
	Disp("To Volume Up, Press the 'u' key.\n");
	Disp("To Volume Down, Press the 'd' key.\n");
	Disp("\nIf you want to exit, Press the 'x' key.\n");
	Disp("Headphone Volume Register = 0x%x\n", uOutputVolume);

  	DMACH_Start(&oAc97Dma);

	// Transfer data enable  using AC-Link
	AC97_SetTransferCh(PCM_OUT, DMA);
 
    while(1)
    {
    	uUpDownVolume = UART_Getc();

		if( (uUpDownVolume == 'x') | (uUpDownVolume == 'X')) 
		break;

	    AC97_SetOutputVolume(uUpDownVolume);
    }        
    		
    DMACH_Stop(&oAc97Dma);		// DMA stop
     
    INTC_Disable(NUM_DMA1);

    //AC97 PCM In Channel Finish 
    AC97_SetTransferCh(PCM_OUT, OFF);
 
  	Disp("\nEnd of Play!\n");	
}

void AC97_MICInDMA(u32 uRecBufferAddr, u32 uPcmSize)
{
	//IRQ Setting
	INTC_SetVectAddr( NUM_DMA1, Isr_AC97_MICIn_DMADone);
	INTC_Enable(NUM_DMA1);
	      
    //DMA Setting
    SYSC_SelectDMA(eSEL_AC_MICIN, 1);
    DMAC_InitCh(DMA1, DMA_A, &oAc97Dma);

    DMACH_ClearIntPending(&oAc97Dma);
	DMACH_ClearErrIntPending(&oAc97Dma);
	DMACH_Setup(DMA_A, 0x0, (u32)(AC97_BASE+rACMICDATA), true, (u32)uRecBufferAddr, false, WORD, uPcmSize/4, HANDSHAKE, DMA1_AC_MICin, MEM, SINGLE, &oAc97Dma);

	#if (AC97_CODEC_NAME== STAC9767)
		Disp("Supply Sound to AC97 CODEC via MIC In Connector.\n");
	#elif (AC97_CODEC_NAME== WM9713)	
		Disp("Supply Sound to AC97 CODEC via PCM In Connector.\n");
	#endif

    Disp("Press any key to start record.\n");
    UART_Getc();
   	Disp("Recording...\n");

  	DMACH_Start(&oAc97Dma);

	// Transfer data enable  using AC-Link
	AC97_SetTransferCh(MIC_IN, DMA);
 
    while(uAc97RecDone ==0)
    {
    	Disp(".");
        Delay(3000);
    }        
    		
    uAc97RecDone = 0;
    DMACH_Stop(&oAc97Dma);		// DMA stop
     
    INTC_Disable(NUM_DMA1);

    //AC97 PCM In Channel Finish 
    AC97_SetTransferCh(MIC_IN, OFF);

  	Disp("\nEnd of Record!\n");
}


void AC97_PCMInINT(u32 uRecBufferAddr, u32 uPcmSize)
{
	uAc97RecDone =0;

	uRecBuffer = (u32 *) uRecBufferAddr;
	uEndRecBuffer = uRecBuffer + uPcmSize;
    
	//IRQ Initialization
	INTC_ClearVectAddr();
	INTC_SetVectAddr(NUM_AC97, Isr_AC97_PCMIn);
	INTC_Enable(NUM_AC97);

	Disp("Supply Sound to AC97 CODEC via Line In Connector.\n");
    Disp("Press any key to record.\n");
    UART_Getc();
   	Disp("Recording...\n");

	AC97_ClearInt(PCMIN_THRESHOLD_INT);
	AC97_EnableInt(PCMIN_THRESHOLD_INT);

	AC97_SetTransferCh(PCM_IN, PIO);	
	
	while(1)
	{
	       if(uAc97RecDone == 1)
		break;	
	}

	AC97_SetTransferCh(PCM_IN, OFF);	
	
	INTC_Disable(NUM_AC97);
	AC97_DisableInt(PCMIN_THRESHOLD_INT);

	Disp("\nEnd of Record!\n");	
}


void AC97_PCMOutINT(u32 uRecBufferAddr, u32 uPcmSize)
{
	uAc97PlayDone =0;

	uRecBuffer = (u32 *) uRecBufferAddr;
	uEndRecBuffer = uRecBuffer + uPcmSize;
    
	//IRQ Initialization
	INTC_ClearVectAddr();
	INTC_SetVectAddr(NUM_AC97, Isr_AC97_PCMOut);
	INTC_Enable(NUM_AC97);

	Disp("\nListen to Sound via Speak Out Connector.\n");
	Disp("Press any key to play.\n");
    UART_Getc();
   	Disp("\nNow Play...\n");
	Disp("Headphone Volume Register = 0x%x\n", uOutputVolume);

	AC97_ClearInt(PCMIN_THRESHOLD_INT);
	AC97_EnableInt(PCMOUT_THRESHOLD_INT);

	AC97_SetTransferCh(PCM_OUT, PIO);	
	
	while(1)
	{
	       if(uAc97PlayDone == 1)
		break;	
	}

	AC97_SetTransferCh(PCM_OUT, OFF);	
	
	INTC_Disable(NUM_AC97);
	AC97_DisableInt(PCMOUT_THRESHOLD_INT);

	Disp("\nEnd of Play!\n");
}


void AC97_MICInINT(u32 uRecBufferAddr, u32 uPcmSize)
{
	uAc97RecDone =0;

	uRecBuffer = (u32 *) uRecBufferAddr;
	uEndRecBuffer = uRecBuffer + uPcmSize;
    
	//IRQ Initialization
	INTC_ClearVectAddr();
	INTC_SetVectAddr(NUM_AC97, Isr_AC97_MICIn);
	INTC_Enable(NUM_AC97);

	#if (AC97_CODEC_NAME== STAC9767)
		Disp("Supply Sound to AC97 CODEC via MIC In Connector.\n");
	#elif (AC97_CODEC_NAME== WM9713)	
		Disp("Supply Sound to AC97 CODEC via PCM In Connector.\n");
	#endif
	
    Disp("Press any key to record.\n");
    UART_Getc();
   	Disp("Recording...\n");

	AC97_ClearInt(MICIN_THRESHOLD_INT);
	AC97_EnableInt(MICIN_THRESHOLD_INT);

	AC97_SetTransferCh(MIC_IN, PIO);	
	
	while(1)
	{
	    if(uAc97RecDone == 1)
		break;	
	}

	AC97_SetTransferCh(MIC_IN, OFF);	
	
	INTC_Disable(NUM_AC97);
	AC97_DisableInt(MICIN_THRESHOLD_INT);

	Disp("\nEnd of Record!\n");	

}


void AC97_SetOutputVolume(u8 uUpDownVolume)
{
	if( ( uUpDownVolume == 'u') | (uUpDownVolume == 'U') )
	{	
		if (uOutputVolume == 0x0000) 
		{
			Disp("\nLimit Volume Range!");
		} 
		else 
		{
			uOutputVolume -= 0x0101;
			AC97_CodecCmd(WRITE,0x04, uOutputVolume);		// PCM out Volume Up
			Disp("\nHeadphone Volume Level (In AC97 Codec 04h Reg.): 0x%x", uOutputVolume);
		}
	}
				
	if ( ( uUpDownVolume == 'd') | (uUpDownVolume == 'D') ) 
	{	
		#if (AC97_CODEC_NAME== STAC9767)
		if (uOutputVolume == 0x1F1F) 
		#elif (AC97_CODEC_NAME== WM9713)	
		if (uOutputVolume == 0x3F3F) 
		#endif
		{
			Disp("\nLimit Volume Range!");
		} 
		else 
		{
			uOutputVolume += 0x0101;
			AC97_CodecCmd(WRITE,0x04, uOutputVolume);		// PCM out Volume Down
			Disp("\nHeadphone Volume Level (In AC97 Codec 04h Reg.): 0x%x", uOutputVolume);
		}
	}
}

void AC97_ExitCodecPCMOut(void)
{
	//DACs off
	Disp("\n\n=>DACs off PR1\n");
	AC97_CodecCmd((AC97_CMD)0,0x26,(1<<8)|(1<<9));
	AC97_ControllerState();
	Disp("AC97 Codec Powerdown Ctrl/Stat 0x26 Reg.: 0x%x\n", AC97_CodecCmd(READ,0x26,0x0000));	

	//Analog off
	Disp("\n=>Analog off PR2\n");
	AC97_CodecCmd((AC97_CMD)0,0x26,(1<<8)|(1<<9)|(1<<10));
	AC97_ControllerState();
	Disp("AC97 Codec Powerdown Ctrl/Stat 0x26 Reg.: 0x%x\n", AC97_CodecCmd(READ,0x26,0x0000));	

	//Digital I/F off
	Disp("\n=>Digital I/F off PR4\n");
	AC97_CodecCmd((AC97_CMD)0,0x26,(1<<8)|(1<<9)|(1<<10)|(1<<12));
	AC97_ControllerState();
	Disp("AC97 Codec Powerdown Ctrl/Stat 0x26 Reg.: 0x%x\n", AC97_CodecCmd(READ,0x26,0x0000));	
}

void AC97_ExitCodecPCMIn(u16 uDACsOff)
{
	//ADCs off
	Disp("\n\n=>ADCs off PR0\n");
	AC97_CodecCmd(WRITE,0x26,(1<<8));
	AC97_ControllerState();
	Disp("AC97 Codec Powerdown Ctrl/Stat 0x26 Reg.: 0x%x\n", AC97_CodecCmd(READ,0x26,0x0000));

	if(uDACsOff == 1)
	{
		//DACs off
		Disp("\n\n=>DACs off PR1\n");
		AC97_CodecCmd(WRITE,0x26,(1<<8)|(1<<9));
		AC97_ControllerState();
		Disp("AC97 Codec Powerdown Ctrl/Stat 0x26 Reg.: 0x%x\n", AC97_CodecCmd(READ,0x26,0x0000));
	}
	//Analog off
	Disp("\n=>Analog off PR2\n");
	AC97_CodecCmd(WRITE,0x26,(1<<8)|(1<<9)|(1<<10));
	AC97_ControllerState();
	Disp("AC97 Codec Powerdown Ctrl/Stat 0x26 Reg.: 0x%x\n", AC97_CodecCmd(READ,0x26,0x0000));	

	//Digital I/F off
	Disp("\n=>Digital I/F off PR4\n");
	AC97_CodecCmd(WRITE,0x26,(1<<8)|(1<<9)|(1<<10)|(1<<12));
	AC97_ControllerState();
	Disp("AC97 Codec Powerdown Ctrl/Stat 0x26 Reg.: 0x%x\n", AC97_CodecCmd(READ,0x26,0x0000));
}


void AC97_ExitCodecMICIn(u16 uDACsOff)
{
	//ADCs off
	Disp("\n\n=>ADCs off PR0\n");
	AC97_CodecCmd((AC97_CMD)0,0x26,(1<<8));
	AC97_ControllerState();
	Disp("AC97 Codec Powerdown Ctrl/Stat 0x26 Reg.: 0x%x\n", AC97_CodecCmd(READ,0x26,0x0000));

	if(uDACsOff == 1)
	{
		//DACs off
		Disp("\n\n=>DACs off PR1\n");
		AC97_CodecCmd((AC97_CMD)0,0x26,(1<<8)|(1<<9));
		AC97_ControllerState();
		Disp("AC97 Codec Powerdown Ctrl/Stat 0x26 Reg.: 0x%x\n", AC97_CodecCmd(READ,0x26,0x0000));
	}
	
	//Analog off
	Disp("\n=>Analog off PR2\n");
	AC97_CodecCmd((AC97_CMD)0,0x26,(1<<8)|(1<<9)|(1<<10));
	AC97_ControllerState();
	Disp("AC97 Codec Powerdown Ctrl/Stat 0x26 Reg.: 0x%x\n", AC97_CodecCmd(READ,0x26,0x0000));	

	//Digital I/F off
	Disp("\n=>Digital I/F off PR4\n");
	AC97_CodecCmd((AC97_CMD)0,0x26,(1<<8)|(1<<9)|(1<<10)|(1<<12));
	AC97_ControllerState();
	Disp("AC97 Codec Powerdown Ctrl/Stat 0x26 Reg.: 0x%x\n", AC97_CodecCmd(READ,0x26,0x0000));	
}


//ISR
void __irq Isr_AC97_CodecReady(void)
{ 
	u32 uState;

	uState= Inp32(AC97_BASE+rACGLBSTAT); 
	
	if ( (uState & 0x400000))
	{
		uCodecReadyIrq = 1;
		Disp("Codec Ready!\n");	
	}
	
	INTC_Disable(NUM_AC97);
	AC97_DisableInt(CODEC_READY_INT);	//Sholud be located after uState= Inp32(AC97_BASE+rACGLBSTAT); 
	
	AC97_ClearInt(CODEC_READY_INT);
	INTC_ClearVectAddr();
}

void __irq Isr_AC97_PCMIn_DMADone(void)
{
	INTC_Disable(NUM_DMA1);

	Disp("\nPCM In DMA Done.\n");
	uAc97RecDone = 1;

	DMACH_ClearIntPending(&oAc97Dma);
	DMACH_ClearErrIntPending(&oAc97Dma);
	INTC_ClearVectAddr();	
}

void __irq Isr_AC97_PCMOut_DMADone(void)
{
	INTC_Disable(NUM_DMA1);

	Disp("\n~~~");
	DMAC_InitCh(DMA1 , DMA_B, &oAc97Dma);
	
	DMACH_ClearIntPending(&oAc97Dma);
	DMACH_ClearErrIntPending(&oAc97Dma);
	INTC_ClearVectAddr();	

	INTC_Enable(NUM_DMA1);

	DMACH_Setup(DMA_B, 0x0, (u32)REC_BUF, false, (u32)(AC97_BASE+rACPCMDATA), true, WORD, AC97_REC_LEN/4, HANDSHAKE, MEM, DMA1_AC_PCMout, SINGLE, &oAc97Dma);
	DMACH_Start(&oAc97Dma);
}

void __irq Isr_AC97_MICIn_DMADone(void)
{
	INTC_Disable(NUM_DMA1);

	Disp("\nMIC In DMA Done.\n");
	uAc97RecDone = 1;

	DMACH_ClearIntPending(&oAc97Dma);
	DMACH_ClearErrIntPending(&oAc97Dma);
	INTC_ClearVectAddr();	
}

void __irq Isr_AC97_PCMIn(void)
{
	u32 uGlbStatus, i; 

	INTC_Disable(NUM_AC97);
	
	uGlbStatus= Inp32(AC97_BASE+rACGLBSTAT);
	
	if (uGlbStatus & AC97_PCM_IN_THRESHOLD)
	{
		for(i=0; i<PCM_IN_TRIGGER; i++)
		{
			*(uRecBuffer++) = Inp32(AC97_BASE+rACPCMDATA);			

			if(uRecBuffer == uEndRecBuffer)  
			break;	
		}			
	}
	
	AC97_DisableInt(PCMIN_THRESHOLD_INT);

	if(uRecBuffer == uEndRecBuffer) 
		uAc97RecDone =1;	

	AC97_ClearInt(PCMIN_THRESHOLD_INT);
	INTC_ClearVectAddr();

	AC97_EnableInt(PCMIN_THRESHOLD_INT);
	INTC_Enable(NUM_AC97);
}

void __irq Isr_AC97_PCMOut(void)
{
	u32 uGlbStatus, i; 

	INTC_Disable(NUM_AC97);
	
	uGlbStatus= Inp32(AC97_BASE+rACGLBSTAT);
	
	if (uGlbStatus & AC97_PCM_OUT_THRESHOLD)
	{
		for(i=0; i<PCM_OUT_TRIGGER; i++)
		{	
			AC97Outp32(rACPCMDATA, *(uRecBuffer++));	

			if(uRecBuffer == uEndRecBuffer)  
			break;	
		}			
	}
	AC97_DisableInt(PCMOUT_THRESHOLD_INT);
	
	if(uRecBuffer == uEndRecBuffer) 
		uAc97PlayDone =1;	

	AC97_ClearInt(PCMOUT_THRESHOLD_INT);
	INTC_ClearVectAddr();
	
	AC97_EnableInt(PCMOUT_THRESHOLD_INT);
	INTC_Enable(NUM_AC97);
}

void __irq Isr_AC97_MICIn(void)
{
	u32 uGlbStatus, i; 

	INTC_Disable(NUM_AC97);
	
	uGlbStatus= Inp32(AC97_BASE+rACGLBSTAT);
	
	if (uGlbStatus & AC97_MIC_IN_THRESHOLD)
	{
		for(i=0; i<PCM_IN_TRIGGER; i++)
		{
			*(uRecBuffer++) = Inp32(AC97_BASE+rACMICDATA);			

			if(uRecBuffer == uEndRecBuffer)  
			break;	
		}			
	}
	AC97_DisableInt(MICIN_THRESHOLD_INT);

	if(uRecBuffer == uEndRecBuffer) 
		uAc97RecDone =1;	
	
	AC97_ClearInt(MICIN_THRESHOLD_INT);
	INTC_ClearVectAddr();

	AC97_EnableInt(MICIN_THRESHOLD_INT);
	INTC_Enable(NUM_AC97);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人欧美日韩在线电影| 亚洲人成7777| 日产精品久久久久久久性色| 在线观看国产精品网站| 国产精品毛片大码女人| 成人免费三级在线| 亚洲日本成人在线观看| 一本久久精品一区二区| 亚洲高清久久久| 欧美高清激情brazzers| 免费人成精品欧美精品| 精品国产一区二区三区久久久蜜月 | 精品在线一区二区三区| 久久日韩粉嫩一区二区三区| 粉嫩久久99精品久久久久久夜| 国产精品电影一区二区三区| 日本乱码高清不卡字幕| 亚洲激情五月婷婷| 91精品在线免费| 国产一区二区精品在线观看| 亚洲同性同志一二三专区| 色婷婷狠狠综合| 日韩成人一区二区三区在线观看| 欧美成人精精品一区二区频| 成人激情图片网| 午夜久久久久久| 国产免费观看久久| 欧美色偷偷大香| 国产精品一二三区| 亚洲欧美激情视频在线观看一区二区三区| 一本大道av伊人久久综合| 日韩在线一二三区| 国产精品美女久久久久久2018| 欧美性色黄大片| 韩国精品主播一区二区在线观看| 国产精品久久久久aaaa樱花| 91.com在线观看| 99re在线精品| 国内精品写真在线观看| 一区二区三区色| 久久久欧美精品sm网站| 欧美亚男人的天堂| 国产一区二区三区免费播放| 亚洲网友自拍偷拍| 国产精品色噜噜| 日韩欧美一区电影| 在线视频国产一区| 成人av网址在线| 理论电影国产精品| 亚洲成人一区在线| 尤物视频一区二区| 中文字幕 久热精品 视频在线 | 亚洲欧美日韩在线播放| 精品剧情在线观看| 欧美卡1卡2卡| 日本久久电影网| a4yy欧美一区二区三区| 极品美女销魂一区二区三区免费| 亚洲午夜免费电影| 亚洲免费av观看| 久久久欧美精品sm网站| 精品国产制服丝袜高跟| 91精品国产色综合久久ai换脸 | 国产欧美日韩不卡免费| 日韩一二三四区| 欧美日韩成人高清| 欧美亚日韩国产aⅴ精品中极品| a在线欧美一区| 成人午夜激情影院| 懂色av噜噜一区二区三区av| 国产在线精品免费av| 蓝色福利精品导航| 美腿丝袜在线亚洲一区| 奇米精品一区二区三区四区| 亚洲电影一区二区| 五月天亚洲婷婷| 亚洲成a人片综合在线| 亚洲一区在线观看免费| 一区二区三区美女| 丝袜诱惑制服诱惑色一区在线观看| 一区二区三区中文在线| 亚洲美女在线一区| 亚洲夂夂婷婷色拍ww47| 亚洲午夜羞羞片| 青青草伊人久久| 蜜臀精品久久久久久蜜臀| 老司机精品视频线观看86| 激情文学综合插| 国产美女久久久久| 波多野结衣在线一区| 99久久综合国产精品| 色婷婷综合久色| 欧美精品国产精品| 精品久久久久久久久久久久久久久 | 日本道色综合久久| 欧美人妇做爰xxxⅹ性高电影| 欧美日韩日日骚| 日韩女同互慰一区二区| 久久久亚洲国产美女国产盗摄| 欧美极品少妇xxxxⅹ高跟鞋| 亚洲欧洲色图综合| 午夜一区二区三区视频| 久久电影网站中文字幕 | 99精品视频中文字幕| 欧美性大战xxxxx久久久| 日韩午夜激情免费电影| 久久久久国产精品人| 亚洲精品伦理在线| 免费在线观看视频一区| 国产福利一区二区| 色噜噜夜夜夜综合网| 欧美精品18+| 国产欧美日韩久久| 五月天欧美精品| 国产精华液一区二区三区| 日本韩国一区二区三区视频| 日韩一二在线观看| 亚洲乱码精品一二三四区日韩在线| 婷婷丁香激情综合| 成人在线综合网站| 欧美在线999| 久久精品这里都是精品| 亚洲综合久久av| 国产高清精品久久久久| 在线播放一区二区三区| 亚洲国产精品国自产拍av| 五月综合激情网| av一区二区久久| 日韩欧美一区在线| 亚洲人成网站影音先锋播放| 精品无人码麻豆乱码1区2区| 日本韩国欧美三级| 国产午夜精品一区二区三区嫩草| 亚洲成人一区二区| 不卡一区二区三区四区| 日韩视频中午一区| 亚洲一区二区三区激情| www.色精品| 久久精品网站免费观看| 六月丁香综合在线视频| 在线看日本不卡| 国产精品免费久久久久| 国产美女一区二区三区| 欧美一区二区不卡视频| 一区二区高清免费观看影视大全| 丁香啪啪综合成人亚洲小说 | 国产精品77777| 欧美一区二区视频网站| 艳妇臀荡乳欲伦亚洲一区| 波多野结衣精品在线| 久久精品人人爽人人爽| 精品一区二区影视| 欧美性一二三区| 亚洲乱码国产乱码精品精的特点 | 亚洲日本护士毛茸茸| 成人国产精品视频| 久久久91精品国产一区二区精品| 日本美女一区二区三区视频| 欧美剧情片在线观看| 亚洲一区二区三区四区在线免费观看 | 国产精品一区不卡| 欧美精品一区二区三区高清aⅴ | 欧美一区二区三区在线观看视频| 一区二区三区91| 欧美伊人久久久久久午夜久久久久| 欧美激情在线一区二区三区| 国产福利电影一区二区三区| 久久亚洲综合av| 国产高清精品在线| 国产精品国产三级国产| 白白色亚洲国产精品| 国产精品美女久久久久久久网站| 成人黄色一级视频| 日韩久久一区二区| 在线观看亚洲专区| 亚洲v日本v欧美v久久精品| 欧美日韩国产乱码电影| 亚洲成人av电影在线| 在线不卡的av| 久久精品国产一区二区三区免费看| 日韩精品一区二区三区视频在线观看 | 国产亚洲一区二区三区在线观看| 国产精品一区免费在线观看| 国产欧美日韩综合| 春色校园综合激情亚洲| 综合亚洲深深色噜噜狠狠网站| 91亚洲精品久久久蜜桃网站| 一区二区三区在线高清| 欧美丰满少妇xxxxx高潮对白| 日本不卡123| 久久久久久久久免费| 国产99久久精品| 亚洲欧美另类在线| 欧美放荡的少妇| 国产大陆a不卡| 一区二区三区日韩| 精品国产一区二区在线观看| 成人av资源网站| 天天综合网天天综合色| 久久精品人人做人人综合 |