--- /dev/null
+/**\r
+**/\r
+/**\r
+\r
+Copyright (c) 2012 - 2014, Intel Corporation. All rights reserved\r
+\r
+ This program and the accompanying materials are licensed and made available under\r
+ the terms and conditions of the BSD License that accompanies this distribution.\r
+ The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php.\r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+\r
+\r
+ @file\r
+ PchInit.h\r
+\r
+ @brief\r
+ This file defines the PCH Init PPI\r
+\r
+**/\r
+#ifndef _PCH_INIT_H_\r
+#define _PCH_INIT_H_\r
+\r
+//\r
+// Define the PCH Init PPI GUID\r
+//\r
+\r
+\r
+#include <Protocol/PchPlatformPolicy.h>\r
+#define PCH_INIT_PPI_GUID \\r
+ { \\r
+ 0x9ea894a, 0xbe0d, 0x4230, 0xa0, 0x3, 0xed, 0xc6, 0x93, 0xb4, 0x8e, 0x95 \\r
+ }\r
+extern EFI_GUID gPchInitPpiGuid;\r
+\r
+///\r
+/// Forward reference for ANSI C compatibility\r
+///\r
+typedef struct _PCH_INIT_PPI PCH_INIT_PPI;\r
+\r
+///\r
+/// Data structure definitions\r
+///\r
+typedef enum _CPU_STRAP_OPERATION {\r
+ GetCpuStrapSetData,\r
+ SetCpuStrapSetData,\r
+ LockCpuStrapSetData\r
+} CPU_STRAP_OPERATION;\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *PCH_USB_INIT) (\r
+ IN EFI_PEI_SERVICES **PeiServices\r
+ )\r
+/**\r
+\r
+ @brief\r
+ The function performing USB init in PEI phase. This could be used by USB recovery\r
+ or debug features that need USB initialization during PEI phase.\r
+ Note: Before executing this function, please be sure that PCH_INIT_PPI.Initialize\r
+ has been done and PchUsbPolicyPpi has been installed.\r
+\r
+ @param[in] PeiServices General purpose services available to every PEIM\r
+\r
+ @retval EFI_SUCCESS The function completed successfully\r
+ @retval Others All other error conditions encountered result in an ASSERT.\r
+\r
+**/\r
+;\r
+\r
+///\r
+/// PCH_INIT_PPI Structure Definition\r
+///\r
+struct _PCH_INIT_PPI {\r
+ PCH_USB_INIT UsbInit;\r
+};\r
+\r
+#endif\r