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