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

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

?? sm5.c

?? S3C2440+SM501在wince環境下的應用!
?? C
?? 第 1 頁 / 共 3 頁
字號:
/*void adjustMode(mode_table_t *vesaMode, mode_table_t *mode, display_t display){	long blank_width, sync_start, sync_width;	clock_select_t clock;	// Calculate the VESA line and screen frequencies.	vesaMode->horizontal_frequency = roundDiv(vesaMode->pixel_clock, vesaMode->horizontal_total);	vesaMode->vertical_frequency = roundDiv(vesaMode->horizontal_frequency, vesaMode->vertical_total);	// Calculate the sync percentages of the VESA mode.	blank_width = vesaMode->horizontal_total - vesaMode->horizontal_display_end;	sync_start = roundDiv((vesaMode->horizontal_sync_start - vesaMode->horizontal_display_end) * 100, blank_width);	sync_width = roundDiv(vesaMode->horizontal_sync_width * 100, blank_width);	// Copy VESA mode into Voyager mode.	*mode = *vesaMode;	// Find the best pixel clock.	mode->pixel_clock = findClock(vesaMode->pixel_clock * 2, &clock, display) / 2;	// Calculate the horizontal total based on the pixel clock and VESA line	// frequency.	mode->horizontal_total = roundDiv(mode->pixel_clock, vesaMode->horizontal_frequency);	// Calculate the sync start and width based on the VESA percentages.	blank_width = mode->horizontal_total - mode->horizontal_display_end;	mode->horizontal_sync_start = mode->horizontal_display_end + roundDiv(blank_width * sync_start, 100);	mode->horizontal_sync_width = roundDiv(blank_width * sync_width, 100);	// Calculate the line and screen frequencies.	mode->horizontal_frequency = roundDiv(mode->pixel_clock, mode->horizontal_total);	mode->vertical_frequency = roundDiv(mode->horizontal_frequency, mode->vertical_total);}*/// Fill the register structure.void setModeRegisters(reg_table_t *register_table, mode_table_t *mode, display_t display, int bpp){	clock_select_t clock;	memset(&clock, 0, sizeof(clock));	// Calculate the clock register values.	findClock(mode->pixel_clock * 2, &clock, display);	if (display == PANEL)	{		// Set clock value for panel.		register_table->clock			= (clock.mclk == 288000000				? FIELD_SET(0, CURRENT_POWER_CLOCK, P2XCLK_SELECT, 288)				: FIELD_SET(0, CURRENT_POWER_CLOCK, P2XCLK_SELECT, 336))			| (clock.divider == 1				? FIELD_SET(0, CURRENT_POWER_CLOCK, P2XCLK_DIVIDER, 1)				: (clock.divider == 3					? FIELD_SET(0, CURRENT_POWER_CLOCK, P2XCLK_DIVIDER, 3)					: FIELD_SET(0, CURRENT_POWER_CLOCK, P2XCLK_DIVIDER, 5)))			| FIELD_VALUE(0, CURRENT_POWER_CLOCK, P2XCLK_SHIFT, clock.shift);		// Set control register value.		register_table->control			= (mode->vertical_sync_polarity == POSITIVE				? FIELD_SET(0, PANEL_DISPLAY_CTRL, VSYNC_PHASE, ACTIVE_HIGH)				: FIELD_SET(0, PANEL_DISPLAY_CTRL, VSYNC_PHASE, ACTIVE_LOW))			| (mode->horizontal_sync_polarity == POSITIVE				? FIELD_SET(0, PANEL_DISPLAY_CTRL, HSYNC_PHASE, ACTIVE_HIGH)				: FIELD_SET(0, PANEL_DISPLAY_CTRL, HSYNC_PHASE, ACTIVE_LOW))			| FIELD_SET(0, PANEL_DISPLAY_CTRL, TIMING, ENABLE)			| FIELD_SET(0, PANEL_DISPLAY_CTRL, PLANE, ENABLE)			| (bpp == 8				? FIELD_SET(0, PANEL_DISPLAY_CTRL, FORMAT, 8)				: (bpp == 16					? FIELD_SET(0, PANEL_DISPLAY_CTRL, FORMAT, 16)					: FIELD_SET(0, PANEL_DISPLAY_CTRL, FORMAT, 32)));		// Set timing registers.		register_table->horizontal_total			= FIELD_VALUE(0, PANEL_HORIZONTAL_TOTAL, TOTAL,						  mode->horizontal_total - 1)			| FIELD_VALUE(0, PANEL_HORIZONTAL_TOTAL, DISPLAY_END, 						  mode->horizontal_display_end - 1);		register_table->horizontal_sync			= FIELD_VALUE(0, PANEL_HORIZONTAL_SYNC, WIDTH,						  mode->horizontal_sync_width)			| FIELD_VALUE(0, PANEL_HORIZONTAL_SYNC, START, 						  mode->horizontal_sync_start - 1);		register_table->vertical_total  			= FIELD_VALUE(0, PANEL_VERTICAL_TOTAL, TOTAL, 						  mode->vertical_total - 1)			| FIELD_VALUE(0, PANEL_VERTICAL_TOTAL, DISPLAY_END, 						  mode->vertical_display_end - 1);		register_table->vertical_sync    			= FIELD_VALUE(0, PANEL_VERTICAL_SYNC, HEIGHT, 						  mode->vertical_sync_height)			| FIELD_VALUE(0, PANEL_VERTICAL_SYNC, START, 						  mode->vertical_sync_start - 1);	}	else	{		// Set clock value for CRT.		register_table->clock			= (clock.mclk == 288000000				? FIELD_SET(0, CURRENT_POWER_CLOCK, V2XCLK_SELECT, 288)				: FIELD_SET(0, CURRENT_POWER_CLOCK, V2XCLK_SELECT, 336))			| (clock.divider == 1				? FIELD_SET(0, CURRENT_POWER_CLOCK, V2XCLK_DIVIDER, 1)				: FIELD_SET(0, CURRENT_POWER_CLOCK, V2XCLK_DIVIDER, 3))			| FIELD_VALUE(0, CURRENT_POWER_CLOCK, V2XCLK_SHIFT, clock.shift);		// Set control register value.		register_table->control 			= (mode->vertical_sync_polarity == POSITIVE				? FIELD_SET(0, CRT_DISPLAY_CTRL, VSYNC_PHASE, ACTIVE_HIGH)				: FIELD_SET(0, CRT_DISPLAY_CTRL, VSYNC_PHASE, ACTIVE_LOW))			| (mode->horizontal_sync_polarity == POSITIVE				? FIELD_SET(0, CRT_DISPLAY_CTRL, HSYNC_PHASE, ACTIVE_HIGH)				: FIELD_SET(0, CRT_DISPLAY_CTRL, HSYNC_PHASE, ACTIVE_LOW))			| FIELD_SET(0, CRT_DISPLAY_CTRL, SELECT, CRT)			| FIELD_SET(0, CRT_DISPLAY_CTRL, TIMING, ENABLE)			| FIELD_SET(0, CRT_DISPLAY_CTRL, PLANE, ENABLE)			| (bpp == 8				? FIELD_SET(0, CRT_DISPLAY_CTRL, FORMAT, 8)				: (bpp == 16					? FIELD_SET(0, CRT_DISPLAY_CTRL, FORMAT, 16)					: FIELD_SET(0, CRT_DISPLAY_CTRL, FORMAT, 32)));		// Set timing registers.		register_table->horizontal_total			= FIELD_VALUE(0, CRT_HORIZONTAL_TOTAL, TOTAL, 						  mode->horizontal_total - 1)			| FIELD_VALUE(0, CRT_HORIZONTAL_TOTAL, DISPLAY_END, 						  mode->horizontal_display_end - 1);		register_table->horizontal_sync  			= FIELD_VALUE(0, CRT_HORIZONTAL_SYNC, WIDTH, 						  mode->horizontal_sync_width)			| FIELD_VALUE(0, CRT_HORIZONTAL_SYNC, START, 						  mode->horizontal_sync_start - 1);		register_table->vertical_total   			= FIELD_VALUE(0, CRT_VERTICAL_TOTAL, TOTAL, 						  mode->vertical_total - 1)			| FIELD_VALUE(0, CRT_VERTICAL_TOTAL, DISPLAY_END, 						  mode->vertical_display_end - 1);		register_table->vertical_sync    			= FIELD_VALUE(0, CRT_VERTICAL_SYNC, HEIGHT, 						  mode->vertical_sync_height)			| FIELD_VALUE(0, CRT_VERTICAL_SYNC, START, 						  mode->vertical_sync_start - 1);	}	// Calculate frame buffer width and height.	register_table->fb_width = mode->horizontal_display_end * (bpp / 8);	register_table->width = mode->horizontal_display_end;	register_table->height = mode->vertical_display_end;	// Save display type.	register_table->display = display;}/*void setModeRegisters(reg_table_t *register_table, mode_table_t *mode, display_t display, int bpp){	clock_select_t clock;	memset(&clock, 0, sizeof(clock));	// Calculate the clock register values.	findClock(mode->pixel_clock * 2, &clock, display);	{		// Set clock value for CRT	 register_table->clock			= (clock.mclk == 288000000				? FIELD_SET(0, CURRENT_POWER_CLOCK, V2XCLK_SELECT, 288)				: FIELD_SET(0, CURRENT_POWER_CLOCK, V2XCLK_SELECT, 336))			| (clock.divider == 1				? FIELD_SET(0, CURRENT_POWER_CLOCK, V2XCLK_DIVIDER, 1)				: FIELD_SET(0, CURRENT_POWER_CLOCK, V2XCLK_DIVIDER, 3))			| FIELD_VALUE(0, CURRENT_POWER_CLOCK, V2XCLK_SHIFT, clock.shift);		// Set control register value.		register_table->control 			= (mode->vertical_sync_polarity == POSITIVE				? FIELD_SET(0, CRT_DISPLAY_CTRL, VSYNC_PHASE, ACTIVE_HIGH)				: FIELD_SET(0, CRT_DISPLAY_CTRL, VSYNC_PHASE, ACTIVE_LOW))			| (mode->horizontal_sync_polarity == POSITIVE				? FIELD_SET(0, CRT_DISPLAY_CTRL, HSYNC_PHASE, ACTIVE_HIGH)				: FIELD_SET(0, CRT_DISPLAY_CTRL, HSYNC_PHASE, ACTIVE_LOW))			| FIELD_SET(0, CRT_DISPLAY_CTRL, SELECT, CRT)			| FIELD_SET(0, CRT_DISPLAY_CTRL, TIMING, ENABLE)			| FIELD_SET(0, CRT_DISPLAY_CTRL, PLANE, ENABLE)			| (bpp == 8				? FIELD_SET(0, CRT_DISPLAY_CTRL, FORMAT, 8)				: (bpp == 16					? FIELD_SET(0, CRT_DISPLAY_CTRL, FORMAT, 16)					: FIELD_SET(0, CRT_DISPLAY_CTRL, FORMAT, 32)));		// Set timing registers.		register_table->horizontal_total			= FIELD_VALUE(0, CRT_HORIZONTAL_TOTAL, TOTAL, 						  mode->horizontal_total - 1)			| FIELD_VALUE(0, CRT_HORIZONTAL_TOTAL, DISPLAY_END, 						  mode->horizontal_display_end - 1);		register_table->horizontal_sync  			= FIELD_VALUE(0, CRT_HORIZONTAL_SYNC, WIDTH, 						  mode->horizontal_sync_width)			| FIELD_VALUE(0, CRT_HORIZONTAL_SYNC, START, 						  mode->horizontal_sync_start - 1);		register_table->vertical_total   			= FIELD_VALUE(0, CRT_VERTICAL_TOTAL, TOTAL, 						  mode->vertical_total - 1)			| FIELD_VALUE(0, CRT_VERTICAL_TOTAL, DISPLAY_END, 						  mode->vertical_display_end - 1);		register_table->vertical_sync    			= FIELD_VALUE(0, CRT_VERTICAL_SYNC, HEIGHT, 						  mode->vertical_sync_height)			| FIELD_VALUE(0, CRT_VERTICAL_SYNC, START, 						  mode->vertical_sync_start - 1);	}	// Calculate frame buffer width and height.	register_table->fb_width = mode->horizontal_display_end * (bpp / 8);		register_table->width = mode->horizontal_display_end;			register_table->height = mode->vertical_display_end;	// Save display type.	register_table->display = display;}*/mode_table_t *findMode(mode_table_t *mode_table, int width, int height, long refresh_rate){	// Walk the entire mode table.	while (mode_table->pixel_clock != 0)	{		// If this mode matches the requested mode, return it!		if ((mode_table->horizontal_display_end == width)		&& (mode_table->vertical_display_end == height)		&& (mode_table->vertical_frequency == refresh_rate))		{			return(mode_table);		}		// Next entry in the mode table.		mode_table++;	}	// No mode found.	return(NULL);}void SetMode(int nWidth, int nHeight, long nHertz, display_t display, int bpp){	mode_table_t 	mode;	pmode_table_t 	vesaMode;	reg_table_t		register_table;	// Locate the mode	vesaMode = findMode(mode_table, nWidth, nHeight, nHertz);	if (vesaMode != NULL)	{		//正常vesaMode為非空		// Convert VESA timing into Voyager timing		adjustMode(vesaMode, &mode, display);   		// Fill the register structure		setModeRegisters(&register_table, &mode, display, bpp);		// Program the registers		programMode(&register_table);	}}//顯存軟件配置void dram_config(unsigned char size){		switch(size)		{			case 2:				regWrite32(DRAM_CTRL, FIELD_SET(0, DRAM_CTRL, SIZE, 2));				break;			case 4:				regWrite32(DRAM_CTRL, FIELD_SET(0, DRAM_CTRL, SIZE, 4));				break;			case 8:				regWrite32(DRAM_CTRL, FIELD_SET(0, DRAM_CTRL, SIZE, 8));				break;			case 16:				regWrite32(DRAM_CTRL, FIELD_SET(0, DRAM_CTRL, SIZE, 16));				break;			case 32:				regWrite32(DRAM_CTRL, FIELD_SET(0, DRAM_CTRL, SIZE, 32));				break;			case 64:			 // regWrite32(DRAM_CTRL, FIELD_SET(0, DRAM_CTRL, CPU_SIZE, 64));				regWrite32(DRAM_CTRL, FIELD_SET(0, DRAM_CTRL, SIZE, 64));				break;			}	}//改變顯存的起始地址void set_frame_fbinfo(int x, int y, int fb_type, display_t display){    static unsigned int gdfTab[] = { 1, 2, 2, 4, 3, 1 };	u_long				fb_address;	sm501.winSizeX = x;	sm501.winSizeY = y;	sm501.gdfBytesPP = gdfTab[fb_type];	sm501.gdfIndex = fb_type;	if (display == PANEL) 		fb_address = FIELD_GET(regRead32(PANEL_FB_ADDRESS), PANEL_FB_ADDRESS, ADDRESS);	else		fb_address = FIELD_GET(regRead32(CRT_FB_ADDRESS), CRT_FB_ADDRESS, ADDRESS);	sm501.frameAdrs = fb_address + CONFIG_SM501_MEM_BASE;	Uart_Printf("sm501 frame address start = 0x%x\n", sm501.frameAdrs);}void dram_addrss(unsigned long addressoffset){	CONFIG_SM501_MEM_BASE = 0x20000000+addressoffset;	regWrite32(CRT_FB_ADDRESS,FIELD_VALUE(0, CRT_FB_ADDRESS, ADDRESS, addressoffset));}static void sm501_disable_controller(display_t display){	ulong		panel_ctrl;//if (display == CRT)	 {		panel_ctrl = regRead32(CRT_DISPLAY_CTRL);		panel_ctrl = FIELD_SET(panel_ctrl, CRT_DISPLAY_CTRL, PLANE, DISABLE);		panel_ctrl = FIELD_SET(panel_ctrl, CRT_DISPLAY_CTRL, BLANK, ON);		regWrite32(CRT_DISPLAY_CTRL, panel_ctrl);	}}static void sm501_enable_controller(display_t display){	u_long panel_ctrl = 0;		if (display == CRT)	{		panel_ctrl = regRead32(CRT_DISPLAY_CTRL);		Uart_Printf("Enabling CRT controller\n");		panel_ctrl = FIELD_SET(panel_ctrl, CRT_DISPLAY_CTRL, PLANE, ENABLE);		panel_ctrl = FIELD_SET(panel_ctrl, CRT_DISPLAY_CTRL, BLANK, OFF);		regWrite32(CRT_DISPLAY_CTRL, panel_ctrl);	}	else if(display == PANEL)	{		//regWrite32(PANEL_DISPLAY_CTRL,0x410305);			    panel_ctrl = regRead32(PANEL_DISPLAY_CTRL);	    panel_ctrl = FIELD_SET(panel_ctrl, PANEL_DISPLAY_CTRL, PLANE, ENABLE);	    regWrite32(PANEL_DISPLAY_CTRL, panel_ctrl);	}	}//設置顯示分辨率void *video_hw_init (void){ 	int		i;	int 	detect;	int		XRES;	int 	YRES;	int 	BPP;	int		HZ;		int		DEVICE;	sm501Reg = (char *)CONFIG_SM501_REG_BASE;  	sm501Mem = (char *)CONFIG_SM501_MEM_BASE;	if((detect = sm501_detect()) == -1)  		//Detect SM501 ID		return NULL;	XRES = mode_table[sm501mode - 1].horizontal_display_end;	YRES = mode_table[sm501mode - 1].vertical_display_end;	HZ = mode_table[sm501mode - 1].vertical_frequency;	BPP = sm501bpp;	if(!sm501out)		DEVICE = CRT;	else		DEVICE = PANEL;	error = 0;	for(i = 0;i < 10; i++)	{		SetMode(XRES, YRES, HZ, DEVICE, BPP);		if(!error)			break;		else			error = 0;	}	dram_config(16);	set_frame_fbinfo(XRES, YRES, FBTYPE_16BIT_565RGB, PANEL);//..	sm501_enable_controller(DEVICE);//..	sm501info.Bpp = 2;	sm501info.bitsPerPixel = 16;	sm501info.width = XRES;	sm501info.height = YRES;	return &sm501;}void video_set_lut ( unsigned int index,unsigned char r, unsigned char g, unsigned char b){	regWrite32(index * 4 + CRT_PALETTE_RAM, RGB(r, g , b ));}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99国产精品免费网站| 欧亚洲嫩模精品一区三区| 欧美日韩高清在线播放| 男人的j进女人的j一区| 亚洲三级在线免费观看| 日韩女同互慰一区二区| 99re成人在线| 国产成人精品免费| 免费欧美在线视频| 亚洲精品中文在线影院| 欧美精彩视频一区二区三区| 91免费观看视频| av一区二区三区四区| ...xxx性欧美| 不卡大黄网站免费看| 蜜桃av一区二区三区电影| 亚洲精品国久久99热| 91免费观看视频在线| 国产成人精品午夜视频免费| 日韩激情视频网站| 日韩精品免费视频人成| 91麻豆精品国产91久久久久| 午夜精品久久久久久久久| 亚洲欧美偷拍三级| 在线亚洲一区二区| 日日摸夜夜添夜夜添国产精品 | 91麻豆精品国产自产在线观看一区 | 性欧美大战久久久久久久久| 一区二区三区四区精品在线视频| 懂色av一区二区夜夜嗨| 亚洲日本免费电影| 91精品国产高清一区二区三区蜜臀| 91国在线观看| 91麻豆精品国产无毒不卡在线观看| 日本大胆欧美人术艺术动态| 老司机午夜精品99久久| 久久精品72免费观看| 国产精品一区二区三区乱码 | 精品视频全国免费看| 欧美一级免费观看| 久久在线观看免费| 亚洲免费在线视频一区 二区| 欧美日韩精品是欧美日韩精品| 极品少妇一区二区三区精品视频| 国产精品盗摄一区二区三区| 一区二区欧美视频| 国产一区二区三区免费| 91丨porny丨户外露出| 欧美日韩中文国产| 国产丝袜欧美中文另类| 午夜视频久久久久久| 国产成人精品三级麻豆| 欧美在线免费观看视频| 久久精品欧美一区二区三区麻豆 | 久久久久久久国产精品影院| 91丝袜国产在线播放| 国产成人精品免费一区二区| 美女在线观看视频一区二区| 亚洲国产三级在线| 国产乱码精品一区二区三区av| 在线视频综合导航| 国产精品蜜臀av| 国产乱码精品一区二区三区av| 欧美日韩一区二区三区不卡| 国产精品卡一卡二卡三| 久久国产精品99久久人人澡| 亚洲.国产.中文慕字在线| 95精品视频在线| 日本高清不卡视频| 亚洲天堂av一区| 91网址在线看| 亚洲乱码国产乱码精品精98午夜 | 欧美日韩一区二区在线观看视频| 国产欧美一区视频| 中文字幕一区二区在线观看| 国产高清成人在线| 欧美激情资源网| 99久精品国产| 亚洲愉拍自拍另类高清精品| 99精品国产视频| 亚洲国产一区二区在线播放| 日本道免费精品一区二区三区| 综合欧美亚洲日本| 色成年激情久久综合| 制服丝袜亚洲播放| 久久久国产综合精品女国产盗摄| 国产人伦精品一区二区| 波多野结衣精品在线| 欧美日韩国产精品成人| 亚洲国产成人va在线观看天堂| 欧美日韩午夜在线视频| 国产日韩精品一区二区三区在线| av电影天堂一区二区在线观看| 7777精品伊人久久久大香线蕉最新版| 亚洲国产一区二区视频| 日韩午夜三级在线| 一区二区在线观看视频在线观看| 欧美三级韩国三级日本三斤| 麻豆91在线观看| 欧美性淫爽ww久久久久无| 美女一区二区视频| 亚洲蜜臀av乱码久久精品蜜桃| 国内外成人在线| 亚洲国产精品尤物yw在线观看| 精品国产电影一区二区| 色av成人天堂桃色av| 久国产精品韩国三级视频| 中文字幕成人av| 日韩一区二区免费在线电影| 91偷拍与自偷拍精品| 国产成人在线观看| 麻豆精品在线播放| 丝袜美腿一区二区三区| 国产精品不卡一区| av在线综合网| 国产麻豆欧美日韩一区| 日韩欧美中文字幕公布| 欧美中文字幕不卡| 天堂av在线一区| 亚洲午夜激情网页| 亚洲精品乱码久久久久久日本蜜臀| 精品国产乱码久久久久久图片| 欧美日本乱大交xxxxx| 91福利视频网站| 三级在线观看一区二区| 欧美人牲a欧美精品| 欧美日韩你懂得| 亚洲激情图片小说视频| 欧美在线一二三四区| 国产成人久久精品77777最新版本| 久久久久久久综合| 久久久99久久精品欧美| 久久亚洲私人国产精品va媚药| 2024国产精品| 国产精品国产三级国产aⅴ原创| 国产精品国产三级国产a| 亚洲人成网站精品片在线观看| 亚洲欧美成aⅴ人在线观看| 欧美日韩高清在线播放| 日韩欧美在线综合网| 99久久国产综合精品女不卡 | 奇米四色…亚洲| 国产毛片精品视频| 一区二区三区四区av| 婷婷久久综合九色国产成人| 国产女同性恋一区二区| 国产精品久久久久毛片软件| 一区二区三区四区亚洲| 琪琪久久久久日韩精品| 成人午夜视频免费看| 免费在线观看精品| 亚洲成人动漫在线观看| 国产乱码精品一区二区三| 欧美在线播放高清精品| 26uuu亚洲综合色欧美| 欧美日韩综合一区| 在线影视一区二区三区| 欧美变态凌虐bdsm| 亚洲成人av在线电影| 一区二区三区日韩在线观看| 日韩高清不卡一区二区| 日本sm残虐另类| 色综合久久久网| 久久久精品免费网站| 日韩av网站免费在线| 日本va欧美va精品发布| 首页国产丝袜综合| 免费成人在线网站| 欧美男生操女生| 亚洲午夜羞羞片| 青青草97国产精品免费观看无弹窗版| 亚洲精品亚洲人成人网在线播放| 亚洲国产精品v| 国产福利91精品| 久久久久国产成人精品亚洲午夜| 免费成人在线观看视频| 91精品在线一区二区| 亚洲一区在线观看网站| 欧美无砖砖区免费| 午夜精品国产更新| 国内国产精品久久| 久久精品人人爽人人爽| 亚洲欧美一区二区三区久本道91| 国产激情视频一区二区在线观看 | 91美女在线视频| 亚洲一区二区在线观看视频| 色欧美乱欧美15图片| 精品美女一区二区| 久久国产精品色婷婷| 精品国产第一区二区三区观看体验| 国产精品久久久久婷婷二区次| 国产一区二区主播在线| 夜夜精品浪潮av一区二区三区| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲国产另类av| 国产高清无密码一区二区三区| 国产色一区二区| 国产欧美一区二区精品性色超碰| 国产精品一区二区三区四区| 26uuu国产在线精品一区二区|