Implement USBDebug (full USB stack variant).

This commit is contained in:
Vladimir 'phcoder' Serbinenko 2013-02-01 21:49:29 +01:00
parent 0d5b9c9031
commit 66a93674b2
9 changed files with 134 additions and 6 deletions

View file

@ -28,6 +28,7 @@ typedef enum {
GRUB_USB_DESCRIPTOR_STRING,
GRUB_USB_DESCRIPTOR_INTERFACE,
GRUB_USB_DESCRIPTOR_ENDPOINT,
GRUB_USB_DESCRIPTOR_DEBUG = 10,
GRUB_USB_DESCRIPTOR_HUB = 0x29
} grub_usb_descriptor_t;
@ -111,6 +112,14 @@ struct grub_usb_desc_str
grub_uint16_t str[0];
} __attribute__ ((packed));
struct grub_usb_desc_debug
{
grub_uint8_t length;
grub_uint8_t type;
grub_uint8_t in_endp;
grub_uint8_t out_endp;
} __attribute__ ((packed));
struct grub_usb_usb_hubdesc
{
grub_uint8_t length;

View file

@ -27,7 +27,12 @@ void grub_usbserial_detach (grub_usb_device_t usbdev, int configno,
int
grub_usbserial_attach (grub_usb_device_t usbdev, int configno, int interfno,
struct grub_serial_driver *driver);
struct grub_serial_driver *driver, int in_endp,
int out_endp);
enum
{
GRUB_USB_SERIAL_ENDPOINT_LAST_MATCHING = -1
};
int
grub_usbserial_fetch (struct grub_serial_port *port, grub_size_t header_size);