• Subject: [edk2] [Patch][edk2-platforms/devel-MinnowBoard3-UDK2017] Change Reset Type
  • Author: lushifex
  • Date: Sept. 12, 2017, 5:50 a.m.
  • Patches: 1 / 1
Changeset
.../Board/BensonGlacier/BoardInitPostMem/BoardInit.c               | 7 +++++++
.../Board/BensonGlacier/BoardInitPostMem/BoardInit.h               | 1 +
.../Board/BensonGlacier/BoardInitPostMem/BoardInitPostMem.inf      | 1 +
.../BroxtonPlatformPkg/Board/LeafHill/BoardInitPostMem/BoardInit.c | 7 +++++++
.../BroxtonPlatformPkg/Board/LeafHill/BoardInitPostMem/BoardInit.h | 1 +
.../Board/LeafHill/BoardInitPostMem/BoardInitPostMem.inf           | 3 ++-
.../Board/MinnowBoard3/BoardInitPostMem/BoardInit.c                | 7 +++++++
.../Board/MinnowBoard3/BoardInitPostMem/BoardInit.h                | 1 +
.../Board/MinnowBoard3/BoardInitPostMem/BoardInitPostMem.inf       | 3 ++-
.../BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatform.c  | 2 +-
.../Common/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf                | 2 ++
.../Common/Library/PeiFspPolicyInitLib/PeiFspPolicyInitLib.h       | 3 ++-
.../Common/Library/PeiFspPolicyInitLib/PeiFspPolicyInitLib.inf     | 2 ++
.../Common/Library/PeiFspPolicyInitLib/PeiFspScPolicyInitLib.c     | 2 +-
.../Common/Library/PeiPolicyUpdateLib/PeiPolicyUpdateLib.inf       | 1 +
.../Common/Library/PeiPolicyUpdateLib/PeiScPolicyUpdate.c          | 3 +--
.../Common/PlatformSettings/PlatformSetupDxe/SystemComponent.vfi   | 2 ++
Platform/BroxtonPlatformPkg/PlatformPkg.dec                        | 1 +
.../BroxtonSiPkg/SouthCluster/Reset/RuntimeDxe/ScReset.c           | 6 +++---
19 files changed, 45 insertions(+), 10 deletions(-)
Git apply log
Switched to a new branch 'aa3b5849-725c-411c-9d3c-19bf6e2214b6@SHWDEOPENPSI011.local'
Applying: Change Reset Type
error: sha1 information is lacking or useless (Platform/BroxtonPlatformPkg/Board/BensonGlacier/BoardInitPostMem/BoardInit.c).
error: could not build fake ancestor
Patch failed at 0001 Change Reset Type
The copy of the patch that failed is found in: .git/rebase-apply/patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
Failed to apply patch:
[edk2] [Patch][edk2-platforms/devel-MinnowBoard3-UDK2017] Change Reset Type
[edk2] [Patch][edk2-platforms/devel-MinnowBoard3-UDK2017] Change Reset Type
Posted by lushifex, 5 weeks ago
Change Reset Type according to different Board.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: lushifex <shifeix.a.lu@intel.com>
---
 .../Board/BensonGlacier/BoardInitPostMem/BoardInit.c               | 7 +++++++
 .../Board/BensonGlacier/BoardInitPostMem/BoardInit.h               | 1 +
 .../Board/BensonGlacier/BoardInitPostMem/BoardInitPostMem.inf      | 1 +
 .../BroxtonPlatformPkg/Board/LeafHill/BoardInitPostMem/BoardInit.c | 7 +++++++
 .../BroxtonPlatformPkg/Board/LeafHill/BoardInitPostMem/BoardInit.h | 1 +
 .../Board/LeafHill/BoardInitPostMem/BoardInitPostMem.inf           | 3 ++-
 .../Board/MinnowBoard3/BoardInitPostMem/BoardInit.c                | 7 +++++++
 .../Board/MinnowBoard3/BoardInitPostMem/BoardInit.h                | 1 +
 .../Board/MinnowBoard3/BoardInitPostMem/BoardInitPostMem.inf       | 3 ++-
 .../BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatform.c  | 2 +-
 .../Common/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf                | 2 ++
 .../Common/Library/PeiFspPolicyInitLib/PeiFspPolicyInitLib.h       | 3 ++-
 .../Common/Library/PeiFspPolicyInitLib/PeiFspPolicyInitLib.inf     | 2 ++
 .../Common/Library/PeiFspPolicyInitLib/PeiFspScPolicyInitLib.c     | 2 +-
 .../Common/Library/PeiPolicyUpdateLib/PeiPolicyUpdateLib.inf       | 1 +
 .../Common/Library/PeiPolicyUpdateLib/PeiScPolicyUpdate.c          | 3 +--
 .../Common/PlatformSettings/PlatformSetupDxe/SystemComponent.vfi   | 2 ++
 Platform/BroxtonPlatformPkg/PlatformPkg.dec                        | 1 +
 .../BroxtonSiPkg/SouthCluster/Reset/RuntimeDxe/ScReset.c           | 6 +++---
 19 files changed, 45 insertions(+), 10 deletions(-)

