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

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

?? s29gl064a90.c

?? umon bootloader source code, support mips cpu.
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*
**************************************************************************************
*                            Copyright (c) 2005 vBridge Microsystem, Inc.  
*                                  Unpublished & Not for Publication
*                                        All Rights Reserved                   
*   
* File        : 28F640J3.c                     
*                                                                         
* Description : 
*             
* Date        :                                                            
**************************************************************************************
*/
#include "config.h"

#ifdef INCLUDE_NOR_FLASH_S29GL064A90
#ifdef INCLUDE_FLASH


#include "./pif.h"
//#include "SST39VF3201.h"
#include "S29GL064A90.h"
#include "flash.h"
#include "Def_type.h"

#define INTEL_DT28F128J5		0x00890018
#define INTEL_28F640			0x00890017
#define INTEL_DT28F640J5		0x00890015
#define ST_M58LW064D		0x00200017
#define ST_M25P64			0x00172020
#define S29GL128M90			0x0001227e
#define SST39VF3201			0x00bf235b			// jason add 
#define S29GL064A90			0x0001227e			// jason add 

typedef unsigned char uchar;
extern char *boot_device_name;


/*
**************************************************************************************
*                                       NorFlashPifInit
*
* Description: initialize the PCMCIA interface
*
* Arguments  : devID     controls which PCMCIA device to access. 
*                                  0 – CS0
*                                  1 – CS1
*                                  2 – CS2
*                                  3 – CS3
*                            For Virtex-4, devID = 0.
*
* Return     : none
*
* Note(s)    : Before any Nor flash operations, you should call it at first.
**************************************************************************************
*/

void NorFlashPifInit(void)
{
    unsigned int tmp;
    PifPCMCIAModeRegSet(PIF_CBUS_MODE, PCMCIA_MSTR_BS_8BYTE);    
    
    PifTimingRegSet(0xf /* setup */, 0xf /* hold */, 0xf /* interval */, \
                    0xf /* wait_cycle */, PIF_NO_WAIT /* ioack_wait */, \
                    PCMCIA_WIDTH_16BIT /* pcmcia_width */, PCMCIA_NO_CHECK /* wait */, \
                    PCMCIA_INSERT_IDLE /* swait */, PIF_CS0 /* devID */, \
                    PIF_OE /* xfr_type */);
    
    PIF_INTR_DIS();       // Disable the PIF interrupts
    PIF_DONE_CLEAR();     // Clear the bit done
    
    tmp = *(unsigned int *)0xa80a001c;
    tmp &= 0x7fffffff;
    *(unsigned int *)0xa80a001c = tmp;
	*(volatile unsigned *)(0xa8010020) =0x80000004;
}

