/** @file Header file for Platform Boards Configurations. Copyright (c) 2021, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _PLATFORM_BOARD_CONFIG_H #define _PLATFORM_BOARD_CONFIG_H #include #include #pragma pack(1) typedef struct { UINT8 ClkReqNumber : 4; UINT8 ClkReqSupported : 1; UINT8 DeviceResetPadActiveHigh : 1; UINT32 DeviceResetPad; } ROOT_PORT_CLK_INFO; typedef struct { UINT8 Section; UINT8 Pin; } EXPANDER_GPIO_CONFIG; typedef struct { UINT8 Type; UINT8 Reserved[3]; // alignment for COMMON_GPIO_CONFIG union { UINT32 Pin; EXPANDER_GPIO_CONFIG Expander; } u; } BOARD_GPIO_CONFIG; // Do not change the encoding. It must correspond with PCH_PCIE_CLOCK_USAGE from PCH RC. #define NOT_USED 0xFF #define FREE_RUNNING 0x80 #define LAN_CLOCK 0x70 #define PCIE_PEG 0x40 #define PCIE_PCH 0x00 typedef struct { UINT32 ClockUsage; UINT32 ClkReqSupported; } PCIE_CLOCK_CONFIG; typedef union { UINT64 Blob; BOARD_GPIO_CONFIG BoardGpioConfig; ROOT_PORT_CLK_INFO Info; PCIE_CLOCK_CONFIG PcieClock; } PCD64_BLOB; #pragma pack() #endif // _PLATFORM_BOARD_CONFIG_H