日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

驱动06.触摸屏驱动程序

發布時間:2023/12/10 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 驱动06.触摸屏驱动程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.觸摸屏的簡介

  觸摸屏是標準的輸入設備,在寫驅動程序時采用的之前講過的輸入子系統那套框架。我們無需關心對設備文件的操作,只需關心對硬件寄存器的操作和上報事件即可。

  觸摸屏是附在LCD上的一層薄膜,并不是我們平時認識的觸摸屏,它只是起到確定坐標的作用。

?? S3C2440提供的觸摸屏接口有4種處理模式,分別是:正常轉換模式、單獨的X/Y位置轉換模式、自動X/Y位置轉換模式和等待中斷模式。本例子中用的是等待中斷模式

2.以s3c2410_ts.c為例分析整體框架

2.1 s3c2410ts_init函數

1 static int __init s3c2410ts_init(void) 2 { 3 // init_MUTEX(&gADClock); 4 return platform_driver_register(&s3c2410ts_driver);/*注冊s3c2410ts_driver*/ 5 } 1 static struct platform_driver s3c2410ts_driver = { 2 .driver = { 3 .name = "s3c2410-ts", 4 .owner = THIS_MODULE, 5 }, 6 .probe = s3c2410ts_probe, 7 .remove = s3c2410ts_remove, 8 };

如果出現與其同名的平臺設備,將調用其probe函數

2.2 s3c2410ts_probe函數

static int __init s3c2410ts_probe(struct platform_device *pdev) { /*使能adc時鐘*/adc_clock = clk_get(NULL, "adc");clk_enable(adc_clock);//映射adc的地址base_addr=ioremap(S3C2410_PA_ADC,0x20);//配置GPIO,初始化 s3c2410_ts_connect();//分配一個input_dev結構體input_dev = input_allocate_device();//設置這個結構體ts.dev = input_dev;//事件類型:按鍵類、絕對位移類ts.dev->evbit[0] = BIT(EV_SYN) | BIT(EV_KEY) | BIT(EV_ABS);ts.dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH);//絕對位移類的各種參數:X方向、Y方向、按壓類input_set_abs_params(ts.dev, ABS_X, 0, 0x3FF, 0, 0);input_set_abs_params(ts.dev, ABS_Y, 0, 0x3FF, 0, 0);input_set_abs_params(ts.dev, ABS_PRESSURE, 0, 1, 0, 0);request_irq(IRQ_ADC,stylus_action,...);//ADC中斷request_irq(IRQ_TC,stylus_updown,...);//觸摸屏中斷//注冊input_dev結構體 input_register_device(ts.dev);}

2.3 ADC中斷處理函數stylus_action

static irqreturn_t stylus_action(int irq, void *dev_id) {unsigned long data0;unsigned long data1;// if (bADCForTS) { data0 = ioread32(base_addr+S3C2410_ADCDAT0);data1 = ioread32(base_addr+S3C2410_ADCDAT1);ts.xp += data0 & S3C2410_ADCDAT0_XPDATA_MASK;ts.yp += data1 & S3C2410_ADCDAT1_YPDATA_MASK;ts.count++;// bADCForTS = 0; // up(&gADClock);if (ts.count < (1<<ts.shift)) { // if (!down_trylock(&gADClock)) { // bADCForTS = 1;iowrite32(S3C2410_ADCTSC_PULL_UP_DISABLE | AUTOPST, base_addr+S3C2410_ADCTSC);iowrite32(ioread32(base_addr+S3C2410_ADCCON) | S3C2410_ADCCON_ENABLE_START, base_addr+S3C2410_ADCCON); // }} else {mod_timer(&touch_timer, jiffies+1);iowrite32(WAIT4INT(1), base_addr+S3C2410_ADCTSC);} // }return IRQ_HANDLED; }

2.4 觸摸屏中斷處理函數stylus_updown

1 static irqreturn_t stylus_updown(int irq, void *dev_id) 2 { 3 unsigned long data0; 4 unsigned long data1; 5 int updown; 6 7 data0 = ioread32(base_addr+S3C2410_ADCDAT0); 8 data1 = ioread32(base_addr+S3C2410_ADCDAT1); 9 10 updown = (!(data0 & S3C2410_ADCDAT0_UPDOWN)) && (!(data1 & S3C2410_ADCDAT0_UPDOWN)); 11 12 /* TODO we should never get an interrupt with updown set while 13 * the timer is running, but maybe we ought to verify that the 14 * timer isn't running anyways. */ 15 16 if (updown) 17 touch_timer_fire(0); 18 19 return IRQ_HANDLED; 20 } 1 static void touch_timer_fire(unsigned long data) //上報事件 2 { 3 unsigned long data0; 4 unsigned long data1; 5 int updown; 6 7 data0 = ioread32(base_addr+S3C2410_ADCDAT0); 8 data1 = ioread32(base_addr+S3C2410_ADCDAT1); 9 10 updown = (!(data0 & S3C2410_ADCDAT0_UPDOWN)) && (!(data1 & S3C2410_ADCDAT0_UPDOWN)); 11 12 if (updown) { 13 if (ts.count != 0) { 14 long tmp; 15 16 tmp = ts.xp; 17 ts.xp = ts.yp; 18 ts.yp = tmp; 19 20 ts.xp >>= ts.shift; 21 ts.yp >>= ts.shift; 22 23 #ifdef CONFIG_TOUCHSCREEN_S3C2410_DEBUG 24 { 25 struct timeval tv; 26 do_gettimeofday(&tv); 27 printk(DEBUG_LVL "T: %06d, X: %03ld, Y: %03ld\n", (int)tv.tv_usec, ts.xp, ts.yp); 28 } 29 #endif 30 31 input_report_abs(ts.dev, ABS_X, ts.xp); 32 input_report_abs(ts.dev, ABS_Y, ts.yp); 33 34 input_report_key(ts.dev, BTN_TOUCH, 1); 35 input_report_abs(ts.dev, ABS_PRESSURE, 1); 36 input_sync(ts.dev); 37 } 38 39 ts.xp = 0; 40 ts.yp = 0; 41 ts.count = 0; 42 43 // if (!down_trylock(&gADClock)) { 44 // bADCForTS = 1; 45 iowrite32(S3C2410_ADCTSC_PULL_UP_DISABLE | AUTOPST, base_addr+S3C2410_ADCTSC); 46 iowrite32(ioread32(base_addr+S3C2410_ADCCON) | S3C2410_ADCCON_ENABLE_START, base_addr+S3C2410_ADCCON); 47 // } 48 } else { 49 ts.count = 0; 50 51 input_report_key(ts.dev, BTN_TOUCH, 0); 52 input_report_abs(ts.dev, ABS_PRESSURE, 0); 53 input_sync(ts.dev); 54 55 iowrite32(WAIT4INT(0), base_addr+S3C2410_ADCTSC); 56 } 57 }

?

2.5 s3c2410ts_remove,s3c2410ts_exit函數做的工作與上述相反。

3 寫代碼

3.1 框架

(1)分配一個input_dev結構體

(2)設置

(3)硬件相關的操作(難點)

(4)注冊

(5)進一步優化(可有可無,有是最好)???????

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???????????????????????????????????????????????

--------------------------------------------------------------編輯于2017-01-11 00:56:39

?? ADC使用的四個步驟:

(1)設置ADCCON寄存器,選擇輸入信號通道,設置A/D轉換器時鐘。

(2)設置ADCTSC寄存器,設置其為觸摸屏使用。

(3)設置ADCCON寄存器,啟動A/D轉換。

(4)轉換結束時,讀取ADCDAT0寄存器獲取數值。

1 /*參考s3c2410_ts.c*/ 2 3 #include <linux/errno.h> 4 #include <linux/kernel.h> 5 #include <linux/module.h> 6 #include <linux/slab.h> 7 #include <linux/input.h> 8 #include <linux/init.h> 9 #include <linux/serio.h> 10 #include <linux/delay.h> 11 #include <linux/platform_device.h> 12 #include <linux/clk.h> 13 #include <asm/io.h> 14 #include <asm/irq.h> 15 16 #include <asm/plat-s3c24xx/ts.h> 17 18 #include <asm/arch/regs-adc.h> 19 #include <asm/arch/regs-gpio.h> 20 21 struct s3c_ts_regs{ 22 unsigned long adccon; 23 unsigned long adctsc; 24 unsigned long adcdly; 25 unsigned long adcdat0; 26 unsigned long adcdat1; 27 unsigned long adcupdn; 28 29 }; 30 31 static struct input_dev *s3c_ts_dev; 32 static struct clk *adc_clock; 33 static volatile struct s3c_ts_regs *s3c_ts_regs; 34 static struct timer_list ts_timer; 35 36 static void wait_pen_down_mode() 37 { 38 s3c_ts_regs->adctsc = 0xd3; 39 } 40 41 static void wait_pen_up_mode() 42 { 43 s3c_ts_regs->adctsc = 0x1d3; 44 } 45 46 static void measure_xy_mode() 47 { 48 s3c_ts_regs->adctsc = (1<<3) |(1<<2); 49 } 50 51 static void start_adc() 52 { 53 s3c_ts_regs->adccon |= (1<<0); 54 } 55 56 static int s3c_filter_ts(int x[], int y[]) 57 { 58 #define ERR_LIMIT 10 59 60 int avr_x, avr_y; 61 int det_x, det_y; 62 63 avr_x = (x[0] + x[1])/2; 64 avr_y = (y[0] + y[1])/2; 65 66 det_x = (x[2] > avr_x) ? (x[2] - avr_x) : (avr_x - x[2]); 67 det_y = (y[2] > avr_y) ? (y[2] - avr_y) : (avr_y - y[2]); 68 69 if ((det_x > ERR_LIMIT) || (det_y > ERR_LIMIT)) 70 return 0; 71 72 avr_x = (x[1] + x[2])/2; 73 avr_y = (y[1] + y[2])/2; 74 75 det_x = (x[3] > avr_x) ? (x[3] - avr_x) : (avr_x - x[3]); 76 det_y = (y[3] > avr_y) ? (y[3] - avr_y) : (avr_y - y[3]); 77 78 if ((det_x > ERR_LIMIT) || (det_y > ERR_LIMIT)) 79 return 0; 80 81 return 1; 82 } 83 84 static void s3c_ts_timer_func(unsigned long data) 85 { 86 if (s3c_ts_regs->adcdat0 & (1<<15)) 87 { 88 /*pen up*/ 89 input_report_abs(s3c_ts_dev, ABS_PRESSURE, 0); 90 input_report_key(s3c_ts_dev, BTN_TOUCH, 0); 91 input_sync(s3c_ts_dev); 92 wait_pen_down_mode(); 93 } 94 else 95 { 96 /* 測量X/Y坐標 */ 97 measure_xy_mode(); 98 start_adc(); 99 } 100 } 101 102 103 static irqreturn_t tc_irq(int irq, void *dev_id) 104 { 105 if(s3c_ts_regs->adcdat0 & (1<<15)) 106 { 107 /*pen up*/ 108 109 input_report_key(s3c_ts_dev, BTN_TOUCH, 0); 110 input_report_abs(s3c_ts_dev, ABS_PRESSURE, 0); 111 input_sync(s3c_ts_dev); 112 wait_pen_down_mode(); 113 114 } 115 else 116 { 117 measure_xy_mode(); 118 start_adc(); 119 } 120 return IRQ_HANDLED; 121 } 122 123 static irqreturn_t adc_irq(int irq, void *dev_id) 124 { 125 static int cnt = 0; 126 static int x[4],y[4]; 127 int adcdat0, adcdat1; 128 129 adcdat0 = s3c_ts_regs->adcdat0; 130 adcdat1 = s3c_ts_regs->adcdat1; 131 132 /*如果發現ADC轉換完成后pen up,則丟棄數據*/ 133 if(s3c_ts_regs->adcdat0 & (1<<15)) 134 { /*pen up*/ 135 cnt = 0; 136 input_report_abs(s3c_ts_dev, ABS_PRESSURE, 0); 137 input_report_key(s3c_ts_dev, BTN_TOUCH, 0); 138 input_sync(s3c_ts_dev); 139 wait_pen_down_mode(); 140 } 141 else 142 { 143 /*多次測量,取平均值*/ 144 x[cnt] = adcdat0 & 0x3ff; 145 y[cnt] = adcdat1 & 0x3ff; 146 ++cnt; 147 if (cnt == 4) 148 { 149 /*軟件過濾*/ 150 if (s3c_filter_ts(x, y)) 151 { 152 //printk("x = %d, y = %d\n", (x[0]+x[1]+x[2]+x[3])/4, (y[0]+y[1]+y[2]+y[3])/4); 153 input_report_abs(s3c_ts_dev, ABS_X, (x[0]+x[1]+x[2]+x[3])/4); 154 input_report_abs(s3c_ts_dev, ABS_Y, (y[0]+y[1]+y[2]+y[3])/4); 155 input_report_abs(s3c_ts_dev, ABS_PRESSURE, 1); 156 input_report_key(s3c_ts_dev, BTN_TOUCH, 1); 157 input_sync(s3c_ts_dev); 158 } 159 cnt = 0; 160 wait_pen_up_mode(); 161 /*啟動定時器實現長按/滑動的情況*/ 162 mod_timer(&ts_timer, jiffies + HZ/100); 163 164 } 165 else 166 { 167 measure_xy_mode(); 168 start_adc(); 169 } 170 171 172 } 173 return IRQ_HANDLED; 174 } 175 176 177 178 static int s3c_ts_init(void) 179 { /*1.分配一個input_dev結構體*/ 180 s3c_ts_dev = input_allocate_device(); 181 if (!s3c_ts_dev) { 182 printk(KERN_ERR "Unable to allocate the input device !!\n"); 183 return -ENOMEM; 184 } 185 186 /*2 設置這個結構體*/ 187 /*2.1 設置事件類型*/ 188 set_bit(EV_KEY,s3c_ts_dev->evbit); 189 set_bit(EV_ABS,s3c_ts_dev->evbit); 190 191 /*2.2 設置該類型下的哪一個具體事件*/ 192 set_bit(BTN_TOUCH,s3c_ts_dev->keybit); 193 194 input_set_abs_params(s3c_ts_dev, ABS_X, 0, 0x3FF, 0, 0); 195 input_set_abs_params(s3c_ts_dev, ABS_Y, 0, 0x3FF, 0, 0); 196 input_set_abs_params(s3c_ts_dev, ABS_PRESSURE, 0, 1, 0, 0); 197 198 /*3 注冊*/ 199 input_register_device(s3c_ts_dev); 200 201 /*4 硬件相關的操作*/ 202 /*4.1 使能ADC 時鐘*/ 203 adc_clock = clk_get(NULL, "adc"); 204 if (!adc_clock) { 205 printk(KERN_ERR "failed to get adc clock source\n"); 206 return -ENOENT; 207 } 208 clk_enable(adc_clock); 209 210 /*4.2 寄存器初始化*/ 211 s3c_ts_regs = ioremap(0x58000000,sizeof(struct s3c_ts_regs)); 212 s3c_ts_regs->adccon = (1<<14) |(49<<6); 213 214 /*4.3 申請中斷*/ 215 request_irq(IRQ_TC, tc_irq, IRQF_SAMPLE_RANDOM,"tc", NULL); 216 request_irq(IRQ_ADC, adc_irq, IRQF_SAMPLE_RANDOM,"adc", NULL); 217 218 s3c_ts_regs->adcdly = 0xffff;/*待數值穩定后在轉換*/ 219 220 init_timer(&ts_timer); 221 ts_timer.function = s3c_ts_timer_func; 222 add_timer(&ts_timer); 223 224 wait_pen_down_mode(); 225 226 return 0; 227 } 228 229 static void s3c_ts_exit(void) 230 { 231 free_irq(IRQ_TC, NULL); 232 free_irq(IRQ_ADC, NULL); 233 iounmap(s3c_ts_regs); 234 input_unregister_device(s3c_ts_dev); 235 input_free_device(s3c_ts_dev); 236 del_timer(&ts_timer); 237 238 } 239 240 module_init(s3c_ts_init); 241 module_exit(s3c_ts_exit); 242 243 244 MODULE_LICENSE("GPL"); 觸摸屏驅動

--------------------------------------------------------------編輯于2017-01-11?18:21:04

轉載于:https://www.cnblogs.com/Lwd-linux/p/6272019.html

總結

以上是生活随笔為你收集整理的驱动06.触摸屏驱动程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

www.狠狠色.com | 久久精品爱视频 | 国产成本人视频在线观看 | 成人在线视频免费看 | 日本巨乳在线 | 婷婷久久网站 | 色av色av色av | 中文字幕一区二区三区精华液 | 青青河边草观看完整版高清 | 一本一道波多野毛片中文在线 | 在线观看国产区 | 99久久精品久久亚洲精品 | 国产一区欧美一区 | 精品国内自产拍在线观看视频 | 国产免费三级在线观看 | 4hu视频| 黄色软件视频大全免费下载 | 日韩电影在线一区二区 | 久久久免费视频播放 | 精品一区二区免费视频 | 国产精品久久久久久久久婷婷 | 国产精品视频观看 | 欧美日韩亚洲第一页 | 九九热在线视频 | 一本一道波多野毛片中文在线 | 在线播放国产一区二区三区 | 国产原创在线视频 | 毛片网在线观看 | av电影免费在线播放 | 中文字幕在线免费看线人 | 日日夜夜噜| 97超碰福利久久精品 | 久久精品视频日本 | www婷婷 | 久久精品国产一区二区三区 | 九九热免费视频在线观看 | 国产不卡在线视频 | 夜夜干天天操 | 狠狠色婷婷丁香六月 | 国产精品人人做人人爽人人添 | 成人9ⅰ免费影视网站 | a在线免费| 国产黄在线观看 | 蜜桃久久久 | av综合网址| 久久精品电影 | 亚洲第一伊人 | 国产精品久久99综合免费观看尤物 | 天天操天天干天天操天天干 | 999国内精品永久免费视频 | 黄色大片av | 国产在线精品一区二区三区 | 99久久精品国产一区 | 肉色欧美久久久久久久免费看 | 成人97视频| 欧美日韩中文字幕在线视频 | 国产精品久久久久久久电影 | 9在线观看免费高清完整版在线观看明 | 免费久久99精品国产婷婷六月 | 婷婷在线不卡 | 国产黄a三级三级三级三级三级 | 黄色精品一区二区 | 久久国产精品免费视频 | 久久视频免费在线观看 | 美女在线免费视频 | 999久久 | 黄色国产在线 | 久久成人资源 | 91精品国产自产在线观看永久 | 国产精品欧美久久久久久 | 中文字幕在线免费97 | 精品毛片久久久久久 | www.久久精品视频 | 欧美九九九 | 久草精品在线播放 | 六月丁香婷婷网 | 91精品久久久久久久99蜜桃 | 国产成人免费观看久久久 | 久久久国产精品视频 | 国产精品一区二区免费 | 日本不卡123 | 91精品在线免费 | 精品久久久久国产免费第一页 | www.天天成人国产电影 | 免费高清影视 | 在线观影网站 | 成年人毛片在线观看 | 高清中文字幕 | 欧美大片aaa | 亚洲精品一区中文字幕乱码 | 视频一区在线播放 | 久久精品伊人 | 日本福利视频在线 | 久久久久免费精品国产 | 91av视频免费在线观看 | 欧美成人一二区 | 性色av一区二区三区在线观看 | 久久国产精品视频观看 | 亚洲国产综合在线 | 免费久久99精品国产婷婷六月 | 亚洲 中文 在线 精品 | 国产v在线观看 | 国产成人精品久久久 | 99国内精品久久久久久久 | 久久国产精品免费 | 国产在线视频一区二区三区 | 日韩天天操 | 天天射天天干天天 | 久久综合精品一区 | 国产中文欧美日韩在线 | 国产精品va在线 | 精品一区在线看 | 四虎在线免费观看 | 青青河边草手机免费 | 成人av免费 | 在线看黄色的网站 | 精品视频免费在线 | 国产精品9区 | 911久久香蕉国产线看观看 | 美女黄频在线观看 | 狠狠色狠狠色综合日日92 | 中文字幕在线观看免费高清完整版 | 久久精品国产一区二区三区 | 日本aa在线 | 五月天六月婷婷 | 婷婷久月| 亚洲高清资源 | 日韩在线一二三区 | 天天综合日日夜夜 | 国产一二三四在线视频 | 欧美一级在线 | 成年人免费看片网站 | av先锋中文字幕 | 天天射一射 | 国产91精品欧美 | 在线韩国电影免费观影完整版 | 免费不卡中文字幕视频 | 伊人网站 | 中文字幕一区二区三区在线视频 | 国产免费观看av | 国产精品视频永久免费播放 | 成年人看片网站 | 中文字幕在线观看你懂的 | 国产小视频国产精品 | 欧洲色吧 | 国产成人免费 | 天天色.com | 国产日韩欧美在线观看视频 | 精品女同一区二区三区在线观看 | 欧美精品一区在线 | 精品国产黄色片 | 精品久久久久久国产偷窥 | 久久激情视频 久久 | 热久久电影 | 久久手机免费观看 | 精品在线一区二区三区 | 国产精品毛片一区二区三区 | 婷婷色综合色 | 国产色拍拍拍拍在线精品 | 国产视频网站在线观看 | 亚洲综合国产精品 | 97超碰在线久草超碰在线观看 | 国产日产精品一区二区三区四区 | 国产精品美女在线 | 久久在线精品视频 | 欧美一区二区三区免费看 | 国产亚洲视频系列 | 在线观看日韩免费视频 | aaa亚洲精品一二三区 | 91男人影院 | 久久免费国产精品1 | 人人爽人人爽人人片 | 在线观看色视频 | 精品一区91 | 夜夜夜| 有没有在线观看av | av视屏在线播放 | 日本一区二区不卡高清 | 久久在草 | 亚洲一本视频 | 三级黄色免费片 | 开心色插| 九色91在线视频 | 天天骚夜夜操 | 中文字幕在线观看一区二区 | 精品产品国产在线不卡 | 久久久久一区二区三区 | 99中文字幕视频 | 日韩精品视频久久 | 国产精品免费久久久久久 | 五月激情婷婷丁香 | 又黄又爽的免费高潮视频 | av免费电影网站 | 在线观看免费成人 | 这里只有精彩视频 | 高清av免费看 | 精品免费在线视频 | 91精品免费在线 | 精品国产一区二区三区噜噜噜 | 免费色视频网站 | 狠狠狠狠狠色综合 | 激情综合网婷婷 | av免费在线观看1 | 国产精品一区二区麻豆 | 免费能看的av | 中文字幕在线播放日韩 | 日韩欧美69 | 久久久久成人精品亚洲国产 | 在线不卡的av | 二区三区在线观看 | 色综合亚洲精品激情狠狠 | 91精品爽啪蜜夜国产在线播放 | 国产视频网站在线观看 | 国产一区二区高清 | 婷婷国产一区二区三区 | 黄色国产高清 | 日本婷婷色 | 免费在线观看成人小视频 | 视频成人永久免费视频 | 日韩精品高清视频 | 在线观看岛国av | 日韩免费观看视频 | 亚洲婷婷网 | 成人av电影在线 | 欧美久久综合 | 黄色成年片 | 波多野结衣一区二区 | 日韩精品不卡在线观看 | 国产伦理一区 | 国产一级免费电影 | 色婷婷激情五月 | 婷婷久久丁香 | 中文乱码视频在线观看 | 久久一二区 | 97超碰人人爱 | 国产一线二线三线在线观看 | 国产精品视频内 | 天天操天天色天天射 | 日韩一级电影网站 | 青青草国产成人99久久 | 亚洲成人av在线 | 国产69精品久久久久9999apgf | 亚洲免费av观看 | 91久久在线观看 | 国产亚洲精品bv在线观看 | 一区免费观看 | 国产精品片 | 国产在线观看你懂得 | 99热精品国产一区二区在线观看 | av在线不卡观看 | 亚洲一区尤物 | 久久狠狠亚洲综合 | 99r在线播放 | 久草五月| 国产一二区视频 | 黄色一级性片 | 岛国av在线免费 | 美女网站色免费 | 国产精品9区 | 午夜精品视频福利 | 亚洲欧美国产精品va在线观看 | 久久成人精品视频 | 日韩免费高清在线 | 亚洲有 在线 | 国产成人精品一区二区三区在线观看 | 特级黄色视频毛片 | 一区二区三区中文字幕在线观看 | 91精品啪在线观看国产81旧版 | 黄色片免费在线 | 五月天天色| 18久久久久 | 亚洲午夜av电影 | a色视频 | 亚洲国产高清视频 | 国产成人av电影 | 国产1区2区3区精品美女 | 天天干天天草天天爽 | 免费观看福利视频 | 久久国产精品视频免费看 | 日韩欧美一区二区三区视频 | 免费精品国产 | 久久免费99| 超碰国产在线观看 | 超碰人人在 | 国产午夜精品理论片在线 | 狂野欧美激情性xxxx欧美 | 亚洲国产字幕 | 亚洲免费av电影 | 久久久999精品视频 国产美女免费观看 | 精品一区二区综合 | 久久国内精品 | 亚洲成人欧美 | 99精品久久久久久久久久综合 | 五月婷婷.com | 一级黄色片在线免费看 | 久久久www成人免费毛片 | www.五月婷婷.com | 黄色软件视频大全免费下载 | 国产一级做a | 91九色最新地址 | 在线a人片免费观看视频 | 国产97在线播放 | 最新免费av在线 | 黄污视频网站大全 | 久久艹国产视频 | 久久电影网站中文字幕 | av色图天堂网 | 人人超在线公开视频 | 91久久人澡人人添人人爽欧美 | 久草在线免费播放 | 超碰97中文 | 在线亚洲人成电影网站色www | 99精品在线直播 | 成年免费在线视频 | 欧美色图东方 | 天天在线免费视频 | 天天干天天干天天干 | 久久精品亚洲一区二区三区观看模式 | 精品国产99国产精品 | 99视频在线精品国自产拍免费观看 | 91亚洲国产 | 91九色成人 | 二区中文字幕 | 亚洲欧美国产精品久久久久 | 99久久精品国 | 韩国三级一区 | 有码中文字幕 | 青青久视频 | 国产综合福利在线 | 亚洲第一久久久 | av中文字幕免费在线观看 | 在线观看视频你懂得 | 天天干天天干天天 | 97视频在线免费 | 国产精品对白一区二区三区 | 国产麻豆果冻传媒在线观看 | 在线观看网站你懂的 | 色婷婷播放 | 精品视频免费在线 | 亚洲在线免费视频 | 99久久精品免费看国产免费软件 | 一级做a视频 | 国内精品久久久久久久影视简单 | 欧美极度另类 | 免费视频成人 | 99视频国产精品 | 一级全黄毛片 | 久草在线最新视频 | 综合国产在线 | 亚洲片在线观看 | 九九欧美视频 | 亚洲色图美腿丝袜 | 91爱爱视频 | 国产日韩一区在线 | 香蕉视频在线免费 | 精品视频123区在线观看 | 夜色资源站国产www在线视频 | 国产成人精品综合久久久久99 | 九月婷婷人人澡人人添人人爽 | 中文区中文字幕免费看 | 国产在线观看一 | 综合中文字幕 | 成人丁香花 | 国产男女爽爽爽免费视频 | 在线观看你懂的网站 | 免费看v片| 久久精品视频网站 | av在线亚洲天堂 | 97超碰香蕉 | 91成人在线观看喷潮 | 日韩中文字幕91 | 久久三级视频 | 日韩v欧美v日本v亚洲v国产v | 亚洲理论视频 | 久久精品国亚洲 | 久久视频这里有久久精品视频11 | av在线免费观看网站 | h久久| 在线三级播放 | 能在线观看的日韩av | 最新日韩在线观看 | 国产夫妻av在线 | 911国产| 99久久久久久国产精品 | 91人人视频在线观看 | 国产精品一区二区在线观看 | 日韩高清一区在线 | 久久亚洲影院 | 激情五月***国产精品 | 视频在线日韩 | 免费看黄色小说的网站 | 亚洲国产色一区 | 在线小视频 | 色狠狠久久av五月综合 | 激情五月视频 | 国产日韩欧美在线一区 | 免费国产视频 | 色哟哟国产精品 | 免费电影一区二区三区 | 国内精品久久久久影院优 | 欧美日韩亚洲国产一区 | 国产日韩视频在线播放 | 在线观看视频h | 久久少妇免费视频 | 国产精品丝袜在线 | 国产精品久久久久免费观看 | 夜夜爽88888免费视频4848 | 中文字幕资源在线观看 | 一区二区三区在线看 | 国产丝袜高跟 | 天天做日日做天天爽视频免费 | 免费91在线 | 国产黄色免费在线观看 | 五月天婷婷在线观看视频 | 日韩mv欧美mv国产精品 | .精品久久久麻豆国产精品 亚洲va欧美 | 九九久久电影 | 久久高清 | 国产精品久久电影观看 | 日韩欧美在线视频一区二区三区 | 99久久99久久精品 | 日韩高清免费观看 | 中文字幕av在线播放 | 久草在线欧美 | www国产亚洲精品久久麻豆 | 国产精品久久久久久久av电影 | 五月婷在线观看 | 亚洲区另类春色综合小说校园片 | av在线影视 | 丁香激情综合国产 | 成人动漫视频在线 | 国产一级在线免费观看 | 伊色综合久久之综合久久 | 2023国产精品自产拍在线观看 | 国产护士hd高朝护士1 | 亚洲最新av | 九九久久久久久久久激情 | 亚洲精品国偷拍自产在线观看 | 亚洲精品久久久久中文字幕二区 | 天天躁日日 | 视频在线一区二区三区 | 成人97人人超碰人人99 | 亚洲黄色av一区 | 欧美日韩精品在线播放 | 天海冀一区二区三区 | 国产精品在线看 | 99精品国产一区二区三区麻豆 | 四虎成人精品在永久免费 | 99精品视频在线观看视频 | 国产精品亚洲片夜色在线 | 中文字幕刺激在线 | 欧美日韩一区二区在线观看 | 国产精品久久久99 | 天天躁日日躁狠狠 | 亚洲免费专区 | 国产精品美女久久久久久网站 | 搡bbbb搡bbb视频 | 狠狠色伊人亚洲综合网站色 | 日韩网站视频 | 国产精品日韩久久久久 | 久久久黄色 | 久久久久久网站 | 911精品视频| 国内精品久久久久久久影视简单 | 欧亚日韩精品一区二区在线 | 午夜视频在线观看一区二区三区 | 波多野结衣视频在线 | 午夜少妇| 最新av免费在线观看 | 亚洲综合在线一区二区三区 | 日本视频不卡 | www.91国产 | 69xx视频 | 在线观看www视频 | 黄色成人在线观看 | 91麻豆视频| 不卡国产视频 | 亚洲欧美一区二区三区孕妇写真 | 欧美一级特黄高清视频 | 日韩精品一区二区三区外面 | 91片黄在线观看 | 欧美精品久 | 一区二区中文字幕在线观看 | 欧美日本在线观看视频 | 亚洲干| 黄色精品一区 | 久久大视频 | 国产精品免费久久久 | 97国产大学生情侣酒店的特点 | 91中文视频 | 久草在线网址 | 欧美激情奇米色 | 在线亚洲高清视频 | 天天躁天天狠天天透 | 91正在播放| 久久高清国产 | 999久久久久| 午夜精品久久久99热福利 | 97天天干| free. 性欧美.com | 97精品国产91久久久久久久 | 97超碰免费在线 | 高清av网站 | 国产成人免费 | 国产免费小视频 | 午夜精品福利一区二区三区蜜桃 | 九九久久久久久久久激情 | 四虎国产精品成人免费4hu | 在线观看视频你懂的 | 成年人视频免费在线播放 | 激情欧美xxxx | 伊人在线视频 | 欧美二区视频 | 97超碰福利久久精品 | 国产99久久 | 13日本xxxxxⅹxxx20 | 久久理论影院 | 九色精品免费永久在线 | 2019国产精品 | 国产一区二区三区免费观看视频 | 在线免费黄网站 | 婷婷开心久久网 | 亚洲国产综合在线 | 中文字幕一区二区三区四区 | 天天色视频 | 黄色成人毛片 | 午夜视频播放 | 久久午夜精品 | 亚洲区二区 | 贫乳av女优大全 | 国产精品免费久久久 | 在线观看免费版高清版 | 国产精品国产三级国产不产一地 | 六月色婷 | 精品免费观看 | 91在线91| 四虎8848免费高清在线观看 | 成人福利在线播放 | 99 视频 高清 | 夜夜爱av | 国产亚洲精品精品精品 | 日本中文字幕在线免费观看 | 欧美性大战久久久久 | 五月婷婷.com | 国产原创在线视频 | 成年人app网址 | 久草网免费 | 久久99中文字幕 | 欧美日韩久 | 91精品一区国产高清在线gif | 日韩精品亚洲专区在线观看 | 精品免费国产一区二区三区四区 | 98超碰在线观看 | 视频91| 特黄免费av | 日韩av免费大片 | 国产不卡在线播放 | 爱情影院aqdy鲁丝片二区 | 久草在线视频首页 | 欧美日韩在线播放一区 | 午夜视频在线观看一区二区三区 | 男女激情片在线观看 | 在线免费黄 | 天天干.com | 午夜 久久 tv | 91视频免费 | 99久久婷婷国产综合精品 | 亚洲欧洲精品视频 | 久久精品视频中文字幕 | 国产91对白在线播 | 日韩欧美在线视频一区二区 | 色婷婷在线视频 | 精精国产xxxx视频在线播放 | 日日夜夜草 | 色在线中文字幕 | 国产手机视频精品 | 久草在线中文视频 | 4p变态网欧美系列 | 97超碰福利久久精品 | 97国产超碰在线 | 久久久精品网站 | 欧美另类激情 | 一区二区三区在线电影 | 玖玖精品在线 | 日韩精品在线一区 | 超碰人人在 | 综合色婷婷 | 国产高清不卡一区二区三区 | 超碰在线94 | a午夜在线 | 在线视频观看亚洲 | 日本精品久久久久久 | 久久激情精品 | 黄色天堂在线观看 | 字幕网av | 香蕉在线视频播放网站 | 欧美一级日韩三级 | 精品一二三四在线 | 国产精品一区二区美女视频免费看 | 成人网看片 | 成人国产精品电影 | 五月色丁香 | 国产精品久久久精品 | 婷婷免费在线视频 | 91超级碰碰 | 91福利在线观看 | avav99| 国产剧情一区二区在线观看 | 天天操天天射天天添 | 99在线热播精品免费 | 国产精品成人久久久久 | 日本激情中文字幕 | 日韩激情视频在线观看 | 成片视频免费观看 | 欧美亚洲国产精品久久高清浪潮 | 欧美韩国日本在线观看 | 久久久久久久av | 国产四虎影院 | 美女黄视频免费看 | 日本爱爱免费视频 | 久久人人爽爽 | 美女黄色网在线播放 | 成人黄色电影在线 | 亚洲天堂社区 | 日韩动态视频 | 日韩av在线小说 | 国产成人精品日本亚洲999 | 亚洲精品乱码久久久久久蜜桃91 | 日韩一二三区不卡 | 国产精品久久久久婷婷二区次 | 国产黄色精品在线 | 99热精品视 | 亚洲免费a | 九精品| va视频在线 | 亚洲人人射 | 国产传媒一区在线 | 亚洲精品久久久久久久不卡四虎 | 97精品国产97久久久久久 | 欧美激情亚洲综合 | 伊人av综合| 欧美日韩不卡一区二区 | 伊人婷婷色 | 91av片| 成人午夜精品福利免费 | 婷婷激情网站 | 九九视频免费观看视频精品 | 国产黄色在线观看 | 国产专区在线播放 | 国产午夜三级一区二区三桃花影视 | 中文字幕资源站 | 182午夜在线观看 | 精品在线亚洲视频 | 国产精品麻豆欧美日韩ww | 国产精品福利在线播放 | 国产精品免费一区二区三区 | 国产第一页福利影院 | 日韩无在线 | 国产日韩欧美在线免费观看 | 成人在线观看资源 | 米奇四色影视 | 日韩免费电影网 | 玖玖精品在线 | 久久精品视频免费播放 | 在线观看不卡视频 | 欧美精品久久久久久久久久白贞 | 欧美整片sss | 久久久综合 | 中文字幕一区二区三区久久蜜桃 | 国产精品久久久久久久7电影 | 免费一级特黄毛大片 | 天天色综合久久 | 中文字幕亚洲精品在线观看 | 久久综合中文色婷婷 | a黄色一级 | 久久国产精品影视 | 久草免费在线视频观看 | 日韩视频1区| 狠狠色丁香九九婷婷综合五月 | 二区三区在线视频 | 中文字幕久久精品 | 国产高清在线a视频大全 | 成人午夜免费剧场 | 久久综合给合久久狠狠色 | 成人国产精品久久久春色 | 国产经典av | 国产黄色片久久久 | 婷婷激情综合五月天 | 亚洲黄色一级电影 | 国产精品九色 | 中文字幕一区二区三区四区 | 伊人天堂网 | 免费在线色电影 | 天天操天天色天天射 | 亚洲 欧洲 国产 精品 | 亚洲精品66 | 五月婷婷免费 | 最新久久久 | 密桃av在线| 激情综合网在线观看 | 玖玖在线看 | 久精品一区 | 国产精品一区久久久久 | 超碰人人舔 | 97色婷婷人人爽人人 | 日韩精品一区二区三区不卡 | 国产美女精品视频免费观看 | 69视频在线播放 | 亚洲黄色免费在线看 | 国产精品视频app | 在线观看国产亚洲 | 在线观看国产福利片 | 欧美一区影院 | 欧美先锋影音 | 久久久国产精品亚洲一区 | 国模精品一区二区三区 | 美女视频一区二区 | 国产精品 日韩 | 亚洲成人欧美 | 国产一区二区三区免费观看视频 | 欧美综合在线视频 | 亚洲日韩中文字幕在线播放 | 小草av在线播放 | 91色在线观看 | 婷婷伊人五月天 | 黄色三级在线观看 | 国产精品久久久久久久午夜 | 日韩欧美一区二区在线 | 色综合亚洲精品激情狠狠 | 免费av大全 | 天天天天色综合 | 日韩高清免费无专码区 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 中文字幕资源站 | 亚洲色五月 | 成人影视免费看 | 色多多视频在线观看 | 91在线国内视频 | 岛国av在线不卡 | 日韩美女av在线 | 欧美亚洲成人免费 | 日本中文字幕网站 | 深爱激情五月婷婷 | 国产一区视频免费在线观看 | 日韩在线激情 | 观看免费av | 黄色精品网站 | 久久人人精 | 99一区二区三区 | 欧美与欧洲交xxxx免费观看 | 黄色三级在线观看 | 久久有精品 | 在线成人免费 | 综合色影院 | www九九热 | 麻豆久久久久久久 | 天天爱天天色 | 久久免费大片 | 日韩激情在线视频 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 欧美最猛性xxx | 深爱五月网 | 欧洲精品视频一区二区 | 国产成人亚洲在线观看 | 伊人伊成久久人综合网小说 | 成人天堂网 | 亚洲综合在线五月 | 欧美视频国产视频 | 成年人视频在线 | 夜夜澡人模人人添人人看 | 国产日韩视频在线播放 | 日韩久久精品一区二区三区 | 欧美粗又大 | 日本少妇久久久 | 亚洲最新av在线网址 | 欧美在线99| 久久久久亚洲精品中文字幕 | 色妞色视频一区二区三区四区 | 久久精品一区 | 激情五月综合 | 日韩三级在线 | 综合久久五月天 | 日韩午夜网站 | 免费男女羞羞的视频网站中文字幕 | 人人狠狠综合久久亚洲婷 | av免费在线播放 | 黄色免费在线看 | 美女福利视频一区二区 | www日韩视频 | 五月婷婷毛片 | 午夜少妇一区二区三区 | 日韩精品欧美视频 | 免费观看国产成人 | 欧美伦理一区二区 | 久草视频在线新免费 | 国产第一页福利影院 | 三级黄色在线观看 | 三级视频日韩 | 91精品中文字幕 | 亚洲综合成人婷婷小说 | 日日色综合 | 999久久国精品免费观看网站 | 一区精品久久 | 国产精品免费久久久久影院仙踪林 | 国产丝袜一区二区三区 | 日韩av电影手机在线观看 | www色| 亚洲成人av在线电影 | 亚洲欧洲av| 黄色毛片在线观看 | 国内视频一区二区 | 欧美成人亚洲成人 | 国产一区久久 | 91高清完整版在线观看 | 久久午夜网 | 麻豆影视在线观看 | 黄色影院在线免费观看 | 国产亚洲精品中文字幕 | 国产 亚洲 欧美 在线 | 日日草夜夜操 | 中文字幕欧美日韩va免费视频 | 97国产精品亚洲精品 | 国产特级毛片aaaaaa高清 | 91伊人久久大香线蕉蜜芽人口 | 久久综合中文色婷婷 | 麻花豆传媒mv在线观看网站 | 日本中文在线播放 | 久久人人爽人人爽人人片av免费 | 久精品视频免费观看2 | 97超碰香蕉| 成人aⅴ视频 | 在线 精品 国产 | 欧美有色| 在线电影播放 | 国产中文字幕在线免费观看 | 亚洲精品视频免费在线观看 | 免费久久久久久久 | 9999亚洲 | 色综合激情久久 | 国产一区二区视频在线 | 久久国产精品视频 | 欧美精品在线观看免费 | 婷婷开心久久网 | 麻豆 91 在线 | 99免在线观看免费视频高清 | 精品国产一区二区三区在线观看 | 亚洲日本国产精品 | 人人澡人人舔 | 日日干干夜夜 | 久久免费在线观看 | 99在线观看精品 | 最新日韩电影 | 一级黄色在线免费观看 | 男女拍拍免费视频 | 91丨porny丨九色 | 欧美一级免费片 | 欧美精品久久久久性色 | av观看在线观看 | 国产视| 99成人精品| 亚洲女同videos | 最近中文字幕完整高清 | 国产精品自产拍在线观看网站 | 亚洲国产一二三 | 蜜臀av性久久久久蜜臀av | www.国产视频 | 免费看网站在线 | 97碰碰视频 | 久久精品一区二区三 | 久久精品1区 | 国产精品高清av | 天天射天天舔天天干 | 免费观看xxxx9999片 | 999视频网站 | 天天天操操操 | 一区二区不卡视频在线观看 | 亚洲综合色播 | 欧美性黄网官网 | 色综合久久88色综合天天6 | av在线影片| 不卡的av在线 | 一级精品视频在线观看宜春院 | 美腿丝袜av| 日韩在线精品视频 | 99在线免费观看视频 | 99久热在线精品视频成人一区 | 免费91麻豆精品国产自产在线观看 | 国产精品久久久久久久久久久久午夜 | 久久久久久久久久影院 | 亚洲天堂激情 | 久久精品中文字幕一区二区三区 | 亚洲精品99久久久久久 | 免费三级在线 | 在线视频观看91 | 久久免费观看少妇a级毛片 久久久久成人免费 | 四虎永久国产精品 | 黄色av电影免费观看 | 欧美精品视 | 夜夜高潮夜夜爽国产伦精品 | 日韩在线观看一区二区 | 久久成人在线视频 | 久草av在线播放 | 免费91麻豆精品国产自产在线观看 | 天天曰夜夜操 | 欧美日韩高清一区二区 国产亚洲免费看 | 国产一区免费看 | 国产一区精品在线观看 | 在线看小早川怜子av | 片网址| 色视频在线免费观看 | 亚洲国产精品女人久久久 | 中文字幕在线不卡国产视频 | 999国内精品永久免费视频 | 成人免费 在线播放 | 色综合久久天天 | 久久久久国产精品视频 | 夜夜夜| 欧美三级在线播放 | 日韩视频在线不卡 | 香蕉成人在线视频 | 中文字幕无吗 | 最近中文字幕 | 久久久久免费精品 | 国产精品久久久久一区二区三区共 | 天天操天操 | 亚洲精品日韩在线观看 | 黄色影院在线免费观看 | 91精品久久久久久综合五月天 | 偷拍精品一区二区三区 | 在线91av| 黄色最新网址 | 国产成人精品国内自产拍免费看 | 毛片无卡免费无播放器 | 久久一级片 | 狠狠色狠狠色 | 久久久久免费 | 久久国产日韩 | 99热这里只有精品免费 | 伊人夜夜 | 伊人婷婷色 | 国产美女网站在线观看 | 亚洲人精品午夜 | 中文字幕资源在线 | 日韩精品欧美视频 | 亚洲视频免费在线观看 | 欧美做受69 | 国产偷在线| 91视频久久| 国产一区二区三区黄 | 四虎影视精品成人 | 9色在线视频 | 在线中文字幕网站 | 国产最新在线视频 | 伊人网综合在线观看 | 超碰成人av | 国产伦理精品一区二区 | 亚洲手机av | 黄色片毛片 | 亚洲精品mv在线观看 | 狠狠干夜夜操天天爽 | 欧美最爽乱淫视频播放 | 午夜精品麻豆 | 视频在线在亚洲 | 亚洲精品视频网站在线观看 | 天天躁日日 | 成人免费大片黄在线播放 | 国产黄在线播放 | 人人看人人爱 | 久久97超碰 | 在线亚洲人成电影网站色www | 97在线观看免费高清完整版在线观看 | 青草视频在线 | 97小视频 | 国产精品入口麻豆 | 摸阴视频 | 99久久综合国产精品二区 | 99免费在线视频 | 亚洲国产成人精品电影在线观看 | 亚洲精品www | 手机看片99| 国内久久久久 | 久久国产精品99久久久久 | 久久久国产视频 | 日日夜夜骑 | 国产精品久久精品国产 | 在线观看亚洲专区 | 99视频精品视频高清免费 | 亚洲综合欧美激情 | 亚洲另类交 | 亚洲区精品 | 青青河边草免费视频 | 97在线观看视频免费 | 久久国产精品区 | 成人国产精品久久久春色 | 亚洲精品啊啊啊 | 亚洲狠狠操 | 欧美va天堂在线电影 | 91禁在线看 |