[edk2] [Patch][edk2-platforms/devel-MinnowBoard3-UDK2017] Blue tooth device

lushifex posted 1 patch 6 years, 6 months ago
Failed in applying to current master (apply log)
.../Board/MinnowBoard3/BoardInitPostMem/BoardInit.c                | 7 +++++++
.../Board/MinnowBoard3/BoardInitPostMem/BoardInitMiscs.h           | 7 +++++++
.../Board/MinnowBoard3/BoardInitPostMem/BoardInitPostMem.inf       | 3 ++-
.../BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatform.c  | 2 +-
.../Common/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf                | 1 +
.../Acpi/AcpiTablesPCAT/PlatformSsdt/Bluetooth/LBEE5KL1DX.asl      | 5 ++++-
.../PlatformSettings/PlatformSetupDxe/SouthClusterConfig.vfi       | 2 ++
Platform/BroxtonPlatformPkg/PlatformPkg.dec                        | 4 +++-
8 files changed, 27 insertions(+), 4 deletions(-)
[edk2] [Patch][edk2-platforms/devel-MinnowBoard3-UDK2017] Blue tooth device
Posted by lushifex 6 years, 6 months ago
Use Pcd to select blue tooth device.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: lushifex <shifeix.a.lu@intel.com>
---
 .../Board/MinnowBoard3/BoardInitPostMem/BoardInit.c                | 7 +++++++
 .../Board/MinnowBoard3/BoardInitPostMem/BoardInitMiscs.h           | 7 +++++++
 .../Board/MinnowBoard3/BoardInitPostMem/BoardInitPostMem.inf       | 3 ++-
 .../BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatform.c  | 2 +-
 .../Common/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf                | 1 +
 .../Acpi/AcpiTablesPCAT/PlatformSsdt/Bluetooth/LBEE5KL1DX.asl      | 5 ++++-
 .../PlatformSettings/PlatformSetupDxe/SouthClusterConfig.vfi       | 2 ++
 Platform/BroxtonPlatformPkg/PlatformPkg.dec                        | 4 +++-
 8 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInit.c b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInit.c
index 69b7df9..f329b5f 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 1392cdd..665a557 100644
--- a/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInitPostMem.inf
+++ b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInitPostMem.inf
@@ -60,7 +60,8 @@
   gPlatformModuleTokenSpaceGuid.PcdResetType
   gPlatformModuleTokenSpaceGuid.PcdBoardVbtFileGuid
   gPlatformModuleTokenSpaceGuid.PcdSueCreek
-  gPlatformModuleTokenSpaceGuid.PcdLogoDisplay
+  gPlatformModuleTokenSpaceGuid.PcdLogoDisplay
+  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/Acpi/AcpiTablesPCAT/PlatformSsdt/Bluetooth/LBEE5KL1DX.asl b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/PlatformSsdt/Bluetooth/LBEE5KL1DX.asl
index 0421cf6..6110c56 100644
--- a/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/PlatformSsdt/Bluetooth/LBEE5KL1DX.asl
+++ b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/PlatformSsdt/Bluetooth/LBEE5KL1DX.asl
@@ -32,7 +32,10 @@ Scope(\_SB.PCI0.URT1)
     }
 
     Method (_STA, 0x0, NotSerialized) {
-      Return (0xF)
+      If (LEqual (SBTD, 1)) {
+        Return (0xF)
+      }
+      Return (0)
     }
 
     Name (_S0W, 2)                            // required to put the device to D2 during S0 idle
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 5d372b0..8bf6dc2 100644
--- a/Platform/BroxtonPlatformPkg/PlatformPkg.dec
+++ b/Platform/BroxtonPlatformPkg/PlatformPkg.dec
@@ -185,7 +185,9 @@
   ## This PCD used to enable or disable SueCreek
   gPlatformModuleTokenSpaceGuid.PcdSueCreek|FALSE|BOOLEAN|0x80000015
   ## This PCD used for QR code display under EFI Shell
-  gPlatformModuleTokenSpaceGuid.PcdLogoDisplay|FALSE|BOOLEAN|0x80000016
+  gPlatformModuleTokenSpaceGuid.PcdLogoDisplay|FALSE|BOOLEAN|0x80000016
+  ## This PCD used to select bluetooth device
+  gPlatformModuleTokenSpaceGuid.PcdBtDevice|0x00|UINT8|0x80000017
    
   ## 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