Fixes and Cleanup
[tpg/acess2.git] / Modules / USB / usb.h
index 3e503ec..1ccf98c 100644 (file)
@@ -9,6 +9,68 @@
 typedef struct sUSBHost        tUSBHost;
 typedef struct sUSBDevice      tUSBDevice;
 
+// === CONSTANTS ===
+enum eUSB_PIDs
+{
+       /**
+        * \name Token
+        * \{
+        */
+       PID_OUT         = 0xE1,
+       PID_IN          = 0x69,
+       PID_SOF         = 0xA5,
+       PID_SETUP       = 0x2D,
+       /**
+        * \}
+        */
+       
+       /**
+        * \name Data
+        * \{
+        */
+       PID_DATA0       = 0xC3,
+       PID_DATA1       = 0x4B,
+       PID_DATA2       = 0x87, // USB2 only
+       PID_MDATA       = 0x0F, // USB2 only
+       /**
+        * \}
+        */
+       
+       /**
+        * \name Handshake
+        * \{
+        */
+       PID_ACK         = 0xD2,
+       PID_NAK         = 0x5A,
+       PID_STALL       = 0x1E,
+       PID_NYET        = 0x96,
+       /**
+        * \}
+        */
+       
+       /**
+        * \name Special
+        * \{
+        */
+       PID_PRE         = 0x3C, PID_ERR         = 0x3C,
+       PID_SPLIT       = 0x78,
+       PID_PING        = 0xB4,
+       PID_RESVD       = 0xF0,
+       /**
+        * \}
+        */
+};
+
+// === FUNCTIONS ===
+/**
+ * \note 00101 - X^5+X^2+1
+ */
+Uint8  USB_TokenCRC(void *Data, int len);
+/**
+ * \note X^16 + X15 + X^2 + 1
+ */
+Uint16 USB_TokenCRC(void *Data, int len);
+
 // === STRUCTURES ===
 /**
  * \brief Defines a USB Host Controller

UCC git Repository :: git.ucc.asn.au