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

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

?? at9263.h

?? can4linux-3.5.3.gz can4 linux
?? H
字號:
/* * at9263.h - can4linux CAN driver module * * This file is subject to the terms and conditions of the GNU General Public * License.  See the file "COPYING" in the main directory of this archive * for more details. * * Copyright (c) 2007 port GmbH Halle/Saale *------------------------------------------------------------------ * $Header: /z2/cvsroot/products/0530/software/can4linux/src/at9263.h,v 1.1 2008/11/23 12:06:36 oe Exp $ * *-------------------------------------------------------------------------- * * * modification history * -------------------- * * * *-------------------------------------------------------------------------- */#ifndef __AT9263_CAN_H#define __AT9263_CAN_Hextern  upointer_t Base[];/* can4linux does not use all the full CAN features, partly because it doesn't   make sense. *//* We use only one transmit object for all messages to be transmitted */#define TRANSMIT_OBJ		0#define RECEIVE_STD_OBJ 	1#define RECEIVE_EXT_OBJ 	4#define RECEIVE_RTR_OBJ 	8#define RECEIVE_EXT_RTR_OBJ 	12#define CAN_LAST_OBJ 15		/* 16 Mailboxes available *//* Makros to manipulate CAN control registers */#define CAN_READ(reg)			(reg)#define CAN_WRITE(reg, source)		((reg) = (source))#define CAN_SET_BIT(reg, mask)		((reg) |= (mask))#define CAN_RESET_BIT(reg, mask)	((reg) &= ~(mask))#define CAN_TEST_BIT(breg, mask)	((breg) & (mask))/*=== Register Layout of the ATMEL CAN module ==============================*//* access is two byte, each register is on a 4 byte boundary             */typedef struct {	volatile u32	mode;		/* mode register */	volatile u32	ier;		/* interrupt enble register */	volatile u32	idr		/* interrupt disable register */;	volatile u32	imr		/* interrupt mask register */;	volatile u32	sr;		/* status register */	volatile u32	br;		/* baud rate register */	volatile u32	tim;	volatile u32	timestp;	volatile u32	ecr;		/* error counter register */	volatile u32	tcr;	volatile u32	acr;} at9263can_t;/* We have different CAN structures for different CAN Controllers * like BF_CAN, TouCan, FlexCan, ATMEL CAN * to be used with - * - CANopen library without OS we use global pointers *   bf_can, tou_can, at_can, ... * - in can4linux we use the generic name canregs_t *   (this name is used also in the sja1000 driver) * * All basic register macros /can_def.h) are based on that name *//* typedef bf_can_t canregs_t; */typedef at9263can_t canregs_t;/* Register access macros */#define CAN_Mode			(at_can->mode)#define CAN_InterruptEnableRegister	(at_can->ier)#define CAN_InterruptDisableRegister	(at_can->idr)#define CAN_InterruptMaskRegister	(at_can->imr)#define CAN_StatusRegister		(at_can->sr)#define CAN_BaudrateRegister		(at_can->br)#define CAN_TimerRegister		(at_can->tim)#define CAN_TimeStampRegister		(at_can->timestp)#define CAN_ErrorCounterRegister	(at_can->ecr)#define CAN_TransferCommandRegister	(at_can->tcr)#define CAN_AbortCommandRegister	(at_can->acr)/* CAN register mask definitions  *//* CAN Mode Register CANREG_MR */# define CANBIT_MR_DRPT		0x00000080ul# define CANBIT_MR_TIMFRZ	0x00000040ul# define CANBIT_MR_TTM		0x00000020ul# define CANBIT_MR_TEOF		0x00000010ul# define CANBIT_MR_OVL		0x00000008ul# define CANBIT_MR_ABM		0x00000004ul# define CANBIT_MR_LPM		0x00000002ul# define CANBIT_MR_CANEN	0x00000001ul# define CANBIT_MR_CANDIS	0x00000000ul/* Interrupt Enable Register CANREG_IER	*//* Interrupt Disable Register CANREG_IDR *//* Interrupt Mask Register CANREG_IMR */# define CANBIT_IR_BERR		0x10000000ul# define CANBIT_IR_FERR		0x08000000ul# define CANBIT_IR_AERR		0x04000000ul# define CANBIT_IR_SERR		0x02000000ul# define CANBIT_IR_CERR		0x01000000ul# define CANBIT_IR_TSTP		0x00800000ul# define CANBIT_IR_TOVF		0x00400000ul# define CANBIT_IR_WAKEUP	0x00200000ul# define CANBIT_IR_SLEEP	0x00100000ul# define CANBIT_IR_BOFF		0x00080000ul# define CANBIT_IR_ERRP		0x00040000ul# define CANBIT_IR_WARN		0x00020000ul# define CANBIT_IR_ERRA		0x00010000ul# define CANBIT_IR_MB(ch)	(1ul << ch)/* CAN Status Register CANREG_SR */# define CANBIT_SR_OVLSY	0x80000000ul# define CANBIT_SR_TBSY		0x40000000ul# define CANBIT_SR_RBSY		0x20000000ul# define CANBIT_SR_RBSY		0x20000000ul# define CANBIT_SR_BERR		0x10000000ul# define CANBIT_SR_FERR		0x08000000ul# define CANBIT_SR_AERR		0x04000000ul# define CANBIT_SR_SERR		0x02000000ul# define CANBIT_SR_CERR		0x01000000ul# define CANBIT_SR_TSTP		0x00800000ul# define CANBIT_SR_TOVF		0x00400000ul# define CANBIT_SR_WAKEUP	0x00200000ul# define CANBIT_SR_SLEEP	0x00100000ul# define CANBIT_SR_BOFF		0x00080000ul# define CANBIT_SR_ERRP		0x00040000ul# define CANBIT_SR_WARN		0x00020000ul# define CANBIT_SR_ERRA		0x00010000ul# define CANBIT_SR_MB_MSK	0x0000FFFFul# define CANBIT_SR_MB(ch)	(1ul << ch)/* CAN Message Mode Register CAN_CH_MMR */# define CANBIT_MMR_MOT_MSK		0x07000000ul# define CANBIT_MMR_MOT_DISABLE		0x00000000ul# define CANBIT_MMR_MOT_RX		0x01000000ul# define CANBIT_MMR_MOT_RX_OVL		0x02000000ul# define CANBIT_MMR_MOT_TX		0x03000000ul# define CANBIT_MMR_MOT_RX_RTR		0x04000000ul# define CANBIT_MMR_MOT_TX_RTR		0x05000000ul# define CANBIT_MMR_PRIOR_MSK		0x000F0000ul# define CANBIT_MMR_MTIMEMARK_MSK	0x0000FFFFul/* CAN Message Status Register CAN_CH_MSR */# define CANBIT_MSR_MMI		0x01000000ul# define CANBIT_MSR_MRDY	0x00800000ul# define CANBIT_MSR_MABT	0x00400000ul# define CANBIT_MSR_MRTR	0x00100000ul# define CANBIT_MSR_MDLC_MSK	0x000F0000ul# define CANBIT_MSR_MDLC_POS	16/* CAN Message Control Register CAN_CH_MCR */# define CANBIT_MCR_MTCR	0x00800000ul	/* Mailbox Transfer Command   */# define CANBIT_MCR_MACR	0x00400000ul	/* Mailbox Abort Request      */# define CANBIT_MCR_MRTR	0x00100000ul	/* Mailbox RTR Request        */# define CANBIT_MCR_MDLC_POS	16		/* DLC code bit position      */#if 0/* Mailbox acceptance mask registers */typedef struct {    u16 aml;		/* mailbox acceptance mask low		*/    u16 dummy1;    u16 amh;		/* mailbox acceptance mask high		*/    u16 dummy2;} mask_t;#define CAN_MASK \   ((mask_t volatile *) ((void *)(can_base[minor] + 0x100)) )#endif/* * Macros to handle CAN message objects * * Structure for a single CAN object * A total of 16 such object structures exists * (starting at AT91SAM9263_BASE_CAN + 0x200) * ( 0xfffac200 ) */struct can_obj {    u32 mmr;		/* Mailbox Mode Register */    u32 mam;		/* Mailbox Acceptance Register */    u32 mid;		/* Mailbox ID Register */    u32 mfid;		/* Mailbox Family ID Register */    u32 msr;		/* Mailbox Status Register */    u32 mdl;		/* Mailbox Data Low Register */    u32 mdh;		/* Mailbox Data High Register */    u32 mcr;		/* Mailbox Control Register */};/* #define CAN_ID_RTR_BIT	0x4000 */#define CAN_ID_EXT_BIT	0x20000000ul/* #define	CAN_AME		0x8000 *//* Acceptance Mask Enable		*/ /* The firs data byte of a message */#define MSG0 msg[0]/* CAN object definition */#define CAN_OBJ \   ((struct can_obj volatile *) ((void *)(can_base[minor] + 0x200)) )/* --------------------------------------------------------------------------- * CAN_READ_OID(obj) is a macro to read the CAN-ID of the specified object. * It delivers the value as 16 bit from the standard ID registers. */#define CAN_READ_OID(bChannel) ((CAN_OBJ[bChannel].mid & 0x03fc0000) >> 18)#define CAN_READ_XOID(bChannel) (CAN_OBJ[bChannel].mid & 0x1fffffff) /* --------------------------------------------------------------------------- * CAN_WRITE_OID(obj, id) is a macro to write the CAN-ID * of the specified object with identifier id. * CAN_WRITE_XOID(obj, id) is a macro to write the extended CAN-ID */#define CAN_WRITE_OID(bChannel, Id) \	    (CAN_OBJ[bChannel].mid = ((Id) << 18))#define CAN_WRITE_XOID(bChannel, Id)  \	    (CAN_OBJ[bChannel].mid = ((Id) + CAN_ID_EXT_BIT))/* --------------------------------------------------------------------------- * CAN_WRITE_OID_RTR(obj, id) is a macro to write the CAN-ID * of the specified object with identifier id and set the RTR Bit. */#define CAN_WRITE_OID_RTR(bChannel, Id) \#define CAN_WRITE_XOID_RTR(bChannel, Id)  \/* --------------------------------------------------------------------------- * CAN_WRITE_CTRL(obj, code, length) is a macro to write to the  * specified objects control register * * Writes 2 byte, TIME STAMP is overwritten with 0. */#define CAN_WRITE_CTRL(bChannel, length) \	(CAN_OBJ[bChannel].dlc = (length))/* * CAN Bit Timing definitions *//* Bittiming Table ---------------------------------------------------------------------------*/typedef struct {	u16 rate;	u32 btr;} BTR_TAB_AT91_T;enum can_state {active, passive, busoff};/** Bittiming Table ** e.g. AT91SAM7A3 the CONFIG_CAN_T_CLK is the CORECLK**//* BRP .. 7bit Prescaler , SMP == 1, SYNC == 1  * PROP > 400ns (2x Receiver delay) not checked * (depends on your hardware) */#define CALC_MR(BRP, PROP, PSEG1, PSEG2)   \	( ((u32)0 << 24) /* SMP */| \	  ((u32)(BRP - 1) << 16) |  \	  ((u32)0 << 12) /* SYNC */ | \	  ((u32)(PROP - 1) << 8) |  \	  ((u32)(PSEG1 - 1) << 4) | \	  ((u32)(PSEG2 - 1) << 0) )#ifndef CAN_SYSCLK#  error Please specify a valid CAN_SYSCLK value (i.e. 48) \or define new parameters#endif    /* http://www.port.de/engl/canprod/sv_req_form.html     *  Freescale TouCAN is used */#if CAN_SYSCLK == 24#   define CAN_BTR_20K		CALC_MR(60, 8, 8, 3)#   define CAN_BTR_50K		CALC_MR(30, 6, 7, 2)#   define CAN_BTR_100K		CALC_MR(15, 6, 7, 2)#   define CAN_BTR_125K		CALC_MR(12, 6, 7, 2)#   define CAN_BTR_250K		CALC_MR( 6, 6, 7, 2)#   define CAN_BTR_500K		CALC_MR( 3, 6, 7, 2)#   define CAN_BTR_800K		CALC_MR( 2, 6, 6, 1)#   define CAN_BTR_1000K	CALC_MR( 3, 3, 3, 1) #   define CAN_SYSCLK_is_ok		1#elif (CAN_SYSCLK == 48)#   define CAN_BTR_20K		CALC_MR(120, 8, 8, 3)#   define CAN_BTR_50K		CALC_MR( 60, 6, 7, 2)#   define CAN_BTR_100K		CALC_MR( 30, 6, 7, 2)#   define CAN_BTR_125K		CALC_MR( 24, 6, 7, 2)#   define CAN_BTR_250K		CALC_MR( 12, 6, 7, 2)#   define CAN_BTR_500K		CALC_MR(  6, 6, 7, 2)#   define CAN_BTR_800K		CALC_MR(  4, 6, 6, 2)#   define CAN_BTR_1000K	CALC_MR(  3, 6, 7, 2) #   define CAN_SYSCLK_is_ok		1##elif (CAN_SYSCLK == 50)#   define CAN_BTR_20K		CALC_MR(120, 8, 8, 3)#   define CAN_BTR_50K		CALC_MR( 60, 6, 7, 2)#   define CAN_BTR_100K		CALC_MR( 30, 6, 7, 2)#   define CAN_BTR_125K		CALC_MR( 25, 6, 7, 2)#   define CAN_BTR_250K		CALC_MR( 12, 6, 7, 2)#   define CAN_BTR_500K		CALC_MR(  6, 6, 7, 2)#   define CAN_BTR_800K		CALC_MR(  4, 6, 6, 2)#   define CAN_BTR_1000K	CALC_MR(  3, 6, 7, 2) #   define CAN_SYSCLK_is_ok		1##elif (CAN_SYSCLK == 100)#   define CAN_BTR_20K		CALC_MR(250, 8, 8, 3)#   define CAN_BTR_50K		CALC_MR(125, 6, 7, 2)#   define CAN_BTR_100K		CALC_MR( 50, 8, 8, 3)#   define CAN_BTR_125K		CALC_MR( 50, 6, 7, 2)#   define CAN_BTR_250K		CALC_MR( 25, 6, 7, 2)#   define CAN_BTR_500K		CALC_MR( 10, 8, 8, 3)#   define CAN_BTR_800K		CALC_MR(  5, 8, 8, 8)#   define CAN_BTR_1000K	CALC_MR(  5, 8, 8, 3) #   define CAN_SYSCLK_is_ok		1#endif /* CONFIG_CAN_T_CLK == 24 */#ifndef CAN_SYSCLK_is_ok#  error Please specify a valid CAN_SYSCLK value (i.e. 48) or define new parameters#endif/* #define IODEBUG *//* Access Macros for register access. * can4linux tries to use always (if possible)  the same syntax * CANin(), CANout(), CANset(), .... * this makes it easiert to use code from the embedded CANopen  * drivers *//* using memory acces with readb(), writeb() *//* #error  memory I/O access *//* #define can_base Base */#ifdef IODEBUG#  define CANout(bd,adr,v)	\	(printk("Cout: (%x)=%x\n", (u32)&((canregs_t *)can_base[bd])->adr, v), \		writeb(v, (u32) &((canregs_t *)can_base[bd])->adr ))#define CANset(bd,adr,m)     do	{\	unsigned char v;	\        v = (readb((void __iomem *) &((canregs_t *)can_base[bd])->adr)); \	printk("CANset %x |= %x\n", (v), (m)); \	writeb( v | (m) , (u32) &((canregs_t *)can_base[bd])->adr ); \	} while (0)#define CANreset(bd,adr,m)	do {\	unsigned char v; \        v = (readb((u32) &((canregs_t *)can_base[bd])->adr)); \	printk("CANreset %x &= ~%x\n", (v), (m)); \	writeb( v & ~(m) , (u32) &((canregs_t *)can_base[bd])->adr ); \	} while (0)#define CANoutl(bd,adr,v)	\	(printk("Cout: (%x)=%lx\n", (u32)&((canregs_t *)can_base[bd])->adr, v),\		(writel(v, (u32) &((canregs_t *)can_base[bd])->adr )))#else   /* Memory Byte access */#define CANout(bd,adr,v)	\		(writeb(v, (void __iomem *) &((canregs_t *)can_base[bd])->adr ))#define CANset(bd,adr,m)	\	writeb((readb((void __iomem *) &((canregs_t *)can_base[bd])->adr)) \		| (m) , (void __iomem *) &((canregs_t *)can_base[bd])->adr )#define CANreset(bd,adr,m)	\	writeb((readb((void __iomem *) &((canregs_t *)can_base[bd])->adr)) \		& ~(m), (void __iomem *) &((canregs_t *)can_base[bd])->adr )#endif  /* IODEBUG */#define CANin(bd,adr)		\		(readb ((void __iomem *) &((canregs_t *)can_base[bd])->adr  ))#define CANtest(bd,adr,m)	\	(readb((void __iomem *) &((canregs_t *)can_base[bd])->adr  ) & (m) )   /* Memory word access */#define CANoutw(bd,adr,v)	\		(writew((v), (u32) &((canregs_t *)can_base[bd])->adr ))#define CANoutwd(bd,adr,v)	\	(printk("Cout: (%x)=%x\n", (u32)&((canregs_t *)can_base[bd])->adr, v), \		writew((v), (u32) &((canregs_t *)can_base[bd])->adr ))#define CANsetw(bd,adr,m)	\	writew((readw((u32) &((canregs_t *)can_base[bd])->adr)) \		| (m) , (u32) &((canregs_t *)can_base[bd])->adr )#define CANresetw(bd,adr,m)	\	writew((readw((u32) &((canregs_t *)can_base[bd])->adr)) \		& ~(m), (u32) &((canregs_t *)can_base[bd])->adr )#define CANinw(bd,adr)		\		(readw ((u32) &((canregs_t *)can_base[bd])->adr  ))#define CANinwd(bd,adr)		\	(printk("Cin: (%x)\n", (u32)&((canregs_t *)can_base[bd])->adr), \		readw ((u32) &((canregs_t *)can_base[bd])->adr  ))#define CANtestw(bd,adr,m)	\	(readw((u32) &((canregs_t *)can_base[bd])->adr  ) & (m) )   /* Memory long word access */#ifndef IODEBUG#define CANoutl(bd,adr,v)	\		(writel(v, (u32) &((canregs_t *)can_base[bd])->adr ))#endif#define CANsetl(bd,adr,m)	\	writel((readl((u32) &((canregs_t *)can_base[bd])->adr)) \		| (m) , (u32) &((canregs_t *)can_base[bd])->adr )#define CANresetl(bd,adr,m)	\	writel((readl((u32) &((canregs_t *)can_base[bd])->adr)) \		& ~(m), (u32) &((canregs_t *)can_base[bd])->adr )#define CANinl(bd,adr)		\		(readl ((u32) &((canregs_t *)can_base[bd])->adr  ))#define CANtestl(bd,adr,m)	\	(readl((u32) &((canregs_t *)can_base[bd])->adr  ) & (m) )#endif 		/* __AT9263_CAN_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲欧美一区在线观看| 亚洲在线观看免费视频| 亚洲免费观看在线视频| 另类人妖一区二区av| 99久免费精品视频在线观看 | 国产一区美女在线| 色婷婷亚洲综合| 国产午夜精品一区二区| 青青国产91久久久久久| 99在线热播精品免费| 久久久不卡网国产精品一区| 日韩激情在线观看| 欧美三级电影在线观看| 综合电影一区二区三区| 成人午夜电影网站| 久久人人97超碰com| 麻豆免费看一区二区三区| 欧美视频你懂的| 亚洲一区免费观看| 91在线云播放| 亚洲人成在线观看一区二区| 成人av集中营| 一区二区中文视频| 成人精品免费看| 国产精品女人毛片| 盗摄精品av一区二区三区| 久久久不卡影院| 成人一道本在线| 国产精品色呦呦| caoporn国产精品| 亚洲色图欧美在线| proumb性欧美在线观看| 中文字幕av资源一区| 高清日韩电视剧大全免费| 国产欧美日韩三级| www.亚洲免费av| 亚洲欧美色综合| 在线精品视频免费观看| 亚洲一区在线看| 69堂国产成人免费视频| 日韩福利电影在线| 欧美va在线播放| 国产福利一区二区| 国产精品三级久久久久三级| 91视频国产资源| 亚洲国产欧美另类丝袜| 日韩欧美一区二区在线视频| 久久国产综合精品| 中文字幕电影一区| 91国产丝袜在线播放| 一区二区成人在线视频| 69堂亚洲精品首页| 国产精品影视在线| 亚洲欧美色一区| 欧美男人的天堂一二区| 精品一区二区三区在线观看国产| 久久九九久久九九| 日本乱人伦aⅴ精品| 日韩精品视频网| 国产三级精品在线| 色久综合一二码| 精品亚洲国内自在自线福利| 国产精品天干天干在观线| 欧美性一二三区| 麻豆国产欧美一区二区三区| 国产精品久久夜| 91 com成人网| av资源站一区| 麻豆精品在线播放| 亚洲免费在线观看| 欧美电影免费观看高清完整版在| 高清国产一区二区三区| 视频精品一区二区| 中文字幕欧美激情一区| 欧美一区二区视频在线观看| 成人一级黄色片| 久久国产精品区| 亚洲国产欧美在线人成| 国产欧美一区二区三区沐欲| 欧美在线视频你懂得| 国产精品亚洲第一区在线暖暖韩国| 综合久久久久久| 2022国产精品视频| 欧美日韩一区二区三区在线看| 国产河南妇女毛片精品久久久 | 色悠悠久久综合| 久久99热99| 亚洲国产精品久久久久秋霞影院 | 777xxx欧美| 色噜噜狠狠色综合欧洲selulu| 激情五月播播久久久精品| 亚洲资源在线观看| 亚洲欧美另类图片小说| 久久精品男人天堂av| 日韩欧美一区二区视频| 欧美日韩精品免费| 在线视频一区二区免费| proumb性欧美在线观看| 风间由美一区二区av101| 蜜臀久久99精品久久久久久9| 亚洲午夜三级在线| 亚洲精品水蜜桃| 亚洲男人的天堂av| 《视频一区视频二区| 国产精品美女久久久久aⅴ国产馆| 精品国产三级a在线观看| 91精品国产91热久久久做人人| 色拍拍在线精品视频8848| 99re成人精品视频| 91亚洲国产成人精品一区二三 | 国产精品灌醉下药二区| 久久久久久久久免费| 精品国产一区二区三区久久久蜜月 | 精品久久久久一区| 日韩三级视频在线看| 欧美成人a在线| 久久在线观看免费| 精品久久久网站| 久久久精品一品道一区| 国产色综合一区| 中文字幕一区二区三区乱码在线| 亚洲国产精品传媒在线观看| 中文av一区二区| 久久精品国产99| 激情欧美一区二区| 丁香婷婷综合激情五月色| 大白屁股一区二区视频| eeuss鲁一区二区三区| 色综合天天综合在线视频| 欧美性猛交一区二区三区精品| 欧美精品在线一区二区| 日韩欧美一级二级| 亚洲国产精品av| 一区二区三区欧美视频| 视频一区在线播放| 国产麻豆91精品| 91女厕偷拍女厕偷拍高清| 欧美日韩亚洲国产综合| 精品久久久久久亚洲综合网| 国产欧美精品一区aⅴ影院| 亚洲欧洲综合另类| 日本成人在线网站| 国产91精品欧美| 欧美三级电影在线看| 亚洲精品一区二区三区精华液 | 国产成人av一区二区| 一本久道中文字幕精品亚洲嫩| 777奇米成人网| 国产精品免费aⅴ片在线观看| 亚洲自拍偷拍av| 国产乱码一区二区三区| 日本韩国欧美三级| 久久综合丝袜日本网| 亚洲欧美偷拍三级| 韩国成人在线视频| 日本丰满少妇一区二区三区| 精品精品国产高清a毛片牛牛| 亚洲色图20p| 国产精品资源站在线| 欧美日韩国产精品自在自线| 精品国产乱码久久久久久久久| 亚洲精品少妇30p| 国产乱码精品一区二区三区五月婷| 99精品热视频| 久久久精品国产99久久精品芒果| 亚洲v日本v欧美v久久精品| 国产成人亚洲精品狼色在线| 欧美色倩网站大全免费| 亚洲国产精品高清| 久久激情综合网| 欧美精品日韩一本| 中文字幕佐山爱一区二区免费| 久久99国产精品免费网站| 欧美视频中文一区二区三区在线观看| 久久久精品蜜桃| 久久精品国产澳门| 欧美日韩美少妇| 亚洲精品国产高清久久伦理二区| 国产福利一区二区三区视频 | 成人av高清在线| 日韩一级高清毛片| 亚洲国产aⅴ成人精品无吗| 99视频一区二区| 国产精品日韩成人| 国产精品原创巨作av| 精品国产乱码久久久久久老虎| 日本美女一区二区三区| 91精品国产综合久久小美女 | 国产精品美女久久久久久久久久久| 乱中年女人伦av一区二区| 欧美猛男超大videosgay| 亚洲乱码国产乱码精品精小说 | 奇米色777欧美一区二区| 91国偷自产一区二区三区成为亚洲经典 | 欧美日韩国产片| 亚洲一线二线三线久久久| 色综合久久久久综合体桃花网| 国产精品萝li| 99久久久久久| 亚洲乱码国产乱码精品精小说 |