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

89 lines
1.8 KiB
C

/*++
Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved
SPDX-License-Identifier: BSD-2-Clause-Patent
Module Name:
TcoReset.h
Abstract:
Protocol to communicate with ICH TCO.
GUID Info:
{A6A79162-E325-4c30-BCC3-59373064EFB3}
0xa6a79162, 0xe325, 0x4c30, 0xbc, 0xc3, 0x59, 0x37, 0x30, 0x64, 0xef, 0xb3);
--*/
#ifndef _TCO_RESET_H_
#define _TCO_RESET_H_
#define EFI_TCO_RESET_PROTOCOL_GUID \
{0xa6a79162, 0xe325, 0x4c30, 0xbc, 0xc3, 0x59, 0x37, 0x30, 0x64, 0xef, 0xb3}
typedef struct _EFI_TCO_RESET_PROTOCOL EFI_TCO_RESET_PROTOCOL;
typedef
EFI_STATUS
(EFIAPI *EFI_TCO_RESET_PROTOCOL_ENABLE_TCO_RESET) (
IN UINT32 *RcrbGcsSaveValue
)
/*++
Routine Description:
Enables the TCO timer to reset the system in case of a system hang. This is
used when writing the clock registers.
Arguments:
RcrbGcsSaveValue - This is the value of the RCRB GCS register before it is
changed by this procedure. This will be used to restore
the settings of this register in PpiDisableTcoReset.
Returns:
EFI_STATUS
--*/
;
typedef
EFI_STATUS
(EFIAPI *EFI_TCO_RESET_PROTOCOL_DISABLE_TCO_RESET) (
OUT UINT32 RcrbGcsRestoreValue
)
/*++
Routine Description:
Disables the TCO timer. This is used after writing the clock registers.
Arguments:
RcrbGcsRestoreValue - Value saved in PpiEnableTcoReset so that it can
restored.
Returns:
EFI_STATUS
--*/
;
typedef struct _EFI_TCO_RESET_PROTOCOL {
EFI_TCO_RESET_PROTOCOL_ENABLE_TCO_RESET EnableTcoReset;
EFI_TCO_RESET_PROTOCOL_DISABLE_TCO_RESET DisableTcoReset;
} EFI_TCO_RESET_PROTOCOL;
extern EFI_GUID gEfiTcoResetProtocolGuid;
#endif