summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorMichael Brown2015-02-10 00:50:35 +0100
committerMichael Brown2015-02-10 02:14:22 +0100
commit17aceb34da3bad166cab8579a3616806fff8e05b (patch)
treeb5a155eb8dcd66bb06955601bd76b86e27730b23 /src/include
parent[usb] Handle CDC union functional descriptors (diff)
downloadipxe-17aceb34da3bad166cab8579a3616806fff8e05b.tar.gz
ipxe-17aceb34da3bad166cab8579a3616806fff8e05b.tar.xz
ipxe-17aceb34da3bad166cab8579a3616806fff8e05b.zip
[usb] Parse endpoint descriptor bInterval field
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/ipxe/usb.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/include/ipxe/usb.h b/src/include/ipxe/usb.h
index acc8391f..e21ca1c4 100644
--- a/src/include/ipxe/usb.h
+++ b/src/include/ipxe/usb.h
@@ -372,6 +372,8 @@ struct usb_endpoint {
size_t mtu;
/** Maximum burst size */
unsigned int burst;
+ /** Interval (in microframes) */
+ unsigned int interval;
/** Endpoint is open */
int open;
@@ -462,6 +464,9 @@ struct usb_endpoint_driver_operations {
/** Control endpoint maximum burst size */
#define USB_EP0_BURST 0
+/** Control endpoint interval */
+#define USB_EP0_INTERVAL 0
+
/** Maximum endpoint number */
#define USB_ENDPOINT_MAX 0x0f
@@ -496,16 +501,18 @@ usb_endpoint_init ( struct usb_endpoint *ep, struct usb_device *usb,
* @v attributes Attributes
* @v mtu Maximum packet size
* @v burst Maximum burst size
+ * @v interval Interval (in microframes)
*/
static inline __attribute__ (( always_inline )) void
usb_endpoint_describe ( struct usb_endpoint *ep, unsigned int address,
unsigned int attributes, size_t mtu,
- unsigned int burst ) {
+ unsigned int burst, unsigned int interval ) {
ep->address = address;
ep->attributes = attributes;
ep->mtu = mtu;
ep->burst = burst;
+ ep->interval = interval;
}
/**