mb/google/rex: Add audio parts ALC5682I-VS and MAX98357

BUG=b:232573696
TEST=Able to verify audio playback on Google/Rex with this change.

Change-Id: Ia8dfc79e7e4d27828726145156c870733d716899
Signed-off-by: Eran Mitrani <mitrani@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/66919
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Tarun Tuli <taruntuli@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/mainboard/google/rex/Kconfig b/src/mainboard/google/rex/Kconfig
index bda753b..e0e64a2 100644
--- a/src/mainboard/google/rex/Kconfig
+++ b/src/mainboard/google/rex/Kconfig
@@ -3,7 +3,9 @@
 	# FIXME: Rex Proto 0 only has 64MB SPINOR mounted on the board,
 	# and the plan is to use 32MB later with Proto 1 onwards.
 	select BOARD_ROMSIZE_KB_65536
+	select DRIVERS_GENERIC_MAX98357A
 	select DRIVERS_I2C_GENERIC
+	select DRIVERS_SOUNDWIRE_ALC5682
 	select EC_GOOGLE_CHROMEEC
 	select EC_GOOGLE_CHROMEEC_BOARDID
 	select EC_GOOGLE_CHROMEEC_ESPI
diff --git a/src/mainboard/google/rex/variants/rex0/overridetree.cb b/src/mainboard/google/rex/variants/rex0/overridetree.cb
index 1e877d3..936ca79 100644
--- a/src/mainboard/google/rex/variants/rex0/overridetree.cb
+++ b/src/mainboard/google/rex/variants/rex0/overridetree.cb
@@ -198,7 +198,20 @@
 				device generic 0 on end
 			end
 		end
-		device ref i2c0 on end
+		device ref i2c0 on
+			chip drivers/i2c/generic
+				register "hid" = ""RTL5682""
+				register "name" = ""RT58""
+				register "desc" = ""Headset Codec""
+				register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_B06)"
+				# Set the jd_src to RT5668_JD1 for jack detection
+				register "property_count" = "1"
+				register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
+				register "property_list[0].name" = ""realtek,jd-src""
+				register "property_list[0].integer" = "1"
+				device i2c 1a on end
+			end
+		end
 		device ref i2c1 on end
 		device ref i2c2 on end
 		device ref i2c3 on
@@ -260,6 +273,14 @@
 				end
 			end
 		end
-		device ref hda on end
+		device ref hda on
+			chip drivers/generic/max98357a
+				register "hid" = ""MX98357A""
+				register "sdmode_gpio" =
+						"ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D04)"
+				register "sdmode_delay" = "5"
+				device generic 0 on end
+			end
+		end
 	end
 end