From 515f566840aeced4b2ff519acfe31f00ea3498c5 Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Thu, 4 Sep 2025 10:58:39 -0500 Subject: [PATCH] mb/starlabs/starbook/adl_n: Use macros for HDA verb table Rework the HDA verb table using macros. Explicitly disable all pin widgets not used. Use consistent formatting and verbiage in comments. Group raw verbs in sets of 4 to make verification of verb count easier. TEST=build/boot Win11, Ubuntu 25.04 on Starbook ADL-N, verify all audio outputs working as expected. Verify verbs loaded via cbmem log. Change-Id: Ie0961a6ebc4aa8df0c2fedeff8fd5bacd16fc01e Signed-off-by: Matt DeVillier Reviewed-on: https://review.coreboot.org/c/coreboot/+/89078 Reviewed-by: Nicholas Sudsgaard Tested-by: build bot (Jenkins) Reviewed-by: Elyes Haouas --- .../starbook/variants/adl_n/hda_verb.c | 114 ++++++++---------- 1 file changed, 50 insertions(+), 64 deletions(-) diff --git a/src/mainboard/starlabs/starbook/variants/adl_n/hda_verb.c b/src/mainboard/starlabs/starbook/variants/adl_n/hda_verb.c index 1d03e21a55..53c7cd8d6b 100644 --- a/src/mainboard/starlabs/starbook/variants/adl_n/hda_verb.c +++ b/src/mainboard/starlabs/starbook/variants/adl_n/hda_verb.c @@ -1,18 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-only */ #include -#include - -#define DMIC 0x12 -#define SPEAKERS 0x14 -#define HEADPHONE 0x15 -#define MONO 0x17 -#define MIC1 0x18 -#define MIC2 0x19 -#define LINE1 0x1a -#define LINE2 0x1b -#define PC_BEEP 0x1d -#define S_PDIF 0x1e +#include const u32 cim_verb_data[] = { /* coreboot specific header */ @@ -26,76 +15,72 @@ const u32 cim_verb_data[] = { /* HDA Codec Subsystem ID */ AZALIA_SUBVENDOR(0, 0x1e507038), - AZALIA_PIN_CFG(0, 0x01, 0x00000000), - AZALIA_PIN_CFG(0, DMIC, AZALIA_PIN_DESC( - AZALIA_INTEGRATED, - AZALIA_MOBILE_LID_INSIDE, - AZALIA_MIC_IN, - AZALIA_OTHER_DIGITAL, - AZALIA_COLOR_UNKNOWN, - AZALIA_NO_JACK_PRESENCE_DETECT, - 3, - 0 - )), - - AZALIA_PIN_CFG(0, SPEAKERS, AZALIA_PIN_DESC( - AZALIA_INTEGRATED, - AZALIA_INTERNAL | AZALIA_FRONT, - AZALIA_SPEAKER, - AZALIA_OTHER_ANALOG, - AZALIA_COLOR_UNKNOWN, - AZALIA_NO_JACK_PRESENCE_DETECT, - 1, - 0 - )), - AZALIA_PIN_CFG(0, HEADPHONE, AZALIA_PIN_DESC( - AZALIA_JACK, - AZALIA_EXTERNAL_PRIMARY_CHASSIS | AZALIA_RIGHT, - AZALIA_HP_OUT, - AZALIA_STEREO_MONO_1_8, - AZALIA_BLACK, - AZALIA_JACK_PRESENCE_DETECT, - 2, - 0 - )), - AZALIA_PIN_CFG(0, MONO, AZALIA_PIN_CFG_NC(0)), - AZALIA_PIN_CFG(0, MIC1, AZALIA_PIN_DESC( - AZALIA_JACK, - AZALIA_EXTERNAL_PRIMARY_CHASSIS | AZALIA_RIGHT, - AZALIA_MIC_IN, - AZALIA_STEREO_MONO_1_8, - AZALIA_BLACK, - AZALIA_JACK_PRESENCE_DETECT, - 4, - 0 - )), - AZALIA_PIN_CFG(0, MIC2, AZALIA_PIN_CFG_NC(0)), - AZALIA_PIN_CFG(0, LINE1, AZALIA_PIN_CFG_NC(0)), - AZALIA_PIN_CFG(0, LINE2, AZALIA_PIN_CFG_NC(0)), - AZALIA_PIN_CFG(0, PC_BEEP, AZALIA_PIN_CFG_NC(0)), - AZALIA_PIN_CFG(0, S_PDIF, AZALIA_PIN_CFG_NC(0)), + /* Pin Widget Verb-table */ + AZALIA_PIN_CFG(0, ALC269_DMIC12, AZALIA_PIN_DESC( + AZALIA_INTEGRATED, + AZALIA_MOBILE_LID_INSIDE, + AZALIA_MIC_IN, + AZALIA_OTHER_DIGITAL, + AZALIA_COLOR_UNKNOWN, + AZALIA_NO_JACK_PRESENCE_DETECT, + 3, + 0 + )), + AZALIA_PIN_CFG(0, ALC269_SPEAKERS, AZALIA_PIN_DESC( + AZALIA_INTEGRATED, + AZALIA_INTERNAL | AZALIA_FRONT, + AZALIA_SPEAKER, + AZALIA_OTHER_ANALOG, + AZALIA_COLOR_UNKNOWN, + AZALIA_NO_JACK_PRESENCE_DETECT, + 1, + 0 + )), + AZALIA_PIN_CFG(0, ALC269_VC_HP_OUT, AZALIA_PIN_DESC( + AZALIA_JACK, + AZALIA_EXTERNAL_PRIMARY_CHASSIS | AZALIA_RIGHT, + AZALIA_HP_OUT, + AZALIA_STEREO_MONO_1_8, + AZALIA_BLACK, + AZALIA_JACK_PRESENCE_DETECT, + 2, + 0 + )), + AZALIA_PIN_CFG(0, ALC269_MIC1, AZALIA_PIN_DESC( + AZALIA_JACK, + AZALIA_EXTERNAL_PRIMARY_CHASSIS | AZALIA_RIGHT, + AZALIA_MIC_IN, + AZALIA_STEREO_MONO_1_8, + AZALIA_BLACK, + AZALIA_JACK_PRESENCE_DETECT, + 4, + 0 + )), + AZALIA_PIN_CFG(0, ALC269_MONO, AZALIA_PIN_CFG_NC(0)), + AZALIA_PIN_CFG(0, ALC269_MIC2, AZALIA_PIN_CFG_NC(0)), + AZALIA_PIN_CFG(0, ALC269_LINE1, AZALIA_PIN_CFG_NC(0)), + AZALIA_PIN_CFG(0, ALC269_LINE2, AZALIA_PIN_CFG_NC(0)), + AZALIA_PIN_CFG(0, ALC269_PC_BEEP, AZALIA_PIN_CFG_NC(0)), + AZALIA_PIN_CFG(0, ALC269_SPDIF_OUT, AZALIA_PIN_CFG_NC(0)), + AZALIA_PIN_CFG(0, ALC269_VB_HP_OUT, AZALIA_PIN_CFG_NC(0)), 0x02050018, 0x02040184, - 0x0205001C, 0x02044b00, 0x02050024, 0x02040000, - 0x02050004, 0x02040080, 0x02050008, 0x02040000, - 0x0205000C, 0x02043F00, 0x02050015, 0x02048002, - 0x02050015, 0x02048002, @@ -104,6 +89,7 @@ const u32 cim_verb_data[] = { 0x00D37080, 0x00370610, + /* Intel ADL-N IGD HDMI */ 0x8086280d, /* Codec Vendor / Device ID: Intel */ 0x80860101, /* Subsystem ID */ 4, /* Number of 4 dword sets */