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

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

?? init.c

?? YL9200開發板的測試代碼,詳細請下載后細看
?? C
字號:
//*----------------------------------------------------------------------------
//*         ATMEL Microcontroller Software Support  -  ROUSSET  -
//*----------------------------------------------------------------------------
//* The software is delivered "AS IS" without warranty or condition of any
//* kind, either express, implied or statutory. This includes without
//* limitation any warranty or condition with respect to merchantability or
//* fitness for any particular purpose, or against the infringements of
//* intellectual property rights of others.
//*----------------------------------------------------------------------------
//* File Name           : init.c
//* Object              : Low level initialisations written in C
//* Creation            : ODi   06/26/2002
//*
//*----------------------------------------------------------------------------

#include "AT91RM9200.h"
#include "lib_AT91RM9200.h"
#include "def.h"
#include "config.h"
#include "slib.h"
#include "console.h"

//偽中斷處理函數
//偽中斷是指電平出發時持續時間太短中斷,不能被被正常識別出來的情況
static void SpuriousHandler(void) 
{
	puts("Spurious Interrupt detected\n");
	AT91F_AIC_AcknowledgeIt(AT91C_BASE_AIC);	//應答并返回
}

//未設置處理函數的中斷
static void NonSvcHandler(void)
{
	puts("Non-serviced irq detectd\n");
	while(1);
}

static void SwiHandler(void)
{
	puts("Swi Interrupt detected\n");
}

static void DataAbortHandler(void) 
{
	puts("Data Abort detected\n");
	while (1);
}

static void FetchAbortHandler(void)
{
	puts("Prefetch Abort detected\n");
	while (1);
}

static void UndefHandler() 
{
	puts("Halt on Undefined instruction\n");
	while (1);
}

static void FiqHandler(void)
{
	puts("Halt on FIQ!\n");
	while(1);
}


#define	DELAY_PLL				1000
#define DELAY_MAIN_FREQ			1000

#define SLOWCLOCK				32768		//* In Hz

