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

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

?? iis_dual.c

?? 2440 cpu test
?? C
字號:
/*************************************************
  NAME: iis_dual.c
  DESC: S3C2440 IIS (UDA1341) simultaneous record & play test 
  HISTORY:
  OCT.17.2002:purnnamu: first release
  NOV.05.2002:purnnamu: Rec start/stop randomly.
  APR.01.2003:ky.shim: minor modification.
 *************************************************/

#include <math.h>
#include <stdlib.h>
 
#include "2440addr.h"
#include "2440lib.h"
#include "def.h"
#include "iis.h"

//declarations of some functions in 2440iis.c
void IIS_PortSetting(void);
void _WrL3Addr(U8 data);
void _WrL3Data(U8 data,int halt);


void Init1341RecPlay(void);

void AudioInit(void);
void AudioBufCopy(void);
void AudioInStart(void);
void AudioInStop(void);
void AudioOutStart(void);
void AudioOutStop(void);
void AudioOutRandom(void);

void __irq IsrAudioIn(void);
void __irq IsrAudioOut(void);
void __irq IsrAudioMute(void);

void InterruptLatencyStart(void);
void InterruptLatencyStop(void);
void __irq IsrTimer0_InterruptLatency(void);


#define MAX_INDEX_AUDIO_BUF	(200)    
#define AUDIO_BUF_SIZE		(1000)	 //500 stereo samples

U16 (*playBuf)[AUDIO_BUF_SIZE];
U16 (*recBuf) [AUDIO_BUF_SIZE];
volatile int indexPlayBuf,indexRecBuf;
volatile int stopPlay,stopRec;
volatile int audioOutActive,audioInActive;


//------------------------------------------------------------------------------
//      SMDK2440 IIS Configuration
// GPB4 = L3CLOCK, GPB3 = L3DATA, GPB2 = L3MODE
// GPE4 = I2SSDO,  GPE3 = I2SSDI, GPE2 = CDCLK, GPE1 = I2SSCLK, GPE0 = I2SLRCK  
//------------------------------------------------------------------------------



//**************************************************
//                     IIS test
//**************************************************

void Test_IisRecPlay(void)
{
	
    int i;
    int ranPlay=FALSE;
    char key;
    
#if ADS10==TRUE	
	srand(0);
#endif

    Uart_Printf("[ IIS (Master Mode,Rec&Play) Test(UDA1341) ]\n");
    Uart_TxEmpty(1);
	
	ChangeClockDivider(14,12);		// 1:4:8    
	ChangeMPllValue(233,6,0);		// 361.2672MHz
	Uart_Init(45158400,115200);	   
        
    IIS_PortSetting();
    Init1341RecPlay();
    
    playBuf=(U16 (*)[AUDIO_BUF_SIZE])0x31000000;
    recBuf=(U16 (*)[AUDIO_BUF_SIZE])(0x31000000+sizeof(U16)*AUDIO_BUF_SIZE*MAX_INDEX_AUDIO_BUF);
    
    indexPlayBuf=indexRecBuf=0;
    audioOutActive=audioInActive=FALSE;
    stopPlay=stopRec=FALSE;
    
    //for(i=0x31000000;i<0x31100000;i+=4)*((U32 *)i)=0;
    
    AudioInit();
    pISR_DMA1  = (U32)IsrAudioIn;
    pISR_DMA2  = (U32)IsrAudioOut;
    pISR_EINT0 = (U32)IsrAudioMute;
    
    
    rSRCPND    = (BIT_EINT0 | BIT_DMA1 | BIT_DMA2);
    rINTPND    = rINTPND;
    rINTMSK    = ~(BIT_EINT0 | BIT_DMA1 | BIT_DMA2);   
    
    Uart_Printf("If you want to mute or no mute push the 'EIN0' key repeatedly\n");
    Uart_Printf("Sampling Frequency = %d Hz\n",44100);
    

    while(1)
    {
    	Uart_Printf("\n[Select Menu] (Rec Play Begin End Toggle Random)\n"
    	            "1:R_B 2:R_E 3:PR_T 4:P_B 5:P_E 6:Copy:R->P 7:IL_B 8:IL_E 9:Exit\n");
    	            
    	while((key=Uart_GetKey())==0)
    	{
    	    if(ranPlay==TRUE)
    	    	AudioOutRandom();
    	}

    	switch(key)
    	{
    	case '1':
    	    AudioInStart();
    	    break;
    	case '2':
    	    AudioInStop();
    	    break;
    	case '3':
			
/*
    	    if(ranPlay==FALSE)
    	    {
    	    	ranPlay=TRUE;
    	    	Uart_Printf("Random Play Stop/Start begins.\n");
    	    }
    	    else
    	    {
    	    	ranPlay=FALSE;
    	    	Uart_Printf("Random Play Stop/Start ends.\n");
    	    }
*/
	    break;
    	case '4':
    	    AudioOutStart();
    	    break;
    	case '5':
    	    AudioOutStop();
    	    break;
    	case '6':
    	    AudioBufCopy();
            break;
        case '7':
            InterruptLatencyStart();
	    break;
        case '8':
            InterruptLatencyStop();
   	    break;
    	case '9':
    	    return;
    	default:
    	    break;    
    	}
    }
	
	ChangeClockDivider(14,12);		// 1:2:4    
	ChangeMPllValue(92,1,0);		// 400MHz
	Uart_Init(FCLK/8,115200); 
}


