From fdf82cd7dae4ba768521207acb0d22c0ccb77472 Mon Sep 17 00:00:00 2001 From: Shifei Lu Date: Thu, 21 Jan 2016 07:11:59 +0000 Subject: Vlv2TbltDevicePkg/Vlv2DeviceRefCodePkg: Add setup option to control _STA of LPE Audio. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Shifei Lu Reviewed-by: David Wei git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2014.SP1@19704 6f19259b-4bc3-4df7-8a09-765794883524 --- Vlv2DeviceRefCodePkg/AcpiTablesPCAT/GloblNvs.asl | 3 ++- Vlv2DeviceRefCodePkg/AcpiTablesPCAT/Pch.asl | 12 +++++++++--- Vlv2DeviceRefCodePkg/AcpiTablesPCAT/PchLpss.asl | 7 +++++-- Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c | 3 ++- Vlv2TbltDevicePkg/Include/Guid/SetupVariable.h | 3 ++- Vlv2TbltDevicePkg/Include/Protocol/GlobalNvsArea.h | 3 ++- .../PlatformSetupDxe/SouthClusterConfig.vfi | 11 ++++++++++- Vlv2TbltDevicePkg/PlatformSetupDxe/UqiList.uni | Bin 66540 -> 66864 bytes Vlv2TbltDevicePkg/PlatformSetupDxe/VfrStrings.uni | Bin 215420 -> 216022 bytes Vlv2TbltDevicePkg/Stitch/Gcc/NvStorageVariable.bin | Bin 253952 -> 253952 bytes 10 files changed, 32 insertions(+), 10 deletions(-) diff --git a/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/GloblNvs.asl b/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/GloblNvs.asl index 21e526c..32cfd9d 100644 --- a/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/GloblNvs.asl +++ b/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/GloblNvs.asl @@ -5,7 +5,7 @@ ;* Family of Customer Reference Boards. *; ;* *; ;* *; -;* Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved *; +;* Copyright (c) 1999 - 2016, Intel Corporation. All rights reserved *; ; ; This program and the accompanying materials are licensed and made available under ; the terms and conditions of the BSD License that accompanies this distribution. @@ -349,5 +349,6 @@ Field(GNVS,AnyAcc,Lock,Preserve) DIDX, 32, //(793) Device ID for eDP device IOT, 8, //(794) MinnowBoard Max JP1 is configured for MSFT IOT project. BATT, 8, //(795) The Flag of RTC Battery Prensent. + LPAD, 8, //(796) } diff --git a/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/Pch.asl b/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/Pch.asl index 38dac87..0d12719 100644 --- a/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/Pch.asl +++ b/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/Pch.asl @@ -5,7 +5,7 @@ ;* Family of Customer Reference Boards. *; ;* *; ;* *; -;* Copyright (c) 2012 - 2014, Intel Corporation. All rights reserved *; +;* Copyright (c) 2012 - 2016, Intel Corporation. All rights reserved *; ; ; This program and the accompanying materials are licensed and made available under ; the terms and conditions of the BSD License that accompanies this distribution. @@ -139,7 +139,10 @@ scope (\_SB) { If (LAnd(LAnd(LEqual(LPEE, 2), LEqual(LPED, 0)), LEqual(OSEL, 0))) { - Return (0xF) + If(LEqual(LPAD, 1)) + { + Return (0xF) + } } Return (0x0) } @@ -218,7 +221,10 @@ scope (\_SB) { If (LAnd(LAnd(LEqual(LPEE, 2), LEqual(LPED, 0)), LEqual(OSEL, 1))) { - Return (0xF) + If(LEqual(LPAD, 1)) + { + Return (0xF) + } } Return (0x0) } diff --git a/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/PchLpss.asl b/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/PchLpss.asl index 3e61e79..ecb20c1 100644 --- a/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/PchLpss.asl +++ b/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/PchLpss.asl @@ -5,7 +5,7 @@ ;* Family of Customer Reference Boards. *; ;* *; ;* *; -;* Copyright (c) 2012 - 2014, Intel Corporation. All rights reserved *; +;* Copyright (c) 2012 - 2016, Intel Corporation. All rights reserved *; ; ; This program and the accompanying materials are licensed and made available under ; the terms and conditions of the BSD License that accompanies this distribution. @@ -605,7 +605,10 @@ Device(I2C2) { If (LEqual(LPEE, 2)) { // LPE enable/disable - Return(0xF) + If (LEqual(LPAD, 1)) + { + Return(0xF) + } } Return(0) } diff --git a/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c b/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c index a7e54e3..691a9d1 100644 --- a/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c +++ b/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c @@ -1,6 +1,6 @@ /** @file - Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.
+ Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under @@ -1056,6 +1056,7 @@ AcpiPlatformEntryPoint ( mGlobalNvsArea.Area->BatteryChargingSolution = GLOBAL_NVS_DEVICE_DISABLE; mGlobalNvsArea.Area->ISPDevSel = mSystemConfiguration.ISPDevSel; mGlobalNvsArea.Area->LpeEnable = mSystemConfiguration.Lpe; + mGlobalNvsArea.Area->LpeAudioReportedByDSDT = mSystemConfiguration.LpeAudioReportedByDSDT; if (mSystemConfiguration.ISPEn == 0) { mGlobalNvsArea.Area->ISPDevSel = GLOBAL_NVS_DEVICE_DISABLE; diff --git a/Vlv2TbltDevicePkg/Include/Guid/SetupVariable.h b/Vlv2TbltDevicePkg/Include/Guid/SetupVariable.h index 5168bd5..c7c51d0 100644 --- a/Vlv2TbltDevicePkg/Include/Guid/SetupVariable.h +++ b/Vlv2TbltDevicePkg/Include/Guid/SetupVariable.h @@ -1,6 +1,6 @@ /*++ - Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.
+ Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under @@ -1309,6 +1309,7 @@ typedef struct { UINT8 SdCardRemovable; // ACPI reporting MMC/SD media as: removable/non-removable UINT8 GpioWakeCapability; UINT8 RtcBattery; + UINT8 LpeAudioReportedByDSDT; } SYSTEM_CONFIGURATION; #pragma pack() diff --git a/Vlv2TbltDevicePkg/Include/Protocol/GlobalNvsArea.h b/Vlv2TbltDevicePkg/Include/Protocol/GlobalNvsArea.h index 5e650b6..aa7ec92 100644 --- a/Vlv2TbltDevicePkg/Include/Protocol/GlobalNvsArea.h +++ b/Vlv2TbltDevicePkg/Include/Protocol/GlobalNvsArea.h @@ -1,6 +1,6 @@ /*++ - Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.
+ Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under @@ -472,6 +472,7 @@ typedef struct { UINT32 DIDX; // 793 Device ID for eDP device UINT8 MicrosoftIoT; // (794)JP1 pins are for Microsoft IoT project. UINT8 RtcBattery; // (795) The Flag of RTC Battery Present. + UINT8 LpeAudioReportedByDSDT; // (796) } EFI_GLOBAL_NVS_AREA; #pragma pack () diff --git a/Vlv2TbltDevicePkg/PlatformSetupDxe/SouthClusterConfig.vfi b/Vlv2TbltDevicePkg/PlatformSetupDxe/SouthClusterConfig.vfi index 58e2676..258bd6f 100644 --- a/Vlv2TbltDevicePkg/PlatformSetupDxe/SouthClusterConfig.vfi +++ b/Vlv2TbltDevicePkg/PlatformSetupDxe/SouthClusterConfig.vfi @@ -1,6 +1,6 @@ // // -// Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.
+// Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.
// // This program and the accompanying materials are licensed and made available under // the terms and conditions of the BSD License that accompanies this distribution. @@ -781,6 +781,15 @@ form formid = AZALIA_OPTIONS_FORM_ID, option text = STRING_TOKEN(STR_LPE_ACPI_MODE), value=2, flags=0 | RESET_REQUIRED; endoneof; + grayoutif NOT ideqval Setup.Lpe == 0x2; + oneof varid = Setup.LpeAudioReportedByDSDT, + prompt = STRING_TOKEN(STR_LPE_REPORTED_BY_DSDT_PROMPT), + help = STRING_TOKEN(STR_LPE_REPORTED_BY_DSDT_HELP), + option text = STRING_TOKEN(STR_DISABLE), value=0, flags=DEFAULT | MANUFACTURING | RESET_REQUIRED; + option text = STRING_TOKEN(STR_ENABLE), value=1, flags=RESET_REQUIRED; + endoneof; + endif; + subtitle text = STRING_TOKEN(STR_NULL_STRING); suppressif ideqval Setup.AzaliaDs == 0x1; oneof varid = Setup.PchAzalia, diff --git a/Vlv2TbltDevicePkg/PlatformSetupDxe/UqiList.uni b/Vlv2TbltDevicePkg/PlatformSetupDxe/UqiList.uni index 229b75e..1de4391 100644 Binary files a/Vlv2TbltDevicePkg/PlatformSetupDxe/UqiList.uni and b/Vlv2TbltDevicePkg/PlatformSetupDxe/UqiList.uni differ diff --git a/Vlv2TbltDevicePkg/PlatformSetupDxe/VfrStrings.uni b/Vlv2TbltDevicePkg/PlatformSetupDxe/VfrStrings.uni index d1e1b6d..02d3321 100644 Binary files a/Vlv2TbltDevicePkg/PlatformSetupDxe/VfrStrings.uni and b/Vlv2TbltDevicePkg/PlatformSetupDxe/VfrStrings.uni differ diff --git a/Vlv2TbltDevicePkg/Stitch/Gcc/NvStorageVariable.bin b/Vlv2TbltDevicePkg/Stitch/Gcc/NvStorageVariable.bin index 6aa2bb5..4cacff7 100644 Binary files a/Vlv2TbltDevicePkg/Stitch/Gcc/NvStorageVariable.bin and b/Vlv2TbltDevicePkg/Stitch/Gcc/NvStorageVariable.bin differ -- cgit v1.1