Reviewed-by: Nate DeSimone <nathaniel.l.desim...@intel.com>

On Tue, Feb 18, 2020 at 02:53:42PM +0000, Esakkithevar, Kathappan wrote:
> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2280
> 
> Adds CPU model, SA Device ID, PCH SKU ID for Cometlake U V1.
> 
> Key files
> =========
> * CpuReg.h - Add CPU Family Model support.
> * SaRegsHostBridge.h - Add SA Device ID support.
> * MrcInterface.h - Add CPU Family Model support in MRC.
> * PchRegsLpcCnl.h - Add PCH SKU ID support.
> 
> Signed-off-by: Kathappan Esakkithevar <kathappan.esakkithe...@intel.com>
> Cc: Sai Chaganty <rangasai.v.chaga...@intel.com>
> Cc: Chasel Chiu <chasel.c...@intel.com>
> Cc: Nate DeSimone <nathaniel.l.desim...@intel.com>
> Cc: Deepika Kethi Reddy <deepika.kethi.re...@intel.com>
> Cc: Prince Agyeman <prince.agye...@intel.com>
> ---
>  .../Intel/CoffeelakeSiliconPkg/Cpu/Include/CpuRegs.h   |  5 ++++-
>  .../PeiDxeSmmCpuPlatformLib/CpuPlatformLibrary.c       | 18 
> +++++++++++++++++-
>  .../Pch/Include/Register/PchRegsLpcCnl.h               |  3 ++-
>  .../Pch/Library/PeiDxeSmmPchInfoLib/PchInfoLibCnl.c    |  5 ++++-
>  .../SystemAgent/Include/Register/SaRegsHostBridge.h    |  5 ++++-
>  .../MemoryInit/Include/Coffeelake/MrcInterface.h       |  5 +++--
>  6 files changed, 34 insertions(+), 7 deletions(-)
> 
> diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/Cpu/Include/CpuRegs.h 
> b/Silicon/Intel/CoffeelakeSiliconPkg/Cpu/Include/CpuRegs.h
> index 68f2c019e2..4b9ce8d4d3 100644
> --- a/Silicon/Intel/CoffeelakeSiliconPkg/Cpu/Include/CpuRegs.h
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Cpu/Include/CpuRegs.h
> @@ -9,7 +9,7 @@
>    - Definitions beginning with "S_" are register sizes
>    - Definitions beginning with "N_" are the bit position
>
> -  Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +  Copyright (c) 2019 - 2020 Intel Corporation. All rights reserved. <BR>
>
>    SPDX-License-Identifier: BSD-2-Clause-Patent
>  **/
> @@ -181,6 +181,7 @@
>  #define CPUID_FULL_FAMILY_MODEL_COFFEELAKE_ULT_ULX 0x000806E0
>  #define CPUID_FULL_FAMILY_MODEL_COFFEELAKE_DT_HALO 0x000906E0
>  #define CPUID_FULL_FAMILY_MODEL_CANNONLAKE_DT_HALO 0x00060670
> +#define CPUID_FULL_FAMILY_MODEL_COMETLAKE_ULT      0x000A0660
>
>  #ifndef STALL_ONE_MICRO_SECOND
>  #define STALL_ONE_MICRO_SECOND 1
> @@ -206,6 +207,7 @@ typedef enum {
>    EnumCpuCflUltUlx    = CPUID_FULL_FAMILY_MODEL_COFFEELAKE_ULT_ULX,
>    EnumCpuCflDtHalo    = CPUID_FULL_FAMILY_MODEL_COFFEELAKE_DT_HALO,
>    EnumCpuCnlDtHalo    = CPUID_FULL_FAMILY_MODEL_CANNONLAKE_DT_HALO,
> +  EnumCpuCmlUlt       = CPUID_FULL_FAMILY_MODEL_COMETLAKE_ULT,
>    EnumCpuMax          = CPUID_FULL_FAMILY_MODEL
>  } CPU_FAMILY;
>
> @@ -256,6 +258,7 @@ typedef enum {
>  ///
>  typedef enum {
>    EnumCflCpu  = 0,
> +  EnumCmlCpu,
>    EnumCpuUnknownGeneration = 255
>  } CPU_GENERATION;
>  #endif
> diff --git 
> a/Silicon/Intel/CoffeelakeSiliconPkg/Cpu/Library/PeiDxeSmmCpuPlatformLib/CpuPlatformLibrary.c
>  
> b/Silicon/Intel/CoffeelakeSiliconPkg/Cpu/Library/PeiDxeSmmCpuPlatformLib/CpuPlatformLibrary.c
> index 18f2028fa9..702a10c9d8 100644
> --- 
> a/Silicon/Intel/CoffeelakeSiliconPkg/Cpu/Library/PeiDxeSmmCpuPlatformLib/CpuPlatformLibrary.c
> +++ 
> b/Silicon/Intel/CoffeelakeSiliconPkg/Cpu/Library/PeiDxeSmmCpuPlatformLib/CpuPlatformLibrary.c
> @@ -1,7 +1,7 @@
>  /** @file
>    CPU Platform Lib implementation.
>
> -  Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +  Copyright (c) 2019 - 2020 Intel Corporation. All rights reserved. <BR>
>
>    SPDX-License-Identifier: BSD-2-Clause-Patent
>  **/
> @@ -80,6 +80,15 @@ GetCpuSku (
>    CpuDid = PciSegmentRead16 (PCI_SEGMENT_LIB_ADDRESS (SA_SEG_NUM, SA_MC_BUS, 
> SA_MC_DEV, SA_MC_FUN, R_SA_MC_DEVICE_ID));
>
>    switch (CpuFamilyModel) {
> +    case CPUID_FULL_FAMILY_MODEL_COMETLAKE_ULT:
> +      switch (CpuDid) {
> +        case V_SA_DEVICE_ID_CML_ULT_1:   // CML ULT
> +        case V_SA_DEVICE_ID_CML_ULT_2:   // CML ULT
> +        case V_SA_DEVICE_ID_CML_ULT_3:   // CML ULT
> +          CpuType = EnumCpuUlt;
> +          break;
> +      }
> +      break;
>      case CPUID_FULL_FAMILY_MODEL_COFFEELAKE_ULT_ULX:
>        switch (CpuDid) {
>          case V_SA_DEVICE_ID_KBL_MB_ULT_1:    // KBL ULT OPI
> @@ -87,6 +96,9 @@ GetCpuSku (
>          case V_SA_DEVICE_ID_CFL_ULT_2:       // CFL ULT
>          case V_SA_DEVICE_ID_CFL_ULT_3:       // CFL ULT
>          case V_SA_DEVICE_ID_CFL_ULT_4:       // CFL ULT
> +        case V_SA_DEVICE_ID_CML_ULT_1:       // CML ULT
> +        case V_SA_DEVICE_ID_CML_ULT_2:       // CML ULT
> +        case V_SA_DEVICE_ID_CML_ULT_3:       // CML ULT
>            CpuType = EnumCpuUlt;
>            break;
>
> @@ -378,6 +390,10 @@ GetCpuGeneration (
>        CpuGeneration = EnumCflCpu;
>        break;
>
> +    case EnumCpuCmlUlt:
> +      CpuGeneration = EnumCmlCpu;
> +      break;
> +
>      default:
>        CpuGeneration = EnumCpuUnknownGeneration;
>        ASSERT (FALSE);
> diff --git 
> a/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Include/Register/PchRegsLpcCnl.h 
> b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Include/Register/PchRegsLpcCnl.h
> index 74789a87ce..e8a18cac3e 100644
> --- a/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Include/Register/PchRegsLpcCnl.h
> +++ b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Include/Register/PchRegsLpcCnl.h
> @@ -21,7 +21,7 @@
>    - Registers / bits of new devices introduced in a PCH generation will be 
> just named
>      as "_PCH_" without [generation_name] inserted.
>
> -  Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +  Copyright (c) 2019 - 2020 Intel Corporation. All rights reserved. <BR>
>
>    SPDX-License-Identifier: BSD-2-Clause-Patent
>  **/
> @@ -31,6 +31,7 @@
>
>  #define V_LPC_CFG_DID_CNL_H                       0xA300
>  #define V_LPC_CFG_DID_CNL_LP                      0x9D80
> +#define V_LPC_CFG_DID_CML_LP                      0x0280
>
>  //
>  // PCH-LP Device IDs
> diff --git 
> a/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/PeiDxeSmmPchInfoLib/PchInfoLibCnl.c
>  
> b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/PeiDxeSmmPchInfoLib/PchInfoLibCnl.c
> index 431b1470c2..da6479f212 100644
> --- 
> a/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/PeiDxeSmmPchInfoLib/PchInfoLibCnl.c
> +++ 
> b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/PeiDxeSmmPchInfoLib/PchInfoLibCnl.c
> @@ -4,7 +4,7 @@
>    All function in this library is available for PEI, DXE, and SMM,
>    But do not support UEFI RUNTIME environment call.
>
> -  Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +  Copyright (c) 2019 - 2020 Intel Corporation. All rights reserved. <BR>
>
>    SPDX-License-Identifier: BSD-2-Clause-Patent
>  **/
> @@ -37,6 +37,9 @@ PchSeriesFromLpcDid (
>      case V_LPC_CFG_DID_CNL_LP:
>        return PCH_LP;
>
> +    case V_LPC_CFG_DID_CML_LP:
> +      return PCH_LP;
> +
>      default:
>        return PCH_UNKNOWN_SERIES;
>    }
> diff --git 
> a/Silicon/Intel/CoffeelakeSiliconPkg/SystemAgent/Include/Register/SaRegsHostBridge.h
>  
> b/Silicon/Intel/CoffeelakeSiliconPkg/SystemAgent/Include/Register/SaRegsHostBridge.h
> index 2cc0e5be68..67bbf13d77 100644
> --- 
> a/Silicon/Intel/CoffeelakeSiliconPkg/SystemAgent/Include/Register/SaRegsHostBridge.h
> +++ 
> b/Silicon/Intel/CoffeelakeSiliconPkg/SystemAgent/Include/Register/SaRegsHostBridge.h
> @@ -15,7 +15,7 @@
>    - Registers / bits of new devices introduced in a SA generation will be 
> just named
>      as "_SA_" without [generation_name] inserted.
>
> -  Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +  Copyright (c) 2019 - 2020 Intel Corporation. All rights reserved. <BR>
>
>    SPDX-License-Identifier: BSD-2-Clause-Patent
>  **/
> @@ -112,6 +112,9 @@
>  #define V_SA_DEVICE_ID_CFL_ULT_4        0x3E35   ///< CoffeeLake Mobile 
> (CFL-U 2+(1 or 2)) SA DID
>  #define V_SA_DEVICE_ID_CFL_ULT_6        0x3ECC   ///< CoffeeLake Mobile 
> (CFL-U 2+3e) SA DID
>
> +#define V_SA_DEVICE_ID_CML_ULT_1        0x9B51  ///< CometLake (CML-U 6+2) 
> SA DID
> +#define V_SA_DEVICE_ID_CML_ULT_2        0x9B61  ///< CometLake (CML-U 4+2) 
> SA DID
> +#define V_SA_DEVICE_ID_CML_ULT_3        0x9B71  ///< CometLake (CML-U 2+2) 
> SA DID
>  //
>  // CoffeeLake CPU Desktop SA Device IDs B0:D0:F0
>  //
> diff --git 
> a/Silicon/Intel/CoffeelakeSiliconPkg/SystemAgent/MemoryInit/Include/Coffeelake/MrcInterface.h
>  
> b/Silicon/Intel/CoffeelakeSiliconPkg/SystemAgent/MemoryInit/Include/Coffeelake/MrcInterface.h
> index 635906cc2b..b9b390cc71 100644
> --- 
> a/Silicon/Intel/CoffeelakeSiliconPkg/SystemAgent/MemoryInit/Include/Coffeelake/MrcInterface.h
> +++ 
> b/Silicon/Intel/CoffeelakeSiliconPkg/SystemAgent/MemoryInit/Include/Coffeelake/MrcInterface.h
> @@ -1,7 +1,7 @@
>  /** @file
>    This file includes all the data structures that the MRC considers "global 
> data".
>
> -  Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +  Copyright (c) 2019 - 2020 Intel Corporation. All rights reserved. <BR>
>
>    SPDX-License-Identifier: BSD-2-Clause-Patent
>  **/
> @@ -477,7 +477,8 @@ typedef enum {
>  ///
>  typedef enum {
>    cmCFL_ULX_ULT   = CPUID_FULL_FAMILY_MODEL_COFFEELAKE_ULT_ULX,  ///< 
> Coffeelake ULT/ULX
> -  cmCFL_DT_HALO   = CPUID_FULL_FAMILY_MODEL_COFFEELAKE_DT_HALO   ///< 
> Coffeelake DT/Halo
> +  cmCFL_DT_HALO   = CPUID_FULL_FAMILY_MODEL_COFFEELAKE_DT_HALO,  ///< 
> Coffeelake DT/Halo
> +  cmCML_ULX_ULT   = CPUID_FULL_FAMILY_MODEL_COMETLAKE_ULT        ///< 
> Cometlake ULT/ULX
>  } MrcCpuModel;
>
>  ///
> -- 
> 2.16.2.windows.1
> 
> 
> 
>

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#54597): https://edk2.groups.io/g/devel/message/54597
Mute This Topic: https://groups.io/mt/71372343/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to