1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- /** @file
- Pch Early update.
- @copyright
- Copyright 2019 - 2021 Intel Corporation. <BR>
- SPDX-License-Identifier: BSD-2-Clause-Patent
- **/
- #include "PeiBoardInit.h"
- #include <Library/UbaPchEarlyUpdateLib.h>
- #include <PchAccess.h>
- #include <GpioPinsSklH.h>
- #include <Library/GpioLib.h>
- #include <Ppi/DynamicSiLibraryPpi.h>
- EFI_STATUS
- TypeBoardPortTemplatePchLanConfig (
- 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
- TypeBoardPortTemplateOemInitLateHook (
- IN SYSTEM_CONFIGURATION *SystemConfig
- )
- {
- return EFI_SUCCESS;
- }
- PLATFORM_PCH_EARLY_UPDATE_TABLE TypeBoardPortTemplatePchEarlyUpdateTable =
- {
- PLATFORM_PCH_EARLY_UPDATE_SIGNATURE,
- PLATFORM_PCH_EARLY_UPDATE_VERSION,
- TypeBoardPortTemplatePchLanConfig,
- TypeBoardPortTemplateOemInitLateHook
- };
- /**
- 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
- TypeBoardPortTemplatePchEarlyUpdate(
- IN UBA_CONFIG_DATABASE_PPI *UbaConfigPpi
- )
- {
- EFI_STATUS Status;
- Status = PeiServicesLocatePpi (
- &gUbaConfigDatabasePpiGuid,
- 0,
- NULL,
- &UbaConfigPpi
- );
- if (EFI_ERROR(Status)) {
- return Status;
- }
- Status = UbaConfigPpi->AddData (
- UbaConfigPpi,
- &gPlatformPchEarlyConfigDataGuid,
- &TypeBoardPortTemplatePchEarlyUpdateTable,
- sizeof(TypeBoardPortTemplatePchEarlyUpdateTable)
- );
- return Status;
- }
|