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

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

?? sdi.c

?? samsung2410 s SD card opinion diver
?? C
?? 第 1 頁 / 共 4 頁
字號:
	//SDICCON CmdIndex              [7:0] = 0X4c : CMD12
	//SDICCON Command Start(CMST)   [8  ] = 1    : command start
	//SDICCON WaitRsp               [9  ] = 1    : wait_resp
	//SDICCON LongRsp               [10 ] = 0    : short response
	rSDICCON=(0x1<<9)|(0x1<<8)|0x4c; //sht_resp, wait_resp, start, CMD12

    //-- Check end of CMD12
    if(!Chk_CMDend(12, 1)) 
	goto STRCMD12;
    //rSDICSTA=0xa00;	// Clear cmd_end(with rsp)
/*
    //-- Display Rx data
    Uart_Printf("\nRx data\n");
    for(i=0;i<128*2;i++)
    {
        if(Rx_buffer[i] != Tx_buffer[i])
	{
	    Uart_Printf("%08x, %08x\n",Tx_buffer[i], Rx_buffer[i]);
	    break;
        }
    }
*/

    Uart_Printf("\n--End stream read test\n");
}

/*****************************************
  寫存儲塊函數
  函數名: Wt_Block
  描述: 通過三種方式寫存儲塊
  返回值:void
*****************************************/

