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

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

?? cmd_nand_mba24x0.c.svn-base

?? u-boot loader common files, like cpu, clock, environment...etc...
?? SVN-BASE
?? 第 1 頁 / 共 2 頁
字號:
	for(i=0; i < NAND_PAGE_SIZE ; i++)	NF_WRDATA(*ptr++);#elif CONFIG_S3C2440 || CONFIG_S3C2443 	//added by maddy220109	for(i=0; i < NAND_PAGE_SIZE ; i++)  NF_WRDATA8(*ptr++);#endif#if CONFIG_S3C2410	seBuf[0] = NFECC0;    seBuf[1] = NFECC1;    seBuf[2] = NFECC2;    seBuf[5] = 0xff;		// Marking good block        // Write spare array(ECC and Mark)    for(i=0;i<16;i++)	NF_WRDATA(seBuf[i]);#elif CONFIG_S3C2440 || CONFIG_S3C2443  //added by maddy220109	NF_MECC_Lock();	mecc = NFMECC0;	seBuf[0] = (u8)(mecc & 0xff);	seBuf[1] = (u8)((mecc>>8) & 0xff);	seBuf[2] = (u8)((mecc>>16) & 0xff);	seBuf[3] = (u8)((mecc>>24) & 0xff);	seBuf[5] = 0xff;	NF_SECC_UnLock();	for(i=0;i<3;i++){		NF_WRDATA8(seBuf[i]);	}	NF_SECC_Lock();	secc = NFSECC;	seBuf[8] = (u8)(secc & 0xff);	seBuf[9] = (u8)((secc>>8) & 0xff);	for(i=3;i<16;i++){		NF_WRDATA8(seBuf[i]);	}#endif	NF_CLEAR_RB();	NF_CMD(NAND_CMD_PAGEPROG);   	// Write 2nd command	for(i=0; i<10 ;i++);	NF_DETECT_RB();	NF_CMD(NAND_CMD_STATUS);		// Read status command		for(i=0;i<3;i++);	//twhr=60ns	#if CONFIG_S3C2410	if (NF_RDDATA() & 0x1){#elif CONFIG_S3C2440 || CONFIG_S3C2443   //added by maddy220109	if(NF_RDDATA8() & 0x1){#endif		NF_nFCE_H();//		printf("[PROGRAM_ERROR:block#=%d]\n",block);		NF_MarkBadBlock(block);		return 0;	// page write ERROR	} else {		NF_nFCE_H();// page write SUCCESS		return 1;	}}int	NF_Read(u8 *dst_addr, u8 *start_nand_addr, u32 size){	u32 s_blk_num, s_pg_num;	u32 e_blk_num, e_pg_num;	u8 * buf = dst_addr;	int i, j;		if(((u32)start_nand_addr<0) || ((u32)start_nand_addr>=nand_mem_size)){		printf("target_addr must be within the range of 0x0 ~ 0x%x\n", nand_mem_size-1);		return -1;	}		if(((u32)dst_addr<CFG_MEMTEST_START) || ((u32)dst_addr>=CFG_MEMTEST_END)){		printf("destination_memory_addr must be within the range of 0x%x ~ 0x%x\n", 			CFG_MEMTEST_START, CFG_MEMTEST_END);		return -1;	}		s_blk_num = (u32)start_nand_addr / (u32)NAND_BLOCK_SIZE;	s_pg_num  = ((u32)start_nand_addr&(NAND_BLOCK_SIZE -1)) / (u32)NAND_PAGE_SIZE;		e_blk_num = ((size / (u32)NAND_BLOCK_SIZE)) + s_blk_num;	e_pg_num  = ((size&(NAND_BLOCK_SIZE-1)) / (u32)NAND_PAGE_SIZE) + s_pg_num;		printf("Read start point : block[%d] page[%d] size = 0x%x\n", 		s_blk_num, s_pg_num, size);	printf("Reading data ... ");	for(i=s_blk_num; i<=e_blk_num; i++){		if(NF_IsBadBlock(i) == 1){			printf("\nBlock[%d] is bad block. Read next block\n",i);			e_blk_num++;			printf("Reading data ... ");			continue;		}		if((i==s_blk_num) && (s_pg_num != 0)){			for(j=s_pg_num; j<NAND_PAGES_IN_BLOCK; j++){				NF_ReadPage(i, j, buf);				spin_wheel();				buf += NAND_PAGE_SIZE;			}		}else if((i==e_blk_num) && (e_pg_num != 0)){			for(j=0; j<e_pg_num; j++){				NF_ReadPage(i, j, buf);				spin_wheel();				buf += NAND_PAGE_SIZE;			}		}else if((i==e_blk_num) && (e_pg_num == 0)){			break;		}else{			NF_ReadBlock(buf, i);			buf += NAND_BLOCK_SIZE;		}	}	printf("\nRead compelete(0x%x): from 0x%x(%d) NAND flash to 0x%x SDRAM\n",		size, start_nand_addr, s_blk_num, (u32)dst_addr);	return 0;	}int	NF_ReadBlock(u8 *dst_addr, u32 blk_num){	char *buf = dst_addr;	char page_buf[NAND_PAGE_SIZE];	int i, j;	// read block	for (i = 0; i < NAND_PAGES_IN_BLOCK; i++) {		NF_ReadPage(blk_num, i, (char *)page_buf);		for(j = 0; j < NAND_PAGE_SIZE; j++)		*buf++ = page_buf[j];		spin_wheel();	}	LED_blink(RD_STATUS);	return 0;}int	NF_ReadPage(u32 block, u32 page, u8 *buffer){	int i;	unsigned int blockPage = (block * NAND_PAGES_IN_BLOCK) + (page & 0x1f);#if CONFIG_MBA2410	unsigned char ecc0, ecc1, ecc2, se[16];#endif	unsigned char *bufPt = buffer;	NF_RSTECC();#if CONFIG_S3C2440 || CONFIG_S3C2443  //added by maddy220109	NF_MECC_UnLock();#endif	NF_nFCE_L();	NF_CLEAR_RB();	NF_CMD(NAND_CMD_READ0);	// Read command	NF_ADDR(0);				// Column = 0	NF_ADDR(blockPage & 0xff);			//    NF_ADDR((blockPage >> 8) & 0xff);   // Block & Page num.    NF_ADDR((blockPage >> 16) & 0xff);  //	for(i=0;i<10;i++);    NF_DETECT_RB();#if CONFIG_S3C2410     for(i=0;i<512;i++)	*bufPt++ = NF_RDDATA();	// Read one page#elif CONFIG_S3C2440 || CONFIG_S3C2443  //added by maddy220109    for(i=0;i<512;i++)	*bufPt++ = NF_RDDATA8();// Read one page#endif#if CONFIG_S3C2410	//error check    ecc0 = NFECC0;    ecc1 = NFECC1;    ecc2 = NFECC2;        for(i=0;i<16;i++)  	se[i]=NF_RDDATA();	// Read spare array#endif    NF_nFCE_H();#if CONFIG_S3C2410    if( (ecc0==se[0]) && (ecc1==se[1]) && (ecc2==se[2]) )    {//		printf("[ECC OK:%x,%x,%x]\n", se[0], se[1], se[2]);    }else{		printf("[ECC ERROR(RD):read:%x,%x,%x, reg:%x,%x,%x]\n",		se[0], se[1], se[2], ecc0, ecc1, ecc2);    	return -1;	}#endif	return 0;}/*static int NF_WriteOob(u32 block,u32 page,u8 *buffer, int yaffs_option){    int i;    u32 blockPage = (block * NAND_PAGES_IN_BLOCK) + page;#ifdef S3C24X0_16BIT_NAND    u16 *ptr16=buffer;#else    u8 *ptr8 = buffer;    u8 oobBuf[NAND_OOB_SIZE];    for (i=0; i<NAND_OOB_SIZE; i++)    {        oobBuf[i] = (*ptr8++);    }    if ( yaffs_option == NF_USE_MTD_ECC )    {        oobBuf[ 8] = 0xFF; oobBuf[ 9] = 0xFF; oobBuf[10] = 0xFF;        oobBuf[13] = 0xFF; oobBuf[14] = 0xFF; oobBuf[15] = 0xFF;    }#endif    NF_nFCE_L();    NFCMD = NAND_CMD_READOOB;    NFCMD = NAND_CMD_SEQIN;    NFADDR= 0;    NFADDR= blockPage & 0xff;    NFADDR= (blockPage>>8) & 0xff;#ifdef NAND_3_ADDR_CYCLE    // Nothing#else    NFADDR=((blockPage>>16)&0xff);#endif#ifdef S3C24X0_16BIT_NAND    for(i=0; i < NAND_OOB_SIZE/2 ; i++){        NFDATA16 = *ptr16++;    }#else    for(i=0; i < NAND_OOB_SIZE ; i++) {        NFDATA8 = oobBuf[i];    }#endif    NFCMD = NAND_CMD_PAGEPROG;    for(i=0; i<10 ;i++);    NF_DETECT_RB();    NFCMD = NAND_CMD_STATUS;    for(i=0; i<3; i++);    if (NFDATA8 & 0x1) {         NF_nFCE_H();        printf("*****************************************");	printf("\r");    }    else {        NF_nFCE_H();    }    return 1;}*/int NF_EraseBlock(u32 block){	u32 blockPage = block * NAND_PAGES_IN_BLOCK;	int i;	if(NF_IsBadBlock(block))	return 0;		NF_nFCE_L();	NF_CLEAR_RB();	NF_CMD(NAND_CMD_ERASE1);	// Erase one block 1st command	NF_ADDR(blockPage & 0xff);    NF_ADDR((blockPage >> 8) & 0xff);       NF_ADDR((blockPage >> 16) & 0xff);	NF_CMD(NAND_CMD_ERASE2);   // Erase one blcok 2nd command		for(i=0;i<10;i++);	NF_DETECT_RB();	NF_CMD(NAND_CMD_STATUS);   // Read status command#if CONFIG_S3C2410	if(NF_RDDATA() & 0x1){#elif CONFIG_S3C2440 || CONFIG_S3C2443 //added by maddy220109	if(NF_RDDATA8() & 0x1){#endif    	NF_nFCE_H();		NF_MarkBadBlock(block);		return 0;	//erase ERROR    }else{    	NF_nFCE_H();        return 1;	//erase SUCCESS    }}int NF_MarkBadBlock(u32 block){	int i;	u32 blockPage = block * NAND_PAGES_IN_BLOCK;	seBuf[0]=0xff;	seBuf[1]=0xff;	seBuf[2]=0xff;	seBuf[5]=0x44;	NF_nFCE_L();    NF_CMD(NAND_CMD_READOOB);    NF_CMD(NAND_CMD_SEQIN);	NF_ADDR(0x0);					// The mark of bad block is	NF_ADDR(blockPage&0xff);	    // marked 5th spare array     NF_ADDR((blockPage>>8)&0xff);   // in the 1st page.    NF_ADDR((blockPage>>16)&0xff);  //#if CONFIG_S3C2410	for(i=0 ;i < NAND_OOB_SIZE ;i++)	NF_WRDATA(seBuf[i]);// Write spare array#elif CONFIG_S3C2440 || CONFIG_S3C2443          //added by maddy220109	for(i=0 ;i < NAND_OOB_SIZE ;i++)	 NF_WRDATA8(seBuf[i]);// Write spare array#endif    NF_CMD(NAND_CMD_PAGEPROG);   // Write 2nd command	for(i=0;i<10;i++);	NF_DETECT_RB();	NF_CMD(NAND_CMD_STATUS);		for(i=0;i<3;i++);	//twhr=60ns#if CONFIG_S3C2410	if(NF_RDDATA() & 0x1){#elif CONFIG_S3C2440 || CONFIG_S3C2443   //added by maddy220109	if(NF_RDDATA8() & 0x1){#endif       	NF_nFCE_H();//		printf("[MARK_BADBLOCK:block number = %4d]\n", block);    }else{    	NF_nFCE_H();    }//	printf("[block #%d is marked as a bad block]\n",block);    return 1;}/*static int NF_CheckBadNande(u32 block){	int i;	unsigned int blockPage;	u16 data;	blockPage = block * NAND_PAGES_IN_BLOCK;	NF_RSTECC();	NF_nFCE_L();	NF_CLEAR_RB();	NF_CMD(NAND_CMD_READOOB);	//	NF_ADDR((NAND_PAGE_SIZE + 0) & 0xf);	NF_ADDR(0);	NF_ADDR(blockPage&0xff);		// The mark of bad block is in 0 page	NF_ADDR((blockPage>>8)&0xff);	// For block number A[24:17]	NF_ADDR((blockPage>>16)&0xff);	// For block number A[25]	for(i=0;i<10;i++);  // dummy check me	NF_DETECT_RB();	for (i = 0 ; i < NAND_PAGE_SIZE; i++){		data = NF_RDDATA();		if ( data != 0xff ) break;	}	NF_nFCE_H();	if (i != NAND_PAGE_SIZE) {		printf("[block %d is bad block(%x)]\n",block,data);	}}*/int NF_IsBadBlock(u32 block){	int i, blockPage;	u8 data;	blockPage = block * NAND_PAGES_IN_BLOCK;	NF_nFCE_L();	NF_CLEAR_RB();	NF_CMD(NAND_CMD_READOOB);	NF_ADDR(517 & 0xf);					// Read the mark of bad block in spare array(M addr=5)     NF_ADDR(blockPage & 0xff);			// The mark of bad block is in 0 page    NF_ADDR((blockPage >> 8) & 0xff);   // For block number A[24:17]    NF_ADDR((blockPage >> 16) & 0xff);  // For block number A[25]	for(i=0;i<10;i++);	NF_DETECT_RB();#if CONFIG_S3C2410	data = NF_RDDATA();#elif CONFIG_S3C2440 || CONFIG_S3C2443 //added by maddy220109	data = NF_RDDATA8();#endif	NF_nFCE_H();	if(data != 0xff)	return 1;	//bad block	else				return 0;	//good block}u16 NF_CheckId(void){	int i;	u16 id = 0;		NF_nFCE_L();		NF_CMD(NAND_CMD_READID);	NF_ADDR(0x0);		for(i=0;i<10;i++); 		//wait tWB(100ns)#if CONFIG_S3C2410		id  = NF_RDDATA()<<8;    id |= NF_RDDATA();#elif (CONFIG_S3C2440 || CONFIG_S3C2443) //added by maddy220109	id  = NF_RDDATA8()<<8;	id |= NF_RDDATA8();#endif	NF_nFCE_H();	printf("Manufacture ID [0x%x], ", id>>8);	printf("Device ID [0x%x]\n", id & 0xff);    return id;}void NF_Reset(void){	int i;	NF_nFCE_L();	NF_CLEAR_RB();		NF_CMD(NAND_CMD_RESET);	for(i=0;i<10;i++);	NF_nFCE_H();}void NF_Init(void){#if CONFIG_S3C2410	NFCONF = (1<<15)|(1<<14)|(1<<13)|(1<<12)|(1<<11)|(TACLS<<8)|(TWRPH0<<4)|(TWRPH1<<0);	// [15]		NAND flash controller Enable/Disable	: 1 - enble	// [12]		Initialize ECC decoder/encoder			: 1 - initialize ECC(support only 512B)	// [11]		NAND flash memory chip enable			: 1 - NAND flash nFCE = H(inative)	//													  (After auto-boot, nFCE is inactive)	// [10:8]	CLE & ALE duration setting value(0~7)	: Duration = HCLK * (TACLS + 1)	// [6:4]	TWRPH0 duration setting value(0~7)		: Duration = HCLK * (TWRPH0 + 1)	// [2:0]	TWRPH1 duration setting value(0~7)      : Duration = HCLK * (TWRPH1 + 1)#elif CONFIG_S3C2440	NFCONF = (TACLS<<12)|(TWRPH0<<8)|(TWRPH1<<4)|(0<<0);    // TACLS        [14:12] CLE&ALE duration = HCLK*TACLS.    // TWRPH0       [10:8]  TWRPH0 duration = HCLK*(TWRPH0+1)    // TWRPH1       [6:4]   TWRPH1 duration = HCLK*(TWRPH1+1)    // AdvFlash(R)  [3]     Advanced NAND, 0:256/512, 1:1024/2048    // PageSize(R)  [2]     NAND memory page size    //                      when [3]==0, 0:256, 1:512 bytes/page.    //                      when [3]==1, 0:1024, 1:2048 bytes/page.    // AddrCycle(R) [1]     NAND flash addr size    //                      when [3]==0, 0:3-addr, 1:4-addr.    //                      when [3]==1, 0:4-addr, 1:5-addr.    // BusWidth(R/W) [0]    NAND bus width. 0:8-bit, 1:16-bit.	NFCONT = (0<<13)|(0<<12)|(0<<10)|(0<<9)|(0<<8)|(1<<6)|(1<<5)|(1<<4)|(1<<1)|(1<<0);    // Lock-tight   [13]    0:Disable lock, 1:Enable lock.    // Soft Lock    [12]    0:Disable lock, 1:Enable lock.    // EnablillegalAcINT[10]    Illegal access interupt control. 0:Disable, 1:Enable    // EnbRnBINT    [9]     RnB interrupt. 0:Disable, 1:Enable    // RnB_TrandMode[8]     RnB transition detection config. 0:Low to High, 1:High to Low    // SpareECCLock [6]     0:Unlock, 1:Lock    // MainECCLock  [5]     0:Unlock, 1:Lock    // InitECC(W)   [4]     1:Init ECC decoder/encoder.    // Reg_nCE      [1]     0:nFCE=0, 1:nFCE=1.    // NANDC Enable [0]     operating mode. 0:Disable, 1:Enable.#elif CONFIG_S3C2443	NFCONF = (1<<31)|(1<<24)|(TACLS<<12)|(TWRPH0<<8)|(TWRPH1<<4)|(0<<0);    // NANDBoot     [31]    Shows NAND Boot or not, 0:Disable NANDBoot, 1:Enable NANDBoot    // ECCTYPE      [24]    ECC Type Selection, 0:SLC(1-bit Correction), 1:MLC(4-bit Correction)    // TACLS        [14:12] CLE&ALE duration = HCLK*TACLS.    // TWRPH0       [10:8]  TWRPH0 duration = HCLK*(TWRPH0+1)    // TWRPH1       [6:4]   TWRPH1 duration = HCLK*(TWRPH1+1)    // AdvFlash(R)  [3]     Advanced NAND, 0:256/512, 1:1024/2048    // PageSize(R)  [2]     NAND memory page size    //                      when [3]==0, 0:256, 1:512 bytes/page.    //                      when [3]==1, 0:1024, 1:2048 bytes/page.    // AddrCycle(R) [1]     NAND flash addr size    //                      when [3]==0, 0:3-addr, 1:4-addr.    //                      when [3]==1, 0:4-addr, 1:5-addr.    // BusWidth(R/W) [0]    NAND bus width. 0:8-bit, 1:16-bit.	NFCONT = (0<<17)|(0<<16)|(0<<13)|(0<<12)|(0<<10)|(0<<9)|(0<<8)|(1<<7)|(1<<6)|(1<<5)|(1<<4)|(1<<1)|(1<<0);    // Lock-tight   [17]    0:Disable lock, 1:Enable lock.    // Soft Lock    [16]    0:Disable lock, 1:Enable lock.    // EnbECCEncINT [13]    ECC encoding completion interrupt contro 0:Disable 1:Enable    // EnbECCDecINT [12]    ECC Decoding completion interrupt contro 0:Disable 1:Enable    // EnablillegalAcINT[10]    Illegal access interupt control. 0:Disable, 1:Enable    // EnbRnBINT    [9]     RnB interrupt. 0:Disable, 1:Enable    // RnB_TrandMode[8]     RnB transition detection config. 0:Low to High, 1:High to Low    // SpareECCLock [6]     0:Unlock, 1:Lock    // MainECCLock  [7]     0:Unlock, 1:Lock    // InitMECC(W)  [5]     1:Init Main ECC decoder/encoder.    // InitSECC(W)  [4]     1:Init Spare ECC decoder/encoder.    // Reg_nCE      [1]     0:nFCE=0, 1:nFCE=1.    // NANDC Enable [0]     operating mode. 0:Disable, 1:Enable.#endif	NF_Reset();}void LED_blink(int status){	u32 led_stt;		if(status == WR_STATUS)	NAND_LED ^= MBA2440_LED1;	else					NAND_LED ^= MBA2440_LED2;	return;}#endif // (CONFIG_COMMANDS & CFG_CMD_NAND)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人日日夜夜| 国产精品高清亚洲| 99久久精品国产网站| 午夜一区二区三区视频| 久久久久久一级片| 欧美一区二区福利在线| 欧美午夜视频网站| 日本乱人伦aⅴ精品| 色偷偷久久人人79超碰人人澡| 一区二区三区免费看视频| 久久综合99re88久久爱| 欧美zozo另类异族| 日韩你懂的在线播放| 中文字幕一区不卡| 中文字幕免费观看一区| 国产色综合一区| 国产精品网友自拍| 日本一区二区视频在线| 国产农村妇女精品| 国产三级欧美三级日产三级99| 久久久精品人体av艺术| 久久久久久久久久美女| 欧美激情综合网| 国产精品女人毛片| 中文字幕中文字幕一区| 亚洲一区二区视频| 日韩国产在线观看| 久久se精品一区精品二区| 韩国视频一区二区| 色综合久久综合网97色综合 | 风间由美一区二区av101| 成人va在线观看| 欧美色图12p| 日韩一区二区在线观看视频| 日韩免费福利电影在线观看| 日韩女优视频免费观看| 国产欧美日韩三区| 亚洲午夜在线观看视频在线| 舔着乳尖日韩一区| 国产一区二区三区在线观看免费| 91视视频在线观看入口直接观看www | 在线综合+亚洲+欧美中文字幕| 久久久精品影视| 日本不卡123| 91久久免费观看| 中文av一区特黄| 日本最新不卡在线| a在线欧美一区| 精品999在线播放| 肉色丝袜一区二区| 在线精品视频一区二区| 国产日韩v精品一区二区| 奇米影视在线99精品| 色94色欧美sute亚洲线路二| 国产欧美日韩在线| 狠狠色狠狠色合久久伊人| 欧美人xxxx| 午夜亚洲国产au精品一区二区| 色婷婷亚洲综合| 亚洲精品v日韩精品| 成人性生交大合| 国产精品久久久久久久久动漫 | 久久99蜜桃精品| 日韩欧美综合在线| 韩国av一区二区| 久久久久久毛片| 国产一区二区成人久久免费影院| 久久一二三国产| 国产成+人+日韩+欧美+亚洲 | 国产欧美日韩视频一区二区| 国产宾馆实践打屁股91| 国产精品视频观看| 一本在线高清不卡dvd| 亚洲最新在线观看| 56国语精品自产拍在线观看| 欧美bbbbb| 国产女人aaa级久久久级| 99久久精品免费| 天天综合天天综合色| 日韩欧美成人激情| 成人91在线观看| 亚洲一区二区三区美女| 日韩亚洲欧美一区二区三区| 国产精品99久久久久久宅男| 亚洲情趣在线观看| 3atv一区二区三区| 不卡视频在线观看| 日本sm残虐另类| 亚洲蜜桃精久久久久久久| 欧美电影免费观看完整版| 成人激情黄色小说| 蜜臀av一区二区| 国产精品超碰97尤物18| 日韩一级高清毛片| 色天天综合久久久久综合片| 国产v综合v亚洲欧| 免费一级片91| 亚洲综合免费观看高清完整版在线 | 亚洲日本韩国一区| 国产亚洲一区二区三区四区| 欧美另类变人与禽xxxxx| 国产成人自拍网| 午夜欧美大尺度福利影院在线看| 国产偷国产偷精品高清尤物 | 日韩一区二区三| 欧美精品一二三| 91福利在线看| 色视频成人在线观看免| 国产成人亚洲精品青草天美| 久久精品久久99精品久久| 午夜欧美一区二区三区在线播放| 亚洲婷婷在线视频| 国产精品国产三级国产aⅴ入口| 国产欧美一区二区三区网站| 欧美电影免费提供在线观看| 日韩欧美中文一区| 日韩精品在线一区| 欧美精品一区二区久久久| 精品久久人人做人人爱| 精品欧美一区二区久久| 久久亚洲春色中文字幕久久久| 精品国产网站在线观看| 亚洲精品一区二区三区四区高清| 日韩视频不卡中文| 久久久亚洲综合| 中文字幕亚洲一区二区av在线| 国产精品免费视频观看| 亚洲啪啪综合av一区二区三区| 悠悠色在线精品| 免费的成人av| 福利一区二区在线观看| 91麻豆精东视频| 制服丝袜一区二区三区| 欧美第一区第二区| 日韩免费视频一区| 婷婷开心激情综合| 国产精品一区二区在线观看不卡| 风流少妇一区二区| 欧美群妇大交群中文字幕| 精品少妇一区二区三区在线播放| 中文字幕欧美区| 捆绑调教美女网站视频一区| 91影院在线观看| 中文欧美字幕免费| 久久超级碰视频| 欧美人体做爰大胆视频| 欧美国产禁国产网站cc| 激情小说亚洲一区| 久久综合色播五月| 亚洲综合男人的天堂| 亚洲天堂a在线| 婷婷久久综合九色综合绿巨人| 欧美日韩精品欧美日韩精品一| 欧美国产激情一区二区三区蜜月| 激情五月婷婷综合网| 日韩网站在线看片你懂的| 蜜臀av一区二区三区| 91精品麻豆日日躁夜夜躁| 舔着乳尖日韩一区| 日韩欧美视频一区| 亚洲一区二区三区在线| 日本高清不卡视频| 午夜欧美一区二区三区在线播放| 欧美日韩一卡二卡三卡| 亚洲成人777| 欧美岛国在线观看| a级精品国产片在线观看| 国产精品伦理一区二区| 91国在线观看| 美女视频一区二区| 久久久精品影视| 欧美私人免费视频| 三级欧美在线一区| 精品国产区一区| 激情av综合网| 国产精品视频第一区| 91麻豆国产在线观看| 午夜电影一区二区三区| 911精品产国品一二三产区| 亚洲一本大道在线| 日韩一区二区三区视频在线观看| 日本成人中文字幕在线视频| 日韩视频一区二区三区在线播放| 久久国产欧美日韩精品| 国产日产欧产精品推荐色 | 成人av电影在线网| 亚洲成人免费av| 久久精品人人爽人人爽| 99热99精品| 久久精品国产久精国产| 中文字幕一区视频| 欧美一区国产二区| 北岛玲一区二区三区四区| 亚洲一二三四区不卡| 国产精品午夜在线观看| 在线观看区一区二| 91污片在线观看| 五月综合激情日本mⅴ| 国产精品久久久久久久久免费丝袜 | 欧美三级蜜桃2在线观看|