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

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

?? cx24123.c

?? trident tm5600的linux驅(qū)動(dòng)
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/* *   Conexant cx24123/cx24109 - DVB QPSK Satellite demod/tuner driver * *   Copyright (C) 2005 Steven Toth <stoth@linuxtv.org> * *   Support for KWorld DVB-S 100 by Vadim Catana <skystar@moldova.cc> * *   Support for CX24123/CX24113-NIM by Patrick Boettcher <pb@linuxtv.org> * *   This program is free software; you can redistribute it and/or *   modify it under the terms of the GNU General Public License as *   published by the Free Software Foundation; either version 2 of *   the License, or (at your option) any later version. * *   This program is distributed in the hope that it will be useful, *   but WITHOUT ANY WARRANTY; without even the implied warranty of *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU *   General Public License for more details. * *   You should have received a copy of the GNU General Public License *   along with this program; if not, write to the Free Software *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */#include <linux/slab.h>#include <linux/kernel.h>#include <linux/module.h>#include <linux/init.h>#include "dvb_frontend.h"#include "cx24123.h"#define XTAL 10111000static int force_band;module_param(force_band, int, 0644);MODULE_PARM_DESC(force_band, "Force a specific band select "\	"(1-9, default:off).");static int debug;module_param(debug, int, 0644);MODULE_PARM_DESC(debug, "Activates frontend debugging (default:0)");#define info(args...) do { printk(KERN_INFO "CX24123: " args); } while (0)#define err(args...)  do { printk(KERN_ERR  "CX24123: " args); } while (0)#define dprintk(args...) \	do { \		if (debug) { \			printk(KERN_DEBUG "CX24123: %s: ", __func__); \			printk(args); \		} \	} while (0)struct cx24123_state {	struct i2c_adapter *i2c;	const struct cx24123_config *config;	struct dvb_frontend frontend;	/* Some PLL specifics for tuning */	u32 VCAarg;	u32 VGAarg;	u32 bandselectarg;	u32 pllarg;	u32 FILTune;	struct i2c_adapter tuner_i2c_adapter;	u8 demod_rev;	/* The Demod/Tuner can't easily provide these, we cache them */	u32 currentfreq;	u32 currentsymbolrate;};/* Various tuner defaults need to be established for a given symbol rate Sps */static struct cx24123_AGC_val {	u32 symbolrate_low;	u32 symbolrate_high;	u32 VCAprogdata;	u32 VGAprogdata;	u32 FILTune;} cx24123_AGC_vals[] ={	{		.symbolrate_low		= 1000000,		.symbolrate_high	= 4999999,		/* the specs recommend other values for VGA offsets,		   but tests show they are wrong */		.VGAprogdata		= (1 << 19) | (0x180 << 9) | 0x1e0,		.VCAprogdata		= (2 << 19) | (0x07 << 9) | 0x07,		.FILTune		= 0x27f /* 0.41 V */	},	{		.symbolrate_low		=  5000000,		.symbolrate_high	= 14999999,		.VGAprogdata		= (1 << 19) | (0x180 << 9) | 0x1e0,		.VCAprogdata		= (2 << 19) | (0x07 << 9) | 0x1f,		.FILTune		= 0x317 /* 0.90 V */	},	{		.symbolrate_low		= 15000000,		.symbolrate_high	= 45000000,		.VGAprogdata		= (1 << 19) | (0x100 << 9) | 0x180,		.VCAprogdata		= (2 << 19) | (0x07 << 9) | 0x3f,		.FILTune		= 0x145 /* 2.70 V */	},};/* * Various tuner defaults need to be established for a given frequency kHz. * fixme: The bounds on the bands do not match the doc in real life. * fixme: Some of them have been moved, other might need adjustment. */static struct cx24123_bandselect_val {	u32 freq_low;	u32 freq_high;	u32 VCOdivider;	u32 progdata;} cx24123_bandselect_vals[] ={	/* band 1 */	{		.freq_low	= 950000,		.freq_high	= 1074999,		.VCOdivider	= 4,		.progdata	= (0 << 19) | (0 << 9) | 0x40,	},	/* band 2 */	{		.freq_low	= 1075000,		.freq_high	= 1177999,		.VCOdivider	= 4,		.progdata	= (0 << 19) | (0 << 9) | 0x80,	},	/* band 3 */	{		.freq_low	= 1178000,		.freq_high	= 1295999,		.VCOdivider	= 2,		.progdata	= (0 << 19) | (1 << 9) | 0x01,	},	/* band 4 */	{		.freq_low	= 1296000,		.freq_high	= 1431999,		.VCOdivider	= 2,		.progdata	= (0 << 19) | (1 << 9) | 0x02,	},	/* band 5 */	{		.freq_low	= 1432000,		.freq_high	= 1575999,		.VCOdivider	= 2,		.progdata	= (0 << 19) | (1 << 9) | 0x04,	},	/* band 6 */	{		.freq_low	= 1576000,		.freq_high	= 1717999,		.VCOdivider	= 2,		.progdata	= (0 << 19) | (1 << 9) | 0x08,	},	/* band 7 */	{		.freq_low	= 1718000,		.freq_high	= 1855999,		.VCOdivider	= 2,		.progdata	= (0 << 19) | (1 << 9) | 0x10,	},	/* band 8 */	{		.freq_low	= 1856000,		.freq_high	= 2035999,		.VCOdivider	= 2,		.progdata	= (0 << 19) | (1 << 9) | 0x20,	},	/* band 9 */	{		.freq_low	= 2036000,		.freq_high	= 2150000,		.VCOdivider	= 2,		.progdata	= (0 << 19) | (1 << 9) | 0x40,	},#if 0/* This band is not useful with the /2 divider, as its center frequency   is approximately 2300MHz, which is outside of the tunable range. It is   useful only with the /4 divider, as used in band #2. */	{		.freq_low	= 2150000,		.freq_high	= 2356000,		.VCOdivider	= 2,		.progdata	= (0 << 19) | (1 << 9) | 0x80,	},#endif};static struct {	u8 reg;	u8 data;} cx24123_regdata[] ={	{0x00, 0x03}, /* Reset system */	{0x00, 0x00}, /* Clear reset */	{0x03, 0x07}, /* QPSK, DVB, Auto Acquisition (default) */	{0x04, 0x10}, /* MPEG */	{0x05, 0x04}, /* MPEG */	{0x06, 0x31}, /* MPEG (default) */	{0x0b, 0x00}, /* Freq search start point (default) */	{0x0c, 0x00}, /* Demodulator sample gain (default) */	{0x0d, 0x7f}, /* Force driver to shift until the maximum (+-10 MHz) */	{0x0e, 0x03}, /* Default non-inverted, FEC 3/4 (default) */	{0x0f, 0xfe}, /* FEC search mask (all supported codes) */	{0x10, 0x01}, /* Default search inversion, no repeat (default) */	{0x16, 0x00}, /* Enable reading of frequency */	{0x17, 0x01}, /* Enable EsNO Ready Counter */	{0x1c, 0x80}, /* Enable error counter */	{0x20, 0x00}, /* Tuner burst clock rate = 500KHz */	{0x21, 0x15}, /* Tuner burst mode, word length = 0x15 */	{0x28, 0x00}, /* Enable FILTERV with positive pol., DiSEqC 2.x off */	{0x29, 0x00}, /* DiSEqC LNB_DC off */	{0x2a, 0xb0}, /* DiSEqC Parameters (default) */	{0x2b, 0x73}, /* DiSEqC Tone Frequency (default) */	{0x2c, 0x00}, /* DiSEqC Message (0x2c - 0x31) */	{0x2d, 0x00},	{0x2e, 0x00},	{0x2f, 0x00},	{0x30, 0x00},	{0x31, 0x00},	{0x32, 0x8c}, /* DiSEqC Parameters (default) */	{0x33, 0x00}, /* Interrupts off (0x33 - 0x34) */	{0x34, 0x00},	{0x35, 0x03}, /* DiSEqC Tone Amplitude (default) */	{0x36, 0x02}, /* DiSEqC Parameters (default) */	{0x37, 0x3a}, /* DiSEqC Parameters (default) */	{0x3a, 0x00}, /* Enable AGC accumulator (for signal strength) */	{0x44, 0x00}, /* Constellation (default) */	{0x45, 0x00}, /* Symbol count (default) */	{0x46, 0x0d}, /* Symbol rate estimator on (default) */	{0x56, 0xc1}, /* Error Counter = Viterbi BER */	{0x57, 0xff}, /* Error Counter Window (default) */	{0x5c, 0x20}, /* Acquisition AFC Expiration window (default is 0x10) */	{0x67, 0x83}, /* Non-DCII symbol clock */};static int cx24123_i2c_writereg(struct cx24123_state *state,	u8 i2c_addr, int reg, int data){	u8 buf[] = { reg, data };	struct i2c_msg msg = {		.addr = i2c_addr, .flags = 0, .buf = buf, .len = 2	};	int err;	/* printk(KERN_DEBUG "wr(%02x): %02x %02x\n", i2c_addr, reg, data); */	err = i2c_transfer(state->i2c, &msg, 1);	if (err != 1) {		printk("%s: writereg error(err == %i, reg == 0x%02x,"			 " data == 0x%02x)\n", __func__, err, reg, data);		return err;	}	return 0;}static int cx24123_i2c_readreg(struct cx24123_state *state, u8 i2c_addr, u8 reg){	int ret;	u8 b = 0;	struct i2c_msg msg[] = {		{ .addr = i2c_addr, .flags = 0, .buf = &reg, .len = 1 },		{ .addr = i2c_addr, .flags = I2C_M_RD, .buf = &b, .len = 1 }	};	ret = i2c_transfer(state->i2c, msg, 2);	if (ret != 2) {		err("%s: reg=0x%x (error=%d)\n", __func__, reg, ret);		return ret;	}	/* printk(KERN_DEBUG "rd(%02x): %02x %02x\n", i2c_addr, reg, b); */	return b;}#define cx24123_readreg(state, reg) \	cx24123_i2c_readreg(state, state->config->demod_address, reg)#define cx24123_writereg(state, reg, val) \	cx24123_i2c_writereg(state, state->config->demod_address, reg, val)static int cx24123_set_inversion(struct cx24123_state *state,	fe_spectral_inversion_t inversion){	u8 nom_reg = cx24123_readreg(state, 0x0e);	u8 auto_reg = cx24123_readreg(state, 0x10);	switch (inversion) {	case INVERSION_OFF:		dprintk("inversion off\n");		cx24123_writereg(state, 0x0e, nom_reg & ~0x80);		cx24123_writereg(state, 0x10, auto_reg | 0x80);		break;	case INVERSION_ON:		dprintk("inversion on\n");		cx24123_writereg(state, 0x0e, nom_reg | 0x80);		cx24123_writereg(state, 0x10, auto_reg | 0x80);		break;	case INVERSION_AUTO:		dprintk("inversion auto\n");		cx24123_writereg(state, 0x10, auto_reg & ~0x80);		break;	default:		return -EINVAL;	}	return 0;}static int cx24123_get_inversion(struct cx24123_state *state,	fe_spectral_inversion_t *inversion){	u8 val;	val = cx24123_readreg(state, 0x1b) >> 7;	if (val == 0) {		dprintk("read inversion off\n");		*inversion = INVERSION_OFF;	} else {		dprintk("read inversion on\n");		*inversion = INVERSION_ON;	}	return 0;}static int cx24123_set_fec(struct cx24123_state *state, fe_code_rate_t fec){	u8 nom_reg = cx24123_readreg(state, 0x0e) & ~0x07;	if ((fec < FEC_NONE) || (fec > FEC_AUTO))		fec = FEC_AUTO;	/* Set the soft decision threshold */	if (fec == FEC_1_2)		cx24123_writereg(state, 0x43,			cx24123_readreg(state, 0x43) | 0x01);	else		cx24123_writereg(state, 0x43,			cx24123_readreg(state, 0x43) & ~0x01);	switch (fec) {	case FEC_1_2:		dprintk("set FEC to 1/2\n");		cx24123_writereg(state, 0x0e, nom_reg | 0x01);		cx24123_writereg(state, 0x0f, 0x02);		break;	case FEC_2_3:		dprintk("set FEC to 2/3\n");		cx24123_writereg(state, 0x0e, nom_reg | 0x02);		cx24123_writereg(state, 0x0f, 0x04);		break;	case FEC_3_4:		dprintk("set FEC to 3/4\n");		cx24123_writereg(state, 0x0e, nom_reg | 0x03);		cx24123_writereg(state, 0x0f, 0x08);		break;	case FEC_4_5:		dprintk("set FEC to 4/5\n");		cx24123_writereg(state, 0x0e, nom_reg | 0x04);		cx24123_writereg(state, 0x0f, 0x10);		break;	case FEC_5_6:		dprintk("set FEC to 5/6\n");		cx24123_writereg(state, 0x0e, nom_reg | 0x05);		cx24123_writereg(state, 0x0f, 0x20);		break;	case FEC_6_7:		dprintk("set FEC to 6/7\n");		cx24123_writereg(state, 0x0e, nom_reg | 0x06);		cx24123_writereg(state, 0x0f, 0x40);		break;	case FEC_7_8:		dprintk("set FEC to 7/8\n");		cx24123_writereg(state, 0x0e, nom_reg | 0x07);		cx24123_writereg(state, 0x0f, 0x80);		break;	case FEC_AUTO:		dprintk("set FEC to auto\n");		cx24123_writereg(state, 0x0f, 0xfe);		break;	default:		return -EOPNOTSUPP;	}	return 0;}static int cx24123_get_fec(struct cx24123_state *state, fe_code_rate_t *fec){	int ret;	ret = cx24123_readreg(state, 0x1b);	if (ret < 0)		return ret;	ret = ret & 0x07;	switch (ret) {	case 1:		*fec = FEC_1_2;		break;	case 2:		*fec = FEC_2_3;		break;	case 3:		*fec = FEC_3_4;		break;	case 4:		*fec = FEC_4_5;		break;	case 5:		*fec = FEC_5_6;		break;	case 6:		*fec = FEC_6_7;		break;	case 7:		*fec = FEC_7_8;		break;	default:		/* this can happen when there's no lock */		*fec = FEC_NONE;	}	return 0;}/* Approximation of closest integer of log2(a/b). It actually gives the   lowest integer i such that 2^i >= round(a/b) */static u32 cx24123_int_log2(u32 a, u32 b){	u32 exp, nearest = 0;	u32 div = a / b;	if (a % b >= b / 2)		++div;	if (div < (1 << 31)) {		for (exp = 1; div > exp; nearest++)			exp += exp;	}	return nearest;}static int cx24123_set_symbolrate(struct cx24123_state *state, u32 srate){	u32 tmp, sample_rate, ratio, sample_gain;	u8 pll_mult;	/*  check if symbol rate is within limits */	if ((srate > state->frontend.ops.info.symbol_rate_max) ||	    (srate < state->frontend.ops.info.symbol_rate_min))		return -EOPNOTSUPP;;	/* choose the sampling rate high enough for the required operation,	   while optimizing the power consumed by the demodulator */	if (srate < (XTAL*2)/2)		pll_mult = 2;	else if (srate < (XTAL*3)/2)		pll_mult = 3;	else if (srate < (XTAL*4)/2)		pll_mult = 4;	else if (srate < (XTAL*5)/2)		pll_mult = 5;	else if (srate < (XTAL*6)/2)		pll_mult = 6;	else if (srate < (XTAL*7)/2)		pll_mult = 7;	else if (srate < (XTAL*8)/2)		pll_mult = 8;	else		pll_mult = 9;	sample_rate = pll_mult * XTAL;	/*	    SYSSymbolRate[21:0] = (srate << 23) / sample_rate	    We have to use 32 bit unsigned arithmetic without precision loss.	    The maximum srate is 45000000 or 0x02AEA540. This number has	    only 6 clear bits on top, hence we can shift it left only 6 bits	    at a time. Borrowed from cx24110.c	*/	tmp = srate << 6;	ratio = tmp / sample_rate;	tmp = (tmp % sample_rate) << 6;	ratio = (ratio << 6) + (tmp / sample_rate);	tmp = (tmp % sample_rate) << 6;	ratio = (ratio << 6) + (tmp / sample_rate);	tmp = (tmp % sample_rate) << 5;	ratio = (ratio << 5) + (tmp / sample_rate);	cx24123_writereg(state, 0x01, pll_mult * 6);	cx24123_writereg(state, 0x08, (ratio >> 16) & 0x3f);	cx24123_writereg(state, 0x09, (ratio >> 8) & 0xff);	cx24123_writereg(state, 0x0a, ratio & 0xff);	/* also set the demodulator sample gain */	sample_gain = cx24123_int_log2(sample_rate, srate);	tmp = cx24123_readreg(state, 0x0c) & ~0xe0;	cx24123_writereg(state, 0x0c, tmp | sample_gain << 5);	dprintk("srate=%d, ratio=0x%08x, sample_rate=%i sample_gain=%d\n",		srate, ratio, sample_rate, sample_gain);	return 0;}/* * Based on the required frequency and symbolrate, the tuner AGC has * to be configured and the correct band selected. * Calculate those values. */static int cx24123_pll_calculate(struct dvb_frontend *fe,	struct dvb_frontend_parameters *p){	struct cx24123_state *state = fe->demodulator_priv;	u32 ndiv = 0, adiv = 0, vco_div = 0;	int i = 0;	int pump = 2;	int band = 0;	int num_bands = ARRAY_SIZE(cx24123_bandselect_vals);	struct cx24123_bandselect_val *bsv = NULL;	struct cx24123_AGC_val *agcv = NULL;	/* Defaults for low freq, low rate */	state->VCAarg = cx24123_AGC_vals[0].VCAprogdata;	state->VGAarg = cx24123_AGC_vals[0].VGAprogdata;	state->bandselectarg = cx24123_bandselect_vals[0].progdata;	vco_div = cx24123_bandselect_vals[0].VCOdivider;	/* For the given symbol rate, determine the VCA, VGA and	 * FILTUNE programming bits */	for (i = 0; i < ARRAY_SIZE(cx24123_AGC_vals); i++) {		agcv = &cx24123_AGC_vals[i];		if ((agcv->symbolrate_low <= p->u.qpsk.symbol_rate) &&		    (agcv->symbolrate_high >= p->u.qpsk.symbol_rate)) {			state->VCAarg = agcv->VCAprogdata;			state->VGAarg = agcv->VGAprogdata;			state->FILTune = agcv->FILTune;		}	}	/* determine the band to use */	if (force_band < 1 || force_band > num_bands) {		for (i = 0; i < num_bands; i++) {			bsv = &cx24123_bandselect_vals[i];			if ((bsv->freq_low <= p->frequency) &&				(bsv->freq_high >= p->frequency))				band = i;		}	} else		band = force_band - 1;	state->bandselectarg = cx24123_bandselect_vals[band].progdata;	vco_div = cx24123_bandselect_vals[band].VCOdivider;	/* determine the charge pump current */	if (p->frequency < (cx24123_bandselect_vals[band].freq_low +		cx24123_bandselect_vals[band].freq_high) / 2)		pump = 0x01;	else		pump = 0x02;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一线二线三线视频| 精品一区二区av| 精品久久国产字幕高潮| 99久久er热在这里只有精品66| 免费成人在线观看视频| 亚洲美女免费在线| 国产午夜精品久久久久久久 | 国产成人啪午夜精品网站男同| 亚洲综合在线五月| 国产精品色婷婷| 精品久久久久久综合日本欧美 | www.性欧美| 久久国产日韩欧美精品| 亚洲综合在线第一页| 亚洲国产精品激情在线观看| 亚洲在线成人精品| 国产日韩欧美激情| 精品国产青草久久久久福利| 欧美系列在线观看| 91免费国产在线| 粉嫩嫩av羞羞动漫久久久| 青青青爽久久午夜综合久久午夜| 一二三四社区欧美黄| 国产精品夫妻自拍| 亚洲国产精品二十页| 欧美videos中文字幕| 欧美一区三区四区| 欧美精品丝袜中出| 欧美日韩国产大片| 在线观看日韩电影| 欧美午夜精品电影| 欧美最新大片在线看 | 日韩精品一区二| 在线不卡欧美精品一区二区三区| 日本丰满少妇一区二区三区| 91视频com| 色综合一区二区三区| 色综合婷婷久久| 日本韩国欧美国产| 色悠悠久久综合| 91黄色免费观看| 欧美视频在线一区二区三区| 欧美日韩高清在线播放| 欧美日韩国产高清一区二区三区| 欧美三级日韩在线| 欧美一区二区三区在线看| 欧美一区二区免费视频| 欧美xxxx在线观看| 久久色.com| 国产农村妇女精品| 亚洲欧美一区二区视频| 亚洲精品乱码久久久久久| 亚洲一二三四区不卡| 午夜欧美视频在线观看| 免费xxxx性欧美18vr| 九色porny丨国产精品| 国产精品1区2区3区| 成人av一区二区三区| 色综合一个色综合亚洲| 欧美日韩成人在线一区| 精品99一区二区三区| 久久精品一区二区| 一区二区三区四区在线| 日韩福利电影在线观看| 国产揄拍国内精品对白| 成人app在线观看| 在线观看亚洲专区| 日韩免费在线观看| 国产亚洲欧美一区在线观看| 亚洲三级久久久| 日本欧美久久久久免费播放网| 激情伊人五月天久久综合| 久久免费视频色| 亚洲欧美日韩国产另类专区| 五月婷婷激情综合| 国产91丝袜在线播放0| 精品一区二区三区免费毛片爱| 国产精品国产a级| 亚洲综合激情小说| 蜜桃av噜噜一区| 99精品偷自拍| 4438x亚洲最大成人网| 久久久久久日产精品| 一区二区三区精品视频| 水蜜桃久久夜色精品一区的特点 | 久久蜜桃av一区精品变态类天堂 | 亚洲欧洲日产国产综合网| 亚洲成a人v欧美综合天堂 | 久久99国产乱子伦精品免费| 不卡欧美aaaaa| 欧美一区二区视频在线观看2022| 日本一区二区三区dvd视频在线| 亚洲国产综合人成综合网站| 国产一区二区女| 欧美久久一二三四区| 国产精品亲子乱子伦xxxx裸| 日本最新不卡在线| 色婷婷综合久久| 日本一区二区视频在线| 午夜精品久久久久久不卡8050| 国产成人在线网站| 4438成人网| 亚洲精品国产精品乱码不99| 国产91在线|亚洲| 精品免费日韩av| 亚洲国产cao| proumb性欧美在线观看| 欧美成人一区二区三区在线观看| 亚洲欧美日本在线| 成人一区二区三区中文字幕| 日韩免费电影网站| 午夜成人在线视频| 91论坛在线播放| 国产精品第五页| 国产大陆亚洲精品国产| 精品日本一线二线三线不卡| 天堂午夜影视日韩欧美一区二区| 97久久精品人人爽人人爽蜜臀| 国产调教视频一区| 韩国女主播成人在线| 欧美一区二区三区在线观看| 亚洲一二三区在线观看| 91麻豆swag| 亚洲欧美一区二区三区国产精品| 国产成人av福利| 日韩欧美国产精品| 夜夜揉揉日日人人青青一国产精品 | 久久只精品国产| 午夜精品久久久久久久久| 在线一区二区三区四区| 亚洲天堂免费在线观看视频| 国产精品综合av一区二区国产馆| 色伊人久久综合中文字幕| 国产精品美女久久久久久久久久久| 国产老妇另类xxxxx| 亚洲精品一区二区三区影院 | 最新久久zyz资源站| 国产91丝袜在线18| 国产欧美一区二区三区网站| 国产不卡免费视频| 国产精品女同互慰在线看| av资源网一区| 亚洲男同性视频| 欧美亚洲综合一区| 丝袜亚洲另类丝袜在线| 91精品久久久久久久99蜜桃| 免费在线一区观看| 久久色视频免费观看| 丁香亚洲综合激情啪啪综合| 国产精品久久久久久久久久免费看| 成人一级片网址| 亚洲精品国产无套在线观| 精品视频1区2区3区| 日本午夜精品一区二区三区电影| 日韩欧美二区三区| 成人综合婷婷国产精品久久蜜臀 | 国产亚洲一区二区在线观看| 国产一区二区三区视频在线播放| 国产三级久久久| 91女人视频在线观看| 色哟哟日韩精品| 图片区小说区区亚洲影院| 日韩欧美三级在线| 国产成人亚洲综合a∨婷婷| 中文字幕日本不卡| 欧美日韩另类一区| 精品一区二区av| 亚洲欧洲av在线| 宅男在线国产精品| 成人做爰69片免费看网站| 亚洲一区二区三区国产| 精品少妇一区二区三区视频免付费| 国产河南妇女毛片精品久久久| 亚洲国产电影在线观看| 欧美日韩免费高清一区色橹橹| 国产伦精一区二区三区| 亚洲男女一区二区三区| 日韩欧美在线1卡| 91女厕偷拍女厕偷拍高清| 青娱乐精品视频| 亚洲色图清纯唯美| 欧美v国产在线一区二区三区| 91丨porny丨户外露出| 日本午夜一区二区| 亚洲欧美激情在线| 久久在线观看免费| 欧洲av在线精品| 成人一级黄色片| 老汉av免费一区二区三区| 亚洲免费在线视频一区 二区| 精品乱码亚洲一区二区不卡| 色八戒一区二区三区| 国产一区二区三区免费看| 亚洲3atv精品一区二区三区| 久久伊人中文字幕| 欧美欧美午夜aⅴ在线观看| 99在线精品视频| 激情丁香综合五月| 偷窥国产亚洲免费视频| 亚洲欧洲国产日本综合|