ec/google/chromeec/acpi: Add support for DPTF oem variable event notify

The agah EC code will monitor adapter current to choose corresponding
DPTF oem variable table. When it changes, this event will send to the
ACPI FW through host event and then pass onto the DPTF kernel driver.
This patch adds support for that feature.

BUG=b:238921409
TEST=add Printf() calls to the ACPI,
     and check these Printf() will show up in the kernel log
     when EC send oem variable table change notify.

Change-Id: I1dbbfd9b3d65b56d77050c9ba9957e54530c3a0e
Signed-off-by: Tony Huang <tony-huang@quanta.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/66574
Reviewed-by: Sumeet R Pawnikar <sumeet.r.pawnikar@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Tony Huang 2022-08-09 11:32:55 +08:00 committed by Tim Wawrzynczak
parent 30d8e724e7
commit a434f6155c
2 changed files with 18 additions and 0 deletions

View File

@ -8,6 +8,9 @@
// DTT Power Participant Device Notification // DTT Power Participant Device Notification
#define POWER_STATE_CHANGE_NOTIFICATION 0x81 #define POWER_STATE_CHANGE_NOTIFICATION 0x81
// DTT OEM variables change notification
#define EC_OEM_VARIABLE_DATA_MASK 0x7
#define INT3400_ODVP_CHANGED 0x88
// Mainboard specific throttle handler // Mainboard specific throttle handler
#ifdef DPTF_ENABLE_CHARGER #ifdef DPTF_ENABLE_CHARGER
@ -20,6 +23,12 @@ External(\_SB.DPTC, MethodObj)
External (\_SB.DPTF.TPWR, DeviceObj) External (\_SB.DPTF.TPWR, DeviceObj)
#ifdef DPTF_ENABLE_OEM_VARIABLES
External (\_SB.DPTF.ODVP, MethodObj)
External (\_SB.DPTF.ODGT, MethodObj)
External (\_SB.DPTF.ODUP, MethodObj)
#endif
Device (EC0) Device (EC0)
{ {
Name (_HID, EISAID ("PNP0C09")) Name (_HID, EISAID ("PNP0C09"))
@ -334,6 +343,14 @@ Device (EC0)
Printf ("EC: THROTTLE START") Printf ("EC: THROTTLE START")
\_TZ.THRT (1) \_TZ.THRT (1)
#endif #endif
#ifdef DPTF_ENABLE_OEM_VARIABLES
Local0 = ToInteger(EOVD) & EC_OEM_VARIABLE_DATA_MASK
\_SB.DPTF.ODUP(0, Local0)
Local0 = \_SB.DPTF.ODGT(0)
\_SB.DPTF.ODVP()
Notify (\_SB.DPTF, INT3400_ODVP_CHANGED)
#endif
} }
// Throttle Stop // Throttle Stop

View File

@ -53,3 +53,4 @@ Offset (0xa6),
GPUD, 8, // GPU Data GPUD, 8, // GPU Data
Offset (0xa7), Offset (0xa7),
PWRT, 8, // Power source and change count PWRT, 8, // Power source and change count
EOVD, 8, // EC OEM Variable Data