//*----------------------------------------------------------------------------
//* \fn    AT91F_WaitForMainClockFrequency
//* \brief This function performs very low level HW initialization
//*----------------------------------------------------------------------------
unsigned char AT91F_WaitForMainClockFrequency(void)
{
	volatile char	tmp	= 0;

/////////////////////////////////////////////////////////////////////////////////////////////////////
// Step 2.
// Checking the Main Oscillator Frequency (Optional)
/////////////////////////////////////////////////////////////////////////////////////////////////////

	//* Determine the main clock frequency
	while(!(AT91C_BASE_CKGR->CKGR_MCFR & AT91C_CKGR_MAINRDY) && (tmp++ < DELAY_MAIN_FREQ));

	if (tmp >= DELAY_MAIN_FREQ)
		return FALSE;

	return TRUE;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_InitFlash
//* \brief This function performs very low level HW initialization
//*----------------------------------------------------------------------------
void AT91F_InitFlash(void)
{
	AT91C_BASE_MC->MC_PUIA[0] = AT91C_MC_PROT_PNAUNA;
	AT91C_BASE_MC->MC_PUP = 0;
	AT91C_BASE_MC->MC_PUER = 0;	//* Memory controller protection unit disable
	AT91C_BASE_MC->MC_ASR = 0;  //* read only!
	AT91C_BASE_MC->MC_AASR = 0; //* read only!

	//* Setup MEMC to support CS0=Flash
	AT91C_BASE_EBI->EBI_CSA |= AT91C_EBI_CS0A_SMC;
	AT91C_BASE_EBI->EBI_CFGR = (AT91C_EBI_DBPUC & 0x00) | (AT91C_EBI_EBSEN & 0x00);

	//* Setup Flash
	AT91C_BASE_SMC2->SMC2_CSR[0] = (AT91C_SMC2_NWS & 0x4) | AT91C_SMC2_WSEN
									| (AT91C_SMC2_TDF & 0x200) | AT91C_SMC2_BAT | AT91C_SMC2_DBW_16;
}

/*--------------------------------------------------------------------------------------*/
/* Function Name       : AT91F_SetPLL()							*/
/* Object              : Set the PLLA to 180MHz and Master Clock to 60Mhz		*/
/* Object              : Set the PLLA to 200MHz and Master Clock to 66Mhz		*/
/*--------------------------------------------------------------------------------------*/
/////////////////////////////////////////////////////////////////////////////////////////////////////
// Configuration for a Quartz 18.432000 MHz
/////////////////////////////////////////////////////////////////////////////////////////////////////
#if (PROCESSOR_CLOCK == 243302400)
#define AT91C_PLLA_VALUE	0x20C5BE0F	//PLLA = 0xC6*18.432M/0xf = 243.3024M
#elif (PROCESSOR_CLOCK == 221184000)
#define AT91C_PLLA_VALUE	0x2077BE0A	//PLLA = 0x78*18.432M/0xa = 221.184M
#elif (PROCESSOR_CLOCK == 203000000)
#define AT91C_PLLA_VALUE	0x21B8BE28	//PLLA = 0x1B8*18.432M/0x28 = 203M
#elif (PROCESSOR_CLOCK == 199065600)
#define AT91C_PLLA_VALUE	0x206BBE0A	//PLLA = 0x6c*18.432M/0xa = 199.0656M
#elif (PROCESSOR_CLOCK == 176947200)
#define AT91C_PLLA_VALUE	0x205FBE0A	//PLLA = 0x60*18.432M/0xa = 176.9472M
#elif (PROCESSOR_CLOCK == 154828800)
#define AT91C_PLLA_VALUE	0x2053BE0A	//PLLA = 0x54*18.432M/0xa = 154.8288M
#endif

#define	AT91C_PLLB_VALUE	0x10483E0E	//* 48,054857 MHz (divider by 2 for USB)

#if (MASTER_CLOCK_DIVIDER == 1)
#define	MCKR_VAL	0x002				//1/1
#elif (MASTER_CLOCK_DIVIDER == 2)
#define	MCKR_VAL	0x102				//1/2
#elif (MASTER_CLOCK_DIVIDER == 3)
#define	MCKR_VAL	0x202				//1/3
#elif (MASTER_CLOCK_DIVIDER == 4)
#define	MCKR_VAL	0x302				//1/3
#endif

static void InitPLL_old(void)
{
	volatile int tmp = 0;
	
	/* APMC Initialization for Crystal */
	AT91PS_PMC pApmc = (AT91PS_PMC)AT91C_BASE_PMC;
	AT91PS_CKGR pCkgr =  (AT91PS_CKGR)AT91C_BASE_CKGR;
	
	//禁止PMC的所有中斷源
	pApmc->PMC_IDR = 0xFFFFFFFF;
	
	// Setting PLLB and Divider B
	if((pCkgr->CKGR_PLLBR^AT91C_PLLB_VALUE)&0x07ff00ff) {
		pCkgr->CKGR_PLLBR = AT91C_PLLB_VALUE;
		//* Wait for PLLB stabilization LOCKB bit in PMC_SR
		tmp = 0;
		while(!(pApmc->PMC_SR & AT91C_PMC_LOCKB) && (tmp++ < DELAY_PLL));
	}
	
	//先選擇PLLB做為主時鐘
	/* Write in the MCKR dirty value concerning the clock selection CSS then overwrite it in a second sequence */
	pApmc->PMC_MCKR = 0x203;
	/* Wait until the master clock is established */
	tmp = 0;
	while(!(pApmc->PMC_SR & AT91C_PMC_MCKRDY) && (tmp++ < DELAY_MAIN_FREQ));

	//再設置PLLA,若原主時鐘為PLLA而在未切換到其他時鐘源時設置PLLA(值不變),啟動會等很久,why?
	if((pCkgr->CKGR_PLLAR^AT91C_PLLA_VALUE)&0x07ff00ff) {
		pCkgr->CKGR_PLLAR = AT91C_PLLA_VALUE;
		//* Wait for PLLB stabilization LOCKB bit in PMC_SR
		tmp = 0;
		while(!(pApmc->PMC_SR & AT91C_PMC_LOCKA) && (tmp++ < DELAY_PLL));
	}
	
	//再把主時鐘源換到PLLA,設置同步模式,等待時鐘穩定
	/* - Commuting Master Clock from PLLB to PLLA/3 */
	pApmc->PMC_MCKR = MCKR_VAL;	//master clock 為 PLLA,預分頻為1,Processor clock為master clock的2/3倍	
	/* Wait until the master clock is established */
	tmp = 0;
	while(!(pApmc->PMC_SR & AT91C_PMC_MCKRDY) && (tmp++ < DELAY_MAIN_FREQ));
	MMU_SetAsyncBusMode();		//設置CPU總線同步模式
}

#define	EXT_OSC_CLK			18432000
static struct{
	U32 plla;
	U32 mckr;
	U32 n1;
	U32 n2;
} ClkPara;

static void InitPLL(void)
{
	
	volatile int tmp = 0;
	U32 freq;
	
	/* APMC Initialization for Crystal */
	AT91PS_PMC pApmc = (AT91PS_PMC)AT91C_BASE_PMC;
	AT91PS_CKGR pCkgr =  (AT91PS_CKGR)AT91C_BASE_CKGR;
	ClkPara.plla=(440<<16)|40;
	ClkPara.mckr=2<<8;
//	if(((pCkgr->CKGR_PLLAR&0x7ff0000)==(ClkPara.plla&0x7ff0000)) &&
//		((pCkgr->CKGR_PLLAR&0xff)==(ClkPara.plla&0xff)) &&
//		(pApmc->PMC_MCKR==))
//		return
	
	ClkPara.plla &= 0x7ff00ff;
	ClkPara.plla |= (1<<29)|(0x3f<<8);
	freq = (((ClkPara.plla>>16)&0x7ff)+1)*EXT_OSC_CLK/(ClkPara.plla&0xff);
	if(freq>=150000000)
		ClkPara.plla |= 1<<15;
		
	ClkPara.mckr &= 0x300;
	ClkPara.mckr |= 2;

	//禁止PMC的所有中斷源
	pApmc->PMC_IDR = 0xFFFFFFFF;
	
	// Setting PLLB and Divider B
	if((pCkgr->CKGR_PLLBR^AT91C_PLLB_VALUE)&0x07ff00ff) {
		pCkgr->CKGR_PLLBR = AT91C_PLLB_VALUE;
		//* Wait for PLLB stabilization LOCKB bit in PMC_SR
		tmp = 0;
		while(!(pApmc->PMC_SR & AT91C_PMC_LOCKB) && (tmp++ < DELAY_MAIN_FREQ));
	}
	
	//先選擇PLLB做為主時鐘
	/* Write in the MCKR dirty value concerning the clock selection CSS then overwrite it in a second sequence */
	pApmc->PMC_MCKR = 0x203;
	/* Wait until the master clock is established */
	tmp = 0;
	while(!(pApmc->PMC_SR & AT91C_PMC_MCKRDY) && (tmp++ < DELAY_PLL));

	//再設置PLLA,若原主時鐘為PLLA而在未切換到其他時鐘源時設置PLLA(值不變),啟動會等很久,why?
	if((pCkgr->CKGR_PLLAR^ClkPara.plla)&0x07ff00ff) {
		pCkgr->CKGR_PLLAR = ClkPara.plla;
		//* Wait for PLLB stabilization LOCKB bit in PMC_SR
		tmp = 0;
		while(!(pApmc->PMC_SR & AT91C_PMC_LOCKA) && (tmp++ < DELAY_PLL));
	}
	
	//再把主時鐘源換到PLLA,設置同步模式,等待時鐘穩定
	/* - Commuting Master Clock from PLLB to PLLA/3 */
	pApmc->PMC_MCKR = ClkPara.mckr;	//master clock 為 PLLA,預分頻為1,Processor clock為master clock的2/3倍
	/* Wait until the master clock is established */
	tmp = 0;
	while(!(pApmc->PMC_SR & AT91C_PMC_MCKRDY) && (tmp++ < DELAY_MAIN_FREQ));
	MMU_SetAsyncBusMode();		//設置CPU總線同步模式	
	
//	ClkPara.n1   = GetCpuClock();
//	ClkPara.n2   = GetMasterClock();
}
/*--------------------------------------------------------------------------------------*/
/* Function Name       : InitSDRAM						*/
/* Object              : Initialize the SDRAM						*/
/*--------------------------------------------------------------------------------------*/
/*
DRAM_PARAMS dram_params[DRAM_BANKS] = {	//在SDRAM初始化完成以前不要讀取
	{DRAM_BASE, DRAM_SIZE},				//帶初始化值的全局變量!!!
};*/									//要么使用PIC編譯

static void InitSDRAM(void)		//此類函數均為相對調用,可與地址無關
{
	volatile int *pSDRAM = (int *)DRAM_BASE;
	
	/* Configure PIOC as peripheral (D16/D31) */	
	AT91F_PIO_CfgPeriph( AT91C_BASE_PIOC, 0xFFFF0000, 0);

	/*Setup MEMC to support all connected memories (CS0 = FLASH; CS1=SDRAM)*/
	AT91C_BASE_EBI->EBI_CSA = AT91C_EBI_CS1A;
	
	/*Init SDRAM*/
	AT91C_BASE_SDRC->SDRC_CR = 0x2188c155;
	AT91C_BASE_SDRC->SDRC_MR = 0x02;
	*pSDRAM = 0;
	AT91C_BASE_SDRC->SDRC_MR = 0x04;	
	*pSDRAM = 0;
	*pSDRAM = 0;
	*pSDRAM = 0;
	*pSDRAM = 0;
	*pSDRAM = 0;
	*pSDRAM = 0;
	*pSDRAM = 0;
	*pSDRAM = 0;

	AT91C_BASE_SDRC->SDRC_MR = 0x03;
	*(pSDRAM + 0x80) = 0;
	
	AT91C_BASE_SDRC->SDRC_TR= 0x2e0;
	*pSDRAM = 0;
	
	AT91C_BASE_SDRC->SDRC_MR = 0;
	*pSDRAM = 0;
}

#define	_ISR_STARTADDRESS	0x21ffff00
#define	pISR_RESET			*(U32 *)(_ISR_STARTADDRESS+0x0)
#define	pISR_UNDEF			*(U32 *)(_ISR_STARTADDRESS+0x4)
#define	pISR_SWI			*(U32 *)(_ISR_STARTADDRESS+0x8)
#define	pISR_PABORT			*(U32 *)(_ISR_STARTADDRESS+0xc)
#define	pISR_DABORT			*(U32 *)(_ISR_STARTADDRESS+0x10)
#define	pISR_RESERVED		*(U32 *)(_ISR_STARTADDRESS+0x14)
#define	pISR_IRQ			*(U32 *)(_ISR_STARTADDRESS+0x18)
#define	pISR_FIQ			*(U32 *)(_ISR_STARTADDRESS+0x1c)

static void InitISR(void)
{
	int i;
	
	pISR_UNDEF  = (U32)UndefHandler;
	pISR_SWI    = (U32)SwiHandler;
	pISR_PABORT = (U32)FetchAbortHandler;
	pISR_DABORT = (U32)DataAbortHandler;
	pISR_FIQ    = (U32)FiqHandler;
	
	// 禁止并清除所有中斷,設置所有中斷優先級,觸發模式和缺省處理函數
	for (i = 0; i < 32; ++i) { 
		AT91F_AIC_DisableIt(AT91C_BASE_AIC, i);
		AT91F_AIC_ConfigureIt(AT91C_BASE_AIC, i, AT91C_AIC_PRIOR_LOWEST, AT91C_AIC_SRCTYPE_INT_LEVEL_SENSITIVE, NonSvcHandler);
	}	
	//設置偽中斷處理函數入口
	AT91C_BASE_AIC->AIC_SPU = (U32)SpuriousHandler;
	AT91C_BASE_AIC->AIC_DCR = 0; //nornal mode
	
	/* Perform 8 End Of Interrupt Command to make s齬e AIC will not Lock out nIRQ */
	for(i=0; i<8; i++)
		AT91F_AIC_AcknowledgeIt(AT91C_BASE_AIC);
}

static void InitTimerCounter(void)
{
	AT91PS_TC pTC = AT91C_BASE_TC0;
	
	AT91F_TC0_CfgPMC();
	pTC->TC_IDR = 0xff;	//disable all interrupts
	//select TIMER_CLOCK2 = MCK/8, CPCTRG, up mode, Waveform mode
	pTC->TC_CMR = 1|(2<<13)|(1<<15);	//Capture模式下,RC COMPARE也可復位計數器
	pTC->TC_RC  = (AT91F_PMC_GetMasterClock(AT91C_BASE_PMC, AT91C_BASE_CKGR, 32768)>>3)/1000;
	pTC->TC_CCR = 5;	//enable timer-counter and trig it		
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_LowLevelInit
//* \brief This function performs very low level HW initialization
//*----------------------------------------------------------------------------
void LowLevelInit()
{
/////////////////////////////////////////////////////////////////////////////////////////////////////
// Step 2.
// Checking the Main Oscillator Frequency (Optional)
/////////////////////////////////////////////////////////////////////////////////////////////////////
	AT91F_WaitForMainClockFrequency();
	
/////////////////////////////////////////////////////////////////////////////////////////////////////
// Flash AT49BV1614 Initialisation : must be done before change the clocks -> Set correct Wait States
/////////////////////////////////////////////////////////////////////////////////////////////////////

	//AT91F_InitFlash();

/////////////////////////////////////////////////////////////////////////////////////////////////////
// Step 3. to 5.
/////////////////////////////////////////////////////////////////////////////////////////////////////

	//AT91F_InitClocks(AT91C_PLLA_VALUE, AT91C_PLLB_VALUE, MCKR_VAL);

	InitPLL();
/*	// Init Interrupt Controller
	AT91F_AIC_Open(
		AT91C_BASE_AIC,          // pointer to the AIC registers
		AT91C_AIC_BRANCH_OPCODE, // IRQ exception vector
		AT91F_UndefHandler,      // FIQ exception vector
		AT91F_UndefHandler,      // AIC default handler
		AT91F_SpuriousHandler,   // AIC spurious handler
		0);                      // Protect mode

	// Perform 8 End Of Interrupt Command to make s齬e AIC will not Lock out nIRQ 
	AT91F_AIC_AcknowledgeIt(AT91C_BASE_AIC);
	AT91F_AIC_AcknowledgeIt(AT91C_BASE_AIC);
	AT91F_AIC_AcknowledgeIt(AT91C_BASE_AIC);
	AT91F_AIC_AcknowledgeIt(AT91C_BASE_AIC);
	AT91F_AIC_AcknowledgeIt(AT91C_BASE_AIC);
	AT91F_AIC_AcknowledgeIt(AT91C_BASE_AIC);
	AT91F_AIC_AcknowledgeIt(AT91C_BASE_AIC);
	AT91F_AIC_AcknowledgeIt(AT91C_BASE_AIC);

	AT91F_AIC_SetExceptionVector((unsigned int *)0x0C, AT91F_FetchAbort);
	AT91F_AIC_SetExceptionVector((unsigned int *)0x10, AT91F_DataAbort);
	AT91F_AIC_SetExceptionVector((unsigned int *)0x4, AT91F_Undef);
*/
	InitSDRAM();
	InitISR();
	
	//initialize timer-counter for other functions to call delay()
	InitTimerCounter();
	
	// Open PIO for DBGU
	AT91F_DBGU_CfgPIO();

	// Configure DBGU
	AT91F_US_Configure (
		(AT91PS_USART) AT91C_BASE_DBGU,	// DBGU base address
		AT91C_MASTER_CLOCK,				// 
		AT91C_US_ASYNC_MODE,			// mode Register to be programmed
		UART_BAUD_RATE,					// baudrate to be programmed
		0);								// timeguard to be programmed

	// Enable Transmitter
	AT91F_US_EnableTx((AT91PS_USART) AT91C_BASE_DBGU);
	/* Enable Receiver */
	AT91F_US_EnableRx((AT91PS_USART)AT91C_BASE_DBGU);

//	puts("\n AT91F_LowLevelInit() done\n");
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合视频在线| 99精品欧美一区二区三区小说| 亚洲精品成人天堂一二三| 国产麻豆精品在线| 免费成人av资源网| 国产精品1区二区.| 日本黄色一区二区| 91麻豆精品国产91久久久久久久久 | 伊人一区二区三区| 在线观看免费亚洲| 国产日韩欧美精品一区| 国产精品热久久久久夜色精品三区 | 欧美大片一区二区三区| 国产精品―色哟哟| 成人精品视频一区二区三区 | 成人毛片老司机大片| 国产精品久久久久毛片软件| 蜜臀国产一区二区三区在线播放| 成人app网站| 久久久久久久av麻豆果冻| 亚洲色图清纯唯美| 国产老肥熟一区二区三区| 国产人妖乱国产精品人妖| aaa国产一区| 国产三级一区二区三区| 日韩高清在线观看| 久久这里只有精品首页| 亚洲精品免费看| 欧美一区二区视频网站| 五月天久久比比资源色| 成人a免费在线看| 亚洲bt欧美bt精品| 色综合久久中文字幕综合网| 中文字幕免费一区| 国产69精品久久久久777| 精品国产精品一区二区夜夜嗨| 性久久久久久久| 久久精品人人做人人综合| 色婷婷综合激情| 久久99精品一区二区三区| 884aa四虎影成人精品一区| 国产一区二区电影| 一二三区精品福利视频| 欧美写真视频网站| 亚洲激情六月丁香| 精品国产sm最大网站免费看| 99视频在线观看一区三区| 蜜桃视频一区二区三区| 亚洲少妇中出一区| 久久午夜国产精品| 欧美精品第1页| 日韩精品成人一区二区在线| 8v天堂国产在线一区二区| 91在线精品一区二区| 久久精品免费看| 精品国产免费久久| 欧美性淫爽ww久久久久无| 国产成人av电影在线| 蜜桃一区二区三区在线观看| 亚洲女子a中天字幕| 欧美日韩美女一区二区| 在线观看亚洲精品| 国产成人综合自拍| 中文字幕在线不卡一区| 色一情一伦一子一伦一区| 国产一区二区精品久久99 | 婷婷中文字幕一区三区| 亚洲啪啪综合av一区二区三区| 国产欧美一区二区精品仙草咪| 日韩一级欧美一级| 国产成人小视频| 精品一区二区三区在线观看| 日韩激情av在线| 亚洲午夜在线视频| 久久综合色婷婷| 欧美大肚乱孕交hd孕妇| 欧美一区二区视频观看视频 | 成人精品免费网站| 国产成人超碰人人澡人人澡| 国内成+人亚洲+欧美+综合在线| 国产精品情趣视频| 国产精品色哟哟| 日韩一区在线免费观看| 亚洲欧洲日韩在线| 亚洲男人的天堂在线观看| 中文字幕一区二区不卡| 亚洲视频每日更新| 亚洲精品写真福利| 亚洲国产成人高清精品| 香蕉久久一区二区不卡无毒影院 | 国产人伦精品一区二区| 国产精品色一区二区三区| 国产午夜精品一区二区三区嫩草| 国产视频亚洲色图| 国产精品久久久久影院老司| 亚洲视频精选在线| 亚洲高清免费观看| 美女精品一区二区| 国产精品资源站在线| 99精品视频中文字幕| 久久精品免视看| 国产精品免费久久久久| 亚洲日本在线看| 三级一区在线视频先锋| 经典三级在线一区| 成人国产亚洲欧美成人综合网| 97久久精品人人做人人爽| 欧美日韩一区二区三区高清| 国产一区二区三区四区五区入口| 懂色av一区二区夜夜嗨| 色偷偷88欧美精品久久久| 欧美精品免费视频| 久久久噜噜噜久噜久久综合| 一区二区三区精品视频| 日韩精彩视频在线观看| 国产精品白丝av| 在线一区二区观看| 欧美xxx久久| 日韩免费性生活视频播放| 国产精品美女久久久久av爽李琼| 樱桃视频在线观看一区| 精品一区二区在线观看| 91网站黄www| 99久久er热在这里只有精品15| 欧美主播一区二区三区| 久久九九全国免费| 亚洲国产成人av| 国产激情一区二区三区四区| 欧美体内she精视频| 久久免费的精品国产v∧| 亚洲精品久久久蜜桃| 国产一区二区久久| 欧美日本在线播放| 国产精品素人视频| 久久国产精品露脸对白| 色吊一区二区三区| 久久久激情视频| 日本女优在线视频一区二区| 91在线视频18| 国产日韩欧美一区二区三区乱码 | 福利视频网站一区二区三区| 欧美日韩三级视频| 亚洲色图视频网| 狠狠色狠狠色综合日日91app| 在线观看日韩高清av| 久久网站热最新地址| 日本特黄久久久高潮| 色婷婷综合久久久中文一区二区| 国产欧美一区二区三区鸳鸯浴| 免费观看在线色综合| 欧洲色大大久久| 成人欧美一区二区三区黑人麻豆| 狠狠久久亚洲欧美| 91精品国产色综合久久ai换脸| 亚洲最新视频在线观看| heyzo一本久久综合| 国产欧美一区二区精品秋霞影院| 精品一区二区三区日韩| 日韩免费观看2025年上映的电影| 亚洲18女电影在线观看| 欧美亚洲国产一区二区三区| 最近日韩中文字幕| 成人黄色片在线观看| 日韩专区一卡二卡| 精品1区2区3区| 亚洲午夜精品一区二区三区他趣| 不卡视频免费播放| 国产精品福利一区二区三区| 国产成人自拍高清视频在线免费播放| 欧美va亚洲va国产综合| 美腿丝袜在线亚洲一区 | 日韩欧美一区二区久久婷婷| 日韩在线一区二区| 69堂亚洲精品首页| 天堂一区二区在线免费观看| 91精品国产91久久久久久最新毛片| 亚洲成a人片在线观看中文| 欧美日韩一区二区三区在线看| 亚洲一区二区三区小说| 欧美性猛交xxxx黑人交| 亚洲国产cao| 欧美一区二区三区男人的天堂| 日本aⅴ亚洲精品中文乱码| 91精品婷婷国产综合久久性色| 青青草国产成人99久久| 日韩欧美高清dvd碟片| 黑人巨大精品欧美黑白配亚洲| 久久人人爽人人爽| 成人激情午夜影院| 一区二区三区免费在线观看| 欧美日韩另类国产亚洲欧美一级| 日韩成人精品在线观看| 欧美xfplay| 成人免费的视频| 亚洲成人免费视频| 久久亚洲综合色| 91尤物视频在线观看| 亚洲成人一区在线| 久久久亚洲国产美女国产盗摄| 99久久99精品久久久久久|