/*
*********************************************************************************************
*                                       NorFlashErase
*
* Description: erase one specified block.
*
* Arguments  : block_no     is the block number. 
*
* Return     : SUCCESSFUL  shows the erasure is successful.
*              FAILED      shows the erasure is failed.
*
* Note(s)    : 
*********************************************************************************************
*/
int NorFlashErase(int block_no)
{
    unsigned short status;
    int i;
    int num;
    	
#if 0
    /* the first cycle of block erase */	
    PIF_WRITE_SET();
    rPIF_PCI_LEN = 2;
    rPIF_PCI_DEV_A = block_no * NOR_FLASH_BYTES_PER_SECTOR;    // the byte address
    PIF_START();
    rPIF_PCMCIA_DATA = NOR_FLASH_ERASE_BLOCK1;
    
    PifWaitTillDone();         // Wait till the first cycle complete
    
    /* the second cycle of block erase */	
    PIF_START();
    rPIF_PCMCIA_DATA = NOR_FLASH_ERASE_BLOCK2;
    
    PifWaitTillDone();         // Wait till the second cycle complete
#endif    
		//printf("Erase ...\n");
    /* the first cycle of block erase */	
    
    if(block_no == 0)
    	{
    		for(num = 0; num < BOOT_SECTOR_NUM; num ++)
    		{
    			PIF_WRITE_SET();
			    rPIF_PCI_LEN = 2;
			    rPIF_PCI_DEV_A = 0xaaa;    // the byte address
    
 			    PifPCMCIAModeRegSet(PIF_CBUS_MODE, PCMCIA_MSTR_BS_8BYTE);    
 			    PIF_START();
			     rPIF_PCMCIA_DATA = 0xaa;
			     PifWaitTillDone();         // Wait till the first cycle complete

 			    /* the second cycle of block erase */	
 			    PIF_WRITE_SET();
 			    rPIF_PCI_LEN = 2;
 			    rPIF_PCI_DEV_A = 0x554;    // the byte address
    
  			   PifPCMCIAModeRegSet(PIF_CBUS_MODE, PCMCIA_MSTR_BS_8BYTE);    
  			   PIF_START();
  			   rPIF_PCMCIA_DATA = 0x55;
  			   PifWaitTillDone();         // Wait till the first cycle complete
    
  			   /* the third cycle of block erase */	
  			   PIF_WRITE_SET();
   			  rPIF_PCI_LEN = 2;
  			   rPIF_PCI_DEV_A = 0xaaa;    // the byte address
    
   			  PifPCMCIAModeRegSet(PIF_CBUS_MODE, PCMCIA_MSTR_BS_8BYTE);    
			     PIF_START();
  			   rPIF_PCMCIA_DATA = 0x80;
 			    PifWaitTillDone();         // Wait till the first cycle complete

 			    /* the fourth cycle of block erase */	
 			    PIF_WRITE_SET();
  			   rPIF_PCI_LEN = 2;
 			    rPIF_PCI_DEV_A = 0xaaa;    // the byte address
    
 			    PifPCMCIAModeRegSet(PIF_CBUS_MODE, PCMCIA_MSTR_BS_8BYTE);    
  			   PIF_START();
  			   rPIF_PCMCIA_DATA = 0xaa;
  			   PifWaitTillDone();         // Wait till the first cycle complete

  			   /* the fifth cycle of block erase */	
  			   PIF_WRITE_SET();
  			   rPIF_PCI_LEN = 2;
 			    rPIF_PCI_DEV_A = 0x554;    // the byte address
    
  			   PifPCMCIAModeRegSet(PIF_CBUS_MODE, PCMCIA_MSTR_BS_8BYTE);    
 			    PIF_START();
 			    rPIF_PCMCIA_DATA = 0x55;
 			    PifWaitTillDone();         // Wait till the first cycle complete

 			    /* the sixth cycle of block erase */	
  			   PIF_WRITE_SET();
 			    rPIF_PCI_LEN = 2;
 			    //rPIF_PCI_DEV_A = block_no * NOR_FLASH_BYTES_PER_SECTOR ;    // the byte address
 			    rPIF_PCI_DEV_A = num * NOR_FLASH_BYTES_BOOT_SECTOR;    // the byte address
    
 			    PifPCMCIAModeRegSet(PIF_CBUS_MODE, PCMCIA_MSTR_BS_8BYTE);    
  			   PIF_START();
  			   rPIF_PCMCIA_DATA = 0x30; //30 ->50
  			   PifWaitTillDone();         // Wait till the first cycle complete


 			    status = 0x0;

				 	do{     // Flash is busy?
  			   	  //printf("before erase : the status is %x \n",status);
  			       NorFlashRd(rPIF_PCI_DEV_A, &status, 1);
 			       // printf("erase: the status is %x \n",status);
  			   }while(!(status & 0x80)); 
    			
    		}
    		
    	}
    else{  
    
 		  PIF_WRITE_SET();
 	    rPIF_PCI_LEN = 2;
 	  	rPIF_PCI_DEV_A = 0xaaa;    // the byte address
     
  	  PifPCMCIAModeRegSet(PIF_CBUS_MODE, PCMCIA_MSTR_BS_8BYTE);    
  	  PIF_START();
  	  rPIF_PCMCIA_DATA = 0xaa;
  	  PifWaitTillDone();         // Wait till the first cycle complete

 	    /* the second cycle of block erase */	
 	    PIF_WRITE_SET();
 	    rPIF_PCI_LEN = 2;
 	    rPIF_PCI_DEV_A = 0x554;    // the byte address
    
 	    PifPCMCIAModeRegSet(PIF_CBUS_MODE, PCMCIA_MSTR_BS_8BYTE);    
 	    PIF_START();
	    rPIF_PCMCIA_DATA = 0x55;
 	    PifWaitTillDone();         // Wait till the first cycle complete
    
 	  	/* the third cycle of block erase */	
 	   PIF_WRITE_SET();
 		 rPIF_PCI_LEN = 2;
     rPIF_PCI_DEV_A = 0xaaa;    // the byte address
    
     PifPCMCIAModeRegSet(PIF_CBUS_MODE, PCMCIA_MSTR_BS_8BYTE);    
     PIF_START();
     rPIF_PCMCIA_DATA = 0x80;
     PifWaitTillDone();         // Wait till the first cycle complete

     /* the fourth cycle of block erase */	
     PIF_WRITE_SET();
     rPIF_PCI_LEN = 2;
     rPIF_PCI_DEV_A = 0xaaa;    // the byte address
    
     PifPCMCIAModeRegSet(PIF_CBUS_MODE, PCMCIA_MSTR_BS_8BYTE);    
     PIF_START();
     rPIF_PCMCIA_DATA = 0xaa;
     PifWaitTillDone();         // Wait till the first cycle complete

     /* the fifth cycle of block erase */	
     PIF_WRITE_SET();
     rPIF_PCI_LEN = 2;
     rPIF_PCI_DEV_A = 0x554;    // the byte address
    
     PifPCMCIAModeRegSet(PIF_CBUS_MODE, PCMCIA_MSTR_BS_8BYTE);    
     PIF_START();
     rPIF_PCMCIA_DATA = 0x55;
     PifWaitTillDone();         // Wait till the first cycle complete

     /* the sixth cycle of block erase */	
     PIF_WRITE_SET();
     rPIF_PCI_LEN = 2;
     //rPIF_PCI_DEV_A = block_no * NOR_FLASH_BYTES_PER_SECTOR ;    // the byte address
     rPIF_PCI_DEV_A = block_no * NOR_FLASH_BYTES_PER_SECTOR;    // the byte address
    
     PifPCMCIAModeRegSet(PIF_CBUS_MODE, PCMCIA_MSTR_BS_8BYTE);    
     PIF_START();
     rPIF_PCMCIA_DATA = 0x30; //30 ->50
     PifWaitTillDone();         // Wait till the first cycle complete


     status = 0x0;

	  do{     // Flash is busy?
    	  //printf("before erase : the status is %x \n",status);
        NorFlashRd(rPIF_PCI_DEV_A, &status, 1);
       // printf("erase: the status is %x \n",status);
    }while(!(status & 0x80)); 
    //printf("Erase OK Status %x  !\r\n", status);    	   
 
/*   
    status = 0x0;
    for(i=0; i< 40; i++)
    {
        NorFlashRd(FLASH_MAC_ADDR+i, &status, 1);
        printf("%x ",status);
        if(i&0xf == 0)
        	printf("\n");
        status = 0x0;
      }
	*/
    //if(status & 0x20)             // Whether the SR4 or SR5 is set
    //    return FAILED;
    
  }
    return SUCCESSFUL;
}

