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

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

?? hssi.c

?? WinCE5.0BSP for Renesas SH7770
?? C
?? 第 1 頁 / 共 5 頁
字號:

	ch = globals->aud[i].REC_CH - CH_TX_HSSI_1;
	pSSI_RegBase = (PBYTE)(pSSI0_RegBase + (SSI_CH_REGBASE_OFFSET * ch));
	pSSI_CR_RX      = (PVULONG) ( pSSI_RegBase + SSI_CR_OFFSET );
	pSSI_SR_RX      = (PVULONG) ( pSSI_RegBase + SSI_SR_OFFSET );
	pSSI_RDR        = (PVULONG) ( pSSI_RegBase + SSI_RDR_OFFSET );

	DEBUGMSG(ZONE_TEST, (TEXT("SSI_CR_TX=%08x\r\n"), (ULONG)READ_REGISTER_ULONG((PULONG)pSSI_CR_TX )));
	DEBUGMSG(ZONE_TEST, (TEXT("SSI_SR_TX=%08x\r\n"), (ULONG)READ_REGISTER_ULONG((PULONG)pSSI_SR_TX )));

	DEBUGMSG(ZONE_TEST, (TEXT("SSI_CR_RX=%08x\r\n"), (ULONG)READ_REGISTER_ULONG((PULONG)pSSI_CR_RX )));
	DEBUGMSG(ZONE_TEST, (TEXT("SSI_SR_RX=%08x\r\n"), (ULONG)READ_REGISTER_ULONG((PULONG)pSSI_SR_RX )));

	// SSI Seting
	WRITE_REGISTER_ULONG((PULONG)pSSI_CR_TX, (ULONG)0x00000000 );		// Disable module
	DEBUGMSG( 1, (TEXT("SSI_TX Control Register (%08x) = %08x\r\n"), pSSI_CR_TX, 0x00000000));
	WRITE_REGISTER_ULONG((PULONG)pSSI_SR_TX, (ULONG)0x00000000 );		// Clear 26,27 bits
	DEBUGMSG( 1, (TEXT("SSI_TX Status  Register (%08x) = %08x\r\n"), pSSI_SR_TX, 0x00000000));

	WRITE_REGISTER_ULONG((PULONG)pSSI_CR_RX, (ULONG)0x00000000 );		// Disable module
	DEBUGMSG( 1, (TEXT("SSI_RX Control Register (%08x) = %08x\r\n"), pSSI_CR_RX, 0x00000000));
	WRITE_REGISTER_ULONG((PULONG)pSSI_SR_RX, (ULONG)0x00000000 );		// Clear 26,27 bits
	DEBUGMSG( 1, (TEXT("SSI_RX Status  Register (%08x) = %08x\r\n"), pSSI_SR_RX, 0x00000000));

	if(globals->aud[i].PLAY_CH == CH_TX_HSSI_1){
		SSI_PLAY_MODE = SSI1_PLAY_MODE;
		SSI_REC_MODE = SSI1_REC_MODE;
		CS4226_ReadADDR = SSI1_CS4226_ReadADDR;
		CS4226_WriteADDR = SSI1_CS4226_WriteADDR;
		CS4226_PLAY_CMB = SSI1_CS4226_PLAY_CMB;
		CS4226_REC_CMB = SSI1_CS4226_REC_CMB;
		CS4226_PLAY_DSP_PMB = SSI1_CS4226_PLAY_DSP_PMB;
		CS4226_REC_DSP_PMB = SSI1_CS4226_REC_DSP_PMB;
		CS4226_PLAY_DACCB = SSI1_CS4226_PLAY_DACCB;
		CS4226_REC_DACCB = SSI1_CS4226_REC_DACCB;
		CS4226_ADCCB = 0x03;
	}
	else{
		SSI_PLAY_MODE = SSI2_PLAY_MODE;
		SSI_REC_MODE = SSI2_REC_MODE;
		CS4226_ReadADDR = SSI2_CS4226_ReadADDR;
		CS4226_WriteADDR = SSI2_CS4226_WriteADDR;
		CS4226_PLAY_CMB = SSI2_CS4226_PLAY_CMB;
		CS4226_REC_CMB = SSI2_CS4226_REC_CMB;
		CS4226_PLAY_DSP_PMB = SSI2_CS4226_PLAY_DSP_PMB;
		CS4226_REC_DSP_PMB = SSI2_CS4226_REC_DSP_PMB;
		CS4226_PLAY_DACCB = SSI2_CS4226_PLAY_DACCB;
		CS4226_REC_DACCB = SSI2_CS4226_REC_DACCB;
		CS4226_ADCCB = 0x04;
	}

	return	ret;
}


