Patrick Georgi submitted this change.

View Change

Approvals: build bot (Jenkins): Verified Angel Pons: Looks good to me, approved
mb/lenovo/t420: Copy HDA verbs from vendor firmware

Background story (I think that's what great in opensource -
ppl leave there part of their lives): ;-)
While trying to fix audio jack not working with coreboot and
Windows 10 with some help from hell__ and nico_h on IRC nico_h
discovered that t420 and t430 hda_verb.c are the same:
<nico_h> oddly, in coreboot source T420 and T430 have the same
numbers for very different codecs... I suspect copy-pasta
Difference between /sys/class/sound/cardX/hwCXDY/init_pin_config
in vendor BIOS helped with the updated config. Connecting audio
jack now works flawless both in Linux and Windows.

Audio-related keyboard buttons: volup, voldown, mute works fine
both in Linux (Debian-based) and Windows 10. mutemic button works
(tested ie. with xev) but both in Linux and Windows 10 wont light
up or makes any effect.

+-----------------------------------+
| init_pin_config dump from: |
+----= VENDOR =---+---= coreboot =--+
| 0x19 0x04211040 | 0x19 0x04211040 |
| 0x1a 0x61a19050 | 0x1a 0x61a19050 |
| 0x1b 0x04a11060 | 0x1b 0x04a11060 |
| 0x1c 0x6121401f | 0x1c 0x6121401f |
| 0x1d 0x40f001f0 | 0x1d 0x40f001f0 |
| 0x1e 0x40f001f0 | 0x1e 0x40f001f0 |
| 0x1f 0x90170110 | 0x1f 0x90170110 |
| 0x20 0x40f001f0 | 0x20 0x40f001f0 |
| 0x22 0x40f001f0 | 0x22 0x40f001f0 |
| 0x23 0x90a60170 | 0x23 0x90a60170 |
+-----------------+-----------------+

Tested-by: Piotr Szymaniak

Signed-off-by: Piotr Szymaniak <szarpaj@grubelek.pl>
Change-Id: Ie5eba84e5ea590b7db00e189cd68e714bee7e410
Reviewed-on: https://review.coreboot.org/c/coreboot/+/51612
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
---
M src/mainboard/lenovo/t420/hda_verb.c
1 file changed, 20 insertions(+), 11 deletions(-)

diff --git a/src/mainboard/lenovo/t420/hda_verb.c b/src/mainboard/lenovo/t420/hda_verb.c
index 6f27490..3d5deef 100644
--- a/src/mainboard/lenovo/t420/hda_verb.c
+++ b/src/mainboard/lenovo/t420/hda_verb.c
@@ -11,17 +11,17 @@
0x14f1506e, /* Codec VID / DID: Conexant CX20590 - schematic shows CX20672 */
0x17aa21ce, /* Subsystem ID */
13, /* Number of 4 dword sets */
- AZALIA_SUBVENDOR(0, 0x17aa21d2),
- AZALIA_PIN_CFG(0, 0x12, 0x90a60140),
- AZALIA_PIN_CFG(0, 0x14, 0x90170110),
- AZALIA_PIN_CFG(0, 0x15, 0x03211020),
- AZALIA_PIN_CFG(0, 0x17, 0x411111f0),
- AZALIA_PIN_CFG(0, 0x18, 0x03a11830),
- AZALIA_PIN_CFG(0, 0x19, 0x411111f0),
- AZALIA_PIN_CFG(0, 0x1a, 0x411111f0),
- AZALIA_PIN_CFG(0, 0x1b, 0x411111f0),
- AZALIA_PIN_CFG(0, 0x1d, 0x40138205),
- AZALIA_PIN_CFG(0, 0x1e, 0x411111f0),
+ AZALIA_SUBVENDOR(0, 0x17aa21ce),
+ AZALIA_PIN_CFG(0, 0x19, 0x04211040),
+ AZALIA_PIN_CFG(0, 0x1a, 0x61a19050),
+ AZALIA_PIN_CFG(0, 0x1b, 0x04a11060),
+ AZALIA_PIN_CFG(0, 0x1c, 0x6121401f),
+ AZALIA_PIN_CFG(0, 0x1d, 0x40f001f0),
+ AZALIA_PIN_CFG(0, 0x1e, 0x40f001f0),
+ AZALIA_PIN_CFG(0, 0x1f, 0x90170110),
+ AZALIA_PIN_CFG(0, 0x20, 0x40f001f0),
+ AZALIA_PIN_CFG(0, 0x22, 0x40f001f0),
+ AZALIA_PIN_CFG(0, 0x23, 0x90a60170),

/* Misc entries */
0x00b707C0, /* Enable PortB as Output with HP amp */
@@ -35,6 +35,15 @@
0x00170500, /* Set power state to D0 */
0x00170500, /* Padding */
0x00170500, /* Padding */
+
+ /* --- Codec #3 --- */
+ 0x80862805, /* Codec Vendor / Device ID: Intel PantherPoint HDMI */
+ 0x80860101, /* Subsystem ID */
+ 4, /* Number of 4 dword sets */
+ AZALIA_SUBVENDOR(3, 0x80860101),
+ AZALIA_PIN_CFG(3, 0x05, 0x18560010),
+ AZALIA_PIN_CFG(3, 0x06, 0x18560020),
+ AZALIA_PIN_CFG(3, 0x07, 0x18560030),
};

const u32 pc_beep_verbs[] = {

To view, visit change 51612. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ie5eba84e5ea590b7db00e189cd68e714bee7e410
Gerrit-Change-Number: 51612
Gerrit-PatchSet: 7
Gerrit-Owner: szarpaj@grubelek.pl
Gerrit-Reviewer: Alexander Couzens <lynxis@fe80.eu>
Gerrit-Reviewer: Angel Pons <th3fanbus@gmail.com>
Gerrit-Reviewer: Nico Huber <nico.h@gmx.de>
Gerrit-Reviewer: Patrick Georgi <pgeorgi@google.com>
Gerrit-Reviewer: Patrick Rudolph <siro@das-labor.org>
Gerrit-Reviewer: Peter Lemenkov <lemenkov@gmail.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>
Gerrit-CC: Paul Menzel <paulepanter@users.sourceforge.net>
Gerrit-MessageType: merged