void Wt_Block(void)
{
    U32 mode;
    int status;

    wt_cnt=0;    
    Uart_Printf("[Block write test]\n");

RE1:
    Uart_Printf("0:Polling write   1:Interrupt write   2:DMA write\nSelect the test mode?");
    mode=(U32)Uart_GetIntNum();
    Uart_Printf("\n");

    if(mode>2)
	goto RE1;
	//SDICON  FIFO Reset (FRST)  [1] = 1 : FIFO reset
    rSDICON |= rSDICON|(1<<1);	// FIFO reset
//    mode=1;//tark
    if(mode!=2)

	//SDIDCON  BlkNum                           [11: 0] = block : Block Number (0~4095).
	//SDIDCON  Data Transfer Mode (DatMode)     [13:12] = 3     : data transmit start
	//SDIDCON  Stop by force (STOP)             [14   ] = 1     : stop by force
	//SDIDCON  DMA Enable(EnDMA)			    [15   ] = 1     : dma enable,
	//SDIDCON  Wide bus enable (WideBus)        [16   ] = 0     : standard bus mode(only SDIDAT[0] used),
	//SDIDCON  Block mode (BlkMode)  		    [17   ] = 1     : block data transfer
	//SDIDCON  Busy AfterCommand(BACMD)         [18   ] = 0     : directly after DatMode set,
	//SDIDCON  Receive After Command (RACMD)    [19   ] = 1     : Rx after cmd
	//SDIDCON  Transmit After Response(TARSP)   [20   ] = 1     : after response receive(assume DatMode sets to 2’b11)
	//SDIDCON  SDIO InterruptPeriodType(PrdType)[21   ] = 0     : exactly 2 cycle,
	rSDIDCON=(1<<20)|(1<<17)|(Wide<<16)|(3<<12)|(block<<0);

	//SDICARG CmdArg [31:0] = 0 : Command Argument		
    rSDICARG=0x0;	    // CMD24/25(addr)

REWTCMD:
    switch(mode)
    {
	case POL:
	    if(block<2)	// SINGLE_WRITE
	    {
	    //SDICCON CmdIndex              [7:0] = 0X58 : CMD24
		//SDICCON Command Start(CMST)   [8  ] = 1    : command start
		//SDICCON WaitRsp               [9  ] = 1    : wait_resp
		//SDICCON LongRsp               [10 ] = 0    : short response
		rSDICCON=(0x1<<9)|(0x1<<8)|0x58;	//sht_resp, wait_resp, dat, start, CMD24
		if(!Chk_CMDend(24, 1))	//-- Check end of CMD24
		    goto REWTCMD;
	    }
	    else	// MULTI_WRITE
	    {
	    //SDICCON CmdIndex              [7:0] = 0X59 : CMD25
		//SDICCON Command Start(CMST)   [8  ] = 1    : command start
		//SDICCON WaitRsp               [9  ] = 1    : wait_resp
		//SDICCON LongRsp               [10 ] = 0    : short response
		rSDICCON=(0x1<<9)|(0x1<<8)|0x59;	//sht_resp, wait_resp, dat, start, CMD25
		if(!Chk_CMDend(25, 1))	//-- Check end of CMD25
		    goto REWTCMD;	    
	    }

	    //rSDICSTA=0xa00;	// Clear cmd_end(with rsp)
	    
	    while(wt_cnt<128*block)
	    {
		status=rSDIFSTA;
		if((status&0x2000)==0x2000) 
		{
		    rSDIDAT=*Tx_buffer++;
		    wt_cnt++;
		}
	    }
	    break;
	
	case INT:
	    pISR_SDI=(unsigned)Wt_Int;

		//INTMSK  INT_SDI [21] = 0 : service available,
		rINTMSK = ~(BIT_SDI);

        //SDIIMSK  TFHalf InterruptEnable  [4] = 1 : Tx FIFO half int
	    rSDIIMSK=0x10;  

	    if(block<2)	    // SINGLE_WRITE
	    {
	    //SDICCON CmdIndex              [7:0] = 0X58 : CMD24
		//SDICCON Command Start(CMST)   [8  ] = 1    : command start
		//SDICCON WaitRsp               [9  ] = 1    : wait_resp
		//SDICCON LongRsp               [10 ] = 0    : short response
		rSDICCON=(0x1<<9)|(0x1<<8)|0x58;   
		if(!Chk_CMDend(24, 1))	//-- Check end of CMD24
		    goto REWTCMD;
	    }
	    else	    // MULTI_WRITE
	    {
	    //SDICCON CmdIndex              [7:0] = 0X59 : CMD25
		//SDICCON Command Start(CMST)   [8  ] = 1    : command start
		//SDICCON WaitRsp               [9  ] = 1    : wait_resp
		//SDICCON LongRsp               [10 ] = 0    : short response
		rSDICCON=(0x1<<9)|(0x1<<8)|0x59; 
		if(!Chk_CMDend(25, 1))	//-- Check end of CMD25 
		    goto REWTCMD;
	    }

	    //rSDICSTA=0xa00;	// Clear cmd_end(with rsp)

	    while(!TR_end);
	    //while(wt_cnt<128);

	    //INTMSK  INT_SDI [21] = 0 : service available,
	    rINTMSK |= (BIT_SDI);
	    TR_end=0;

		//SDIIMSK  SDI interrupt mask register [17: 0] = 0 : All mask
		rSDIIMSK=0;	// All mask
	    break;

	case DMA:
	    pISR_DMA0=(unsigned)DMA_end;
		//INTMSK INT_DMA0  [17] = 0 : Service availa
		rINTMSK = ~(BIT_DMA0);
		//DISRC0  S_ADDR  [30:0] = Tx_buffer : Tx_buffer
	    rDISRC0=(int)(Tx_buffer);
		//DISRCC0 INC [0] = 0 :  inc
	    //DISRCC0 LOC [1] = 0 :  AHB
	    rDISRCC0=(0<<1)+(0<<0);	// AHB, inc
		rDIDST0=(U32)(SDIDAT);	// SDIDAT
	    //DIDSTC0 INC [0] = 1 : fix
	    //DIDSTC0 LOC [1] = 1 : APB
		rDIDSTC0=(1<<1)+(1<<0);	// APB, fix

	    //DCON0 TC          [19: 0] = 128*block: Initial transfer count (or transfer beat).
	    //DCON0 DSZ 		[21:20] = 10	   : Word
	    //DCON0 RELOAD      [22   ] = 1        : auto-reload of
	    //DCON0 SWHW_SEL    [23   ] = 1        : H/W request
	    //DCON0 HWSRCSEL    [26:24] = 10       : SDI
	    //DCON0 SERVMODE    [27   ] = 0        : single service
	    //DCON0 TSZ         [28   ] = 0        : single tx
	    //DCON0 INT         [29   ] = 1		   : TC int
	    //DCON0 SYNC        [30   ] = 0        : sync PCLK
	    //DCON0 DMD_HS      [31   ] = 1        : handshake
		rDCON0=(1<<31)+(0<<30)+(1<<29)+(0<<28)+(0<<27)+(2<<24)+(1<<23)+(1<<22)+(2<<20)+128*block;

	    //DMASKTRIG0  SW_TRIG [0] = 0 : no-sw trigger 
	    //DMASKTRIG0  ON_OFF  [1] = 1 : DMA2 channel on
	    //DMASKTRIG0  STOP    [2] = 0 : no-stop
	    rDMASKTRIG0=(0<<2)+(1<<1)+0;    
	    
		//SDIDCON  BlkNum                           [11: 0] = block : Block Number (0~4095).
		//SDIDCON  Data Transfer Mode (DatMode)     [13:12] = 3     : data transmit start
		//SDIDCON  Stop by force (STOP)             [14   ] = 1     : stop by force
		//SDIDCON  DMA Enable(EnDMA)			    [15   ] = 1     : dma enable,
		//SDIDCON  Wide bus enable (WideBus)        [16   ] = 0     : standard bus mode(only SDIDAT[0] used),
		//SDIDCON  Block mode (BlkMode)  		    [17   ] = 1     : block data transfer
		//SDIDCON  Busy AfterCommand(BACMD)         [18   ] = 0     : directly after DatMode set,
		//SDIDCON  Receive After Command (RACMD)    [19   ] = 1     : Rx after cmd
		//SDIDCON  Transmit After Response(TARSP)   [20   ] = 1     : after response receive(assume DatMode sets to 2’b11)
		//SDIDCON  SDIO InterruptPeriodType(PrdType)[21   ] = 0     : exactly 2 cycle,
		rSDIDCON=(1<<20)|(1<<17)|(Wide<<16)|(1<<15)|(3<<12)|(block<<0);
		    // Tx after rsp, blk, 4bit bus, dma enable, Tx start, blk num
	    if(block<2)	    // SINGLE_WRITE
	    {
	    //SDICCON CmdIndex              [7:0] = 0X58 : CMD24
		//SDICCON Command Start(CMST)   [8  ] = 1    : command start
		//SDICCON WaitRsp               [9  ] = 1    : wait_resp
		//SDICCON LongRsp               [10 ] = 0    : short response
		rSDICCON=(0x1<<9)|(0x1<<8)|0x58;    //sht_resp, wait_resp, dat, start, CMD24
		if(!Chk_CMDend(24, 1))	//-- Check end of CMD24
		    goto REWTCMD;	    
	    }
	    else	    // MULTI_WRITE
	    {
	    //SDICCON CmdIndex              [7:0] = 0X59 : CMD25
		//SDICCON Command Start(CMST)   [8  ] = 1    : command start
		//SDICCON WaitRsp               [9  ] = 1    : wait_resp
		//SDICCON LongRsp               [10 ] = 0    : short response
		rSDICCON=(0x1<<9)|(0x1<<8)|0x59;    //sht_resp, wait_resp, dat, start, CMD25
		if(!Chk_CMDend(25, 1))	//-- Check end of CMD25 
		    goto REWTCMD;	    
	    }

	    //rSDICSTA=0xa00;	// Clear cmd_end(with rsp)

	    while(!TR_end);		
	    //INTMSK  BIT_DMA0 [17] = 1 : MASK
	    rINTMSK |= (BIT_DMA0);
	    TR_end=0;
		//DMASKTRIG0  STOP [2] = 1 : DMA0 stop
		rDMASKTRIG0=(1<<2);	//DMA0 stop
	    break;
	default:
	    break;
    }
    
    //-- Check end of DATA
    if(!Chk_DATend()) 
	Uart_Printf("dat error\n");
	//SDIDSTA  Rx Data Progress On (RxDatOn) [0 ]  R  : Data receive in progress.
	//SDIDSTA  Tx Data progress On (TxDatOn) [1 ]  R  : Data transmit in progress.
	//SDIDSTA  Start Bit Error (SbitErr)     [2 ] =0  : not detect,
	//SDIDSTA  Busy Finish (BusyFin)         [3 ] =0  : not detect,
	//SDIDSTA  Data Transfer Finish (DatFin) [4 ] =1  : data finish detect
	//SDIDSTA  Data Time Out (DatTout)       [5 ] =0  : not detect,
	//SDIDSTA  Data Receive CRC Fail (DatCrc)[6 ] =0  : not detect,
	//SDIDSTA  CRC Status Fail(CrcSta)       [7 ] =0  : not detect,
	//SDIDSTA  FIFO Fail error (FFfail)      [8 ] =0  : not detect,
	//SDIDSTA  SDIO InterruptDetect(IOIntDet)[9 ] =0  : not detect,
	//SDIDSTA  Data Time Out (DatTout)       [10] =0  : not occur,
    rSDIDSTA=0x10;	

    if(block>1)
    {
	//--Stop cmd(CMD12)
REWCMD12: 

	//SDIDCON  BlkNum                           [11: 0] = block : Block Number (0~4095).
    //SDIDCON  Data Transfer Mode (DatMode)     [13:12] = 1     : only busy check start
    //SDIDCON  Stop by force (STOP)             [14   ] = 0     : normal
    //SDIDCON  DMA Enable(EnDMA)			    [15   ] = 0     : disable(polling),
    //SDIDCON  Wide bus enable (WideBus)        [16   ] = 0     : standard bus mode(only SDIDAT[0] used),
    //SDIDCON  Block mode (BlkMode)  		    [17   ] = 1     : blk 
    //SDIDCON  Busy AfterCommand(BACMD)         [18   ] = 1     : after command sent (assume DatMode sets to 2’b01)
    //SDIDCON  Receive After Command (RACMD)    [19   ] = 1     : Rx after cmd
    //SDIDCON  Transmit After Response(TARSP)   [20   ] = 0     : directly after DatMode set,
    //SDIDCON  SDIO InterruptPeriodType(PrdType)[21   ] = 0     : exactly 2 cycle,
	rSDIDCON=(1<<18)|(1<<17)|(0<<16)|(1<<12)|(block<<0);

	//--Stop cmd(CMD12)
	//SDICARG CmdArg [31:0] = 0 : Command Argument
	rSDICARG=0x0;	    //CMD12(stuff bit)

	//SDICCON CmdIndex              [7:0] = 0X4c : CMD12
	//SDICCON Command Start(CMST)   [8  ] = 1    : command start
	//SDICCON WaitRsp               [9  ] = 1    : wait_resp
	//SDICCON LongRsp               [10 ] = 0    : short response
	rSDICCON=(0x1<<9)|(0x1<<8)|0x4c;    //sht_resp, wait_resp, start, CMD12

	//-- Check end of CMD12
	if(!Chk_CMDend(12, 1)) 
	    goto REWCMD12;
	//rSDICSTA=0xa00;	// Clear cmd_end(with rsp)

	//-- Check end of DATA(with busy state)
	if(!Chk_BUSYend()) 
	    Uart_Printf("error\n");
	//SDIDSTA  Rx Data Progress On (RxDatOn) [0 ]  R  : Data receive in progress.
	//SDIDSTA  Tx Data progress On (TxDatOn) [1 ]  R  : Data transmit in progress.
	//SDIDSTA  Start Bit Error (SbitErr)     [2 ] =0  : not detect,
	//SDIDSTA  Busy Finish (BusyFin)         [3 ] =1  : busy finish detect
	//SDIDSTA  Data Transfer Finish (DatFin) [4 ] =0  : not detect,
	//SDIDSTA  Data Time Out (DatTout)       [5 ] =0  : not detect,
	//SDIDSTA  Data Receive CRC Fail (DatCrc)[6 ] =0  : not detect,
	//SDIDSTA  CRC Status Fail(CrcSta)       [7 ] =0  : not detect,
	//SDIDSTA  FIFO Fail error (FFfail)      [8 ] =0  : not detect,
	//SDIDSTA  SDIO InterruptDetect(IOIntDet)[9 ] =0  : not detect,
	//SDIDSTA  Data Time Out (DatTout)       [10] =0  : not occur,
	rSDIDSTA=0x08;
    }
}

