/** @file
PCH General policy
Copyright (c) 2017, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _PCH_GENERAL_CONFIG_H_
#define _PCH_GENERAL_CONFIG_H_
#define PCH_GENERAL_CONFIG_REVISION 1
#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.
};
typedef struct {
CONFIG_BLOCK_HEADER Header; ///< Config Block Header
/**
Subsystem Vendor ID and Subsystem ID of the PCH devices.
This fields will be ignored if the value of SubSystemVendorId and SubSystemId
are both 0.
**/
UINT16 SubSystemVendorId; ///< Default Subsystem Vendor ID of the PCH devices. Default is 0x8086
UINT16 SubSystemId; ///< Default Subsystem ID of the PCH devices. Default is 0x7270
/**
This member describes whether or not the Compatibility Revision ID (CRID) feature
of PCH should be enabled. 0: Disable; 1: Enable
**/
UINT32 Crid : 1;
UINT32 RsvdBits0 : 31; ///< Reserved bits
} PCH_GENERAL_CONFIG;
typedef struct {
CONFIG_BLOCK_HEADER Header; ///< Config Block Header
UINT16 AcpiBase; ///< Power management I/O base address. Default is 0x1800.
UINT8 RsvdBytes[2];
/**
Control where the Port 80h cycles are sent, 0: LPC; 1: PCI.
**/
UINT32 Port80Route : 1;
UINT32 RsvdBits0 : 31; ///< Reserved bits
} PCH_GENERAL_PREMEM_CONFIG;
#pragma pack (pop)
#endif // _PCH_GENERAL_CONFIG_H_