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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/** @file
 
  Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
  SPDX-License-Identifier: BSD-2-Clause-Patent
**/
 
#ifndef _PEI_PLATFORM_HOOK_LIB_H_
#define _PEI_PLATFORM_HOOK_LIB_H_
 
#include <PlatformInfo.h>
#include <Library/PeiServicesLib.h>
#include <Library/GpioLib.h>
 
 
//EC Command to provide one byte of debug indication
#define BSSB_DEBUG_INDICATION 0xAE
/**
  Configure EC for specific devices
 
  @param[in] PchLan       - The PchLan of PCH_SETUP variable.
  @param[in] BootMode     - The current boot mode.
**/
VOID
EcInit (
  IN UINT8                PchLan,
  IN EFI_BOOT_MODE        BootMode
  );
 
/**
  Checks if Premium PMIC present
 
  @retval  TRUE  if present
  @retval  FALSE it discrete/other PMIC
**/
BOOLEAN
IsPremiumPmicPresent (
  VOID
  );
 
/**
  Pmic Programming to supprort LPAL Feature
 
  @retval     NONE
**/
VOID
PremiumPmicDisableSlpS0Voltage (
  VOID
  );
 
/**
Pmic Programming to supprort LPAL Feature
  @retval     NONE
**/
VOID
PremiumPmicEnableSlpS0Voltage(
  VOID
  );
 
/**
  Do platform specific programming pre-memory. For example, EC init, Chipset programming
 
  @retval  Status
**/
EFI_STATUS
PlatformSpecificInitPreMem (
  VOID
  );
 
/**
  Do platform specific programming post-memory.
 
  @retval  Status
**/
EFI_STATUS
PlatformSpecificInit (
  VOID
  );
 
/**
  Configure GPIO and SIO Before Memory is ready.
 
  @retval  EFI_SUCCESS   Operation success.
**/
EFI_STATUS
BoardInitPreMem (
  VOID
  );
 
/**
  Configure GPIO and SIO
 
  @retval  EFI_SUCCESS   Operation success.
**/
EFI_STATUS
BoardInit (
  VOID
  );
 
/**
Voltage Margining Routine
 
@retval  EFI_SUCCESS   Operation success
**/
EFI_STATUS
VoltageMarginingRoutine(
  VOID
  );
 
/**
  Detect recovery mode
 
  @retval  EFI_SUCCESS       System in Recovery Mode
  @retval  EFI_UNSUPPORTED   System doesn't support Recovery Mode
  @retval  EFI_NOT_FOUND     System is not in Recovery Mode
**/
EFI_STATUS
IsRecoveryMode (
  VOID
  );
 
/**
  Early board Configuration before Memory is ready.
 
  @retval  EFI_SUCCESS  Operation success.
**/
EFI_STATUS
BoardInitEarlyPreMem (
  VOID
  );
#endif