/** @file Pch Early update. @copyright Copyright 2019 - 2021 Intel Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include "PeiBoardInit.h" #include #include #include #include #include EFI_STATUS TypeWilsonCitySMTPchLanConfig ( IN SYSTEM_CONFIGURATION *SystemConfig ) { DYNAMIC_SI_LIBARY_PPI *DynamicSiLibraryPpi = NULL; EFI_STATUS Status; Status = PeiServicesLocatePpi (&gDynamicSiLibraryPpiGuid, 0, NULL, &DynamicSiLibraryPpi); if (EFI_ERROR (Status)) { ASSERT_EFI_ERROR (Status); return Status; } DynamicSiLibraryPpi->GpioSetOutputValue (GPIO_SKL_H_GPP_I9, (UINT32)SystemConfig->LomDisableByGpio); DynamicSiLibraryPpi->PchDisableGbe (); return EFI_SUCCESS; } EFI_STATUS TypeWilsonCitySMTOemInitLateHook ( IN SYSTEM_CONFIGURATION *SystemConfig ) { return EFI_SUCCESS; } PLATFORM_PCH_EARLY_UPDATE_TABLE TypeWilsonCitySMTPchEarlyUpdateTable = { PLATFORM_PCH_EARLY_UPDATE_SIGNATURE, PLATFORM_PCH_EARLY_UPDATE_VERSION, TypeWilsonCitySMTPchLanConfig, TypeWilsonCitySMTOemInitLateHook }; /** Entry point function for the PEIM @param FileHandle Handle of the file being invoked. @param PeiServices Describes the list of possible PEI Services. @return EFI_SUCCESS If we installed our PPI **/ EFI_STATUS EFIAPI TypeWilsonCitySMTPchEarlyUpdate( IN UBA_CONFIG_DATABASE_PPI *UbaConfigPpi ) { EFI_STATUS Status = EFI_SUCCESS; DYNAMIC_SI_LIBARY_PPI *DynamicSiLibraryPpi = NULL; Status = PeiServicesLocatePpi (&gDynamicSiLibraryPpiGuid, 0, NULL, &DynamicSiLibraryPpi); if (EFI_ERROR (Status)) { ASSERT_EFI_ERROR (Status); return Status; } if (DynamicSiLibraryPpi->GetPchSeries () == PchMini) { return EFI_SUCCESS; } Status = PeiServicesLocatePpi ( &gUbaConfigDatabasePpiGuid, 0, NULL, &UbaConfigPpi ); if (EFI_ERROR(Status)) { return Status; } Status = UbaConfigPpi->AddData ( UbaConfigPpi, &gPlatformPchEarlyConfigDataGuid, &TypeWilsonCitySMTPchEarlyUpdateTable, sizeof(TypeWilsonCitySMTPchEarlyUpdateTable) ); return Status; }