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

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

?? xllp_mmc.h

?? WINDOWSCE4.2 ARM PXA255 SDMMC驅動程序源代碼
?? H
字號:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
/******************************************************************************
**
**  COPYRIGHT (C) 2001, 2002 Intel Corporation.
**
**  This software as well as the software described in it is furnished under
**  license and may only be used or copied in accordance with the terms of the
**  license. The information in this file is furnished for informational use
**  only, is subject to change without notice, and should not be construed as
**  a commitment by Intel Corporation. Intel Corporation assumes no
**  responsibility or liability for any errors or inaccuracies that may appear
**  in this document or any software that may be provided in association with
**  this document. 
**  Except as permitted by such license, no part of this document may be 
**  reproduced, stored in a retrieval system, or transmitted in any form or by
**  any means without the express written consent of Intel Corporation. 
**
**  FILENAME:       xllp_MMC.h
**
******************************************************************************/
// note that this will not be in there in the end; this is only for testing purposes
#define MMC_BASE	(0x41100000)	// MMC Base Register Location

#ifndef __MMC_H__
#define __MMC_H__
#include "xllp_defs.h"
//#include "xllp_gpio.h"
//#include "xllp_clock.h"
/**
  MMC Register Definitions
**/

typedef struct 
{
    XLLP_VUINT32_T MMC_STRPCL;	   	/* Control to start/stop mmc/sd clock */
    XLLP_VUINT32_T MMC_STAT;	   	/* status register*/
    XLLP_VUINT32_T MMC_CLKRT;	    /* clock rate */
    XLLP_VUINT32_T MMC_SPI;			/* SPI mode control bits */
    XLLP_VUINT32_T MMC_CMDAT; 	/* command/response/data sequence control */
    XLLP_VUINT32_T MMC_RESTO;		/* expected response timout */
    XLLP_VUINT32_T MMC_RDTO;		/* expected data read timeout */
    XLLP_VUINT32_T MMC_BLKLEN;		/* block length of data transaction */
    XLLP_VUINT32_T MMC_NUMBLK;      /* number of block for block mode */
    XLLP_VUINT32_T MMC_PRTBUF;      /* partial mmc_txfifo written  */
    XLLP_VUINT32_T MMC_I_MASK;		/* interrupt mask */
    XLLP_VUINT32_T MMC_I_REG;		/* interrupt register */
    XLLP_VUINT32_T MMC_CMD;			/* index of current command */
    XLLP_VUINT32_T MMC_ARGH;	   	/* MSW part of the current command arg */
    XLLP_VUINT32_T MMC_ARGL;		/* LSW p art of the current command arg */
    XLLP_VUINT32_T MMC_RES;         /* response fifo */
    XLLP_VUINT32_T MMC_RXFIFO;	/* receive fifo for single byte */
    XLLP_VUINT32_T MMC_TXFIFO;	/* transmit fifo for single byte */
    XLLP_VUINT32_T MMC_RESERVED1[33]; 	/* reserved for different fifo */
    XLLP_VUINT32_T SD_CMDAT;	 	/* SD CMDAT register */
    XLLP_VUINT32_T MMC_RESERVED2[12]; 	/* reserved for different fifo */
    XLLP_VUINT32_T SD_RXFIFO;	/* receive fifo for 1,2,3 or 4 bytes  */
    XLLP_VUINT32_T SD_TXFIFO;	/* transmit fifo for 1,2,3 or 4 bytes */

							
} XLLP_MMC_T, *P_XLLP_MMC_T;

/*  mmc start and stop clock register  */
#define XLLP_STRPCL_STPCLK	 	XLLP_BIT_0;	  // stop clock; writing 1 stops the MMC clock
#define XLLP_STRPCL_STRTCLK		XLLP_BIT_1;	 // start clock; writing 1 starts the MMC clock
													// bit automatically cleared to 0

