From a0c5669c1b2ec806be84a6c8a72965741530c12c Mon Sep 17 00:00:00 2001 From: Maxim Polyakov Date: Mon, 29 Sep 2025 15:06:19 +0300 Subject: [PATCH] mb/asrock/imb-1222: Use macros for HDA verb table Macros are generated using the hda-decoder utility. TEST: update coreboot in ROM with this patch -> boot Ubuntu 24.04 again -> the hda-decoder output before and after the update are the same and the audio works. Change-Id: I33d693a483c43a31d6dbb75a97b3ca5f5149fd69 Signed-off-by: Maxim Polyakov Reviewed-on: https://review.coreboot.org/c/coreboot/+/89371 Reviewed-by: Angel Pons Tested-by: build bot (Jenkins) Reviewed-by: Matt DeVillier Reviewed-by: Nicholas Sudsgaard --- src/mainboard/asrock/imb-1222/hda_verb.c | 90 +++++++++++++++++++++--- 1 file changed, 81 insertions(+), 9 deletions(-) diff --git a/src/mainboard/asrock/imb-1222/hda_verb.c b/src/mainboard/asrock/imb-1222/hda_verb.c index 1397b87a5a..02db917b73 100644 --- a/src/mainboard/asrock/imb-1222/hda_verb.c +++ b/src/mainboard/asrock/imb-1222/hda_verb.c @@ -7,25 +7,97 @@ static const u32 realtek_alc887_vd_verbs[] = { AZALIA_SUBVENDOR(0, 0x1849588a), AZALIA_PIN_CFG(0, ALC887_SPDIF_OUT2, 0x40000000), AZALIA_PIN_CFG(0, ALC887_DMIC_LR, AZALIA_PIN_CFG_NC(0)), - AZALIA_PIN_CFG(0, ALC887_FRONT, 0x01014020), - AZALIA_PIN_CFG(0, ALC887_SURROUND, 0x90170110), + AZALIA_PIN_CFG(0, ALC887_FRONT, AZALIA_PIN_DESC( + AZALIA_JACK, + AZALIA_EXTERNAL_PRIMARY_CHASSIS | AZALIA_REAR, + AZALIA_LINE_OUT, + AZALIA_STEREO_MONO_1_8, + AZALIA_GREEN, + AZALIA_JACK_PRESENCE_DETECT, + 2, 0 + )), + AZALIA_PIN_CFG(0, ALC887_SURROUND, AZALIA_PIN_DESC( + AZALIA_INTEGRATED, + AZALIA_INTERNAL, + AZALIA_SPEAKER, + AZALIA_OTHER_ANALOG, + AZALIA_COLOR_UNKNOWN, + AZALIA_NO_JACK_PRESENCE_DETECT, + 1, 0 + )), AZALIA_PIN_CFG(0, ALC887_CENTER_LFE, AZALIA_PIN_CFG_NC(0)), AZALIA_PIN_CFG(0, ALC887_SIDE_SURROUND, AZALIA_PIN_CFG_NC(0)), - AZALIA_PIN_CFG(0, ALC887_MIC1, 0x01a19050), - AZALIA_PIN_CFG(0, ALC887_MIC2, 0x02a19060), + AZALIA_PIN_CFG(0, ALC887_MIC1, AZALIA_PIN_DESC( + AZALIA_JACK, + AZALIA_EXTERNAL_PRIMARY_CHASSIS | AZALIA_REAR, + AZALIA_MIC_IN, + AZALIA_STEREO_MONO_1_8, + AZALIA_PINK, + AZALIA_JACK_PRESENCE_DETECT, + 5, 0 + )), + AZALIA_PIN_CFG(0, ALC887_MIC2, AZALIA_PIN_DESC( + AZALIA_JACK, + AZALIA_EXTERNAL_PRIMARY_CHASSIS | AZALIA_FRONT, + AZALIA_MIC_IN, + AZALIA_STEREO_MONO_1_8, + AZALIA_PINK, + AZALIA_JACK_PRESENCE_DETECT, + 6, 0 + )), AZALIA_PIN_CFG(0, ALC887_LINE1, AZALIA_PIN_CFG_NC(0)), - AZALIA_PIN_CFG(0, ALC887_LINE2, 0x02214030), + AZALIA_PIN_CFG(0, ALC887_LINE2, AZALIA_PIN_DESC( + AZALIA_JACK, + AZALIA_EXTERNAL_PRIMARY_CHASSIS | AZALIA_FRONT, + AZALIA_HP_OUT, + AZALIA_STEREO_MONO_1_8, + AZALIA_GREEN, + AZALIA_JACK_PRESENCE_DETECT, + 3, 0 + )), AZALIA_PIN_CFG(0, ALC887_CD, AZALIA_PIN_CFG_NC(0)), AZALIA_PIN_CFG(0, ALC887_PC_BEEP, 0x4024c601), - AZALIA_PIN_CFG(0, ALC887_SPDIF_OUT1, 0x01451140), + AZALIA_PIN_CFG(0, ALC887_SPDIF_OUT1, AZALIA_PIN_DESC( + AZALIA_JACK, + AZALIA_EXTERNAL_PRIMARY_CHASSIS | AZALIA_REAR, + AZALIA_SPDIF_OUT, + AZALIA_OPTICAL, + AZALIA_BLACK, + AZALIA_NO_JACK_PRESENCE_DETECT, + 4, 0 + )), AZALIA_PIN_CFG(0, ALC887_SPDIF_IN, AZALIA_PIN_CFG_NC(0)), }; static const u32 intel_display_audio_verbs[] = { AZALIA_SUBVENDOR(2, 0x80860101), - AZALIA_PIN_CFG(2, 0x05, 0x18560010), - AZALIA_PIN_CFG(2, 0x06, 0x18560020), - AZALIA_PIN_CFG(2, 0x07, 0x18560030), + AZALIA_PIN_CFG(2, 0x05, AZALIA_PIN_DESC( + AZALIA_JACK, + AZALIA_DIGITAL_DISPLAY, + AZALIA_DIGITAL_OTHER_OUT, + AZALIA_OTHER_DIGITAL, + AZALIA_COLOR_UNKNOWN, + AZALIA_JACK_PRESENCE_DETECT, + 1, 0 + )), + AZALIA_PIN_CFG(2, 0x06, AZALIA_PIN_DESC( + AZALIA_JACK, + AZALIA_DIGITAL_DISPLAY, + AZALIA_DIGITAL_OTHER_OUT, + AZALIA_OTHER_DIGITAL, + AZALIA_COLOR_UNKNOWN, + AZALIA_JACK_PRESENCE_DETECT, + 2, 0 + )), + AZALIA_PIN_CFG(2, 0x07, AZALIA_PIN_DESC( + AZALIA_JACK, + AZALIA_DIGITAL_DISPLAY, + AZALIA_DIGITAL_OTHER_OUT, + AZALIA_OTHER_DIGITAL, + AZALIA_COLOR_UNKNOWN, + AZALIA_JACK_PRESENCE_DETECT, + 3, 0 + )), }; const u32 pc_beep_verbs[] = {