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