summaryrefslogtreecommitdiff
path: root/src/include/usb_ch9.h
diff options
context:
space:
mode:
authorYinghai Lu <yinghai.lu@amd.com>2007-02-28 11:17:02 +0000
committerStefan Reinauer <stepan@openbios.org>2007-02-28 11:17:02 +0000
commitd57241fab5d4b941f72811a9ce9edafca3993ba1 (patch)
treedae6993cc29b010896d5b733133058a673fd3a4b /src/include/usb_ch9.h
parent3f5411cfca8e1b4552e13a3a286358e917bb5382 (diff)
This is (most of) the usb2 debug console code ripped out of
Uwe's version of yh_rest_of_patch.patch (13.02.07 - [PATCH] Rest of huge MCP55 patch). I dropped a lot of stuff, like broken indenting, removed copyright messages, and this printk_ram_* stuff (what the heck is this supposed to be) This codebase is really a mess. Further tarball contributions without a _CLEANED UP_ patch will be denied, especially if they are not from an up to date svn tree. Signed-off-by: Yinghai Lu <yinghai.lu@amd.com> Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2563 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/include/usb_ch9.h')
-rw-r--r--src/include/usb_ch9.h83
1 files changed, 83 insertions, 0 deletions
diff --git a/src/include/usb_ch9.h b/src/include/usb_ch9.h
new file mode 100644
index 0000000000..13aa391cb3
--- /dev/null
+++ b/src/include/usb_ch9.h
@@ -0,0 +1,83 @@
+#ifndef USB_CH9_H
+#define USB_CH9_H
+
+#define USB_DIR_OUT 0 /* to device */
+#define USB_DIR_IN 0x80 /* to host */
+
+/*
+ * USB types, the second of three bRequestType fields
+ */
+#define USB_TYPE_MASK (0x03 << 5)
+#define USB_TYPE_STANDARD (0x00 << 5)
+#define USB_TYPE_CLASS (0x01 << 5)
+#define USB_TYPE_VENDOR (0x02 << 5)
+#define USB_TYPE_RESERVED (0x03 << 5)
+/*
+ * USB recipients, the third of three bRequestType fields
+ */
+#define USB_RECIP_MASK 0x1f
+#define USB_RECIP_DEVICE 0x00
+#define USB_RECIP_INTERFACE 0x01
+#define USB_RECIP_ENDPOINT 0x02
+#define USB_RECIP_OTHER 0x03
+/* From Wireless USB 1.0 */
+#define USB_RECIP_PORT 0x04
+#define USB_RECIP_RPIPE 0x05
+
+/*
+ * Standard requests, for the bRequest field of a SETUP packet.
+ *
+ * These are qualified by the bRequestType field, so that for example
+ * TYPE_CLASS or TYPE_VENDOR specific feature flags could be retrieved
+ * by a GET_STATUS request.
+ */
+#define USB_REQ_GET_STATUS 0x00
+#define USB_REQ_CLEAR_FEATURE 0x01
+#define USB_REQ_SET_FEATURE 0x03
+#define USB_REQ_SET_ADDRESS 0x05
+#define USB_REQ_GET_DESCRIPTOR 0x06
+#define USB_REQ_SET_DESCRIPTOR 0x07
+#define USB_REQ_GET_CONFIGURATION 0x08
+#define USB_REQ_SET_CONFIGURATION 0x09
+#define USB_REQ_GET_INTERFACE 0x0A
+#define USB_REQ_SET_INTERFACE 0x0B
+#define USB_REQ_SYNCH_FRAME 0x0C
+
+#define USB_REQ_SET_ENCRYPTION 0x0D /* Wireless USB */
+#define USB_REQ_GET_ENCRYPTION 0x0E
+#define USB_REQ_RPIPE_ABORT 0x0E
+#define USB_REQ_SET_HANDSHAKE 0x0F
+#define USB_REQ_RPIPE_RESET 0x0F
+#define USB_REQ_GET_HANDSHAKE 0x10
+#define USB_REQ_SET_CONNECTION 0x11
+#define USB_REQ_SET_SECURITY_DATA 0x12
+#define USB_REQ_GET_SECURITY_DATA 0x13
+#define USB_REQ_SET_WUSB_DATA 0x14
+#define USB_REQ_LOOPBACK_DATA_WRITE 0x15
+#define USB_REQ_LOOPBACK_DATA_READ 0x16
+#define USB_REQ_SET_INTERFACE_DS 0x17
+
+#define USB_DT_DEBUG 0x0a
+
+#define USB_DEVICE_DEBUG_MODE 6 /* (special devices only) */
+
+//frim usb_ch9.h
+struct usb_ctrlrequest {
+ uint8_t bRequestType;
+ uint8_t bRequest;
+ uint16_t wValue;
+ uint16_t wIndex;
+ uint16_t wLength;
+} __attribute__ ((packed));
+
+struct usb_debug_descriptor {
+ uint8_t bLength;
+ uint8_t bDescriptorType;
+
+ /* bulk endpoints with 8 byte maxpacket */
+ uint8_t bDebugInEndpoint;
+ uint8_t bDebugOutEndpoint;
+};
+
+#endif
+