From 29f2b258c855ab13452eb7ebd519140860fbe76a Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Fri, 19 Oct 2018 17:01:31 -0700 Subject: 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 Reviewed-on: https://review.coreboot.org/29203 Reviewed-by: Aaron Durbin Tested-by: build bot (Jenkins) --- src/ec/google/wilco/chip.c | 3 +++ src/ec/google/wilco/commands.h | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/src/ec/google/wilco/chip.c b/src/ec/google/wilco/chip.c index 929d1cc312..0cd0048f67 100644 --- a/src/ec/google/wilco/chip.c +++ b/src/ec/google/wilco/chip.c @@ -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, diff --git a/src/ec/google/wilco/commands.h b/src/ec/google/wilco/commands.h index 7a9bc05a07..4a19030216 100644 --- a/src/ec/google/wilco/commands.h +++ b/src/ec/google/wilco/commands.h @@ -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 */ -- cgit v1.2.3