PeiPlatformHookLib.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. /** @file
  2. Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
  3. SPDX-License-Identifier: BSD-2-Clause-Patent
  4. **/
  5. #ifndef _PEI_PLATFORM_HOOK_LIB_H_
  6. #define _PEI_PLATFORM_HOOK_LIB_H_
  7. #include <PlatformInfo.h>
  8. #include <Library/PeiServicesLib.h>
  9. #include <Library/GpioLib.h>
  10. //EC Command to provide one byte of debug indication
  11. #define BSSB_DEBUG_INDICATION 0xAE
  12. /**
  13. Configure EC for specific devices
  14. @param[in] PchLan - The PchLan of PCH_SETUP variable.
  15. @param[in] BootMode - The current boot mode.
  16. **/
  17. VOID
  18. EcInit (
  19. IN UINT8 PchLan,
  20. IN EFI_BOOT_MODE BootMode
  21. );
  22. /**
  23. Checks if Premium PMIC present
  24. @retval TRUE if present
  25. @retval FALSE it discrete/other PMIC
  26. **/
  27. BOOLEAN
  28. IsPremiumPmicPresent (
  29. VOID
  30. );
  31. /**
  32. Pmic Programming to supprort LPAL Feature
  33. @retval NONE
  34. **/
  35. VOID
  36. PremiumPmicDisableSlpS0Voltage (
  37. VOID
  38. );
  39. /**
  40. Pmic Programming to supprort LPAL Feature
  41. @retval NONE
  42. **/
  43. VOID
  44. PremiumPmicEnableSlpS0Voltage(
  45. VOID
  46. );
  47. /**
  48. Do platform specific programming pre-memory. For example, EC init, Chipset programming
  49. @retval Status
  50. **/
  51. EFI_STATUS
  52. PlatformSpecificInitPreMem (
  53. VOID
  54. );
  55. /**
  56. Do platform specific programming post-memory.
  57. @retval Status
  58. **/
  59. EFI_STATUS
  60. PlatformSpecificInit (
  61. VOID
  62. );
  63. /**
  64. Configure GPIO and SIO Before Memory is ready.
  65. @retval EFI_SUCCESS Operation success.
  66. **/
  67. EFI_STATUS
  68. BoardInitPreMem (
  69. VOID
  70. );
  71. /**
  72. Configure GPIO and SIO
  73. @retval EFI_SUCCESS Operation success.
  74. **/
  75. EFI_STATUS
  76. BoardInit (
  77. VOID
  78. );
  79. /**
  80. Voltage Margining Routine
  81. @retval EFI_SUCCESS Operation success
  82. **/
  83. EFI_STATUS
  84. VoltageMarginingRoutine(
  85. VOID
  86. );
  87. /**
  88. Detect recovery mode
  89. @retval EFI_SUCCESS System in Recovery Mode
  90. @retval EFI_UNSUPPORTED System doesn't support Recovery Mode
  91. @retval EFI_NOT_FOUND System is not in Recovery Mode
  92. **/
  93. EFI_STATUS
  94. IsRecoveryMode (
  95. VOID
  96. );
  97. /**
  98. Early board Configuration before Memory is ready.
  99. @retval EFI_SUCCESS Operation success.
  100. **/
  101. EFI_STATUS
  102. BoardInitEarlyPreMem (
  103. VOID
  104. );
  105. #endif