PEIM to produce gPeiUsb2HostControllerPpiGuid based on gPeiUsbControllerPpiGuid\r
which is used to enable recovery function from USB Drivers.\r
\r
-Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.<BR>\r
\r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions\r
return Status;\r
}\r
\r
+/**\r
+ Power On All EHCI Ports.\r
+ \r
+ @param Ehc The EHCI device.\r
+\r
+**/\r
+VOID\r
+EhcPowerOnAllPorts (\r
+ IN PEI_USB2_HC_DEV *Ehc\r
+ )\r
+{\r
+ UINT8 PortNumber;\r
+ UINT8 Index;\r
+\r
+ PortNumber = (UINT8)(Ehc->HcStructParams & HCSP_NPORTS);\r
+ for (Index = 0; Index < PortNumber; Index++) {\r
+ EhcSetOpRegBit (Ehc, EHC_PORT_STAT_OFFSET + 4 * Index, PORTSC_POWER);\r
+ }\r
+}\r
+\r
/**\r
Initialize the HC hardware. \r
EHCI spec lists the five things to do to initialize the hardware.\r
if (Ehc->Urb == NULL) {\r
return Status;\r
}\r
+\r
+ EhcPowerOnAllPorts (Ehc); \r
+ MicroSecondDelay (EHC_ROOT_PORT_RECOVERY_STALL);\r
\r
Status = EhcInitSched (Ehc);\r
\r