⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pe_my_usbtable.c

📁 GM8120 linux driver.
💻 C
📖 第 1 页 / 共 5 页
字号:
///////////////////////////////////////////////////////////////////////////////////	File name: my_usbtable.c//	Version: 1.0//	Date: 2003/8/05////	Author: Andrew//	Email: yping@faraday.com.tw//	Phone: (03) 578-7888//	Company: Faraday Tech. Corp.////	Description: USB high & full speed descriptor table////		Device Descriptor (High Speed)//		|//		-- 1th CONFIGURATION Descriptor//		|	|//		|	-- 0th INTERFACE//		|	|	|//		|	|	-- 0th Alternate setting Descriptor//		|	|	|	|//		|	|	|	-- 1th EP descriptor//		|	|	|	|//		|	|	|	-- 2th EP descriptor//		|	|	|	|//		|	|	|	-- 3th EP descriptor//		|	|	|//		|	|	-- 1th Alternate setting Descriptor//		|	|//		|	-- 1th INTERFACE//		|		|//		|		.//		|		.//		|//		-- 2th CONFIGURATION Descriptor//			|//			.//			.//////		String00 descriptor//		String10 descriptor//			.//			./////////////////////////////////////////////////////////////////////////////////#define MY_USBTABLE_GLOBALS#include "Pe_usb.h"#include "Pe_my_usbtable.h"// High speed ConfigurationINT8U u8OTGHSDeviceDescriptor[DEVICE_LENGTH] ={	//	DEVICE descriptor	DEVICE_LENGTH,					// bLength	DT_DEVICE,						// bDescriptorType	mLowByte(HS_USB_SPEC_VER),			// bcdUSB	mHighByte(HS_USB_SPEC_VER),	HS_bDeviceClass,			    // bDeviceClass	HS_bDeviceSubClass,			    // bDeviceSubClass	HS_bDeviceProtocol,			    // bDeviceProtocol	EP0MAXPACKETSIZE,				// bMaxPacketSize0	mLowByte(HS_VENDOR_ID),			// idVendor	mHighByte(HS_VENDOR_ID),	mLowByte(HS_PRODUCT_ID),			// idProduct	mHighByte(HS_PRODUCT_ID),	mLowByte(HS_DEVICE_RELEASE_NO),	// bcdDeviceReleaseNumber	mHighByte(HS_DEVICE_RELEASE_NO),	HS_iManufacturer,			    // iManufacturer	HS_iProduct,				    // iProduct	HS_iSerialNumber, 			    // iSerialNumber	HS_CONFIGURATION_NUMBER			// bNumConfigurations};// High speed Configuration#if (HS_CONFIGURATION_NUMBER >= 1)// Configuration 1INT8U u8HSConfigOTGDescriptor01[HS_C1_CONFIG_TOTAL_LENGTH] ={	//	CONFIGURATION descriptor	CONFIG_LENGTH,					// bLength	DT_CONFIGURATION,				// bDescriptorType CONFIGURATION	mLowByte(HS_C1_CONFIG_TOTAL_LENGTH),	// wTotalLength, include all descriptors	mHighByte(HS_C1_CONFIG_TOTAL_LENGTH),	HS_C1_INTERFACE_NUMBER,			// bNumInterface	HS_C1,							// bConfigurationValue	HS_C1_iConfiguration,			// iConfiguration	HS_C1_bmAttribute,				// bmAttribute									// D7: Reserved(set to one), D6: Self-powered, D5: Remote Wakeup, D4..0: Reserved(reset to zero)	HS_C1_iMaxPower,				// iMaxPower (2mA / units)	#if (HS_C1_INTERFACE_NUMBER >= 1)		// Interface 0		#if (HS_C1_I0_ALT_NUMBER >= 1)			// Alternate Setting 0			INTERFACE_LENGTH,				// bLength			DT_INTERFACE,					// bDescriptorType INTERFACE			HS_C1_I0_A0_bInterfaceNumber,      // bInterfaceNumber			HS_C1_I0_A0_bAlternateSetting,	    // bAlternateSetting			HS_C1_I0_A0_EP_NUMBER,			// bNumEndpoints(excluding endpoint zero)			HS_C1_I0_A0_bInterfaceClass,	// bInterfaceClass			HS_C1_I0_A0_bInterfaceSubClass,// bInterfaceSubClass			HS_C1_I0_A0_bInterfaceProtocol,// bInterfaceProtocol			HS_C1_I0_A0_iInterface,		// iInterface			#if (HS_C1_I0_A0_EP_NUMBER >= 1)				// EP1				EP_LENGTH,						// bLength				DT_ENDPOINT,					// bDescriptorType ENDPOINT				(((1 - HS_C1_I0_A0_EP1_DIRECTION) << 7) | EP1),	// bEndpointAddress									// D7: Direction, 1=IN, 0=OUT									// D6..4: Reserved(reset to zero), D3..0: The endpointer number				HS_C1_I0_A0_EP1_TYPE,			// bmAttributes									// D1..0: Transfer Type 00=Control, 01=Isochronous, 10=Bulk, 11=Interrupt									// if not an isochronous endpoint, D7..2 are Reserved				mLowByte(HS_C1_I0_A0_EP1_MAX_PACKET),	// wMaxPacketSize				mHighByte(HS_C1_I0_A0_EP1_MAX_PACKET),				HS_C1_I0_A0_EP1_bInterval,			// Interval for polling endpoint for data transfers.			#endif			#if (HS_C1_I0_A0_EP_NUMBER >= 2)				// EP2				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A0_EP2_DIRECTION) << 7) | EP2),				HS_C1_I0_A0_EP2_TYPE,					mLowByte(HS_C1_I0_A0_EP2_MAX_PACKET),				mHighByte(HS_C1_I0_A0_EP2_MAX_PACKET),				HS_C1_I0_A0_EP2_bInterval,			#endif			#if (HS_C1_I0_A0_EP_NUMBER >= 3)				// EP3				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A0_EP3_DIRECTION) << 7) | EP3),				HS_C1_I0_A0_EP3_TYPE,					mLowByte(HS_C1_I0_A0_EP3_MAX_PACKET),				mHighByte(HS_C1_I0_A0_EP3_MAX_PACKET),				HS_C1_I0_A0_EP3_bInterval,			#endif			#if (HS_C1_I0_A0_EP_NUMBER >= 4)				// EP4				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A0_EP4_DIRECTION) << 7) | EP4),				HS_C1_I0_A0_EP4_TYPE,					mLowByte(HS_C1_I0_A0_EP4_MAX_PACKET),				mHighByte(HS_C1_I0_A0_EP4_MAX_PACKET),				HS_C1_I0_A0_EP4_bInterval,			#endif			#if (HS_C1_I0_A0_EP_NUMBER >= 5)				// EP5				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A0_EP5_DIRECTION) << 7) | EP5),				HS_C1_I0_A0_EP5_TYPE,					mLowByte(HS_C1_I0_A0_EP5_MAX_PACKET),				mHighByte(HS_C1_I0_A0_EP5_MAX_PACKET),				HS_C1_I0_A0_EP5_bInterval,			#endif			#if (HS_C1_I0_A0_EP_NUMBER >= 6)				// EP6				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A0_EP6_DIRECTION) << 7) | EP6),				HS_C1_I0_A0_EP6_TYPE,					mLowByte(HS_C1_I0_A0_EP6_MAX_PACKET),				mHighByte(HS_C1_I0_A0_EP6_MAX_PACKET),				HS_C1_I0_A0_EP6_bInterval,			#endif			#if (HS_C1_I0_A0_EP_NUMBER >= 7)				// EP7				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A0_EP7_DIRECTION) << 7) | EP7),				HS_C1_I0_A0_EP7_TYPE,					mLowByte(HS_C1_I0_A0_EP7_MAX_PACKET),				mHighByte(HS_C1_I0_A0_EP7_MAX_PACKET),				HS_C1_I0_A0_EP7_bInterval,			#endif			#if (HS_C1_I0_A0_EP_NUMBER >= 8)				// EP8				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A0_EP8_DIRECTION) << 7) | EP8),				HS_C1_I0_A0_EP8_TYPE,					mLowByte(HS_C1_I0_A0_EP8_MAX_PACKET),				mHighByte(HS_C1_I0_A0_EP8_MAX_PACKET),				HS_C1_I0_A0_EP8_bInterval,			#endif			#if (HS_C1_I0_A0_EP_NUMBER >= 9)				// EP9				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A0_EP9_DIRECTION) << 7) | EP9),				HS_C1_I0_A0_EP9_TYPE,					mLowByte(HS_C1_I0_A0_EP9_MAX_PACKET),				mHighByte(HS_C1_I0_A0_EP9_MAX_PACKET),				HS_C1_I0_A0_EP9_bInterval,			#endif			#if (HS_C1_I0_A0_EP_NUMBER >= 10)				// EP10				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A0_EP10_DIRECTION) << 7) | EP10),				HS_C1_I0_A0_EP10_TYPE,					mLowByte(HS_C1_I0_A0_EP10_MAX_PACKET),				mHighByte(HS_C1_I0_A0_EP10_MAX_PACKET),				HS_C1_I0_A0_EP10_bInterval,			#endif			#if (HS_C1_I0_A0_EP_NUMBER >= 11)				// EP11				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A0_EP11_DIRECTION) << 7) | EP11),				HS_C1_I0_A0_EP11_TYPE,					mLowByte(HS_C1_I0_A0_EP11_MAX_PACKET),				mHighByte(HS_C1_I0_A0_EP11_MAX_PACKET),				HS_C1_I0_A0_EP11_bInterval,			#endif			#if (HS_C1_I0_A0_EP_NUMBER >= 12)				// EP12				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A0_EP12_DIRECTION) << 7) | EP12),				HS_C1_I0_A0_EP12_TYPE,					mLowByte(HS_C1_I0_A0_EP12_MAX_PACKET),				mHighByte(HS_C1_I0_A0_EP12_MAX_PACKET),				HS_C1_I0_A0_EP12_bInterval,			#endif			#if (HS_C1_I0_A0_EP_NUMBER >= 13)				// EP13				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A0_EP13_DIRECTION) << 7) | EP13),				HS_C1_I0_A0_EP13_TYPE,					mLowByte(HS_C1_I0_A0_EP13_MAX_PACKET),				mHighByte(HS_C1_I0_A0_EP13_MAX_PACKET),				HS_C1_I0_A0_EP13_bInterval,			#endif			#if (HS_C1_I0_A0_EP_NUMBER >= 14)				// EP14				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A0_EP14_DIRECTION) << 7) | EP14),				HS_C1_I0_A0_EP14_TYPE,					mLowByte(HS_C1_I0_A0_EP14_MAX_PACKET),				mHighByte(HS_C1_I0_A0_EP14_MAX_PACKET),				HS_C1_I0_A0_EP14_bInterval,			#endif			#if (HS_C1_I0_A0_EP_NUMBER >= 15)				// EP15				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A0_EP15_DIRECTION) << 7) | EP15),				HS_C1_I0_A0_EP15_TYPE,					mLowByte(HS_C1_I0_A0_EP15_MAX_PACKET),				mHighByte(HS_C1_I0_A0_EP15_MAX_PACKET),				HS_C1_I0_A0_EP15_bInterval,			#endif		#endif		#if (HS_C1_I0_ALT_NUMBER >= 2)			// Alternate Setting 0			INTERFACE_LENGTH,				// bLength			DT_INTERFACE,					// bDescriptorType INTERFACE			HS_C1_I0_A1_bInterfaceNumber,   // bInterfaceNumber			HS_C1_I0_A1_bAlternateSetting,	// bAlternateSetting			HS_C1_I0_A1_EP_NUMBER,			// bNumEndpoints(excluding endpoint zero)			HS_C1_I0_A1_bInterfaceClass,	// bInterfaceClass			HS_C1_I0_A1_bInterfaceSubClass,// bInterfaceSubClass			HS_C1_I0_A1_bInterfaceProtocol,// bInterfaceProtocol			HS_C1_I0_A1_iInterface,		// iInterface			#if (HS_C1_I0_A1_EP_NUMBER >= 1)				// EP1				EP_LENGTH,						// bLength				DT_ENDPOINT,					// bDescriptorType ENDPOINT				(((1 - HS_C1_I0_A1_EP1_DIRECTION) << 7) | EP1),	// bEndpointAddress									// D7: Direction, 1=IN, 0=OUT									// D6..4: Reserved(reset to zero), D3..0: The endpointer number				HS_C1_I0_A1_EP1_TYPE,			// bmAttributes									// D1..0: Transfer Type 00=Control, 01=Isochronous, 10=Bulk, 11=Interrupt									// if not an isochronous endpoint, D7..2 are Reserved				mLowByte(HS_C1_I0_A1_EP1_MAX_PACKET),	// wMaxPacketSize				mHighByte(HS_C1_I0_A1_EP1_MAX_PACKET),				HS_C1_I0_A1_EP1_bInterval,			// Interval for polling endpoint for data transfers.			#endif			#if (HS_C1_I0_A1_EP_NUMBER >= 2)				// EP2				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A1_EP2_DIRECTION) << 7) | EP2),				HS_C1_I0_A1_EP2_TYPE,					mLowByte(HS_C1_I0_A1_EP2_MAX_PACKET),				mHighByte(HS_C1_I0_A1_EP2_MAX_PACKET),				HS_C1_I0_A1_EP2_bInterval,			#endif			#if (HS_C1_I0_A1_EP_NUMBER >= 3)				// EP3				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A1_EP3_DIRECTION) << 7) | EP3),				HS_C1_I0_A1_EP3_TYPE,					mLowByte(HS_C1_I0_A1_EP3_MAX_PACKET),				mHighByte(HS_C1_I0_A1_EP3_MAX_PACKET),				HS_C1_I0_A1_EP3_bInterval,			#endif			#if (HS_C1_I0_A1_EP_NUMBER >= 4)				// EP4				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A1_EP4_DIRECTION) << 7) | EP4),				HS_C1_I0_A1_EP4_TYPE,					mLowByte(HS_C1_I0_A1_EP4_MAX_PACKET),				mHighByte(HS_C1_I0_A1_EP4_MAX_PACKET),				HS_C1_I0_A1_EP4_bInterval,			#endif			#if (HS_C1_I0_A1_EP_NUMBER >= 5)				// EP5				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A1_EP5_DIRECTION) << 7) | EP5),				HS_C1_I0_A1_EP5_TYPE,					mLowByte(HS_C1_I0_A1_EP5_MAX_PACKET),				mHighByte(HS_C1_I0_A1_EP5_MAX_PACKET),				HS_C1_I0_A1_EP5_bInterval,			#endif			#if (HS_C1_I0_A1_EP_NUMBER >= 6)				// EP6				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A1_EP6_DIRECTION) << 7) | EP6),				HS_C1_I0_A1_EP6_TYPE,					mLowByte(HS_C1_I0_A1_EP6_MAX_PACKET),				mHighByte(HS_C1_I0_A1_EP6_MAX_PACKET),				HS_C1_I0_A1_EP6_bInterval,			#endif			#if (HS_C1_I0_A1_EP_NUMBER >= 7)				// EP7				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A1_EP7_DIRECTION) << 7) | EP7),				HS_C1_I0_A1_EP7_TYPE,					mLowByte(HS_C1_I0_A1_EP7_MAX_PACKET),				mHighByte(HS_C1_I0_A1_EP7_MAX_PACKET),				HS_C1_I0_A1_EP7_bInterval,			#endif			#if (HS_C1_I0_A1_EP_NUMBER >= 8)				// EP8				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A1_EP8_DIRECTION) << 7) | EP8),				HS_C1_I0_A1_EP8_TYPE,					mLowByte(HS_C1_I0_A1_EP8_MAX_PACKET),				mHighByte(HS_C1_I0_A1_EP8_MAX_PACKET),				HS_C1_I0_A1_EP8_bInterval,			#endif			#if (HS_C1_I0_A1_EP_NUMBER >= 9)				// EP9				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A1_EP9_DIRECTION) << 7) | EP9),				HS_C1_I0_A1_EP9_TYPE,					mLowByte(HS_C1_I0_A1_EP9_MAX_PACKET),				mHighByte(HS_C1_I0_A1_EP9_MAX_PACKET),				HS_C1_I0_A1_EP9_bInterval,			#endif			#if (HS_C1_I0_A1_EP_NUMBER >= 10)				// EP10				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A1_EP10_DIRECTION) << 7) | EP10),				HS_C1_I0_A1_EP10_TYPE,					mLowByte(HS_C1_I0_A1_EP10_MAX_PACKET),				mHighByte(HS_C1_I0_A1_EP10_MAX_PACKET),				HS_C1_I0_A1_EP10_bInterval,			#endif			#if (HS_C1_I0_A1_EP_NUMBER >= 11)				// EP11				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A1_EP11_DIRECTION) << 7) | EP11),				HS_C1_I0_A1_EP11_TYPE,					mLowByte(HS_C1_I0_A1_EP11_MAX_PACKET),				mHighByte(HS_C1_I0_A1_EP11_MAX_PACKET),				HS_C1_I0_A1_EP11_bInterval,			#endif			#if (HS_C1_I0_A1_EP_NUMBER >= 12)				// EP12				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A1_EP12_DIRECTION) << 7) | EP12),				HS_C1_I0_A1_EP12_TYPE,					mLowByte(HS_C1_I0_A1_EP12_MAX_PACKET),				mHighByte(HS_C1_I0_A1_EP12_MAX_PACKET),				HS_C1_I0_A1_EP12_bInterval,			#endif			#if (HS_C1_I0_A1_EP_NUMBER >= 13)				// EP13				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A1_EP13_DIRECTION) << 7) | EP13),				HS_C1_I0_A1_EP13_TYPE,					mLowByte(HS_C1_I0_A1_EP13_MAX_PACKET),				mHighByte(HS_C1_I0_A1_EP13_MAX_PACKET),				HS_C1_I0_A1_EP13_bInterval,			#endif			#if (HS_C1_I0_A1_EP_NUMBER >= 14)				// EP14				EP_LENGTH,				DT_ENDPOINT,				(((1 - HS_C1_I0_A1_EP14_DIRECTION) << 7) | EP14),				HS_C1_I0_A1_EP14_TYPE,					mLowByte(HS_C1_I0_A1_EP14_MAX_PACKET),				mHighByte(HS_C1_I0_A1_EP14_MAX_PACKET),				HS_C1_I0_A1_EP14_bInterval,			#endif			#if (HS_C1_I0_A1_EP_NUMBER >= 15)				// EP15				EP_LENGTH,				DT_ENDPOINT,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -