UPSTREAM: google/grunt: Add ALC5682 ACPI I2S machine driver

The is used for AMD Grunt board which uses ALC5682 and MAX98357 codec.
kernel driver will need to retrieve MISC FCH memory resource for CLK
enabling per different CID/HID.

BUG=b:171755306
BRANCH=master
TEST=emerge-grunt coreboot

Signed-off-by: Martin Roth <gaumless@gmail.com>
Original-Commit-Id: d90f8ac741492e436dc1986396b8aabdba642210
Original-Change-Id: I5f29a2d784a9fc749fff61a9c96c0a487b71a2d7
Original-Signed-off-by: Kevin Chiu <Kevin.Chiu@quantatw.com>
Original-Reviewed-on: https://review.coreboot.org/c/coreboot/+/51659
Original-Reviewed-by: Yu-hsuan Hsu <yuhsuan@google.com>
Original-Reviewed-by: Martin Roth <martinroth@google.com>
Original-Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Change-Id: Ia80f9bd523f5f48501ebc71f2cc8d58e076beae1
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/coreboot/+/2801439
Reviewed-by: Martin Roth <martinroth@google.com>
Tested-by: Martin Roth <martinroth@google.com>
Commit-Queue: Martin Roth <martinroth@google.com>
diff --git a/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/acpi/audio.asl b/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/acpi/audio.asl
index 837678a..bb92243 100644
--- a/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/acpi/audio.asl
+++ b/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/acpi/audio.asl
@@ -3,7 +3,7 @@
 #include <amdblocks/acpimmio_map.h>
 
 /* Grunt specific I2S machine driver */
-Device (I2S)
+Device (I2S0)
 {
 	Name (_HID, "AMD7219")
 	Name (_CID, "AMD7219")
@@ -28,3 +28,29 @@
 		Return (RBUF)
 	}
 }
+
+Device (I2S1)
+{
+	Name (_HID, "AMDI5682")
+	Name (_CID, "AMDI5682")
+
+	/* Device-Specific Data */
+	Name (_DSD, Package ()
+	{
+		ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+		Package ()
+		{
+			Package () { "bt-pad-enable", 1 },
+		}
+	})
+
+	Method (_CRS, 0x0, Serialized) {
+		Name (RBUF, ResourceTemplate () {
+			// Memory resource is for MISC FCH register set.
+			// It is needed for enabling the clock.
+			Memory32Fixed(ReadWrite, ACPIMMIO_MISC_BASE, 0x100)
+		})
+
+		Return (RBUF)
+	}
+}