Venkata Krishna Nimmagadda has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/40259 )
Change subject: src/soc/intel/tigerlake: Add ACPI LPIT table ......................................................................
src/soc/intel/tigerlake: Add ACPI LPIT table
This patch adds support for Low Power S0 idle Device Specific Method in LPIT table. This provides OSPM with s0ix entry and exit hooks. These LPIT S0ix entry and exit hooks call platform specific methods (MS0X) for s0ix entry and exit, when they exist
BUG=b:148892882 BRANCH=none TEST="BUILD to check if is successful"
Signed-off-by: Venkata Krishna Nimmagadda venkata.krishna.nimmagadda@intel.com Change-Id: Ib58f2e33a33bac9cc5f6aca28e85a8066413a5cf --- A src/soc/intel/tigerlake/acpi/lpit.asl 1 file changed, 73 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/59/40259/1
diff --git a/src/soc/intel/tigerlake/acpi/lpit.asl b/src/soc/intel/tigerlake/acpi/lpit.asl new file mode 100644 index 0000000..78a728c --- /dev/null +++ b/src/soc/intel/tigerlake/acpi/lpit.asl @@ -0,0 +1,73 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* This file is part of the coreboot project. */ + +External(_SB.MS0X, MethodObj) + +scope(_SB) +{ + Device(LPID) { + Name(_ADR, 0x00000000) + Name(_CID, EISAID("PNP0D80")) + Name(UUID, + ToUUID("c4eb40a0-6cd2-11e2-bcfd-0800200c9a66")) + Method(_DSM, 4) { + If(Arg0 == ^UUID) { + /* + * Enum functions + */ + If(Arg2 == Zero) { + Return(Buffer(One) { + 0x60} + ) + } + /* + * Function 1 - Get Device Constraints + */ + If(Arg2 == 1) { + Return(Package(5) { + 0, Ones, Ones, Ones, Ones} + ) + } + /* + * Function 2 - Get Crash Dump Device + */ + If(Arg2 == 2) { + Return(Buffer(One) { + 0x0} + ) + } + /* + * Function 3 - Display Off Notification + */ + If(Arg2 == 3) { + } + /* + * Function 4 - Display On Notification + */ + If(Arg2 == 4) { + } + /* + * Function 5 - Low Power S0 Entry Notification + */ + If(Arg2 == 5) { + + /* provide board level s0ix hook */ + If (CondRefOf (_SB.MS0X)) { + _SB.MS0X(1) + } + } + /* + * Function 6 - Low Power S0 Exit Notification + */ + If(Arg2 == 6) { + + /* provide board level s0ix hook */ + If (CondRefOf (_SB.MS0X)) { + _SB.MS0X(0) + } + } + } + Return(Buffer(One) {0x00}) + } // Method(_DSM) + } // device (LPID) +} // End Scope(_SB)