1 /*++ 2 3 Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR> 4 5 6 SPDX-License-Identifier: BSD-2-Clause-Patent 7 8 9 10 11 12 Module Name: 13 14 OsSelection.h 15 16 Abstract: 17 18 GUID used for LPSS, SCC and LPE configuration data entries in the HOB list. 19 20 --*/ 21 22 #ifndef _OS_SELECTION_GUID_H_ 23 #define _OS_SELECTION_GUID_H_ 24 25 #ifndef ECP_FLAG 26 #include <PiPei.h> 27 28 #include <Library/HobLib.h> 29 #include <Library/IoLib.h> 30 #include <Library/DebugLib.h> 31 #endif 32 33 #define ANDROID 1 34 35 #define EFI_OS_SELECTION_VARIABLE_GUID \ 36 { \ 37 0x86843f56, 0x675d, 0x40a5, 0x95, 0x30, 0xbc, 0x85, 0x83, 0x72, 0xf1, 0x03 \ 38 } 39 40 extern EFI_GUID gOsSelectionVariableGuid; 41 42 #pragma pack(1) 43 44 typedef struct { 45 UINT8 LpssPciModeEnabled; 46 //SCC 47 UINT8 LpsseMMCEnabled; 48 UINT8 LpssSdioEnabled; 49 UINT8 LpssSdcardEnabled; 50 UINT8 LpssSdCardSDR25Enabled; 51 UINT8 LpssSdCardDDR50Enabled; 52 UINT8 LpssMipiHsi; 53 UINT8 LpsseMMC45Enabled; 54 UINT8 LpsseMMC45DDR50Enabled; 55 UINT8 LpsseMMC45HS200Enabled; 56 UINT8 LpsseMMC45RetuneTimerValue; 57 UINT8 eMMCBootMode; 58 //LPSS2 59 UINT8 LpssDma1Enabled; 60 UINT8 LpssI2C0Enabled; 61 UINT8 LpssI2C1Enabled; 62 UINT8 LpssI2C2Enabled; 63 UINT8 LpssI2C3Enabled; 64 UINT8 LpssI2C4Enabled; 65 UINT8 LpssI2C5Enabled; 66 UINT8 LpssI2C6Enabled; 67 //LPSS1 68 UINT8 LpssDma0Enabled; 69 UINT8 LpssPwm0Enabled; 70 UINT8 LpssPwm1Enabled; 71 UINT8 LpssHsuart0Enabled; 72 UINT8 LpssHsuart1Enabled; 73 UINT8 LpssSpiEnabled; 74 UINT8 I2CTouchAd; 75 } EFI_PLATFORM_LPSS_DATA; 76 77 typedef struct _EFI_OS_SELECTION_HOB { 78 UINT8 OsSelection; 79 UINT8 OsSelectionChanged; 80 UINT8 Lpe; 81 UINT8 PchAzalia; 82 EFI_PLATFORM_LPSS_DATA LpssData; 83 } EFI_OS_SELECTION_HOB; 84 85 #pragma pack() 86 87 #endif 88