/*****************************************************************************
*   FUNCTION :  	module_deinit	
*   DESCRIPTION :	HSSI Deinitialize
*   INPUTS :		None
*   OUTPUTS :     	None
*   DESIGN NOTES :  
*   CAUTIONS :		
*****************************************************************************/
VOID
module_deinit(
   VOID
   )
{
	VirtualFree((PVOID)pSSI0_RegBase, 0, MEM_RELEASE);
	pSSI0_RegBase = NULL;
}

/*****************************************************************************
*   FUNCTION :  	codec_init	
*   DESCRIPTION :	CODEC Initialize
*   INPUTS :		None
*   OUTPUTS :     	Return TRUE for success, FALSE for failure
*   DESIGN NOTES :  
*   CAUTIONS :		
*****************************************************************************/
BOOL
codec_init(
   VOID
   )
{
	DWORD	a;
	DWORD	dwData;
	DWORD	dwRet;
	HANDLE	hI2C;
unsigned char I2Cdata[14][2] = {
//{Register Pointer, Value}
{CODEC_CMB, 	0x00},				//*00:(01h)Clock Mode Byte(CO1乣CO0,CI1乣CI0)
									//		if 11.025kHz then ch0:0x52,ch1:0x50,ch2/3:0x40
{CODEC_DAC_CB,	0xc0},				//*01:(03h)DAC Control Byte(ZCD,MUTC)
{CODEC_OADB_1,	0x00},				// 02:(04h)Output Attenuator Data Byte(left ch)
{CODEC_OADB_2,	0x00},				// 03:(05h)Output Attenuator Data Byte(right ch)
{CODEC_OADB_3,	0x00},				// 04:(06h)Output Attenuator Data Byte(no use)
{CODEC_OADB_4,	0x00},				// 05:(07h)Output Attenuator Data Byte(no use)
{CODEC_OADB_5,	0x00},				// 06:(08h)Output Attenuator Data Byte(no use)
{CODEC_OADB_6,	0x00},				// 07:(09h)Output Attenuator Data Byte(no use)
{CODEC_ADC_CB,	0x00},				// 08:(0Bh)ADC Control Byte
{CODEC_ICB,		0x0f},				// 09:(0Ch)Input Control Byte(GNL1乣GNL0,GNR1乣GNR0)
{CODEC_DSP_PMB,	0xc8},				//*10:(0Eh)DSP Port Mode Byte(DCK1乣DCK0,DSCK)
									//		slave:0xc8,master:0xe8
{CODEC_APMB,	0x00},				//*11:(0Fh)Auxiliary Port Mode Byte(ACK1乣ACK0,ASCK)
									//		slave:0x00,master:0xe8
{CODEC_APCB,	0x58},				// 12:(10h)Auxilliary Port Control Byte(HPC,MOH,DEM24)
{CODEC_NONE,	0x00}};				// 13:delimiter

	I2Cdata[0][1] = CS4226_PLAY_CMB;
	I2Cdata[10][1] = CS4226_PLAY_DSP_PMB;
	I2Cdata[11][1] = CS4226_PLAY_APMB;
	I2Cdata[1][1] = CS4226_PLAY_DACCB;
	I2Cdata[8][1] = CS4226_ADCCB;

	ulDSPMode = I2Cdata[10][1];
	ulDACControl = I2Cdata[1][1];

	// Get I2C Channel for contol CS4226
	hI2C = CreateFile(	TEXT("I2C1:"),
						GENERIC_READ|GENERIC_WRITE,
						0,
						NULL,
						OPEN_EXISTING,
						FILE_ATTRIBUTE_NORMAL,
						NULL);
	if ( hI2C == INVALID_HANDLE_VALUE ){
		goto error_ret;
	}

	dwData = I2C_MASTER_MODE;
	DeviceIoControl(hI2C, IOCTL_I2C_SET_MODE,
		(PVOID)&dwData, sizeof(DWORD), NULL, 0, &dwRet, NULL);

    // Set I2C to standard speed mode. (100kbps)
#ifdef I2C_STANDARD_SPEED
	// 100kHz
	dwData  = 19<<2;	// SCGD
	dwData |= 2;		// CDF
#else
	// 400kHz
	dwData  = 3<<2;	// SCGD
	dwData |= 2;		// CDF
#endif

	DeviceIoControl(hI2C, IOCTL_I2C_SET_BAUDRATE,
		(PVOID)&dwData, sizeof(DWORD), NULL, 0, &dwRet, NULL);

	dwData = I2C_SINGLE_STAGE;
	DeviceIoControl(hI2C, IOCTL_I2C_SET_BUFFER_MODE,
		(PVOID)&dwData, sizeof(DWORD), NULL, 0, &dwRet, NULL);

	// reset codec
	I2C_ReadCODEC(hI2C, CODEC_CCB, FALSE);
	do {
		if ( I2C_WriteCODEC(hI2C, CODEC_CCB, CODEC_CCB_RS_RESET) == FALSE )
			goto error_ret1;
	}while( !(I2C_ReadCODEC(hI2C, CODEC_CCB, FALSE) & CODEC_CCB_RS_MASK) );

	// configure codec
	for(a=0;;a++){
		if ( I2Cdata[a][0] == CODEC_NONE )
			break;
		do {
			if ( I2C_WriteCODEC(hI2C, I2Cdata[a][0], I2Cdata[a][1]) == FALSE )
				goto error_ret1;
		}while( I2C_ReadCODEC(hI2C, I2Cdata[a][0], FALSE) != I2Cdata[a][1] );
		I2C_ReadCODEC(hI2C, I2Cdata[a][0], TRUE);
	}

	// finish configure codec
	do {
		if ( I2C_WriteCODEC(hI2C, CODEC_CCB, CODEC_CCB_RS_NORESET) == FALSE )
			goto error_ret1;
	}while( (I2C_ReadCODEC(hI2C, CODEC_CCB, FALSE) & CODEC_CCB_RS_MASK) );

	BusyWait(AdjustMicroSecondsToLoopCount( I2C_WAIT_COUNT ));					// wait 10ms

	// read codec status
	I2C_ReadCODEC(hI2C, CODEC_DAC_SRB, TRUE);	// DAC Status Report Byte(Read Only)(0Ah)
	I2C_ReadCODEC(hI2C, CODEC_ADC_SRB, TRUE);	// ADC Status Report Byte(Read Only)(0Dh)
	I2C_ReadCODEC(hI2C, CODEC_RSB, TRUE);		// Receiver Status Byte(Read Only)(11h)

	CloseHandle( hI2C );

	return	TRUE;

error_ret1:
	CloseHandle( hI2C );
error_ret:
	RETAILMSG(1, (TEXT("HSSI codec_init: Error!\r\n")));
	return	FALSE;
}