/*
*********************************************************************************************
*                                       NorFlashProg
*
* Description: program a half-word into the specified address
*
* Arguments  : addr     is the byte address. 
*              data     is the half-word to be programmed.
*
* Return     : SUCCESSFUL  shows the erasure is successful.
*              FAILED      shows the erasure is failed.
*
* Note(s)    : 
*********************************************************************************************
*/
int NorFlashProg(int addr, unsigned short data)
{
    unsigned short status;
    
    //printf("write data: %08x to addr: %08x",data, addr);

    addr = addr * 1;

    /* the first cycle of block erase */	
    PIF_WRITE_SET();
    rPIF_PCI_LEN = 2;
    rPIF_PCI_DEV_A = 0xaaa;    // the byte address
    
    PifPCMCIAModeRegSet(PIF_CBUS_MODE, PCMCIA_MSTR_BS_8BYTE);    
    PIF_START();
    rPIF_PCMCIA_DATA = 0xaa;
    PifWaitTillDone();         // Wait till the first cycle complete

    /* the second cycle of block erase */	
    PIF_WRITE_SET();
    rPIF_PCI_LEN = 2;
    rPIF_PCI_DEV_A = 0x554;    // the byte address
    
    PifPCMCIAModeRegSet(PIF_CBUS_MODE, PCMCIA_MSTR_BS_8BYTE);    
    PIF_START();
    rPIF_PCMCIA_DATA = 0x55;
    PifWaitTillDone();         // Wait till the first cycle complete
    
    /* the third cycle */	
    PIF_WRITE_SET();
    rPIF_PCI_LEN = 2;
    rPIF_PCI_DEV_A = 0xaaa;    // the byte address
    
    PifPCMCIAModeRegSet(PIF_CBUS_MODE, PCMCIA_MSTR_BS_8BYTE);    
    PIF_START();
    rPIF_PCMCIA_DATA = NOR_FLASH_PROG_WORD;
    PifWaitTillDone();         // Wait till the first cycle complete
    
    /* the fourth cycle */	
    PIF_WRITE_SET();
    rPIF_PCI_LEN = 2;
    rPIF_PCI_DEV_A = addr;    // the byte address
    
    PifPCMCIAModeRegSet(PIF_CBUS_MODE, PCMCIA_MSTR_BS_8BYTE);    
    PIF_START();
    rPIF_PCMCIA_DATA = data;
    PifWaitTillDone();         // Wait till the second cycle complete
    
    status = 0x0;
    
    do{     // Flash is busy?
        NorFlashRd(addr, &status, 1);
        //printf("read value is %08x, from addr %08x  \n",status, addr);
    }while(!((status & 0x80) == (data & 0x80))); 
    
//   HwDelayUs(100);
    //printf("Program OK addr %08x !\r\n", addr);    	    
    //if(status & 0x22)             // Whether the SR1 SR3 or SR4 is set
    //    return FAILED;
    return SUCCESSFUL;
}

