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

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

?? drv_ch_i2c_com.c

?? ST5100 driver files for ST chipset
?? C
?? 第 1 頁 / 共 3 頁
字號:
/******************************************************************************

File Name   : drv_ch_i2c.c

Description : Channel I2C(Inter IC bus) driver functions

Copyright (C) 2004

******************************************************************************/

/********************************************************************
 Header Files
 ********************************************************************/
/* global include */
#include <string.h>
//  #include "types.h"
//  #include "iic.h"
#if defined(SUPPORT_NEC_CHIP)	
#include "types.h"
#include "htype.h"
#include "Iic.h"
#elif defined(CHIPSET_ST)
#include "stddefs.h"
#include "sti2c.h"
#endif
/* local include */
#include "app_data.h"//  7710_T
#include "i2c.h"
#include "sttbx.h"//  7710_T


#include "drv_ch_i2c_com.h"
#include "ddi_channel.h"
#include "ddi_uart.h"
#include "ddi_hw.h"
#include "drv_tuner_com.h"
#include "ddi_ch_common.h"

#include "vkernel.h"

#include "sss_dbg.h"
// #include "ch_print.h"

//#define STTBX_PRINT
#include "sttbx.h"
/********************************************************************
							Debug Option
 ********************************************************************/

//#define CH_PRINT				// All Print Enable /Disable
#define CH_PRINT_ERROR			// Error Print Enable / Disable
//#define CH_PRINT_WARNING
//#define CH_PRINT_DEBUG
//#define CH_PRINT_DATA

#ifdef	CHANNEL_DEBUG
#define	PrintInfo(_x_)	STTBX_Print (_x_)
#define	PrintDebug(_x_)	STTBX_Print (_x_)
#else
#define	PrintInfo(_x_)	
#define	PrintDebug(_x_)
#endif

#if defined(CH_PRINT_ERROR)
#define	PrintError(_x_)	STTBX_Print (_x_)
#else
#define	PrintError(_x_)
#endif

#ifdef	CHANNEL_DEBUG
#define	PrintDump(_x_)	STTBX_Print (_x_)
#else
#define	PrintDump(_x_)
#endif

/*=============================================================================
	Definitions
=============================================================================*/
#define DDI_CH_I2C_DEVICEID			(0)

#define I2C_BUS_ACCESS_TIMEOUT		(100)
#define DDI_CH_I2C_WRITE_TIMEOUT	(100)
#define DDI_CH_I2C_READ_TIMEOUT		(100)// SN欄肺 message啊 救棵扼坷綽 鞏力甫 秦搬竅扁 困秦 10->100欄肺 藹闌 淋   20060111

#define	DDI_CH_I2C_OK				(0)
#define	DDI_CH_I2C_SEND_BYTES		(1)

