From 6c128c65b5ec0e5b8b5a0ccb165f3afd29e485f8 Mon Sep 17 00:00:00 2001 From: Guo Mang Date: Wed, 2 Aug 2017 09:54:47 +0800 Subject: Remove core packages since we can get them from edk2 repository Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Guo Mang --- MdeModulePkg/Include/Ppi/AtaController.h | 162 --------------- MdeModulePkg/Include/Ppi/PostBootScriptTable.h | 27 --- MdeModulePkg/Include/Ppi/SecPerformance.h | 67 ------ MdeModulePkg/Include/Ppi/SerialPortPei.h | 26 --- MdeModulePkg/Include/Ppi/SmmAccess.h | 145 ------------- MdeModulePkg/Include/Ppi/SmmCommunication.h | 64 ------ MdeModulePkg/Include/Ppi/SmmControl.h | 96 --------- MdeModulePkg/Include/Ppi/UfsHostController.h | 60 ------ MdeModulePkg/Include/Ppi/Usb2HostController.h | 269 ------------------------- MdeModulePkg/Include/Ppi/UsbController.h | 94 --------- MdeModulePkg/Include/Ppi/UsbHostController.h | 257 ----------------------- MdeModulePkg/Include/Ppi/UsbIo.h | 196 ------------------ 12 files changed, 1463 deletions(-) delete mode 100644 MdeModulePkg/Include/Ppi/AtaController.h delete mode 100644 MdeModulePkg/Include/Ppi/PostBootScriptTable.h delete mode 100644 MdeModulePkg/Include/Ppi/SecPerformance.h delete mode 100644 MdeModulePkg/Include/Ppi/SerialPortPei.h delete mode 100644 MdeModulePkg/Include/Ppi/SmmAccess.h delete mode 100644 MdeModulePkg/Include/Ppi/SmmCommunication.h delete mode 100644 MdeModulePkg/Include/Ppi/SmmControl.h delete mode 100644 MdeModulePkg/Include/Ppi/UfsHostController.h delete mode 100644 MdeModulePkg/Include/Ppi/Usb2HostController.h delete mode 100644 MdeModulePkg/Include/Ppi/UsbController.h delete mode 100644 MdeModulePkg/Include/Ppi/UsbHostController.h delete mode 100644 MdeModulePkg/Include/Ppi/UsbIo.h (limited to 'MdeModulePkg/Include/Ppi') diff --git a/MdeModulePkg/Include/Ppi/AtaController.h b/MdeModulePkg/Include/Ppi/AtaController.h deleted file mode 100644 index aa4ae56d04..0000000000 --- a/MdeModulePkg/Include/Ppi/AtaController.h +++ /dev/null @@ -1,162 +0,0 @@ -/** @file - Define the PPI to abstract the functions that enable IDE and SATA channels, and to retrieve - the base I/O port address for each of the enabled IDE and SATA channels. - -Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.
- -This program and the accompanying materials -are licensed and made available under the terms and conditions -of the BSD License which accompanies this distribution. The -full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#ifndef _PEI_ATA_CONTROLLER_PPI_H_ -#define _PEI_ATA_CONTROLLER_PPI_H_ - -/// -/// Global ID for the PEI_ATA_CONTROLLER_PPI. -/// -#define PEI_ATA_CONTROLLER_PPI_GUID \ - { \ - 0xa45e60d1, 0xc719, 0x44aa, {0xb0, 0x7a, 0xaa, 0x77, 0x7f, 0x85, 0x90, 0x6d } \ - } - -/// -/// Forward declaration for the PEI_ATA_CONTROLLER_PPI. -/// -typedef struct _PEI_ATA_CONTROLLER_PPI PEI_ATA_CONTROLLER_PPI; - -/// -/// This bit is used in the ChannelMask parameter of EnableAtaChannel() to -/// disable the IDE channels. -/// This is designed for old generation chipset with PATA/SATA controllers. -/// It may be ignored in PPI implementation for new generation chipset without PATA controller. -/// -#define PEI_ICH_IDE_NONE 0x00 - -/// -/// This bit is used in the ChannelMask parameter of EnableAtaChannel() to -/// enable the Primary IDE channel. -/// This is designed for old generation chipset with PATA/SATA controllers. -/// It may be ignored in PPI implementation for new generation chipset without PATA controller. -/// -#define PEI_ICH_IDE_PRIMARY 0x01 - -/// -/// This bit is used in the ChannelMask parameter of EnableAtaChannel() to -/// enable the Secondary IDE channel. -/// This is designed for old generation chipset with PATA/SATA controllers. -/// It may be ignored in PPI implementation for new generation chipset without PATA controller. -/// -#define PEI_ICH_IDE_SECONDARY 0x02 - -/// -/// This bit is used in the ChannelMask parameter of EnableAtaChannel() to -/// disable the SATA channel. -/// This is designed for old generation chipset with PATA/SATA controllers. -/// It may be ignored in PPI implementation for new generation chipset without PATA controller. -/// -#define PEI_ICH_SATA_NONE 0x04 - -/// -/// This bit is used in the ChannelMask parameter of EnableAtaChannel() to -/// enable the Primary SATA channel. -/// This is designed for old generation chipset with PATA/SATA controllers. -/// It may be ignored in PPI implementation for new generation chipset without PATA controller. -/// -#define PEI_ICH_SATA_PRIMARY 0x08 - -/// -/// This bit is used in the ChannelMask parameter of EnableAtaChannel() to -/// enable the Secondary SATA channel. -/// This is designed for old generation chipset with PATA/SATA controllers. -/// It may be ignored in PPI implementation for new generation chipset without PATA controller. -/// -#define PEI_ICH_SATA_SECONDARY 0x010 - -/// -/// Structure that contains the base addresses for the IDE registers -/// -typedef struct { - /// - /// Base I/O port address of the IDE controller's command block - /// - UINT16 CommandBlockBaseAddr; - /// - /// Base I/O port address of the IDE controller's control block - /// - UINT16 ControlBlockBaseAddr; -} IDE_REGS_BASE_ADDR; - -/** - Sets IDE and SATA channels to an enabled or disabled state. - - This service enables or disables the IDE and SATA channels specified by ChannelMask. - It may ignore ChannelMask setting to enable or disable IDE and SATA channels based on the platform policy. - The number of the enabled channels will be returned by GET_IDE_REGS_BASE_ADDR() function. - - If the new state is set, then EFI_SUCCESS is returned. If the new state can - not be set, then EFI_DEVICE_ERROR is returned. - - @param[in] PeiServices The pointer to the PEI Services Table. - @param[in] This The pointer to this instance of the PEI_ATA_CONTROLLER_PPI. - @param[in] ChannelMask The bitmask that identifies the IDE and SATA channels to - enable or disable. This paramter is optional. - - @retval EFI_SUCCESS The IDE or SATA channels were enabled or disabled successfully. - @retval EFI_DEVICE_ERROR The IDE or SATA channels could not be enabled or disabled. - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_ENABLE_ATA)( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_ATA_CONTROLLER_PPI *This, - IN UINT8 ChannelMask - ); - -/** - Retrieves the I/O port base addresses for command and control registers of the - enabled IDE/SATA channels. - - This service fills in the structure poionted to by IdeRegsBaseAddr with the I/O - port base addresses for the command and control registers of the IDE and SATA - channels that were previously enabled in EnableAtaChannel(). The number of - enabled IDE and SATA channels is returned. - - @param[in] PeiServices The pointer to the PEI Services Table. - @param[in] This The pointer to this instance of the PEI_ATA_CONTROLLER_PPI. - @param[out] IdeRegsBaseAddr The pointer to caller allocated space to return the - I/O port base addresses of the IDE and SATA channels - that were previosuly enabled with EnableAtaChannel(). - - @return The number of enabled IDE and SATA channels in the platform. - -**/ -typedef -UINT32 -(EFIAPI *GET_IDE_REGS_BASE_ADDR)( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_ATA_CONTROLLER_PPI *This, - OUT IDE_REGS_BASE_ADDR *IdeRegsBaseAddr - ); - -/// -/// This PPI contains services to enable and disable IDE and SATA channels and -/// retrieves the base I/O port addresses to the enabled IDE and SATA channels. -/// -struct _PEI_ATA_CONTROLLER_PPI { - PEI_ENABLE_ATA EnableAtaChannel; - GET_IDE_REGS_BASE_ADDR GetIdeRegsBaseAddr; -}; - -extern EFI_GUID gPeiAtaControllerPpiGuid; - -#endif - - diff --git a/MdeModulePkg/Include/Ppi/PostBootScriptTable.h b/MdeModulePkg/Include/Ppi/PostBootScriptTable.h deleted file mode 100644 index 5c152dfda0..0000000000 --- a/MdeModulePkg/Include/Ppi/PostBootScriptTable.h +++ /dev/null @@ -1,27 +0,0 @@ -/** @file - POST BootScript Table PPI definition. - - This PPI is used to be notification after boot script table execution. - - Copyright (c) 2010, Intel Corporation. All rights reserved.
- - This program and the accompanying materials - are licensed and made available under the terms and conditions - of the BSD License which accompanies this distribution. The - full text of the license may be found at - http://opensource.org/licenses/bsd-license.php - - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#ifndef _PEI_POST_BOOT_SCRIPT_TABLE_H_ -#define _PEI_POST_BOOT_SCRIPT_TABLE_H_ - -#define PEI_POST_BOOT_SCRIPT_TABLE_PPI_GUID \ - {0x88c9d306, 0x900, 0x4eb5, 0x82, 0x60, 0x3e, 0x2d, 0xbe, 0xda, 0x1f, 0x89}; - -extern EFI_GUID gPeiPostScriptTablePpiGuid; - -#endif diff --git a/MdeModulePkg/Include/Ppi/SecPerformance.h b/MdeModulePkg/Include/Ppi/SecPerformance.h deleted file mode 100644 index f8e2cf171e..0000000000 --- a/MdeModulePkg/Include/Ppi/SecPerformance.h +++ /dev/null @@ -1,67 +0,0 @@ -/** @file - Defines the interface to convey performance information from SEC phase to PEI. - -Copyright (c) 2011, Intel Corporation. All rights reserved.
- -This program and the accompanying materials -are licensed and made available under the terms and conditions -of the BSD License which accompanies this distribution. The -full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#ifndef _PEI_SEC_PERFORMANCE_PPI_H_ -#define _PEI_SEC_PERFORMANCE_PPI_H_ - -#define PEI_SEC_PERFORMANCE_PPI_GUID \ - { \ - 0x0ecc666b, 0x4662, 0x47f9, {0x9d, 0xd5, 0xd0, 0x96, 0xff, 0x7d, 0xa4, 0x9e } \ - } - -typedef struct _PEI_SEC_PERFORMANCE_PPI PEI_SEC_PERFORMANCE_PPI; - -/// -/// Performance data collected in SEC phase. -/// -typedef struct { - UINT64 ResetEnd; ///< Timer value logged at the beginning of firmware image execution, in unit of nanosecond. -} FIRMWARE_SEC_PERFORMANCE; - -/** - This interface conveys performance information out of the Security (SEC) phase into PEI. - - This service is published by the SEC phase. The SEC phase handoff has an optional - EFI_PEI_PPI_DESCRIPTOR list as its final argument when control is passed from SEC into the - PEI Foundation. As such, if the platform supports collecting performance data in SEC, - this information is encapsulated into the data structure abstracted by this service. - This information is collected for the boot-strap processor (BSP) on IA-32. - - @param[in] PeiServices The pointer to the PEI Services Table. - @param[in] This The pointer to this instance of the PEI_SEC_PERFORMANCE_PPI. - @param[out] Performance The pointer to performance data collected in SEC phase. - - @retval EFI_SUCCESS The performance data was successfully returned. - -**/ -typedef -EFI_STATUS -(EFIAPI *GET_SEC_PERFORMANCE) ( - IN CONST EFI_PEI_SERVICES **PeiServices, - IN PEI_SEC_PERFORMANCE_PPI *This, - OUT FIRMWARE_SEC_PERFORMANCE *Performance - ); - -/// -/// This PPI provides function to get performance data collected in SEC phase. -/// -struct _PEI_SEC_PERFORMANCE_PPI { - GET_SEC_PERFORMANCE GetPerformance; -}; - -extern EFI_GUID gPeiSecPerformancePpiGuid; - -#endif diff --git a/MdeModulePkg/Include/Ppi/SerialPortPei.h b/MdeModulePkg/Include/Ppi/SerialPortPei.h deleted file mode 100644 index 2b754f9cca..0000000000 --- a/MdeModulePkg/Include/Ppi/SerialPortPei.h +++ /dev/null @@ -1,26 +0,0 @@ -/** @file - PPI that is installed after the initialization of a serial stream device - is complete. - - Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.
- This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which accompanies this distribution. The full text of the license may be found at - http://opensource.org/licenses/bsd-license.php. - - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#ifndef __PEI_SERIAL_PORT_PPI_H__ -#define __PEI_SERIAL_PORT_PPI_H__ - -#define PEI_SERIAL_PORT_PPI \ - { \ - 0x490e9d85, 0x8aef, 0x4193, { 0x8e, 0x56, 0xf7, 0x34, 0xa9, 0xff, 0xac, 0x8b } \ - } - -extern EFI_GUID gPeiSerialPortPpiGuid; - -#endif diff --git a/MdeModulePkg/Include/Ppi/SmmAccess.h b/MdeModulePkg/Include/Ppi/SmmAccess.h deleted file mode 100644 index 085ad644c8..0000000000 --- a/MdeModulePkg/Include/Ppi/SmmAccess.h +++ /dev/null @@ -1,145 +0,0 @@ -/** @file - EFI SMM Access PPI definition. - - This PPI is used to control the visibility of the SMRAM on the platform. - It abstracts the location and characteristics of SMRAM. The expectation is - that the north bridge or memory controller would publish this PPI. - - The principal functionality found in the memory controller includes the following: - - Exposing the SMRAM to all non-SMM agents, or the "open" state - - Shrouding the SMRAM to all but the SMM agents, or the "closed" state - - Preserving the system integrity, or "locking" the SMRAM, such that the settings cannot be - perturbed by either boot service or runtime agents - -Copyright (c) 2010, Intel Corporation. All rights reserved.
- -This program and the accompanying materials -are licensed and made available under the terms and conditions -of the BSD License which accompanies this distribution. The -full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#ifndef _SMM_ACCESS_PPI_H_ -#define _SMM_ACCESS_PPI_H_ - -#define PEI_SMM_ACCESS_PPI_GUID \ - { 0x268f33a9, 0xcccd, 0x48be, { 0x88, 0x17, 0x86, 0x5, 0x3a, 0xc3, 0x2e, 0xd6 }} - -typedef struct _PEI_SMM_ACCESS_PPI PEI_SMM_ACCESS_PPI; - -/** - Opens the SMRAM area to be accessible by a PEIM driver. - - This function "opens" SMRAM so that it is visible while not inside of SMM. The function should - return EFI_UNSUPPORTED if the hardware does not support hiding of SMRAM. The function - should return EFI_DEVICE_ERROR if the SMRAM configuration is locked. - - @param PeiServices General purpose services available to every PEIM. - @param This The pointer to the SMM Access Interface. - @param DescriptorIndex The region of SMRAM to Open. - - @retval EFI_SUCCESS The region was successfully opened. - @retval EFI_DEVICE_ERROR The region could not be opened because locked by chipset. - @retval EFI_INVALID_PARAMETER The descriptor index was out of bounds. - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_SMM_OPEN)( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_SMM_ACCESS_PPI *This, - IN UINTN DescriptorIndex - ); - -/** - Inhibits access to the SMRAM. - - This function "closes" SMRAM so that it is not visible while outside of SMM. The function should - return EFI_UNSUPPORTED if the hardware does not support hiding of SMRAM. - - @param PeiServices General purpose services available to every PEIM. - @param This The pointer to the SMM Access Interface. - @param DescriptorIndex The region of SMRAM to Close. - - @retval EFI_SUCCESS The region was successfully closed. - @retval EFI_DEVICE_ERROR The region could not be closed because locked by chipset. - @retval EFI_INVALID_PARAMETER The descriptor index was out of bounds. - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_SMM_CLOSE)( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_SMM_ACCESS_PPI *This, - IN UINTN DescriptorIndex - ); - -/** - Inhibits access to the SMRAM. - - This function prohibits access to the SMRAM region. This function is usually implemented such - that it is a write-once operation. - - @param PeiServices General purpose services available to every PEIM. - @param This The pointer to the SMM Access Interface. - @param DescriptorIndex The region of SMRAM to Close. - - @retval EFI_SUCCESS The region was successfully locked. - @retval EFI_DEVICE_ERROR The region could not be locked because at least - one range is still open. - @retval EFI_INVALID_PARAMETER The descriptor index was out of bounds. - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_SMM_LOCK)( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_SMM_ACCESS_PPI *This, - IN UINTN DescriptorIndex - ); - -/** - Queries the memory controller for the possible regions that will support SMRAM. - - @param PeiServices General purpose services available to every PEIM. - @param This The pointer to the SmmAccessPpi Interface. - @param SmramMapSize The pointer to the variable containing size of the - buffer to contain the description information. - @param SmramMap The buffer containing the data describing the Smram - region descriptors. - - @retval EFI_BUFFER_TOO_SMALL The user did not provide a sufficient buffer. - @retval EFI_SUCCESS The user provided a sufficiently-sized buffer. - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_SMM_CAPABILITIES)( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_SMM_ACCESS_PPI *This, - IN OUT UINTN *SmramMapSize, - IN OUT EFI_SMRAM_DESCRIPTOR *SmramMap - ); - -/// -/// EFI SMM Access PPI is used to control the visibility of the SMRAM on the platform. -/// It abstracts the location and characteristics of SMRAM. The expectation is -/// that the north bridge or memory controller would publish this PPI. -/// -struct _PEI_SMM_ACCESS_PPI { - PEI_SMM_OPEN Open; - PEI_SMM_CLOSE Close; - PEI_SMM_LOCK Lock; - PEI_SMM_CAPABILITIES GetCapabilities; - BOOLEAN LockState; - BOOLEAN OpenState; -}; - -extern EFI_GUID gPeiSmmAccessPpiGuid; - -#endif diff --git a/MdeModulePkg/Include/Ppi/SmmCommunication.h b/MdeModulePkg/Include/Ppi/SmmCommunication.h deleted file mode 100644 index a22ed9f6d3..0000000000 --- a/MdeModulePkg/Include/Ppi/SmmCommunication.h +++ /dev/null @@ -1,64 +0,0 @@ -/** @file - EFI SMM Communication PPI definition. - - This Ppi provides a means of communicating between PEIM and SMI - handlers inside of SMM. - This Ppi is produced and consumed only in S3 resume boot path. - It is NOT available in normal boot path. - -Copyright (c) 2010, Intel Corporation. All rights reserved.
- -This program and the accompanying materials -are licensed and made available under the terms and conditions -of the BSD License which accompanies this distribution. The -full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - - -#ifndef _SMM_COMMUNICATION_PPI_H_ -#define _SMM_COMMUNICATION_PPI_H_ - -#define EFI_PEI_SMM_COMMUNICATION_PPI_GUID \ - { \ - 0xae933e1c, 0xcc47, 0x4e38, { 0x8f, 0xe, 0xe2, 0xf6, 0x1d, 0x26, 0x5, 0xdf } \ - } - -typedef struct _EFI_PEI_SMM_COMMUNICATION_PPI EFI_PEI_SMM_COMMUNICATION_PPI; - -/** - Communicates with a registered handler. - - This function provides a service to send and receive messages from a registered UEFI service. - - @param[in] This The EFI_PEI_SMM_COMMUNICATION_PPI instance. - @param[in] CommBuffer A pointer to the buffer to convey into SMRAM. - @param[in] CommSize The size of the data buffer being passed in.On exit, the size of data - being returned. Zero if the handler does not wish to reply with any data. - - @retval EFI_SUCCESS The message was successfully posted. - @retval EFI_INVALID_PARAMETER The CommBuffer was NULL. -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_PEI_SMM_COMMUNICATE)( - IN CONST EFI_PEI_SMM_COMMUNICATION_PPI *This, - IN OUT VOID *CommBuffer, - IN OUT UINTN *CommSize - ); - -/// -/// EFI SMM Communication Protocol provides runtime services for communicating -/// between DXE drivers and a registered SMI handler. -/// -struct _EFI_PEI_SMM_COMMUNICATION_PPI { - EFI_PEI_SMM_COMMUNICATE Communicate; -}; - -extern EFI_GUID gEfiPeiSmmCommunicationPpiGuid; - -#endif diff --git a/MdeModulePkg/Include/Ppi/SmmControl.h b/MdeModulePkg/Include/Ppi/SmmControl.h deleted file mode 100644 index 341a29ba2a..0000000000 --- a/MdeModulePkg/Include/Ppi/SmmControl.h +++ /dev/null @@ -1,96 +0,0 @@ -/** @file - EFI SMM Control PPI definition. - - This PPI is used to initiate SMI/PMI activations. This protocol could be published by either: - - A processor driver to abstract the SMI/PMI IPI - - The driver that abstracts the ASIC that is supporting the APM port, such as the ICH in an - Intel chipset - Because of the possibility of performing SMI or PMI IPI transactions, the ability to generate this - event from a platform chipset agent is an optional capability for both IA-32 and Itanium-based - systems. - - Copyright (c) 2010, Intel Corporation. All rights reserved.
- - This program and the accompanying materials - are licensed and made available under the terms and conditions - of the BSD License which accompanies this distribution. The - full text of the license may be found at - http://opensource.org/licenses/bsd-license.php - - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - - -#ifndef _SMM_CONTROL_PPI_H_ -#define _SMM_CONTROL_PPI_H_ - -#define PEI_SMM_CONTROL_PPI_GUID \ - { 0x61c68702, 0x4d7e, 0x4f43, 0x8d, 0xef, 0xa7, 0x43, 0x5, 0xce, 0x74, 0xc5 } - -typedef struct _PEI_SMM_CONTROL_PPI PEI_SMM_CONTROL_PPI; - -/** - Invokes SMI activation from either the preboot or runtime environment. - - @param PeiServices General purpose services available to every PEIM. - @param This The PEI_SMM_CONTROL_PPI instance. - @param ArgumentBuffer The optional sized data to pass into the protocol activation. - @param ArgumentBufferSize The optional size of the data. - @param Periodic An optional mechanism to periodically repeat activation. - @param ActivationInterval An optional parameter to repeat at this period one - time or, if the Periodic Boolean is set, periodically. - - @retval EFI_SUCCESS The SMI/PMI has been engendered. - @retval EFI_DEVICE_ERROR The timing is unsupported. - @retval EFI_INVALID_PARAMETER The activation period is unsupported. - @retval EFI_NOT_STARTED The SMM base service has not been initialized. - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_SMM_ACTIVATE) ( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_SMM_CONTROL_PPI * This, - IN OUT INT8 *ArgumentBuffer OPTIONAL, - IN OUT UINTN *ArgumentBufferSize OPTIONAL, - IN BOOLEAN Periodic OPTIONAL, - IN UINTN ActivationInterval OPTIONAL - ); - -/** - Clears any system state that was created in response to the Active call. - - @param PeiServices General purpose services available to every PEIM. - @param This The PEI_SMM_CONTROL_PPI instance. - @param Periodic Optional parameter to repeat at this period one - time or, if the Periodic Boolean is set, periodically. - - @retval EFI_SUCCESS The SMI/PMI has been engendered. - @retval EFI_DEVICE_ERROR The source could not be cleared. - @retval EFI_INVALID_PARAMETER The service did not support the Periodic input argument. - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_SMM_DEACTIVATE) ( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_SMM_CONTROL_PPI * This, - IN BOOLEAN Periodic OPTIONAL - ); - -/// -/// PEI SMM Control PPI is used to initiate SMI/PMI activations. This protocol could be published by either: -/// - A processor driver to abstract the SMI/PMI IPI -/// - The driver that abstracts the ASIC that is supporting the APM port, such as the ICH in an -/// Intel chipset -/// -struct _PEI_SMM_CONTROL_PPI { - PEI_SMM_ACTIVATE Trigger; - PEI_SMM_DEACTIVATE Clear; -}; - -extern EFI_GUID gPeiSmmControlPpiGuid; - -#endif diff --git a/MdeModulePkg/Include/Ppi/UfsHostController.h b/MdeModulePkg/Include/Ppi/UfsHostController.h deleted file mode 100644 index 129636580e..0000000000 --- a/MdeModulePkg/Include/Ppi/UfsHostController.h +++ /dev/null @@ -1,60 +0,0 @@ -/** @file - -Copyright (c) 2014, Intel Corporation. All rights reserved.
- -This program and the accompanying materials -are licensed and made available under the terms and conditions -of the BSD License which accompanies this distribution. The -full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#ifndef _EDKII_PEI_UFS_HOST_CONTROLLER_PPI_H_ -#define _EDKII_PEI_UFS_HOST_CONTROLLER_PPI_H_ - -/// -/// Global ID for the EDKII_UFS_HOST_CONTROLLER_PPI. -/// -#define EDKII_UFS_HOST_CONTROLLER_PPI_GUID \ - { \ - 0xdc54b283, 0x1a77, 0x4cd6, { 0x83, 0xbb, 0xfd, 0xda, 0x46, 0x9a, 0x2e, 0xc6 } \ - } - -/// -/// Forward declaration for the UFS_HOST_CONTROLLER_PPI. -/// -typedef struct _EDKII_UFS_HOST_CONTROLLER_PPI EDKII_UFS_HOST_CONTROLLER_PPI; - -/** - Get the MMIO base address of UFS host controller. - - @param[in] This The protocol instance pointer. - @param[in] ControllerId The ID of the UFS host controller. - @param[out] MmioBar Pointer to the UFS host controller MMIO base address. - - @retval EFI_SUCCESS The operation succeeds. - @retval EFI_INVALID_PARAMETER The parameters are invalid. - -**/ -typedef -EFI_STATUS -(EFIAPI *EDKII_UFS_HC_GET_MMIO_BAR)( - IN EDKII_UFS_HOST_CONTROLLER_PPI *This, - IN UINT8 ControllerId, - OUT UINTN *MmioBar - ); - -/// -/// This PPI contains a set of services to interact with the UFS host controller. -/// -struct _EDKII_UFS_HOST_CONTROLLER_PPI { - EDKII_UFS_HC_GET_MMIO_BAR GetUfsHcMmioBar; -}; - -extern EFI_GUID gEdkiiPeiUfsHostControllerPpiGuid; - -#endif diff --git a/MdeModulePkg/Include/Ppi/Usb2HostController.h b/MdeModulePkg/Include/Ppi/Usb2HostController.h deleted file mode 100644 index 7bcb341a94..0000000000 --- a/MdeModulePkg/Include/Ppi/Usb2HostController.h +++ /dev/null @@ -1,269 +0,0 @@ -/** @file - Defines the USB Host Controller PPI that provides I/O services for a USB Host - Controller that may be used to access recovery devices. These interfaces are - modeled on the UEFI 2.3 specification EFI_USB2_HOST_CONTROLLER_PROTOCOL. - Refer to section 16.1 of the UEFI 2.3 Specification for more information on - these interfaces. - -Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.
- -This program and the accompanying materials -are licensed and made available under the terms and conditions -of the BSD License which accompanies this distribution. The -full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#ifndef _PEI_USB2_HOST_CONTROLLER_PPI_H_ -#define _PEI_USB2_HOST_CONTROLLER_PPI_H_ - -#include - -/// -/// Global ID for the PEI_USB2_HOST_CONTROLLER_PPI. -/// -#define PEI_USB2_HOST_CONTROLLER_PPI_GUID \ - { \ - 0xa7d09fe1, 0x74d4, 0x4ba5, { 0x84, 0x7c, 0x12, 0xed, 0x5b, 0x19, 0xad, 0xe4 } \ - } - -/// -/// Forward declaration for the PEI_USB2_HOST_CONTROLLER_PPI. -/// -typedef struct _PEI_USB2_HOST_CONTROLLER_PPI PEI_USB2_HOST_CONTROLLER_PPI; - -/** - Initiate a USB control transfer using a specific USB Host controller on the USB bus. - - @param[in] PeiServices The pointer to the PEI Services Table. - @param[in] This The pointer to this instance of the - PEI_USB2_HOST_CONTROLLER_PPI. - @param[in] DeviceAddress Represents the address of the target device - on the USB. - @param[in] DeviceSpeed Indicates device speed. - @param[in] MaximumPacketLength Indicates the maximum packet size that the - default control transfer - endpoint is capable of sending or receiving. - @param[in] Request A pointer to the USB device request that - will be sent to the USB device. - @param[in] TransferDirection Specifies the data direction for the transfer. - There are three values available: - EfiUsbDataIn, EfiUsbDataOut and EfiUsbNoData. - @param[in,out] Data A pointer to the buffer of data that will - be transmitted to USB device or - received from USB device. - @param[in,out] DataLength On input, indicates the size, in bytes, of - the data buffer specified by Data. - On output, indicates the amount of data - actually transferred. - @param[in] TimeOut Indicates the maximum time, in milliseconds, - that the transfer is allowed to complete. - If Timeout is 0, then the caller must wait for - the function to be completed until EFI_SUCCESS - or EFI_DEVICE_ERROR is returned. - @param[in] Translator A pointer to the transaction translator data. - @param[out] TransferResult A pointer to the detailed result information - generated by this control transfer. - - @retval EFI_SUCCESS The control transfer was completed successfully. - @retval EFI_DEVICE_ERROR The control transfer failed due to host controller - or device error. - @retval EFI_INVALID_PARAMETER Some parameters are invalid. - @retval EFI_OUT_OF_RESOURCES The control transfer could not be completed due to a lack of resources. - @retval EFI_TIMEOUT The control transfer failed due to timeout. - - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_USB2_HOST_CONTROLLER_CONTROL_TRANSFER)( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_USB2_HOST_CONTROLLER_PPI *This, - IN UINT8 DeviceAddress, - IN UINT8 DeviceSpeed, - IN UINTN MaximumPacketLength, - IN USB_DEVICE_REQUEST *Request, - IN EFI_USB_DATA_DIRECTION TransferDirection, - IN OUT VOID *Data OPTIONAL, - IN OUT UINTN *DataLength OPTIONAL, - IN UINTN TimeOut, - IN EFI_USB2_HC_TRANSACTION_TRANSLATOR *Translator, - OUT UINT32 *TransferResult - ); - -/** - Initiate a USB bulk transfer using a specific USB Host controller on the USB bus. - - @param[in] PeiServices The pointer to the PEI Services Table. - @param[in] This The pointer to this instance of the - PEI_USB2_HOST_CONTROLLER_PPI. - @param[in] DeviceAddress Represents the address of the target device - on the USB. - @param[in] EndPointAddress The combination of an endpoint number and - an endpoint direction of the target USB device. - @param[in] DeviceSpeed Indicates device speed. - @param[in] MaximumPacketLength Indicates the maximum packet size the target - endpoint is capable of sending or receiving. - @param[in,out] Data Array of pointers to the buffers of data - that will be transmitted to USB device or - received from USB device. - @param[in,out] DataLength When input, indicates the size, in bytes, of - the data buffers specified by Data. When output, - indicates the data size actually transferred. - @param[in,out] DataToggle A pointer to the data toggle value. - @param[in] TimeOut Indicates the maximum time, in milliseconds, - in which the transfer is allowed to complete. - If Timeout is 0, then the caller must wait for - the function to be completed until EFI_SUCCESS - or EFI_DEVICE_ERROR is returned. - @param[in] Translator A pointer to the transaction translator data. - @param[out] TransferResult A pointer to the detailed result information - of the bulk transfer. - - @retval EFI_SUCCESS The bulk transfer was completed successfully. - @retval EFI_DEVICE_ERROR The bulk transfer failed due to host controller or device error. - Caller should check TransferResult for detailed error information. - @retval EFI_INVALID_PARAMETER Some parameters are invalid. - @retval EFI_OUT_OF_RESOURCES The bulk transfer could not be submitted due to a lack of resources. - @retval EFI_TIMEOUT The bulk transfer failed due to timeout. - - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_USB2_HOST_CONTROLLER_BULK_TRANSFER)( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_USB2_HOST_CONTROLLER_PPI *This, - IN UINT8 DeviceAddress, - IN UINT8 EndPointAddress, - IN UINT8 DeviceSpeed, - IN UINTN MaximumPacketLength, - IN OUT VOID *Data[EFI_USB_MAX_BULK_BUFFER_NUM], - IN OUT UINTN *DataLength, - IN OUT UINT8 *DataToggle, - IN UINTN TimeOut, - IN EFI_USB2_HC_TRANSACTION_TRANSLATOR *Translator, - OUT UINT32 *TransferResult - ); - -/** - Retrieves the number of root hub ports. - - @param[in] PeiServices The pointer to the PEI Services Table. - @param[in] This The pointer to this instance of the - PEI_USB2_HOST_CONTROLLER_PPI. - @param[out] PortNumber The pointer to the number of the root hub ports. - - @retval EFI_SUCCESS The port number was retrieved successfully. - @retval EFI_INVALID_PARAMETER PortNumber is NULL. - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_USB2_HOST_CONTROLLER_GET_ROOTHUB_PORT_NUMBER)( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_USB2_HOST_CONTROLLER_PPI *This, - OUT UINT8 *PortNumber - ); - -/** - Retrieves the current status of a USB root hub port. - - @param[in] PeiServices The pointer to the PEI Services Table. - @param[in] This The pointer to this instance of the - PEI_USB2_HOST_CONTROLLER_PPI. - @param[in] PortNumber Specifies the root hub port from which the status is - to be retrieved. - This value is zero based. - @param[out] PortStatus A pointer to the current port status bits and port - status change bits. - - @retval EFI_SUCCESS The status of the USB root hub port specified by - PortNumber was returned in PortStatus. - @retval EFI_INVALID_PARAMETER PortNumber is invalid. - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_USB2_HOST_CONTROLLER_GET_ROOTHUB_PORT_STATUS)( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_USB2_HOST_CONTROLLER_PPI *This, - IN UINT8 PortNumber, - OUT EFI_USB_PORT_STATUS *PortStatus - ); - -/** - Sets a feature for the specified root hub port. - - @param[in] PeiServices The pointer to the PEI Services Table. - @param[in] This The pointer to this instance of the - PEI_USB2_HOST_CONTROLLER_PPI. - @param[in] PortNumber Specifies the root hub port whose feature is requested - to be set. This value is zero based. - @param[in] PortFeature Indicates the feature selector associated with the feature - set request. - - @retval EFI_SUCCESS The feature specified by PortFeature was set for - the USB root hub port specified by PortNumber. - @retval EFI_INVALID_PARAMETER PortNumber is invalid or PortFeature is invalid - for this function. - @retval EFI_TIMEOUT The time out occurred - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_USB2_HOST_CONTROLLER_SET_ROOTHUB_PORT_FEATURE)( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_USB2_HOST_CONTROLLER_PPI *This, - IN UINT8 PortNumber, - IN EFI_USB_PORT_FEATURE PortFeature - ); - -/** - Clears a feature for the specified root hub port. - - @param[in] PeiServices The pointer to the PEI Services Table. - @param[in] This The pointer to this instance of the - PEI_USB2_HOST_CONTROLLER_PPI. - @param[in] PortNumber Specifies the root hub port whose feature is - requested to be cleared. - @param[in] PortFeature Indicates the feature selector associated with the - feature clear request. - - @return EFI_SUCCESS The feature specified by PortFeature was cleared - for the USB root hub port specified by PortNumber. - @return EFI_INVALID_PARAMETER PortNumber is invalid or PortFeature is invalid. - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_USB2_HOST_CONTROLLER_CLEAR_ROOTHUB_PORT_FEATURE)( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_USB2_HOST_CONTROLLER_PPI *This, - IN UINT8 PortNumber, - IN EFI_USB_PORT_FEATURE PortFeature - ); - -/// -/// This PPI contains a set of services to interact with the USB host controller. -/// These interfaces are modeled on the UEFI 2.3 specification protocol -/// EFI_USB2_HOST_CONTROLLER_PROTOCOL. Refer to section 16.1 of the UEFI 2.3 -/// Specification for more information on these interfaces. -/// -struct _PEI_USB2_HOST_CONTROLLER_PPI { - PEI_USB2_HOST_CONTROLLER_CONTROL_TRANSFER ControlTransfer; - PEI_USB2_HOST_CONTROLLER_BULK_TRANSFER BulkTransfer; - PEI_USB2_HOST_CONTROLLER_GET_ROOTHUB_PORT_NUMBER GetRootHubPortNumber; - PEI_USB2_HOST_CONTROLLER_GET_ROOTHUB_PORT_STATUS GetRootHubPortStatus; - PEI_USB2_HOST_CONTROLLER_SET_ROOTHUB_PORT_FEATURE SetRootHubPortFeature; - PEI_USB2_HOST_CONTROLLER_CLEAR_ROOTHUB_PORT_FEATURE ClearRootHubPortFeature; -}; - -extern EFI_GUID gPeiUsb2HostControllerPpiGuid; - -#endif - diff --git a/MdeModulePkg/Include/Ppi/UsbController.h b/MdeModulePkg/Include/Ppi/UsbController.h deleted file mode 100644 index f0537ecb66..0000000000 --- a/MdeModulePkg/Include/Ppi/UsbController.h +++ /dev/null @@ -1,94 +0,0 @@ -/** @file - Define APIs to retrieve USB Host Controller Info such as controller type and - I/O Port Base Address. - -Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
- -This program and the accompanying materials -are licensed and made available under the terms and conditions -of the BSD License which accompanies this distribution. The -full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#ifndef _PEI_USB_CONTROLLER_PPI_H_ -#define _PEI_USB_CONTROLLER_PPI_H_ - -/// -/// Global ID for the PEI_USB_CONTROLLER_PPI. -/// -#define PEI_USB_CONTROLLER_PPI_GUID \ - { \ - 0x3bc1f6de, 0x693e, 0x4547,{ 0xa3, 0x0, 0x21, 0x82, 0x3c, 0xa4, 0x20, 0xb2} \ - } - -/// -/// Forward declaration for the PEI_USB_CONTROLLER_PPI. -/// -typedef struct _PEI_USB_CONTROLLER_PPI PEI_USB_CONTROLLER_PPI; - -/// -/// This bit is used in the ControllerType return parameter of GetUsbController() -/// to identify the USB Host Controller type as UHCI -/// -#define PEI_UHCI_CONTROLLER 0x01 - -/// -/// This bit is used in the ControllerType return parameter of GetUsbController() -/// to identify the USB Host Controller type as OHCI -/// -#define PEI_OHCI_CONTROLLER 0x02 - -/// -/// This bit is used in the ControllerType return parameter of GetUsbController() -/// to identify the USB Host Controller type as EHCI -/// -#define PEI_EHCI_CONTROLLER 0x03 - -/// -/// This bit is used in the ControllerType return parameter of GetUsbController() -/// to identify the USB Host Controller type as XHCI -/// -#define PEI_XHCI_CONTROLLER 0x04 - -/** - Retrieve USB Host Controller Info such as controller type and I/O Base Address. - - @param[in] PeiServices The pointer to the PEI Services Table. - @param[in] This The pointer to this instance of the PEI_USB_CONTROLLER_PPI. - @param[in] ControllerId The ID of the USB controller. - @param[out] ControllerType On output, returns the type of the USB controller. - @param[out] BaseAddress On output, returns the base address of UHCI's I/O ports - if UHCI is enabled or the base address of EHCI's MMIO - if EHCI is enabled. - - @retval EFI_SUCCESS USB controller attributes were returned successfully. - @retval EFI_INVALID_PARAMETER ControllerId is greater than the maximum number - of USB controller supported by this platform. - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_GET_USB_CONTROLLER)( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_USB_CONTROLLER_PPI *This, - IN UINT8 UsbControllerId, - OUT UINTN *ControllerType, - OUT UINTN *BaseAddress - ); - -/// -/// This PPI contains a single service to retrieve the USB Host Controller type -/// and the base address of the I/O ports used to access the USB Host Controller. -/// -struct _PEI_USB_CONTROLLER_PPI { - PEI_GET_USB_CONTROLLER GetUsbController; -}; - -extern EFI_GUID gPeiUsbControllerPpiGuid; - -#endif diff --git a/MdeModulePkg/Include/Ppi/UsbHostController.h b/MdeModulePkg/Include/Ppi/UsbHostController.h deleted file mode 100644 index 232a666734..0000000000 --- a/MdeModulePkg/Include/Ppi/UsbHostController.h +++ /dev/null @@ -1,257 +0,0 @@ -/** @file - Defines the USB Host Controller PPI that provides I/O services for a USB Host - Controller that may be used to access recovery devices. These interfaces are - modeled on the UEFI 2.3 specification EFI_USB2_HOST_CONTROLLER_PROTOCOL. - Refer to section 16.1 of the UEFI 2.3 Specification for more information on - these interfaces. - -Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.
- -This program and the accompanying materials -are licensed and made available under the terms and conditions -of the BSD License which accompanies this distribution. The -full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#ifndef _PEI_USB_HOST_CONTROLLER_PPI_H_ -#define _PEI_USB_HOST_CONTROLLER_PPI_H_ - -#include - -/// -/// Global ID for the PEI_USB_HOST_CONTROLLER_PPI. -/// -#define PEI_USB_HOST_CONTROLLER_PPI_GUID \ - { \ - 0x652b38a9, 0x77f4, 0x453f, { 0x89, 0xd5, 0xe7, 0xbd, 0xc3, 0x52, 0xfc, 0x53} \ - } - -/// -/// Forward declaration for the PEI_USB_HOST_CONTROLLER_PPI. -/// -typedef struct _PEI_USB_HOST_CONTROLLER_PPI PEI_USB_HOST_CONTROLLER_PPI; - -/** - Initiate a USB control transfer using a specific USB Host controller on the USB bus. - - @param[in] PeiServices The pointer to the PEI Services Table. - @param[in] This The pointer to this instance of the - PEI_USB_HOST_CONTROLLER_PPI. - @param[in] DeviceAddress Represents the address of the target device - on the USB. - @param[in] DeviceSpeed Indicates device speed. - @param[in] MaximumPacketLength Indicates the maximum packet size that the - default control transfer - endpoint is capable of sending or receiving. - @param[in] Request A pointer to the USB device request that - will be sent to the USB device. - @param[in] TransferDirection Specifies the data direction for the transfer. - There are three values available: - EfiUsbDataIn, EfiUsbDataOut and EfiUsbNoData. - @param[in,out] Data A pointer to the buffer of data that will - be transmitted to USB device or - received from USB device. - @param[in,out] DataLength On input, indicates the size, in bytes, of - the data buffer specified by Data. - On output, indicates the amount of data - actually transferred. - @param[in] TimeOut Indicates the maximum time, in milliseconds, - that the transfer is allowed to complete. - If Timeout is 0, then the caller must wait for - the function to be completed until EFI_SUCCESS - or EFI_DEVICE_ERROR is returned. - @param[out] TransferResult A pointer to the detailed result information - generated by this control transfer. - - @retval EFI_DEVICE_ERROR The control transfer failed due to host controller - or device error. - @retval EFI_SUCCESS The control transfer was completed successfully. - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_USB_HOST_CONTROLLER_CONTROL_TRANSFER)( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_USB_HOST_CONTROLLER_PPI *This, - IN UINT8 DeviceAddress, - IN UINT8 DeviceSpeed, - IN UINT8 MaximumPacketLength, - IN USB_DEVICE_REQUEST *Request, - IN EFI_USB_DATA_DIRECTION TransferDirection, - IN OUT VOID *Data OPTIONAL, - IN OUT UINTN *DataLength OPTIONAL, - IN UINTN TimeOut, - OUT UINT32 *TransferResult - ); - -/** - Initiate a USB bulk transfer using a specific USB Host controller on the USB bus. - - @param[in] PeiServices The pointer to the PEI Services Table. - @param[in] This The pointer to this instance of the - PEI_USB_HOST_CONTROLLER_PPI. - @param[in] DeviceAddress Represents the address of the target device - on the USB. - @param[in] EndPointAddress The combination of an endpoint number and - an endpoint direction of the target USB device. - @param[in] MaximumPacketLength Indicates the maximum packet size the target - endpoint is capable of sending or receiving. - @param[in,out] Data Array of pointers to the buffers of data - that will be transmitted to USB device or - received from USB device. - @param[in,out] DataLength When input, indicates the size, in bytes, of - the data buffers specified by Data. When output, - indicates the data size actually transferred. - @param[in,out] DataToggle A pointer to the data toggle value. - @param[in] TimeOut Indicates the maximum time, in milliseconds, - in which the transfer is allowed to complete. - If Timeout is 0, then the caller must wait for - the function to be completed until EFI_SUCCESS - or EFI_DEVICE_ERROR is returned. - @param[out] TransferResult A pointer to the detailed result information - of the bulk transfer. - - @retval EFI_SUCCESS The bulk transfer was completed successfully. - @retval EFI_DEVICE_ERROR The bulk transfer failed due to host controller or device error. - Caller should check TransferResult for detailed error information. - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_USB_HOST_CONTROLLER_BULK_TRANSFER)( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_USB_HOST_CONTROLLER_PPI *This, - IN UINT8 DeviceAddress, - IN UINT8 EndPointAddress, - IN UINT8 MaximumPacketLength, - IN OUT VOID *Data, - IN OUT UINTN *DataLength, - IN OUT UINT8 *DataToggle, - IN UINTN TimeOut, - OUT UINT32 *TransferResult - ); - -/** - Retrieves the number of root hub ports. - - @param[in] PeiServices The pointer to the PEI Services Table. - @param[in] This The pointer to this instance of the - PEI_USB_HOST_CONTROLLER_PPI. - @param[out] PortNumber The pointer to the number of the root hub ports. - - @retval EFI_SUCCESS The port number was retrieved successfully. - @retval EFI_DEVICE_ERROR An error was encountered while attempting to retrieve - the port number. - @retval EFI_INVALID_PARAMETER PortNumber is NULL. - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_USB_HOST_CONTROLLER_GET_ROOTHUB_PORT_NUMBER)( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_USB_HOST_CONTROLLER_PPI *This, - OUT UINT8 *PortNumber - ); - -/** - Retrieves the current status of a USB root hub port. - - @param[in] PeiServices The pointer to the PEI Services Table. - @param[in] This The pointer to this instance of the - PEI_USB_HOST_CONTROLLER_PPI. - @param[in] PortNumber Specifies the root hub port from which the status is - to be retrieved. - This value is zero based. - @param[out] PortStatus A pointer to the current port status bits and port - status change bits. - - @retval EFI_SUCCESS The status of the USB root hub port specified by - PortNumber was returned in PortStatus. - @retval EFI_INVALID_PARAMETER PortNumber is invalid. - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_USB_HOST_CONTROLLER_GET_ROOTHUB_PORT_STATUS)( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_USB_HOST_CONTROLLER_PPI *This, - IN UINT8 PortNumber, - OUT EFI_USB_PORT_STATUS *PortStatus - ); - -/** - Sets a feature for the specified root hub port. - - @param[in] PeiServices The pointer to the PEI Services Table. - @param[in] This The pointer to this instance of the - PEI_USB_HOST_CONTROLLER_PPI. - @param[in] PortNumber Specifies the root hub port whose feature is requested - to be set. This value is zero based. - @param[in] PortFeature Indicates the feature selector associated with the feature - set request. - - @retval EFI_SUCCESS The feature specified by PortFeature was set for - the USB root hub port specified by PortNumber. - @retval EFI_INVALID_PARAMETER PortNumber is invalid or PortFeature is invalid - for this function. - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_USB_HOST_CONTROLLER_SET_ROOTHUB_PORT_FEATURE)( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_USB_HOST_CONTROLLER_PPI *This, - IN UINT8 PortNumber, - IN EFI_USB_PORT_FEATURE PortFeature - ); - -/** - Clears a feature for the specified root hub port. - - @param[in] PeiServices The pointer to the PEI Services Table. - @param[in] This The pointer to this instance of the - PEI_USB_HOST_CONTROLLER_PPI. - @param[in] PortNumber Specifies the root hub port whose feature is - requested to be cleared. - @param[in] PortFeature Indicates the feature selector associated with the - feature clear request. - - @return EFI_SUCCESS The feature specified by PortFeature was cleared - for the USB root hub port specified by PortNumber. - @return EFI_INVALID_PARAMETER PortNumber is invalid or PortFeature is invalid. - @return EFI_DEVICE_ERROR Can't read the register. - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_USB_HOST_CONTROLLER_CLEAR_ROOTHUB_PORT_FEATURE)( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_USB_HOST_CONTROLLER_PPI *This, - IN UINT8 PortNumber, - IN EFI_USB_PORT_FEATURE PortFeature - ); - -/// -/// This PPI contains a set of services to interact with the USB host controller. -/// These interfaces are modeled on the UEFI 2.3 specification protocol -/// EFI_USB2_HOST_CONTROLLER_PROTOCOL. Refer to section 16.1 of the UEFI 2.3 -/// Specification for more information on these interfaces. -/// -struct _PEI_USB_HOST_CONTROLLER_PPI { - PEI_USB_HOST_CONTROLLER_CONTROL_TRANSFER ControlTransfer; - PEI_USB_HOST_CONTROLLER_BULK_TRANSFER BulkTransfer; - PEI_USB_HOST_CONTROLLER_GET_ROOTHUB_PORT_NUMBER GetRootHubPortNumber; - PEI_USB_HOST_CONTROLLER_GET_ROOTHUB_PORT_STATUS GetRootHubPortStatus; - PEI_USB_HOST_CONTROLLER_SET_ROOTHUB_PORT_FEATURE SetRootHubPortFeature; - PEI_USB_HOST_CONTROLLER_CLEAR_ROOTHUB_PORT_FEATURE ClearRootHubPortFeature; -}; - -extern EFI_GUID gPeiUsbHostControllerPpiGuid; - -#endif - diff --git a/MdeModulePkg/Include/Ppi/UsbIo.h b/MdeModulePkg/Include/Ppi/UsbIo.h deleted file mode 100644 index b024d4640a..0000000000 --- a/MdeModulePkg/Include/Ppi/UsbIo.h +++ /dev/null @@ -1,196 +0,0 @@ -/** @file - Defines the PEI_USB_IO_PPI that the USB-related PEIM can use for I/O operations - on the USB BUS. This interface enables recovery from a - USB-class storage device, such as USB CD/DVD, USB hard drive, or USB FLASH - drive. These interfaces are modeled on the UEFI 2.3 specification EFI_USB_IO_PROTOCOL. - Refer to section 16.2.4 of the UEFI 2.3 Specification for more information on - these interfaces. - -Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.
- -This program and the accompanying materials -are licensed and made available under the terms and conditions -of the BSD License which accompanies this distribution. The -full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#ifndef _PEI_USB_IO_PPI_H_ -#define _PEI_USB_IO_PPI_H_ - -#include - -/// -/// Global ID for the PEI_USB_IO_PPI. -/// -#define PEI_USB_IO_PPI_GUID \ - { \ - 0x7c29785c, 0x66b9, 0x49fc, { 0xb7, 0x97, 0x1c, 0xa5, 0x55, 0xe, 0xf2, 0x83} \ - } - -/// -/// Forward declaration for the PEI_USB_IO_PPI. -/// -typedef struct _PEI_USB_IO_PPI PEI_USB_IO_PPI; - -/** - Submits control transfer to a target USB device. - - @param[in] PeiServices The pointer to the PEI Services Table. - @param[in] This The pointer to this instance of the PEI_USB_IO_PPI. - @param[in] Request A pointer to the USB device request that will be - sent to the USB device. - @param[in] Direction Specifies the data direction for the transfer. There - are three values available: - EfiUsbDataIn, EfiUsbDataOut and EfiUsbNoData. - @param[in] Timeout Indicates the maximum time, in milliseconds, that - the transfer is allowed to complete. - If Timeout is 0, then the caller must wait for the - function to be completed until EFI_SUCCESS or - EFI_DEVICE_ERROR is returned. - @param[in,out] Data A pointer to the buffer of data that will be - transmitted to or received from the USB device. - @param[in] DataLength On input, indicates the size, in bytes, of the data - buffer specified by Data. - - @retval EFI_SUCCESS The control transfer was completed successfully. - @retval EFI_INVALID_PARAMETER Some parameters are invalid. - @retval EFI_OUT_OF_RESOURCES The control transfer could not be completed due - to a lack of resources. - @retval EFI_TIMEOUT The control transfer failed due to timeout. - @retval EFI_DEVICE_ERROR The control transfer failed due to host controller - or device error. - Caller should check TransferResult for detailed - error information. - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_USB_CONTROL_TRANSFER)( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_USB_IO_PPI *This, - IN EFI_USB_DEVICE_REQUEST *Request, - IN EFI_USB_DATA_DIRECTION Direction, - IN UINT32 Timeout, - IN OUT VOID *Data OPTIONAL, - IN UINTN DataLength OPTIONAL - ); - -/** - Submits bulk transfer to a target USB device. - - @param[in] PeiServices The pointer to the PEI Services Table. - @param[in] This The pointer to this instance of the PEI_USB_IO_PPI. - @param[in] DeviceEndpoint The endpoint address. - @param[in] Data The data buffer to be transfered. - @param[in] DataLength The length of data buffer. - @param[in] Timeout The timeout for the transfer, in milliseconds. - If Timeout is 0, then the caller must wait for the - function to be completed until EFI_SUCCESS or - EFI_DEVICE_ERROR is returned. - - @retval EFI_SUCCESS The bulk transfer completed successfully. - @retval EFI_INVALID_PARAMETER Some parameters are invalid. - @retval EFI_OUT_OF_RESOURCES The bulk transfer could not be completed due to - a lack of resources. - @retval EFI_TIMEOUT The bulk transfer failed due to timeout. - @retval EFI_DEVICE_ERROR The bulk transfer failed due to host controller - or device error. - Caller should check TransferResult for detailed - error information. - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_USB_BULK_TRANSFER)( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_USB_IO_PPI *This, - IN UINT8 DeviceEndpoint, - IN OUT VOID *Data, - IN OUT UINTN *DataLength, - IN UINTN Timeout - ); - -/** - Get interface descriptor from a USB device. - - @param[in] PeiServices The pointer to the PEI Services Table. - @param[in] This The pointer to this instance of the PEI_USB_IO_PPI. - @param[in] InterfaceDescriptor The interface descriptor. - - @retval EFI_SUCCESS The interface descriptor was returned. - @retval EFI_INVALID_PARAMETER Some parameters are invalid. - @retval EFI_DEVICE_ERROR A device error occurred, the function failed to - get the interface descriptor. - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_USB_GET_INTERFACE_DESCRIPTOR)( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_USB_IO_PPI *This, - IN EFI_USB_INTERFACE_DESCRIPTOR **InterfaceDescriptor - ); - -/** - Get endpoint descriptor from a USB device. - - @param[in] PeiServices The pointer to the PEI Services Table. - @param[in] This The pointer to this instance of the PEI_USB_IO_PPI. - @param[in] EndPointIndex The index of the end point. - @param[in] EndpointDescriptor The endpoint descriptor. - - @retval EFI_SUCCESS The endpoint descriptor was returned. - @retval EFI_INVALID_PARAMETER Some parameters are invalid. - @retval EFI_DEVICE_ERROR A device error occurred, the function failed to - get the endpoint descriptor. - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_USB_GET_ENDPOINT_DESCRIPTOR)( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_USB_IO_PPI *This, - IN UINT8 EndpointIndex, - IN EFI_USB_ENDPOINT_DESCRIPTOR **EndpointDescriptor - ); - -/** - Issue a port reset to the device. - - @param[in] PeiServices The pointer to the PEI Services Table. - @param[in] This The pointer to this instance of the PEI_USB_IO_PPI. - - @retval EFI_SUCCESS The port reset was issued successfully. - @retval EFI_INVALID_PARAMETER Some parameters are invalid. - @retval EFI_DEVICE_ERROR Device error occurred. - -**/ -typedef -EFI_STATUS -(EFIAPI *PEI_USB_PORT_RESET)( - IN EFI_PEI_SERVICES **PeiServices, - IN PEI_USB_IO_PPI *This - ); - -/// -/// This PPI contains a set of services to interact with the USB host controller. -/// These interfaces are modeled on the UEFI 2.3 specification EFI_USB_IO_PROTOCOL. -/// Refer to section 16.2.4 of the UEFI 2.3 Specification for more information on -/// these interfaces. -/// -struct _PEI_USB_IO_PPI { - PEI_USB_CONTROL_TRANSFER UsbControlTransfer; - PEI_USB_BULK_TRANSFER UsbBulkTransfer; - PEI_USB_GET_INTERFACE_DESCRIPTOR UsbGetInterfaceDescriptor; - PEI_USB_GET_ENDPOINT_DESCRIPTOR UsbGetEndpointDescriptor; - PEI_USB_PORT_RESET UsbPortReset; -}; - -extern EFI_GUID gPeiUsbIoPpiGuid; - -#endif -- cgit v1.2.3