public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [Patch][edk2-platforms/devel-MinnowBoard3-UDK2017] Blue tooth device
@ 2017-10-14  3:52 lushifex
  0 siblings, 0 replies; 5+ messages in thread
From: lushifex @ 2017-10-14  3:52 UTC (permalink / raw)
  To: edk2-devel; +Cc: david.wei

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




^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [Patch][edk2-platforms/devel-MinnowBoard3-UDK2017] Blue tooth device
@ 2017-10-14  3:53 lushifex
  0 siblings, 0 replies; 5+ messages in thread
From: lushifex @ 2017-10-14  3:53 UTC (permalink / raw)
  To: edk2-devel; +Cc: david.wei

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




^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [Patch][edk2-platforms/devel-MinnowBoard3-UDK2017] Blue tooth device.
@ 2017-10-13  8:27 lushifex
  0 siblings, 0 replies; 5+ messages in thread
From: lushifex @ 2017-10-13  8:27 UTC (permalink / raw)
  To: edk2-devel; +Cc: david.wei

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       | 1 +
 .../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                        | 2 ++
 8 files changed, 25 insertions(+), 2 deletions(-)

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/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 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




^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [Patch][edk2-platforms/devel-MinnowBoard3-UDK2017] Blue tooth device.
@ 2017-10-13  5:37 lushifex
  2017-10-13  5:39 ` Wei, David
  0 siblings, 1 reply; 5+ messages in thread
From: lushifex @ 2017-10-13  5:37 UTC (permalink / raw)
  To: edk2-devel; +Cc: david.wei

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       | 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




^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-10-14  3:49 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-14  3:52 [Patch][edk2-platforms/devel-MinnowBoard3-UDK2017] Blue tooth device lushifex
  -- strict thread matches above, loose matches on Subject: below --
2017-10-14  3:53 lushifex
2017-10-13  8:27 lushifex
2017-10-13  5:37 lushifex
2017-10-13  5:39 ` Wei, David

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox