From 705ebbea04778cef3b51bc7a06b216fd73a193d2 Mon Sep 17 00:00:00 2001 From: Tim Crawford Date: Fri, 19 Aug 2022 13:18:24 -0600 Subject: mb/system76: Reset Realtek codec before configuring Perform a codec reset before configuring to avoid potential issues like oryp5 had before 86f410479ca9 ("mb/system76/oryp5: Reset HDA before configuring"). Inspecting proprietary firmware for multiple boards shows that this is always done as well. Change-Id: I64c1fd23f708f77a81fad0bc889f42d4df3f6e61 Signed-off-by: Tim Crawford Reviewed-on: https://review.coreboot.org/c/coreboot/+/66918 Reviewed-by: Paul Menzel Tested-by: build bot (Jenkins) Reviewed-by: Jeremy Soller --- src/mainboard/system76/addw1/variants/addw1/hda_verb.c | 3 ++- src/mainboard/system76/addw1/variants/addw2/hda_verb.c | 3 ++- src/mainboard/system76/bonw14/hda_verb.c | 3 ++- src/mainboard/system76/cml-u/variants/darp6/hda_verb.c | 3 ++- src/mainboard/system76/cml-u/variants/galp4/hda_verb.c | 3 ++- src/mainboard/system76/gaze15/variants/gaze14/hda_verb.c | 3 ++- src/mainboard/system76/gaze15/variants/gaze15/hda_verb.c | 3 ++- src/mainboard/system76/gaze16/variants/gaze16-3050/hda_verb.c | 3 ++- src/mainboard/system76/gaze16/variants/gaze16-3060/hda_verb.c | 3 ++- src/mainboard/system76/kbl-u/variants/galp2/hda_verb.c | 3 ++- src/mainboard/system76/kbl-u/variants/galp3-b/hda_verb.c | 3 ++- src/mainboard/system76/kbl-u/variants/galp3/hda_verb.c | 3 ++- src/mainboard/system76/lemp9/hda_verb.c | 3 ++- src/mainboard/system76/oryp5/hda_verb.c | 2 +- src/mainboard/system76/oryp6/variants/oryp6/hda_verb.c | 3 ++- src/mainboard/system76/oryp6/variants/oryp7/hda_verb.c | 3 ++- src/mainboard/system76/oryp8/hda_verb.c | 3 ++- src/mainboard/system76/tgl-u/variants/darp7/hda_verb.c | 3 ++- src/mainboard/system76/tgl-u/variants/galp5/hda_verb.c | 3 ++- src/mainboard/system76/tgl-u/variants/lemp10/hda_verb.c | 3 ++- src/mainboard/system76/whl-u/variants/darp5/hda_verb.c | 3 ++- src/mainboard/system76/whl-u/variants/galp3-c/hda_verb.c | 3 ++- 22 files changed, 43 insertions(+), 22 deletions(-) (limited to 'src/mainboard') diff --git a/src/mainboard/system76/addw1/variants/addw1/hda_verb.c b/src/mainboard/system76/addw1/variants/addw1/hda_verb.c index ca440e4707..aedd2853fd 100644 --- a/src/mainboard/system76/addw1/variants/addw1/hda_verb.c +++ b/src/mainboard/system76/addw1/variants/addw1/hda_verb.c @@ -6,8 +6,9 @@ const u32 cim_verb_data[] = { /* Realtek, ALC1220 */ 0x10ec1220, /* Vendor ID */ 0x155865d1, /* Subsystem ID */ - 12, /* Number of entries */ + 13, /* Number of entries */ AZALIA_SUBVENDOR(0, 0x155865d1), + AZALIA_RESET(1), AZALIA_PIN_CFG(0, 0x12, 0x90a60130), // DMIC AZALIA_PIN_CFG(0, 0x14, 0x0421101f), // FRONT (Port-D) AZALIA_PIN_CFG(0, 0x15, 0x40000000), // SURR (Port-A) diff --git a/src/mainboard/system76/addw1/variants/addw2/hda_verb.c b/src/mainboard/system76/addw1/variants/addw2/hda_verb.c index 9b1cb636a6..8175c9bb4a 100644 --- a/src/mainboard/system76/addw1/variants/addw2/hda_verb.c +++ b/src/mainboard/system76/addw1/variants/addw2/hda_verb.c @@ -6,8 +6,9 @@ const u32 cim_verb_data[] = { /* Realtek, ALC1220 */ 0x10ec1220, /* Vendor ID */ 0x155865e1, /* Subsystem ID */ - 12, /* Number of entries */ + 13, /* Number of entries */ AZALIA_SUBVENDOR(0, 0x155865e1), + AZALIA_RESET(1), AZALIA_PIN_CFG(0, 0x12, 0x90a60130), // DMIC AZALIA_PIN_CFG(0, 0x14, 0x0421101f), // FRONT (Port-D) AZALIA_PIN_CFG(0, 0x15, 0x40000000), // SURR (Port-A) diff --git a/src/mainboard/system76/bonw14/hda_verb.c b/src/mainboard/system76/bonw14/hda_verb.c index 00f5fdb8d9..dfe3187ce4 100644 --- a/src/mainboard/system76/bonw14/hda_verb.c +++ b/src/mainboard/system76/bonw14/hda_verb.c @@ -6,8 +6,9 @@ const u32 cim_verb_data[] = { /* Realtek, ALC1220 */ 0x10ec1220, /* Vendor ID */ 0x15587714, /* Subsystem ID */ - 12, /* Number of entries */ + 13, /* Number of entries */ AZALIA_SUBVENDOR(0, 0x15587714), + AZALIA_RESET(1), AZALIA_PIN_CFG(0, 0x12, 0x90a60130), AZALIA_PIN_CFG(0, 0x14, 0x40000000), AZALIA_PIN_CFG(0, 0x15, 0x411111f0), diff --git a/src/mainboard/system76/cml-u/variants/darp6/hda_verb.c b/src/mainboard/system76/cml-u/variants/darp6/hda_verb.c index 09d835726e..95f9d43171 100644 --- a/src/mainboard/system76/cml-u/variants/darp6/hda_verb.c +++ b/src/mainboard/system76/cml-u/variants/darp6/hda_verb.c @@ -6,8 +6,9 @@ const u32 cim_verb_data[] = { /* Realtek ALC293 */ 0x10ec0293, /* Vendor ID */ 0x15581404, /* Subsystem ID */ - 12, /* Number of entries */ + 13, /* Number of entries */ AZALIA_SUBVENDOR(0, 0x15581404), + AZALIA_RESET(1), AZALIA_PIN_CFG(0, 0x12, 0x90a60140), AZALIA_PIN_CFG(0, 0x13, 0x40000000), AZALIA_PIN_CFG(0, 0x14, 0x90170110), diff --git a/src/mainboard/system76/cml-u/variants/galp4/hda_verb.c b/src/mainboard/system76/cml-u/variants/galp4/hda_verb.c index 1b04604bb1..2030d0034e 100644 --- a/src/mainboard/system76/cml-u/variants/galp4/hda_verb.c +++ b/src/mainboard/system76/cml-u/variants/galp4/hda_verb.c @@ -6,8 +6,9 @@ const u32 cim_verb_data[] = { /* Realtek ALC293 */ 0x10ec0293, /* Vendor ID */ 0x15581403, /* Subsystem ID */ - 12, /* Number of entries */ + 13, /* Number of entries */ AZALIA_SUBVENDOR(0, 0x15581403), + AZALIA_RESET(1), AZALIA_PIN_CFG(0, 0x12, 0x90a60130), AZALIA_PIN_CFG(0, 0x13, 0x40000000), AZALIA_PIN_CFG(0, 0x14, 0x90170110), diff --git a/src/mainboard/system76/gaze15/variants/gaze14/hda_verb.c b/src/mainboard/system76/gaze15/variants/gaze14/hda_verb.c index 367d647280..6bc881bfcc 100644 --- a/src/mainboard/system76/gaze15/variants/gaze14/hda_verb.c +++ b/src/mainboard/system76/gaze15/variants/gaze14/hda_verb.c @@ -6,8 +6,9 @@ const u32 cim_verb_data[] = { /* Realtek, ALC269VC */ 0x10ec0269, /* Vendor ID */ 0x15588560, /* Subsystem ID */ - 11, /* Number of entries */ + 12, /* Number of entries */ AZALIA_SUBVENDOR(0, 0x15588560), + AZALIA_RESET(1), AZALIA_PIN_CFG(0, 0x12, 0x90a60140), AZALIA_PIN_CFG(0, 0x14, 0x90170110), AZALIA_PIN_CFG(0, 0x15, 0x02211020), diff --git a/src/mainboard/system76/gaze15/variants/gaze15/hda_verb.c b/src/mainboard/system76/gaze15/variants/gaze15/hda_verb.c index 1540485862..761386a064 100644 --- a/src/mainboard/system76/gaze15/variants/gaze15/hda_verb.c +++ b/src/mainboard/system76/gaze15/variants/gaze15/hda_verb.c @@ -6,8 +6,9 @@ const u32 cim_verb_data[] = { /* Realtek, ALC293 */ 0x10ec0293, /* Vendor ID */ 0x15588520, /* Subsystem ID */ - 12, /* Number of entries */ + 13, /* Number of entries */ AZALIA_SUBVENDOR(0, 0x15588520), + AZALIA_RESET(1), AZALIA_PIN_CFG(0, 0x12, 0x90a60130), AZALIA_PIN_CFG(0, 0x13, 0x40000000), AZALIA_PIN_CFG(0, 0x14, 0x90170110), diff --git a/src/mainboard/system76/gaze16/variants/gaze16-3050/hda_verb.c b/src/mainboard/system76/gaze16/variants/gaze16-3050/hda_verb.c index 28127f30bc..35c27a150f 100644 --- a/src/mainboard/system76/gaze16/variants/gaze16-3050/hda_verb.c +++ b/src/mainboard/system76/gaze16/variants/gaze16-3050/hda_verb.c @@ -6,8 +6,9 @@ const u32 cim_verb_data[] = { /* Realtek, ALC256 */ 0x10ec0256, /* Vendor ID */ 0x15585017, /* Subsystem ID */ - 11, /* Number of entries */ + 12, /* Number of entries */ AZALIA_SUBVENDOR(0, 0x15585017), + AZALIA_RESET(1), AZALIA_PIN_CFG(0, 0x12, 0x90a60130), AZALIA_PIN_CFG(0, 0x13, 0x40000000), AZALIA_PIN_CFG(0, 0x14, 0x90170110), diff --git a/src/mainboard/system76/gaze16/variants/gaze16-3060/hda_verb.c b/src/mainboard/system76/gaze16/variants/gaze16-3060/hda_verb.c index 4a4fc0ee4d..491e32b2b1 100644 --- a/src/mainboard/system76/gaze16/variants/gaze16-3060/hda_verb.c +++ b/src/mainboard/system76/gaze16/variants/gaze16-3060/hda_verb.c @@ -6,8 +6,9 @@ const u32 cim_verb_data[] = { /* Realtek, ALC256 */ 0x10ec0256, /* Vendor ID */ 0x155850e2, /* Subsystem ID */ - 11, /* Number of entries */ + 12, /* Number of entries */ AZALIA_SUBVENDOR(0, 0x155850e2), + AZALIA_RESET(1), AZALIA_PIN_CFG(0, 0x12, 0x90a60130), AZALIA_PIN_CFG(0, 0x13, 0x40000000), AZALIA_PIN_CFG(0, 0x14, 0x90170110), diff --git a/src/mainboard/system76/kbl-u/variants/galp2/hda_verb.c b/src/mainboard/system76/kbl-u/variants/galp2/hda_verb.c index 8e5012b473..208107ce36 100644 --- a/src/mainboard/system76/kbl-u/variants/galp2/hda_verb.c +++ b/src/mainboard/system76/kbl-u/variants/galp2/hda_verb.c @@ -6,8 +6,9 @@ const u32 cim_verb_data[] = { /* Realtek, ALC269VC */ 0x10ec0269, /* Vendor ID */ 0x15581303, /* Subsystem ID */ - 11, /* Number of entries */ + 12, /* Number of entries */ AZALIA_SUBVENDOR(0, 0x15581303), + AZALIA_RESET(1), AZALIA_PIN_CFG(0, 0x12, 0x90a60140), AZALIA_PIN_CFG(0, 0x14, 0x90170120), AZALIA_PIN_CFG(0, 0x15, 0x02211010), diff --git a/src/mainboard/system76/kbl-u/variants/galp3-b/hda_verb.c b/src/mainboard/system76/kbl-u/variants/galp3-b/hda_verb.c index a7c927f82a..2e43bef9b7 100644 --- a/src/mainboard/system76/kbl-u/variants/galp3-b/hda_verb.c +++ b/src/mainboard/system76/kbl-u/variants/galp3-b/hda_verb.c @@ -6,8 +6,9 @@ const u32 cim_verb_data[] = { /* Realtek, ALC269VC */ 0x10ec0269, /* Vendor ID */ 0x15581414, /* Subsystem ID */ - 11, /* Number of entries */ + 12, /* Number of entries */ AZALIA_SUBVENDOR(0, 0x15581414), + AZALIA_RESET(1), AZALIA_PIN_CFG(0, 0x12, 0x90a60140), AZALIA_PIN_CFG(0, 0x14, 0x90170120), AZALIA_PIN_CFG(0, 0x15, 0x02211010), diff --git a/src/mainboard/system76/kbl-u/variants/galp3/hda_verb.c b/src/mainboard/system76/kbl-u/variants/galp3/hda_verb.c index 83cd41de02..de588d5d4e 100644 --- a/src/mainboard/system76/kbl-u/variants/galp3/hda_verb.c +++ b/src/mainboard/system76/kbl-u/variants/galp3/hda_verb.c @@ -6,8 +6,9 @@ const u32 cim_verb_data[] = { /* Realtek, ALC269VC */ 0x10ec0269, /* Vendor ID */ 0x15581313, /* Subsystem ID */ - 11, /* Number of entries */ + 12, /* Number of entries */ AZALIA_SUBVENDOR(0, 0x15581313), + AZALIA_RESET(1), AZALIA_PIN_CFG(0, 0x12, 0x90a60140), AZALIA_PIN_CFG(0, 0x14, 0x90170120), AZALIA_PIN_CFG(0, 0x15, 0x02211010), diff --git a/src/mainboard/system76/lemp9/hda_verb.c b/src/mainboard/system76/lemp9/hda_verb.c index 7bb073698d..1b9386d388 100644 --- a/src/mainboard/system76/lemp9/hda_verb.c +++ b/src/mainboard/system76/lemp9/hda_verb.c @@ -6,8 +6,9 @@ const u32 cim_verb_data[] = { /* Realtek ALC293 */ 0x10ec0293, /* Vendor ID */ 0x15581401, /* Subsystem ID */ - 12, /* Number of entries */ + 13, /* Number of entries */ AZALIA_SUBVENDOR(0, 0x15581401), + AZALIA_RESET(1), AZALIA_PIN_CFG(0, 0x12, 0x90a60130), AZALIA_PIN_CFG(0, 0x13, 0x40000000), AZALIA_PIN_CFG(0, 0x14, 0x90170110), diff --git a/src/mainboard/system76/oryp5/hda_verb.c b/src/mainboard/system76/oryp5/hda_verb.c index 2d107252ad..575c839474 100644 --- a/src/mainboard/system76/oryp5/hda_verb.c +++ b/src/mainboard/system76/oryp5/hda_verb.c @@ -6,7 +6,7 @@ const u32 cim_verb_data[] = { /* Realtek, ALC1220 */ 0x10ec1220, /* Vendor ID */ 0x155896e1, /* Subsystem ID */ - 12, /* Number of entries */ + 13, /* Number of entries */ AZALIA_SUBVENDOR(0, 0x155896e1), AZALIA_RESET(1), AZALIA_PIN_CFG(0, 0x12, 0x90a60140), // DMIC diff --git a/src/mainboard/system76/oryp6/variants/oryp6/hda_verb.c b/src/mainboard/system76/oryp6/variants/oryp6/hda_verb.c index b36ad82ed5..2f30d40bbe 100644 --- a/src/mainboard/system76/oryp6/variants/oryp6/hda_verb.c +++ b/src/mainboard/system76/oryp6/variants/oryp6/hda_verb.c @@ -6,8 +6,9 @@ const u32 cim_verb_data[] = { /* Realtek, ALC1220 */ 0x10ec1220, /* Vendor ID */ 0x155850d3, /* Subsystem ID */ - 12, /* Number of entries */ + 13, /* Number of entries */ AZALIA_SUBVENDOR(0, 0x155850d3), + AZALIA_RESET(1), AZALIA_PIN_CFG(0, 0x12, 0x90a60130), AZALIA_PIN_CFG(0, 0x14, 0x0421101f), AZALIA_PIN_CFG(0, 0x15, 0x40000000), diff --git a/src/mainboard/system76/oryp6/variants/oryp7/hda_verb.c b/src/mainboard/system76/oryp6/variants/oryp7/hda_verb.c index cc959b8aaf..d251b33db8 100644 --- a/src/mainboard/system76/oryp6/variants/oryp7/hda_verb.c +++ b/src/mainboard/system76/oryp6/variants/oryp7/hda_verb.c @@ -6,8 +6,9 @@ const u32 cim_verb_data[] = { /* Realtek, ALC1220 */ 0x10ec1220, /* Vendor ID */ 0x155865e5, /* Subsystem ID */ - 12, /* Number of entries */ + 13, /* Number of entries */ AZALIA_SUBVENDOR(0, 0x155865e5), + AZALIA_RESET(1), AZALIA_PIN_CFG(0, 0x12, 0x90a60130), AZALIA_PIN_CFG(0, 0x14, 0x0421101f), AZALIA_PIN_CFG(0, 0x15, 0x40000000), diff --git a/src/mainboard/system76/oryp8/hda_verb.c b/src/mainboard/system76/oryp8/hda_verb.c index 47d28ddd43..2a32f017c3 100644 --- a/src/mainboard/system76/oryp8/hda_verb.c +++ b/src/mainboard/system76/oryp8/hda_verb.c @@ -6,8 +6,9 @@ const u32 cim_verb_data[] = { /* Realtek, ALC1220 */ 0x10ec1220, /* Vendor ID */ 0x155865f1, /* Subsystem ID */ - 12, /* Number of entries */ + 13, /* Number of entries */ AZALIA_SUBVENDOR(0, 0x155865f1), + AZALIA_RESET(1), AZALIA_PIN_CFG(0, 0x12, 0x90a60130), AZALIA_PIN_CFG(0, 0x14, 0x0421101f), AZALIA_PIN_CFG(0, 0x15, 0x40000000), diff --git a/src/mainboard/system76/tgl-u/variants/darp7/hda_verb.c b/src/mainboard/system76/tgl-u/variants/darp7/hda_verb.c index dc5f72e5d8..53a47bdb47 100644 --- a/src/mainboard/system76/tgl-u/variants/darp7/hda_verb.c +++ b/src/mainboard/system76/tgl-u/variants/darp7/hda_verb.c @@ -6,8 +6,9 @@ const u32 cim_verb_data[] = { /* Realtek, ALC293 */ 0x10ec0293, /* Vendor ID */ 0x155851a1, /* Subsystem ID */ - 12, /* Number of entries */ + 13, /* Number of entries */ AZALIA_SUBVENDOR(0, 0x155851a1), + AZALIA_RESET(1), AZALIA_PIN_CFG(0, 0x12, 0x90a60130), AZALIA_PIN_CFG(0, 0x13, 0x40000000), AZALIA_PIN_CFG(0, 0x14, 0x90170110), diff --git a/src/mainboard/system76/tgl-u/variants/galp5/hda_verb.c b/src/mainboard/system76/tgl-u/variants/galp5/hda_verb.c index 1f21ff77e7..c0afb196dc 100644 --- a/src/mainboard/system76/tgl-u/variants/galp5/hda_verb.c +++ b/src/mainboard/system76/tgl-u/variants/galp5/hda_verb.c @@ -6,8 +6,9 @@ const u32 cim_verb_data[] = { /* Realtek, ALC293 */ 0x10ec0293, /* Vendor ID */ 0x15584018, /* Subsystem ID */ - 12, /* Number of entries */ + 13, /* Number of entries */ AZALIA_SUBVENDOR(0, 0x15584018), + AZALIA_RESET(1), AZALIA_PIN_CFG(0, 0x12, 0x90a60130), AZALIA_PIN_CFG(0, 0x13, 0x40000000), AZALIA_PIN_CFG(0, 0x14, 0x90170110), diff --git a/src/mainboard/system76/tgl-u/variants/lemp10/hda_verb.c b/src/mainboard/system76/tgl-u/variants/lemp10/hda_verb.c index 1259ba10ff..43a0ee5aed 100644 --- a/src/mainboard/system76/tgl-u/variants/lemp10/hda_verb.c +++ b/src/mainboard/system76/tgl-u/variants/lemp10/hda_verb.c @@ -6,8 +6,9 @@ const u32 cim_verb_data[] = { /* Realtek, ALC293 */ 0x10ec0293, /* Vendor ID */ 0x155814a1, /* Subsystem ID */ - 12, /* Number of entries */ + 13, /* Number of entries */ AZALIA_SUBVENDOR(0, 0x155814a1), + AZALIA_RESET(1), AZALIA_PIN_CFG(0, 0x12, 0x90a60130), AZALIA_PIN_CFG(0, 0x13, 0x40000000), AZALIA_PIN_CFG(0, 0x14, 0x90170110), diff --git a/src/mainboard/system76/whl-u/variants/darp5/hda_verb.c b/src/mainboard/system76/whl-u/variants/darp5/hda_verb.c index c36359091d..3372f9c490 100644 --- a/src/mainboard/system76/whl-u/variants/darp5/hda_verb.c +++ b/src/mainboard/system76/whl-u/variants/darp5/hda_verb.c @@ -6,8 +6,9 @@ const u32 cim_verb_data[] = { /* Realtek ALC293 */ 0x10ec0293, /* Vendor ID */ 0x15581325, /* Subsystem ID */ - 12, /* Number of entries */ + 13, /* Number of entries */ AZALIA_SUBVENDOR(0, 0x15581325), + AZALIA_RESET(1), AZALIA_PIN_CFG(0, 0x12, 0x90a60140), AZALIA_PIN_CFG(0, 0x13, 0x40000000), AZALIA_PIN_CFG(0, 0x14, 0x90170110), diff --git a/src/mainboard/system76/whl-u/variants/galp3-c/hda_verb.c b/src/mainboard/system76/whl-u/variants/galp3-c/hda_verb.c index fe94926d72..03f2f8c2b3 100644 --- a/src/mainboard/system76/whl-u/variants/galp3-c/hda_verb.c +++ b/src/mainboard/system76/whl-u/variants/galp3-c/hda_verb.c @@ -6,8 +6,9 @@ const u32 cim_verb_data[] = { /* Realtek ALC293 */ 0x10ec0293, /* Vendor ID */ 0x15581323, /* Subsystem ID */ - 12, /* Number of entries */ + 13, /* Number of entries */ AZALIA_SUBVENDOR(0, 0x15581323), + AZALIA_RESET(1), AZALIA_PIN_CFG(0, 0x12, 0x90a60130), AZALIA_PIN_CFG(0, 0x13, 0x40000000), AZALIA_PIN_CFG(0, 0x14, 0x90170110), -- cgit v1.2.3