// MMC 	status register
#define  XLLP_STAT_TORD		 	    XLLP_BIT_0   //  read timed out
#define  XLLP_STAT_TORSPNS	  		XLLP_BIT_1 	//   card response timed out
#define  XLLP_STAT_CRCWRERR	 	    XLLP_BIT_2   //  card observed erroneous transmission of data
#define  XLLP_STAT_CRCRDERR	     	XLLP_BIT_3   //   crc error on recieved data				
#define  XLLP_STAT_DATAERRTKN  	    XLLP_BIT_4 	//  spi data error token has been received
#define  XLLP_STAT_RESCRCERR	 	XLLP_BIT_5 	// response crc error
#define  XLLP_STAT_CLKEN		 	XLLP_BIT_8 	//MMC clock is on	
#define  XLLP_STAT_FLASHERR		    XLLP_BIT_9 	//MMC clock is on	
#define  XLLP_STAT_DATATRANDONE  	XLLP_BIT_11 	//  data transmission card has completed
#define  XLLP_STAT_PRGDONE		  	XLLP_BIT_12   // card has finished programming and is not busy
#define  XLLP_STAT_ENDCMDRES	  	XLLP_BIT_13 	//  command and response sequence has completed

//  MMC Clock rate register
#define  XLLP_CLKRT				0x7 

typedef	enum 
{
	  XLLP_MMC_20MHz 	= 0x0,
	  XLLP_MMC_10MHz 	= 0x1,
	  XLLP_MMC_5MHz		= 0x2,
	  XLLP_MMC_2_5MHz 	= 0x3,
	  XLLP_MMC_1_25MHz 	= 0x4,
	  XLLP_MMC_625MHz 	= 0x5,
	  XLLP_MMC_3125MHz	= 0x6

}XLLP_MMC_CLKRATE;


//  MMC SPI register
#define  XLLP_MMC_SPI_MODE		   	XLLP_BIT_0  	//  enables spi mode
#define  XLLP_MMC_SPI_CRCON	   	XLLP_BIT_1   //  enable crc generation and verification
#define  XLLP_MMC_SPI_CSEN			XLLP_BIT_2   // enables spi chip select
#define  XLLP_MMC_SPI_CSADDR		XLLP_BIT_3   // 1 enables CS1  0 enable CS0

//  MMC command data register
#define  XLLP_MMC_CMDAT_RESTYPE	0x3 
typedef	enum 
{
	  XLLP_MMC_NORESPONSE 	= 0x0,
	  XLLP_MMC_MMCSPIR1		= 0x1,
	  XLLP_MMC_MMCSPIR2		= 0x2,
	  XLLP_MMC_MMCR3		= 0x3

}XLLP_MMC_RESPFRMT;

#define  XLLP_MMC_CMDAT_DATAEN		XLLP_BIT_2   //  current command includes data
#define  XLLP_MMC_CMDAT_WRRD		XLLP_BIT_3 	// 0 specifies a read  1 specifies a write
#define  XLLP_MMC_CMDAT_STRMBLK	XLLP_BIT_4   //current command is in stream block mode
#define  XLLP_MMC_CMDAT_BUSY		XLLP_BIT_5   // specifies whether a busy signal is expected after
																//  after current command   for no data trans. only
#define  XLLP_MMC_CMDAT_INIT		XLLP_BIT_6   // precede command sequence with 80 clocks
#define  XLLP_MMC_CMDAT_DMAEN		XLLP_BIT_7 	//  DMA mode
//these are also part of the CMDAT reg but specificly only if MMC_SD_CMDAT register is used 
#define  XLLP_MMC_CMDAT_SD4DAT		XLLP_BIT_8   // (1)enable 4 bit data transfer; only valid for SD 
#define  XLLP_MMC_CMDAT_SDPROT		XLLP_BIT_9 	// SD protocol (1) vs.  MMC protocol(0)

//  MMC Resto register
#define  XLLP_MMC_RESTOBITS  		0x7f 

//  MMC read time out register
#define  XLLP_MMC_RDTOBITS	 		0xffff 

//  MMC block length register
#define  XLLP_MMC_BLKLENBITS		0x3ff 

//  MMC number of blocks register
#define  XLLP_MMC_NUMBLKBITS		0xffff 

