/** @file @copyright Copyright 2013 - 2021 Intel Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include "PeiCommonBoardInitLib.h" #include #include #include #include #include STATIC PLATFORM_GPIO_CONFIG_TABLE mGpioPlatformConfig = { PLATFORM_GPIO_CONFIG_SIGNATURE, PLATFORM_GPIO_CONFIG_VERSION, //MFG pad { GPIO_SKL_H_GPP_C9, //To be verified with the Board schematics {GpioPadModeGpio, GpioHostOwnGpio, GpioDirIn, GpioOutDefault, GpioIntDis, GpioPlatformReset, GpioTermNone} }, GPIO_SKL_H_GPP_A18, //Recovery jumper pad GPIO_SKL_H_GPP_B14, //FM ADR Trigger GPIO_SKL_H_GPP_E3, //ADR enable GPIO output GPIO_SKL_H_GPP_D4, // Force to S1 config mode pad GPIO_SKL_H_GPP_A17, // // Used by PC Platforms // GPIO_SKL_H_GPP_B3, // // Used by PC platforms. This is the first GPIO pad of the pad series to indicate Board ID // GPIO_SKL_H_GPP_G12, // // WHEA SCI generation pad // GPIO_SKL_H_GPP_A12, // // Used to generate CPU HP SMI // GPIO_SKL_H_GPP_E6, // // FPGA error indicator // GPIO_SKL_H_GPP_E4, // // FPGA error indicator // GPIO_SKL_H_GPP_E5, // Flash Security UNUSED_GPIO, }; STATIC PLATFORM_GPIO_CONFIG_TABLE mGpioMiniPchPlatformConfig = { PLATFORM_GPIO_CONFIG_SIGNATURE, PLATFORM_GPIO_CONFIG_VERSION, //MFG pad { UNUSED_GPIO, //To be verified with the Board schematics {0, 0, 0, 0, 0, 0, 0} }, UNUSED_GPIO, //Recovery jumper pad UNUSED_GPIO, //FM ADR Trigger UNUSED_GPIO, //ADR enable GPIO output UNUSED_GPIO, // Force to S1 config mode pad UNUSED_GPIO, // // Used by PC Platforms // UNUSED_GPIO, // // Used by PC platforms. This is the first GPIO pad of the pad series to indicate Board ID // UNUSED_GPIO, // // WHEA SCI generation pad // UNUSED_GPIO, // // Used to generate CPU HP SMI // UNUSED_GPIO, // // FPGA error indicator // UNUSED_GPIO, // // FPGA error indicator // UNUSED_GPIO, }; EFI_STATUS InstallGpioPlatformData ( IN UBA_CONFIG_DATABASE_PPI *UbaConfigPpi ) { EFI_STATUS Status; DYNAMIC_SI_LIBARY_PPI *DynamicSiLibraryPpi = NULL; Status = PeiServicesLocatePpi (&gDynamicSiLibraryPpiGuid, 0, NULL, (VOID **) &DynamicSiLibraryPpi); if (EFI_ERROR (Status)) { ASSERT_EFI_ERROR (Status); return Status; } if (DynamicSiLibraryPpi->GetPchSeries () == PchMini) { return UbaConfigPpi->AddData ( UbaConfigPpi, &gPlatformGpioPlatformConfigDataGuid, &mGpioMiniPchPlatformConfig, sizeof(mGpioMiniPchPlatformConfig) ); } Status = UbaConfigPpi->AddData ( UbaConfigPpi, &gPlatformGpioPlatformConfigDataGuid, &mGpioPlatformConfig, sizeof(mGpioPlatformConfig) ); ASSERT_EFI_ERROR (Status); return Status; }