diff options
author | lushifex <shifeix.a.lu@intel.com> | 2017-10-14 11:29:37 +0800 |
---|---|---|
committer | Guo Mang <mang.guo@intel.com> | 2017-10-14 12:14:38 +0800 |
commit | e4fabbc4321dd119913865879114f33b0101c807 (patch) | |
tree | fcbe7aea7cb78346feed2f2ddf4d1e5cf837f418 /Platform/BroxtonPlatformPkg | |
parent | 3c55b98e6332700d38702021c24c5b9172f67005 (diff) | |
download | edk2-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>
Diffstat (limited to 'Platform/BroxtonPlatformPkg')
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.
|