//  MMC partial full buffer register			
#define  XLLP_MMC_PRTBUF	   		XLLP_BIT_0   //  buffer is partially full and must be swapped to the other transmit buffer

//  MMC interrupt mask register
#define  XLLP_MMC_I_MASK_DATATRANSDONE	  	XLLP_BIT_0   // data transfer is done
#define  XLLP_MMC_I_MASK_PRGDONE	  		XLLP_BIT_1  // programming is done
#define  XLLP_MMC_I_MASK_ENDCMDRES	  		XLLP_BIT_2  //  end command response
#define  XLLP_MMC_I_MASK_STOPCMD	  		XLLP_BIT_3   // ready for stop transaction command
#define  XLLP_MMC_I_MASK_CLKISOFF	  		XLLP_BIT_4  // clock is off
#define  XLLP_MMC_I_MASK_RXFIFORDREQ	  	XLLP_BIT_5   //receive fifo read request
#define  XLLP_MMC_I_MASK_TXFIFOWRREQ	  	XLLP_BIT_6   //  transmit fifo write request
#define  XLLP_MMC_I_MASK_TINT	  			XLLP_BIT_7   //  transmit fifo write request

//  MMC current interrupt register
#define  XLLP_MMC_I_REG_DATATRANSDONE	  	XLLP_BIT_0   // data transfer is done   cleared by the mmc_stat[dataDone]
#define  XLLP_MMC_I_REG_PRGDONE	  		    XLLP_BIT_1  // programming is done   cleared by the mmc_stat[prgDone]
#define  XLLP_MMC_I_REG_ENDCMDRES	  		XLLP_BIT_2  //  end command response   cleared by the mmc_stat[endCmdRes]
#define  XLLP_MMC_I_REG_STOPCMD	  		    XLLP_BIT_3   // ready for stop transaction command   cleared when cmd12 is loaded
#define  XLLP_MMC_I_REG_CLKISOFF	  		XLLP_BIT_4  // clock is off   cleared by the mmc_stat[clkEn]
#define  XLLP_MMC_I_REG_RXFIFORDREQ	 	    XLLP_BIT_5   //receive fifo read request  cleared after each read but immediately
												// set again unless the fifo is empty
#define  XLLP_MMC_I_REG_TXFIFOWRREQ	  	    XLLP_BIT_6   //  transmit fifo write request  cleared after each write but immediately
												// set again unless the fifo is empty
#define  XLLP_MMC_I_REG_TINT	  			XLLP_BIT_7   //  transmit fifo write request
																						
//  MMC Command registers that specifies the commands
#define  XLLP_MMC_CMDBITS		  	0x3f 

