diff options
Diffstat (limited to 'MdeModulePkg/Include/Ppi')
-rw-r--r-- | MdeModulePkg/Include/Ppi/AtaController.h | 162 | ||||
-rw-r--r-- | MdeModulePkg/Include/Ppi/PostBootScriptTable.h | 27 | ||||
-rw-r--r-- | MdeModulePkg/Include/Ppi/SecPerformance.h | 67 | ||||
-rw-r--r-- | MdeModulePkg/Include/Ppi/SerialPortPei.h | 26 | ||||
-rw-r--r-- | MdeModulePkg/Include/Ppi/SmmAccess.h | 145 | ||||
-rw-r--r-- | MdeModulePkg/Include/Ppi/SmmCommunication.h | 64 | ||||
-rw-r--r-- | MdeModulePkg/Include/Ppi/SmmControl.h | 96 | ||||
-rw-r--r-- | MdeModulePkg/Include/Ppi/UfsHostController.h | 60 | ||||
-rw-r--r-- | MdeModulePkg/Include/Ppi/Usb2HostController.h | 269 | ||||
-rw-r--r-- | MdeModulePkg/Include/Ppi/UsbController.h | 94 | ||||
-rw-r--r-- | MdeModulePkg/Include/Ppi/UsbHostController.h | 257 | ||||
-rw-r--r-- | MdeModulePkg/Include/Ppi/UsbIo.h | 196 |
12 files changed, 0 insertions, 1463 deletions
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.<BR>
-
-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. <BR>
-
- 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.<BR>
-
-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.<BR>
- 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.<BR>
-
-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.<BR>
-
-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.<BR>
-
- 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.<BR>
-
-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. <BR>
-
-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 <Protocol/Usb2HostController.h>
-
-///
-/// 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.<BR>
-
-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.<BR>
-
-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 <Protocol/Usb2HostController.h>
-
-///
-/// 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.<BR>
-
-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 <Protocol/Usb2HostController.h>
-
-///
-/// 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
|