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
/** @file
  PEI DTBT Init Dispatch library Header file
 
 
  Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
  SPDX-License-Identifier: BSD-2-Clause-Patent
**/
 
#ifndef __PEI_DTBT_INIT_LIB_H__
#define __PEI_DTBT_INIT_LIB_H__
 
#include <Private/Library/PeiTbtCommonInitLib.h>
#include <Library/PeiTbtTaskDispatchLib.h>
 
extern TBT_CALL_TABLE_ENTRY DTbtCallTable[];
 
/**
  Get Thunderbolt(TM) (TBT) PEI Policy Data.
 
  @param[in]  PEI_TBT_POLICY   PeiTbtConfig
 
  @retval     EFI_SUCCESS  The function completes successfully
  @retval     EFI_UNSUPPORTED  dTBT is not supported.
**/
EFI_STATUS
EFIAPI
DTbtGetPeiTbtPolicyData (
  IN  PEI_TBT_POLICY  *PeiTbtConfig
);
 
/**
  Toggle related GPIO pin for DTBT.
 
  @param[in]  PEI_TBT_POLICY   PeiTbtConfig
 
  @retval     EFI_SUCCESS  The function completes successfully
  @retval     EFI_UNSUPPORTED  dTBT is not supported.
**/
EFI_STATUS
EFIAPI
DTbtToggleGPIO (
  IN  PEI_TBT_POLICY  *PeiTbtConfig
);
 
/**
  set tPCH25 Timing to 10 ms for DTBT.
 
  @param[in]  PEI_TBT_POLICY   PeiTbtConfig
 
  @retval     EFI_SUCCESS  The function completes successfully
  @retval     EFI_UNSUPPORTED  dTBT is not supported.
**/
EFI_STATUS
EFIAPI
DTbtSetTPch25Timing (
  IN  PEI_TBT_POLICY  *PeiTbtConfig
);
 
/**
  Do ForcePower for DTBT Controller
 
  @param[in]  PEI_TBT_POLICY   PeiTbtConfig
 
  @retval     EFI_SUCCESS  The function completes successfully
  @retval     EFI_UNSUPPORTED  dTBT is not supported.
**/
EFI_STATUS
EFIAPI
DTbtForcePower (
  IN  PEI_TBT_POLICY  *PeiTbtConfig
);
 
/**
  Clear VGA Registers for DTBT.
 
  @param[in]  PEI_TBT_POLICY   PeiTbtConfig
 
  @retval     EFI_SUCCESS  The function completes successfully
  @retval     EFI_UNSUPPORTED  dTBT is not supported.
**/
EFI_STATUS
EFIAPI
DTbtClearVgaRegisters (
  IN  PEI_TBT_POLICY  *PeiTbtConfig
);
 
/**
  Exectue Mail box command "Boot On".
 
  @param[in]  PEI_TBT_POLICY   PeiTbtConfig
 
  @retval     EFI_SUCCESS  The function completes successfully
  @retval     EFI_UNSUPPORTED  dTBT is not supported.
**/
EFI_STATUS
EFIAPI
DTbtBootOn (
  IN  PEI_TBT_POLICY  *PeiTbtConfig
);
 
/**
  Exectue Mail box command "USB On".
 
  @param[in]  PEI_TBT_POLICY   PeiTbtConfig
 
  @retval     EFI_SUCCESS  The function completes successfully
  @retval     EFI_UNSUPPORTED  dTBT is not supported.
**/
EFI_STATUS
EFIAPI
DTbtUsbOn (
  IN  PEI_TBT_POLICY  *PeiTbtConfig
);
 
/**
  Exectue Mail box command "Sx Exit".
 
  @param[in]  PEI_TBT_POLICY   PeiTbtConfig
 
  @retval     EFI_SUCCESS  The function completes successfully
  @retval     EFI_UNSUPPORTED  dTBT is not supported.
**/
EFI_STATUS
EFIAPI
DTbtSxExitFlow (
  IN  PEI_TBT_POLICY  *PeiTbtConfig
);
 
#endif