void AudioBufCopy(void)
{
    int i,j;
    Uart_Printf("[Audio Buffer Copy recBuf -> playBuf]\n");    
    
    if(audioInActive==TRUE)
    {
    	Uart_Printf("Rec is ongoing. Please Stop Recording.\n");
    	return;
    }
    
    for(i=0;i<MAX_INDEX_AUDIO_BUF;i++)
        for(j=0;j<AUDIO_BUF_SIZE;j++)
            playBuf[i][j]=recBuf[i][j];
}


void InterruptLatencyStart(void)
{
    Uart_Printf("[Random Interrupt Latency Start]\n");	
    pISR_TIMER0 = (U32)IsrTimer0_InterruptLatency;  //to make a worst condition
    rTCFG0=(3<<0);  //Timer0&1Prescaler=(3+1)
    rTCFG1=(3<<0);  //Timer0=PCLK/4/16
    rTCNTB0=1;
    rTCON=(1<<1); //T0ManualUpdate
    rTCON=(1<<0); //T0Start
    
    rINTMSK&=~(BIT_TIMER0);
}

void InterruptLatencyStop(void)
{
    rINTMSK|=BIT_TIMER0;
     
    Uart_Printf("[Random Interrupt Latency Stop]\n");	
}


void AudioInit(void)
{
    //DMA1 for AudioIn
    rDMASKTRIG1 = (1<<2);  	//Dma1Stop

    //DMA2 for AudioOut
    rDMASKTRIG2 = (1<<2);	//Dma2Stop 

    //IIS
    rIISCON=(1<<5)|(1<<4)|(1<<1);
        //TxDMAReqEn,RxDMAReqEn,IISPrescalerEn    
    rIISMOD=(0<<8)|(3<<6)|(0<<4)|(1<<3)|(0<<2)|(1<<0);
        //Master,Tx&Rx,IisFormat,16bit,256fs,32fs
    rIISPSR=(3<<5)|(3<<0);   
    	//PreScalerA=45Mhz/4,PreScalerB=45Mhz/4
    rIISFCON=(1<<15)|(1<<14)|(1<<13)|(0<<12);
    	//TxFifo=DMA,RxFifo=DMA,TxFifoEn,RxFifoDis
    rIISCON|=(1<<0);
        //IIS Enable;
        //IIS will not start because DMA is not ready.
}




