diff options
author | Leah Rowe <leah@libreboot.org> | 2024-10-27 01:12:56 +0100 |
---|---|---|
committer | Leah Rowe <leah@libreboot.org> | 2024-10-27 01:15:24 +0000 |
commit | d8ac9d53b66a3a940962945c4102f1fcd644cde1 (patch) | |
tree | 15bdd45d07b9148614c51f9a8e62b5f01f969f95 /config/coreboot/dell7/patches/0002-dell-optiplex_3050-add-hda_verb.c.patch | |
parent | 99a88ebfa20421909675e9de6ed9376049f433d4 (diff) |
Switch Dell 3050 Micro to newer coreboot revision
Specifically, use the same revision that Mate used in patchset 15.
This will ensure that any issues are *not* caused by the coreboot
revision; this is being done, because the old coreboot revision was
from July, but patchset 15 from Mate is based on a September revision
of coreboot.
I've been eliminating as many variables as possible, trying to fix
SeaBIOS payload on this machine, because it hangs in Libreboot, but
not when building from gerrit directly, which means the coreboot
revision may be a factor (since I'm using his patches on an older
revision so upstream might have made some changes since then that
the port relies on).
For this, a new coreboot tree is used, called "dell7", referring to
the fact that Kabylake is Intel's 7th generation.
Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'config/coreboot/dell7/patches/0002-dell-optiplex_3050-add-hda_verb.c.patch')
-rw-r--r-- | config/coreboot/dell7/patches/0002-dell-optiplex_3050-add-hda_verb.c.patch | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/config/coreboot/dell7/patches/0002-dell-optiplex_3050-add-hda_verb.c.patch b/config/coreboot/dell7/patches/0002-dell-optiplex_3050-add-hda_verb.c.patch new file mode 100644 index 00000000..376a8761 --- /dev/null +++ b/config/coreboot/dell7/patches/0002-dell-optiplex_3050-add-hda_verb.c.patch @@ -0,0 +1,140 @@ +From 6140f780837726a24d6c473ac50a62fdd5ee8f2d Mon Sep 17 00:00:00 2001 +From: Leah Rowe <info@minifree.org> +Date: Sun, 6 Oct 2024 17:25:27 +0100 +Subject: [PATCH 2/4] dell/optiplex_3050: add hda_verb.c + +Configured for the line jack at the front of the machine. + +Based on dumps from the vendor BIOS. + +Signed-off-by: Leah Rowe <info@minifree.org> +--- + src/mainboard/dell/optiplex_3050/Kconfig | 1 + + src/mainboard/dell/optiplex_3050/Makefile.mk | 3 +- + src/mainboard/dell/optiplex_3050/hda_verb.c | 90 ++++++++++++++++++++ + 3 files changed, 93 insertions(+), 1 deletion(-) + create mode 100644 src/mainboard/dell/optiplex_3050/hda_verb.c + +diff --git a/src/mainboard/dell/optiplex_3050/Kconfig b/src/mainboard/dell/optiplex_3050/Kconfig +index 2f0dccb98d..eab6034158 100644 +--- a/src/mainboard/dell/optiplex_3050/Kconfig ++++ b/src/mainboard/dell/optiplex_3050/Kconfig +@@ -16,6 +16,7 @@ config BOARD_SPECIFIC_OPTIONS + select SKYLAKE_SOC_PCH_H + select SOC_INTEL_KABYLAKE + select SUPERIO_SMSC_SCH555x ++ select SOC_INTEL_COMMON_BLOCK_HDA_VERB + + config CBFS_SIZE + default 0x900000 +diff --git a/src/mainboard/dell/optiplex_3050/Makefile.mk b/src/mainboard/dell/optiplex_3050/Makefile.mk +index d50ea40879..90b3cc4c48 100644 +--- a/src/mainboard/dell/optiplex_3050/Makefile.mk ++++ b/src/mainboard/dell/optiplex_3050/Makefile.mk +@@ -5,5 +5,6 @@ bootblock-y += sch5555_ec.c + + romstage-y += romstage.c + +-ramstage-y += ramstage.c sch5555_ec.c ++ramstage-y += ramstage.c sch5555_ec.c hda_verb.c ++ + ramstage-$(CONFIG_MAINBOARD_USE_LIBGFXINIT) += gma-mainboard.ads +diff --git a/src/mainboard/dell/optiplex_3050/hda_verb.c b/src/mainboard/dell/optiplex_3050/hda_verb.c +new file mode 100644 +index 0000000000..621e4f7a52 +--- /dev/null ++++ b/src/mainboard/dell/optiplex_3050/hda_verb.c +@@ -0,0 +1,90 @@ ++/* SPDX-License-Identifier: GPL-2.0-only */ ++ ++#include <device/azalia_device.h> ++ ++const u32 cim_verb_data[] = { ++ /* coreboot specific header, codec 0 */ ++ 0x10ec0255, /* Realtek ALC3234 */ ++ 0x102807a3, /* Subsystem ID */ ++ 11, /* Number of entries */ ++ ++ /* Pin Widget Verb Table */ ++ ++ AZALIA_SUBVENDOR(0, 0x102807a3), ++ ++ AZALIA_PIN_CFG(0, 0x12, 0x40000000), // does not describe a jack or internal device ++ AZALIA_PIN_CFG(0, 0x14, AZALIA_PIN_DESC( ++ AZALIA_INTEGRATED, ++ AZALIA_INTERNAL, ++ AZALIA_SPEAKER, ++ AZALIA_OTHER_ANALOG, ++ AZALIA_COLOR_UNKNOWN, ++ AZALIA_NO_JACK_PRESENCE_DETECT, ++ 5, 0 ++ )), ++ AZALIA_PIN_CFG(0, 0x17, AZALIA_PIN_CFG_NC(0)), ++ AZALIA_PIN_CFG(0, 0x18, AZALIA_PIN_CFG_NC(0)), ++ AZALIA_PIN_CFG(0, 0x19, AZALIA_PIN_CFG_NC(0)), ++ AZALIA_PIN_CFG(0, 0x1a, AZALIA_PIN_CFG_NC(0)), ++ AZALIA_PIN_CFG(0, 0x1b, AZALIA_PIN_DESC( ++ AZALIA_JACK, ++ AZALIA_EXTERNAL_PRIMARY_CHASSIS | AZALIA_FRONT, ++ AZALIA_LINE_OUT, ++ AZALIA_STEREO_MONO_1_8, ++ AZALIA_BLACK, ++ AZALIA_JACK_PRESENCE_DETECT, ++ 2, 0 ++ )), ++ AZALIA_PIN_CFG(0, 0x1d, 0x4054c029), // does not describe a jack or internal device ++ AZALIA_PIN_CFG(0, 0x1e, AZALIA_PIN_CFG_NC(0)), ++ AZALIA_PIN_CFG(0, 0x21, AZALIA_PIN_DESC( ++ AZALIA_JACK, ++ AZALIA_EXTERNAL_PRIMARY_CHASSIS | AZALIA_FRONT, ++ AZALIA_HP_OUT, ++ AZALIA_STEREO_MONO_1_8, ++ AZALIA_BLACK, ++ AZALIA_JACK_PRESENCE_DETECT, ++ 5, 15 ++ )), ++ ++ /* coreboot specific header, codec 2 */ ++ 0x80862809, /* Intel Skylake HDMI */ ++ 0x80860101, /* Subsystem ID */ ++ 4, /* Number of entries */ ++ ++ /* Pin Widget Verb Table */ ++ ++ AZALIA_SUBVENDOR(2, 0x80860101), ++ ++ 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, ++ 1, 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, ++ 1, 0 ++ )), ++}; ++ ++const u32 pc_beep_verbs[] = {}; ++ ++AZALIA_ARRAY_SIZES; +-- +2.39.5 + |