/*****************************************************************************
*   FUNCTION :  	module_txdmastart
*   DESCRIPTION :	HSSI Tx Start
*   INPUTS :		None
*   OUTPUTS :     	None
*   DESIGN NOTES :  
*   CAUTIONS :		
*****************************************************************************/
VOID
module_txdmastart(
   VOID
   )
{
	ULONG	RegValue;

	FUNC_WPDD("+hssi_txdmastart");

	if(CS4226_ReadADDR == SSI1_CS4226_ReadADDR){
		MuteSSI(FALSE);
	}

	if (RecOpenFlag == 0){
		SSICR_TX.bits.DMEN = 1;	// DMA Enable
		SSICR_TX.bits.UIEN = 1;	// Underflow IRQ enable
		SSICR_TX.bits.OIEN = 1;	// Overflow IRQ enable
		SSICR_TX.bits.EN   = 1;	// SSI Enable
		RegValue = SSICR_TX.AsDWORD;
		WRITE_REGISTER_ULONG(pSSI_CR_TX, RegValue);
	}

	FUNC_WPDD("-hssi_txdmastart");
}


/*****************************************************************************
*   FUNCTION :  	module_txstop
*   DESCRIPTION :	HSSI Tx Stop
*   INPUTS :		None
*   OUTPUTS :     	None
*   DESIGN NOTES :  
*   CAUTIONS :		
*****************************************************************************/
VOID
module_txstop(
   VOID
   )
{
	ULONG	RegValue;

	FUNC_WPDD("+hssi_txstop");

	if (CS4226_ReadADDR == SSI2_CS4226_ReadADDR && RecOpenFlag == 1){
		// on recording...

		// clear play DMA buffer
		memset(pAudioBufferBase, 0, AUDIO_DMA_PAGE_SIZE * 2);

		// MuteSSI
		if(CS4226_ReadADDR == SSI1_CS4226_ReadADDR){
			MuteSSI(TRUE);
		}
	}
	else{
		if(SSICR_TX.bits.EN == 1){
			// Stop SSI
			SSICR_TX.bits.DMEN = 0;	// DMA Disable
			SSICR_TX.bits.UIEN = 0;	// Underflow IRQ Disable
			SSICR_TX.bits.OIEN = 0;	// Overflow IRQ Disable
			SSICR_TX.bits.EN   = 0;	// SSI Disable
			RegValue = SSICR_TX.AsDWORD;
			WRITE_REGISTER_ULONG(pSSI_CR_TX, RegValue);
			waitSSIStatus(pSSI_SR_TX, SSI_SR_IIRQ_IDLE);
		}
	}

	FUNC_WPDD("-hssi_txstop");
	return;
}


