[USBEHCI]
[reactos.git] / drivers / usb / usbehci_new / hardware.h
index 321e9a9..5e3cd08 100644 (file)
@@ -2,6 +2,28 @@
 
 #include <ntddk.h>
 
+
+//
+// Host Controller Capability Registers
+//
+#define EHCI_CAPLENGTH                  0x00
+#define EHCI_HCIVERSION                 0x02
+#define EHCI_HCSPARAMS                  0x04
+#define EHCI_HCCPARAMS                  0x08
+#define EHCI_HCSP_PORTROUTE             0x0c
+
+
+//
+// Extended Capabilities
+//
+#define EHCI_ECP_SHIFT                  8
+#define EHCI_ECP_MASK                   0xff
+#define EHCI_LEGSUP_CAPID_MASK          0xff
+#define EHCI_LEGSUP_CAPID               0x01
+#define EHCI_LEGSUP_OSOWNED             (1 << 24)
+#define EHCI_LEGSUP_BIOSOWNED           (1 << 16)
+
+
 //
 // EHCI Operational Registers
 //
@@ -58,6 +80,7 @@
 #define EHCI_PRT_POWER                  0x1000
 #define EHCI_PRT_RELEASEOWNERSHIP       0x2000
 
+#define EHCI_PORTSC_DATAMASK    0xffffffd1
 //
 // Terminate Pointer used for QueueHeads and Element Transfer Descriptors to mark Pointers as the end
 //
@@ -126,6 +149,7 @@ typedef struct _QUEUE_TRANSFER_DESCRIPTOR
     //Software
     ULONG PhysicalAddr;
     LIST_ENTRY LinkedDescriptors;
+    ULONG TotalBytesToTransfer;
 } QUEUE_TRANSFER_DESCRIPTOR, *PQUEUE_TRANSFER_DESCRIPTOR;
 
 //
@@ -190,10 +214,6 @@ typedef struct _QUEUE_HEAD
     //Software
     ULONG PhysicalAddr;
     LIST_ENTRY LinkedQueueHeads;
-    PQUEUE_TRANSFER_DESCRIPTOR TransferDescriptor;
-    PIRP IrpToComplete;
-    PMDL Mdl;
-    PKEVENT Event;
     PVOID Request;
 } QUEUE_HEAD, *PQUEUE_HEAD;
 
@@ -258,7 +278,7 @@ typedef struct _EHCI_CAPS {
         EHCI_HCC_CONTENT HCCParams;
         ULONG HCCParamsLong;
     };
-    UCHAR PortRoute [8];
+    UCHAR PortRoute [15];
 } EHCI_CAPS, *PEHCI_CAPS;
 
 
@@ -284,3 +304,10 @@ typedef struct _EHCI_HOST_CONTROLLER
     KSPIN_LOCK Lock;
     LPDMA_MEMORY_ALLOCATOR DmaMemAllocator;
 } EHCI_HOST_CONTROLLER, *PEHCI_HOST_CONTROLLER;
+
+typedef struct
+{
+    ULONG PortStatus;
+    ULONG PortChange;
+}EHCI_PORT_STATUS;
+