ec/google/wilco: Add S0ix support handlers

1) In the EC _REG method set the flag indicating S0ix support in the OS.

2) Add a function that can be called by the LPI _DSM method to indicate
to the EC that the OS is entering or exiting S0ix.

BUG=b:73137291

Change-Id: Iddc33a08542a6657694c47a9fda1b02dd39d89f7
Signed-off-by: Duncan Laurie <dlaurie@google.com>
Reviewed-on: https://review.coreboot.org/c/31094
Reviewed-by: Lijian Zhao <lijian.zhao@intel.com>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Shaunak Saha <shaunak.saha@intel.corp-partner.google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/ec/google/wilco/acpi/ec.asl b/src/ec/google/wilco/acpi/ec.asl
index f9b16b5..be80b2d 100644
--- a/src/ec/google/wilco/acpi/ec.asl
+++ b/src/ec/google/wilco/acpi/ec.asl
@@ -47,6 +47,9 @@
 		/* Indicate to EC that OS is ready for queries */
 		W (ERDY, Arg1)
 
+		/* Indicate that the OS supports S0ix */
+		W (CSOS, One)
+
 		/* Tell EC to stop emulating PS/2 mouse */
 		W (PS2M, Zero)
 
@@ -140,6 +143,20 @@
 		Return (ECRW (Arg0, Arg1))
 	}
 
+	/*
+	 * Tell EC that the OS is entering or exiting S0ix
+	 */
+	Method (S0IX, 1, Serialized)
+	{
+		If (Arg0) {
+			Printf ("EC Enter S0ix")
+			W (CSEX, One)
+		} Else {
+			Printf ("EC Exit S0ix")
+			W (CSEX, Zero)
+		}
+	}
+
 	#include "ec_dev.asl"
 	#include "ec_ram.asl"
 	#include "ac.asl"
diff --git a/src/ec/google/wilco/acpi/ec_ram.asl b/src/ec/google/wilco/acpi/ec_ram.asl
index 1563a3c..1e5d7cb 100644
--- a/src/ec/google/wilco/acpi/ec_ram.asl
+++ b/src/ec/google/wilco/acpi/ec_ram.asl
@@ -142,3 +142,5 @@
 Name (DWTH, Package () { 0x36, 0xff, WR })	/* DPTF: Write Trip High */
 Name (DWHY, Package () { 0x37, 0xff, WR })	/* DPTF: Write Hysteresis */
 Name (DWTQ, Package () { 0x38, 0xff, WR })	/* DPTF: Write Trip Query */
+Name (CSOS, Package () { 0xb8, 0xff, WR })	/* OS support for S0ix */
+Name (CSEX, Package () { 0xb9, 0xff, WR })	/* OS enter(1)/exit(0) S0ix */