#ifdef PHILIPS_TUNER
unsigned char DEMOD_REG[DEMOD_NUM_OF_REG] = 
{
/*		0    1    2    3        4    5    6    7        8    9    A    B        C    D    E    F    */
/* 0 */	0x21,0x97,0x00,0xD4,	0x53,0x0B,0xAA,0x2A,	0x09,0x00,0x00,0x00,	0x8C,0x02,0x00,0x00,
#if defined(CI_DVDC_S)
/* 1 */	0x80,0x85,0x89,0x00,	0x00,0x00,0x00,0xB0,	0x80,0x40,0x61,0xB0,	0x00,0x00,0x00,0x00,
#else//0x11 : 8D->85 (conti. clock) on Dec-8, for new aston cam's aging stability
/* 1 */	0x80,0x85,0x89,0x00,	0x00,0x00,0x00,0xB0,	0x80,0x40,0x61,0xB0,	0x00,0x00,0x00,0x00,
#endif
/* 2 */	0x81,0x00,0x00,0x00,	0x00,0x00,0x00,0x00,	0x00,0x00,0x00,0x00,	0x00,0x00,0x00,0x00,
/* 3 */	0x03,0x55,0x00,0x00,	0x78,0x00,0x30,0x44,	0x00,0x00,0x2F,0x00,	0x06,0x00,0x00,0x8A,
/* 4 */	0x64,0x4F,0x43,0x00,	0x00,0x00,0x00,0x00,	0xE0,0x10,0x38,0xF0,	0x00,0x00,0x00,0x00,
/* 5 */	0x00,0x00,0x00,0x00,	0x00,0x07
}; /* initial value */
#else
unsigned char DEMOD_REG[2][DEMOD_NUM_OF_REG] = 
{
{
/*		0    1    2    3        4    5    6    7        8    9    A    B        C    D    E    F    */
/* 0 */	0x21,0x97,0x00,0xD4,	0x53,0x2B,0xAA,0x2A,	0x09,0x00,0x00,0x00,	0x8C,0x02,0x00,0x00,
#if defined(CI_DVDC_S)
/* 1 */	0x80,0x85,0x89,0x00,	0x00,0x00,0x00,0xB0,	0x80,0x40,0x61,0xB0,	0x00,0x00,0x00,0x00,
#else //0x11 : 8D->85 (conti. clock) on Dec-8, for new aston cam's aging stability
/* 1 */	0x80,0x85,0x89,0x00,	0x00,0x00,0x00,0xB0,	0x80,0x40,0x61,0xB0,	0x00,0x00,0x00,0x00,
#endif
/* 2 */	0x81,0x00,0x00,0x00,	0x00,0x00,0x00,0x00,	0x00,0x00,0x00,0x00,	0x00,0x00,0x00,0x00,
/* 3 */	0x03,0x55,0x00,0x00,	0x78,0x00,0x30,0x44,	0x00,0x00,0x2F,0x00,	0x06,0x00,0x00,0x0A,
/* 4 */	0x64,0x4F,0x43,0x00,	0x00,0x00,0x00,0x00,	0xE0,0x10,0x38,0xF0,	0x00,0x00,0x00,0x00,
/* 5 */	0x00,0x00,0x00,0x00,	0x00,0x07
}
,
{
/*		0    1    2    3        4    5    6    7        8    9    A    B        C    D    E    F    */
/* 0 */	0x21,0x97,0x00,0xD4,	0x53,0x2B,0xAA,0x2A,	0x09,0x00,0x00,0x00,	0x8C,0x02,0x00,0x00,
#if defined(CI_DVDC_S)
/* 1 */	0x80,0x85,0x89,0x00,	0x00,0x00,0x00,0xB0,	0x80,0x40,0x61,0xB0,	0x00,0x00,0x00,0x00,
#else //0x11 : 8D->85 (conti. clock) on Dec-8, for new aston cam's aging stability
/* 1 */	0x80,0x85,0x89,0x00,	0x00,0x00,0x00,0xB0,	0x80,0x40,0x61,0xB0,	0x00,0x00,0x00,0x00,
#endif
/* 2 */	0x81,0x00,0x00,0x00,	0x00,0x00,0x00,0x00,	0x00,0x00,0x00,0x00,	0x00,0x00,0x00,0x00,
/* 3 */	0x03,0x55,0x00,0x00,	0x78,0x00,0x30,0x44,	0x00,0x00,0x2F,0x00,	0x06,0x00,0x00,0x0A,
/* 4 */	0x64,0x4F,0x43,0x00,	0x00,0x00,0x00,0x00,	0xE0,0x10,0x38,0xF0,	0x00,0x00,0x00,0x00,
/* 5 */	0x00,0x00,0x00,0x00,	0x00,0x07
}
}; /* initial value */
#endif

/*=============================================================================
	Export Variables
=============================================================================*/
#if defined(CHIPSET_ST)	
extern ST_DeviceName_t	g_I2CDeviceName[];// 
#endif
/*=============================================================================
	Variables
=============================================================================*/

#if defined(CHIPSET_ST)	
STI2C_Handle_t	g_hDEMOD_I2CHandle[MAXIMUM_NUMBER_UNITS];
STI2C_Handle_t	g_hTUNER_I2CHandle[MAXIMUM_NUMBER_UNITS];
STI2C_Handle_t	g_hDEMOD_Ter_I2CHandle[MAXIMUM_NUMBER_UNITS];
STI2C_Handle_t	g_hTUNER_Ter_I2CHandle[MAXIMUM_NUMBER_UNITS];
#else
#endif

