summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlushifex <shifeix.a.lu@intel.com>2017-10-14 11:29:37 +0800
committerGuo Mang <mang.guo@intel.com>2017-10-14 12:14:38 +0800
commite4fabbc4321dd119913865879114f33b0101c807 (patch)
treefcbe7aea7cb78346feed2f2ddf4d1e5cf837f418
parent3c55b98e6332700d38702021c24c5b9172f67005 (diff)
downloadedk2-platforms-e4fabbc4321dd119913865879114f33b0101c807.tar.xz
Blue tooth device
Use Pcd to select blue tooth device. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: lushifex <shifeix.a.lu@intel.com>
-rw-r--r--Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInit.c7
-rw-r--r--Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInitMiscs.h7
-rw-r--r--Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInitPostMem.inf3
-rw-r--r--Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatform.c2
-rw-r--r--Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf1
-rw-r--r--Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/PlatformSsdt/Bluetooth/LBEE5KL1DX.asl5
-rw-r--r--Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SouthClusterConfig.vfi2
-rw-r--r--Platform/BroxtonPlatformPkg/PlatformPkg.dec4
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 69b7df977d..f329b5f2b0 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 2c8c7eb807..37faf87493 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 1392cdd153..665a557696 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 f0a77d15bd..d0c668ef58 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 be047c13fc..9d451f5982 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 0421cf61c0..6110c56722 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 1b0e93dd98..448105c920 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 5d372b04b7..8bf6dc2d2f 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.