/** @file
|
PCH General policy
|
|
Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
**/
|
|
#ifndef _PCH_GENERAL_CONFIG_H_
|
#define _PCH_GENERAL_CONFIG_H_
|
|
#define PCH_GENERAL_CONFIG_REVISION 3
|
#define PCH_GENERAL_PREMEM_CONFIG_REVISION 1
|
|
extern EFI_GUID gPchGeneralConfigGuid;
|
extern EFI_GUID gPchGeneralPreMemConfigGuid;
|
|
#pragma pack (push,1)
|
|
enum PCH_RESERVED_PAGE_ROUTE {
|
PchReservedPageToLpc, ///< Port 80h cycles are sent to LPC.
|
PchReservedPageToPcie ///< Port 80h cycles are sent to PCIe.
|
};
|
|
/**
|
PCH postmem general config block.
|
|
<b>Revision 1</b>:
|
- Initial version.
|
<b>Revision 2</b>:
|
- Remove SubSystemVendorId and SubSystemId.
|
<b>Revision 3</b>:
|
- Add LegacyIoLowLatency support.
|
**/
|
typedef struct {
|
CONFIG_BLOCK_HEADER Header; ///< Config Block Header
|
/**
|
This member describes whether or not the Compatibility Revision ID (CRID) feature
|
of PCH should be enabled. <b>0: Disable</b>; 1: Enable
|
**/
|
UINT32 Crid : 1;
|
/**
|
Set to enable low latency of legacy IO.
|
Some systems require lower IO latency irrespective of power.
|
This is a tradeoff between power and IO latency.
|
@note: Once this is enabled, DmiAspm, Pcie DmiAspm in SystemAgent
|
and ITSS Clock Gating are forced to disabled.
|
<b>0: Disable</b>, 1: Enable
|
**/
|
UINT32 LegacyIoLowLatency : 1;
|
UINT32 RsvdBits0 : 30; ///< Reserved bits
|
} PCH_GENERAL_CONFIG;
|
|
/**
|
PCH premem general config block.
|
|
<b>Revision 1</b>:
|
- Initial version.
|
**/
|
typedef struct {
|
CONFIG_BLOCK_HEADER Header; ///< Config Block Header
|
/**
|
Control where the Port 80h cycles are sent, <b>0: LPC</b>; 1: PCI.
|
**/
|
UINT32 Port80Route : 1;
|
UINT32 RsvdBits0 : 31; ///< Reserved bits
|
} PCH_GENERAL_PREMEM_CONFIG;
|
|
#pragma pack (pop)
|
|
#endif // _PCH_GENERAL_CONFIG_H_
|