\r
Copyright (c) 2006 - 2018, 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
-of the BSD License which accompanies this distribution. The\r
-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
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
//\r
// UsbIo PPI interface function\r
//\r
-PEI_USB_IO_PPI mUsbIoPpi = {\r
+PEI_USB_IO_PPI mUsbIoPpi = {\r
PeiUsbControlTransfer,\r
PeiUsbBulkTransfer,\r
PeiUsbGetInterfaceDescriptor,\r
PeiUsbPortReset\r
};\r
\r
-EFI_PEI_PPI_DESCRIPTOR mUsbIoPpiList = {\r
+EFI_PEI_PPI_DESCRIPTOR mUsbIoPpiList = {\r
(EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),\r
&gPeiUsbIoPpiGuid,\r
NULL\r
**/\r
EFI_STATUS\r
PeiUsbEnumeration (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN PEI_USB_HOST_CONTROLLER_PPI *UsbHcPpi,\r
- IN PEI_USB2_HOST_CONTROLLER_PPI *Usb2HcPpi\r
+ IN EFI_PEI_SERVICES **PeiServices,\r
+ IN PEI_USB_HOST_CONTROLLER_PPI *UsbHcPpi,\r
+ IN PEI_USB2_HOST_CONTROLLER_PPI *Usb2HcPpi\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
PeiConfigureUsbDevice (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN PEI_USB_DEVICE *PeiUsbDevice,\r
- IN UINT8 Port,\r
- IN OUT UINT8 *DeviceAddress\r
+ IN EFI_PEI_SERVICES **PeiServices,\r
+ IN PEI_USB_DEVICE *PeiUsbDevice,\r
+ IN UINT8 Port,\r
+ IN OUT UINT8 *DeviceAddress\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
PeiUsbGetAllConfiguration (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN PEI_USB_DEVICE *PeiUsbDevice\r
+ IN EFI_PEI_SERVICES **PeiServices,\r
+ IN PEI_USB_DEVICE *PeiUsbDevice\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
GetExpectedDescriptor (\r
- IN UINT8 *Buffer,\r
- IN UINTN Length,\r
- IN UINT8 DescType,\r
- IN UINT8 DescLength,\r
- OUT UINTN *ParsedBytes\r
+ IN UINT8 *Buffer,\r
+ IN UINTN Length,\r
+ IN UINT8 DescType,\r
+ IN UINT8 DescLength,\r
+ OUT UINTN *ParsedBytes\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
PeimInitializeUsb (\r
- IN EFI_PEI_FILE_HANDLE FileHandle,\r
- IN CONST EFI_PEI_SERVICES **PeiServices\r
+ IN EFI_PEI_FILE_HANDLE FileHandle,\r
+ IN CONST EFI_PEI_SERVICES **PeiServices\r
)\r
{\r
- EFI_STATUS Status;\r
- UINTN Index;\r
- PEI_USB_HOST_CONTROLLER_PPI *UsbHcPpi;\r
- PEI_USB2_HOST_CONTROLLER_PPI *Usb2HcPpi;\r
+ EFI_STATUS Status;\r
+ UINTN Index;\r
+ PEI_USB_HOST_CONTROLLER_PPI *UsbHcPpi;\r
+ PEI_USB2_HOST_CONTROLLER_PPI *Usb2HcPpi;\r
\r
if (!EFI_ERROR (PeiServicesRegisterForShadow (FileHandle))) {\r
return EFI_SUCCESS;\r
&gPeiUsbHostControllerPpiGuid,\r
Index,\r
NULL,\r
- (VOID **) &UsbHcPpi\r
+ (VOID **)&UsbHcPpi\r
);\r
if (EFI_ERROR (Status)) {\r
//\r
//\r
break;\r
}\r
- PeiUsbEnumeration ((EFI_PEI_SERVICES **) PeiServices, UsbHcPpi, NULL);\r
+\r
+ PeiUsbEnumeration ((EFI_PEI_SERVICES **)PeiServices, UsbHcPpi, NULL);\r
Index++;\r
}\r
\r
&gPeiUsb2HostControllerPpiGuid,\r
Index,\r
NULL,\r
- (VOID **) &Usb2HcPpi\r
+ (VOID **)&Usb2HcPpi\r
);\r
if (EFI_ERROR (Status)) {\r
//\r
//\r
break;\r
}\r
- PeiUsbEnumeration ((EFI_PEI_SERVICES **) PeiServices, NULL, Usb2HcPpi);\r
+\r
+ PeiUsbEnumeration ((EFI_PEI_SERVICES **)PeiServices, NULL, Usb2HcPpi);\r
Index++;\r
}\r
}\r
**/\r
EFI_STATUS\r
PeiHubEnumeration (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN PEI_USB_DEVICE *PeiUsbDevice,\r
- IN UINT8 *CurrentAddress\r
+ IN EFI_PEI_SERVICES **PeiServices,\r
+ IN PEI_USB_DEVICE *PeiUsbDevice,\r
+ IN UINT8 *CurrentAddress\r
)\r
{\r
UINTN Index;\r
UINTN InterfaceIndex;\r
UINTN EndpointIndex;\r
\r
+ UsbIoPpi = &PeiUsbDevice->UsbIoPpi;\r
\r
- UsbIoPpi = &PeiUsbDevice->UsbIoPpi;\r
-\r
- DEBUG ((EFI_D_INFO, "PeiHubEnumeration: DownStreamPortNo: %x\n", PeiUsbDevice->DownStreamPortNo));\r
+ DEBUG ((DEBUG_INFO, "PeiHubEnumeration: DownStreamPortNo: %x\n", PeiUsbDevice->DownStreamPortNo));\r
\r
for (Index = 0; Index < PeiUsbDevice->DownStreamPortNo; Index++) {\r
-\r
Status = PeiHubGetPortStatus (\r
- PeiServices,\r
- UsbIoPpi,\r
- (UINT8) (Index + 1),\r
- (UINT32 *) &PortStatus\r
- );\r
+ PeiServices,\r
+ UsbIoPpi,\r
+ (UINT8)(Index + 1),\r
+ (UINT32 *)&PortStatus\r
+ );\r
\r
if (EFI_ERROR (Status)) {\r
continue;\r
}\r
\r
- DEBUG ((EFI_D_INFO, "USB Status --- Port: %x ConnectChange[%04x] Status[%04x]\n", Index, PortStatus.PortChangeStatus, PortStatus.PortStatus));\r
+ DEBUG ((DEBUG_INFO, "USB Status --- Port: %x ConnectChange[%04x] Status[%04x]\n", Index, PortStatus.PortChangeStatus, PortStatus.PortStatus));\r
//\r
// Only handle connection/enable/overcurrent/reset change.\r
//\r
// Begin to deal with the new device\r
//\r
MemPages = sizeof (PEI_USB_DEVICE) / EFI_PAGE_SIZE + 1;\r
- Status = PeiServicesAllocatePages (\r
- EfiBootServicesCode,\r
- MemPages,\r
- &AllocateAddress\r
- );\r
+ Status = PeiServicesAllocatePages (\r
+ EfiBootServicesCode,\r
+ MemPages,\r
+ &AllocateAddress\r
+ );\r
if (EFI_ERROR (Status)) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
- NewPeiUsbDevice = (PEI_USB_DEVICE *) ((UINTN) AllocateAddress);\r
+ NewPeiUsbDevice = (PEI_USB_DEVICE *)((UINTN)AllocateAddress);\r
ZeroMem (NewPeiUsbDevice, sizeof (PEI_USB_DEVICE));\r
\r
- NewPeiUsbDevice->Signature = PEI_USB_DEVICE_SIGNATURE;\r
- NewPeiUsbDevice->DeviceAddress = 0;\r
- NewPeiUsbDevice->MaxPacketSize0 = 8;\r
- NewPeiUsbDevice->DataToggle = 0;\r
+ NewPeiUsbDevice->Signature = PEI_USB_DEVICE_SIGNATURE;\r
+ NewPeiUsbDevice->DeviceAddress = 0;\r
+ NewPeiUsbDevice->MaxPacketSize0 = 8;\r
+ NewPeiUsbDevice->DataToggle = 0;\r
CopyMem (\r
&(NewPeiUsbDevice->UsbIoPpi),\r
&mUsbIoPpi,\r
sizeof (EFI_PEI_PPI_DESCRIPTOR)\r
);\r
NewPeiUsbDevice->UsbIoPpiList.Ppi = &NewPeiUsbDevice->UsbIoPpi;\r
- NewPeiUsbDevice->AllocateAddress = (UINTN) AllocateAddress;\r
+ NewPeiUsbDevice->AllocateAddress = (UINTN)AllocateAddress;\r
NewPeiUsbDevice->UsbHcPpi = PeiUsbDevice->UsbHcPpi;\r
NewPeiUsbDevice->Usb2HcPpi = PeiUsbDevice->Usb2HcPpi;\r
- NewPeiUsbDevice->Tier = (UINT8) (PeiUsbDevice->Tier + 1);\r
+ NewPeiUsbDevice->Tier = (UINT8)(PeiUsbDevice->Tier + 1);\r
NewPeiUsbDevice->IsHub = 0x0;\r
NewPeiUsbDevice->DownStreamPortNo = 0x0;\r
\r
if (((PortStatus.PortChangeStatus & USB_PORT_STAT_C_RESET) == 0) ||\r
- ((PortStatus.PortStatus & (USB_PORT_STAT_CONNECTION | USB_PORT_STAT_ENABLE)) == 0)) {\r
+ ((PortStatus.PortStatus & (USB_PORT_STAT_CONNECTION | USB_PORT_STAT_ENABLE)) == 0))\r
+ {\r
//\r
// If the port already has reset change flag and is connected and enabled, skip the port reset logic.\r
//\r
PeiResetHubPort (PeiServices, UsbIoPpi, (UINT8)(Index + 1));\r
\r
PeiHubGetPortStatus (\r
- PeiServices,\r
- UsbIoPpi,\r
- (UINT8) (Index + 1),\r
- (UINT32 *) &PortStatus\r
- );\r
+ PeiServices,\r
+ UsbIoPpi,\r
+ (UINT8)(Index + 1),\r
+ (UINT32 *)&PortStatus\r
+ );\r
} else {\r
PeiHubClearPortFeature (\r
PeiServices,\r
UsbIoPpi,\r
- (UINT8) (Index + 1),\r
+ (UINT8)(Index + 1),\r
EfiUsbPortResetChange\r
);\r
}\r
\r
- NewPeiUsbDevice->DeviceSpeed = (UINT8) PeiUsbGetDeviceSpeed (PortStatus.PortStatus);\r
- DEBUG ((EFI_D_INFO, "Device Speed =%d\n", PeiUsbDevice->DeviceSpeed));\r
+ NewPeiUsbDevice->DeviceSpeed = (UINT8)PeiUsbGetDeviceSpeed (PortStatus.PortStatus);\r
+ DEBUG ((DEBUG_INFO, "Device Speed =%d\n", PeiUsbDevice->DeviceSpeed));\r
\r
- if (USB_BIT_IS_SET (PortStatus.PortStatus, USB_PORT_STAT_SUPER_SPEED)){\r
+ if (USB_BIT_IS_SET (PortStatus.PortStatus, USB_PORT_STAT_SUPER_SPEED)) {\r
NewPeiUsbDevice->MaxPacketSize0 = 512;\r
} else if (USB_BIT_IS_SET (PortStatus.PortStatus, USB_PORT_STAT_HIGH_SPEED)) {\r
NewPeiUsbDevice->MaxPacketSize0 = 64;\r
NewPeiUsbDevice->MaxPacketSize0 = 8;\r
}\r
\r
- if(NewPeiUsbDevice->DeviceSpeed != EFI_USB_SPEED_HIGH) {\r
+ if (NewPeiUsbDevice->DeviceSpeed != EFI_USB_SPEED_HIGH) {\r
if (PeiUsbDevice->DeviceSpeed == EFI_USB_SPEED_HIGH) {\r
NewPeiUsbDevice->Translator.TranslatorPortNumber = (UINT8)Index;\r
NewPeiUsbDevice->Translator.TranslatorHubAddress = *CurrentAddress;\r
} else {\r
- CopyMem(&(NewPeiUsbDevice->Translator), &(PeiUsbDevice->Translator), sizeof(EFI_USB2_HC_TRANSACTION_TRANSLATOR));\r
+ CopyMem (&(NewPeiUsbDevice->Translator), &(PeiUsbDevice->Translator), sizeof (EFI_USB2_HC_TRANSACTION_TRANSLATOR));\r
}\r
}\r
\r
// Configure that Usb Device\r
//\r
Status = PeiConfigureUsbDevice (\r
- PeiServices,\r
- NewPeiUsbDevice,\r
- (UINT8) (Index + 1),\r
- CurrentAddress\r
- );\r
+ PeiServices,\r
+ NewPeiUsbDevice,\r
+ (UINT8)(Index + 1),\r
+ CurrentAddress\r
+ );\r
\r
if (EFI_ERROR (Status)) {\r
continue;\r
}\r
- DEBUG ((EFI_D_INFO, "PeiHubEnumeration: PeiConfigureUsbDevice Success\n"));\r
+\r
+ DEBUG ((DEBUG_INFO, "PeiHubEnumeration: PeiConfigureUsbDevice Success\n"));\r
\r
Status = PeiServicesInstallPpi (&NewPeiUsbDevice->UsbIoPpiList);\r
\r
if (NewPeiUsbDevice->InterfaceDesc->InterfaceClass == 0x09) {\r
- NewPeiUsbDevice->IsHub = 0x1;\r
+ NewPeiUsbDevice->IsHub = 0x1;\r
\r
Status = PeiDoHubConfig (PeiServices, NewPeiUsbDevice);\r
if (EFI_ERROR (Status)) {\r
// Begin to deal with the new device\r
//\r
MemPages = sizeof (PEI_USB_DEVICE) / EFI_PAGE_SIZE + 1;\r
- Status = PeiServicesAllocatePages (\r
- EfiBootServicesCode,\r
- MemPages,\r
- &AllocateAddress\r
- );\r
+ Status = PeiServicesAllocatePages (\r
+ EfiBootServicesCode,\r
+ MemPages,\r
+ &AllocateAddress\r
+ );\r
if (EFI_ERROR (Status)) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
+\r
CopyMem ((VOID *)(UINTN)AllocateAddress, NewPeiUsbDevice, sizeof (PEI_USB_DEVICE));\r
- NewPeiUsbDevice = (PEI_USB_DEVICE *) ((UINTN) AllocateAddress);\r
- NewPeiUsbDevice->AllocateAddress = (UINTN) AllocateAddress;\r
+ NewPeiUsbDevice = (PEI_USB_DEVICE *)((UINTN)AllocateAddress);\r
+ NewPeiUsbDevice->AllocateAddress = (UINTN)AllocateAddress;\r
NewPeiUsbDevice->UsbIoPpiList.Ppi = &NewPeiUsbDevice->UsbIoPpi;\r
- NewPeiUsbDevice->InterfaceDesc = NewPeiUsbDevice->InterfaceDescList[InterfaceIndex];\r
+ NewPeiUsbDevice->InterfaceDesc = NewPeiUsbDevice->InterfaceDescList[InterfaceIndex];\r
for (EndpointIndex = 0; EndpointIndex < NewPeiUsbDevice->InterfaceDesc->NumEndpoints; EndpointIndex++) {\r
NewPeiUsbDevice->EndpointDesc[EndpointIndex] = NewPeiUsbDevice->EndpointDescList[InterfaceIndex][EndpointIndex];\r
}\r
Status = PeiServicesInstallPpi (&NewPeiUsbDevice->UsbIoPpiList);\r
\r
if (NewPeiUsbDevice->InterfaceDesc->InterfaceClass == 0x09) {\r
- NewPeiUsbDevice->IsHub = 0x1;\r
+ NewPeiUsbDevice->IsHub = 0x1;\r
\r
Status = PeiDoHubConfig (PeiServices, NewPeiUsbDevice);\r
if (EFI_ERROR (Status)) {\r
}\r
}\r
\r
-\r
return EFI_SUCCESS;\r
}\r
\r
**/\r
EFI_STATUS\r
PeiUsbEnumeration (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN PEI_USB_HOST_CONTROLLER_PPI *UsbHcPpi,\r
- IN PEI_USB2_HOST_CONTROLLER_PPI *Usb2HcPpi\r
+ IN EFI_PEI_SERVICES **PeiServices,\r
+ IN PEI_USB_HOST_CONTROLLER_PPI *UsbHcPpi,\r
+ IN PEI_USB2_HOST_CONTROLLER_PPI *Usb2HcPpi\r
)\r
{\r
UINT8 NumOfRootPort;\r
CurrentAddress = 0;\r
if (Usb2HcPpi != NULL) {\r
Usb2HcPpi->GetRootHubPortNumber (\r
- PeiServices,\r
- Usb2HcPpi,\r
- (UINT8 *) &NumOfRootPort\r
- );\r
+ PeiServices,\r
+ Usb2HcPpi,\r
+ (UINT8 *)&NumOfRootPort\r
+ );\r
} else if (UsbHcPpi != NULL) {\r
UsbHcPpi->GetRootHubPortNumber (\r
PeiServices,\r
UsbHcPpi,\r
- (UINT8 *) &NumOfRootPort\r
+ (UINT8 *)&NumOfRootPort\r
);\r
} else {\r
ASSERT (FALSE);\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- DEBUG ((EFI_D_INFO, "PeiUsbEnumeration: NumOfRootPort: %x\n", NumOfRootPort));\r
+ DEBUG ((DEBUG_INFO, "PeiUsbEnumeration: NumOfRootPort: %x\n", NumOfRootPort));\r
\r
for (Index = 0; Index < NumOfRootPort; Index++) {\r
//\r
//\r
if (Usb2HcPpi != NULL) {\r
Usb2HcPpi->GetRootHubPortStatus (\r
- PeiServices,\r
- Usb2HcPpi,\r
- (UINT8) Index,\r
- &PortStatus\r
- );\r
+ PeiServices,\r
+ Usb2HcPpi,\r
+ (UINT8)Index,\r
+ &PortStatus\r
+ );\r
} else {\r
UsbHcPpi->GetRootHubPortStatus (\r
PeiServices,\r
UsbHcPpi,\r
- (UINT8) Index,\r
+ (UINT8)Index,\r
&PortStatus\r
);\r
}\r
- DEBUG ((EFI_D_INFO, "USB Status --- Port: %x ConnectChange[%04x] Status[%04x]\n", Index, PortStatus.PortChangeStatus, PortStatus.PortStatus));\r
+\r
+ DEBUG ((DEBUG_INFO, "USB Status --- Port: %x ConnectChange[%04x] Status[%04x]\n", Index, PortStatus.PortChangeStatus, PortStatus.PortStatus));\r
//\r
// Only handle connection/enable/overcurrent/reset change.\r
//\r
} else {\r
if (IsPortConnect (PortStatus.PortStatus)) {\r
MemPages = sizeof (PEI_USB_DEVICE) / EFI_PAGE_SIZE + 1;\r
- Status = PeiServicesAllocatePages (\r
- EfiBootServicesCode,\r
- MemPages,\r
- &AllocateAddress\r
- );\r
+ Status = PeiServicesAllocatePages (\r
+ EfiBootServicesCode,\r
+ MemPages,\r
+ &AllocateAddress\r
+ );\r
if (EFI_ERROR (Status)) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
- PeiUsbDevice = (PEI_USB_DEVICE *) ((UINTN) AllocateAddress);\r
+ PeiUsbDevice = (PEI_USB_DEVICE *)((UINTN)AllocateAddress);\r
ZeroMem (PeiUsbDevice, sizeof (PEI_USB_DEVICE));\r
\r
- PeiUsbDevice->Signature = PEI_USB_DEVICE_SIGNATURE;\r
- PeiUsbDevice->DeviceAddress = 0;\r
- PeiUsbDevice->MaxPacketSize0 = 8;\r
- PeiUsbDevice->DataToggle = 0;\r
+ PeiUsbDevice->Signature = PEI_USB_DEVICE_SIGNATURE;\r
+ PeiUsbDevice->DeviceAddress = 0;\r
+ PeiUsbDevice->MaxPacketSize0 = 8;\r
+ PeiUsbDevice->DataToggle = 0;\r
CopyMem (\r
&(PeiUsbDevice->UsbIoPpi),\r
&mUsbIoPpi,\r
&mUsbIoPpiList,\r
sizeof (EFI_PEI_PPI_DESCRIPTOR)\r
);\r
- PeiUsbDevice->UsbIoPpiList.Ppi = &PeiUsbDevice->UsbIoPpi;\r
- PeiUsbDevice->AllocateAddress = (UINTN) AllocateAddress;\r
- PeiUsbDevice->UsbHcPpi = UsbHcPpi;\r
- PeiUsbDevice->Usb2HcPpi = Usb2HcPpi;\r
- PeiUsbDevice->IsHub = 0x0;\r
- PeiUsbDevice->DownStreamPortNo = 0x0;\r
+ PeiUsbDevice->UsbIoPpiList.Ppi = &PeiUsbDevice->UsbIoPpi;\r
+ PeiUsbDevice->AllocateAddress = (UINTN)AllocateAddress;\r
+ PeiUsbDevice->UsbHcPpi = UsbHcPpi;\r
+ PeiUsbDevice->Usb2HcPpi = Usb2HcPpi;\r
+ PeiUsbDevice->IsHub = 0x0;\r
+ PeiUsbDevice->DownStreamPortNo = 0x0;\r
\r
if (((PortStatus.PortChangeStatus & USB_PORT_STAT_C_RESET) == 0) ||\r
- ((PortStatus.PortStatus & (USB_PORT_STAT_CONNECTION | USB_PORT_STAT_ENABLE)) == 0)) {\r
+ ((PortStatus.PortStatus & (USB_PORT_STAT_CONNECTION | USB_PORT_STAT_ENABLE)) == 0))\r
+ {\r
//\r
// If the port already has reset change flag and is connected and enabled, skip the port reset logic.\r
//\r
Usb2HcPpi->GetRootHubPortStatus (\r
PeiServices,\r
Usb2HcPpi,\r
- (UINT8) Index,\r
+ (UINT8)Index,\r
&PortStatus\r
);\r
} else {\r
UsbHcPpi->GetRootHubPortStatus (\r
PeiServices,\r
UsbHcPpi,\r
- (UINT8) Index,\r
+ (UINT8)Index,\r
&PortStatus\r
);\r
}\r
} else {\r
if (Usb2HcPpi != NULL) {\r
Usb2HcPpi->ClearRootHubPortFeature (\r
- PeiServices,\r
- Usb2HcPpi,\r
- (UINT8) Index,\r
- EfiUsbPortResetChange\r
- );\r
+ PeiServices,\r
+ Usb2HcPpi,\r
+ (UINT8)Index,\r
+ EfiUsbPortResetChange\r
+ );\r
} else {\r
UsbHcPpi->ClearRootHubPortFeature (\r
PeiServices,\r
UsbHcPpi,\r
- (UINT8) Index,\r
+ (UINT8)Index,\r
EfiUsbPortResetChange\r
);\r
}\r
}\r
\r
- PeiUsbDevice->DeviceSpeed = (UINT8) PeiUsbGetDeviceSpeed (PortStatus.PortStatus);\r
- DEBUG ((EFI_D_INFO, "Device Speed =%d\n", PeiUsbDevice->DeviceSpeed));\r
+ PeiUsbDevice->DeviceSpeed = (UINT8)PeiUsbGetDeviceSpeed (PortStatus.PortStatus);\r
+ DEBUG ((DEBUG_INFO, "Device Speed =%d\n", PeiUsbDevice->DeviceSpeed));\r
\r
- if (USB_BIT_IS_SET (PortStatus.PortStatus, USB_PORT_STAT_SUPER_SPEED)){\r
+ if (USB_BIT_IS_SET (PortStatus.PortStatus, USB_PORT_STAT_SUPER_SPEED)) {\r
PeiUsbDevice->MaxPacketSize0 = 512;\r
} else if (USB_BIT_IS_SET (PortStatus.PortStatus, USB_PORT_STAT_HIGH_SPEED)) {\r
PeiUsbDevice->MaxPacketSize0 = 64;\r
// Configure that Usb Device\r
//\r
Status = PeiConfigureUsbDevice (\r
- PeiServices,\r
- PeiUsbDevice,\r
- Index,\r
- &CurrentAddress\r
- );\r
+ PeiServices,\r
+ PeiUsbDevice,\r
+ Index,\r
+ &CurrentAddress\r
+ );\r
\r
if (EFI_ERROR (Status)) {\r
continue;\r
}\r
- DEBUG ((EFI_D_INFO, "PeiUsbEnumeration: PeiConfigureUsbDevice Success\n"));\r
+\r
+ DEBUG ((DEBUG_INFO, "PeiUsbEnumeration: PeiConfigureUsbDevice Success\n"));\r
\r
Status = PeiServicesInstallPpi (&PeiUsbDevice->UsbIoPpiList);\r
\r
// Begin to deal with the new device\r
//\r
MemPages = sizeof (PEI_USB_DEVICE) / EFI_PAGE_SIZE + 1;\r
- Status = PeiServicesAllocatePages (\r
- EfiBootServicesCode,\r
- MemPages,\r
- &AllocateAddress\r
- );\r
+ Status = PeiServicesAllocatePages (\r
+ EfiBootServicesCode,\r
+ MemPages,\r
+ &AllocateAddress\r
+ );\r
if (EFI_ERROR (Status)) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
+\r
CopyMem ((VOID *)(UINTN)AllocateAddress, PeiUsbDevice, sizeof (PEI_USB_DEVICE));\r
- PeiUsbDevice = (PEI_USB_DEVICE *) ((UINTN) AllocateAddress);\r
- PeiUsbDevice->AllocateAddress = (UINTN) AllocateAddress;\r
+ PeiUsbDevice = (PEI_USB_DEVICE *)((UINTN)AllocateAddress);\r
+ PeiUsbDevice->AllocateAddress = (UINTN)AllocateAddress;\r
PeiUsbDevice->UsbIoPpiList.Ppi = &PeiUsbDevice->UsbIoPpi;\r
- PeiUsbDevice->InterfaceDesc = PeiUsbDevice->InterfaceDescList[InterfaceIndex];\r
+ PeiUsbDevice->InterfaceDesc = PeiUsbDevice->InterfaceDescList[InterfaceIndex];\r
for (EndpointIndex = 0; EndpointIndex < PeiUsbDevice->InterfaceDesc->NumEndpoints; EndpointIndex++) {\r
PeiUsbDevice->EndpointDesc[EndpointIndex] = PeiUsbDevice->EndpointDescList[InterfaceIndex][EndpointIndex];\r
}\r
**/\r
EFI_STATUS\r
PeiConfigureUsbDevice (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN PEI_USB_DEVICE *PeiUsbDevice,\r
- IN UINT8 Port,\r
- IN OUT UINT8 *DeviceAddress\r
+ IN EFI_PEI_SERVICES **PeiServices,\r
+ IN PEI_USB_DEVICE *PeiUsbDevice,\r
+ IN UINT8 Port,\r
+ IN OUT UINT8 *DeviceAddress\r
)\r
{\r
- EFI_USB_DEVICE_DESCRIPTOR DeviceDescriptor;\r
- EFI_STATUS Status;\r
- PEI_USB_IO_PPI *UsbIoPpi;\r
- UINT8 Retry;\r
+ EFI_USB_DEVICE_DESCRIPTOR DeviceDescriptor;\r
+ EFI_STATUS Status;\r
+ PEI_USB_IO_PPI *UsbIoPpi;\r
+ UINT8 Retry;\r
\r
UsbIoPpi = &PeiUsbDevice->UsbIoPpi;\r
Status = EFI_SUCCESS;\r
// Get USB device descriptor\r
//\r
\r
- for (Retry = 0; Retry < 3; Retry ++) {\r
+ for (Retry = 0; Retry < 3; Retry++) {\r
Status = PeiUsbGetDescriptor (\r
PeiServices,\r
UsbIoPpi,\r
);\r
\r
if (!EFI_ERROR (Status)) {\r
- DEBUG ((EFI_D_INFO, "PeiUsbGet Device Descriptor the %d time Success\n", Retry));\r
+ DEBUG ((DEBUG_INFO, "PeiUsbGet Device Descriptor the %d time Success\n", Retry));\r
break;\r
}\r
}\r
\r
if (Retry == 3) {\r
- DEBUG ((EFI_D_ERROR, "PeiUsbGet Device Descriptor fail: %x %r\n", Retry, Status));\r
+ DEBUG ((DEBUG_ERROR, "PeiUsbGet Device Descriptor fail: %x %r\n", Retry, Status));\r
return Status;\r
}\r
\r
PeiUsbDevice->MaxPacketSize0 = DeviceDescriptor.MaxPacketSize0;\r
}\r
\r
- (*DeviceAddress) ++;\r
+ (*DeviceAddress)++;\r
\r
Status = PeiUsbSetDeviceAddress (\r
- PeiServices,\r
- UsbIoPpi,\r
- *DeviceAddress\r
- );\r
+ PeiServices,\r
+ UsbIoPpi,\r
+ *DeviceAddress\r
+ );\r
\r
if (EFI_ERROR (Status)) {\r
- DEBUG ((EFI_D_ERROR, "PeiUsbSetDeviceAddress Failed: %r\n", Status));\r
+ DEBUG ((DEBUG_ERROR, "PeiUsbSetDeviceAddress Failed: %r\n", Status));\r
return Status;\r
}\r
+\r
MicroSecondDelay (USB_SET_DEVICE_ADDRESS_STALL);\r
\r
PeiUsbDevice->DeviceAddress = *DeviceAddress;\r
// Get whole USB device descriptor\r
//\r
Status = PeiUsbGetDescriptor (\r
- PeiServices,\r
- UsbIoPpi,\r
- (USB_DT_DEVICE << 8),\r
- 0,\r
- (UINT16) sizeof (EFI_USB_DEVICE_DESCRIPTOR),\r
- &DeviceDescriptor\r
- );\r
+ PeiServices,\r
+ UsbIoPpi,\r
+ (USB_DT_DEVICE << 8),\r
+ 0,\r
+ (UINT16)sizeof (EFI_USB_DEVICE_DESCRIPTOR),\r
+ &DeviceDescriptor\r
+ );\r
\r
if (EFI_ERROR (Status)) {\r
- DEBUG ((EFI_D_ERROR, "PeiUsbGetDescriptor First Failed\n"));\r
+ DEBUG ((DEBUG_ERROR, "PeiUsbGetDescriptor First Failed\n"));\r
return Status;\r
}\r
\r
// Get its default configuration and its first interface\r
//\r
Status = PeiUsbGetAllConfiguration (\r
- PeiServices,\r
- PeiUsbDevice\r
- );\r
+ PeiServices,\r
+ PeiUsbDevice\r
+ );\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
MicroSecondDelay (USB_GET_CONFIG_DESCRIPTOR_STALL);\r
\r
Status = PeiUsbSetConfiguration (\r
- PeiServices,\r
- UsbIoPpi\r
- );\r
+ PeiServices,\r
+ UsbIoPpi\r
+ );\r
\r
if (EFI_ERROR (Status)) {\r
return Status;\r
**/\r
EFI_STATUS\r
PeiUsbGetAllConfiguration (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN PEI_USB_DEVICE *PeiUsbDevice\r
+ IN EFI_PEI_SERVICES **PeiServices,\r
+ IN PEI_USB_DEVICE *PeiUsbDevice\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_USB_CONFIG_DESCRIPTOR *ConfigDesc;\r
- PEI_USB_IO_PPI *UsbIoPpi;\r
- UINT16 ConfigDescLength;\r
- UINT8 *Ptr;\r
- UINTN SkipBytes;\r
- UINTN LengthLeft;\r
- UINTN InterfaceIndex;\r
- UINTN Index;\r
- UINTN NumOfEndpoint;\r
+ EFI_STATUS Status;\r
+ EFI_USB_CONFIG_DESCRIPTOR *ConfigDesc;\r
+ PEI_USB_IO_PPI *UsbIoPpi;\r
+ UINT16 ConfigDescLength;\r
+ UINT8 *Ptr;\r
+ UINTN SkipBytes;\r
+ UINTN LengthLeft;\r
+ UINTN InterfaceIndex;\r
+ UINTN Index;\r
+ UINTN NumOfEndpoint;\r
\r
UsbIoPpi = &PeiUsbDevice->UsbIoPpi;\r
\r
// First get its 4-byte configuration descriptor\r
//\r
Status = PeiUsbGetDescriptor (\r
- PeiServices,\r
- UsbIoPpi,\r
- (USB_DT_CONFIG << 8), // Value\r
- 0, // Index\r
- 4, // Length\r
- PeiUsbDevice->ConfigurationData\r
- );\r
+ PeiServices,\r
+ UsbIoPpi,\r
+ (USB_DT_CONFIG << 8), // Value\r
+ 0, // Index\r
+ 4, // Length\r
+ PeiUsbDevice->ConfigurationData\r
+ );\r
\r
if (EFI_ERROR (Status)) {\r
- DEBUG ((EFI_D_ERROR, "PeiUsbGet Config Descriptor First Failed\n"));\r
+ DEBUG ((DEBUG_ERROR, "PeiUsbGet Config Descriptor First Failed\n"));\r
return Status;\r
}\r
+\r
MicroSecondDelay (USB_GET_CONFIG_DESCRIPTOR_STALL);\r
\r
- ConfigDesc = (EFI_USB_CONFIG_DESCRIPTOR *) PeiUsbDevice->ConfigurationData;\r
- ConfigDescLength = ConfigDesc->TotalLength;\r
+ ConfigDesc = (EFI_USB_CONFIG_DESCRIPTOR *)PeiUsbDevice->ConfigurationData;\r
+ ConfigDescLength = ConfigDesc->TotalLength;\r
\r
//\r
// Reject if TotalLength even cannot cover itself.\r
// Then we get the total descriptors for this configuration\r
//\r
Status = PeiUsbGetDescriptor (\r
- PeiServices,\r
- UsbIoPpi,\r
- (USB_DT_CONFIG << 8),\r
- 0,\r
- ConfigDescLength,\r
- PeiUsbDevice->ConfigurationData\r
- );\r
+ PeiServices,\r
+ UsbIoPpi,\r
+ (USB_DT_CONFIG << 8),\r
+ 0,\r
+ ConfigDescLength,\r
+ PeiUsbDevice->ConfigurationData\r
+ );\r
\r
if (EFI_ERROR (Status)) {\r
- DEBUG ((EFI_D_ERROR, "PeiUsbGet Config Descriptor all Failed\n"));\r
+ DEBUG ((DEBUG_ERROR, "PeiUsbGet Config Descriptor all Failed\n"));\r
return Status;\r
}\r
+\r
//\r
// Parse this configuration descriptor\r
// First get the current config descriptor;\r
//\r
Status = GetExpectedDescriptor (\r
- PeiUsbDevice->ConfigurationData,\r
- ConfigDescLength,\r
- USB_DT_CONFIG,\r
- (UINT8) sizeof (EFI_USB_CONFIG_DESCRIPTOR),\r
- &SkipBytes\r
- );\r
+ PeiUsbDevice->ConfigurationData,\r
+ ConfigDescLength,\r
+ USB_DT_CONFIG,\r
+ (UINT8)sizeof (EFI_USB_CONFIG_DESCRIPTOR),\r
+ &SkipBytes\r
+ );\r
\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
\r
- Ptr = PeiUsbDevice->ConfigurationData + SkipBytes;\r
- PeiUsbDevice->ConfigDesc = (EFI_USB_CONFIG_DESCRIPTOR *) Ptr;\r
+ Ptr = PeiUsbDevice->ConfigurationData + SkipBytes;\r
+ PeiUsbDevice->ConfigDesc = (EFI_USB_CONFIG_DESCRIPTOR *)Ptr;\r
\r
- Ptr += sizeof (EFI_USB_CONFIG_DESCRIPTOR);\r
+ Ptr += sizeof (EFI_USB_CONFIG_DESCRIPTOR);\r
LengthLeft = ConfigDescLength - SkipBytes - sizeof (EFI_USB_CONFIG_DESCRIPTOR);\r
\r
for (InterfaceIndex = 0; InterfaceIndex < PeiUsbDevice->ConfigDesc->NumInterfaces; InterfaceIndex++) {\r
-\r
//\r
// Get the interface descriptor\r
//\r
Status = GetExpectedDescriptor (\r
- Ptr,\r
- LengthLeft,\r
- USB_DT_INTERFACE,\r
- (UINT8) sizeof (EFI_USB_INTERFACE_DESCRIPTOR),\r
- &SkipBytes\r
- );\r
+ Ptr,\r
+ LengthLeft,\r
+ USB_DT_INTERFACE,\r
+ (UINT8)sizeof (EFI_USB_INTERFACE_DESCRIPTOR),\r
+ &SkipBytes\r
+ );\r
\r
if (EFI_ERROR (Status)) {\r
return Status;\r
\r
Ptr += SkipBytes;\r
if (InterfaceIndex == 0) {\r
- PeiUsbDevice->InterfaceDesc = (EFI_USB_INTERFACE_DESCRIPTOR *) Ptr;\r
+ PeiUsbDevice->InterfaceDesc = (EFI_USB_INTERFACE_DESCRIPTOR *)Ptr;\r
}\r
- PeiUsbDevice->InterfaceDescList[InterfaceIndex] = (EFI_USB_INTERFACE_DESCRIPTOR *) Ptr;\r
\r
- Ptr += sizeof (EFI_USB_INTERFACE_DESCRIPTOR);\r
+ PeiUsbDevice->InterfaceDescList[InterfaceIndex] = (EFI_USB_INTERFACE_DESCRIPTOR *)Ptr;\r
+\r
+ Ptr += sizeof (EFI_USB_INTERFACE_DESCRIPTOR);\r
LengthLeft -= SkipBytes;\r
LengthLeft -= sizeof (EFI_USB_INTERFACE_DESCRIPTOR);\r
\r
// Get the endpoint descriptor\r
//\r
Status = GetExpectedDescriptor (\r
- Ptr,\r
- LengthLeft,\r
- USB_DT_ENDPOINT,\r
- (UINT8) sizeof (EFI_USB_ENDPOINT_DESCRIPTOR),\r
- &SkipBytes\r
- );\r
+ Ptr,\r
+ LengthLeft,\r
+ USB_DT_ENDPOINT,\r
+ (UINT8)sizeof (EFI_USB_ENDPOINT_DESCRIPTOR),\r
+ &SkipBytes\r
+ );\r
\r
if (EFI_ERROR (Status)) {\r
return Status;\r
\r
Ptr += SkipBytes;\r
if (InterfaceIndex == 0) {\r
- PeiUsbDevice->EndpointDesc[Index] = (EFI_USB_ENDPOINT_DESCRIPTOR *) Ptr;\r
+ PeiUsbDevice->EndpointDesc[Index] = (EFI_USB_ENDPOINT_DESCRIPTOR *)Ptr;\r
}\r
- PeiUsbDevice->EndpointDescList[InterfaceIndex][Index] = (EFI_USB_ENDPOINT_DESCRIPTOR *) Ptr;\r
\r
- Ptr += sizeof (EFI_USB_ENDPOINT_DESCRIPTOR);\r
+ PeiUsbDevice->EndpointDescList[InterfaceIndex][Index] = (EFI_USB_ENDPOINT_DESCRIPTOR *)Ptr;\r
+\r
+ Ptr += sizeof (EFI_USB_ENDPOINT_DESCRIPTOR);\r
LengthLeft -= SkipBytes;\r
LengthLeft -= sizeof (EFI_USB_ENDPOINT_DESCRIPTOR);\r
}\r
**/\r
EFI_STATUS\r
GetExpectedDescriptor (\r
- IN UINT8 *Buffer,\r
- IN UINTN Length,\r
- IN UINT8 DescType,\r
- IN UINT8 DescLength,\r
- OUT UINTN *ParsedBytes\r
+ IN UINT8 *Buffer,\r
+ IN UINTN Length,\r
+ IN UINT8 DescType,\r
+ IN UINT8 DescLength,\r
+ OUT UINTN *ParsedBytes\r
)\r
{\r
- USB_DESC_HEAD *Head;\r
- UINTN Offset;\r
+ USB_DESC_HEAD *Head;\r
+ UINTN Offset;\r
\r
//\r
- // Total length is too small that cannot hold the single descriptor header plus data. \r
+ // Total length is too small that cannot hold the single descriptor header plus data.\r
//\r
if (Length <= sizeof (USB_DESC_HEAD)) {\r
DEBUG ((DEBUG_ERROR, "GetExpectedDescriptor: met mal-format descriptor, total length = %d!\n", Length));\r
**/\r
VOID\r
ResetRootPort (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN PEI_USB_HOST_CONTROLLER_PPI *UsbHcPpi,\r
- IN PEI_USB2_HOST_CONTROLLER_PPI *Usb2HcPpi,\r
- IN UINT8 PortNum,\r
- IN UINT8 RetryIndex\r
+ IN EFI_PEI_SERVICES **PeiServices,\r
+ IN PEI_USB_HOST_CONTROLLER_PPI *UsbHcPpi,\r
+ IN PEI_USB2_HOST_CONTROLLER_PPI *Usb2HcPpi,\r
+ IN UINT8 PortNum,\r
+ IN UINT8 RetryIndex\r
)\r
{\r
- EFI_STATUS Status;\r
- UINTN Index;\r
- EFI_USB_PORT_STATUS PortStatus;\r
-\r
+ EFI_STATUS Status;\r
+ UINTN Index;\r
+ EFI_USB_PORT_STATUS PortStatus;\r
\r
if (Usb2HcPpi != NULL) {\r
MicroSecondDelay (200 * 1000);\r
// reset root port\r
//\r
Status = Usb2HcPpi->SetRootHubPortFeature (\r
- PeiServices,\r
- Usb2HcPpi,\r
- PortNum,\r
- EfiUsbPortReset\r
- );\r
+ PeiServices,\r
+ Usb2HcPpi,\r
+ PortNum,\r
+ EfiUsbPortReset\r
+ );\r
\r
if (EFI_ERROR (Status)) {\r
- DEBUG ((EFI_D_ERROR, "SetRootHubPortFeature EfiUsbPortReset Failed\n"));\r
+ DEBUG ((DEBUG_ERROR, "SetRootHubPortFeature EfiUsbPortReset Failed\n"));\r
return;\r
}\r
\r
// clear reset root port\r
//\r
Status = Usb2HcPpi->ClearRootHubPortFeature (\r
- PeiServices,\r
- Usb2HcPpi,\r
- PortNum,\r
- EfiUsbPortReset\r
- );\r
+ PeiServices,\r
+ Usb2HcPpi,\r
+ PortNum,\r
+ EfiUsbPortReset\r
+ );\r
\r
if (EFI_ERROR (Status)) {\r
- DEBUG ((EFI_D_ERROR, "ClearRootHubPortFeature EfiUsbPortReset Failed\n"));\r
+ DEBUG ((DEBUG_ERROR, "ClearRootHubPortFeature EfiUsbPortReset Failed\n"));\r
return;\r
}\r
\r
}\r
\r
if (Index == USB_WAIT_PORT_STS_CHANGE_LOOP) {\r
- DEBUG ((EFI_D_ERROR, "ResetRootPort: reset not finished in time on port %d\n", PortNum));\r
+ DEBUG ((DEBUG_ERROR, "ResetRootPort: reset not finished in time on port %d\n", PortNum));\r
return;\r
}\r
\r
Usb2HcPpi->ClearRootHubPortFeature (\r
- PeiServices,\r
- Usb2HcPpi,\r
- PortNum,\r
- EfiUsbPortResetChange\r
- );\r
+ PeiServices,\r
+ Usb2HcPpi,\r
+ PortNum,\r
+ EfiUsbPortResetChange\r
+ );\r
\r
Usb2HcPpi->ClearRootHubPortFeature (\r
- PeiServices,\r
- Usb2HcPpi,\r
- PortNum,\r
- EfiUsbPortConnectChange\r
- );\r
+ PeiServices,\r
+ Usb2HcPpi,\r
+ PortNum,\r
+ EfiUsbPortConnectChange\r
+ );\r
\r
//\r
// Set port enable\r
//\r
- Usb2HcPpi->SetRootHubPortFeature(\r
- PeiServices,\r
- Usb2HcPpi,\r
- PortNum,\r
- EfiUsbPortEnable\r
- );\r
+ Usb2HcPpi->SetRootHubPortFeature (\r
+ PeiServices,\r
+ Usb2HcPpi,\r
+ PortNum,\r
+ EfiUsbPortEnable\r
+ );\r
\r
Usb2HcPpi->ClearRootHubPortFeature (\r
- PeiServices,\r
- Usb2HcPpi,\r
- PortNum,\r
- EfiUsbPortEnableChange\r
- );\r
+ PeiServices,\r
+ Usb2HcPpi,\r
+ PortNum,\r
+ EfiUsbPortEnableChange\r
+ );\r
\r
MicroSecondDelay ((RetryIndex + 1) * 50 * 1000);\r
} else {\r
);\r
\r
if (EFI_ERROR (Status)) {\r
- DEBUG ((EFI_D_ERROR, "SetRootHubPortFeature EfiUsbPortReset Failed\n"));\r
+ DEBUG ((DEBUG_ERROR, "SetRootHubPortFeature EfiUsbPortReset Failed\n"));\r
return;\r
}\r
\r
);\r
\r
if (EFI_ERROR (Status)) {\r
- DEBUG ((EFI_D_ERROR, "ClearRootHubPortFeature EfiUsbPortReset Failed\n"));\r
+ DEBUG ((DEBUG_ERROR, "ClearRootHubPortFeature EfiUsbPortReset Failed\n"));\r
return;\r
}\r
\r
}\r
\r
if (Index == USB_WAIT_PORT_STS_CHANGE_LOOP) {\r
- DEBUG ((EFI_D_ERROR, "ResetRootPort: reset not finished in time on port %d\n", PortNum));\r
+ DEBUG ((DEBUG_ERROR, "ResetRootPort: reset not finished in time on port %d\n", PortNum));\r
return;\r
}\r
\r
//\r
// Set port enable\r
//\r
- UsbHcPpi->SetRootHubPortFeature(\r
+ UsbHcPpi->SetRootHubPortFeature (\r
PeiServices,\r
UsbHcPpi,\r
PortNum,\r
\r
MicroSecondDelay ((RetryIndex + 1) * 50 * 1000);\r
}\r
+\r
return;\r
}\r
-\r
-\r