summaryrefslogtreecommitdiffstats
path: root/include/usb_defs.h
diff options
context:
space:
mode:
authorVivek Gautam <gautam.vivek@samsung.com>2013-09-14 14:02:44 +0530
committerMarek Vasut <marex@denx.de>2013-10-20 23:42:38 +0200
commite3d7440c2212497b33f0b12f5112f1a99e3f201c (patch)
tree58cafac899ef7811a37958bdfa2597db6b8cadc8 /include/usb_defs.h
parent183acb700378a8cfc5d50a01a65de93fb2c24586 (diff)
downloadblackbird-obmc-uboot-e3d7440c2212497b33f0b12f5112f1a99e3f201c.tar.gz
blackbird-obmc-uboot-e3d7440c2212497b33f0b12f5112f1a99e3f201c.zip
usb: Move 'bmRequestType' USB device request macros from EHCI header
Macros defining bmRequestType field of USB device request, given in table 9.2 USB 2.0 spec, are rather generic macros which can be further used by other Host controller stacks. So moving them to usb_defs header. Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com> Cc: Julius Werner <jwerner@chromium.org> Cc: Simon Glass <sjg@chromium.org> Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Dan Murphy <dmurphy@ti.com> Cc: Marek Vasut <marex@denx.de>
Diffstat (limited to 'include/usb_defs.h')
-rw-r--r--include/usb_defs.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/usb_defs.h b/include/usb_defs.h
index 0cf5f2da89..236a5ecdf6 100644
--- a/include/usb_defs.h
+++ b/include/usb_defs.h
@@ -63,6 +63,25 @@
#define USB_DIR_OUT 0
#define USB_DIR_IN 0x80
+/*
+ * bmRequestType: USB Device Requests, table 9.2 USB 2.0 spec.
+ * (shifted) direction/type/recipient.
+ */
+#define DeviceRequest \
+ ((USB_DIR_IN | USB_TYPE_STANDARD | USB_RECIP_DEVICE) << 8)
+
+#define DeviceOutRequest \
+ ((USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_DEVICE) << 8)
+
+#define InterfaceRequest \
+ ((USB_DIR_IN | USB_TYPE_STANDARD | USB_RECIP_INTERFACE) << 8)
+
+#define EndpointRequest \
+ ((USB_DIR_IN | USB_TYPE_STANDARD | USB_RECIP_INTERFACE) << 8)
+
+#define EndpointOutRequest \
+ ((USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_INTERFACE) << 8)
+
/* Descriptor types */
#define USB_DT_DEVICE 0x01
#define USB_DT_CONFIG 0x02
OpenPOWER on IntegriCloud