Skip to content

Commit f9584a1

Browse files
committed
* Adding patch to fix t480s headphone jack.
1 parent 3b656d0 commit f9584a1

1 file changed

Lines changed: 184 additions & 0 deletions

File tree

Lines changed: 184 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,184 @@
1+
From a5d3c4c119ae81030c9904b1e671c75bf8fb9293 Mon Sep 17 00:00:00 2001
2+
From: Johann C. Rode <jcrode@gmx.net>
3+
Date: Thu, 11 Dec 2025 16:59:43 -0800
4+
Subject: [PATCH] mb/lenovo/sklkbl: Fix headphone jack
5+
6+
This proliferates the fixes from commit e5d10e5d23d3, CB:90023 ("mb/
7+
lenovo/t480: Fix headphone jack") to the other SKL/KBL Thinkpad
8+
variants T580, T470s, and T480s. This has been only validated on the
9+
former two machines, but since the hardware changes between the
10+
different models appear to be minimal, it should be safe to deploy
11+
this fix to the T480s variant blindly.
12+
13+
Change-Id: I1edf8dc33231b9d1e1cf2eaf3f4f296736b7be32
14+
Signed-off-by: Johann C. Rode <jcrode@gmx.net>
15+
Reviewed-on: https://review.coreboot.org/c/coreboot/+/90482
16+
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
17+
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
18+
---
19+
20+
diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t470s/hda_verb.c b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t470s/hda_verb.c
21+
index 1901127..952ace7 100644
22+
--- a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t470s/hda_verb.c
23+
+++ b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t470s/hda_verb.c
24+
@@ -5,7 +5,7 @@
25+
const u32 cim_verb_data[] = {
26+
0x10ec0298, // Vendor/Device ID: Realtek ALC298
27+
0x17aa224b, // Subsystem ID
28+
- 12,
29+
+ 19,
30+
AZALIA_SUBVENDOR(0, 0x17aa224b),
31+
32+
AZALIA_PIN_CFG(0, 0x12, AZALIA_PIN_DESC(
33+
@@ -52,6 +52,41 @@
34+
2, 0
35+
)),
36+
37+
+ //==========Widget node 0x20 - 0 :Hidden register SW reset
38+
+ 0x0205001A,
39+
+ 0x0204C003,
40+
+ 0x0205001A,
41+
+ 0x0204C003,
42+
+ 0x05850000,
43+
+ 0x0584F880,
44+
+ 0x05850000,
45+
+ 0x0584F880,
46+
+ //==========Widget node 0x20 - 1 : ClassD 2W
47+
+ 0x02050038,
48+
+ 0x02048981,
49+
+ 0x0205001B,
50+
+ 0x02040A4B,
51+
+ //==========Widget node 0x20 - 2
52+
+ 0x0205003C,
53+
+ 0x02043154,
54+
+ 0x0205003C,
55+
+ 0x02043114,
56+
+ //==========Widget node 0x20 - 3 :
57+
+ 0x02050046,
58+
+ 0x02040004,
59+
+ 0x05750003,
60+
+ 0x057409A3,
61+
+ //==========Widget node 0x20 - 4 :JD1 enable 1JD port for HP JD
62+
+ 0x02050009,
63+
+ 0x02046003,
64+
+ 0x0205000A,
65+
+ 0x02047770,
66+
+ //==========Widget node 0x20 - 5 : Silence data mode Threshold (-84dB)
67+
+ 0x02050037,
68+
+ 0x0204FE15,
69+
+ 0x02050030,
70+
+ 0x02049004,
71+
+
72+
0x80862809, // Vendor/Device ID: Intel Skylake HDMI
73+
0x80860101, // Subsystem ID
74+
4,
75+
diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/hda_verb.c b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/hda_verb.c
76+
index b1d96c5..9eb9287 100644
77+
--- a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/hda_verb.c
78+
+++ b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/hda_verb.c
79+
@@ -5,7 +5,7 @@
80+
const u32 cim_verb_data[] = {
81+
0x10ec0257, // Vendor/Device ID: Realtek ALC257
82+
0x17aa2258, // Subsystem ID
83+
- 11,
84+
+ 18,
85+
AZALIA_SUBVENDOR(0, 0x17aa2258),
86+
87+
AZALIA_PIN_CFG(0, 0x12, AZALIA_PIN_DESC(
88+
@@ -51,6 +51,41 @@
89+
1, 15
90+
)),
91+
92+
+ //==========Widget node 0x20 - 0 :Hidden register SW reset
93+
+ 0x0205001A,
94+
+ 0x0204C003,
95+
+ 0x0205001A,
96+
+ 0x0204C003,
97+
+ 0x05850000,
98+
+ 0x0584F880,
99+
+ 0x05850000,
100+
+ 0x0584F880,
101+
+ //==========Widget node 0x20 - 1 : ClassD 2W
102+
+ 0x02050038,
103+
+ 0x02048981,
104+
+ 0x0205001B,
105+
+ 0x02040A4B,
106+
+ //==========Widget node 0x20 - 2
107+
+ 0x0205003C,
108+
+ 0x02043154,
109+
+ 0x0205003C,
110+
+ 0x02043114,
111+
+ //==========Widget node 0x20 - 3 :
112+
+ 0x02050046,
113+
+ 0x02040004,
114+
+ 0x05750003,
115+
+ 0x057409A3,
116+
+ //==========Widget node 0x20 - 4 :JD1 enable 1JD port for HP JD
117+
+ 0x02050009,
118+
+ 0x02046003,
119+
+ 0x0205000A,
120+
+ 0x02047770,
121+
+ //==========Widget node 0x20 - 5 : Silence data mode Threshold (-84dB)
122+
+ 0x02050037,
123+
+ 0x0204FE15,
124+
+ 0x02050030,
125+
+ 0x02049004,
126+
+
127+
0x8086280b, // Vendor/Device ID: Intel Kabylake HDMI
128+
0x80860101, // Subsystem ID
129+
4,
130+
diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t580/hda_verb.c b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t580/hda_verb.c
131+
index 65245c8..943d1fb 100644
132+
--- a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t580/hda_verb.c
133+
+++ b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t580/hda_verb.c
134+
@@ -5,7 +5,7 @@
135+
const u32 cim_verb_data[] = {
136+
0x10ec0257, // Vendor/Device ID: Realtek ALC257
137+
0x17aa225a, // Subsystem ID
138+
- 11,
139+
+ 18,
140+
AZALIA_SUBVENDOR(0, 0x17aa225a),
141+
142+
AZALIA_PIN_CFG(0, 0x12, AZALIA_PIN_DESC(
143+
@@ -51,6 +51,41 @@
144+
1, 15
145+
)),
146+
147+
+ //==========Widget node 0x20 - 0 :Hidden register SW reset
148+
+ 0x0205001A,
149+
+ 0x0204C003,
150+
+ 0x0205001A,
151+
+ 0x0204C003,
152+
+ 0x05850000,
153+
+ 0x0584F880,
154+
+ 0x05850000,
155+
+ 0x0584F880,
156+
+ //==========Widget node 0x20 - 1 : ClassD 2W
157+
+ 0x02050038,
158+
+ 0x02048981,
159+
+ 0x0205001B,
160+
+ 0x02040A4B,
161+
+ //==========Widget node 0x20 - 2
162+
+ 0x0205003C,
163+
+ 0x02043154,
164+
+ 0x0205003C,
165+
+ 0x02043114,
166+
+ //==========Widget node 0x20 - 3 :
167+
+ 0x02050046,
168+
+ 0x02040004,
169+
+ 0x05750003,
170+
+ 0x057409A3,
171+
+ //==========Widget node 0x20 - 4 :JD1 enable 1JD port for HP JD
172+
+ 0x02050009,
173+
+ 0x02046003,
174+
+ 0x0205000A,
175+
+ 0x02047770,
176+
+ //==========Widget node 0x20 - 5 : Silence data mode Threshold (-84dB)
177+
+ 0x02050037,
178+
+ 0x0204FE15,
179+
+ 0x02050030,
180+
+ 0x02049004,
181+
+
182+
0x8086280b, // Vendor/Device ID: Intel Kabylake HDMI
183+
0x80860101, // Subsystem ID
184+
4,

0 commit comments

Comments
 (0)