typedef	enum
	{
	  XLLP_MMC_SPICMD0		= 0x0,	// go idle state
	  XLLP_MMC_SPICMD1		= 0x1,	// send op command
	  XLLP_MMC_CMD2			= 0x2,	// all send cid
	  XLLP_MMC_CMD3			= 0x3,	// set relative addr
	  XLLP_MMC_CMD4			= 0x4,	// set dsr
	  XLLP_MMC_CMD7			= 0x7,	 // select/deselect card
	  XLLP_MMC_SPICMD9		= 0x9,	// send csd
	  XLLP_MMC_SPICMD10		= 0xa,	// send cid
	  XLLP_MMC_CMD11		= 0xb,	//  read data until stop
	  XLLP_MMC_CMD12		= 0xc,	 // stop transmission
	  XLLP_MMC_SPICMD13		= 0xd,	 // send status
	  XLLP_MMC_CMD15		= 0xf,	// go inactive state
	  XLLP_MMC_SPICMD16		= 0x10,	//  set block length
	  XLLP_MMC_SPICMD17		= 0x11,	// read single block
	  XLLP_MMC_CMD18		= 0x12,	//  read multiple block
	  XLLP_MMC_CMD20		= 0x14,	 // write data until stop
	  XLLP_MMC_SPICMD24		= 0x18,	 // write block
	  XLLP_MMC_CMD25		= 0x19,	 // write multiple block
	  XLLP_MMC_CMD26		= 0x1a,	// program CID
	  XLLP_MMC_SPICMD27		= 0x1b,	// program CSD
	  XLLP_MMC_SPICMD28		= 0x1c,	// set write prot
	  XLLP_MMC_SPICMD29		= 0x1d,  // clr write prot
	  XLLP_MMC_SPICMD30		= 0x1e,	// send write prot
	  XLLP_MMC_SPICMD32		= 0x200,	 // tag sector start
	  XLLP_MMC_SPICMD33		= 0x201,	// tag sector end
	  XLLP_MMC_SPICMD34		= 0x202,	// untag sector
	  XLLP_MMC_SPICMD35		= 0x203,	// tag erase group start
	  XLLP_MMC_SPICMD36		= 0x204,	//  tag erase group end
	  XLLP_MMC_SPICMD37		= 0x205,	 // untag erase group
	  XLLP_MMC_SPICMD38		= 0x206,	 // erase
	  XLLP_MMC_CMD39		= 0x207,	//fast IO
	  XLLP_MMC_CMD40		= 0x208,	// go irq state
	  XLLP_MMC_SPICMD42		= 0x2a,	// lock-unlock
	  XLLP_MMC_SPICMD55		= 0x37,	// app cmd
	  XLLP_MMC_SPICMD56		= 0x38,	//  gen cmd
	  XLLP_SPI_CMD58		= 0x3a,	 // read ocr
	  XLLP_SPI_CMD59		= 0x3b,	 // crc on-off
	  XLLP_MMC_CMD60		= 0x3c,	// reserved for manufacturer
	  XLLP_MMC_CMD61		= 0x3d,	 // reserved for manufacturer
	  XLLP_MMC_CMD62		= 0x3e,	// reserved for manufacturer
	  XLLP_MMC_CMD63		= 0x3f	 // reserved for manufacturer
} XLLP_MMC_CMD;


//  MMC upper 16 bits of the argument for the current command
#define  XLLP_MMC_ARGHBITS	  		0xffff 

//  MMC lower 16 bits of the argument for the current command
#define  XLLP_MMC_ARGLBITS	  		0xffff << 16 

//  MMC response fifo
#define  XLLP_MMC_RESFIFOBITS	  	0xffff 

//  MMC  Receive fifo
#define  XLLP_MMC_RXFIFO1BYTE	  	0xff 
#define  XLLP_MMC_RXFIFO2BYTE	  	0xffff 
#define  XLLP_MMC_RXFIFO3BYTE	  	0xffffff 
#define  XLLP_MMC_RXFIFO4BYTE	  	0xffffffff 

//  MMC transmit fifo
#define  XLLP_MMC_TXFIFO1BYTE	  	0xff 
#define  XLLP_MMC_TXFIFO2BYTE	  	0xffff 
#define  XLLP_MMC_TXFIFO3BYTE	  	0xffffff 
#define  XLLP_MMC_TXFIFO4BYTE	  	0xffffffff 

// function prototypes
void XllpMmcSdHWInit(XLLP_UINT32_T , XLLP_UINT32_T );
void XllpMmcSetUpClock(P_XLLP_MMC_T mmcRegs, XLLP_MMC_CLKRATE rate, XLLP_BOOL_T strClck);
void XllpMmcXtractResp(P_XLLP_MMC_T mmcRegs, P_XLLP_UINT16_T buff, XLLP_MMC_RESPFRMT response);
XLLP_BOOL_T XllpMmcSetupCmd(P_XLLP_MMC_T mmcRegs, XLLP_MMC_CMD cmd, 
							XLLP_INT32_T arg, XLLP_INT32_T To);
void XllpSdSetupCmd(P_XLLP_MMC_T mmcRegs, XLLP_MMC_CMD cmd, 
							XLLP_INT32_T arg, XLLP_INT32_T To);
void XllpMmcSdSetupXCmd(P_XLLP_MMC_T mmcRegs, XLLP_INT32_T FlSz, 
							XLLP_INT32_T BlkSz);
