\r
Provides some data struct used by EHCI controller driver.\r
\r
-Copyright (c) 2006 - 2010, Intel Corporation\r
-All rights reserved. This program and the accompanying materials\r
+Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
http://opensource.org/licenses/bsd-license.php\r
#include <Library/BaseLib.h>\r
#include <Library/MemoryAllocationLib.h>\r
#include <Library/PcdLib.h>\r
+#include <Library/ReportStatusCodeLib.h>\r
\r
#include <IndustryStandard/Pci.h>\r
\r
\r
//\r
// Sync and Async transfer polling interval, set by experience,\r
-// and the unit of Async is 100us, means 50ms as interval.\r
+// and the unit of Async is 100us, means 1ms as interval.\r
//\r
#define EHC_SYNC_POLL_INTERVAL (1 * EHC_1_MILLISECOND)\r
-#define EHC_ASYNC_POLL_INTERVAL (50 * 10000U)\r
+#define EHC_ASYNC_POLL_INTERVAL EFI_TIMER_PERIOD_MILLISECONDS(1)\r
+\r
+//\r
+// EHCI debug port control status register bit definition\r
+//\r
+#define USB_DEBUG_PORT_IN_USE BIT10\r
+#define USB_DEBUG_PORT_ENABLE BIT28\r
+#define USB_DEBUG_PORT_OWNER BIT30\r
\r
//\r
// EHC raises TPL to TPL_NOTIFY to serialize all its operations\r
// to protect shared data structures.\r
//\r
-#define EHC_TPL TPL_NOTIFY\r
+#define EHC_TPL TPL_NOTIFY\r
\r
//\r
-//Iterate through the doule linked list. NOT delete safe\r
+//Iterate through the double linked list. NOT delete safe\r
//\r
#define EFI_LIST_FOR_EACH(Entry, ListHead) \\r
for(Entry = (ListHead)->ForwardLink; Entry != (ListHead); Entry = Entry->ForwardLink)\r
\r
//\r
-//Iterate through the doule linked list. This is delete-safe.\r
+//Iterate through the double linked list. This is delete-safe.\r
//Don't touch NextEntry\r
//\r
#define EFI_LIST_FOR_EACH_SAFE(Entry, NextEntry, ListHead) \\r
EFI_USB2_HC_PROTOCOL Usb2Hc;\r
\r
EFI_PCI_IO_PROTOCOL *PciIo;\r
+ EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
UINT64 OriginalPciAttributes;\r
USBHC_MEM_POOL *MemPool;\r
\r
EHC_QH *ReclaimHead;\r
\r
//\r
- // Peroidic (interrupt) transfer schedule data:\r
+ // Periodic (interrupt) transfer schedule data:\r
//\r
VOID *PeriodFrame; // the buffer pointed by this pointer is used to store pci bus address of the QH descriptor.\r
VOID *PeriodFrameHost; // the buffer pointed by this pointer is used to store host memory address of the QH descriptor.\r
// Misc\r
//\r
EFI_UNICODE_STRING_TABLE *ControllerNameTable;\r
+\r
+ //\r
+ // EHCI debug port info\r
+ //\r
+ UINT16 DebugPortOffset; // The offset of debug port mmio register\r
+ UINT8 DebugPortBarNum; // The bar number of debug port mmio register\r
+ UINT8 DebugPortNum; // The port number of usb debug port\r
+\r
+ BOOLEAN Support64BitDma; // Whether 64 bit DMA may be used with this device\r
};\r
\r
\r
);\r
\r
/**\r
- Stop this driver on ControllerHandle. Support stoping any child handles\r
+ Stop this driver on ControllerHandle. Support stopping any child handles\r
created by this driver.\r
\r
@param This Protocol instance pointer.\r