/** @file Espi policy Copyright (c) 2021, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _ESPI_CONFIG_H_ #define _ESPI_CONFIG_H_ #define ESPI_CONFIG_REVISION 2 extern EFI_GUID gEspiConfigGuid; #pragma pack (push,1) /** This structure contains the policies which are related to ESPI. Revision 1: - Initial revision Revision 2: - Added LockLinkConfiguration field to config block **/ typedef struct { CONFIG_BLOCK_HEADER Header; ///< Config Block Header /** LPC (eSPI) Memory Range Decode Enable. When TRUE, then the range specified in PCLGMR[31:16] is enabled for decoding to LPC (eSPI). 0: FALSE, 1: TRUE **/ UINT32 LgmrEnable : 1; /** eSPI Master and Slave BME settings. When TRUE, then the BME bit enabled in eSPI Master and Slave. 0: FALSE, 1: TRUE **/ UINT32 BmeMasterSlaveEnabled : 1; /** Master HOST_C10 (Virtual Wire) to Slave Enable (VWHC10OE) 0b: Disable HOST_C10 reporting (HOST_C10 indication from PMC is ignored) 1b: Enable HOST_C10 reporting to Slave via eSPI Virtual Wire (upon receiving a HOST_C10 indication from PMC) **/ UINT32 HostC10ReportEnable : 1; /** eSPI Link Configuration Lock (SBLCL) If set to TRUE then communication through SET_CONFIG/GET_CONFIG to eSPI slaves addresses from range 0x0 - 0x7FF 1: TRUE, 0: FALSE **/ UINT32 LockLinkConfiguration : 1; /** Hardware Autonomous Enable (HAE) If set to TRUE, then the IP may request a PG whenever it is idle **/ UINT32 EspiPmHAE : 1; UINT32 RsvdBits : 27; ///< Reserved bits } PCH_ESPI_CONFIG; #pragma pack (pop) #endif // _ESPI_CONFIG_H_