Use Pcd to select blue tooth device.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: lushifex <shifeix.a...@intel.com>
---
 .../Board/MinnowBoard3/BoardInitPostMem/BoardInit.c                | 7 +++++++
 .../Board/MinnowBoard3/BoardInitPostMem/BoardInitMiscs.h           | 7 +++++++
 .../Board/MinnowBoard3/BoardInitPostMem/BoardInitPostMem.inf       | 1 +
 .../BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatform.c  | 2 +-
 .../Common/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf                | 1 +
 .../PlatformSettings/PlatformSetupDxe/SouthClusterConfig.vfi       | 2 ++
 Platform/BroxtonPlatformPkg/PlatformPkg.dec                        | 2 ++
 7 files changed, 21 insertions(+), 1 deletion(-)

diff --git 
a/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInit.c 
b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInit.c
index 0aa9246..60a9d5b 100644
--- 
a/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInit.c
+++ 
b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInit.c
@@ -57,6 +57,7 @@ MinnowBoard3PostMemInitCallback (
   UINT8                            BoardId;
   UINT8                            FabId;
   UINT8                            ResetType;
+  UINT8                            BtDevice;
   UINTN                            BufferSize;
 
   Status = PeiServicesLocatePpi (
@@ -92,6 +93,12 @@ MinnowBoard3PostMemInitCallback (
   PcdSet8 (PcdResetType, (UINT8) ResetType);
 
   //
+  // Select bluetooth device.
+  //
+  BtDevice = SELECT_BLUE_TOOTH_BCM2E40;
+  PcdSet8 (PcdBtDevice, (UINT8) BtDevice);
+
+  //
   // Board specific VBT table.
   //
   BufferSize = sizeof (EFI_GUID);
diff --git 
a/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInitMiscs.h
 
b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInitMiscs.h
index 2c8c7eb..37faf87 100644
--- 
a/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInitMiscs.h
+++ 
b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInitMiscs.h
@@ -23,6 +23,13 @@
 //
 #define RES_MEM32_MIN_LEN   0x38000000
 
+//
+// Bluetooth device identifier.
+//
+#define SELECT_BLUE_TOOTH_DISABLE 0x00
+#define SELECT_BLUE_TOOTH_BCM2E40 0x01
+#define SELECT_BLUE_TOOTH_BCM2EA1 0x02
+
 #define RES_IO_BASE   0x0D00
 #define RES_IO_LIMIT  0xFFFF
 
diff --git 
a/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInitPostMem.inf
 
b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInitPostMem.inf
index 8fa5ffa..9b42a9f 100644
--- 
a/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInitPostMem.inf
+++ 
b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInitPostMem.inf
@@ -60,6 +60,7 @@
   gPlatformModuleTokenSpaceGuid.PcdResetType
   gPlatformModuleTokenSpaceGuid.PcdBoardVbtFileGuid
   gPlatformModuleTokenSpaceGuid.PcdSueCreek
+  gPlatformModuleTokenSpaceGuid.PcdBtDevice
 
 [Guids]
   gEfiPlatformInfoGuid
diff --git 
a/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatform.c 
b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatform.c
index f0a77d1..d0c668e 100644
--- a/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatform.c
+++ b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatform.c
@@ -1456,7 +1456,7 @@ AcpiPlatformEntryPoint (
     mGlobalNvsArea.Area->Rtd3Support                  = 
mSystemConfiguration.Rtd3Support;
     mGlobalNvsArea.Area->RTD3Config0                  = 
mSystemConfiguration.RTD3ZPODD;
     mGlobalNvsArea.Area->EnableModernStandby          = 
mSystemConfiguration.ConsolidatedPR;
-    mGlobalNvsArea.Area->SelectBtDevice               = 
mSystemConfiguration.SelectBtDevice;
+    mGlobalNvsArea.Area->SelectBtDevice               = (UINT8) PcdGet8 
(PcdBtDevice);
     mGlobalNvsArea.Area->ScHdAudioIoBufferOwnership   = 
mSystemConfiguration.ScHdAudioIoBufferOwnership;
     mGlobalNvsArea.Area->XdciEnable                   = 
mSystemConfiguration.ScUsbOtg;
     mGlobalNvsArea.Area->PciDelayOptimizationEcr      = 
mSystemConfiguration.PciDelayOptimizationEcr;
diff --git 
a/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf 
b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
index be047c1..9d451f5 100644
--- 
a/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
+++ 
b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
@@ -87,6 +87,7 @@
   gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress
   gPlatformModuleTokenSpaceGuid.PcdResetType
   gPlatformModuleTokenSpaceGuid.PcdSueCreek
+  gPlatformModuleTokenSpaceGuid.PcdBtDevice
 
 [Depex]
   gEfiAcpiSupportProtocolGuid        AND
diff --git 
a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SouthClusterConfig.vfi
 
b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SouthClusterConfig.vfi
index 1b0e93d..448105c 100644
--- 
a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SouthClusterConfig.vfi
+++ 
b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SouthClusterConfig.vfi
@@ -186,6 +186,7 @@ form formid     = MISC_OPTIONS_FORM_ID,
   subtitle text = STRING_TOKEN(STR_NULL_STRING);
   subtitle text = STRING_TOKEN(STR_LPSS_DEVICE_SETTING_SUBTITLE);
 
+suppressif TRUE;
   oneof varid  = SETUP_DATA.SelectBtDevice,
     prompt   = STRING_TOKEN(STR_PCH_SERIAL_IO_BLUETOOTH_DEVICE),
     help     = STRING_TOKEN(STR_PCH_SERIAL_IO_BLUETOOTH_HELP),
@@ -193,6 +194,7 @@ form formid     = MISC_OPTIONS_FORM_ID,
       option text = STRING_TOKEN(STR_BT_BCM2E40), value = 1, flags = 
RESET_REQUIRED;
 //      option text = STRING_TOKEN(STR_BT_BCM2EA1), value = 2, flags = 
RESET_REQUIRED;
   endoneof;
+endif;
 
   oneof varid   = Setup.I2s343A,
     prompt      = STRING_TOKEN(STR_I2C_DEVICE_CODEC_INT343A_PROMPT),
diff --git a/Platform/BroxtonPlatformPkg/PlatformPkg.dec 
b/Platform/BroxtonPlatformPkg/PlatformPkg.dec
index f37ceaf..3945b66 100644
--- a/Platform/BroxtonPlatformPkg/PlatformPkg.dec
+++ b/Platform/BroxtonPlatformPkg/PlatformPkg.dec
@@ -184,6 +184,8 @@
   gPlatformModuleTokenSpaceGuid.PcdBoardVbtFileGuid|{ 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 
}|VOID*|0x80000014
   ## This PCD used to enable or disable SueCreek
   gPlatformModuleTokenSpaceGuid.PcdSueCreek|FALSE|BOOLEAN|0x80000015
+  ## This PCD used to select bluetooth device
+  gPlatformModuleTokenSpaceGuid.PcdBtDevice|0x00|UINT8|0x80000016
    
   ## MemoryCheck value for checking memory before boot OS.
   ## To save the boot performance, the default MemoryCheck is set to 0.
-- 
2.7.0.windows.1


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

Reply via email to