unsigned long	g_hDemod_I2c_Addr[MAXIMUM_NUMBER_UNITS];
unsigned long	g_hTuner_I2c_Addr[MAXIMUM_NUMBER_UNITS];
unsigned char	g_hI2c_DeviceId[MAXIMUM_NUMBER_UNITS];



#define CH_I2C_TUNER_HANDLEID_SAT 0//  7710_sh
#define CH_I2C_DEMOD_HANDLEID_SAT 1//  7710_sh
#define CH_I2C_TUNER_HANDLEID_TER 2//  7710_sh
#define CH_I2C_DEMOD_HANDLEID_TER 3//  7710_sh

int	DRV_Ch_Sat_I2c_Init(unsigned char unitId);
int DRV_Ch_Ter_I2c_Init(unsigned char unitId);

/*=============================================================================
	Function	: drv_ch_i2c_Init
	Description	: STI2C_Open
	Input		:
	Output		:
	Return		: TRUE if error, FALSE if success
=============================================================================*/
int	DRV_Ch_I2c_Init(unsigned char unitId, unsigned long type)
{

	switch(type)
	{
		case DDI_CHANNEL_TYPE_SAT:
			DRV_Ch_Sat_I2c_Init(unitId);
			break;
		case DDI_CHANNEL_TYPE_TER:
			DRV_Ch_Ter_I2c_Init(unitId);
			break;
		case DDI_CHANNEL_TYPE_CAB:
			break;
		default:
			break;
	}
}

/*=============================================================================
	Function	: drv_ch_i2c_Init
	Description	: STI2C_Open
	Input		:
	Output		:
	Return		: TRUE if error, FALSE if success
=============================================================================*/
int	DRV_Ch_Sat_I2c_Init(unsigned char unitId)
{
	int			TotalError = DDI_CH_I2C_OK;
	
	
#if defined(CHIPSET_ST)	
	int			ErrCode;
	STI2C_OpenParams_t		I2COpenParams;

	
	I2COpenParams.BusAccessTimeOut 	= CHANNEL_I2C_ACCESS_TIMEOUT;
	I2COpenParams.AddressType		= STI2C_ADDRESS_7_BITS;
	I2COpenParams.I2cAddress 		= g_hTuner_I2c_Addr[unitId];	

	//  7710_T ErrCode = STI2C_Open(g_I2CDeviceName[I2C_BACK_DEVICE], &I2COpenParams, &g_hTUNER_I2CHandle[unitId]);
	ErrCode = I2C_Open(I2C_BACK, CH_I2C_TUNER_HANDLEID_SAT, g_hTuner_I2c_Addr[unitId]);
	if(ErrCode != DDI_CH_I2C_OK){
		PrintError(("drv_ch_Sat_i2c_Init() Error :<Tuner> STI2C_Open(%s) ErrCode : 0x%x \n" , I2C_GET_DEVICENAME(I2C_BACK) , ErrCode ));
		TotalError |= ErrCode;
	}
	

	I2COpenParams.BusAccessTimeOut 	= CHANNEL_I2C_ACCESS_TIMEOUT;
	I2COpenParams.AddressType		= STI2C_ADDRESS_7_BITS;
	I2COpenParams.I2cAddress 		= g_hDemod_I2c_Addr[unitId];	
	PrintDebug((">> drv_ch_Sat_i2c_Init Unit Id [%x]==> I2COpenParams_2.I2cAddress  %x \n",unitId,I2COpenParams.I2cAddress  ));
	//  7710_T ErrCode = STI2C_Open(g_I2CDeviceName[I2C_BACK_DEVICE], &I2COpenParams, &g_hDEMOD_I2CHandle[unitId]);
	ErrCode = I2C_Open(I2C_BACK, CH_I2C_DEMOD_HANDLEID_SAT,g_hDemod_I2c_Addr[unitId]);

	if(ErrCode != DDI_CH_I2C_OK){
		PrintError(("drv_ch_Sat_i2c_Init() Error :<Demod>  STI2C_Open(%s , 0x%x) 0x%x \n" , I2C_GET_DEVICENAME(I2C_BACK) , g_hDEMOD_I2CHandle[unitId] , ErrCode ));
		TotalError |= ErrCode;
	}
#else
#endif
	return TotalError;

}


int DRV_Ch_Ter_I2c_Init(unsigned char unitId)
{
	int			TotalError = DDI_CH_I2C_OK;

	int			ErrCode;
	STI2C_OpenParams_t		I2COpenParams;

	
	g_hTuner_I2c_Addr[unitId]=0xC0;
	g_hDemod_I2c_Addr[unitId]=0x86;

	ErrCode = I2C_Open(I2C_BACK, CH_I2C_TUNER_HANDLEID_SAT, g_hTuner_I2c_Addr[unitId]);
	if(ErrCode != ST_NO_ERROR){
		PrintError(("DRV_Ch_Ter_I2c_Init() Error :<Tuner> STI2C_Open(%s , 0x%x) 0x%x \n" , I2C_GET_DEVICENAME(I2C_BACK) , ErrCode ));
		TotalError |= ErrCode;
	}

	ErrCode = I2C_Open(I2C_BACK, CH_I2C_DEMOD_HANDLEID_SAT, g_hDemod_I2c_Addr[unitId]);
	if(ErrCode != ST_NO_ERROR){
		PrintError(("DRV_Ch_Ter_I2c_Init() Error :<Tuner> STI2C_Open(%s , 0x%x) 0x%x \n" ,I2C_GET_DEVICENAME(I2C_BACK) , ErrCode ));
		TotalError |= ErrCode;
	}
	
#if 0
#if defined(CHIPSET_ST)	
	
	int			ErrCode;
	STI2C_OpenParams_t		I2COpenParams;

	
	I2COpenParams.BusAccessTimeOut 	= CHANNEL_I2C_ACCESS_TIMEOUT;
	I2COpenParams.AddressType		= STI2C_ADDRESS_7_BITS;
	I2COpenParams.I2cAddress 		= g_hTuner_I2c_Addr[unitId];	
	
	ErrCode = STI2C_Open(g_I2CDeviceName[I2C_BACK_DEVICE], &I2COpenParams, &g_hTUNER_Ter_I2CHandle[unitId]);

	if(ErrCode != DDI_CH_I2C_OK){
		PrintError(("drv_ch_ter_i2c_Init() Error :<Tuner> STI2C_Open(%s , 0x%x) 0x%x \n" , g_I2CDeviceName[unitId] , g_hTUNER_Ter_I2CHandle[unitId] , ErrCode ));
		TotalError |= ErrCode;
	}
	

	I2COpenParams.BusAccessTimeOut 	= CHANNEL_I2C_ACCESS_TIMEOUT;
	I2COpenParams.AddressType		= STI2C_ADDRESS_7_BITS;
	I2COpenParams.I2cAddress 		= g_hDemod_I2c_Addr[unitId];	

	ErrCode = STI2C_Open(g_I2CDeviceName[I2C_BACK_DEVICE], &I2COpenParams, &g_hDEMOD_Ter_I2CHandle[unitId]);
	if(ErrCode != DDI_CH_I2C_OK){
		PrintError(("drv_ch_ter_i2c_Init() Error :<Demod>  STI2C_Open(%s , 0x%x) 0x%x \n" , g_I2CDeviceName[unitId] , g_hDEMOD_Ter_I2CHandle[unitId] , ErrCode ));
		TotalError |= ErrCode;
	}
#elif defined(SUPPORT_NEC_CHIP)

#else
	PrintError(("[DRV_Ch_I2c_Write()] UNKNOWN CHIP\n\r"));
#endif	
#endif

	return TotalError;
} /* end of drv_ch_ter_i2c_Init */


