/** @file This file is to load sample board policy. Copyright (c) 2017 - 2020 Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include "PeiPchPolicyLibrary.h" #include /* Apply sample board PCH specific default settings @param[in] SiPreMemPolicy The pointer to SI PREMEM Policy PPI instance */ VOID EFIAPI PchLoadSamplePreMemPolicy ( IN SI_PREMEM_POLICY_PPI *SiPreMemPolicy ) { EFI_STATUS Status; PCH_TRACE_HUB_PREMEM_CONFIG *TraceHubPreMemConfig; PCH_HSIO_PCIE_PREMEM_CONFIG *HsioPciePreMemConfig; PCH_HSIO_SATA_PREMEM_CONFIG *HsioSataPreMemConfig; Status = GetConfigBlock ((VOID *) SiPreMemPolicy, &gTraceHubPreMemConfigGuid, (VOID *) &TraceHubPreMemConfig); ASSERT_EFI_ERROR (Status); Status = GetConfigBlock ((VOID *) SiPreMemPolicy, &gHsioPciePreMemConfigGuid, (VOID *) &HsioPciePreMemConfig); ASSERT_EFI_ERROR (Status); Status = GetConfigBlock ((VOID *) SiPreMemPolicy, &gHsioSataPreMemConfigGuid, (VOID *) &HsioSataPreMemConfig); ASSERT_EFI_ERROR (Status); // // TRACEHUB // TraceHubPreMemConfig->MemReg0Size = 0x100000; // 1MB TraceHubPreMemConfig->MemReg1Size = 0x100000; // 1MB // // HSIO PCIE // HsioPciePreMemConfig->Lane[0].HsioRxSetCtleEnable = TRUE; HsioPciePreMemConfig->Lane[0].HsioRxSetCtle = 6; HsioPciePreMemConfig->Lane[1].HsioRxSetCtleEnable = TRUE; HsioPciePreMemConfig->Lane[1].HsioRxSetCtle = 6; HsioPciePreMemConfig->Lane[2].HsioRxSetCtleEnable = TRUE; HsioPciePreMemConfig->Lane[2].HsioRxSetCtle = 6; HsioPciePreMemConfig->Lane[3].HsioRxSetCtleEnable = TRUE; HsioPciePreMemConfig->Lane[3].HsioRxSetCtle = 6; HsioPciePreMemConfig->Lane[5].HsioRxSetCtleEnable = TRUE; HsioPciePreMemConfig->Lane[5].HsioRxSetCtle = 8; HsioPciePreMemConfig->Lane[7].HsioRxSetCtleEnable = TRUE; HsioPciePreMemConfig->Lane[7].HsioRxSetCtle = 8; HsioPciePreMemConfig->Lane[8].HsioRxSetCtleEnable = TRUE; HsioPciePreMemConfig->Lane[8].HsioRxSetCtle = 8; HsioPciePreMemConfig->Lane[9].HsioRxSetCtleEnable = TRUE; HsioPciePreMemConfig->Lane[9].HsioRxSetCtle = 8; HsioPciePreMemConfig->Lane[10].HsioRxSetCtleEnable = TRUE; HsioPciePreMemConfig->Lane[10].HsioRxSetCtle = 8; HsioPciePreMemConfig->Lane[11].HsioRxSetCtleEnable = TRUE; HsioPciePreMemConfig->Lane[11].HsioRxSetCtle = 8; HsioPciePreMemConfig->PciePllSsc = 0xFF; // // HSIO SATA // HsioSataPreMemConfig->PortLane[0].HsioRxGen3EqBoostMagEnable = TRUE; HsioSataPreMemConfig->PortLane[0].HsioRxGen3EqBoostMag = 4; HsioSataPreMemConfig->PortLane[0].HsioTxGen1DownscaleAmpEnable = TRUE; HsioSataPreMemConfig->PortLane[0].HsioTxGen1DownscaleAmp = 0x2C; HsioSataPreMemConfig->PortLane[0].HsioTxGen2DownscaleAmpEnable = 0; HsioSataPreMemConfig->PortLane[0].HsioTxGen2DownscaleAmp = 0x38; }