Commit d6e0e1c5 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

greybus: add es1_ap_desc.c to describe the ES1 USB device descriptors

parent f0e49eb0
Loading
Loading
Loading
Loading
+63 −0
Original line number Diff line number Diff line

static const u8 es1_dev_descriptor[] = {
	0x12,		/* __u8   bLength */
	0x01,		/* __u8   bDescriptorType; Device */
	0x00, 0x02	/* __le16 bcdUSB v2.0 */
	0x00,		/* __u8   bDeviceClass */
	0x00,		/* __u8   bDeviceClass */
	0x00,		/* __u8   bDeviceSubClass; */
	0x00,		/* __u8   bDeviceProtocol; */
	0x40,		/* __u8   bMaxPacketSize0; 2^64 = 512 Bytes */

	0xff, 0xff,	/* __le16 idVendor; 0xffff  made up for now */
	0x01, 0x00,	/* __le16 idProduct; 0x0001  made up for now */
	0x01, 0x00,	/* __le16 bcdDevice; ES1 */

	0x03,		/* __u8  iManufacturer; */
	0x02,		/* __u8  iProduct; */
	0x01,		/* __u8  iSerialNumber; */
	0x01		/* __u8  bNumConfigurations; */
};

static const u8 es1_config_descriptor[] = {
	/* one configuration */
	0x09,		/*  __u8   bLength; */
	0x02,		/*  __u8   bDescriptorType; Configuration */
	0x19, 0x00,	/*  __le16 wTotalLength; */
	0x01,		/*  __u8   bNumInterfaces; (1) */
	0x01,		/*  __u8   bConfigurationValue; */
	0x00,		/*  __u8   iConfiguration; */
	0xc0,		/*  __u8   bmAttributes;
				 Bit 7: must be set,
				     6: Self-powered,
				     5: Remote wakeup,
				     4..0: resvd */
	0x00,		/*  __u8  MaxPower; */

	/* one interface */
	0x09,		/*  __u8  if_bLength; */
	0x04,		/*  __u8  if_bDescriptorType; Interface */
	0x00,		/*  __u8  if_bInterfaceNumber; */
	0x00,		/*  __u8  if_bAlternateSetting; */
	0x02,		/*  __u8  if_bNumEndpoints; */
	0xff,		/*  __u8  if_bInterfaceClass; Vendor-specific */
	0xff,		/*  __u8  if_bInterfaceSubClass; Vendor-specific */
	0xff,		/*  __u8  if_bInterfaceProtocol; Vendor-specific */
	0x00,		/*  __u8  if_iInterface; */

	/* two endpoints */
	0x07,		/*  __u8   ep_bLength; */
	0x05,		/*  __u8   ep_bDescriptorType; Endpoint */
	0x81,		/*  __u8   ep_bEndpointAddress; IN Endpoint 1 */
	0x02,		/*  __u8   ep_bmAttributes; Bulk */
	0x40, 0x00,	/*  __le16 ep_wMaxPacketSize; 64??? */
	0x00		/*  __u8   ep_bInterval; */

	0x07,		/*  __u8   ep_bLength; */
	0x05,		/*  __u8   ep_bDescriptorType; Endpoint */
	0x02,		/*  __u8   ep_bEndpointAddress; Out Endpoint 2 */
	0x02,		/*  __u8   ep_bmAttributes; Bulk */
	0x40, 0x00,	/*  __le16 ep_wMaxPacketSize; 64??? */
	0x00		/*  __u8   ep_bInterval; */

};