ec/google/wilco: Unmute audio on init

The speakers start up muted, and the EC must be told by the BIOS
to unmute it.  This helps prevent popping noises on boot/resume.

Change-Id: I693f1d01e46e19362ef8fd0d5b3f4930967b5a12
Signed-off-by: Duncan Laurie <dlaurie@google.com>
Reviewed-on: https://review.coreboot.org/29203
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/ec/google/wilco/chip.c b/src/ec/google/wilco/chip.c
index 929d1cc..0cd0048 100644
--- a/src/ec/google/wilco/chip.c
+++ b/src/ec/google/wilco/chip.c
@@ -63,6 +63,9 @@
 
 	/* Direct power button to the host for processing */
 	wilco_ec_send(KB_POWER_BUTTON_TO_HOST, 1);
+
+	/* Unmute speakers */
+	wilco_ec_send(KB_HW_MUTE_CONTROL, AUDIO_UNMUTE_125MS);
 }
 
 static void wilco_ec_resource(struct device *dev, int index,
diff --git a/src/ec/google/wilco/commands.h b/src/ec/google/wilco/commands.h
index 7a9bc05..4a19030 100644
--- a/src/ec/google/wilco/commands.h
+++ b/src/ec/google/wilco/commands.h
@@ -36,6 +36,8 @@
 	KB_ACPI = 0x3a,
 	/* Manage the EC power button passthru to the host */
 	KB_POWER_BUTTON_TO_HOST = 0x3e,
+	/* Manage the EC control of speaker mute */
+	KB_HW_MUTE_CONTROL = 0x60,
 	/* Inform the EC that the host is about to enter S3 */
 	KB_SLP_EN = 0x64,
 	/* Inform the EC about BIOS boot progress */
@@ -54,6 +56,11 @@
 	BIOS_PROGRESS_POST_COMPLETE = 0x04,
 };
 
+enum ec_audio_mute {
+	AUDIO_MUTE = 0,		/* Mute speakers immediately */
+	AUDIO_UNMUTE_125MS,	/* Unmute in 125ms */
+};
+
 /*
  * EC Information
  */