diff --git a/Platform/BroxtonPlatformPkg/Board/BensonGlacier/BoardInitPostMem/BoardInit.c b/Platform/BroxtonPlatformPkg/Board/BensonGlacier/BoardInitPostMem/BoardInit.c
index 729a158..a4f3414 100644
--- a/Platform/BroxtonPlatformPkg/Board/BensonGlacier/BoardInitPostMem/BoardInit.c
+++ b/Platform/BroxtonPlatformPkg/Board/BensonGlacier/BoardInitPostMem/BoardInit.c
@@ -48,6 +48,7 @@ BensonGlacierPostMemInitCallback (
   VOID                             *Instance;
   UINT8                            BoardId;
   UINT8                            FabId;
+  UINT8                            ResetType;
 
   Status = PeiServicesLocatePpi (
              &gBoardPostMemInitDoneGuid,
@@ -76,6 +77,12 @@ BensonGlacierPostMemInitCallback (
   PcdSet64 (PcdBoardPostMemInitFunc, (UINT64) (UINTN) BensonMultiPlatformInfoInit);
 
   //
+  // Set Reset Type according to different Board
+  //
+  ResetType = V_RST_CNT_HARDRESET;
+  PcdSet8 (PcdResetType, (UINT8) ResetType);
+
+  //
   // Add init steps here
   //
   //
diff --git a/Platform/BroxtonPlatformPkg/Board/BensonGlacier/BoardInitPostMem/BoardInit.h b/Platform/BroxtonPlatformPkg/Board/BensonGlacier/BoardInitPostMem/BoardInit.h
index 870f9c3..c065ed2 100644
--- a/Platform/BroxtonPlatformPkg/Board/BensonGlacier/BoardInitPostMem/BoardInit.h
+++ b/Platform/BroxtonPlatformPkg/Board/BensonGlacier/BoardInitPostMem/BoardInit.h
@@ -33,6 +33,7 @@
 #include <Ppi/BoardInitSignalling.h>
 
 #include "BoardInitMiscs.h"
+#include <ScRegs/RegsPcu.h>
 
 VOID BensonGpioTest (VOID);
 
diff --git a/Platform/BroxtonPlatformPkg/Board/BensonGlacier/BoardInitPostMem/BoardInitPostMem.inf b/Platform/BroxtonPlatformPkg/Board/BensonGlacier/BoardInitPostMem/BoardInitPostMem.inf
index def40bf..4ce6ab2 100644
--- a/Platform/BroxtonPlatformPkg/Board/BensonGlacier/BoardInitPostMem/BoardInitPostMem.inf
+++ b/Platform/BroxtonPlatformPkg/Board/BensonGlacier/BoardInitPostMem/BoardInitPostMem.inf
@@ -61,6 +61,7 @@
   gPlatformModuleTokenSpaceGuid.PcdBoardPostMemInitFunc
   gPlatformModuleTokenSpaceGuid.PcdBoardId
   gPlatformModuleTokenSpaceGuid.PcdFabId
+  gPlatformModuleTokenSpaceGuid.PcdResetType
 
 [Guids]
   gEfiPlatformInfoGuid
diff --git a/Platform/BroxtonPlatformPkg/Board/LeafHill/BoardInitPostMem/BoardInit.c b/Platform/BroxtonPlatformPkg/Board/LeafHill/BoardInitPostMem/BoardInit.c
index 501e810..e591b1d 100644
--- a/Platform/BroxtonPlatformPkg/Board/LeafHill/BoardInitPostMem/BoardInit.c
+++ b/Platform/BroxtonPlatformPkg/Board/LeafHill/BoardInitPostMem/BoardInit.c
@@ -56,6 +56,7 @@ LeafHillPostMemInitCallback (
   VOID                             *Instance;
   UINT8                            BoardId;
   UINT8                            FabId;
+  UINT8                            ResetType;
 
   Status = PeiServicesLocatePpi (
              &gBoardPostMemInitDoneGuid,
@@ -82,6 +83,12 @@ LeafHillPostMemInitCallback (
   // Set init function PCD
   //
   PcdSet64 (PcdBoardPostMemInitFunc, (UINT64) (UINTN) LeafHillMultiPlatformInfoInit);
+  
+  //
+  // Set Reset Type according to different Board
+  //
+  ResetType = V_RST_CNT_FULLRESET;
+  PcdSet8 (PcdResetType, (UINT8) ResetType);
 
   //
   // Add init steps here
diff --git a/Platform/BroxtonPlatformPkg/Board/LeafHill/BoardInitPostMem/BoardInit.h b/Platform/BroxtonPlatformPkg/Board/LeafHill/BoardInitPostMem/BoardInit.h
index 298613a..5b92f75 100644
--- a/Platform/BroxtonPlatformPkg/Board/LeafHill/BoardInitPostMem/BoardInit.h
+++ b/Platform/BroxtonPlatformPkg/Board/LeafHill/BoardInitPostMem/BoardInit.h
@@ -22,6 +22,7 @@
 #include <Library/HobLib.h>
 #include <Library/TimerLib.h>
 #include <Guid/PlatformInfo_Aplk.h>
+#include <ScRegs/RegsPcu.h>
 
 VOID LeafHillGpioTest (VOID);
 
diff --git a/Platform/BroxtonPlatformPkg/Board/LeafHill/BoardInitPostMem/BoardInitPostMem.inf b/Platform/BroxtonPlatformPkg/Board/LeafHill/BoardInitPostMem/BoardInitPostMem.inf
index a613fda..01931b8 100644
--- a/Platform/BroxtonPlatformPkg/Board/LeafHill/BoardInitPostMem/BoardInitPostMem.inf
+++ b/Platform/BroxtonPlatformPkg/Board/LeafHill/BoardInitPostMem/BoardInitPostMem.inf
@@ -3,7 +3,7 @@
 #
 #  It will detect the board ID.
 #
-#  Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>
+#  Copyright (c) 2014 - 2017, Intel Corporation. All rights reserved.<BR>
 #
 #  This program and the accompanying materials
 #  are licensed and made available under the terms and conditions of the BSD License
@@ -59,6 +59,7 @@
   gPlatformModuleTokenSpaceGuid.PcdBoardPostMemInitFunc
   gPlatformModuleTokenSpaceGuid.PcdBoardId
   gPlatformModuleTokenSpaceGuid.PcdFabId
+  gPlatformModuleTokenSpaceGuid.PcdResetType
 
 [Guids]
   gEfiPlatformInfoGuid
diff --git a/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInit.c b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInit.c
index ac6bf58..ef14216 100644
--- a/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInit.c
+++ b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInit.c
@@ -56,6 +56,7 @@ MinnowBoard3PostMemInitCallback (
   VOID                             *Instance;
   UINT8                            BoardId;
   UINT8                            FabId;
+  UINT8                            ResetType;
 
   Status = PeiServicesLocatePpi (
              &gBoardPostMemInitDoneGuid,
@@ -82,6 +83,12 @@ MinnowBoard3PostMemInitCallback (
   // Set init function PCD
   //
   PcdSet64 (PcdBoardPostMemInitFunc, (UINT64) (UINTN) Minnow3MultiPlatformInfoInit);
+  
+  //
+  // Set Reset Type according to different Board
+  //
+  ResetType = V_RST_CNT_FULLRESET;
+  PcdSet8 (PcdResetType, (UINT8) ResetType);
 
   //
   // Add init steps here
diff --git a/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInit.h b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInit.h
index b00f53e..196d140 100644
--- a/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInit.h
+++ b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInit.h
@@ -22,6 +22,7 @@
 #include <Library/HobLib.h>
 #include <Library/TimerLib.h>
 #include <Guid/PlatformInfo_Aplk.h>
+#include <ScRegs/RegsPcu.h>
 
 VOID Minnow3GpioTest (VOID);
 
diff --git a/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInitPostMem.inf b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInitPostMem.inf
index d7ba739..f066703 100644
--- a/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInitPostMem.inf
+++ b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInitPostMem.inf
@@ -2,7 +2,7 @@
 #  Board detected module for Intel(R) Atom(TM) x5 Processor Series.
 #  It will detect the board ID.
 #
-#  Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>
+#  Copyright (c) 2014 - 2017, Intel Corporation. All rights reserved.<BR>
 #
 #  This program and the accompanying materials
 #  are licensed and made available under the terms and conditions of the BSD License
@@ -57,6 +57,7 @@
   gPlatformModuleTokenSpaceGuid.PcdBoardPostMemInitFunc
   gPlatformModuleTokenSpaceGuid.PcdBoardId
   gPlatformModuleTokenSpaceGuid.PcdFabId
+  gPlatformModuleTokenSpaceGuid.PcdResetType
 
 [Guids]
   gEfiPlatformInfoGuid
diff --git a/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatform.c b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatform.c
index 3007132..d3c10b1 100644
--- a/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatform.c
+++ b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatform.c
@@ -656,7 +656,7 @@ PlatformUpdateTables (
 
     case EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE:
       pFACP = (EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE *) Table;
-      pFACP->ResetValue = mSystemConfiguration.ResetSelect;
+      pFACP->ResetValue = (UINT8) PcdGet8 (PcdResetType);
       pFACP->Flags |= BIT10;
       DEBUG ((DEBUG_INFO, "FACP ResetValue = %x\n", pFACP->ResetValue));
 
diff --git a/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
index 31c2a77..5e876dc 100644
--- a/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
+++ b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
@@ -45,6 +45,7 @@
   DxeVtdLib
   SteppingLib
   SeCLib
+  PcdLib
 
 [Guids]
   gACPIOSFRMfgStringVariableGuid
@@ -84,6 +85,7 @@
   gEfiBxtTokenSpaceGuid.PcdScAcpiIoPortBaseAddress
   gEfiBxtTokenSpaceGuid.PcdPmcGcrBaseAddress
   gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress
+  gPlatformModuleTokenSpaceGuid.PcdResetType
 
 [Depex]
   gEfiAcpiSupportProtocolGuid        AND
diff --git a/Platform/BroxtonPlatformPkg/Common/Library/PeiFspPolicyInitLib/PeiFspPolicyInitLib.h b/Platform/BroxtonPlatformPkg/Common/Library/PeiFspPolicyInitLib/PeiFspPolicyInitLib.h
index e9eaa96..5bc2a08 100644
--- a/Platform/BroxtonPlatformPkg/Common/Library/PeiFspPolicyInitLib/PeiFspPolicyInitLib.h
+++ b/Platform/BroxtonPlatformPkg/Common/Library/PeiFspPolicyInitLib/PeiFspPolicyInitLib.h
@@ -1,7 +1,7 @@
 /** @file
   Internal header file for Fsp Policy Initialization Library.
 
-  Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD License
@@ -22,6 +22,7 @@
 #include <Library/ConfigBlockLib.h>
 #include <Library/PeiScPolicyLib.h>
 #include <Library/MemoryAllocationLib.h>
+#include <Library/PcdLib.h>
 #include <Guid/SetupVariable.h>
 #include <FspEas.h>
 #include <FspmUpd.h>
diff --git a/Platform/BroxtonPlatformPkg/Common/Library/PeiFspPolicyInitLib/PeiFspPolicyInitLib.inf b/Platform/BroxtonPlatformPkg/Common/Library/PeiFspPolicyInitLib/PeiFspPolicyInitLib.inf
index fab0d00..b4099b2 100644
--- a/Platform/BroxtonPlatformPkg/Common/Library/PeiFspPolicyInitLib/PeiFspPolicyInitLib.inf
+++ b/Platform/BroxtonPlatformPkg/Common/Library/PeiFspPolicyInitLib/PeiFspPolicyInitLib.inf
@@ -70,6 +70,7 @@
   ConfigBlockLib
   PeiPolicyInitLib
   ScPlatformLib
+  PcdLib
 
 [Pcd]
 
@@ -87,6 +88,7 @@
   gEfiBxtTokenSpaceGuid.PcdScAcpiIoPortBaseAddress
   gEfiBxtTokenSpaceGuid.PcdP2SBBaseAddress
   gEfiBxtTokenSpaceGuid.PcdPmcGcrBaseAddress
+  gPlatformModuleTokenSpaceGuid.PcdResetType
 
 [Ppis]
   gSiPolicyPpiGuid                 ## CONSUMES
diff --git a/Platform/BroxtonPlatformPkg/Common/Library/PeiFspPolicyInitLib/PeiFspScPolicyInitLib.c b/Platform/BroxtonPlatformPkg/Common/Library/PeiFspPolicyInitLib/PeiFspScPolicyInitLib.c
index 5695821..cf3eef2 100644
--- a/Platform/BroxtonPlatformPkg/Common/Library/PeiFspPolicyInitLib/PeiFspScPolicyInitLib.c
+++ b/Platform/BroxtonPlatformPkg/Common/Library/PeiFspPolicyInitLib/PeiFspScPolicyInitLib.c
@@ -216,7 +216,7 @@ PeiFspScPolicyInit (
     //
     // Set ACPI and P2SB Base Addresses
     //
-    FspsUpd->FspsConfig.ResetSelect          = SystemConfiguration->ResetSelect;
+    FspsUpd->FspsConfig.ResetSelect          = (UINT8) PcdGet8 (PcdResetType);
     FspsUpd->FspsConfig.CRIDSettings         = SystemConfiguration->CRIDSettings;
 
     //
diff --git a/Platform/BroxtonPlatformPkg/Common/Library/PeiPolicyUpdateLib/PeiPolicyUpdateLib.inf b/Platform/BroxtonPlatformPkg/Common/Library/PeiPolicyUpdateLib/PeiPolicyUpdateLib.inf
index d913506..ea8d7fb 100644
--- a/Platform/BroxtonPlatformPkg/Common/Library/PeiPolicyUpdateLib/PeiPolicyUpdateLib.inf
+++ b/Platform/BroxtonPlatformPkg/Common/Library/PeiPolicyUpdateLib/PeiPolicyUpdateLib.inf
@@ -80,6 +80,7 @@
   gEfiBxtTokenSpaceGuid.PcdScAcpiIoPortBaseAddress
   gEfiBxtTokenSpaceGuid.PcdP2SBBaseAddress
   gEfiBxtTokenSpaceGuid.PcdPmcGcrBaseAddress
+  gPlatformModuleTokenSpaceGuid.PcdResetType
 
 [FixedPcd]
   gPlatformModuleTokenSpaceGuid.PcdFlashAreaSize
diff --git a/Platform/BroxtonPlatformPkg/Common/Library/PeiPolicyUpdateLib/PeiScPolicyUpdate.c b/Platform/BroxtonPlatformPkg/Common/Library/PeiPolicyUpdateLib/PeiScPolicyUpdate.c
index c98a8df..9d2c028 100644
--- a/Platform/BroxtonPlatformPkg/Common/Library/PeiPolicyUpdateLib/PeiScPolicyUpdate.c
+++ b/Platform/BroxtonPlatformPkg/Common/Library/PeiPolicyUpdateLib/PeiScPolicyUpdate.c
@@ -381,8 +381,7 @@ UpdatePeiScPolicy (
   GeneralConfig->AcpiBase      = (UINT16) PcdGet16 (PcdScAcpiIoPortBaseAddress);
   GeneralConfig->P2sbBase      = (UINT32) PcdGet32 (PcdP2SBBaseAddress);
   GeneralConfig->Crid          = SystemConfiguration.CRIDSettings;
-  GeneralConfig->ResetSelect   = SystemConfiguration.ResetSelect;
-
+  GeneralConfig->ResetSelect   = (UINT8) PcdGet8 (PcdResetType);
   HpetConfig->Enable           = SystemConfiguration.Hpet;
   HpetConfig->Base             = HPET_BASE_ADDRESS;
   HpetConfig->BdfValid         = 0x01;
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SystemComponent.vfi b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SystemComponent.vfi
index 16822f6..9bd93d3 100644
--- a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SystemComponent.vfi
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SystemComponent.vfi
@@ -45,12 +45,14 @@ form formid = SYSTEM_COMPONENT_FORM_ID,
     option text = STRING_TOKEN(STR_PNP_POWER_PERFORMANCE_STRING), value = 3, flags = MANUFACTURING | DEFAULT | RESET_REQUIRED;
   endoneof;
 
+suppressif TRUE;
   oneof varid   = Setup.ResetSelect,
     prompt      = STRING_TOKEN(STR_RESET_SELECT),
     help        = STRING_TOKEN(STR_RESET_SELECT_HELP),
     option text = STRING_TOKEN(STR_WARM_RESET), value = 0x6, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
     option text = STRING_TOKEN(STR_COLD_RESET), value = 0xE, flags = RESET_REQUIRED;
   endoneof;
+endif;
 
   // Embedded Power Instrumentation
   oneof varid   = Setup.EPIEnable,
diff --git a/Platform/BroxtonPlatformPkg/PlatformPkg.dec b/Platform/BroxtonPlatformPkg/PlatformPkg.dec
index b318b58..208f2a5 100644
--- a/Platform/BroxtonPlatformPkg/PlatformPkg.dec
+++ b/Platform/BroxtonPlatformPkg/PlatformPkg.dec
@@ -178,6 +178,7 @@
   gPlatformModuleTokenSpaceGuid.PcdUpdateFspmUpdFunc|0|UINT64|0x80000010
   gPlatformModuleTokenSpaceGuid.PcdDramCreatePolicyDefaultsFunc|0|UINT64|0x80000011
   gPlatformModuleTokenSpaceGuid.PcdGetBoardNameFunc|0|UINT64|0x80000012
+  gPlatformModuleTokenSpaceGuid.PcdResetType|0x0E|UINT8|0x80000013
   
   ## MemoryCheck value for checking memory before boot OS.
   ## To save the boot performance, the default MemoryCheck is set to 0.
diff --git a/Silicon/BroxtonSoC/BroxtonSiPkg/SouthCluster/Reset/RuntimeDxe/ScReset.c b/Silicon/BroxtonSoC/BroxtonSiPkg/SouthCluster/Reset/RuntimeDxe/ScReset.c
index 2bac0a5..96dd4f7 100644
--- a/Silicon/BroxtonSoC/BroxtonSiPkg/SouthCluster/Reset/RuntimeDxe/ScReset.c
+++ b/Silicon/BroxtonSoC/BroxtonSiPkg/SouthCluster/Reset/RuntimeDxe/ScReset.c
@@ -1,7 +1,7 @@
 /** @file
   Reset Architectural Protocol implementation.
 
-  Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2011 - 2017, Intel Corporation. All rights reserved.<BR>
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD License
@@ -289,14 +289,14 @@ IntelScResetSystem (
   switch (ResetType) {
     case EfiResetWarm:
       InitialData = V_RST_CNT_HARDSTARTSTATE;
-      OutputData  = mResetInstance->ResetSelect;
+      OutputData  = V_RST_CNT_HARDRESET;
       if (mResetInstance->ResetSelect == V_RST_CNT_FULLRESET) {
       }
       break;
 
     case EfiResetCold:
       InitialData = V_RST_CNT_HARDSTARTSTATE;
-      OutputData  = V_RST_CNT_HARDRESET;
+      OutputData = mResetInstance->ResetSelect;
       break;
 
     case EfiResetShutdown:
-- 
2.7.0.windows.1


_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel