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 <tcrawford@system76.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/66918
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jeremy Soller <jeremy@system76.com>
diff --git a/src/mainboard/system76/addw1/variants/addw1/hda_verb.c b/src/mainboard/system76/addw1/variants/addw1/hda_verb.c
index ca440e4..aedd285 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 @@
/* 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 9b1cb63..8175c9b 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 @@
/* 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 00f5fdb..dfe3187 100644
--- a/src/mainboard/system76/bonw14/hda_verb.c
+++ b/src/mainboard/system76/bonw14/hda_verb.c
@@ -6,8 +6,9 @@
/* 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 09d8357..95f9d43 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 @@
/* 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 1b04604..2030d00 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 @@
/* 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 367d647..6bc881b 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 @@
/* 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 1540485..761386a 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 @@
/* 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 28127f3..35c27a1 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 @@
/* 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 4a4fc0e..491e32b 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 @@
/* 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 8e5012b..208107c 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 @@
/* 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 a7c927f..2e43bef 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 @@
/* 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 83cd41d..de588d5 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 @@
/* 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 7bb0736..1b9386d 100644
--- a/src/mainboard/system76/lemp9/hda_verb.c
+++ b/src/mainboard/system76/lemp9/hda_verb.c
@@ -6,8 +6,9 @@
/* 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 2d10725..575c839 100644
--- a/src/mainboard/system76/oryp5/hda_verb.c
+++ b/src/mainboard/system76/oryp5/hda_verb.c
@@ -6,7 +6,7 @@
/* 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 b36ad82..2f30d40 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 @@
/* 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 cc959b8..d251b33 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 @@
/* 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 47d28dd..2a32f01 100644
--- a/src/mainboard/system76/oryp8/hda_verb.c
+++ b/src/mainboard/system76/oryp8/hda_verb.c
@@ -6,8 +6,9 @@
/* 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 dc5f72e..53a47bd 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 @@
/* 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 1f21ff7..c0afb19 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 @@
/* 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 1259ba1..43a0ee5 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 @@
/* 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 c363590..3372f9c 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 @@
/* 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 fe94926..03f2f8c 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 @@
/* 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),