\r
Usb Bus Driver Binding and Bus IO Protocol.\r
\r
-Copyright (c) 2004 - 2012, 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
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
// [USB20-7.1.7.5, it says 10ms for hub and 50ms for\r
// root hub]\r
//\r
-#define USB_SET_PORT_RESET_STALL (10 * USB_BUS_1_MILLISECOND)\r
+// According to USB2.0, Chapter 11.5.1.5 Resetting,\r
+// the worst case for TDRST is 20ms\r
+//\r
+#define USB_SET_PORT_RESET_STALL (20 * USB_BUS_1_MILLISECOND)\r
#define USB_SET_ROOT_PORT_RESET_STALL (50 * USB_BUS_1_MILLISECOND)\r
\r
+//\r
+// Wait for port recovery to accept SetAddress, refers to specification\r
+// [USB20-7.1.7.5, it says 10 ms for TRSTRCY]\r
+//\r
+#define USB_SET_PORT_RECOVERY_STALL (10 * USB_BUS_1_MILLISECOND)\r
+\r
//\r
// Wait for clear roothub port reset, set by experience\r
//\r
\r
//\r
// Send general device request timeout.\r
-// \r
+//\r
// The USB Specification 2.0, section 11.24.1 recommends a value of\r
// 50 milliseconds. We use a value of 500 milliseconds to work\r
// around slower hubs and devices.\r
USB_INTERFACE *ParentIf;\r
UINT8 ParentPort; // Start at 0\r
UINT8 Tier;\r
+ BOOLEAN DisconnectFail;\r
};\r
\r
//\r