/*****************************************************************************
*   FUNCTION :  	module_rxdmastart
*   DESCRIPTION :	HSSI Rx Start
*   INPUTS :		None
*   OUTPUTS :     	None
*   DESIGN NOTES :  
*   CAUTIONS :		
*****************************************************************************/
VOID
module_rxdmastart(
   VOID
   )
{
	ULONG	RegValue;

	FUNC_WPDD("+hssi_rxdmastart");

	// Set SSI Control Register
	if(CS4226_ReadADDR == SSI2_CS4226_ReadADDR){
		if(PlayOpenFlag == 0){
			// not playing, dymmy playback start
			// ch3 need ch2's clock
			hssi2_dmastart();

			SSICR_TX.bits.DMEN = 1;	// DMA Enable
			SSICR_TX.bits.UIEN = 1;	// Underflow IRQ enable
			SSICR_TX.bits.OIEN = 1;	// Overflow IRQ enable
			SSICR_TX.bits.EN   = 1;	// SSI Enable
			RegValue = SSICR_TX.AsDWORD;
			WRITE_REGISTER_ULONG(pSSI_CR_TX, RegValue);
		}
	}

	SSICR_RX.bits.DMEN = 1;	// DMA Enable
	SSICR_RX.bits.UIEN = 1;	// Underflow IRQ enable
	SSICR_RX.bits.OIEN = 1;	// Overflow IRQ enable
	SSICR_RX.bits.EN   = 1;	// SSI Enable
	RegValue = SSICR_RX.AsDWORD;
	WRITE_REGISTER_ULONG(pSSI_CR_RX, RegValue);

	FUNC_WPDD("-hssi_rxdmastart");
}