//**************************************************
//                     AudioOut
//**************************************************


void AudioOutStart(void)
{
    if(audioOutActive!=FALSE)
    {
    	Uart_Printf("[N/A]");
    	return;
    }
    	
    Uart_Printf("[AudioOut Start]\n");    	
    stopPlay=FALSE;
    audioOutActive=TRUE;	
    indexPlayBuf=0;
    
    //Init DMA Ch 2
    rDISRC2 = (U32)(playBuf[indexPlayBuf++]);
    
    rDISRCC2 = (0<<1)|(0<<0); //Src=AHB,Increment
    rDIDST2 = (U32)IISFIFO;  // Tx FIFO address
    rDIDSTC2 = (1<<1)|(1<<0); //Dst=APB,Fixed;
    rDCON2 = (1<<31)|(0<<30)|(1<<29)|(0<<28)|(0<<27)|(0<<24)|(1<<23)|(1<<22)|(1<<20)|(AUDIO_BUF_SIZE);
        //handshake,Sync=APB,IntEn,unit,single,dst=I2SSDO,HwReqMode,NoAutoReload,Halfword,
    rDMASKTRIG2 = (1<<1); 	//DMA2En
 

    //IIS will start to work.
}


#define DMA_OFF_TIMEOUT		(1000)

void AudioOutStop(void)
{
    Uart_Printf("\n[AudioOut Stop]\n");    	
    stopPlay=TRUE;
}


void AudioOutRandom(void)
{
    static state=0, cnt=0;
	
#if ADS10==TRUE
    if( (rand()/(RAND_MAX/2000000)) < 1 )
#else
    if(cnt++%2)
#endif
    {
   	switch(state++)
   	{
   	case 0:
   	    AudioOutStart();
   	    state=1;
   	    break;
   	case 1:
   	    state=2;
   	    break;
   	case 2:
   	    AudioOutStop();
   	    state=0;
   	    break;
   	default:
	    break;
	}
    } 
}


void __irq IsrAudioOut(void)  //DMA2 done interrupt
{
    int timeOut=0;
    
    //NMI doesn't using auto-reload.	
	
    ClearPending(BIT_DMA2);

    if(stopPlay==TRUE)
    {	    
    #if 1
    	rDMASKTRIG2|= (1<<2);  //NMI 
    #else 
    	rDMASKTRIG2= (1<<2);   //StopDMA2  //recommended
    #endif	

    	while (rDMASKTRIG2&(1<<1) && (timeOut++ < DMA_OFF_TIMEOUT));
    	if(timeOut >= DMA_OFF_TIMEOUT)
      	    Uart_Printf("ERROR: DMA2 Stop timed out\n");
	rDMASKTRIG2 &= ~(1<<2); //not needed.... remove!!!
	audioOutActive=FALSE;
	Uart_Printf("<PE>");
    }  
    else
    {
	rDISRC2 = (U32)(playBuf[indexPlayBuf++]);
    	if(indexPlayBuf==MAX_INDEX_AUDIO_BUF)
    	{
    	    indexPlayBuf=0;
     	}
    	rDMASKTRIG2 |= (1<<1);   //enable DMA2  
 
     	if((indexPlayBuf%10)==0)
    	{
    	    if(indexPlayBuf==0)WrUTXH0(';');
    	    else WrUTXH0(',');
    	}
     }
}


//**************************************************
//                     AudioIn
//**************************************************