/*
*********************************************************************************************
*                                       NorFlashClrSR
*
* Description: clr the flash status.
*
* Arguments  : none
*
* Return     : none
*
* Note(s)    : If FAILED returns after program or erase operation, 
*              you should run NorFlashClrSR before the next program or erase operation. 
*              The function does not verify.
*********************************************************************************************
*/
void NorFlashClrSR(void)
{           	
    PIF_WRITE_SET();
    rPIF_PCI_LEN = 2;
    PIF_START();
    rPIF_PCMCIA_DATA = NOR_FLASH_CL_SR;
    
    PifWaitTillDone();         // Wait till the first cycle complete	            
}

/*
*********************************************************************************************
*                                       NorFlashRdSR
*
* Description: read the flash status.
*
* Arguments  : none
*
* Return     : the flash status
*
* Note(s)    : 
*********************************************************************************************
*/
unsigned short NorFlashRdSR(void)
{   
    unsigned short status;
    	
    PIF_WRITE_SET();
    rPIF_PCI_LEN = 2;
    PIF_START();
    rPIF_PCMCIA_DATA = NOR_FLASH_RD_SR;
    
    PifWaitTillDone();         // Wait till the first cycle complete	
    
    NorFlashRd(0, &status, 1);
    return(status);
}

unsigned short NorFlashRdManufacturerID(void)
{
   	unsigned short mID;
	    /* the first cycle of block erase */	
    PIF_WRITE_SET();
    rPIF_PCI_LEN = 2;
    rPIF_PCI_DEV_A = 0xaaa;    // the byte address
    
    PifPCMCIAModeRegSet(PIF_CBUS_MODE, PCMCIA_MSTR_BS_8BYTE);    
    PIF_START();
    rPIF_PCMCIA_DATA = 0xaa;
    PifWaitTillDone();         // Wait till the first cycle complete

    /* the second cycle of block erase */	
    PIF_WRITE_SET();
    rPIF_PCI_LEN = 2;
    rPIF_PCI_DEV_A = 0x554;    // the byte address
    
    PifPCMCIAModeRegSet(PIF_CBUS_MODE, PCMCIA_MSTR_BS_8BYTE);    
    PIF_START();
    rPIF_PCMCIA_DATA = 0x55;
    PifWaitTillDone();         // Wait till the first cycle complete
        	  /* the third cycle */	
    PIF_WRITE_SET();
    rPIF_PCI_LEN = 2;
    rPIF_PCI_DEV_A = 0xaaa;    // the byte address
    
    PifPCMCIAModeRegSet(PIF_CBUS_MODE, PCMCIA_MSTR_BS_8BYTE);    
    PIF_START();
    rPIF_PCMCIA_DATA = NOR_FLASH_RD_ID;
    PifWaitTillDone();         // Wait till the first cycle complete
    
    
    NorFlashRd(0, &mID, 1);	return mID;
}