void XllpMmcSdInts(P_XLLP_MMC_T mmcRegs, XLLP_INT8_T SetMask);

// in here strictly for functionality
typedef struct 
{
    XLLP_VUINT32_T GPLR0;             /* Level Detect Reg. Bank 0 */
    XLLP_VUINT32_T GPLR1;             /* Level Detect Reg. Bank 1 */
    XLLP_VUINT32_T GPLR2;             /* Level Detect Reg. Bank 2 */
    XLLP_UINT32_T GPDR0;            /* Data Direction Reg. Bank 0 */
    XLLP_UINT32_T GPDR1;            /* Data Direction Reg. Bank 1 */
    XLLP_UINT32_T GPDR2;            /* Data Direction Reg. Bank 2 */
    XLLP_UINT32_T GPSR0;            /* Pin Output Set Reg. Bank 0 */
    XLLP_UINT32_T GPSR1;            /* Pin Output Set Reg. Bank 1 */
    XLLP_UINT32_T GPSR2;            /* Pin Output Set Reg. Bank 2 */
    XLLP_UINT32_T GPCR0;            /* Pin Output Clr Reg. Bank 0 */
    XLLP_UINT32_T GPCR1;            /* Pin Output Clr Reg. Bank 1 */
    XLLP_UINT32_T GPCR2;            /* Pin Output Clr Reg. Bank 2 */
    XLLP_UINT32_T GRER0;   /* Ris. Edge Detect Enable Reg. Bank 0 */
    XLLP_UINT32_T GRER1;   /* Ris. Edge Detect Enable Reg. Bank 1 */
    XLLP_UINT32_T GRER2;   /* Ris. Edge Detect Enable Reg. Bank 2 */
    XLLP_UINT32_T GFER0;   /* Fal. Edge Detect Enable Reg. Bank 0 */
    XLLP_UINT32_T GFER1;   /* Fal. Edge Detect Enable Reg. Bank 1 */
    XLLP_UINT32_T GFER2;   /* Fal. Edge Detect Enable Reg. Bank 2 */
    XLLP_VUINT32_T GEDR0;       /* Edge Detect Status Reg. Bank 0 */
    XLLP_VUINT32_T GEDR1;       /* Edge Detect Status Reg. Bank 1 */
    XLLP_VUINT32_T GEDR2;       /* Edge Detect Status Reg. Bank 2 */
    XLLP_UINT32_T GAFR0_L;  /* Alt. Function Select Reg.[  0:15 ] */
    XLLP_UINT32_T GAFR0_U;  /* Alt. Function Select Reg.[ 16:31 ] */
    XLLP_UINT32_T GAFR1_L;  /* Alt. Function Select Reg.[ 32:47 ] */
    XLLP_UINT32_T GAFR1_U;  /* Alt. Function Select Reg.[ 48:63 ] */
    XLLP_UINT32_T GAFR2_L;  /* Alt. Function Select Reg.[ 64:79 ] */
    XLLP_UINT32_T GAFR2_U;  /* Alt. Function Select Reg.[ 80:95 ] */
    XLLP_UINT32_T GAFR3_L;  /* Alt. Function Select Reg.[ 96:111] */
    XLLP_UINT32_T GAFR3_U;  /* Alt. Function Select Reg.[112:120] */
    XLLP_UINT32_T  RESERVED1[125];    /* addr. offset 0x074-0x0fc */
    XLLP_VUINT32_T GPLR3;             /* Level Detect Reg. Bank 3 */
    XLLP_UINT32_T  RESERVED2[2];      /* addr. offset 0x104-0x108 */
    XLLP_UINT32_T GPDR3;            /* Data Direction Reg. Bank 3 */
    XLLP_UINT32_T  RESERVED3[2];      /* addr. offset 0x110-0x114 */
    XLLP_UINT32_T GPSR3;            /* Pin Output Set Reg. Bank 3 */
    XLLP_UINT32_T  RESERVED4[2];      /* addr. offset 0x11c-0x120 */
    XLLP_UINT32_T GPCR3;            /* Pin Output Clr Reg. Bank 3 */
    XLLP_UINT32_T  RESERVED5[2];      /* addr. offset 0x128-0x12c */
    XLLP_UINT32_T GRER3;   /* Ris. Edge Detect Enable Reg. Bank 3 */
    XLLP_UINT32_T  RESERVED6[2];      /* addr. offset 0x134-0x138 */
    XLLP_UINT32_T GFER3;   /* Fal. Edge Detect Enable Reg. Bank 3 */
    XLLP_UINT32_T  RESERVED7[2];      /* addr. offset 0x140-0x144 */
    XLLP_VUINT32_T GEDR3;       /* Edge Detect Status Reg. Bank 3 */

} XLLP_GPIO_T, *P_XLLP_GPIO_T;