/*=============================================================================
	Function	: drv_i2c_Write
	Description	: STI2C_Write
	Input		:
	Output		:
	Return		: TRUE if error, FALSE if success
=============================================================================*/
int DRV_Ch_I2c_Write(unsigned char unitId, unsigned long Handle,	unsigned char *Buffer, unsigned long NumberToWrite )
{
	int				ErrCode;
	unsigned int	NumberWritten;

#if defined(CHIPSET_ST)	
	STI2C_Lock((STI2C_Handle_t)Handle,TRUE);
	ErrCode = STI2C_Write((STI2C_Handle_t)Handle, (const unsigned char *)Buffer, (unsigned int)NumberToWrite, (unsigned int)DDI_CH_I2C_WRITE_TIMEOUT, &NumberWritten);
	STI2C_Unlock((STI2C_Handle_t)Handle);

#elif defined(SUPPORT_NEC_CHIP)
	MMAC_IIC_WRITE_IOPB			iopb;

	// buffer[0] -> subaddr buffer[1] -> data.
	iopb.deviceNumber	= (MMAC_IIC_DEV_NUM)g_hI2c_DeviceId[unitId];
	iopb.data			= &Buffer[1];
	iopb.length			= (unsigned long)(NumberToWrite-1);
	iopb.slaveAddr		= (unsigned char)g_hDemod_I2c_Addr[unitId];
	iopb.numSubAddressBytes	= MMAC_IIC_ONE_BYTE_ADDRESSING;
	iopb.subAddr		= (unsigned long)Buffer[0];
	iopb.timeout		= (unsigned long)DDI_CH_I2C_WRITE_TIMEOUT;

	ErrCode = (int)MMAC_IIC_Write(&iopb);
#else	
		PrintError(("[DRV_Ch_I2c_Write()] UNKNOWN CHIP\n\r"));
#endif
	if(ErrCode != DDI_CH_I2C_OK)
	{
		PrintError(("DRV_Ch_I2c_Write() Fails[%x] Handle:[%x] SubAddr:[%x] NtR:[%d]\n\r", ErrCode, Handle, Buffer[0], NumberWritten));
	}
	else
	{
#ifdef CH_PRINT_DATA
		int		i=0;
		PrintDump((" drv_i2c_Write() OK \n"));
		for(i = 0; i < NumberToWrite; i++)
			PrintDump(("[0x%02X]", Buffer[i]));
		PrintDump(("\n"));
#endif
	}

	return ErrCode;
} /* end of drv_i2c_Write */

/*=============================================================================
	Function	: drv_i2c_Write
	Description	: STI2C_Write
	Input		:
	Output		:
	Return		: TRUE if error, FALSE if success
=============================================================================*/
int DRV_Ch_Tuner_I2c_Write(unsigned char unitId, unsigned long Handle,	 unsigned char *Buffer, unsigned long NumberToWrite )
{
	int				ErrCode;
	unsigned int	NumberWritten;

#if defined(CHIPSET_ST)	
	STI2C_Lock((STI2C_Handle_t)Handle,TRUE);
	ErrCode = STI2C_Write((STI2C_Handle_t)Handle, Buffer, (unsigned int)NumberToWrite, (unsigned int)DDI_CH_I2C_WRITE_TIMEOUT, &NumberWritten);
	STI2C_Unlock((STI2C_Handle_t)Handle);

#elif defined(SUPPORT_NEC_CHIP)
	MMAC_IIC_WRITE_IOPB			iopb;

	// buffer[0] -> subaddr buffer[1] -> data.
	iopb.deviceNumber	= (MMAC_IIC_DEV_NUM)g_hI2c_DeviceId[unitId];
	iopb.data			= &Buffer[0];
	iopb.length			= (unsigned long)(NumberToWrite);
	iopb.slaveAddr		= (unsigned char)g_hTuner_I2c_Addr[unitId];
	iopb.numSubAddressBytes	= MMAC_IIC_ZERO_BYTE_ADDRESSING;
	iopb.subAddr		= (unsigned long)0;
	iopb.timeout		= (unsigned long)DDI_CH_I2C_WRITE_TIMEOUT;

	ErrCode = (int)MMAC_IIC_Write(&iopb);
#else	
		PrintError(("[DRV_Ch_I2c_Write()] UNKNOWN CHIP\n\r"));
#endif
	if(ErrCode != DDI_CH_I2C_OK)
	{
		PrintError(("DRV_Ch_Tuner_I2c_Write() Fails[%x] Handle:[%x] SubAddr:[%x] NtR:[%d]\n\r", ErrCode, Handle, Buffer[0], NumberWritten));
	}
	else
	{
#ifdef CH_PRINT_DATA
		int		i=0;
		PrintDump((" drv_i2c_Write() OK \n"));
		for(i = 0; i < NumberToWrite; i++)
			PrintDump(("[0x%02X]", Buffer[i]));
		PrintDump(("\n"));
#endif
	}

	return ErrCode;
} /* end of drv_i2c_Write */