unsigned short NorFlashRdDeviceID(void)
{
   	unsigned short deviceID;
	    /* the first cycle of block erase */	
    PIF_WRITE_SET();
    rPIF_PCI_LEN = 2;
    rPIF_PCI_DEV_A = 0xaaa;    // the byte address
    
    PifPCMCIAModeRegSet(PIF_CBUS_MODE, PCMCIA_MSTR_BS_8BYTE);    
    PIF_START();
    rPIF_PCMCIA_DATA = 0xaa;
    PifWaitTillDone();         // Wait till the first cycle complete

    /* the second cycle of block erase */	
    PIF_WRITE_SET();
    rPIF_PCI_LEN = 2;
    rPIF_PCI_DEV_A = 0x554;    // the byte address
    
    PifPCMCIAModeRegSet(PIF_CBUS_MODE, PCMCIA_MSTR_BS_8BYTE);    
    PIF_START();
    rPIF_PCMCIA_DATA = 0x55;
    PifWaitTillDone();         // Wait till the first cycle complete
        	  /* the third cycle */	
    PIF_WRITE_SET();
    rPIF_PCI_LEN = 2;
    rPIF_PCI_DEV_A = 0xaaa;    // the byte address
    
    PifPCMCIAModeRegSet(PIF_CBUS_MODE, PCMCIA_MSTR_BS_8BYTE);    
    PIF_START();
    rPIF_PCMCIA_DATA = NOR_FLASH_RD_ID;
    PifWaitTillDone();         // Wait till the first cycle complete
    
    
    NorFlashRd(2, &deviceID, 1);	return deviceID;
}


int NorFlashRdID(void)
{
    unsigned short mid,did;

	mid = NorFlashRdManufacturerID();
	did = NorFlashRdDeviceID();

	return (mid<<16 | did);
}

