From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web09.6651.1624016374842117643 for ; Fri, 18 Jun 2021 04:39:34 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=thSjDyUd; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: chasel.chiu@intel.com) IronPort-SDR: mOT7mRfgIm4y6+zuH5NDrCnMsUJsoxs8qG9phRkWGfgaAmB532bKv3cynkqO/KkYjfkAWDBny7 dk9ccrqvZ3aQ== X-IronPort-AV: E=McAfee;i="6200,9189,10018"; a="203516148" X-IronPort-AV: E=Sophos;i="5.83,283,1616482800"; d="scan'208";a="203516148" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Jun 2021 04:39:32 -0700 IronPort-SDR: SSNAWQWx5y+Hd9T/H0xVyDOwLxP8TtPNBK60UCcpkLpIeP/qRY+dxYvELmjdufFNpJTD2J2N6V F7ym9IKGJhkw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,283,1616482800"; d="scan'208";a="453126704" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by fmsmga008.fm.intel.com with ESMTP; 18 Jun 2021 04:39:31 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Fri, 18 Jun 2021 04:39:31 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) 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 via Frontend Transport; Fri, 18 Jun 2021 04:39:31 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.177) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.4; Fri, 18 Jun 2021 04:39:31 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MmZPW9vCfpJl8lJC9snMgEi1zNShnqRR9mxE5j/9rvBfUDKLPJr6QOTugZrFBfGYniH9/SoMpMOeK+g8ggRsKG8EM+IyXGYkBa3HV/zR3KkklaW/mwmLfOoeOuVmHTWbHWBlJhzoeYS6WspRovAxXUinjCbb4jAiBE0Zf2V9alrVfuAWokRz1veQo3ehMMBzJG4Tgokpaadnyo0Xmz/6yEbIYy97M1v2g8pNMukOv2CZjyg9Jwi7LHHvWcGeGzmBaFiUFS8wnexRcJWK76hfMRVsI7jC6r5O+Y/9pqWkA7eRUlgd10PSdvNTFVatIQBK4sET6b2cn61zL8q67Ns5Ug== 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=1OrZGdRXUK2Hsj4Fb/bd9gn0VsLGxe4zvp/BKCifAbw=; b=YW+4KZKYRhMu9yKZiabAGylmJ/Y3IbrlV00978vF9ZfKbXAF8rXD2N0IcYjMT8zZcBno8H1kK0Qd5dFxgrAj7il4i2FElKVq9y6Ucd9XIzMzsbm/K5/XAUrDJ+y489Ej102Kjy9RdXI1pOEaH4ez88tHZ7iGAdZZfCHRgvTU8qXKNiRavZiXkIzm2S2fSofsqR3rHoDuLchOgccl5e6N2jLqGstcXNXmWE7Tor3m1BXVVTW0Hv5qVS41dO7a8ucyp2ouIOHlrojept7aq2/iQFLvoL9kCq3GeF9qqxIchCBxoCa7LNBcM2RauEJ8l2B3U1RdCKwjBXDzw6D4CLgfoQ== 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=1OrZGdRXUK2Hsj4Fb/bd9gn0VsLGxe4zvp/BKCifAbw=; b=thSjDyUdINoxPwTCeag+cCzMdSVYWqf/1z7nAQyAhys2/vO4Z8fFqrLk2J6ptJ6GKoGbMQXDJ/o9vDlCHzK8dUHY2tNrA/UTzMMElsMHkwCWg+ccRIqO0fOztA4Qb7dRSSAb6l9Ld6BcZEi50g3pbAPAAzhXC/0j3UTh/Kgxmsk= Received: from BN9PR11MB5483.namprd11.prod.outlook.com (2603:10b6:408:104::10) by BN6PR1101MB2130.namprd11.prod.outlook.com (2603:10b6:405:4f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4219.23; Fri, 18 Jun 2021 11:39:29 +0000 Received: from BN9PR11MB5483.namprd11.prod.outlook.com ([fe80::2162:be61:a479:4168]) by BN9PR11MB5483.namprd11.prod.outlook.com ([fe80::2162:be61:a479:4168%9]) with mapi id 15.20.4242.021; Fri, 18 Jun 2021 11:39:29 +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 v3 32/41] CoffeelakeSiliconPkg: Remove PCH SPI PPI and Protocol from package Thread-Topic: [edk2-platforms][PATCH v3 32/41] CoffeelakeSiliconPkg: Remove PCH SPI PPI and Protocol from package Thread-Index: AQHXY+bwuBjvG0v2CEG+96EFaHdMw6sZpVwA Date: Fri, 18 Jun 2021 11:39:29 +0000 Message-ID: References: <20210618020726.5991-1-mikuback@linux.microsoft.com> <20210618020726.5991-33-mikuback@linux.microsoft.com> In-Reply-To: <20210618020726.5991-33-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.31.18] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f907faef-92a9-4c06-60f9-08d9324dbbe1 x-ms-traffictypediagnostic: BN6PR1101MB2130: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:639; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: XfscRGRxAbH4ZSZop1jjBv8Iomy5QN8OXM2oLVgNmYPAoE5H6RQtnGo8EZB8llt6vP/T4aAULeArlmI73zXARQfoJ29SLhIuhEH7z4N0rsfq+fOFOfMURbh+xMYQ0x1q8C76vyiMwTKVzNZN3OAnF3bHTCH1qYgIfZu4xq5EGPPZ3u7yWXUKFyzCsbw2UqA72uTyx10Mu3fNV1oq7QVGdpHn5BJi+vaX2wBojwpl8cOhcD8ZpSxFUlsryEE+S77HmbeyAgajNrqKoUMdatedqr3/HaIerK5ifie4rtfTwy36GvY8I4GaS1qODugy6aRRFzuMCxTawUt0LHvMlBYsafuw5YzE7lKIn1VGZHLb460B8db1KmR+8JAVFTLlMfrYrPHGccTGmTBOc9D+VhhBr2XZ1ZsoWLSza7C5K24ViPw49qsCG6WCskg41FTSGMyGS4sLhS6TLgp2ZKWbqqb3mx03Hssgl5OhwetE4JJnUWriqzoq/yMZw3PWlyJPj/d6uSnHZuM0LM+ZhKhfjKQ7WReihEvme9sJhrNOBjpi2MIwxc/64l5mogPw6o+Dx1xkPAHc0H401AbCEd8lLkizwabIUU+CmC9a9J2gsFqZu3gjgu/VxOPImL7oi1+Qd4+/cM70OALJR/tcdKk8ocQhp4Xmygg8WXaOg81DUIAZZdBPViMvYAOF1TFaN3gsqXUrY3xQT92cyYBY5qDtYZIqmjX1JQcx4IS1xyFElK3LM9vYMn5eAVDI3l1v0fj1t35wC29zoCdc7n+Rpnby3DaxSREIoc9jdmWL+hek8pH4tNw= 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:(376002)(346002)(136003)(396003)(39860400002)(366004)(66556008)(71200400001)(33656002)(66476007)(8676002)(186003)(478600001)(76116006)(66946007)(64756008)(53546011)(4326008)(6506007)(316002)(83380400001)(26005)(66446008)(2906002)(54906003)(38100700002)(107886003)(86362001)(7696005)(110136005)(55016002)(122000001)(30864003)(8936002)(5660300002)(9686003)(52536014)(11716005)(226253002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?vjo0knhQO1uWbyRgdffVHYQ6vQ90LZ1nE1uHtCEmx8sUmqTms9uGm29NqveS?= =?us-ascii?Q?z3LzjarYwXP8X6BoXJ4eewnFMa8tP8+vB5+r3U31WH8oRBb2jzH5rp/FXlCc?= =?us-ascii?Q?Odqd5HAtD+Z7tYHwWkSutoNT98W9PWvKuI+T/uLbVA4/OVZ+rPh8ia0nVoME?= =?us-ascii?Q?7e+rpwenCWi1El7oqSzx3VbvC47YiRm3gNnT6AD1rOc6wnQm5Ape+E5nbKM+?= =?us-ascii?Q?tUfKqXKAUjqX0gNb49kjLyyIggJbzZqpLKbkGREThD4ytveA2vyQI91geHic?= =?us-ascii?Q?0asfYrDc7xY5I5V33Oqt2K0SNj5fmL5jKCuX1WtCbMfCZVuh79bGw6goCdRr?= =?us-ascii?Q?XAKgmrbBxaiguek7v0XcqQyz+7n2+vP0tJG/0LrrR/lQhMF66XWgPcTZr6mR?= =?us-ascii?Q?d6UCLW/Z7HHcGmcM85x9sZEA9DUGy+6vyHa4Rl6NhIf7TySwXo+GOSY+aFrm?= =?us-ascii?Q?Ja3PqQQEcsvYHBH+bb5CkB3EwbKpJwn2Vrcw7qa/5P7Zxy6xYXg44k/b49bE?= =?us-ascii?Q?s/AplS7Q9P+lkIAa1Qc+YGrs2C0Wjf/OomNCfmWLBzBdxFD8znSykGBzh5oJ?= =?us-ascii?Q?YRADTr8FB4QkwxkX7okRps4Nmad8UbQYsGJyhCyYJKeW3eWVn8RGuRymDUja?= =?us-ascii?Q?LBGu20Z/5XHM2UDvpV4HI5QoXpQdYBQCNbi8L6E3rkAlG5LO1PiggoSuDap8?= =?us-ascii?Q?uQZhTNbqoJD7GK1DGwh339qvfmmqwgAHMwTK6RPknwgOyGaVRN6J8QRIgDb5?= =?us-ascii?Q?VPt0WoT1Av/gjvk/6aFLmXxt++LW+tdxfZ/JA2LvExwD1AUnWSXLW9FohxMM?= =?us-ascii?Q?zu3JQHOZeb81RPQo0p/m5+nLFJKmSayUVc1DO0foY2E2cCFuCjXQqdJ+VlQ7?= =?us-ascii?Q?9zAdu84cHIhnPCWjUORsfve0ZJmKfzk8KbhYfpkD9Qu4niSXG76h69X9TCoI?= =?us-ascii?Q?Qq4hgGE4WRVcLwH79jK+xlMyU/nI30dWuhBWRY7Fo5Uyzej/dW8EUlNdeBgA?= =?us-ascii?Q?yK3OTHhNGVrMyQnZhqkJkgFgaKiQqZyu5EZNidkEWYvCSo+9YSe6OgtBukst?= =?us-ascii?Q?EXjItvXbDcUPruD9eVJvUXEcgimTnHt0C5oNExt8fmGITzGuo0FXtV1GyD1K?= =?us-ascii?Q?dB4E36eDxPKvmXgywhnmZyLob9TY4VpEjSCFcANkVL3Y6nKD1VBzcNNofXyP?= =?us-ascii?Q?QqeLyaonASbgYXkMTyjeq035ezyHS55y0LokvJ2iGigRNtGA+zVjjQXjHgP4?= =?us-ascii?Q?kn7knH9qLcJUR4pxv+qDfThiRnTaGbf3ebl/7V4c4KzfJ6DvPmjOH5+O9kXg?= =?us-ascii?Q?dwwcGYjBlorJlEhCcm1D48HZ?= 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: f907faef-92a9-4c06-60f9-08d9324dbbe1 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jun 2021 11:39:29.4660 (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: GWQws2UB6CRhxk0Y0DRvYu/EP4EVd64PTlN/jWyFufd6+owIBM5JL0Wv0odIOjJLETY00Ps26dRPegpgScjh5A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR1101MB2130 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: Friday, June 18, 2021 10:07 AM > To: devel@edk2.groups.io > Cc: Chiu, Chasel ; Chaganty, Rangasai V > ; Desimone, Nathaniel L > > Subject: [edk2-platforms][PATCH v3 32/41] CoffeelakeSiliconPkg: Remove PC= H > 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 CoffeelakeSiliconPkg are removed and libs/ modules that ne= ed 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: Nate DeSimone > --- > Silicon/Intel/CoffeelakeSiliconPkg/Pch/Include/Ppi/Spi.h > | 27 -- > Silicon/Intel/CoffeelakeSiliconPkg/Pch/Include/Protocol/Spi.h > | 295 -------------------- > Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/PeiSpiLib/PeiSpiLib.inf > | 1 + >=20 > Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/BasePchSpiCommonLi= b/ > BasePchSpiCommonLib.inf | 1 + > Silicon/Intel/CoffeelakeSiliconPkg/Pch/Spi/Smm/PchSpiSmm.inf > | 1 + > Silicon/Intel/CoffeelakeSiliconPkg/SiPkg.dec = | 3 - > 6 files changed, 3 insertions(+), 325 deletions(-) >=20 > diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Include/Ppi/Spi.h > b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Include/Ppi/Spi.h > deleted file mode 100644 > index d3ff152742cf..000000000000 > --- a/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Include/Ppi/Spi.h > +++ /dev/null > @@ -1,27 +0,0 @@ > -/** @file > - This file defines the PCH SPI PPI which implements the > - Intel(R) PCH SPI Host Controller Compatibility Interface. > - > - Copyright (c) 2019 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/CoffeelakeSiliconPkg/Pch/Include/Protocol/Spi.= h > b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Include/Protocol/Spi.h > deleted file mode 100644 > index 22df7fe35147..000000000000 > --- a/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Include/Protocol/Spi.h > +++ /dev/null > @@ -1,295 +0,0 @@ > -/** @file > - This file defines the PCH SPI Protocol which implements the > - Intel(R) PCH SPI Host Controller Compatibility Interface. > - > - Copyright (c) 2019 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, > - FlashRegionEC =3D 8, > - 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/CoffeelakeSiliconPkg/Pch/Library/PeiSpiLib/Pei= SpiLib.inf > b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/PeiSpiLib/PeiSpiLib.inf > index fb2fad78d39e..4e4b456574f0 100644 > --- a/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/PeiSpiLib/PeiSpiLib.= inf > +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/PeiSpiLib/PeiSpiLib > +++ .inf > @@ -30,6 +30,7 @@ [LibraryClasses] >=20 > [Packages] > MdePkg/MdePkg.dec > +IntelSiliconPkg/IntelSiliconPkg.dec > CoffeelakeSiliconPkg/SiPkg.dec >=20 >=20 > diff --git > a/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/BasePchSpiCommon= Lib > /BasePchSpiCommonLib.inf > b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/BasePchSpiCommon= Lib > /BasePchSpiCommonLib.inf > index ea23e628c80e..f5dc4ee0bfef 100644 > --- > a/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/BasePchSpiCommon= Lib > /BasePchSpiCommonLib.inf > +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/BasePchSpiC > +++ ommonLib/BasePchSpiCommonLib.inf > @@ -20,6 +20,7 @@ [Sources] >=20 > [Packages] > MdePkg/MdePkg.dec > + IntelSiliconPkg/IntelSiliconPkg.dec > CoffeelakeSiliconPkg/SiPkg.dec >=20 > [LibraryClasses] > diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Spi/Smm/PchSpiSmm.inf > b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Spi/Smm/PchSpiSmm.inf > index 77bd3ad72bff..231929151222 100644 > --- a/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Spi/Smm/PchSpiSmm.inf > +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Spi/Smm/PchSpiSmm.inf > @@ -29,6 +29,7 @@ [LibraryClasses] >=20 > [Packages] > MdePkg/MdePkg.dec > +IntelSiliconPkg/IntelSiliconPkg.dec > CoffeelakeSiliconPkg/SiPkg.dec >=20 >=20 > diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/SiPkg.dec > b/Silicon/Intel/CoffeelakeSiliconPkg/SiPkg.dec > index 5ea6fbb28411..efc2d8788168 100644 > --- a/Silicon/Intel/CoffeelakeSiliconPkg/SiPkg.dec > +++ b/Silicon/Intel/CoffeelakeSiliconPkg/SiPkg.dec > @@ -303,11 +303,9 @@ [Protocols] > ## > ## PCH > ## > -gPchSpiProtocolGuid =3D {0xc7d289, 0x1347, 0x4de0, {0xbf, 0x42, 0xe, 0= x26, > 0x9d, 0xe, 0xf3, 0x4a}} gWdtProtocolGuid =3D {0xb42b8d12, 0x2acb, 0x49= 9a, > {0xa9, 0x20, 0xdd, 0x5b, 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, 0= x0c}} > -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, 0= xab}} > @@ -382,7 +380,6 @@ [Ppis] ## PCH ## gWdtPpiGuid =3D {0xf38d1338, 0x= af7a, > 0x4fb6, {0x91, 0xdb, 0x1a, 0x9c, 0x21, 0x83, 0x57, 0x0d}} -gPchSpiPpiGuid= =3D > {0xdade7ce3, 0x6971, 0x4b75, {0x82, 0x5e, 0xe, 0xe0, 0xeb, 0x17, 0x72, 0x= 2d}} > gPeiSmbusPolicyPpiGuid =3D {0x63b6e435, 0x32bc, 0x49c6, {0x81, 0xbd, 0x= b7, > 0xa1, 0xa0, 0xfe, 0x1a, 0x6c}} gPchResetCallbackPpiGuid =3D {0x17865dc= 0, > 0x0b8b, 0x4da8, {0x8b, 0x42, 0x7c, 0x46, 0xb8, 0x5c, 0xca, 0x4d}} >=20 > -- > 2.28.0.windows.1