1 /** 2 **/ 3 /** 4 5 Copyright (c) 2012 - 2014, Intel Corporation. All rights reserved 6 7 This program and the accompanying materials are licensed and made available under 8 the terms and conditions of the BSD License that accompanies this distribution. 9 The full text of the license may be found at 10 http://opensource.org/licenses/bsd-license.php. 11 12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 14 15 16 17 @file 18 PchInit.h 19 20 @brief 21 This file defines the PCH Init PPI 22 23 **/ 24 #ifndef _PCH_INIT_H_ 25 #define _PCH_INIT_H_ 26 27 // 28 // Define the PCH Init PPI GUID 29 // 30 31 32 #include <Protocol/PchPlatformPolicy.h> 33 #define PCH_INIT_PPI_GUID \ 34 { \ 35 0x9ea894a, 0xbe0d, 0x4230, 0xa0, 0x3, 0xed, 0xc6, 0x93, 0xb4, 0x8e, 0x95 \ 36 } 37 extern EFI_GUID gPchInitPpiGuid; 38 39 /// 40 /// Forward reference for ANSI C compatibility 41 /// 42 typedef struct _PCH_INIT_PPI PCH_INIT_PPI; 43 44 /// 45 /// Data structure definitions 46 /// 47 typedef enum _CPU_STRAP_OPERATION { 48 GetCpuStrapSetData, 49 SetCpuStrapSetData, 50 LockCpuStrapSetData 51 } CPU_STRAP_OPERATION; 52 53 typedef 54 EFI_STATUS 55 (EFIAPI *PCH_USB_INIT) ( 56 IN EFI_PEI_SERVICES **PeiServices 57 ) 58 /** 59 60 @brief 61 The function performing USB init in PEI phase. This could be used by USB recovery 62 or debug features that need USB initialization during PEI phase. 63 Note: Before executing this function, please be sure that PCH_INIT_PPI.Initialize 64 has been done and PchUsbPolicyPpi has been installed. 65 66 @param[in] PeiServices General purpose services available to every PEIM 67 68 @retval EFI_SUCCESS The function completed successfully 69 @retval Others All other error conditions encountered result in an ASSERT. 70 71 **/ 72 ; 73 74 /// 75 /// PCH_INIT_PPI Structure Definition 76 /// 77 struct _PCH_INIT_PPI { 78 PCH_USB_INIT UsbInit; 79 }; 80 81 #endif 82