]> git.proxmox.com Git - mirror_edk2.git/blame - Vlv2DeviceRefCodePkg/ValleyView2Soc/SouthCluster/Include/Protocol/PchReset.h
Upload BSD-licensed Vlv2TbltDevicePkg and Vlv2DeviceRefCodePkg to
[mirror_edk2.git] / Vlv2DeviceRefCodePkg / ValleyView2Soc / SouthCluster / Include / Protocol / PchReset.h
CommitLineData
3cbfba02
DW
1/**\r
2**/\r
3/**\r
4\r
5Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved\r
6\r
7 This program and the accompanying materials are licensed and made available under\r
8 the terms and conditions of the BSD License that accompanies this distribution.\r
9 The full text of the license may be found at\r
10 http://opensource.org/licenses/bsd-license.php.\r
11\r
12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
14\r
15\r
16\r
17 @file\r
18 PchReset.h\r
19\r
20 @brief\r
21 PCH Reset Protocol\r
22\r
23**/\r
24#ifndef _PCH_RESET_H_\r
25#define _PCH_RESET_H_\r
26\r
27\r
28//\r
29#define PCH_RESET_PROTOCOL_GUID \\r
30 { \\r
31 0xdb63592c, 0xb8cc, 0x44c8, 0x91, 0x8c, 0x51, 0xf5, 0x34, 0x59, 0x8a, 0x5a \\r
32 }\r
33#define PCH_RESET_CALLBACK_PROTOCOL_GUID \\r
34 { \\r
35 0x3a3300ab, 0xc929, 0x487d, 0xab, 0x34, 0x15, 0x9b, 0xc1, 0x35, 0x62, 0xc0 \\r
36 }\r
37extern EFI_GUID gPchResetProtocolGuid;\r
38extern EFI_GUID gPchResetCallbackProtocolGuid;\r
39\r
40///\r
41/// Forward reference for ANSI C compatibility\r
42///\r
43typedef struct _PCH_RESET_PROTOCOL PCH_RESET_PROTOCOL;\r
44\r
45typedef struct _PCH_RESET_CALLBACK_PROTOCOL PCH_RESET_CALLBACK_PROTOCOL;\r
46\r
47///\r
48/// Related Definitions\r
49///\r
50///\r
51/// PCH Reset Types\r
52///\r
53typedef enum {\r
54 ColdReset,\r
55 WarmReset,\r
56 ShutdownReset,\r
57 PowerCycleReset,\r
58 GlobalReset,\r
59 GlobalResetWithEc\r
60} PCH_RESET_TYPE;\r
61\r
62///\r
63/// Member functions\r
64///\r
65typedef\r
66EFI_STATUS\r
67(EFIAPI *PCH_RESET) (\r
68 IN PCH_RESET_PROTOCOL * This,\r
69 IN PCH_RESET_TYPE PchResetType\r
70 )\r
71/**\r
72\r
73 @brief\r
74 Execute Pch Reset from the host controller.\r
75\r
76 @param[in] This Pointer to the PCH_RESET_PROTOCOL instance.\r
77 @param[in] PchResetType Pch Reset Types which includes ColdReset, WarmReset, ShutdownReset,\r
78 PowerCycleReset, GlobalReset, GlobalResetWithEc\r
79\r
80 @retval EFI_SUCCESS Successfully completed.\r
81 @retval EFI_INVALID_PARAMETER If ResetType is invalid.\r
82\r
83**/\r
84;\r
85\r
86typedef\r
87EFI_STATUS\r
88(EFIAPI *PCH_RESET_CALLBACK) (\r
89 IN PCH_RESET_TYPE PchResetType\r
90 )\r
91/**\r
92\r
93 @brief\r
94 Execute call back function for Pch Reset.\r
95\r
96 @param[in] PchResetType Pch Reset Types which includes PowerCycle, Globalreset.\r
97\r
98 @retval EFI_SUCCESS The callback function has been done successfully\r
99 @retval EFI_NOT_FOUND Failed to find Pch Reset Callback protocol. Or, none of\r
100 callback protocol is installed.\r
101 @retval Others Do not do any reset from PCH\r
102\r
103**/\r
104;\r
105\r
106///\r
107/// Interface structure for the Pch Reset Protocol\r
108///\r
109struct _PCH_RESET_PROTOCOL {\r
110 PCH_RESET Reset;\r
111};\r
112\r
113///\r
114/// PCH_RESET_CALLBACK_PROTOCOL Structure Definition\r
115///\r
116struct _PCH_RESET_CALLBACK_PROTOCOL {\r
117 PCH_RESET_CALLBACK ResetCallback;\r
118};\r
119\r
120#endif\r