/*=============================================================================
	Function	: drv_i2c_Write
	Description	: STI2C_Write
	Input		:
	Output		:
	Return		: TRUE if error, FALSE if success
=============================================================================*/
int DRV_Ch_I2c_WriteNoStop(unsigned char unitId, unsigned long  Handle,	unsigned char	*Buffer, unsigned long NumberToWrite)
{
	int			ErrCode;
	unsigned int			NumberWritten;

#if defined(CHIPSET_ST)

	ErrCode = STI2C_WriteNoStop(Handle, Buffer, NumberToWrite, DDI_CH_I2C_WRITE_TIMEOUT, &NumberWritten);

#elif defined(SUPPORT_NEC_CHIP)
	MMAC_IIC_WRITE_IOPB			iopb;

	// buffer[0] -> subaddr buffer[1] -> data.
	iopb.deviceNumber	= (MMAC_IIC_DEV_NUM)g_hI2c_DeviceId[unitId];
	iopb.data			= &Buffer[1];
	iopb.length			= (unsigned long)(NumberToWrite-1);
	iopb.slaveAddr		= (unsigned char)g_hDemod_I2c_Addr[unitId];
	iopb.numSubAddressBytes	= MMAC_IIC_ONE_BYTE_ADDRESSING;
	iopb.subAddr		= (unsigned long)Buffer[0];
	iopb.timeout		= (unsigned long)DDI_CH_I2C_WRITE_TIMEOUT;

	ErrCode = (int)MMAC_IIC_Write(&iopb);
#else	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品久久久久久亚洲综合网| 91在线丨porny丨国产| 777色狠狠一区二区三区| 午夜欧美视频在线观看 | 国产丝袜欧美中文另类| 麻豆91在线播放免费| 精品国产91乱码一区二区三区 | 国产不卡在线视频| 国产精品情趣视频| 91成人国产精品| 午夜精品久久久久久久久久久 | 99视频超级精品| 亚洲欧洲综合另类| 欧美日韩精品一区二区天天拍小说| 视频一区免费在线观看| 亚洲欧美区自拍先锋| 欧美日韩久久不卡| 国产伦精品一区二区三区免费 | ㊣最新国产の精品bt伙计久久| 色综合久久久久网| 天堂一区二区在线免费观看| 欧美成人精品1314www| 高清不卡一二三区| 亚洲高清一区二区三区| 亚洲精品在线三区| 色综合一个色综合| 久久电影网电视剧免费观看| 综合欧美一区二区三区| 91麻豆精品国产91久久久久久久久| 国产精品一区在线观看你懂的| 亚洲欧美日韩在线| 91精品国产91久久久久久一区二区| 国产丶欧美丶日本不卡视频| 亚洲电影在线免费观看| 国产亚洲欧美在线| 欧美日韩一区二区在线观看| 韩国av一区二区三区四区 | 一本色道久久综合亚洲91| 日韩**一区毛片| 亚洲美女精品一区| 精品国产乱码久久久久久久久| av不卡免费电影| 国产伦理精品不卡| 日韩黄色片在线观看| 亚洲欧美日韩国产中文在线| 欧美成人一级视频| 欧美日韩精品一二三区| 成人av电影在线| 国产一区二区三区视频在线播放| 亚洲高清不卡在线| 亚洲人成网站在线| 亚洲国产高清在线观看视频| 日韩免费视频一区二区| 欧美日韩一区二区三区四区| 91无套直看片红桃| 从欧美一区二区三区| 狠狠网亚洲精品| 玖玖九九国产精品| 日韩高清在线一区| 亚洲一线二线三线视频| 亚洲欧洲精品天堂一级| 国产日韩在线不卡| 欧美精品一区二| 日韩女优av电影| 日韩精品在线一区| 日韩亚洲电影在线| 欧美欧美欧美欧美首页| 欧美日精品一区视频| 欧美亚洲一区三区| 91精彩视频在线观看| 色嗨嗨av一区二区三区| 91首页免费视频| 色综合天天综合网国产成人综合天| 成人精品国产一区二区4080| 3d成人动漫网站| 欧美电影影音先锋| 欧美日韩国产经典色站一区二区三区| 日本韩国欧美在线| 在线国产电影不卡| 欧美性生活久久| 欧美日韩亚洲综合一区| 欧美绝品在线观看成人午夜影视| 欧美日韩dvd在线观看| 欧美精品v日韩精品v韩国精品v| 欧美羞羞免费网站| 欧美精品第1页| 精品国偷自产国产一区| 精品福利一区二区三区免费视频| 精品国产成人在线影院 | 亚洲bdsm女犯bdsm网站| 亚洲国产精品麻豆| 日韩精品国产精品| 国产一区二区91| 国产精品乱码久久久久久| 在线不卡一区二区| 欧美mv和日韩mv的网站| 99亚偷拍自图区亚洲| 色综合久久99| 91精选在线观看| 26uuu亚洲| 亚洲免费观看视频| 日韩精品成人一区二区三区| 韩国成人精品a∨在线观看| 成人免费看片app下载| 色88888久久久久久影院按摩| 欧美三级资源在线| 欧美一级高清片在线观看| 国产亲近乱来精品视频| 亚洲精品国产a久久久久久 | 欧美三级三级三级爽爽爽| 制服丝袜日韩国产| 国产欧美精品国产国产专区| 一区二区三区视频在线观看| 免费日本视频一区| 成人av网站免费| 在线成人小视频| 日本一区二区成人在线| 亚洲国产日韩在线一区模特| 激情综合网av| 欧美午夜精品一区| 国产日韩影视精品| 日韩精品一二三| 99视频精品在线| 欧美成人精品福利| 亚洲午夜私人影院| 高清视频一区二区| 日韩一区二区三| 亚洲一线二线三线视频| 成人午夜伦理影院| 日韩精品中午字幕| 亚洲一区二区三区影院| 丁香啪啪综合成人亚洲小说| 欧美一区二区高清| 亚洲乱码国产乱码精品精的特点| 精品亚洲porn| 欧美日韩性生活| 亚洲精品视频在线看| 高潮精品一区videoshd| 欧美一区二区三区日韩视频| 亚洲免费av高清| 国产91精品露脸国语对白| 7777精品伊人久久久大香线蕉最新版| 国产精品免费网站在线观看| 狠狠色2019综合网| 这里是久久伊人| 亚洲午夜在线电影| 色婷婷久久久综合中文字幕| 国产亚洲综合色| 久久精品国产一区二区| 欧美三级电影在线看| 亚洲精品高清视频在线观看| av中文字幕不卡| 国产亚洲一区二区三区四区| 久久精品国产久精国产爱| 欧美精品视频www在线观看| 亚洲狼人国产精品| 91在线观看一区二区| 国产精品久久久久久久久免费相片| 狠狠v欧美v日韩v亚洲ⅴ| 日韩免费看的电影| 日本在线不卡视频| 这里只有精品视频在线观看| 天堂va蜜桃一区二区三区漫画版| 欧美视频精品在线| 一区二区久久久久| 色噜噜狠狠成人中文综合| 最新久久zyz资源站| 成人h动漫精品一区二区| 国产精品久久久久久久久果冻传媒| 国产成人日日夜夜| 中文字幕五月欧美| 色综合久久综合| 一区二区激情小说| 欧美久久一区二区| 麻豆极品一区二区三区| 精品日韩一区二区三区 | 成人午夜精品一区二区三区| 国产日韩精品一区二区三区 | 亚洲欧洲综合另类在线| 日本大香伊一区二区三区| 亚洲国产视频直播| 91精品国产色综合久久| 久久电影网站中文字幕| 久久久国产综合精品女国产盗摄| 国产成人精品1024| 亚洲欧美日韩中文播放| 欧美日韩和欧美的一区二区| 日本成人在线不卡视频| 久久综合给合久久狠狠狠97色69| 高清免费成人av| 一区二区日韩电影| 日韩欧美黄色影院| 国产成人免费xxxxxxxx| 亚洲精品国产无套在线观| 777久久久精品| 国产成人综合自拍| 亚洲一级在线观看| 久久久久久久久一| 色88888久久久久久影院野外| 日本伊人精品一区二区三区观看方式|