summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenny TC <jenny.tc@intel.com>2015-07-24 15:04:06 +0530
committerMartin Roth <martinroth@google.com>2016-01-28 20:45:28 +0100
commit01be52eca9c1c207613c8d4070a1982ddac9af2f (patch)
tree2b85fd47349e9c03aa8bd37ab1fc3793dc355d20
parent060bc7941f645c9bba27ec618591bc3f1ce89685 (diff)
soc/braswell/acpi/DPTF: Write TCHG state on AC connect.
DPTF should update the charger cooling device state during boot time and every 3 seconds after boot. But 3 seconds polling doesn't seems to be working with current version of DPTF. This impacts charging since DPTF writes states 4 when charger is not connected at boot time. On connecting the charger, DPTF doesn't write 0 to enable charging. This issue is addressed by calling the PPPC function to read cooling device state and passing the value to SPPC to set cooling device state. This doesn't compromise safety since DPTF can override this value later based on the platform thermal condition. Also this provides additional safety measure in the unlikely event that DPTF crashes and is not re-spawned by OS. With this patch even after DPTF crashes, if the power adapter is plugged it would still allow the system to charge correctly. Original-Reviewed-on: https://chromium-review.googlesource.com/288460 Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org> Original-Tested-by: Jenny Tc <jenny.tc@intel.com> Change-Id: I50c7666b86e45d5ab537a9d4149e6c71eba04e50 Signed-off-by: Hannah Williams <hannah.williams@intel.com> Reviewed-on: https://review.coreboot.org/12729 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth <martinroth@google.com>
-rw-r--r--src/soc/intel/braswell/acpi/dptf/charger.asl2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/soc/intel/braswell/acpi/dptf/charger.asl b/src/soc/intel/braswell/acpi/dptf/charger.asl
index 7c7f62fb57..a808591b2a 100644
--- a/src/soc/intel/braswell/acpi/dptf/charger.asl
+++ b/src/soc/intel/braswell/acpi/dptf/charger.asl
@@ -28,7 +28,7 @@ Device (TCHG)
Decrement (Local0)
/* Check if charging is disabled (AC removed) */
- If (LEqual (\PWRS, Zero)) {
+ If (LEqual (\_SB.PCI0.LPCB.EC0.ACEX, Zero)) {
/* Return last power state */
Return (Local0)
} Else {