diff options
| author | David Brownell <david-b@pacbell.net> | 2005-01-06 16:45:52 -0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <greg@kroah.com> | 2005-01-06 16:45:52 -0800 |
| commit | a4ea4100b774242ac1886916e9a752b7873950e6 (patch) | |
| tree | 9880f6cb806f33c649696604e877b7df678d4816 /include/linux | |
| parent | 94be39b80794358aa469a32b1ce705f647c14342 (diff) | |
[PATCH] USB: definitions for USB2 debug device, debug port
This provides basic definitions to support "USB2 Debug Devices", as
supported by certain EHCI root hub ports (from ALI, Intel, NVidia, and
other vendors). Docs are available at Intel's USB spec webpage.
The basic idea is to help debug "legacy free" systems, with no serial port
for a console or debugger to use. The USB debug port uses PIO to send and
receive at most 8 bytes of high speed data at a time, so it can support one
I/O channel without needing _any_ of the usbcore infrastructure, or DMA,
or IRQs. (Cost can be 2KB rather than ~150KB.)
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/usb_ch9.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/usb_ch9.h b/include/linux/usb_ch9.h index f08d6241fb63..f5fe94e09a03 100644 --- a/include/linux/usb_ch9.h +++ b/include/linux/usb_ch9.h @@ -79,6 +79,7 @@ #define USB_DEVICE_B_HNP_ENABLE 3 /* dev may initiate HNP */ #define USB_DEVICE_A_HNP_SUPPORT 4 /* RH port supports HNP */ #define USB_DEVICE_A_ALT_HNP_SUPPORT 5 /* other RH port does */ +#define USB_DEVICE_DEBUG_MODE 6 /* (special devices only) */ #define USB_ENDPOINT_HALT 0 /* IN/OUT will STALL */ @@ -323,6 +324,18 @@ struct usb_otg_descriptor { /*-------------------------------------------------------------------------*/ +/* USB_DT_DEBUG: for special highspeed devices, replacing serial console */ +struct usb_debug_descriptor { + __u8 bLength; + __u8 bDescriptorType; + + /* bulk endpoints with 8 byte maxpacket */ + __u8 bDebugInEndpoint; + __u8 bDebugOutEndpoint; +}; + +/*-------------------------------------------------------------------------*/ + /* USB_DT_INTERFACE_ASSOCIATION: groups interfaces */ struct usb_interface_assoc_descriptor { __u8 bLength; |
