aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/lenovo
diff options
context:
space:
mode:
authorIru Cai <mytbk920423@gmail.com>2020-09-24 21:18:40 +0800
committerPatrick Georgi <pgeorgi@google.com>2020-09-30 10:13:48 +0000
commit871f62c376bb4b6095d16277384e267bca02b4f4 (patch)
tree16f17481146c6f0c9ce2b689b3407013604822a0 /src/mainboard/lenovo
parentfbdab90b57160b85e6b9b860235bcebc28c13eb6 (diff)
lenovo/t440p: Add HDA verbs from the OEM firmware
To get the HDA verbs from the OEM firmware, open the firmware with UEFITool, search for the existing HDA verbs, extract the UEFI module and look for the verbs. Copy the consecutive 4 dword sets that look like HDA verbs. It is tested to make audio output from both the speaker and headphone work. Change-Id: Ie359fdf6785b1c0be8dc201cd76176c0a7fe7942 Signed-off-by: Iru Cai <mytbk920423@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/45693 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Diffstat (limited to 'src/mainboard/lenovo')
-rw-r--r--src/mainboard/lenovo/t440p/hda_verb.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/mainboard/lenovo/t440p/hda_verb.c b/src/mainboard/lenovo/t440p/hda_verb.c
index e0c19dc316..fac8400223 100644
--- a/src/mainboard/lenovo/t440p/hda_verb.c
+++ b/src/mainboard/lenovo/t440p/hda_verb.c
@@ -5,8 +5,9 @@
const u32 cim_verb_data[] = {
0x10ec0292, /* Codec Vendor / Device ID: Realtek */
0x17aa220e, /* Subsystem ID */
- 12, /* Number of 4 dword sets */
+ 32, /* Number of 4 dword sets */
AZALIA_SUBVENDOR(0, 0x17aa220e),
+ AZALIA_RESET(1),
AZALIA_PIN_CFG(0, 0x12, 0x90a60130),
AZALIA_PIN_CFG(0, 0x13, 0x40000000),
AZALIA_PIN_CFG(0, 0x14, 0x90170110),
@@ -18,6 +19,26 @@ const u32 cim_verb_data[] = {
AZALIA_PIN_CFG(0, 0x1b, 0x411111f0),
AZALIA_PIN_CFG(0, 0x1d, 0x40738105),
AZALIA_PIN_CFG(0, 0x1e, 0x411111f0),
+
+ 0x05350000, 0x0534601a, 0x05450000, 0x05442000,
+ 0x05350003, 0x05341ef8, 0x05450003, 0x05441ef8,
+ 0x05350016, 0x05341ee1, 0x05450016, 0x05441ee1,
+ 0x05350023, 0x05341f7b, 0x05450023, 0x05441f7b,
+ 0x05350030, 0x05341fbd, 0x05450030, 0x05441fbd,
+ 0x05350000, 0x0534e01a, 0x05450030, 0x05441fbd,
+ 0x02050020, 0x02048014, 0x02050020, 0x02040014,
+ 0x05350000, 0x0534e01a, 0x05450000, 0x0544e01a,
+ 0x0205001c, 0x02046800, 0x0205006d, 0x0204aa10,
+ 0x02050076, 0x02040009, 0x0205006b, 0x02045029,
+ 0x0205006c, 0x0204a400, 0x02050018, 0x02047208,
+ 0x0205001a, 0x02049ad2, 0x02050014, 0x02040710,
+ 0x02050079, 0x02040b40, 0x02050070, 0x02048800,
+ 0x00b3f410, 0x00c3f11f, 0x00c3f001, 0x015707c0,
+ 0x0153b080, 0x01470740, 0x0143b000, 0x02050004,
+ 0x02040080, 0x01470c02, 0x000f0000, 0x000f0000,
+ 0x02050029, 0x02040050, 0x02050025, 0x0204ebc2,
+ 0x02050026, 0x02044028, 0x02050029, 0x02040250,
+ 0x000f0000, 0x000f0000, 0x02050005, 0x0204ff1f,
};
const u32 pc_beep_verbs[0] = {};