/*****************************************************************************
*   FUNCTION :  	module_rxstop
*   DESCRIPTION :	HSSI Rx Stop
*   INPUTS :		None
*   OUTPUTS :     	None
*   DESIGN NOTES :  
*   CAUTIONS :		
*****************************************************************************/
VOID
module_rxstop(
   VOID
   )
{
	ULONG	RegValue;

	FUNC_WPDD("+hssi_rxstop");

	if(SSICR_RX.bits.EN == 1){
		SSICR_RX.bits.DMEN = 0;	// DMA Disable
		SSICR_RX.bits.UIEN = 0;	// Underflow IRQ Disable
		SSICR_RX.bits.OIEN = 0;	// Overflow IRQ Disable
		SSICR_RX.bits.EN   = 0;	// SSI Disable
		RegValue = SSICR_RX.AsDWORD;
		WRITE_REGISTER_ULONG(pSSI_CR_RX, RegValue);

		waitSSIStatus(pSSI_SR_RX, SSI_SR_IIRQ_IDLE);
	}

	if(CS4226_ReadADDR == SSI2_CS4226_ReadADDR){
		if(PlayOpenFlag == 0){
			// not playing, stop dummy playback
			// ch3 need ch2's clock
			if(SSICR_TX.bits.EN == 1){
				SSICR_TX.bits.DMEN = 0;	// DMA Disable
				SSICR_TX.bits.UIEN = 0;	// Underflow IRQ Disable
				SSICR_TX.bits.OIEN = 0;	// Overflow IRQ Disable
				SSICR_TX.bits.EN   = 0;	// SSI Disable
				RegValue = SSICR_TX.AsDWORD;
				WRITE_REGISTER_ULONG(pSSI_CR_TX, RegValue);

				waitSSIStatus(pSSI_SR_TX, SSI_SR_IIRQ_IDLE);

				hssi2_dmastop();
			}
		}
	}

	FUNC_WPDD("-hssi_rxstop");
}


