/** @file Soft Strap update. @copyright Copyright 2018 - 2021 Intel Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include "PeiBoardInit.h" #include PLATFORM_PCH_SOFTSTRAP_FIXUP_ENTRY TypeWilsonCityRPSoftStrapTable[] = { // SoftStrapNumber, LowBit, BitLength, Value {3, 1, 1, 0x1 }, // Intel QuickAssist Endpoint 2 (EP[2]) Primary Mux Select {4, 24, 1, 0x0 }, // 10 GbE MAC Power Gate Control {15, 4, 2, 0x3 }, // sSATA / PCIe Select for Port 2 (SATA_PCIE_SP2) {15, 6, 2, 0x1 }, // sSATA / PCIe Select for Port 3 (SATA_PCIE_SP3) {15, 18, 1, 0x1 }, // Polarity of GPP_H20 (GPIO polarity of Select between sSATA Port 2 and PCIe Port 8) {16, 4, 2, 0x3 }, // sSATA / PCIe GP Select for Port 2 (SATA_PCIE_GP2) {16, 6, 2, 0x1 }, // sSATA / PCIe GP Select for Port 3 (SATA_PCIE_GP3) {17, 6, 1, 0x0 }, // Intel (R) GbE Legacy PHY over PCIe Enabled {17, 12, 2, 0x3 }, // sSATA / PCIe Combo Port 2 {18, 0, 2, 0x1 }, // sSATA / PCIe Combo Port 3 {18, 6, 2, 0x3 }, // SATA / PCIe Combo Port 0 {18, 8, 2, 0x3 }, // SATA / PCIe Combo Port 1 {18, 10, 2, 0x3 }, // SATA / PCIe Combo Port 2 {18, 12, 2, 0x3 }, // SATA / PCIe Combo Port 3 {18, 14, 2, 0x3 }, // SATA / PCIe Combo Port 4 {19, 2, 1, 0x1 }, // Polarity Select sSATA / PCIe Combo Port 2 {19, 16, 2, 0x3 }, // SATA / PCIe Combo Port 5 {19, 18, 2, 0x3 }, // SATA / PCIe Combo Port 6 {19, 20, 2, 0x3 }, // SATA / PCIe Combo Port 7 {19, 26, 1, 0x1 }, // Statically assign PCH PCIe NP8 Uplink to act as Downlink or Uplink(PCIEUDS) {33, 24, 7, 0x17}, // IE SMLink1 I2C Target Address {64, 24, 7, 0x17}, // ME SMLink1 I2C Target Address {84, 24, 1, 0x0 }, // SMS1 Gbe Legacy MAC SMBus Address Enable {85, 8, 3, 0x0 }, // SMS1 PMC SMBus Connect {88, 8, 2, 0x3 }, // Root Port Configuration 0 {93, 0, 2, 0x3 }, // Flex IO Port 18 AUXILLARY Mux Select between SATA Port 0 and PCIe Port 12 {93, 2, 2, 0x3 }, // Flex IO Port 19 AUXILLARY Mux Select between SATA Port 1 and PCIe Port 13 {93, 4, 2, 0x3 }, // Flex IO Port 20 AUXILLARY Mux Select between SATA Port 2 and PCIe Port 14 {94, 0, 2, 0x3 }, // Flex IO Port 21 AUXILLARY Mux Select between SATA Port 3 and PCIe Port 15 {94, 2, 2, 0x3 }, // Flex IO Port 22 AUXILLARY Mux Select between SATA Port 4 and PCIe Port 16 {94, 4, 2, 0x3 }, // Flex IO Port 23 AUXILLARY Mux Select between SATA Port 5 and PCIe Port 17 {94, 6, 2, 0x3 }, // Flex IO Port 24 AUXILLARY Mux Select between SATA Port 6 and PCIe Port 18 {94, 8, 2, 0x3 }, // Flex IO Port 25 AUXILLARY Mux Select between SATA Port 7 and PCIe Port 19 {102, 0, 2, 0x3 }, // Flex IO Port 18 Mux Select between SATA Port 0 and PCIe Port 12 {102, 2, 2, 0x3 }, // Flex IO Port 18 Mux Select between SATA Port 1 and PCIe Port 13 {102, 4, 2, 0x3 }, // Flex IO Port 18 Mux Select between SATA Port 2 and PCIe Port 14 {102, 6, 2, 0x3 }, // Flex IO Port 18 Mux Select between SATA Port 3 and PCIe Port 15 {102, 8, 2, 0x3 }, // Flex IO Port 18 Mux Select between SATA Port 4 and PCIe Port 16 {102, 10, 2, 0x3 }, // Flex IO Port 18 Mux Select between SATA Port 5 and PCIe Port 17 {102, 12, 2, 0x3 }, // Flex IO Port 18 Mux Select between SATA Port 6 and PCIe Port 18 {102, 14, 2, 0x3 }, // Flex IO Port 18 Mux Select between SATA Port 7 and PCIe Port 19 {103, 16, 3, 0x0 }, // GbE Legacy PHY Smbus Connection {103, 26, 1, 0x0 }, // GbE Legacy LCD SMBus PHY Address Enabled {103, 27, 1, 0x0 }, // GbE Legacy LC SMBus Address Enabled // {133, 1, 1, 0x1 }, // Dual I/O Read Enabled // {133, 2, 1, 0x1 }, // Quad Output Read Enabled // {133, 3, 1, 0x1 }, // Quad I/O Read Enabled // {136, 10, 2, 0x3 }, // eSPI / EC Maximum I/O Mode // {136, 12, 1, 0x1 }, // Slave 1 (2nd eSPI device) Enable // {136, 16, 3, 0x4 }, // eSPI / EC Slave 1 Device Bus Frequency // {136, 19, 2, 0x3 }, // eSPI / EC Slave Device Maximum I/O Mode // // END OF LIST // {0, 0, 0, 0} }; UINT32 TypeWilsonCityRPSystemBoardRevIdValue (VOID) { EFI_HOB_GUID_TYPE *GuidHob; EFI_PLATFORM_INFO *PlatformInfo; GuidHob = GetFirstGuidHob (&gEfiPlatformInfoGuid); ASSERT(GuidHob != NULL); if (GuidHob == NULL) { return 0xFF; } PlatformInfo = GET_GUID_HOB_DATA(GuidHob); return PlatformInfo->TypeRevisionId; } VOID TypeWilsonCityRPPlatformSpecificUpdate ( IN OUT UINT8 *FlashDescriptorCopy ) { } PLATFORM_PCH_SOFTSTRAP_UPDATE TypeWilsonCityRPSoftStrapUpdate = { PLATFORM_SOFT_STRAP_UPDATE_SIGNATURE, PLATFORM_SOFT_STRAP_UPDATE_VERSION, TypeWilsonCityRPSoftStrapTable, TypeWilsonCityRPPlatformSpecificUpdate }; EFI_STATUS TypeWilsonCityRPInstallSoftStrapData ( IN UBA_CONFIG_DATABASE_PPI *UbaConfigPpi ) { EFI_STATUS Status; Status = UbaConfigPpi->AddData ( UbaConfigPpi, &gPlatformPchSoftStrapConfigDataGuid, &TypeWilsonCityRPSoftStrapUpdate, sizeof(TypeWilsonCityRPSoftStrapUpdate) ); return Status; }