mb/google/dedede/var/cret: Configure I2C ports and touchpad

1. Support Elan touchpad.
2. Support JYT touchpad.
3. Follow schematic to disable I2C1 and I2C3.

BUG=b:183454249, b:180547781
BRANCH=dedede
TEST=Build the cret board.

Signed-off-by: Dtrain Hsu <dtrain_hsu@compal.corp-partner.google.com>
Change-Id: I8c150c3f65d0e057d5ba1b07ec1c20886f02ef6e
Reviewed-on: https://review.coreboot.org/c/coreboot/+/51726
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/mainboard/google/dedede/variants/cret/overridetree.cb b/src/mainboard/google/dedede/variants/cret/overridetree.cb
index 0521f20..96b8a28 100644
--- a/src/mainboard/google/dedede/variants/cret/overridetree.cb
+++ b/src/mainboard/google/dedede/variants/cret/overridetree.cb
@@ -9,6 +9,15 @@
 	register "usb3_ports[1]" = "USB3_PORT_EMPTY"	    # None
 	register "usb3_ports[3]" = "USB3_PORT_DEFAULT(OC_SKIP)"	# LTE
 
+	register "SerialIoI2cMode" = "{
+		[PchSerialIoIndexI2C0]  = PchSerialIoPci,
+		[PchSerialIoIndexI2C1]  = PchSerialIoDisabled,
+		[PchSerialIoIndexI2C2]  = PchSerialIoPci,
+		[PchSerialIoIndexI2C3]  = PchSerialIoDisabled,
+		[PchSerialIoIndexI2C4]  = PchSerialIoPci,
+		[PchSerialIoIndexI2C5]  = PchSerialIoDisabled,
+	}"
+
 	# Intel Common SoC Config
 	#+-------------------+---------------------------+
 	#| Field             |  Value                    |
@@ -18,9 +27,9 @@
 	#|                   | for TPM communication     |
 	#|                   | before memory is up       |
 	#| I2C0              | Trackpad                  |
-	#| I2C1              | Digitizer                 |
+	#| I2C1              |                           |
 	#| I2C2              | Touchscreen               |
-	#| I2C3              | Camera                    |
+	#| I2C3              |                           |
 	#| I2C4              | Audio                     |
 	#+-------------------+---------------------------+
 	register "common_soc_config" = "{
@@ -31,15 +40,9 @@
 		.i2c[0] = {
 			.speed = I2C_SPEED_FAST,
 		},
-		.i2c[1] = {
-			.speed = I2C_SPEED_FAST,
-		},
 		.i2c[2] = {
 			.speed = I2C_SPEED_FAST,
 		},
-		.i2c[3] = {
-			.speed = I2C_SPEED_FAST,
-		},
 		.i2c[4] = {
 			.speed = I2C_SPEED_FAST,
 		},
@@ -77,8 +80,28 @@
 				end
 			end
 		end # USB xHCI
-		device pci 15.0 on end
-		device pci 15.2 on end
+		device pci 15.0 on
+			chip drivers/i2c/generic
+				register "hid" = ""ELAN0000""
+				register "desc" = ""ELAN Touchpad""
+				register "irq" = "ACPI_IRQ_WAKE_EDGE_LOW(GPP_B3_IRQ)"
+				register "wake" = "GPE0_DW0_03"
+				register "probed" = "1"
+				device i2c 15 on end
+			end
+			chip drivers/i2c/hid
+				register "generic.hid" = ""GXTP7288""
+				register "generic.desc" = ""Goodix Touchpad""
+				register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_B3_IRQ)"
+				register "generic.wake" = "GPE0_DW0_03"
+				register "generic.probed" = "1"
+				register "hid_desc_reg_offset" = "0x20"
+				device i2c 2c on end
+			end
+		end #I2C 0
+		device pci 15.1 off  end # I2C 1
+		device pci 15.2 on   end # I2C 2
+		device pci 15.3 off  end # I2C 3
 		device pci 1c.7 on end
 		device pci 19.0 on end
 		device pci 1f.3 on end