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>
This commit is contained in:
Duncan Laurie 2018-10-19 17:01:31 -07:00 committed by Duncan Laurie
parent f5d688a5a2
commit 29f2b258c8
2 changed files with 10 additions and 0 deletions

View file

@ -63,6 +63,9 @@ static void wilco_ec_init(struct device *dev)
/* 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,

View file

@ -36,6 +36,8 @@ enum {
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 @@ enum bios_progress_code {
BIOS_PROGRESS_POST_COMPLETE = 0x04,
};
enum ec_audio_mute {
AUDIO_MUTE = 0, /* Mute speakers immediately */
AUDIO_UNMUTE_125MS, /* Unmute in 125ms */
};
/*
* EC Information
*/