From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mx.groups.io with SMTP id smtpd.web08.170.1627960715010350388 for ; Mon, 02 Aug 2021 20:18:35 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@linux.microsoft.com header.s=default header.b=qQsng2CB; spf=pass (domain: linux.microsoft.com, ip: 13.77.154.182, mailfrom: mikuback@linux.microsoft.com) Received: from localhost.localdomain (unknown [167.220.2.74]) by linux.microsoft.com (Postfix) with ESMTPSA id 6225E20BE661; Mon, 2 Aug 2021 19:41:23 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 6225E20BE661 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1627958483; bh=dhTEZuT7gT7FoUdSOai/eX+3IuuowC+3oJOrY2grHp8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qQsng2CBpDBs1HhtdiNVimHnlsA4TL/axpd+ErsQs6bacilc3HaA6lBF0w2KjAubn yHbvw1kFK4on7WR6CDHKuzfJMtgmuCKA3eLq1eZSrkHJqWUEk4IdySXjtYXXl+eVUh sDOo59WXSUWvEtzO6IXKSz9yi2UlCw6EJOH1O7wQ= From: "Michael Kubacki" To: devel@edk2.groups.io Cc: Sai Chaganty , Nate DeSimone , Heng Luo Subject: [edk2-platforms][PATCH v5 38/46] TigerlakeSiliconPkg: Remove PCH SPI PPI and Protocol from package Date: Mon, 2 Aug 2021 22:39:06 -0400 Message-Id: <20210803023914.1569-39-mikuback@linux.microsoft.com> X-Mailer: git-send-email 2.28.0.windows.1 In-Reply-To: <20210803023914.1569-1-mikuback@linux.microsoft.com> References: <20210803023914.1569-1-mikuback@linux.microsoft.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Michael Kubacki REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3D3307 The following PPI and Protocols have moved to IntelSiliconPkg. The remaining definitions in TigerlakeSiliconPkg are removed and libs/ modules that need to reference IntelSiliconPkg are updated. 1. gPchSpiProtocolGuid 2. gPchSmmSpiProtocolGuid 3. gPchSpiPpiGuid Cc: Sai Chaganty Cc: Nate DeSimone Cc: Heng Luo Signed-off-by: Michael Kubacki Reviewed-by: Nate DeSimone --- Silicon/Intel/TigerlakeSiliconPkg/Include/Protocol/Spi.h = | 301 -------------------- Silicon/Intel/TigerlakeSiliconPkg/IpBlock/Spi/LibraryPrivate/BaseSpiComm= onLib/BaseSpiCommonLib.inf | 1 + Silicon/Intel/TigerlakeSiliconPkg/IpBlock/Spi/Smm/SpiSmm.inf = | 1 + Silicon/Intel/TigerlakeSiliconPkg/Pch/PchInit/Dxe/PchInitDxeTgl.inf = | 1 + Silicon/Intel/TigerlakeSiliconPkg/SiPkg.dec = | 3 - 5 files changed, 3 insertions(+), 304 deletions(-) diff --git a/Silicon/Intel/TigerlakeSiliconPkg/Include/Protocol/Spi.h b/S= ilicon/Intel/TigerlakeSiliconPkg/Include/Protocol/Spi.h deleted file mode 100644 index c13dc5a5f5f5..000000000000 --- a/Silicon/Intel/TigerlakeSiliconPkg/Include/Protocol/Spi.h +++ /dev/null @@ -1,301 +0,0 @@ -/** @file - This file defines the PCH SPI Protocol which implements the - Intel(R) PCH SPI Host Controller Compatibility Interface. - - Copyright (c) 2021, Intel Corporation. All rights reserved.
- SPDX-License-Identifier: BSD-2-Clause-Patent -**/ -#ifndef _PCH_SPI_PROTOCOL_H_ -#define _PCH_SPI_PROTOCOL_H_ - -// -// Extern the GUID for protocol users. -// -extern EFI_GUID gPchSpiProtocolGuid; -extern EFI_GUID gPchSmmSpiProtocolGuid; - -// -// Forward reference for ANSI C compatibility -// -typedef struct _PCH_SPI_PROTOCOL PCH_SPI_PROTOCOL; - -// -// SPI protocol data structures and definitions -// - -/** - Flash Region Type -**/ -typedef enum { - FlashRegionDescriptor, - FlashRegionBios, - FlashRegionMe, - FlashRegionGbE, - FlashRegionPlatformData, - FlashRegionDer, - FlashRegionSecondaryBios, - FlashRegionuCodePatch, - FlashRegionEC, - FlashRegionDeviceExpansion2, - FlashRegionIE, - FlashRegion10Gbe_A, - FlashRegion10Gbe_B, - FlashRegion13, - FlashRegion14, - FlashRegion15, - FlashRegionAll, - FlashRegionMax -} FLASH_REGION_TYPE; -// -// Protocol member functions -// - -/** - Read data from the flash part. - - @param[in] This Pointer to the PCH_SPI_PROTOCOL instan= ce. - @param[in] FlashRegionType The Flash Region type for flash cycle = which is listed in the Descriptor. - @param[in] Address The Flash Linear Address must fall wit= hin a region for which BIOS has access permissions. - @param[in] ByteCount Number of bytes in the data portion of= the SPI cycle. - @param[out] Buffer The Pointer to caller-allocated buffer= containing the dada received. - It is the caller's responsibility to m= ake sure Buffer is large enough for the total number of bytes read. - - @retval EFI_SUCCESS Command succeed. - @retval EFI_INVALID_PARAMETER The parameters specified are not valid= . - @retval EFI_DEVICE_ERROR Device error, command aborts abnormall= y. -**/ -typedef -EFI_STATUS -(EFIAPI *PCH_SPI_FLASH_READ) ( - IN PCH_SPI_PROTOCOL *This, - IN FLASH_REGION_TYPE FlashRegionType, - IN UINT32 Address, - IN UINT32 ByteCount, - OUT UINT8 *Buffer - ); - -/** - Write data to the flash part. Remark: Erase may be needed before write= to the flash part. - - @param[in] This Pointer to the PCH_SPI_PROTOCOL instan= ce. - @param[in] FlashRegionType The Flash Region type for flash cycle = which is listed in the Descriptor. - @param[in] Address The Flash Linear Address must fall wit= hin a region for which BIOS has access permissions. - @param[in] ByteCount Number of bytes in the data portion of= the SPI cycle. - @param[in] Buffer Pointer to caller-allocated buffer con= taining the data sent during the SPI cycle. - - @retval EFI_SUCCESS Command succeed. - @retval EFI_INVALID_PARAMETER The parameters specified are not valid= . - @retval EFI_DEVICE_ERROR Device error, command aborts abnormall= y. -**/ -typedef -EFI_STATUS -(EFIAPI *PCH_SPI_FLASH_WRITE) ( - IN PCH_SPI_PROTOCOL *This, - IN FLASH_REGION_TYPE FlashRegionType, - IN UINT32 Address, - IN UINT32 ByteCount, - IN UINT8 *Buffer - ); - -/** - Erase some area on the flash part. - - @param[in] This Pointer to the PCH_SPI_PROTOCOL instan= ce. - @param[in] FlashRegionType The Flash Region type for flash cycle = which is listed in the Descriptor. - @param[in] Address The Flash Linear Address must fall wit= hin a region for which BIOS has access permissions. - @param[in] ByteCount Number of bytes in the data portion of= the SPI cycle. - - @retval EFI_SUCCESS Command succeed. - @retval EFI_INVALID_PARAMETER The parameters specified are not valid= . - @retval EFI_DEVICE_ERROR Device error, command aborts abnormall= y. -**/ -typedef -EFI_STATUS -(EFIAPI *PCH_SPI_FLASH_ERASE) ( - IN PCH_SPI_PROTOCOL *This, - IN FLASH_REGION_TYPE FlashRegionType, - IN UINT32 Address, - IN UINT32 ByteCount - ); - -/** - Read SFDP data from the flash part. - - @param[in] This Pointer to the PCH_SPI_PROTOCOL instan= ce. - @param[in] ComponentNumber The Componen Number for chip select - @param[in] Address The starting byte address for SFDP dat= a read. - @param[in] ByteCount Number of bytes in SFDP data portion o= f the SPI cycle - @param[out] SfdpData The Pointer to caller-allocated buffer= containing the SFDP data received - It is the caller's responsibility to m= ake sure Buffer is large enough for the total number of bytes read - - @retval EFI_SUCCESS Command succeed. - @retval EFI_INVALID_PARAMETER The parameters specified are not valid= . - @retval EFI_DEVICE_ERROR Device error, command aborts abnormall= y. -**/ -typedef -EFI_STATUS -(EFIAPI *PCH_SPI_FLASH_READ_SFDP) ( - IN PCH_SPI_PROTOCOL *This, - IN UINT8 ComponentNumber, - IN UINT32 Address, - IN UINT32 ByteCount, - OUT UINT8 *SfdpData - ); - -/** - Read Jedec Id from the flash part. - - @param[in] This Pointer to the PCH_SPI_PROTOCOL instan= ce. - @param[in] ComponentNumber The Componen Number for chip select - @param[in] ByteCount Number of bytes in JedecId data portio= n of the SPI cycle, the data size is 3 typically - @param[out] JedecId The Pointer to caller-allocated buffer= containing JEDEC ID received - It is the caller's responsibility to m= ake sure Buffer is large enough for the total number of bytes read. - - @retval EFI_SUCCESS Command succeed. - @retval EFI_INVALID_PARAMETER The parameters specified are not valid= . - @retval EFI_DEVICE_ERROR Device error, command aborts abnormall= y. -**/ -typedef -EFI_STATUS -(EFIAPI *PCH_SPI_FLASH_READ_JEDEC_ID) ( - IN PCH_SPI_PROTOCOL *This, - IN UINT8 ComponentNumber, - IN UINT32 ByteCount, - OUT UINT8 *JedecId - ); - -/** - Write the status register in the flash part. - - @param[in] This Pointer to the PCH_SPI_PROTOCOL instan= ce. - @param[in] ByteCount Number of bytes in Status data portion= of the SPI cycle, the data size is 1 typically - @param[in] StatusValue The Pointer to caller-allocated buffer= containing the value of Status register writing - - @retval EFI_SUCCESS Command succeed. - @retval EFI_INVALID_PARAMETER The parameters specified are not valid= . - @retval EFI_DEVICE_ERROR Device error, command aborts abnormall= y. -**/ -typedef -EFI_STATUS -(EFIAPI *PCH_SPI_FLASH_WRITE_STATUS) ( - IN PCH_SPI_PROTOCOL *This, - IN UINT32 ByteCount, - IN UINT8 *StatusValue - ); - -/** - Read status register in the flash part. - - @param[in] This Pointer to the PCH_SPI_PROTOCOL instan= ce. - @param[in] ByteCount Number of bytes in Status data portion= of the SPI cycle, the data size is 1 typically - @param[out] StatusValue The Pointer to caller-allocated buffer= containing the value of Status register received. - - @retval EFI_SUCCESS Command succeed. - @retval EFI_INVALID_PARAMETER The parameters specified are not valid= . - @retval EFI_DEVICE_ERROR Device error, command aborts abnormall= y. -**/ -typedef -EFI_STATUS -(EFIAPI *PCH_SPI_FLASH_READ_STATUS) ( - IN PCH_SPI_PROTOCOL *This, - IN UINT32 ByteCount, - OUT UINT8 *StatusValue - ); - -/** - Get the SPI region base and size, based on the enum type - - @param[in] This Pointer to the PCH_SPI_PROTOCOL instan= ce. - @param[in] FlashRegionType The Flash Region type for for the base= address which is listed in the Descriptor. - @param[out] BaseAddress The Flash Linear Address for the Regio= n 'n' Base - @param[out] RegionSize The size for the Region 'n' - - @retval EFI_SUCCESS Read success - @retval EFI_INVALID_PARAMETER Invalid region type given - @retval EFI_DEVICE_ERROR The region is not used -**/ -typedef -EFI_STATUS -(EFIAPI *PCH_SPI_GET_REGION_ADDRESS) ( - IN PCH_SPI_PROTOCOL *This, - IN FLASH_REGION_TYPE FlashRegionType, - OUT UINT32 *BaseAddress, - OUT UINT32 *RegionSize - ); - -/** - Read PCH Soft Strap Values - - @param[in] This Pointer to the PCH_SPI_PROTOCOL instan= ce. - @param[in] SoftStrapAddr PCH Soft Strap address offset from FPS= BA. - @param[in] ByteCount Number of bytes in SoftStrap data port= ion of the SPI cycle - @param[out] SoftStrapValue The Pointer to caller-allocated buffer= containing PCH Soft Strap Value. - If the value of ByteCount is 0, the da= ta type of SoftStrapValue should be UINT16 and SoftStrapValue will be PCH= Soft Strap Length - It is the caller's responsibility to m= ake sure Buffer is large enough for the total number of bytes read. - - @retval EFI_SUCCESS Command succeed. - @retval EFI_INVALID_PARAMETER The parameters specified are not valid= . - @retval EFI_DEVICE_ERROR Device error, command aborts abnormall= y. -**/ -typedef -EFI_STATUS -(EFIAPI *PCH_SPI_READ_PCH_SOFTSTRAP) ( - IN PCH_SPI_PROTOCOL *This, - IN UINT32 SoftStrapAddr, - IN UINT32 ByteCount, - OUT VOID *SoftStrapValue - ); - -/** - Read CPU Soft Strap Values - - @param[in] This Pointer to the PCH_SPI_PROTOCOL instan= ce. - @param[in] SoftStrapAddr CPU Soft Strap address offset from FCP= USBA. - @param[in] ByteCount Number of bytes in SoftStrap data port= ion of the SPI cycle. - @param[out] SoftStrapValue The Pointer to caller-allocated buffer= containing CPU Soft Strap Value. - If the value of ByteCount is 0, the da= ta type of SoftStrapValue should be UINT16 and SoftStrapValue will be PCH= Soft Strap Length - It is the caller's responsibility to m= ake sure Buffer is large enough for the total number of bytes read. - - @retval EFI_SUCCESS Command succeed. - @retval EFI_INVALID_PARAMETER The parameters specified are not valid= . - @retval EFI_DEVICE_ERROR Device error, command aborts abnormall= y. -**/ -typedef -EFI_STATUS -(EFIAPI *PCH_SPI_READ_CPU_SOFTSTRAP) ( - IN PCH_SPI_PROTOCOL *This, - IN UINT32 SoftStrapAddr, - IN UINT32 ByteCount, - OUT VOID *SoftStrapValue - ); - -/** - These protocols/PPI allows a platform module to perform SPI operations= through the - Intel PCH SPI Host Controller Interface. -**/ -struct _PCH_SPI_PROTOCOL { - /** - This member specifies the revision of this structure. This field is = used to - indicate backwards compatible changes to the protocol. - **/ - UINT8 Revision; - PCH_SPI_FLASH_READ FlashRead; ///< Read data f= rom the flash part. - PCH_SPI_FLASH_WRITE FlashWrite; ///< Write data = to the flash part. Remark: Erase may be needed before write to the flash = part. - PCH_SPI_FLASH_ERASE FlashErase; ///< Erase some = area on the flash part. - PCH_SPI_FLASH_READ_SFDP FlashReadSfdp; ///< Read SFDP d= ata from the flash part. - PCH_SPI_FLASH_READ_JEDEC_ID FlashReadJedecId; ///< Read Jedec = Id from the flash part. - PCH_SPI_FLASH_WRITE_STATUS FlashWriteStatus; ///< Write the s= tatus register in the flash part. - PCH_SPI_FLASH_READ_STATUS FlashReadStatus; ///< Read status= register in the flash part. - PCH_SPI_GET_REGION_ADDRESS GetRegionAddress; ///< Get the SPI= region base and size - PCH_SPI_READ_PCH_SOFTSTRAP ReadPchSoftStrap; ///< Read PCH So= ft Strap Values - PCH_SPI_READ_CPU_SOFTSTRAP ReadCpuSoftStrap; ///< Read CPU So= ft Strap Values -}; - -/** - PCH SPI PPI/PROTOCOL revision number - - Revision 1: Initial version -**/ -#define PCH_SPI_SERVICES_REVISION 1 - -#endif diff --git a/Silicon/Intel/TigerlakeSiliconPkg/IpBlock/Spi/LibraryPrivate= /BaseSpiCommonLib/BaseSpiCommonLib.inf b/Silicon/Intel/TigerlakeSiliconPk= g/IpBlock/Spi/LibraryPrivate/BaseSpiCommonLib/BaseSpiCommonLib.inf index a1a54677457e..2686dff41e25 100644 --- a/Silicon/Intel/TigerlakeSiliconPkg/IpBlock/Spi/LibraryPrivate/BaseSp= iCommonLib/BaseSpiCommonLib.inf +++ b/Silicon/Intel/TigerlakeSiliconPkg/IpBlock/Spi/LibraryPrivate/BaseSp= iCommonLib/BaseSpiCommonLib.inf @@ -19,6 +19,7 @@ [Sources] =20 [Packages] MdePkg/MdePkg.dec + IntelSiliconPkg/IntelSiliconPkg.dec TigerlakeSiliconPkg/SiPkg.dec =20 [LibraryClasses] diff --git a/Silicon/Intel/TigerlakeSiliconPkg/IpBlock/Spi/Smm/SpiSmm.inf= b/Silicon/Intel/TigerlakeSiliconPkg/IpBlock/Spi/Smm/SpiSmm.inf index 033134cea171..f64b84880b31 100644 --- a/Silicon/Intel/TigerlakeSiliconPkg/IpBlock/Spi/Smm/SpiSmm.inf +++ b/Silicon/Intel/TigerlakeSiliconPkg/IpBlock/Spi/Smm/SpiSmm.inf @@ -30,6 +30,7 @@ [LibraryClasses] =20 [Packages] MdePkg/MdePkg.dec +IntelSiliconPkg/IntelSiliconPkg.dec TigerlakeSiliconPkg/SiPkg.dec =20 =20 diff --git a/Silicon/Intel/TigerlakeSiliconPkg/Pch/PchInit/Dxe/PchInitDxe= Tgl.inf b/Silicon/Intel/TigerlakeSiliconPkg/Pch/PchInit/Dxe/PchInitDxeTgl= .inf index 4941ff0f498d..95182e50651e 100644 --- a/Silicon/Intel/TigerlakeSiliconPkg/Pch/PchInit/Dxe/PchInitDxeTgl.inf +++ b/Silicon/Intel/TigerlakeSiliconPkg/Pch/PchInit/Dxe/PchInitDxeTgl.inf @@ -49,6 +49,7 @@ [LibraryClasses] =20 [Packages] MdePkg/MdePkg.dec +IntelSiliconPkg/IntelSiliconPkg.dec TigerlakeSiliconPkg/SiPkg.dec =20 =20 diff --git a/Silicon/Intel/TigerlakeSiliconPkg/SiPkg.dec b/Silicon/Intel/= TigerlakeSiliconPkg/SiPkg.dec index 37f61cc5ee18..7cdbb3748155 100644 --- a/Silicon/Intel/TigerlakeSiliconPkg/SiPkg.dec +++ b/Silicon/Intel/TigerlakeSiliconPkg/SiPkg.dec @@ -624,11 +624,9 @@ [Protocols] ## PCH ## gThcProtocolGuid =3D {0x00860921, 0x7B9B, 0x4EA8, {0xAD, 0x23, 0x3C, 0x= CA, 0x33, 0x9E, 0x7D, 0xFE}} -gPchSpiProtocolGuid =3D {0xc7d289, 0x1347, 0x4de0, {0xbf, 0x42, 0xe, 0= x26, 0x9d, 0xe, 0xf3, 0x4a}} gWdtProtocolGuid =3D {0xb42b8d12, 0x2acb, 0x499a, {0xa9, 0x20, 0xdd, 0= x5b, 0xe6, 0xcf, 0x09, 0xb1}} gPchSerialIoUartDebugInfoProtocolGuid =3D {0x2fd2b1bd, 0x0387, 0x4ec6,= {0x94, 0x1f, 0xf1, 0x4b, 0x7f, 0x1c, 0x94, 0xb6}} gEfiSmmSmbusProtocolGuid =3D {0x72e40094, 0x2ee1, 0x497a, {0x8f, 0x33,= 0x4c, 0x93, 0x4a, 0x9e, 0x9c, 0x0c}} -gPchSmmSpiProtocolGuid =3D {0x56521f06, 0xa62, 0x4822, {0x99, 0x63, 0x= df, 0x1, 0x9d, 0x72, 0xc7, 0xe1}} gPchSmmIoTrapControlGuid =3D {0x514d2afd, 0x2096, 0x4283, {0x9d, 0xa6,= 0x70, 0x0c, 0xd2, 0x7d, 0xc7, 0xa5}} gPchTcoSmiDispatchProtocolGuid =3D {0x9e71d609, 0x6d24, 0x47fd, {0xb5,= 0x72, 0x61, 0x40, 0xf8, 0xd9, 0xc2, 0xa4}} gPchPcieSmiDispatchProtocolGuid =3D {0x3e7d2b56, 0x3f47, 0x42aa, {0x8f= , 0x6b, 0x22, 0xf5, 0x19, 0x81, 0x8d, 0xab}} @@ -751,7 +749,6 @@ [Ppis] ## PCH ## gWdtPpiGuid =3D {0xf38d1338, 0xaf7a, 0x4fb6, {0x91, 0xdb, 0x1a, 0x9c, = 0x21, 0x83, 0x57, 0x0d}} -gPchSpiPpiGuid =3D {0xdade7ce3, 0x6971, 0x4b75, {0x82, 0x5e, 0xe, 0xe0= , 0xeb, 0x17, 0x72, 0x2d}} gPeiSmbusPolicyPpiGuid =3D {0x63b6e435, 0x32bc, 0x49c6, {0x81, 0xbd, 0= xb7, 0xa1, 0xa0, 0xfe, 0x1a, 0x6c}} =20 ## --=20 2.28.0.windows.1