summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Chen <yulunchen@google.com>2023-02-17 16:32:55 +0800
committerFelix Held <felix-coreboot@felixheld.de>2023-02-22 14:44:31 +0000
commit19248226f57da01085a75f8b237cf3bf8579595c (patch)
treefb0ad90c431fa13f5dea1d80b24828e8e66820a7
parent68107ddcbc4ac2ba40f84703b662eafbd28e042e (diff)
mb/google/*: Resume from suspend on critical battery
This patch makes EC wake up AP from s3/s0ix for OS shutdown/hibernate when the state of charge drops to low_battery_shutdown_percent. BUG=b:255465618 TEST=emerge-nissa chromeos-bootimage (EC: https://crrev.com/c/4243898) Verify system resumes from s0ix and then enter S5 on nivviks with steps: 1. disconnect AC 2. powerd_dbus_suspend --disable_dark_resume=false 3. fakebatt 5 4. fakebatt 4 Change-Id: I63b5246432687e38ddfc5733ac3a115c3456d7e9 Signed-off-by: Ivan Chen <yulunchen@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/73082 Reviewed-by: Subrata Banik <subratabanik@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Derek Huang <derekhuang@google.com>
-rw-r--r--src/mainboard/google/brya/variants/baseboard/brya/include/baseboard/ec.h11
-rw-r--r--src/mainboard/google/brya/variants/baseboard/nissa/include/baseboard/ec.h11
-rw-r--r--src/mainboard/google/brya/variants/baseboard/skolas/include/baseboard/ec.h11
-rw-r--r--src/mainboard/google/rex/variants/baseboard/rex/include/baseboard/ec.h11
-rw-r--r--src/mainboard/google/skyrim/variants/baseboard/include/baseboard/ec.h4
5 files changed, 31 insertions, 17 deletions
diff --git a/src/mainboard/google/brya/variants/baseboard/brya/include/baseboard/ec.h b/src/mainboard/google/brya/variants/baseboard/brya/include/baseboard/ec.h
index 41091462fd..ef156f135d 100644
--- a/src/mainboard/google/brya/variants/baseboard/brya/include/baseboard/ec.h
+++ b/src/mainboard/google/brya/variants/baseboard/brya/include/baseboard/ec.h
@@ -36,13 +36,16 @@
* 3. Power button
* 4. Key press
* 5. Mode change
+ * 6. Low battery
*/
#define MAINBOARD_EC_S3_WAKE_EVENTS \
(MAINBOARD_EC_S5_WAKE_EVENTS |\
- EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_CONNECTED) |\
- EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_DISCONNECTED) |\
- EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEY_PRESSED) |\
- EC_HOST_EVENT_MASK(EC_HOST_EVENT_MODE_CHANGE))
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_CONNECTED) |\
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_DISCONNECTED) |\
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEY_PRESSED) |\
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_MODE_CHANGE) |\
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_CRITICAL) |\
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_SHUTDOWN))
#define MAINBOARD_EC_S0IX_WAKE_EVENTS \
(MAINBOARD_EC_S3_WAKE_EVENTS |\
EC_HOST_EVENT_MASK(EC_HOST_EVENT_USB_MUX) |\
diff --git a/src/mainboard/google/brya/variants/baseboard/nissa/include/baseboard/ec.h b/src/mainboard/google/brya/variants/baseboard/nissa/include/baseboard/ec.h
index d540bf990d..c5296c8c62 100644
--- a/src/mainboard/google/brya/variants/baseboard/nissa/include/baseboard/ec.h
+++ b/src/mainboard/google/brya/variants/baseboard/nissa/include/baseboard/ec.h
@@ -39,13 +39,16 @@
* 3. AC Connect/Disconnect
* 4. Key press
* 5. Mode change
+ * 6. Low battery
*/
#define MAINBOARD_EC_S3_WAKE_EVENTS \
(MAINBOARD_EC_S5_WAKE_EVENTS |\
- EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_CONNECTED) |\
- EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_DISCONNECTED) |\
- EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEY_PRESSED) |\
- EC_HOST_EVENT_MASK(EC_HOST_EVENT_MODE_CHANGE))
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_CONNECTED) |\
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_DISCONNECTED) |\
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEY_PRESSED) |\
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_MODE_CHANGE) |\
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_CRITICAL) |\
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_SHUTDOWN))
#define MAINBOARD_EC_S0IX_WAKE_EVENTS \
(MAINBOARD_EC_S3_WAKE_EVENTS |\
diff --git a/src/mainboard/google/brya/variants/baseboard/skolas/include/baseboard/ec.h b/src/mainboard/google/brya/variants/baseboard/skolas/include/baseboard/ec.h
index 41091462fd..ef156f135d 100644
--- a/src/mainboard/google/brya/variants/baseboard/skolas/include/baseboard/ec.h
+++ b/src/mainboard/google/brya/variants/baseboard/skolas/include/baseboard/ec.h
@@ -36,13 +36,16 @@
* 3. Power button
* 4. Key press
* 5. Mode change
+ * 6. Low battery
*/
#define MAINBOARD_EC_S3_WAKE_EVENTS \
(MAINBOARD_EC_S5_WAKE_EVENTS |\
- EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_CONNECTED) |\
- EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_DISCONNECTED) |\
- EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEY_PRESSED) |\
- EC_HOST_EVENT_MASK(EC_HOST_EVENT_MODE_CHANGE))
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_CONNECTED) |\
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_DISCONNECTED) |\
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEY_PRESSED) |\
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_MODE_CHANGE) |\
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_CRITICAL) |\
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_SHUTDOWN))
#define MAINBOARD_EC_S0IX_WAKE_EVENTS \
(MAINBOARD_EC_S3_WAKE_EVENTS |\
EC_HOST_EVENT_MASK(EC_HOST_EVENT_USB_MUX) |\
diff --git a/src/mainboard/google/rex/variants/baseboard/rex/include/baseboard/ec.h b/src/mainboard/google/rex/variants/baseboard/rex/include/baseboard/ec.h
index fc6d52cdb6..4dc2bcefa6 100644
--- a/src/mainboard/google/rex/variants/baseboard/rex/include/baseboard/ec.h
+++ b/src/mainboard/google/rex/variants/baseboard/rex/include/baseboard/ec.h
@@ -36,13 +36,16 @@
* 3. Power button
* 4. Key press
* 5. Mode change
+ * 6. Low battery
*/
#define MAINBOARD_EC_S3_WAKE_EVENTS \
(MAINBOARD_EC_S5_WAKE_EVENTS |\
- EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_CONNECTED) |\
- EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_DISCONNECTED) |\
- EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEY_PRESSED) |\
- EC_HOST_EVENT_MASK(EC_HOST_EVENT_MODE_CHANGE))
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_CONNECTED) |\
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_DISCONNECTED) |\
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEY_PRESSED) |\
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_MODE_CHANGE) |\
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_CRITICAL) |\
+ EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_SHUTDOWN))
#define MAINBOARD_EC_S0IX_WAKE_EVENTS \
(MAINBOARD_EC_S3_WAKE_EVENTS |\
EC_HOST_EVENT_MASK(EC_HOST_EVENT_USB_MUX) |\
diff --git a/src/mainboard/google/skyrim/variants/baseboard/include/baseboard/ec.h b/src/mainboard/google/skyrim/variants/baseboard/include/baseboard/ec.h
index 973e613f9e..1f5404609c 100644
--- a/src/mainboard/google/skyrim/variants/baseboard/include/baseboard/ec.h
+++ b/src/mainboard/google/skyrim/variants/baseboard/include/baseboard/ec.h
@@ -38,7 +38,9 @@
| EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_CONNECTED) \
| EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_DISCONNECTED) \
| EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEY_PRESSED) \
- | EC_HOST_EVENT_MASK(EC_HOST_EVENT_MODE_CHANGE))
+ | EC_HOST_EVENT_MASK(EC_HOST_EVENT_MODE_CHANGE) \
+ | EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_CRITICAL) \
+ | EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_SHUTDOWN))
#define MAINBOARD_EC_S0IX_WAKE_EVENTS (MAINBOARD_EC_S3_WAKE_EVENTS)