typedef struct 
{
    XLLP_VUINT32_T CCCR;             /* core clock configuration register */
    XLLP_VUINT32_T CKEN;             /* clock-enable register */
    XLLP_VUINT32_T OSCC;             /* oscillator configuration register */
    XLLP_VUINT32_T CCSR;            /* Core clock status register */

} XLLP_CLOCK_T, *P_XLLP_CLOCK_T;



#endif // end of .h file

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线播放/欧美激情| 美洲天堂一区二卡三卡四卡视频| 欧美一级片在线观看| 欧美三级视频在线播放| 91久久国产综合久久| 欧美日韩精品欧美日韩精品一| 欧美午夜理伦三级在线观看| 欧美精选一区二区| 欧美高清视频不卡网| 日韩精品最新网址| 国产精品嫩草影院com| 国产精品欧美一级免费| 亚洲欧美日韩精品久久久久| 一区二区视频在线| 午夜精品福利视频网站| 久久国产精品一区二区| 粉嫩aⅴ一区二区三区四区五区| 成人午夜伦理影院| 欧美日韩成人综合| 精品国产一区二区三区不卡| 中文一区在线播放 | 日韩av高清在线观看| 免费看精品久久片| 丁香网亚洲国际| 欧美无乱码久久久免费午夜一区| 欧美精品亚洲二区| 欧美高清在线一区二区| 一区二区三区欧美日韩| 老司机精品视频导航| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 最新日韩在线视频| 亚洲人快播电影网| 婷婷亚洲久悠悠色悠在线播放| 天天色天天爱天天射综合| 国产在线精品国自产拍免费| 色呦呦日韩精品| 久久婷婷色综合| 亚洲一区二区三区中文字幕在线| 美女视频一区在线观看| 91视频.com| 精品国产网站在线观看| 亚洲一区在线观看视频| 国产成+人+日韩+欧美+亚洲| 欧美一区二区三区免费| 亚洲色图欧美激情| 国产精选一区二区三区| 欧美日韩和欧美的一区二区| 日本一区二区三区免费乱视频| 亚洲一区二区欧美| 91看片淫黄大片一级在线观看| 日韩美女一区二区三区| 亚洲狠狠爱一区二区三区| 国产69精品久久久久毛片| 欧美成人a在线| 午夜久久福利影院| 欧美天堂一区二区三区| 亚洲图片激情小说| www.亚洲免费av| 久久久久99精品一区| 奇米色777欧美一区二区| 欧美视频第二页| 亚洲欧美日韩小说| 色偷偷久久人人79超碰人人澡| 国产精品久久影院| 成人视屏免费看| 国产精品久久毛片a| 国产91精品露脸国语对白| 久久精品一区蜜桃臀影院| 国产一区二区在线免费观看| 精品对白一区国产伦| 久久精工是国产品牌吗| 欧美一区二区三区四区在线观看| 午夜欧美视频在线观看| 欧美日韩电影在线播放| 日韩电影免费在线看| 欧美精品在线观看播放| 日本最新不卡在线| 欧美mv和日韩mv国产网站| 国产在线看一区| 国产午夜精品美女毛片视频| 成人动漫视频在线| 综合激情成人伊人| 欧美综合一区二区三区| 日韩精彩视频在线观看| 日韩小视频在线观看专区| 国内精品视频666| 亚洲国产精品成人综合色在线婷婷| 国产成人午夜精品5599| 亚洲欧洲另类国产综合| 在线观看国产一区二区| 日韩精品视频网| 久久久久青草大香线综合精品| 成人美女视频在线观看| 亚洲日本青草视频在线怡红院| 欧洲国产伦久久久久久久| 日韩电影一区二区三区四区| 久久精品夜色噜噜亚洲a∨| 成人91在线观看| 日韩国产高清影视| 国产欧美一区二区三区沐欲| 色婷婷精品久久二区二区蜜臂av| 亚洲成av人片| 欧美国产精品中文字幕| 欧洲中文字幕精品| 国产精品夜夜嗨| 亚洲一线二线三线视频| 久久久久亚洲综合| 精品视频免费在线| 国产成人精品免费一区二区| 亚洲一区在线观看免费观看电影高清| 777亚洲妇女| 成人精品免费视频| 日欧美一区二区| 中文字幕的久久| 欧美一级免费大片| 91麻豆国产精品久久| 国产在线一区观看| 午夜成人在线视频| 国产精品女同一区二区三区| 7799精品视频| 欧美亚洲愉拍一区二区| 国产乱国产乱300精品| 婷婷一区二区三区| 亚洲色图第一区| 中文字幕免费不卡在线| 欧美成人精品1314www| 日本久久电影网| 成人av网址在线| 国产电影一区在线| 九九久久精品视频| 日韩电影一区二区三区| 亚洲一区二区欧美日韩| 亚洲丝袜制服诱惑| 久久久91精品国产一区二区三区| 5月丁香婷婷综合| 欧美视频一区二区三区| 91丝袜国产在线播放| 99精品久久只有精品| 国产精品996| 国产在线精品一区二区| 看电视剧不卡顿的网站| 午夜av一区二区| 亚洲自拍偷拍麻豆| 亚洲国产sm捆绑调教视频 | 蜜桃91丨九色丨蝌蚪91桃色| 亚洲第一精品在线| 亚洲成人自拍网| 亚洲va国产va欧美va观看| 一区二区久久久久久| 一区二区三区在线高清| 亚洲精品自拍动漫在线| 亚洲精品中文字幕在线观看| 一区二区在线观看av| 亚洲一卡二卡三卡四卡无卡久久| 亚洲国产日韩在线一区模特| 一区二区不卡在线播放 | 在线综合+亚洲+欧美中文字幕| 在线亚洲人成电影网站色www| 色综合久久久久久久久| 欧美亚洲一区二区在线观看| 欧美色图天堂网| 91精品黄色片免费大全| 精品国产伦一区二区三区免费| 精品国产乱码久久久久久浪潮| 精品对白一区国产伦| 国产欧美日韩视频在线观看| 亚洲色图第一区| 亚洲第四色夜色| 国产一区二区电影| 成人精品在线视频观看| 在线观看国产日韩| 精品美女一区二区三区| 中文字幕av在线一区二区三区| ...中文天堂在线一区| 亚洲国产精品欧美一二99| 日韩在线一区二区| 国产一区二区三区最好精华液| 成人激情免费网站| 在线视频你懂得一区二区三区| 7777精品伊人久久久大香线蕉| 久久婷婷色综合| 夜夜嗨av一区二区三区中文字幕 | 成人免费视频国产在线观看| 99re视频精品| 欧美一级片在线观看| 国产精品白丝在线| 奇米影视在线99精品| www.亚洲免费av| 日韩美女视频在线| 亚洲欧美激情视频在线观看一区二区三区| 亚洲国产日韩在线一区模特| 丰满放荡岳乱妇91ww| 欧美高清性hdvideosex| 最新国产の精品合集bt伙计| 免费在线观看成人| 在线亚洲一区二区| 国产清纯美女被跳蛋高潮一区二区久久w | 国产丝袜欧美中文另类| 肉肉av福利一精品导航| 91视频91自|