Toggle navigation
:p
atchew
Login
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 XXXXXXX..XXXXXXX 100644 --- a/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInit.c +++ b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInit.c @@ -XXX,XX +XXX,XX @@ MinnowBoard3PostMemInitCallback ( UINT8 BoardId; UINT8 FabId; UINT8 ResetType; + UINT8 BtDevice; UINTN BufferSize; Status = PeiServicesLocatePpi ( @@ -XXX,XX +XXX,XX @@ 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 XXXXXXX..XXXXXXX 100644 --- a/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInitMiscs.h +++ b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInitMiscs.h @@ -XXX,XX +XXX,XX @@ // #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 XXXXXXX..XXXXXXX 100644 --- a/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInitPostMem.inf +++ b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInitPostMem.inf @@ -XXX,XX +XXX,XX @@ 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 XXXXXXX..XXXXXXX 100644 --- a/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatform.c +++ b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatform.c @@ -XXX,XX +XXX,XX @@ 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 XXXXXXX..XXXXXXX 100644 --- a/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf +++ b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf @@ -XXX,XX +XXX,XX @@ 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 XXXXXXX..XXXXXXX 100644 --- a/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/PlatformSsdt/Bluetooth/LBEE5KL1DX.asl +++ b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/PlatformSsdt/Bluetooth/LBEE5KL1DX.asl @@ -XXX,XX +XXX,XX @@ 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 XXXXXXX..XXXXXXX 100644 --- a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SouthClusterConfig.vfi +++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SouthClusterConfig.vfi @@ -XXX,XX +XXX,XX @@ 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), @@ -XXX,XX +XXX,XX @@ 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 XXXXXXX..XXXXXXX 100644 --- a/Platform/BroxtonPlatformPkg/PlatformPkg.dec +++ b/Platform/BroxtonPlatformPkg/PlatformPkg.dec @@ -XXX,XX +XXX,XX @@ ## 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
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 XXXXXXX..XXXXXXX 100644 --- a/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInit.c +++ b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInit.c @@ -XXX,XX +XXX,XX @@ MinnowBoard3PostMemInitCallback ( UINT8 BoardId; UINT8 FabId; UINT8 ResetType; + UINT8 BtDevice; UINTN BufferSize; Status = PeiServicesLocatePpi ( @@ -XXX,XX +XXX,XX @@ 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 XXXXXXX..XXXXXXX 100644 --- a/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInitMiscs.h +++ b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInitMiscs.h @@ -XXX,XX +XXX,XX @@ // #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 XXXXXXX..XXXXXXX 100644 --- a/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInitPostMem.inf +++ b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3/BoardInitPostMem/BoardInitPostMem.inf @@ -XXX,XX +XXX,XX @@ 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 XXXXXXX..XXXXXXX 100644 --- a/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatform.c +++ b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatform.c @@ -XXX,XX +XXX,XX @@ 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 XXXXXXX..XXXXXXX 100644 --- a/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf +++ b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf @@ -XXX,XX +XXX,XX @@ 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 XXXXXXX..XXXXXXX 100644 --- a/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/PlatformSsdt/Bluetooth/LBEE5KL1DX.asl +++ b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/PlatformSsdt/Bluetooth/LBEE5KL1DX.asl @@ -XXX,XX +XXX,XX @@ 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 XXXXXXX..XXXXXXX 100644 --- a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SouthClusterConfig.vfi +++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SouthClusterConfig.vfi @@ -XXX,XX +XXX,XX @@ 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), @@ -XXX,XX +XXX,XX @@ 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 XXXXXXX..XXXXXXX 100644 --- a/Platform/BroxtonPlatformPkg/PlatformPkg.dec +++ b/Platform/BroxtonPlatformPkg/PlatformPkg.dec @@ -XXX,XX +XXX,XX @@ ## 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