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 PchUsbPolicy.h 19 20 @brief 21 PCH Usb policy PPI produced by a platform driver specifying 22 various expected PCH Usb settings. This PPI is consumed by the 23 PCH PEI drivers. 24 25 **/ 26 #ifndef _PCH_USB_POLICY_H_ 27 #define _PCH_USB_POLICY_H_ 28 29 // 30 // PCH Usb policy provided by platform for PEI phase 31 // 32 33 #ifndef ECP_FLAG 34 #include <PiPei.h> 35 #endif 36 37 #include "PchRegs.h" 38 #include <Protocol/PchPlatformPolicy.h> 39 40 #define PCH_USB_POLICY_PPI_GUID \ 41 { \ 42 0xc02b0573, 0x2b4e, 0x4a31, 0xa3, 0x1a, 0x94, 0x56, 0x7b, 0x50, 0x44, 0x2c \ 43 } 44 45 extern EFI_GUID gPchUsbPolicyPpiGuid; 46 47 typedef struct _PCH_USB_POLICY_PPI PCH_USB_POLICY_PPI; 48 49 /// 50 /// PPI revision number 51 /// Any backwards compatible changes to this PPI will result in an update in the revision number 52 /// Major changes will require publication of a new PPI 53 /// 54 /// Revision 1: Original version 55 /// 56 #define PCH_USB_POLICY_PPI_REVISION_1 1 57 58 /// 59 /// Generic definitions for device enabling/disabling used by PCH code. 60 /// 61 #define PCH_DEVICE_ENABLE 1 62 #define PCH_DEVICE_DISABLE 0 63 64 #define EHCI_MODE 1 65 66 struct _PCH_USB_POLICY_PPI { 67 UINT8 Revision; 68 PCH_USB_CONFIG *UsbConfig; 69 UINT8 Mode; 70 UINTN EhciMemBaseAddr; 71 UINT32 EhciMemLength; 72 UINTN XhciMemBaseAddr; 73 }; 74 75 #endif 76