]> git.proxmox.com Git - mirror_edk2.git/blob - Vlv2DeviceRefCodePkg/ValleyView2Soc/SouthCluster/Include/Protocol/PchReset.h
Vlv2DeviceRefCodePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / Vlv2DeviceRefCodePkg / ValleyView2Soc / SouthCluster / Include / Protocol / PchReset.h
1 /**
2 **/
3 /**
4
5 Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved
6
7 SPDX-License-Identifier: BSD-2-Clause-Patent
8
9
10
11 @file
12 PchReset.h
13
14 @brief
15 PCH Reset Protocol
16
17 **/
18 #ifndef _PCH_RESET_H_
19 #define _PCH_RESET_H_
20
21
22 //
23 #define PCH_RESET_PROTOCOL_GUID \
24 { \
25 0xdb63592c, 0xb8cc, 0x44c8, 0x91, 0x8c, 0x51, 0xf5, 0x34, 0x59, 0x8a, 0x5a \
26 }
27 #define PCH_RESET_CALLBACK_PROTOCOL_GUID \
28 { \
29 0x3a3300ab, 0xc929, 0x487d, 0xab, 0x34, 0x15, 0x9b, 0xc1, 0x35, 0x62, 0xc0 \
30 }
31 extern EFI_GUID gPchResetProtocolGuid;
32 extern EFI_GUID gPchResetCallbackProtocolGuid;
33
34 ///
35 /// Forward reference for ANSI C compatibility
36 ///
37 typedef struct _PCH_RESET_PROTOCOL PCH_RESET_PROTOCOL;
38
39 typedef struct _PCH_RESET_CALLBACK_PROTOCOL PCH_RESET_CALLBACK_PROTOCOL;
40
41 ///
42 /// Related Definitions
43 ///
44 ///
45 /// PCH Reset Types
46 ///
47 typedef enum {
48 ColdReset,
49 WarmReset,
50 ShutdownReset,
51 PowerCycleReset,
52 GlobalReset,
53 GlobalResetWithEc
54 } PCH_RESET_TYPE;
55
56 ///
57 /// Member functions
58 ///
59 typedef
60 EFI_STATUS
61 (EFIAPI *PCH_RESET) (
62 IN PCH_RESET_PROTOCOL * This,
63 IN PCH_RESET_TYPE PchResetType
64 )
65 /**
66
67 @brief
68 Execute Pch Reset from the host controller.
69
70 @param[in] This Pointer to the PCH_RESET_PROTOCOL instance.
71 @param[in] PchResetType Pch Reset Types which includes ColdReset, WarmReset, ShutdownReset,
72 PowerCycleReset, GlobalReset, GlobalResetWithEc
73
74 @retval EFI_SUCCESS Successfully completed.
75 @retval EFI_INVALID_PARAMETER If ResetType is invalid.
76
77 **/
78 ;
79
80 typedef
81 EFI_STATUS
82 (EFIAPI *PCH_RESET_CALLBACK) (
83 IN PCH_RESET_TYPE PchResetType
84 )
85 /**
86
87 @brief
88 Execute call back function for Pch Reset.
89
90 @param[in] PchResetType Pch Reset Types which includes PowerCycle, Globalreset.
91
92 @retval EFI_SUCCESS The callback function has been done successfully
93 @retval EFI_NOT_FOUND Failed to find Pch Reset Callback protocol. Or, none of
94 callback protocol is installed.
95 @retval Others Do not do any reset from PCH
96
97 **/
98 ;
99
100 ///
101 /// Interface structure for the Pch Reset Protocol
102 ///
103 struct _PCH_RESET_PROTOCOL {
104 PCH_RESET Reset;
105 };
106
107 ///
108 /// PCH_RESET_CALLBACK_PROTOCOL Structure Definition
109 ///
110 struct _PCH_RESET_CALLBACK_PROTOCOL {
111 PCH_RESET_CALLBACK ResetCallback;
112 };
113
114 #endif