audk/Vlv2DeviceRefCodePkg/ValleyView2Soc/SouthCluster/Include/Protocol/PchReset.h

115 lines
2.5 KiB
C

/**
**/
/**
Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved
SPDX-License-Identifier: BSD-2-Clause-Patent
@file
PchReset.h
@brief
PCH Reset Protocol
**/
#ifndef _PCH_RESET_H_
#define _PCH_RESET_H_
//
#define PCH_RESET_PROTOCOL_GUID \
{ \
0xdb63592c, 0xb8cc, 0x44c8, 0x91, 0x8c, 0x51, 0xf5, 0x34, 0x59, 0x8a, 0x5a \
}
#define PCH_RESET_CALLBACK_PROTOCOL_GUID \
{ \
0x3a3300ab, 0xc929, 0x487d, 0xab, 0x34, 0x15, 0x9b, 0xc1, 0x35, 0x62, 0xc0 \
}
extern EFI_GUID gPchResetProtocolGuid;
extern EFI_GUID gPchResetCallbackProtocolGuid;
///
/// Forward reference for ANSI C compatibility
///
typedef struct _PCH_RESET_PROTOCOL PCH_RESET_PROTOCOL;
typedef struct _PCH_RESET_CALLBACK_PROTOCOL PCH_RESET_CALLBACK_PROTOCOL;
///
/// Related Definitions
///
///
/// PCH Reset Types
///
typedef enum {
ColdReset,
WarmReset,
ShutdownReset,
PowerCycleReset,
GlobalReset,
GlobalResetWithEc
} PCH_RESET_TYPE;
///
/// Member functions
///
typedef
EFI_STATUS
(EFIAPI *PCH_RESET) (
IN PCH_RESET_PROTOCOL * This,
IN PCH_RESET_TYPE PchResetType
)
/**
@brief
Execute Pch Reset from the host controller.
@param[in] This Pointer to the PCH_RESET_PROTOCOL instance.
@param[in] PchResetType Pch Reset Types which includes ColdReset, WarmReset, ShutdownReset,
PowerCycleReset, GlobalReset, GlobalResetWithEc
@retval EFI_SUCCESS Successfully completed.
@retval EFI_INVALID_PARAMETER If ResetType is invalid.
**/
;
typedef
EFI_STATUS
(EFIAPI *PCH_RESET_CALLBACK) (
IN PCH_RESET_TYPE PchResetType
)
/**
@brief
Execute call back function for Pch Reset.
@param[in] PchResetType Pch Reset Types which includes PowerCycle, Globalreset.
@retval EFI_SUCCESS The callback function has been done successfully
@retval EFI_NOT_FOUND Failed to find Pch Reset Callback protocol. Or, none of
callback protocol is installed.
@retval Others Do not do any reset from PCH
**/
;
///
/// Interface structure for the Pch Reset Protocol
///
struct _PCH_RESET_PROTOCOL {
PCH_RESET Reset;
};
///
/// PCH_RESET_CALLBACK_PROTOCOL Structure Definition
///
struct _PCH_RESET_CALLBACK_PROTOCOL {
PCH_RESET_CALLBACK ResetCallback;
};
#endif