summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorArthur Heymans <arthur@aheymans.xyz>2016-06-03 18:37:38 +0200
committerNico Huber <nico.h@gmx.de>2016-06-08 14:10:32 +0200
commit7d38fafd96b8d7221d294933fb3ef5098f36e29f (patch)
tree2c233af5013e4c0bd617fed3d581aa9b92b93241 /src
parent09b6444b888d34338ce8fb6978a40260597b3161 (diff)
downloadcoreboot-7d38fafd96b8d7221d294933fb3ef5098f36e29f.tar.xz
lenovo/x60: add hda_verb.c
This creates a config for the x60 audio based on values taken from vendor bios. The pin config is stored in (for linux 4.5 at least): /sys/class/sound/card0/hw*/init_pin_configs In the left column there is the pin number. In the right column there is the default configuration of that pin. (This has to be done while running the proprietary bios) More information on the sound card can be found in: /proc/asound/card0/codec#* This also hold the information of /sys/class/sound/ What is improved: - internal microphone is chosen by default - when jack is inserted it is chosen instead of internal speaker Before this had to be done manually in alsa or pulseaudio. TEST= check if internal microphone is used by default in pavucontrol if you are using pulseaudio. Plug in a jack with headphones and check if there is sound output through these and not the build-in speaker. Change-Id: Id3b700fd84905a72cc1f69e7d8bfa6145f231756 Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/15063 Tested-by: build bot (Jenkins) Reviewed-by: Nico Huber <nico.h@gmx.de> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Diffstat (limited to 'src')
-rw-r--r--src/mainboard/lenovo/x60/hda_verb.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/mainboard/lenovo/x60/hda_verb.c b/src/mainboard/lenovo/x60/hda_verb.c
index 072a306131..dee3e8006f 100644
--- a/src/mainboard/lenovo/x60/hda_verb.c
+++ b/src/mainboard/lenovo/x60/hda_verb.c
@@ -1,7 +1,22 @@
#include <device/azalia_device.h>
-const u32 cim_verb_data[0] = {};
+const u32 cim_verb_data[] = {
+ 0x11d41981, /* Codec Vendor / Device ID: Analog Devices AD1981 */
+ 0x17aa2025, /* Subsystem ID */
+ 0x0000000b, /* Number of 4 dword sets */
-const u32 pc_beep_verbs[0] = {};
+ AZALIA_SUBVENDOR(0x0, 0x17aa2025),
+ AZALIA_PIN_CFG(0, 0x05, 0xc3014110),
+ AZALIA_PIN_CFG(0, 0x06, 0x4221401f),
+ AZALIA_PIN_CFG(0, 0x07, 0x591311f0),
+ AZALIA_PIN_CFG(0, 0x08, 0xc3a15020),
+ AZALIA_PIN_CFG(0, 0x09, 0x41813021),
+ AZALIA_PIN_CFG(0, 0x0a, 0x014470f0),
+ AZALIA_PIN_CFG(0, 0x16, 0x59f311f0),
+ AZALIA_PIN_CFG(0, 0x17, 0x59931122),
+ AZALIA_PIN_CFG(0, 0x18, 0x41a19023),
+ AZALIA_PIN_CFG(0, 0x19, 0x9933e12e)
+};
+const u32 pc_beep_verbs[0] = {};
AZALIA_ARRAY_SIZES;