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