From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.93; helo=mga11.intel.com; envelope-from=shifeix.a.lu@intel.com; receiver=edk2-devel@lists.01.org Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 069A321F38842 for ; Fri, 13 Oct 2017 01:24:17 -0700 (PDT) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Oct 2017 01:27:48 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.43,370,1503385200"; d="scan'208";a="146041342" Received: from shwdeopenpsi011.ccr.corp.intel.com (HELO SHWDEOPENPSI011.local) ([10.239.9.126]) by orsmga002.jf.intel.com with SMTP; 13 Oct 2017 01:27:47 -0700 Date: Fri, 13 Oct 2017 16:27:48 +0800 From: lushifex CC: david.wei@intel.com; Sender: lushifex To: edk2-devel@lists.01.org Message-ID: <2a6199d2-ffe4-4b2e-a01b-0629de0b97b3@SHWDEOPENPSI011.local> X-Mailer: TortoiseGit MIME-Version: 1.0 Subject: [Patch][edk2-platforms/devel-MinnowBoard3-UDK2017] Blue tooth device. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Oct 2017 08:24:18 -0000 Content-Type: text/plain; Use Pcd to select blue tooth device. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: lushifex --- .../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