void AudioInStart(void)
{
    if(audioInActive!=FALSE)
    {
    	Uart_Printf("[N/A]");
    	return;
    }
        	
    Uart_Printf("[AudioIn Start]\n");    
    stopRec=FALSE;
    audioInActive=TRUE;	
    indexRecBuf=0;    
    
    //Init DMA Ch 1
    rDISRC1 = (U32)IISFIFO;  // Rx FIFO address
    rDISRCC1 = (1<<1)|(1<<0); //Src=APB,Fixed;
    rDIDST1 = (U32)(recBuf[indexRecBuf++]);
    rDIDSTC1 = (0<<1)|(0<<0); //DSt=AHB,Increment
    rDCON1 = (1<<31)|(0<<30)|(1<<29)|(0<<28)|(0<<27)|(2<<24)|(1<<23)|(0<<22)|(1<<20)|(AUDIO_BUF_SIZE);
        //handshake,Sync=APB,IntEn,unit,single,dst=I2SSDI,HwReqMode,AutoReload,Halfword,
    rDMASKTRIG1 = (1<<1); //DMA1En
  
    rIISFCON|=(1<<12);  //RxFifoEn
    rIISCON|=(1<<4);    //RxDmaServiceRequestEn
    
    while((rDSTAT1&0xFFFFF) == 0);   
    
    rDIDST1 = (U32)(recBuf[indexRecBuf++]);
    
    //IIS will start to work.
}




void AudioInStop(void)
{
    Uart_Printf("\n[AudioIn Stop]\n");    	
    stopRec=TRUE;
}




void __irq IsrAudioIn(void) //DMA1 done interrupt
{
    int timeOut=0;
    
    ClearPending(BIT_DMA1);                 //Clear pending bit

    while((rDSTAT1 & 0xFFFFF) == 0);  //wait until the current autoreload is completed

    if(stopRec==TRUE)
    {
    	rIISCON&=~(1<<4);    //RxDmaServiceRequestDis
        rIISFCON&=~(1<<12);   //RxFifoDis	
    #if 1
    	rDMASKTRIG1|= (1<<2);  //NMI
    #else 
    	rDMASKTRIG1= (1<<2);   //recommended
    #endif	
    	while (rDMASKTRIG1&(1<<1) && (timeOut++ < DMA_OFF_TIMEOUT));
    
    	if(timeOut >= DMA_OFF_TIMEOUT)
      	    Uart_Printf("ERROR: DMA1 Stop timed out\n");

    	rDMASKTRIG1 &= ~(1<<2); //not needed.... remove!!!

    	audioInActive=FALSE;
    	Uart_Printf("[RE]");
    }
    else
    {
    	rDIDST1 = (U32)(recBuf[indexRecBuf++]);
    	if(indexRecBuf==MAX_INDEX_AUDIO_BUF)
    	{
    	    indexRecBuf=0;
    	}
    	if((indexRecBuf%10)==0)
    	{
    	    if(indexRecBuf==0)WrUTXH0(':');
    	    else WrUTXH0('.');
    	}
    }
    
}


void __irq IsrAudioMute(void)
{
    static int mute=0;
    
    ClearPending(BIT_EINT0);

    if(mute)    //Mute
    {
        _WrL3Addr(0x14 + 0);            //DATA0 (000101xx+00)
        _WrL3Data(0xa4,0);              //10,1,00,1,00 : after, no de-emp, mute, flat 
        mute = 0;
        Uart_Printf("\n[Mute]\n");
    }
    else        //No mute
    {
        _WrL3Addr(0x14 + 0);            //DATA0 (000101xx+00)
        _WrL3Data(0xa0,0);              //10,1,00,0,00 : after, no de-emp, no mute, flat 
        mute = 1;
        Uart_Printf("\n[No Mute]\n");
    }
}

//The following ISR makes an interrupt latency random time for audioIn and audioOut
void __irq IsrTimer0_InterruptLatency(void)
{
    static U16 count=0;
    ClearPending(BIT_TIMER0);
    count++;
    if(count==0x0)count=1;
    Delay(count&0x7f);
    Led_Display(count);

    rTCNTB0=count;
    rTCON=(1<<1); //T0ManualUpdate
    rTCON=(1<<0);  //T0Start  
    
}



//**************************************************
//                     UDA1341
//**************************************************

#define L3C (1<<4)            //GPB4 = L3CLOCK
#define L3D (1<<3)            //GPB3 = L3DATA
#define L3M (1<<2)            //GPB2 = L3MODE