/*
*********************************************************************************************
*                                       NorFlashRdData
*
* Description: read the data from the specified address.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美精品一区二区色综合朱莉 | 亚洲激情成人在线| 成人午夜av电影| 亚洲国产人成综合网站| 久久久久久亚洲综合影院红桃| 91网站最新地址| 精品一区二区三区免费视频| √…a在线天堂一区| 日韩视频在线永久播放| 国产呦精品一区二区三区网站| 一级女性全黄久久生活片免费| 久久久久久久国产精品影院| 91.com在线观看| 欧美韩国日本一区| 日韩欧美国产1| 欧美日韩五月天| 色综合久久中文综合久久97| 激情综合一区二区三区| 天堂蜜桃91精品| 亚洲成人av福利| 久久99国产精品麻豆| 日韩影视精彩在线| 三级精品在线观看| 亚洲国产视频直播| 亚洲成av人片在www色猫咪| 一区二区三区国产精华| 亚洲精品欧美二区三区中文字幕| 国产欧美一区二区三区网站| 久久久久九九视频| 国产欧美日韩视频一区二区| 久久久久久99久久久精品网站| 久久久精品2019中文字幕之3| 日韩午夜电影av| 久久综合色8888| 国产精品国产精品国产专区不片| 国产蜜臀97一区二区三区| 国产精品久久久久永久免费观看| 中文字幕日韩一区| 亚洲高清在线视频| 精品写真视频在线观看| 高清日韩电视剧大全免费| 91免费国产视频网站| 欧美日韩精品福利| 久久综合九色综合欧美亚洲| 中文字幕一区二区三中文字幕| 樱花影视一区二区| 久久激情综合网| 成人av动漫在线| 欧美福利视频一区| 亚洲图片你懂的| 日本不卡视频在线| 97久久超碰精品国产| 日韩一级大片在线| 欧美韩国日本综合| 丝袜a∨在线一区二区三区不卡| 韩国中文字幕2020精品| 91福利在线导航| 91精品国产综合久久精品图片 | 精品国产免费视频| 日韩毛片在线免费观看| 久久av资源网| 欧美精品一级二级| 亚洲欧美另类小说| 狠狠色综合播放一区二区| 99re亚洲国产精品| 久久久夜色精品亚洲| 日韩成人av影视| 欧美色图第一页| 一级做a爱片久久| 欧美中文字幕久久| 亚洲男人的天堂在线观看| 精品一区二区三区香蕉蜜桃| 欧美一区二区三区视频| 日韩激情在线观看| 成人一区二区三区在线观看| 国产视频一区二区在线观看| 久久精品国产精品亚洲精品| 一本色道久久综合亚洲精品按摩| 亚洲少妇屁股交4| 欧美亚男人的天堂| 久久精品噜噜噜成人av农村| 国产精品丝袜在线| 欧美人妖巨大在线| 国产一区二区三区精品视频 | 日韩码欧中文字| 欧美色图一区二区三区| 午夜精品福利一区二区三区蜜桃| 欧美男女性生活在线直播观看| 国产精品嫩草久久久久| 91视视频在线观看入口直接观看www| 最新成人av在线| 欧美精品久久久久久久多人混战| 日本美女一区二区| 国产亚洲美州欧州综合国| 97久久精品人人做人人爽50路| 国产精品美女久久久久aⅴ国产馆| 91色婷婷久久久久合中文| 手机精品视频在线观看| 国产精品网站在线| 欧美综合一区二区三区| 国内精品久久久久影院薰衣草| 中文字幕一区日韩精品欧美| 91麻豆精品国产91久久久使用方法 | 国产精品日产欧美久久久久| 欧美日韩在线直播| 制服丝袜亚洲网站| 成人app软件下载大全免费| 五月婷婷色综合| 亚洲精品中文字幕在线观看| 久久综合九色综合欧美98| 欧美三级中文字| 97se亚洲国产综合自在线不卡| 性做久久久久久免费观看| 国产精品毛片久久久久久| 欧美乱妇20p| 91麻豆国产福利精品| 国产福利一区二区三区视频| 日本在线播放一区二区三区| 亚洲美女少妇撒尿| 综合在线观看色| 中文字幕中文字幕一区| 久久久久久久久免费| 日韩欧美一卡二卡| 欧美精品黑人性xxxx| 欧洲视频一区二区| 日本精品裸体写真集在线观看| 91麻豆国产自产在线观看| eeuss影院一区二区三区| 成人高清免费观看| 99热99精品| 色综合天天综合网天天看片| 国产在线精品一区在线观看麻豆| 国产在线视频精品一区| 国产大陆精品国产| 91看片淫黄大片一级| 欧美日韩你懂得| 精品国产乱码久久久久久蜜臀| 欧美r级电影在线观看| 久久精品一区四区| 国产清纯美女被跳蛋高潮一区二区久久w | 91丨porny丨中文| 欧美日韩中字一区| 日韩一区二区在线看片| 日韩欧美的一区二区| 国产精品久久国产精麻豆99网站| 亚洲乱码国产乱码精品精98午夜| 亚洲成在人线免费| 国产一区亚洲一区| 91首页免费视频| 日韩一区二区精品在线观看| 精品少妇一区二区三区视频免付费| 中文字幕乱码日本亚洲一区二区| 亚洲欧美一区二区三区国产精品| 午夜成人在线视频| 大胆亚洲人体视频| 欧美一区二区三区的| 国产精品激情偷乱一区二区∴| 午夜视频一区二区三区| 国产精品538一区二区在线| 成人三级在线视频| 日韩小视频在线观看专区| 亚洲三级视频在线观看| 激情五月激情综合网| 欧美系列在线观看| 国产精品久久毛片a| 麻豆国产精品一区二区三区 | 色哟哟日韩精品| 国产精品无码永久免费888| 日本少妇一区二区| 欧美影院精品一区| 亚洲狠狠丁香婷婷综合久久久| 成人激情免费网站| 中文字幕亚洲电影| 99久久久久免费精品国产 | 欧美亚洲一区三区| 亚洲人成精品久久久久久| www.亚洲免费av| 欧美高清在线一区二区| 国产乱码一区二区三区| 精品久久久久久久久久久久包黑料 | 欧美一区二区三区系列电影| 午夜欧美在线一二页| 一本一道波多野结衣一区二区| 最好看的中文字幕久久| 99re热这里只有精品免费视频 | 亚洲国产精品自拍| 欧美日韩一区二区三区四区五区| 亚洲综合男人的天堂| 欧美日韩亚洲另类| 首页欧美精品中文字幕| 精品三级在线看| 成人网在线免费视频| 亚洲视频精选在线| 精品视频999| 国产99一区视频免费| 中文字幕亚洲一区二区av在线| 欧美视频自拍偷拍| 另类中文字幕网| 国产精品网站在线播放| 9191成人精品久久|