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

85 lines
1.9 KiB
C

/*++
Copyright (c) 2008 - 2014, Intel Corporation. All rights reserved
SPDX-License-Identifier: BSD-2-Clause-Patent
Module Name:
PchExtendedReset.h
Abstract:
PCH Extended Reset Protocol
--*/
#ifndef _EFI_PCH_EXTENDED_RESET_H_
#define _EFI_PCH_EXTENDED_RESET_H_
//
#define EFI_PCH_EXTENDED_RESET_PROTOCOL_GUID \
{ \
0xf0bbfca0, 0x684e, 0x48b3, 0xba, 0xe2, 0x6c, 0x84, 0xb8, 0x9e, 0x53, 0x39 \
}
extern EFI_GUID gEfiPchExtendedResetProtocolGuid;
//
// Forward reference for ANSI C compatibility
//
typedef struct _EFI_PCH_EXTENDED_RESET_PROTOCOL EFI_PCH_EXTENDED_RESET_PROTOCOL;
//
// Related Definitions
//
//
// PCH Extended Reset Types
//
typedef struct {
UINT8 PowerCycle : 1; // 0: Disabled*; 1: Enabled
UINT8 GlobalReset : 1; // 0: Disabled*; 1: Enabled
UINT8 SusPwrDnAck : 1; // 0: Do Nothing;
// 1: GPIO[30](SUS_PWR_DN_ACK) level is set low prior to Global Reset(for systems with an embedded controller)
UINT8 RsvdBits : 5; // Reserved fields for future expansion w/o protocol change
} PCH_EXTENDED_RESET_TYPES;
//
// Member functions
//
typedef
EFI_STATUS
(EFIAPI *EFI_PCH_EXTENDED_RESET) (
IN EFI_PCH_EXTENDED_RESET_PROTOCOL * This,
IN PCH_EXTENDED_RESET_TYPES PchExtendedResetTypes
);
/*++
Routine Description:
Execute Pch Extended Reset from the host controller.
Arguments:
This - Pointer to the EFI_PCH_EXTENDED_RESET_PROTOCOL instance.
PchExtendedResetTypes - Pch Extended Reset Types which includes PowerCycle, Globalreset.
Returns:
Does not return if the reset takes place.
EFI_INVALID_PARAMETER - If ResetType is invalid.
--*/
//
// Interface structure for the Pch Extended Reset Protocol
//
struct _EFI_PCH_EXTENDED_RESET_PROTOCOL {
EFI_PCH_EXTENDED_RESET Reset;
};
#endif