void Init1341RecPlay(void)
{
    //Port Initialize
    //----------------------------------------------------------
    //   PORT B GROUP
    //Ports  :   GPB4    GPB3   GPB2  
    //Signal :  L3CLOCK L3DATA L3MODE
    //Setting:   OUTPUT OUTPUT OUTPUT 
    //           [9:8]   [7:6}  [5:4]
    //Binary :     01  ,   01    01 
    //----------------------------------------------------------    
    rGPBDAT = rGPBDAT & ~(L3M|L3C|L3D) |(L3M|L3C); //Start condition : L3M=H, L3C=H
    rGPBUP  = rGPBUP  & ~(0x7<<2) |(0x7<<2);       //The pull up function is disabled GPB[4:2] 1 1100    
    rGPBCON = rGPBCON & ~(0x3f<<4) |(0x15<<4);     //GPB[4:2]=Output(L3CLOCK):Output(L3DATA):Output(L3MODE)

    //L3 Interface
    _WrL3Addr(0x14 + 2);     //STATUS (000101xx+10)
    _WrL3Data(0x60,0);       //0,1,10,000,0 : Reset,256fs,no DCfilter,iis

    _WrL3Addr(0x14 + 2);     //STATUS (000101xx+10)
    _WrL3Data(0x20,0);       //0,0,10,000,0 : No reset,256fs,no DCfilter,iis
    
/*    
    //play
    _WrL3Addr(0x14 + 2);     //STATUS (000101xx+10)
    _WrL3Data(0x81,0);       //1,0,0,0,0,0,01 : OGS=0,IGS=0,ADC_NI,DAC_NI,sngl speed,AoffDon
        
    //record
    if(mode)
    {
        _WrL3Addr(0x14 + 2);     //STATUS (000101xx+10)
        _WrL3Data(0xa2,0);       //1,0,1,0,0,0,10 : OGS=0,IGS=1,ADC_NI,DAC_NI,sngl speed,AonDoff

        _WrL3Addr(0x14 + 0);     //DATA0 (000101xx+00)
        _WrL3Data(0xc2,0);       //11000,010  : DATA0, Extended addr(010) 
        _WrL3Data(0x4d,0);       //010,011,01 : DATA0, MS=9dB, Ch1=on Ch2=off, 
    }
*/
    _WrL3Addr(0x14 + 2);     //STATUS (000101xx+10)
    _WrL3Data(0xa3,0);       //1,0,1,0,0,0,11 : OGS=0,IGS=1,ADC_NI,DAC_NI,sngl speed,AonDon

    _WrL3Addr(0x14 + 0);     //DATA0 (000101xx+00)
    _WrL3Data(0xc2,0);       //11000,010  : DATA0, Extended addr(010) 
    _WrL3Data(0x4d,0);       //010,011,01 : DATA0, MS=9dB, Ch1=on Ch2=off, 
}