/*****************************************************************************
*   FUNCTION :  	module_txstart
*   DESCRIPTION :	HSSI Tx Start
*   INPUTS :		None
*   OUTPUTS :     	None
*   DESIGN NOTES :  
*   CAUTIONS :		
*****************************************************************************/
VOID
module_txstart(
   VOID
   )
{
	ULONG	RegValue;
unsigned char DSPslave[5][2] = {
//{Register Pointer, Value}
{CODEC_CMB, 	0x00},		//*0:(01h)Clock Mode Byte(CO1乣CO0,CI1乣CI0)
							//		if 11.025kHz then ch0:0x52,ch1:0x50,ch2/3:0x40
{CODEC_DSP_PMB,	0xc8},		//*1:(0Eh)DSP Port Mode Byte(DCK1乣DCK0,DSCK)
							//		slave:0xc8,master:0xe8
{CODEC_APMB,	0x00},		//*2:(0Fh)Auxiliary Port Mode Byte(ACK1乣ACK0,AMS1乣AMS0,ASCK)
							//		slave:0x00,master:0xe8
{CODEC_DAC_CB,	0xc0},		//*3:(03h)DAC Control Byte(ZCD,MUTC) not mute?
{CODEC_NONE,	0x00}};		// 4:delimiter

	FUNC_WPDD("+hssi_txstart");

	DSPslave[0][1] = CS4226_PLAY_CMB;
	DSPslave[1][1] = CS4226_PLAY_DSP_PMB;
	DSPslave[2][1] = CS4226_PLAY_APMB;
	DSPslave[3][1] = CS4226_PLAY_DACCB;

	if ( ulDSPMode != DSPslave[1][1] || ulDACControl != DSPslave[3][1] ){
		if(I2C_SetCODEC(DSPslave)){
			ulDSPMode = DSPslave[1][1];
			ulDACControl = DSPslave[3][1];
		}
	}

	if (RecOpenFlag == 0){
		// Set SSI Control Register
		SSICR_TX.bits.Reserved = 0;
		SSICR_TX.bits.DMEN = 0;	// DMA Disable
		SSICR_TX.bits.UIEN = 0;	// Underflow IRQ disable
		SSICR_TX.bits.OIEN = 0;	// Overflow IRQ disable
		SSICR_TX.bits.IIEN = 0;	// Idle Mode IRQ disable
		SSICR_TX.bits.DIEN = 0;	// Data IRQ disable
		SSICR_TX.bits.CHNL = 0;	// Channels
		SSICR_TX.bits.DWL  = 3;	// Data Word Length 20 bit
		SSICR_TX.bits.SWL  = 3;	// System Word Length 32 bit
		SSICR_TX.bits.SCKD = SSI_PLAY_MODE;	// Serial Clock Output(Master)
		SSICR_TX.bits.SWSD = SSI_PLAY_MODE;	// Serial WS Output(Master)
		SSICR_TX.bits.SCKP = 1;	// Serial Clock Polarity falling edge
		SSICR_TX.bits.SWSP = 1;	// Serial WS Polarity High for Left
		SSICR_TX.bits.SPDP = 0;	// Serial Padding Polarity Low
		SSICR_TX.bits.SDTA = 1;	// Serial Data Alignment Right
		SSICR_TX.bits.PDTA = 1;	// Parallel Data Alignment Right

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
九色porny丨国产精品| 性感美女久久精品| 26uuu国产电影一区二区| 欧美日本视频在线| 日本精品一级二级| 97精品电影院| aaa国产一区| 99视频一区二区| 91一区二区在线| 91在线免费播放| 色综合中文字幕国产 | 亚洲亚洲精品在线观看| 亚洲欧洲99久久| 国产精品美女久久久久久久久久久| 久久久久久久性| 久久精品亚洲国产奇米99| 久久亚洲一级片| 欧美激情综合五月色丁香小说| 国产人妖乱国产精品人妖| 欧美激情一区二区| 亚洲天堂免费在线观看视频| 自拍偷在线精品自拍偷无码专区 | 精品一区二区三区的国产在线播放| 日韩精品乱码免费| 蜜桃视频第一区免费观看| 免费久久精品视频| 国产做a爰片久久毛片 | 久久综合九色综合久久久精品综合| 精品国产a毛片| 国产午夜精品理论片a级大结局| 久久久久久电影| 国产精品国产自产拍高清av| 亚洲天天做日日做天天谢日日欢| 欧美一卡在线观看| 精品免费日韩av| 国产精品日韩成人| 亚洲国产精品久久不卡毛片| 麻豆国产欧美日韩综合精品二区| 最新国产精品久久精品| 亚洲一区在线视频| 看电视剧不卡顿的网站| 高潮精品一区videoshd| 在线欧美日韩精品| 欧美mv日韩mv国产网站| 国产精品国产三级国产普通话蜜臀 | 欧美伊人精品成人久久综合97| 欧美日韩一级片网站| 欧美v日韩v国产v| 亚洲国产成人一区二区三区| 亚洲一区二区高清| 狠狠色狠狠色综合| 99国产精品久久久久久久久久 | 欧美性猛交xxxx乱大交退制版| 欧美一区二区国产| 国产精品久久久久一区| 亚洲午夜精品网| 国产在线精品一区二区三区不卡| 91香蕉视频污在线| 欧美一级久久久久久久大片| 日本一区二区综合亚洲| 亚洲在线观看免费视频| 国产中文一区二区三区| 色哟哟精品一区| 精品久久久网站| 一区二区三区在线观看国产| 国产综合色产在线精品| 欧美性大战久久久久久久| 久久只精品国产| 婷婷开心久久网| jvid福利写真一区二区三区| 欧美一区二区三区免费观看视频| 国产精品黄色在线观看| 免费不卡在线观看| 欧美中文字幕一区二区三区亚洲 | 蜜桃91丨九色丨蝌蚪91桃色| 一本久久a久久免费精品不卡| 欧美一区二区精品久久911| 亚洲伦在线观看| 国模少妇一区二区三区| 欧美色视频在线| 亚洲三级小视频| 国产乱码精品一区二区三区五月婷| 欧美系列日韩一区| 亚洲精选免费视频| 成人综合在线观看| 久久亚区不卡日本| 麻豆精品在线看| 欧美三级中文字| 亚洲精品日日夜夜| aaa国产一区| 久久美女艺术照精彩视频福利播放 | 欧美大片顶级少妇| 亚洲午夜视频在线观看| 91亚洲精品一区二区乱码| 日韩精品一区二区三区四区| 亚洲成人先锋电影| 一本久久综合亚洲鲁鲁五月天| 国产精品嫩草影院com| 国产一二三精品| 精品国产亚洲在线| 美女视频一区二区三区| 欧美一级理论片| 日韩av成人高清| 国产毛片精品一区| 精品999在线播放| 午夜影视日本亚洲欧洲精品| 欧美在线色视频| 亚洲一区二区五区| 日韩激情视频在线观看| 欧美老女人在线| 日日摸夜夜添夜夜添亚洲女人| 欧美日韩国产在线观看| 一区二区不卡在线播放 | 国产精品另类一区| 风间由美性色一区二区三区| 久久精品日产第一区二区三区高清版 | 亚洲3atv精品一区二区三区| 欧美性大战xxxxx久久久| 亚洲二区在线视频| 4438x亚洲最大成人网| 五月天久久比比资源色| 欧美精品黑人性xxxx| 日韩国产成人精品| 成人精品亚洲人成在线| 一区二区中文视频| 91视频91自| 中文字幕免费在线观看视频一区| 暴力调教一区二区三区| 亚洲精品中文字幕在线观看| 日本电影欧美片| 日本伊人色综合网| 欧美电影免费观看高清完整版 | 欧洲精品中文字幕| 一区二区三区美女视频| 欧美日产在线观看| 久久精品噜噜噜成人av农村| 久久精品网站免费观看| 99国产精品一区| 日韩综合小视频| 欧美精品一区二| 99国产精品99久久久久久| 国产精品成人网| 91小视频免费看| 久久综合一区二区| 99久久综合精品| 视频精品一区二区| 精品精品欲导航| 99精品国产一区二区三区不卡| 亚洲国产成人av网| 精品福利二区三区| 成人深夜视频在线观看| 亚洲一区二区在线视频| 日韩欧美一卡二卡| 99久久精品国产一区| 亚洲国产精品精华液网站| 日韩精品一区二区三区视频播放 | 国产伦理精品不卡| 亚洲欧美自拍偷拍色图| 欧美日韩国产影片| 国产成人免费视频| 亚洲线精品一区二区三区八戒| 欧美成人精精品一区二区频| 91在线一区二区三区| 免费人成精品欧美精品| 日韩毛片视频在线看| 欧美一卡二卡在线| 91浏览器打开| 国内一区二区在线| 亚洲午夜国产一区99re久久| 成人免费视频一区二区| 日本亚洲一区二区| 日韩毛片高清在线播放| 精品久久久久久久久久久久久久久 | 五月综合激情网| 中文字幕高清一区| 日韩视频在线你懂得| 日本乱人伦aⅴ精品| 国产精品18久久久久久久网站| 精品国产一区二区三区av性色| 欧美午夜精品电影| 成人黄色国产精品网站大全在线免费观看 | 精品国产区一区| 精品视频一区二区三区免费| 成人sese在线| 国产又黄又大久久| 日韩中文字幕亚洲一区二区va在线| 中文在线一区二区| 2021中文字幕一区亚洲| 4438成人网| 国产揄拍国内精品对白| 视频精品一区二区| 亚洲成人久久影院| 亚洲精品v日韩精品| 中文字幕av免费专区久久| 精品国产一区二区三区忘忧草 | 国产成人丝袜美腿| 免费在线观看一区| 亚洲国产视频直播| 一区二区三区资源| 亚洲男人的天堂在线观看|