PlatformBoardConfig.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /** @file
  2. Header file for Platform Boards Configurations.
  3. Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
  4. SPDX-License-Identifier: BSD-2-Clause-Patent
  5. **/
  6. #ifndef _PLATFORM_BOARD_CONFIG_H
  7. #define _PLATFORM_BOARD_CONFIG_H
  8. #include <ConfigBlock.h>
  9. #include <PchPolicyCommon.h>
  10. #pragma pack(1)
  11. typedef struct {
  12. UINT8 ClkReqNumber : 4;
  13. UINT8 ClkReqSupported : 1;
  14. UINT8 DeviceResetPadActiveHigh : 1;
  15. UINT32 DeviceResetPad;
  16. } ROOT_PORT_CLK_INFO;
  17. typedef struct {
  18. UINT8 Section;
  19. UINT8 Pin;
  20. } EXPANDER_GPIO_CONFIG;
  21. typedef struct {
  22. UINT8 Type;
  23. UINT8 Reserved[3]; // alignment for COMMON_GPIO_CONFIG
  24. union {
  25. UINT32 Pin;
  26. EXPANDER_GPIO_CONFIG Expander;
  27. } u;
  28. } BOARD_GPIO_CONFIG;
  29. // Do not change the encoding. It must correspond with PCH_PCIE_CLOCK_USAGE from PCH RC.
  30. #define NOT_USED 0xFF
  31. #define FREE_RUNNING 0x80
  32. #define LAN_CLOCK 0x70
  33. #define PCIE_PEG 0x40
  34. #define PCIE_PCH 0x00
  35. typedef struct {
  36. UINT32 ClockUsage;
  37. UINT32 ClkReqSupported;
  38. } PCIE_CLOCK_CONFIG;
  39. typedef union {
  40. UINT64 Blob;
  41. BOARD_GPIO_CONFIG BoardGpioConfig;
  42. ROOT_PORT_CLK_INFO Info;
  43. PCIE_CLOCK_CONFIG PcieClock;
  44. } PCD64_BLOB;
  45. #pragma pack()
  46. #endif // _PLATFORM_BOARD_CONFIG_H