void IIS_PortSetting(void)
{
	//----------------------------------------------------------
	//   PORT B GROUP
	//Ports  :   GPB4    GPB3   GPB2  
	//Signal :  L3CLOCK L3DATA L3MODE
	//Setting:   OUTPUT OUTPUT OUTPUT 
	//	     [9:8]   [7:6}  [5:4]
	//Binary :     01  ,   01    01 
	//----------------------------------------------------------    
    	rGPBUP  = rGPBUP  & ~(0x7<<2) | (0x7<<2);   //The pull up function is disabled GPB[4:2] 1 1100    
    	rGPBCON = rGPBCON & ~(0x3f<<4) | (0x15<<4); //GPB[4:2]=Output(L3CLOCK):Output(L3DATA):Output(L3MODE)

	//----------------------------------------------------------
	//   PORT E GROUP
	//Ports  :  GPE4    GPE3   GPE2  GPE1    GPE0 
	//Signal : I2SSDO  I2SSDI CDCLK I2SSCLK I2SLRCK 
	//Binary :   10  ,   10     10 ,  10	10    
	//----------------------------------------------------------
    	rGPEUP  = rGPEUP  & ~(0x1f)  | 0x1f;    //The pull up function is disabled GPE[4:0] 1 1111
    	rGPECON = rGPECON & ~(0x3ff) | 0x2aa;   //GPE[4:0]=I2SSDO:I2SSDI:CDCLK:I2SSCLK:I2SLRCK

    	rGPFUP   = ((rGPFUP   & ~(1<<0)) | (1<<0));     //GPF0
    	rGPFCON  = ((rGPFCON  & ~(3<<0)) | (1<<1));     //GPF0=EINT0    
    	rEXTINT0 = ((rEXTINT0 & ~(7<<0)) | (2<<0));     //EINT0=falling edge triggered  
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久久久免费桃花| 亚洲视频精选在线| 色综合天天狠狠| 天天色天天操综合| 亚洲男人天堂av| 欧美国产精品一区二区三区| 欧美三级电影在线观看| 高清成人在线观看| 激情五月婷婷综合网| 亚洲成av人影院| 午夜精品久久久久久久| 一区精品在线播放| 国产亚洲精品精华液| 91精品免费在线观看| 91国模大尺度私拍在线视频| 成人自拍视频在线观看| 国模套图日韩精品一区二区| 奇米四色…亚洲| 天堂成人国产精品一区| 亚洲日本免费电影| 国产精品久久久久天堂| 久久久.com| 久久精品一区四区| 久久久久亚洲蜜桃| 久久亚洲影视婷婷| 精品国产乱码久久久久久蜜臀| 7777精品伊人久久久大香线蕉超级流畅| 99久久伊人网影院| 国产+成+人+亚洲欧洲自线| 国产一区视频网站| 国产综合久久久久久鬼色| 韩国视频一区二区| 国产精品一区二区久激情瑜伽| 秋霞av亚洲一区二区三| 日本va欧美va精品发布| 日韩专区欧美专区| 日本sm残虐另类| 捆绑紧缚一区二区三区视频| 免费日本视频一区| 黄页网站大全一区二区| 精品一区二区三区在线观看国产| 麻豆一区二区在线| 国内不卡的二区三区中文字幕| 国产乱码字幕精品高清av| 国产一区二区伦理| 成人在线综合网| 色综合久久中文综合久久牛| 在线观看一区日韩| 91精品国产综合久久精品麻豆| 91精品国产乱| 精品乱码亚洲一区二区不卡| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲精品一区二区三区在线观看| 久久伊人中文字幕| 国产精品私房写真福利视频| 亚洲免费观看高清完整版在线观看熊 | 免费视频最近日韩| 精品一区二区三区蜜桃| 国产大陆精品国产| 色域天天综合网| 欧美私模裸体表演在线观看| 91麻豆精品久久久久蜜臀| 精品国偷自产国产一区| 国产精品天干天干在观线| 亚洲黄网站在线观看| 日本成人中文字幕在线视频| 国产精品一区二区在线观看不卡 | 久久久久久久久蜜桃| 中文字幕亚洲欧美在线不卡| 又紧又大又爽精品一区二区| 日韩精品乱码免费| 国产成人av电影在线播放| 91国偷自产一区二区开放时间| 日韩丝袜情趣美女图片| 国产欧美一区二区精品秋霞影院| 亚洲欧美另类小说视频| 美腿丝袜在线亚洲一区| 99国产精品一区| 日韩欧美中文字幕制服| 欧美激情艳妇裸体舞| 亚洲国产精品久久人人爱蜜臀 | 日本午夜精品视频在线观看| 国产精品亚洲成人| 欧美日韩中文字幕一区二区| 亚洲精品一区二区三区香蕉| 亚洲人吸女人奶水| 国产真实乱偷精品视频免| 在线视频综合导航| 精品sm在线观看| 亚洲第一搞黄网站| 成人激情开心网| 日韩欧美www| 亚洲最新视频在线观看| 国产精品一品视频| 欧美福利电影网| 亚洲欧洲制服丝袜| 国产酒店精品激情| 欧美日韩国产精品自在自线| 中文字幕免费一区| 麻豆91精品91久久久的内涵| 91色婷婷久久久久合中文| 精品国产91久久久久久久妲己| 亚洲一卡二卡三卡四卡无卡久久| 国产成人在线视频免费播放| 91精品国产一区二区三区香蕉| 一区二区三区在线看| 粉嫩aⅴ一区二区三区四区| 日韩欧美专区在线| 视频一区视频二区在线观看| 91蜜桃免费观看视频| 国产欧美日韩三区| 久久aⅴ国产欧美74aaa| 欧美群妇大交群中文字幕| 亚洲美女区一区| aa级大片欧美| 中文字幕乱码亚洲精品一区| 国产一区二区三区在线观看免费| 欧美妇女性影城| 亚洲成av人片在www色猫咪| 色94色欧美sute亚洲线路二 | 欧美国产日韩精品免费观看| 国产一区二区电影| 久久综合九色欧美综合狠狠| 免费人成网站在线观看欧美高清| 5858s免费视频成人| 亚洲国产精品综合小说图片区| 99久久精品国产麻豆演员表| 国产精品婷婷午夜在线观看| 国产 欧美在线| 国产精品美女久久久久久久 | 久久av老司机精品网站导航| 日韩亚洲电影在线| 麻豆成人av在线| 欧美成人猛片aaaaaaa| 蜜桃视频在线观看一区| 91精品国产综合久久精品| 欧美aaa在线| 精品国产一区二区亚洲人成毛片 | 中文字幕av不卡| 成人av在线影院| 亚洲色图欧美激情| 在线观看国产一区二区| 偷窥少妇高潮呻吟av久久免费| 欧美日韩国产综合久久| 热久久久久久久| 精品国产一区二区三区久久久蜜月 | 国产麻豆精品视频| 久久久国产综合精品女国产盗摄| 国产伦理精品不卡| 亚洲欧洲一区二区在线播放| 色综合久久久久久久久久久| 一个色在线综合| 欧美一区二区在线免费播放| 久久99精品久久久久久久久久久久| 久久综合久久综合亚洲| 成人永久aaa| 一区二区三区高清在线| 欧美一区二区三区精品| 国产麻豆视频一区| 亚洲日本va在线观看| 欧美日韩一级大片网址| 极品销魂美女一区二区三区| 国产精品久久久久久久久搜平片 | 高清成人免费视频| 一区二区三区自拍| 日韩网站在线看片你懂的| 成人h精品动漫一区二区三区| 一区二区三区美女视频| 日韩一区二区三区视频| 国产.欧美.日韩| 天堂成人免费av电影一区| 国产日韩欧美精品电影三级在线| 色先锋aa成人| 国产综合成人久久大片91| 亚洲精品视频在线观看免费| 日韩欧美国产成人一区二区| 99久久精品国产麻豆演员表| 日韩精品五月天| 国产精品私人自拍| 日韩一区二区在线看| 91影视在线播放| 久久精品噜噜噜成人88aⅴ| 国产精品高清亚洲| 精品捆绑美女sm三区| 色香色香欲天天天影视综合网| 久久99精品久久久久久| 亚洲男人的天堂在线观看| 日韩小视频在线观看专区| 91免费看`日韩一区二区| 久久99久久99| 一区二区三区丝袜| 久久久久久综合| 在线播放中文一区| 91小宝寻花一区二区三区| 久久91精品久久久久久秒播| 亚洲成精国产精品女| 中文字幕一区二区在线观看| 日韩欧美一区二区久久婷婷| 色999日韩国产欧美一区二区| 国产馆精品极品|