From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web11.5640.1624844111921644938 for ; Sun, 27 Jun 2021 18:35:12 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=I30Jghry; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: chasel.chiu@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10028"; a="207909984" X-IronPort-AV: E=Sophos;i="5.83,304,1616482800"; d="scan'208";a="207909984" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Jun 2021 18:35:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,304,1616482800"; d="scan'208";a="418989955" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by fmsmga007.fm.intel.com with ESMTP; 27 Jun 2021 18:35:11 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Sun, 27 Jun 2021 18:35:10 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Sun, 27 Jun 2021 18:35:10 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4 via Frontend Transport; Sun, 27 Jun 2021 18:35:10 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.176) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.4; Sun, 27 Jun 2021 18:35:09 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mGhWJFWl0qtJ51LCctXjJQYS6ka2s51HrsiOMb/BVCx5ynjb4L6yiCp52K59ZKQMVsvUt7m/LilqqTLPuaZUQKRVxK8OVxuNrP9/y04/g1gRYEpdm8vuh+ZgrsRkYPbDirwG3vIMtdln5qVuZ+iOfU7QD1h4Am89pmY0phg32c0FJlhJXY8Ixa2Gp/Rwl9fx5GiufDnkaQhJC6lOEn+Q5Q5RpZQRpU4/uGMoWVY7N0oJ/2GAORZ1pgBEymJe/IY8CMS6A667634wNbm6e2Gza0bdTLd8nYJZKTXXnBN9H1DzS74dEhUzL+ns+1yMBA4HhqoXwC2o2VgyaHFLqSBmHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Lvy0/w4nql0KQO/hTMyGES96sUZruLOZYN46pOLPBTU=; b=ndK/fuuefcc4gLxHzkL/esjWu5zZy6djF9BoBoFxF2vZUfOa/EgJSpjHVx23HlSVI6adHgVrKBbIB0FtCN8XEw/FBAv3uArXcJ3KxKIN7DdkA48KWj8b8yXaaB8zeNbHYXftEz3BoI9+NzNKWPQuIWp1n/rW+c29Y9pKsSA/Uj4AIi2DYDlhOi1eS/b5OJnviZJr8sLGvuQdlQENAGbCB/EHbGW0THi0J3Dzg3ZGTbatFeTgGIsF4tD9ut+pIs5bZV4+adPTZ3xNNR+8yc2YYK6ztAl8ctLugppS3H0YY7AcAKD09JM5qS/ORS2psgxGIwtN5jEYjRyDPgKv1XgGKQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Lvy0/w4nql0KQO/hTMyGES96sUZruLOZYN46pOLPBTU=; b=I30JghryWNSAlrDR759FFdqxTQZlT2vLsA63hM1kE9HgYclsyJuPv4if323Jy0UIiKusiSDGnKckJYeKgxtrtMVE6HRBXIO2ILhLKQ5RvWKuRXQ1fhY6slQftLhARChzrYDMgCAgEoNPavAS3f7NMtp11LecVvOennpckhiAhK0= Received: from BN9PR11MB5483.namprd11.prod.outlook.com (2603:10b6:408:104::10) by BN6PR11MB3858.namprd11.prod.outlook.com (2603:10b6:405:7e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.26; Mon, 28 Jun 2021 01:35:08 +0000 Received: from BN9PR11MB5483.namprd11.prod.outlook.com ([fe80::2162:be61:a479:4168]) by BN9PR11MB5483.namprd11.prod.outlook.com ([fe80::2162:be61:a479:4168%7]) with mapi id 15.20.4264.026; Mon, 28 Jun 2021 01:35:08 +0000 From: "Chiu, Chasel" To: "mikuback@linux.microsoft.com" , "devel@edk2.groups.io" CC: "Chaganty, Rangasai V" , "Desimone, Nathaniel L" Subject: Re: [edk2-platforms][PATCH v4 33/41] KabylakeSiliconPkg: Remove PCH SPI PPI and Protocol from package Thread-Topic: [edk2-platforms][PATCH v4 33/41] KabylakeSiliconPkg: Remove PCH SPI PPI and Protocol from package Thread-Index: AQHXaghKgwINAbZpuUmdgShVfsxm6qsop46Q Date: Mon, 28 Jun 2021 01:35:08 +0000 Message-ID: References: <20210625212120.235-1-mikuback@linux.microsoft.com> <20210625212120.235-34-mikuback@linux.microsoft.com> In-Reply-To: <20210625212120.235-34-mikuback@linux.microsoft.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: linux.microsoft.com; dkim=none (message not signed) header.d=none;linux.microsoft.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [114.43.34.211] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5e939c1d-31a4-4e6f-18ac-08d939d4f691 x-ms-traffictypediagnostic: BN6PR11MB3858: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:457; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: iKCaiu7q7A8DxBJG2qzgMxbb4GlsWASsLVrVai4kwlVH/hI/GQmd+54AqtWzHz7Ww2hdVNVWgeGmSic+J7HX+B7+txxUT8GgjCidGfNjMKMQ6jKrPzBiueuXCmo47iA0lrJ1YbwBFe9WHJqkvaPHms4sQ407PLNplipbUa+01eysWR14L+u+PwNffDOXUiBU+0gNcR1GMmLihSjiZ4W9ZdxW2pupuGiJiTLZ9hoqszS0/Xw+cN7uiCFz7qKJcGGvOMD3HZtHwqMareBHHJe0q/I0aZJBZAv3hdIkrllYJ14ZOMFp37ZaZkQa+SiouUmhD546eqsYRnXm/X4N7v9HVD3htS2x6L12r/fPoCJMTtSunkY6//3iQbUg3VRsj4QbMopH57uZj47w3LuzRPh3KfdsLsuslULtueTJH9JJIlDagAfMF/RlFvDgsS6FgNo9XgcP4k+Ghdq/Xo1so02VFReTzgAPIP6c3JnlgquKLnKFB+XNNdwYrucgEmt+Ut9Rkte5cdurkxB6ebxAa6DkIZGnXe+gCP8S3FzqFLGR9ThpObGb5yuf/LerjKP5gHW3EJ5Jez01dTuFR5wvYqKY0/L8fwNLP1XqgGj/6lICky0U4A1lYU4c39Pjybqou+FIUdCCyj7SHQ/w8U5mKtbZDGv32NA8P5/m72pGwUORww8NyVtilu8kID9tBmzdDv2T5crwj/B5PFLbcuwIkJoO6RFr7yF7PoVLy0OJr110SDW468Ufy7Q3hgnAF1uElTxFvuxg6yDNxrbKGuy+ayedJin2yvd0UD69WrzcOf1FLAY= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5483.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(39860400002)(396003)(346002)(376002)(136003)(366004)(122000001)(52536014)(71200400001)(38100700002)(55016002)(9686003)(316002)(8936002)(4326008)(6506007)(53546011)(107886003)(8676002)(7696005)(2906002)(64756008)(83380400001)(19627235002)(33656002)(186003)(478600001)(54906003)(110136005)(86362001)(30864003)(26005)(66946007)(66476007)(66446008)(76116006)(66556008)(5660300002)(11716005)(226253002)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?AJiw0hEWume3Mk4k+T6bFLScxcces5ZuxAWFXFEL4vPn2vcXMQQYdO3/+jBb?= =?us-ascii?Q?BE0tQCdIQl2fwTb/n1pG2Zj0Ld1g2ncL8sR16vMehfnqXaKvPJ4L9bR4gWdo?= =?us-ascii?Q?AsV+zrTvy/GcZd+Rb9QGcnb5DpBy5hdGD3w1nL7qdKtoPaO34A0GxEU5+q5G?= =?us-ascii?Q?cPaIkK3xOerujLJWJ6oWdv8ZQafADcmrcLvKXFBIfuu6bdZfiEdbPF8xKLir?= =?us-ascii?Q?2z+QCc4X4kM1Fw0zeFKJagdWm2t5kUd8mUxhPs6O51GxrOxrU/NuLsJQ0qqw?= =?us-ascii?Q?bQEXZeq0CazcTv+QhBGUV8kO//RbiaBzK/A7QMY4wq21Yb5EAaPBzhstxw+z?= =?us-ascii?Q?xmIHiwuD0yCPEMmqfP8OoUOPIHetlKR0tRLq3zBBY65fYvhietx/bu4I3REl?= =?us-ascii?Q?mZy7rs05R1kckLfwKW3SBUtg7NzZ3ahglI+uhlbhY0XLlMxyg77fvARQHLe1?= =?us-ascii?Q?gAs565nYKUuOGnps0WAm1rpl6tVEO18KBQYYthjpeQCooKM3RaOy+eGyAySV?= =?us-ascii?Q?GOqS7az20oMlyamaplBNUnLah6YoDHEqvQaRaMuEyUD2S2YzvdQr9ZYBYIVZ?= =?us-ascii?Q?IoeSNyw+HLC2DlKD0j7AWSTR8ngMcs2vme6KLkyTB2w26VrYnOGXtckB7yY7?= =?us-ascii?Q?0dWt06KSWMLCzy/nPPHx+4chhrEqjtFmVb6b6fjFlFsKkKPBt5U2qdJsQC+3?= =?us-ascii?Q?0QS0ADBWBmBm0ycVt51Ei7zRnZ+MdIvGHUrsVZxPyR6BzQjTmqRjSlkAcosG?= =?us-ascii?Q?d8PvyLnK0sZtlAqd/G7ibsOJAEOFseRdMkt+VnytmfuSczSs8inbsQgTdeAg?= =?us-ascii?Q?3Zd1tHOHRkexaUtBWe1RFftybTp7EJtzKPfsK6kkusKYAjuI87IIEXd8dYux?= =?us-ascii?Q?uF0OMZMKnJkk/WboIyEMBR/cnt4DEUwlUVKXU6bKW16q69hrxA+vRYkbK0sx?= =?us-ascii?Q?N9aOFHLvFh7yPU+OOghq/GUM/tCSE7uZNQIkwSeQB3utdIPqKbuVJve7vrhc?= =?us-ascii?Q?gCmRJzEyAhtj+CMVtnE6gaNbJ7OEc5sutEmtLM/K2WXrUh6u9a9fNB2CyW7w?= =?us-ascii?Q?PmEo9vd2WRWJ79WM6Dr1uhjQeLwsbvyBSggYSl9UGCaW1HTm7NOgsUVeQozj?= =?us-ascii?Q?59XDYD1ZC6D7d4x9QaQsFOdTc5QobKDVpTCLHg932LGV+Kl4YaXOmhSdpUAU?= =?us-ascii?Q?mMcr7YSlc5dnnQCeNuZd7D2Wupy0e8RrtqjVV7aOPdCecXAcoL+4FXivi49O?= =?us-ascii?Q?qimCuaVNXTRUNXds+Sfa9D/4L5NteWUJI+pZNbzU7bAIm+Ddf8eENKAMHFqc?= =?us-ascii?Q?QT3S+CuqCs/n837/ge8soXuM?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5483.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5e939c1d-31a4-4e6f-18ac-08d939d4f691 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jun 2021 01:35:08.0885 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 03IOKVjO7AFrIkGtpmYYYxUW3Cqkz8OeUdLeF2YlQ3vsArHS0S5StqoQ2cPPFW0cJ0jwJo28P/CnZo5Ad5FV2g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB3858 Return-Path: chasel.chiu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Chasel Chiu > -----Original Message----- > From: mikuback@linux.microsoft.com > Sent: Saturday, June 26, 2021 5:21 AM > To: devel@edk2.groups.io > Cc: Chiu, Chasel ; Chaganty, Rangasai V > ; Desimone, Nathaniel L > > Subject: [edk2-platforms][PATCH v4 33/41] KabylakeSiliconPkg: Remove PCH = SPI > PPI and Protocol from package >=20 > From: Michael Kubacki >=20 > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3D3307 >=20 > The following PPI and Protocols have moved to IntelSiliconPkg. The remain= ing > definitions in KabylakeSiliconPkg are removed and libs modules that need = to > reference IntelSiliconPkg are updated. >=20 > 1. gPchSpiProtocolGuid > 2. gPchSmmSpiProtocolGuid > 3. gPchSpiPpiGuid >=20 > Cc: Chasel Chiu > Cc: Sai Chaganty > Signed-off-by: Michael Kubacki > Reviewed-by: Chasel Chiu > Reviewed-by: Nate DeSimone > --- > Silicon/Intel/KabylakeSiliconPkg/Hsti/Dxe/HstiSiliconDxe.inf | = 3 +- > Silicon/Intel/KabylakeSiliconPkg/Pch/Include/Ppi/Spi.h | = 26 -- > Silicon/Intel/KabylakeSiliconPkg/Pch/Include/Protocol/Spi.h | 2= 93 ---------- > ---------- > Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiSpiLib/PeiSpiLib.inf | = 1 + > Silicon/Intel/KabylakeSiliconPkg/Pch/Spi/Smm/PchSpiSmm.inf | = 1 + > Silicon/Intel/KabylakeSiliconPkg/SiPkg.dec | = 3 - > 6 files changed, 4 insertions(+), 323 deletions(-) >=20 > diff --git a/Silicon/Intel/KabylakeSiliconPkg/Hsti/Dxe/HstiSiliconDxe.inf > b/Silicon/Intel/KabylakeSiliconPkg/Hsti/Dxe/HstiSiliconDxe.inf > index 52e3b6ceba3e..bd12fa691d40 100644 > --- a/Silicon/Intel/KabylakeSiliconPkg/Hsti/Dxe/HstiSiliconDxe.inf > +++ b/Silicon/Intel/KabylakeSiliconPkg/Hsti/Dxe/HstiSiliconDxe.inf > @@ -46,6 +46,7 @@ [Sources] > [Packages] > MdePkg/MdePkg.dec > UefiCpuPkg/UefiCpuPkg.dec > + IntelSiliconPkg/IntelSiliconPkg.dec > KabylakeSiliconPkg/SiPkg.dec > SecurityPkg/SecurityPkg.dec >=20 > @@ -92,7 +93,7 @@ [Protocols] > gEfiMpServiceProtocolGuid ## CONSUMES > gDxeSiPolicyProtocolGuid ## CONSUMES > gHstiPublishCompleteProtocolGuid ## PRODUCES > - > + > [FixedPcd] > gSiPkgTokenSpaceGuid.PcdHstiIhvFeature1 > gSiPkgTokenSpaceGuid.PcdHstiIhvFeature2 > diff --git a/Silicon/Intel/KabylakeSiliconPkg/Pch/Include/Ppi/Spi.h > b/Silicon/Intel/KabylakeSiliconPkg/Pch/Include/Ppi/Spi.h > deleted file mode 100644 > index e11f82edcaea..000000000000 > --- a/Silicon/Intel/KabylakeSiliconPkg/Pch/Include/Ppi/Spi.h > +++ /dev/null > @@ -1,26 +0,0 @@ > -/** @file > - This file defines the PCH SPI PPI which implements the > - Intel(R) PCH SPI Host Controller Compatibility Interface. > - > -Copyright (c) 2017, Intel Corporation. All rights reserved.
> -SPDX-License-Identifier: BSD-2-Clause-Patent > - > -**/ > -#ifndef _PCH_SPI_PPI_H_ > -#define _PCH_SPI_PPI_H_ > - > -#include > - > -// > -// Extern the GUID for PPI users. > -// > -extern EFI_GUID gPchSpiPpiGuid; > - > -/** > - Reuse the PCH_SPI_PROTOCOL definitions > - This is possible becaues the PPI implementation does not rely on a Pei= Service > pointer, > - as it uses EDKII Glue Lib to do IO accesses -**/ -typedef PCH_SPI_PROT= OCOL > PCH_SPI_PPI; > - > -#endif > diff --git a/Silicon/Intel/KabylakeSiliconPkg/Pch/Include/Protocol/Spi.h > b/Silicon/Intel/KabylakeSiliconPkg/Pch/Include/Protocol/Spi.h > deleted file mode 100644 > index 8c66e5063fa9..000000000000 > --- a/Silicon/Intel/KabylakeSiliconPkg/Pch/Include/Protocol/Spi.h > +++ /dev/null > @@ -1,293 +0,0 @@ > -/** @file > - This file defines the PCH SPI Protocol which implements the > - Intel(R) PCH SPI Host Controller Compatibility Interface. > - > -Copyright (c) 2017, 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, > - 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/KabylakeSiliconPkg/Pch/Library/PeiSpiLib/PeiSp= iLib.inf > b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiSpiLib/PeiSpiLib.inf > index 31f4ffe43a23..c6bc1ad406c8 100644 > --- a/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiSpiLib/PeiSpiLib.in= f > +++ b/Silicon/Intel/KabylakeSiliconPkg/Pch/Library/PeiSpiLib/PeiSpiLib.i > +++ nf > @@ -32,6 +32,7 @@ [LibraryClasses] >=20 > [Packages] > MdePkg/MdePkg.dec > + IntelSiliconPkg/IntelSiliconPkg.dec > KabylakeSiliconPkg/SiPkg.dec >=20 > [Sources] > diff --git a/Silicon/Intel/KabylakeSiliconPkg/Pch/Spi/Smm/PchSpiSmm.inf > b/Silicon/Intel/KabylakeSiliconPkg/Pch/Spi/Smm/PchSpiSmm.inf > index 964489064a74..819dc2439f30 100644 > --- a/Silicon/Intel/KabylakeSiliconPkg/Pch/Spi/Smm/PchSpiSmm.inf > +++ b/Silicon/Intel/KabylakeSiliconPkg/Pch/Spi/Smm/PchSpiSmm.inf > @@ -30,6 +30,7 @@ [LibraryClasses] >=20 > [Packages] > MdePkg/MdePkg.dec > +IntelSiliconPkg/IntelSiliconPkg.dec > KabylakeSiliconPkg/SiPkg.dec > KabylakeSiliconPkg/KabylakeSiliconPrivate.dec >=20 > diff --git a/Silicon/Intel/KabylakeSiliconPkg/SiPkg.dec > b/Silicon/Intel/KabylakeSiliconPkg/SiPkg.dec > index 5ff7b39ca60e..d9ae9f6dfd91 100644 > --- a/Silicon/Intel/KabylakeSiliconPkg/SiPkg.dec > +++ b/Silicon/Intel/KabylakeSiliconPkg/SiPkg.dec > @@ -294,13 +294,11 @@ [Protocols] > ## > ## PCH > ## > -gPchSpiProtocolGuid =3D {0xc7d289, 0x1347, 0x4de0, {0xbf, 0x42, 0xe, 0= x26, > 0x9d, 0xe, 0xf3, 0x4a}} gPchSerialGpioProtocolGuid =3D {0xf52c3858, 0x= 5ef8, > 0x4d41, {0x83, 0x4e, 0xc3, 0x9e, 0xef, 0x8a, 0x45, 0xa3}} gWdtProtocolGu= id =3D > {0xb42b8d12, 0x2acb, 0x499a, {0xa9, 0x20, 0xdd, 0x5b, 0xe6, 0xcf, 0x09, 0= xb1}} > gPchInfoProtocolGuid =3D {0x984eb4e9, 0x5a95, 0x41de, {0xaa, 0xd0, 0x53= , 0x66, > 0x8c, 0xa5, 0x13, 0xc0}} gPchSerialIoUartDebugInfoProtocolGuid =3D > {0x2fd2b1bd, 0x0387, 0x4ec6, {0x94, 0x1f, 0xf1, 0x4b, 0x7f, 0x1c, 0x94, 0= xb6}} > gEfiSmmSmbusProtocolGuid =3D {0x72e40094, 0x2ee1, 0x497a, {0x8f, 0x33, = 0x4c, > 0x93, 0x4a, 0x9e, 0x9c, 0x0c}} -gPchSmmSpiProtocolGuid =3D {0x56521f06, > 0xa62, 0x4822, {0x99, 0x63, 0xdf, 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, 0= xa4}} > gPchPcieSmiDispatchProtocolGuid =3D {0x3e7d2b56, 0x3f47, 0x42aa, {0x8f,= 0x6b, > 0x22, 0xf5, 0x19, 0x81, 0x8d, 0xab}} @@ -361,7 +359,6 @@ [Ppis] ## PCH = ## > gWdtPpiGuid =3D {0xf38d1338, 0xaf7a, 0x4fb6, {0x91, 0xdb, 0x1a, 0x9c, 0= x21, > 0x83, 0x57, 0x0d}} -gPchSpiPpiGuid =3D {0xdade7ce3, 0x6971, 0x4b75, {0x= 82, > 0x5e, 0xe, 0xe0, 0xeb, 0x17, 0x72, 0x2d}} gPeiSmbusPolicyPpiGuid =3D > {0x63b6e435, 0x32bc, 0x49c6, {0x81, 0xbd, 0xb7, 0xa1, 0xa0, 0xfe, 0x1a, 0= x6c}} > gPchResetCallbackPpiGuid =3D {0x17865dc0, 0x0b8b, 0x4da8, {0x8b, 0x42, = 0x7c, > 0x46, 0xb8, 0x5c, 0xca, 0x4d}} gPchResetPpiGuid =3D {0x433e0f9f, 0x05a= e, > 0x410a, {0xa0, 0xc3, 0xbf, 0x29, 0x8e, 0xcb, 0x25, 0xac}} > -- > 2.28.0.windows.1