diff options
author | Arthur Heymans <arthur@aheymans.xyz> | 2016-06-03 18:37:38 +0200 |
---|---|---|
committer | Nico Huber <nico.h@gmx.de> | 2016-06-08 14:10:32 +0200 |
commit | 7d38fafd96b8d7221d294933fb3ef5098f36e29f (patch) | |
tree | 2c233af5013e4c0bd617fed3d581aa9b92b93241 /src/mainboard/lenovo/x60 | |
parent | 09b6444b888d34338ce8fb6978a40260597b3161 (diff) | |
download | coreboot-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/mainboard/lenovo/x60')
-rw-r--r-- | src/mainboard/lenovo/x60/hda_verb.c | 19 |
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; |