void Wt_Stream(void)	// only for MMC, 3blk write
{
    int status, wt_cnt=0;

    if(MMC!=1)
    {
	Uart_Printf("Stream write command supports only MMC!\n");
	return;
    }
    Uart_Printf("\n[Stream write test]\n");
RECMD20:
	//SDIDCON  BlkNum                           [11: 0] = block : Block Number (0~4095).
	//SDIDCON  Data Transfer Mode (DatMode)     [13:12] = 3     : data transmit start
	//SDIDCON  Stop by force (STOP)             [14   ] = 1     : stop by force
	//SDIDCON  DMA Enable(EnDMA)			    [15   ] = 1     : dma enable,
	//SDIDCON  Wide bus enable (WideBus)        [16   ] = 0     : standard bus mode(only SDIDAT[0] used),
	//SDIDCON  Block mode (BlkMode)  		    [17   ] = 0     : stream data transfer,
	//SDIDCON  Busy AfterCommand(BACMD)         [18   ] = 0     : directly after DatMode set,
	//SDIDCON  Receive After Command (RACMD)    [19   ] = 1     : Rx after cmd
	//SDIDCON  Transmit After Response(TARSP)   [20   ] = 1     : after response receive(assume DatMode sets to 2’b11)
	//SDIDCON  SDIO InterruptPeriodType(PrdType)[21   ] = 0     : exactly 2 cycle,
    rSDIDCON=(1<<20)|(0<<17)|(0<<16)|(3<<12);  // stream mode
	//SDICARG CmdArg [31:0] = 0 : Command Argument
    rSDICARG=0x0;	// CMD20(addr)

	//SDICCON CmdIndex              [7:0] = 0X54 : CMD20
	//SDICCON Command Start(CMST)   [8  ] = 1    : command start
	//SDICCON WaitRsp               [9  ] = 1    : wait_resp
	//SDICCON LongRsp               [10 ] = 0    : short response
	rSDICCON=(0x1<<9)|(0x1<<8)|0x54;    //sht_resp, wait_resp, dat, start, CMD20

    //-- Check end of CMD25
    if(!Chk_CMDend(20, 1)) 
	goto RECMD20;
    //rSDICSTA=0xa00;	// Clear cmd_end(with rsp)

    while(wt_cnt<128*block)
    {
	status=rSDIFSTA;
	if((status&0x2000)==0x2000) 

		//SDIDAT Data Register [31:0]  This field contains the data to be transmitted or received over the SDI channel.
	    rSDIDAT=Tx_buffer[wt_cnt++];
    }

    //-- Check end of DATA
    while( rSDIFSTA&0x400 );
    Delay(10);    // for the empty of DATA line(Hardware)

	//SDIDCON  BlkNum                           [11: 0] = block : Block Number (0~4095).
	//SDIDCON  Data Transfer Mode (DatMode)     [13:12] = 0     : ready,
	//SDIDCON  Stop by force (STOP)             [14   ] = 1     : stop by force
	//SDIDCON  DMA Enable(EnDMA)			    [15   ] = 1     : dma enable,
	//SDIDCON  Wide bus enable (WideBus)        [16   ] = 0     : standard bus mode(only SDIDAT[0] used),
	//SDIDCON  Block mode (BlkMode)  		    [17   ] = 0     : stream data transfer,
	//SDIDCON  Busy AfterCommand(BACMD)         [18   ] = 0     : directly after DatMode set,
	//SDIDCON  Receive After Command (RACMD)    [19   ] = 1     : Rx after cmd
	//SDIDCON  Transmit After Response(TARSP)   [20   ] = 1     : after response receive(assume DatMode sets to 2’b11)
	//SDIDCON  SDIO InterruptPeriodType(PrdType)[21   ] = 0     : exactly 2 cycle,
	rSDIDCON=(1<<20)|(0<<17)|(0<<16)|(1<<14)|(0<<12);
    while( (rSDIDSTA&0x3)!=0x0 );
    if(rSDIDSTA!=0) 
	Uart_Printf("rSDIDSTA=0x%x\n", rSDIDSTA);

	//SDIDSTA  Rx Data Progress On (RxDatOn) [0 ]  R  : Data receive in progress.
	//SDIDSTA  Tx Data progress On (TxDatOn) [1 ]  R  : Data transmit in progress.
	//SDIDSTA  Start Bit Error (SbitErr)     [2 ] =1  : command end
	//SDIDSTA  Busy Finish (BusyFin)         [3 ] =1  : busy finish detect
	//SDIDSTA  Data Transfer Finish (DatFin) [4 ] =1  : data finish detect
	//SDIDSTA  Data Time Out (DatTout)       [5 ] =1  : timeout
	//SDIDSTA  Data Receive CRC Fail (DatCrc)[6 ] =1  : receive crc fail
	//SDIDSTA  CRC Status Fail(CrcSta)       [7 ] =1  : crc status fail
	//SDIDSTA  FIFO Fail error (FFfail)      [8 ] =0  : not detect,
	//SDIDSTA  SDIO InterruptDetect(IOIntDet)[9 ] =0  : not detect,
	//SDIDSTA  Data Time Out (DatTout)       [10] =0  : not occur,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩三级电影网址| 91丝袜国产在线播放| 蜜臀91精品一区二区三区| 久久97超碰国产精品超碰| 国产69精品久久99不卡| 91小视频在线观看| 欧美一级高清大全免费观看| 日韩欧美高清dvd碟片| 中文一区二区完整视频在线观看| 亚洲欧美日韩一区二区三区在线观看| 亚洲综合丁香婷婷六月香| 九一九一国产精品| 色乱码一区二区三区88| 欧美不卡一区二区| 中文字幕中文字幕在线一区| 无码av免费一区二区三区试看| 一区二区三区在线观看欧美| 精品一区二区在线视频| 日本久久电影网| 日韩一级片在线观看| 亚洲精品免费电影| 国产麻豆成人精品| 555www色欧美视频| 国产精品免费视频观看| 日本欧美肥老太交大片| 91视频免费播放| xvideos.蜜桃一区二区| 国产精品乱子久久久久| 精品在线视频一区| 欧美亚洲动漫另类| 中文一区二区完整视频在线观看| 青草av.久久免费一区| 欧美三级乱人伦电影| 中文字幕亚洲欧美在线不卡| 久久精品国产一区二区三| 欧美丝袜丝交足nylons| 国产精品毛片高清在线完整版| 麻豆成人91精品二区三区| 欧美人动与zoxxxx乱| 久久久.com| 麻豆高清免费国产一区| 91精品国产色综合久久不卡蜜臀 | 狠狠色丁香久久婷婷综| 欧美中文字幕一二三区视频| 中文字幕av一区二区三区高| 经典三级视频一区| 日韩视频123| 午夜电影一区二区| 欧美日韩中文字幕一区| 亚洲午夜精品网| 欧美午夜精品免费| 亚洲国产精品久久久男人的天堂| 99精品欧美一区二区蜜桃免费| 亚洲国产精品av| 国产精品1024| 国产欧美日韩精品a在线观看| 国产乱码精品1区2区3区| 精品国产sm最大网站| 韩国在线一区二区| 日本一区免费视频| 国产成人免费在线观看不卡| 欧美一区二区三区性视频| 天堂成人国产精品一区| 欧美日韩精品一二三区| 亚洲成a人在线观看| 日韩午夜中文字幕| 不卡视频一二三四| 午夜成人在线视频| 国产三级久久久| 欧美日韩国产成人在线免费| 国产福利91精品一区| 亚洲午夜久久久久中文字幕久| 欧美电视剧在线看免费| 色婷婷亚洲精品| 久久精品国产**网站演员| 一区在线观看视频| 日韩一级高清毛片| 日本精品一级二级| 国产最新精品免费| 亚洲成人黄色小说| 中文字幕的久久| 日韩午夜在线播放| 在线国产亚洲欧美| 高清不卡在线观看| 久99久精品视频免费观看| 一区二区欧美精品| 国产欧美精品一区二区三区四区| 欧美午夜电影网| 波多野结衣亚洲一区| 麻豆成人久久精品二区三区红| 亚洲精品视频在线看| 国产亚洲精品久| 精品国产制服丝袜高跟| 欧美久久婷婷综合色| www.日韩精品| 国产一区二区美女| 裸体健美xxxx欧美裸体表演| 亚洲一区二区在线播放相泽| 国产欧美一区二区精品性色| 日韩女优制服丝袜电影| 欧美日韩国产一区| 91浏览器打开| av亚洲精华国产精华精华| 精品一区二区三区在线视频| 日本不卡123| 亚洲福利电影网| 夜夜嗨av一区二区三区中文字幕| 中文字幕中文在线不卡住| 久久久精品免费观看| 精品国产在天天线2019| 精品黑人一区二区三区久久| 在线综合+亚洲+欧美中文字幕| 欧美性大战久久久久久久蜜臀| 一本色道久久综合亚洲aⅴ蜜桃 | av不卡在线观看| 国产成人av电影| 国产盗摄女厕一区二区三区| 韩国欧美一区二区| 国产精品一区二区黑丝| 国产精品888| 成人午夜电影网站| a在线欧美一区| 91在线国内视频| 色诱亚洲精品久久久久久| 91久久精品一区二区三| 欧美视频精品在线观看| 欧美精品国产精品| 欧美一区二区国产| 亚洲精品一区二区三区精华液| 亚洲精品一区二区三区四区高清| 国产欧美日韩在线看| 综合久久久久久| 亚洲国产一区二区a毛片| 天天综合网天天综合色| 狠狠色狠狠色合久久伊人| 国产成人精品免费一区二区| k8久久久一区二区三区| 欧美无砖专区一中文字| 日韩欧美在线123| 国产欧美日韩激情| 亚洲国产一区二区在线播放| 精品一区二区三区免费观看| 国产不卡在线播放| 在线观看av一区二区| 日韩精品一区二区三区在线| 久久久久久久久久久黄色| 亚洲乱码国产乱码精品精的特点 | 国产精品综合一区二区| 波多野结衣91| 在线播放91灌醉迷j高跟美女 | 中文字幕永久在线不卡| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲二区在线视频| 国产一区二区三区免费在线观看| aaa亚洲精品| 欧美成人精品3d动漫h| 成人欧美一区二区三区1314| 亚洲高清免费观看高清完整版在线观看| 美女国产一区二区三区| 成人免费看黄yyy456| 欧美日韩精品一区二区在线播放| 久久精品人人做人人爽人人| 自拍偷拍欧美激情| 国产自产2019最新不卡| 欧美日韩三级一区二区| 中文久久乱码一区二区| 日韩成人一级大片| 91首页免费视频| 精品国产91亚洲一区二区三区婷婷| 又紧又大又爽精品一区二区| 韩国v欧美v日本v亚洲v| 欧美三级电影在线看| 国产精品狼人久久影院观看方式| 五月开心婷婷久久| 91浏览器入口在线观看| 国产精品污www在线观看| 日本欧美一区二区三区乱码| 色香色香欲天天天影视综合网| 久久精品欧美日韩精品| 美女精品一区二区| 欧美日韩精品专区| 亚洲午夜影视影院在线观看| 99久久综合狠狠综合久久| 久久奇米777| 狠狠v欧美v日韩v亚洲ⅴ| 欧美日本一区二区三区四区| 亚洲在线中文字幕| 色哟哟欧美精品| 亚洲色图欧美激情| 波多野结衣亚洲一区| 国产精品久久久久四虎| 粉嫩绯色av一区二区在线观看| 欧美变态口味重另类| 久久国产精品一区二区| 欧美一区二区三区公司| 人人超碰91尤物精品国产| 欧美日韩成人在线| 午夜婷婷国产麻豆精品| 欧美美女bb生活片| 偷拍一区二区三区四区|