summaryrefslogtreecommitdiff
path: root/config/module/coreboot/default
diff options
context:
space:
mode:
Diffstat (limited to 'config/module/coreboot/default')
-rw-r--r--config/module/coreboot/default/patches/0001-add-c3-and-clockgen-to-apple-macbook21.patch39
-rw-r--r--config/module/coreboot/default/patches/0002-lenovo-t400-Enable-all-SATA-ports.patch6
-rw-r--r--config/module/coreboot/default/patches/0003-lenovo-x230-set-me_state-Disabled-in-cmos.default.patch9
-rw-r--r--config/module/coreboot/default/patches/0004-set-me_state-Disabled-on-all-cmos.default-files.patch52
-rw-r--r--config/module/coreboot/default/patches/0005-util-ifdtool-add-nuke-flag-all-0xFF-on-region.patch26
-rw-r--r--config/module/coreboot/default/patches/0006-mb-dell-e6400-Enable-01.0-device-in-devicetree-for-d.patch6
-rw-r--r--config/module/coreboot/default/patches/0007-Remove-warning-for-coreboot-images-built-without-a-p.patch4
-rw-r--r--config/module/coreboot/default/patches/0008-HACK-Disable-coreboot-related-BL31-features.patch8
-rw-r--r--config/module/coreboot/default/patches/0009-dell-e6430-use-ME-Soft-Temporary-Disable.patch9
-rw-r--r--config/module/coreboot/default/patches/0010-mb-hp-Add-Compaq-Elite-8300-CMT-port.patch4
-rw-r--r--config/module/coreboot/default/patches/0011-nb-intel-haswell-make-IOMMU-a-runtime-option.patch33
-rw-r--r--config/module/coreboot/default/patches/0012-dell-optiplex_9020-Disable-IOMMU-by-default.patch4
-rw-r--r--config/module/coreboot/default/patches/0013-nb-haswell-Fully-disable-iGPU-when-dGPU-is-used.patch8
-rw-r--r--config/module/coreboot/default/patches/0014-ec-dell-mec5035-Add-S3-suspend-SMI-handler.patch4
-rw-r--r--config/module/coreboot/default/patches/0015-nb-haswell-lock-policy-regs-when-disabling-IOMMU.patch12
-rw-r--r--config/module/coreboot/default/patches/0016-nb-intel-gm45-Make-DDR2-raminit-work.patch6
-rw-r--r--config/module/coreboot/default/patches/0017-nb-gm45-Fix-Angel-s-DDR2-RCOMP-fix-on-DDR3-boards.patch4
-rw-r--r--config/module/coreboot/default/patches/0018-mb-dell-e6400-Use-100-MHz-reference-clock-for-displa.patch4
-rw-r--r--config/module/coreboot/default/patches/0019-nb-x4x-define-INTEL_GMA_DPLL_REF_FREQ.patch4
-rw-r--r--config/module/coreboot/default/patches/0020-mb-dell-gm45_latitudes-Add-E4300-variant.patch4
-rw-r--r--config/module/coreboot/default/patches/0021-mb-dell-Add-S3-SMI-handler-for-Dell-Latitudes.patch4
-rw-r--r--config/module/coreboot/default/patches/0022-Disable-compression-on-refcode-insertion.patch8
-rw-r--r--config/module/coreboot/default/patches/0023-nb-intel-Disable-stack-overflow-debug-options.patch14
-rw-r--r--config/module/coreboot/default/patches/0024-mb-dell-Add-Optiplex-780-MT-x4x-ICH10.patch4
-rw-r--r--config/module/coreboot/default/patches/0025-mb-dell-optiplex_780-Add-USFF-variant.patch4
-rw-r--r--config/module/coreboot/default/patches/0026-src-intel-x4x-Disable-stack-overflow-debug.patch4
-rw-r--r--config/module/coreboot/default/patches/0027-hp-8300cmt-remove-xhci_overcurrent_mapping.patch4
-rw-r--r--config/module/coreboot/default/patches/0028-dell-3050micro-disable-nvme-hotplug.patch4
-rw-r--r--config/module/coreboot/default/patches/0029-src-intel-skylake-Disable-stack-overflow-debug-optio.patch8
-rw-r--r--config/module/coreboot/default/patches/0030-soc-intel-skylake-Don-t-compress-FSP-S.patch8
-rw-r--r--config/module/coreboot/default/patches/0031-lenovo-Add-Kconfig-option-CONFIG_LENOVO_TBFW_BIN.patch4
-rw-r--r--config/module/coreboot/default/patches/0032-Conditional-TBFW-setting-for-kabylake-thinkpads.patch4
-rw-r--r--config/module/coreboot/default/patches/0033-soc-intel-alderlake-Disable-MRC_CACHE_USING_MRC_VERS.patch6
-rw-r--r--config/module/coreboot/default/patches/0034-Subject-PATCH-1-1-Add-a-p-option-skip-FPTR-checks.patch4
-rw-r--r--config/module/coreboot/default/patches/0035-soc-intel-alderlake-Don-t-compress-FSP-S.patch6
-rw-r--r--config/module/coreboot/default/patches/0036-alderlake-don-t-require-full-fsp-repo-for-fd-path.patch8
-rw-r--r--config/module/coreboot/default/patches/0037-soc-alderlake-disable-stack-overflow-debug-option.patch8
-rw-r--r--config/module/coreboot/default/patches/0038-ec-dell-mec5035-Add-command-to-disable-EC-initiated-.patch4
-rw-r--r--config/module/coreboot/default/patches/0039-mb-dell-snb_ivb_latitude-Disable-EC-initiated-shutdo.patch4
-rw-r--r--config/module/coreboot/default/patches/0040-fix-ifdtool-build.patch8
-rw-r--r--config/module/coreboot/default/patches/0041-tests-Makefile.mk-use-3rdparty-cmocka-by-default.patch10
-rw-r--r--config/module/coreboot/default/patches/0042-mb-dell-optiplex_780-use-legacy-HDA-verb-table.patch4
-rw-r--r--config/module/coreboot/default/patches/0043-hp8300cmt-use-legacy-verb-table.patch4
-rw-r--r--config/module/coreboot/default/patches/0044-topton-x2e-n150-use-old-fsp.patch8
-rw-r--r--config/module/coreboot/default/patches/0045-mb-supermicro-x11-lga1151-series-Disable-ME-HECI-in-.patch6
-rw-r--r--config/module/coreboot/default/patches/0046-util-ifdtool-option-to-allow-region-override.patch18
-rw-r--r--config/module/coreboot/default/patches/0047-me_cleaner-don-t-modify-if-k-is-used.patch4
-rw-r--r--config/module/coreboot/default/patches/0048-mb-lenovo-sklkbl-Add-Lenovo-Thinkpad-X270-as-a-varia.patch24
-rw-r--r--config/module/coreboot/default/patches/0049-mb-lenovo-x270-Provide-correct-vbt-and-hda_verb.patch61
-rw-r--r--config/module/coreboot/default/patches/0050-mb-dell-Add-OptiPlex-3040-Micro-port-upstream-compat.patch (renamed from config/module/coreboot/default/patches/0050-mb-dell-Add-OptiPlex-3040-Micro-port.patch)60
-rw-r--r--config/module/coreboot/default/patches/0051-mb-supermicro-x11-lga1151-series-Enable-SATA-hotplug.patch46
-rw-r--r--config/module/coreboot/default/patches/0051-remove-Werror-tree-wide.patch718
-rw-r--r--config/module/coreboot/default/patches/0052-Remove-KCONFIG_WERROR.patch94
-rw-r--r--config/module/coreboot/default/patches/0053-use-std-gnu2x.patch156
-rw-r--r--config/module/coreboot/default/patches/0054-mb-dell-sklkbl_desktops-Enable-Coffee-Lake-CPU-suppo.patch29
-rw-r--r--config/module/coreboot/default/patches/0055-mb-dell-sklkbl_desktops-Enable-legacy-8254-timer.patch28
-rw-r--r--config/module/coreboot/default/patches/0056-mb-dell-sklkbl_desktops-Add-OptiPlex-5050-SFF-varian.patch703
-rw-r--r--config/module/coreboot/default/patches/0057-5050sff-disable-hotplug-on-pcie-x4-and-m2-slot.patch42
-rw-r--r--config/module/coreboot/default/target.cfg2
59 files changed, 2045 insertions, 336 deletions
diff --git a/config/module/coreboot/default/patches/0001-add-c3-and-clockgen-to-apple-macbook21.patch b/config/module/coreboot/default/patches/0001-add-c3-and-clockgen-to-apple-macbook21.patch
index b654b32c..6e0d0d74 100644
--- a/config/module/coreboot/default/patches/0001-add-c3-and-clockgen-to-apple-macbook21.patch
+++ b/config/module/coreboot/default/patches/0001-add-c3-and-clockgen-to-apple-macbook21.patch
@@ -1,30 +1,17 @@
-From 03e8f5f33723fd291e30c5305fa2f5eb22bdf656 Mon Sep 17 00:00:00 2001
+From a4f3d7b48e2f0ca3635fbfe8fc791e763e0f29de Mon Sep 17 00:00:00 2001
From: Vitali64 <5405891-vitali64yt@users.noreply.gitlab.com>
Date: Wed, 27 Oct 2021 13:36:01 +0200
-Subject: [PATCH 01/48] add c3 and clockgen to apple/macbook21
+Subject: [PATCH 01/56] add c3 and clockgen to apple/macbook21
---
- src/mainboard/apple/macbook21/Kconfig | 1 +
- src/mainboard/apple/macbook21/cstates.c | 13 +++++++++++++
- src/mainboard/apple/macbook21/devicetree.cb | 6 ++++++
- 3 files changed, 20 insertions(+)
+ src/mainboard/apple/i945_macs/cstates.c | 13 +++++++++++++
+ src/mainboard/apple/i945_macs/devicetree.cb | 6 ++++++
+ 2 files changed, 19 insertions(+)
-diff --git a/src/mainboard/apple/macbook21/Kconfig b/src/mainboard/apple/macbook21/Kconfig
-index 330d8efae2..cf10343554 100644
---- a/src/mainboard/apple/macbook21/Kconfig
-+++ b/src/mainboard/apple/macbook21/Kconfig
-@@ -18,6 +18,7 @@ config BOARD_SPECIFIC_OPTIONS
- select HAVE_ACPI_TABLES
- select HAVE_ACPI_RESUME
- select I945_LVDS
-+ select DRIVERS_I2C_CK505
-
- config MAINBOARD_DIR
- default "apple/macbook21"
-diff --git a/src/mainboard/apple/macbook21/cstates.c b/src/mainboard/apple/macbook21/cstates.c
+diff --git a/src/mainboard/apple/i945_macs/cstates.c b/src/mainboard/apple/i945_macs/cstates.c
index 13d06f0839..88b8669c61 100644
---- a/src/mainboard/apple/macbook21/cstates.c
-+++ b/src/mainboard/apple/macbook21/cstates.c
+--- a/src/mainboard/apple/i945_macs/cstates.c
++++ b/src/mainboard/apple/i945_macs/cstates.c
@@ -29,6 +29,19 @@ static const acpi_cstate_t cst_entries[] = {
.addrh = 0,
}
@@ -45,11 +32,11 @@ index 13d06f0839..88b8669c61 100644
};
int get_cst_entries(const acpi_cstate_t **entries)
-diff --git a/src/mainboard/apple/macbook21/devicetree.cb b/src/mainboard/apple/macbook21/devicetree.cb
-index fd86e939b9..263fbabcd1 100644
---- a/src/mainboard/apple/macbook21/devicetree.cb
-+++ b/src/mainboard/apple/macbook21/devicetree.cb
-@@ -100,7 +100,13 @@ chip northbridge/intel/i945
+diff --git a/src/mainboard/apple/i945_macs/devicetree.cb b/src/mainboard/apple/i945_macs/devicetree.cb
+index e479c63db1..f7b97c516c 100644
+--- a/src/mainboard/apple/i945_macs/devicetree.cb
++++ b/src/mainboard/apple/i945_macs/devicetree.cb
+@@ -89,7 +89,13 @@ chip northbridge/intel/i945
end
device pci 1f.3 on # SMBUS
subsystemid 0x8086 0x7270
diff --git a/config/module/coreboot/default/patches/0002-lenovo-t400-Enable-all-SATA-ports.patch b/config/module/coreboot/default/patches/0002-lenovo-t400-Enable-all-SATA-ports.patch
index 20fff9eb..64750430 100644
--- a/config/module/coreboot/default/patches/0002-lenovo-t400-Enable-all-SATA-ports.patch
+++ b/config/module/coreboot/default/patches/0002-lenovo-t400-Enable-all-SATA-ports.patch
@@ -1,7 +1,7 @@
-From da742084f51bb7e97472605d6eff0726fd7a5863 Mon Sep 17 00:00:00 2001
+From 1fa144817f28f667290747680f463f7d6d58f961 Mon Sep 17 00:00:00 2001
From: persmule <persmule@gmail.com>
Date: Sun, 31 Oct 2021 23:33:26 +0000
-Subject: [PATCH 02/48] lenovo/t400: Enable all SATA ports
+Subject: [PATCH 02/56] lenovo/t400: Enable all SATA ports
There are 2 SATA ports on the chassis of t400(s), but at least one dock for
t400 contains a port for (P/S)ATA device, and t400s has a eSATA port on its
@@ -15,7 +15,7 @@ This patch unmasked all SATA ports found within t400s with factory firmware.
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/mainboard/lenovo/t400/devicetree.cb b/src/mainboard/lenovo/t400/devicetree.cb
-index 9e056772e9..9361f330d2 100644
+index 467c09fb94..7100eee639 100644
--- a/src/mainboard/lenovo/t400/devicetree.cb
+++ b/src/mainboard/lenovo/t400/devicetree.cb
@@ -46,8 +46,8 @@ chip northbridge/intel/gm45
diff --git a/config/module/coreboot/default/patches/0003-lenovo-x230-set-me_state-Disabled-in-cmos.default.patch b/config/module/coreboot/default/patches/0003-lenovo-x230-set-me_state-Disabled-in-cmos.default.patch
index 8e814be3..fc6a39aa 100644
--- a/config/module/coreboot/default/patches/0003-lenovo-x230-set-me_state-Disabled-in-cmos.default.patch
+++ b/config/module/coreboot/default/patches/0003-lenovo-x230-set-me_state-Disabled-in-cmos.default.patch
@@ -1,7 +1,7 @@
-From 278c2a989c025c1b3a097966968c8d253c973a3e Mon Sep 17 00:00:00 2001
+From d88b7b987c792ba0c63eae4700ebf022dd12f58c Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Mon, 3 Jan 2022 19:06:22 +0000
-Subject: [PATCH 03/48] lenovo/x230: set me_state=Disabled in cmos.default
+Subject: [PATCH 03/56] lenovo/x230: set me_state=Disabled in cmos.default
I only recently found out about this. It's possible to use me_cleaner to
do the same thing, but some people might just flash coreboot and not do
@@ -23,15 +23,16 @@ Date: Thu Nov 21 21:47:31 2019 +0300
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mainboard/lenovo/x230/cmos.default b/src/mainboard/lenovo/x230/cmos.default
-index 732e214b32..8454f0eac0 100644
+index 089039caf6..a7acdebdb0 100644
--- a/src/mainboard/lenovo/x230/cmos.default
+++ b/src/mainboard/lenovo/x230/cmos.default
-@@ -17,4 +17,4 @@ trackpoint=Enable
+@@ -17,5 +17,5 @@ trackpoint=Enable
backlight=Both
usb_always_on=Disable
f1_to_f12_as_primary=Enable
-me_state=Normal
+me_state=Disabled
+ hyper_threading=Enable
--
2.47.3
diff --git a/config/module/coreboot/default/patches/0004-set-me_state-Disabled-on-all-cmos.default-files.patch b/config/module/coreboot/default/patches/0004-set-me_state-Disabled-on-all-cmos.default-files.patch
index 43830448..cc1a1d58 100644
--- a/config/module/coreboot/default/patches/0004-set-me_state-Disabled-on-all-cmos.default-files.patch
+++ b/config/module/coreboot/default/patches/0004-set-me_state-Disabled-on-all-cmos.default-files.patch
@@ -1,7 +1,7 @@
-From 63357b7f8c9da3a8d644542c70f50fc9bc77a8fc Mon Sep 17 00:00:00 2001
+From 14e6d93a31b2e95d867ef0e4be0313fd0e55b56b Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Wed, 2 Mar 2022 21:50:01 +0000
-Subject: [PATCH 04/48] set me_state=Disabled on all cmos.default files!
+Subject: [PATCH 04/56] set me_state=Disabled on all cmos.default files!
yeah. why the hell isn't this the default
@@ -10,95 +10,91 @@ Signed-off-by: Leah Rowe <leah@libreboot.org>
src/mainboard/lenovo/l520/cmos.default | 2 +-
src/mainboard/lenovo/t420/cmos.default | 2 +-
src/mainboard/lenovo/t420s/cmos.default | 2 +-
- src/mainboard/lenovo/t430/cmos.default | 2 +-
src/mainboard/lenovo/t430s/cmos.default | 2 +-
src/mainboard/lenovo/t520/cmos.default | 2 +-
src/mainboard/lenovo/t530/cmos.default | 2 +-
src/mainboard/lenovo/x220/cmos.default | 2 +-
src/mainboard/protectli/vault_cml/cmos.default | 2 +-
src/mainboard/system76/tgl-u/cmos.default | 2 +-
- 10 files changed, 10 insertions(+), 10 deletions(-)
+ 9 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/src/mainboard/lenovo/l520/cmos.default b/src/mainboard/lenovo/l520/cmos.default
-index be08e0a342..b8970efa46 100644
+index 0b8ffb9431..b607031071 100644
--- a/src/mainboard/lenovo/l520/cmos.default
+++ b/src/mainboard/lenovo/l520/cmos.default
-@@ -16,4 +16,4 @@ sticky_fn=Disable
+@@ -16,5 +16,5 @@ sticky_fn=Disable
trackpoint=Enable
backlight=Both
usb_always_on=Disable
-me_state=Normal
+me_state=Disabled
+ hyper_threading=Enable
diff --git a/src/mainboard/lenovo/t420/cmos.default b/src/mainboard/lenovo/t420/cmos.default
-index 6fd26c5fe3..27a62d07b3 100644
+index c52ea5e021..161a94b176 100644
--- a/src/mainboard/lenovo/t420/cmos.default
+++ b/src/mainboard/lenovo/t420/cmos.default
-@@ -16,4 +16,4 @@ sticky_fn=Disable
+@@ -16,5 +16,5 @@ sticky_fn=Disable
trackpoint=Enable
hybrid_graphics_mode=Integrated Only
usb_always_on=Disable
-me_state=Normal
+me_state=Disabled
+ hyper_threading=Enable
diff --git a/src/mainboard/lenovo/t420s/cmos.default b/src/mainboard/lenovo/t420s/cmos.default
-index 6fd26c5fe3..27a62d07b3 100644
+index c52ea5e021..161a94b176 100644
--- a/src/mainboard/lenovo/t420s/cmos.default
+++ b/src/mainboard/lenovo/t420s/cmos.default
-@@ -16,4 +16,4 @@ sticky_fn=Disable
+@@ -16,5 +16,5 @@ sticky_fn=Disable
trackpoint=Enable
hybrid_graphics_mode=Integrated Only
usb_always_on=Disable
-me_state=Normal
+me_state=Disabled
-diff --git a/src/mainboard/lenovo/t430/cmos.default b/src/mainboard/lenovo/t430/cmos.default
-index c896eadec1..6d1e172056 100644
---- a/src/mainboard/lenovo/t430/cmos.default
-+++ b/src/mainboard/lenovo/t430/cmos.default
-@@ -17,4 +17,4 @@ trackpoint=Enable
- backlight=Both
- usb_always_on=Disable
- hybrid_graphics_mode=Integrated Only
--me_state=Normal
-+me_state=Disabled
+ hyper_threading=Enable
diff --git a/src/mainboard/lenovo/t430s/cmos.default b/src/mainboard/lenovo/t430s/cmos.default
-index 286fb0ae8c..5a05c73721 100644
+index c5ee1836b1..3015f4d4fa 100644
--- a/src/mainboard/lenovo/t430s/cmos.default
+++ b/src/mainboard/lenovo/t430s/cmos.default
-@@ -18,4 +18,4 @@ backlight=Both
+@@ -18,5 +18,5 @@ backlight=Both
enable_dual_graphics=Disable
usb_always_on=Disable
f1_to_f12_as_primary=Enable
-me_state=Normal
+me_state=Disabled
+ hyper_threading=Enable
diff --git a/src/mainboard/lenovo/t520/cmos.default b/src/mainboard/lenovo/t520/cmos.default
-index 4857f92f67..ab1be1a678 100644
+index 5891af9287..d705f3e9e0 100644
--- a/src/mainboard/lenovo/t520/cmos.default
+++ b/src/mainboard/lenovo/t520/cmos.default
-@@ -17,4 +17,4 @@ trackpoint=Enable
+@@ -17,5 +17,5 @@ trackpoint=Enable
backlight=Both
hybrid_graphics_mode=Integrated Only
usb_always_on=Disable
-me_state=Normal
+me_state=Disabled
+ hyper_threading=Enable
diff --git a/src/mainboard/lenovo/t530/cmos.default b/src/mainboard/lenovo/t530/cmos.default
-index 4857f92f67..ab1be1a678 100644
+index 5891af9287..d705f3e9e0 100644
--- a/src/mainboard/lenovo/t530/cmos.default
+++ b/src/mainboard/lenovo/t530/cmos.default
-@@ -17,4 +17,4 @@ trackpoint=Enable
+@@ -17,5 +17,5 @@ trackpoint=Enable
backlight=Both
hybrid_graphics_mode=Integrated Only
usb_always_on=Disable
-me_state=Normal
+me_state=Disabled
+ hyper_threading=Enable
diff --git a/src/mainboard/lenovo/x220/cmos.default b/src/mainboard/lenovo/x220/cmos.default
-index ef706c1303..b318ab9772 100644
+index 7b717ace03..4d941f0c7e 100644
--- a/src/mainboard/lenovo/x220/cmos.default
+++ b/src/mainboard/lenovo/x220/cmos.default
-@@ -15,4 +15,4 @@ usb_always_on=Disable
+@@ -15,5 +15,5 @@ usb_always_on=Disable
fn_ctrl_swap=Disable
sticky_fn=Disable
trackpoint=Enable
-me_state=Normal
+me_state=Disabled
+ hyper_threading=Enable
diff --git a/src/mainboard/protectli/vault_cml/cmos.default b/src/mainboard/protectli/vault_cml/cmos.default
index d61046df6b..8c793fd1c3 100644
--- a/src/mainboard/protectli/vault_cml/cmos.default
diff --git a/config/module/coreboot/default/patches/0005-util-ifdtool-add-nuke-flag-all-0xFF-on-region.patch b/config/module/coreboot/default/patches/0005-util-ifdtool-add-nuke-flag-all-0xFF-on-region.patch
index 8490157a..e100be7b 100644
--- a/config/module/coreboot/default/patches/0005-util-ifdtool-add-nuke-flag-all-0xFF-on-region.patch
+++ b/config/module/coreboot/default/patches/0005-util-ifdtool-add-nuke-flag-all-0xFF-on-region.patch
@@ -1,7 +1,7 @@
-From 434136e0aca4839e449e3841a5e993688b4586f0 Mon Sep 17 00:00:00 2001
+From 990701ec0bbce4a5c01a1057b69378b47429567b Mon Sep 17 00:00:00 2001
From: Leah Rowe <info@minifree.org>
Date: Sun, 19 Feb 2023 18:21:43 +0000
-Subject: [PATCH 05/48] util/ifdtool: add --nuke flag (all 0xFF on region)
+Subject: [PATCH 05/56] util/ifdtool: add --nuke flag (all 0xFF on region)
When this option is used, the region's contents are overwritten
with all ones (0xFF).
@@ -20,18 +20,18 @@ Signed-off-by: Leah Rowe <leah@libreboot.org>
1 file changed, 84 insertions(+), 32 deletions(-)
diff --git a/util/ifdtool/ifdtool.c b/util/ifdtool/ifdtool.c
-index 0592785bf6..cab934c3a5 100644
+index a3b66fd465..ddc7c19430 100644
--- a/util/ifdtool/ifdtool.c
+++ b/util/ifdtool/ifdtool.c
-@@ -2240,6 +2240,7 @@ static void print_usage(const char *name)
- " tgl - Tiger Lake\n"
+@@ -2263,6 +2263,7 @@ static void print_usage(const char *name)
+ " nvl - Nova Lake\n"
" wbg - Wellsburg\n"
" -S | --setpchstrap Write a PCH strap\n"
+ " -N | --nuke <region> Overwrite the specified region with 0xFF (all ones)\n"
" -V | --newvalue The new value to write into PCH strap specified by -S\n"
" -T | --topswapsize Set the Top Swap Block Size PCH strap value\n"
" Possible values: 0x10000, 0x20000, 0x40000, 0x80000,\n"
-@@ -2251,6 +2252,60 @@ static void print_usage(const char *name)
+@@ -2274,6 +2275,60 @@ static void print_usage(const char *name)
"\n");
}
@@ -92,7 +92,7 @@ index 0592785bf6..cab934c3a5 100644
int main(int argc, char *argv[])
{
int opt, option_index = 0;
-@@ -2258,6 +2313,7 @@ int main(int argc, char *argv[])
+@@ -2281,6 +2336,7 @@ int main(int argc, char *argv[])
int mode_em100 = 0, mode_locked = 0, mode_unlocked = 0, mode_validate = 0;
int mode_layout = 0, mode_newlayout = 0, mode_density = 0, mode_setstrap = 0;
int mode_read = 0, mode_altmedisable = 0, altmedisable = 0, mode_fmap_template = 0;
@@ -100,7 +100,7 @@ index 0592785bf6..cab934c3a5 100644
int mode_gpr0_disable = 0, mode_gpr0_enable = 0, mode_gpr0_status = 0;
int mode_settopswapsize = 0;
char *region_type_string = NULL, *region_fname = NULL, *layout_fname = NULL;
-@@ -2294,6 +2350,7 @@ int main(int argc, char *argv[])
+@@ -2317,6 +2373,7 @@ int main(int argc, char *argv[])
{"setpchstrap", 1, NULL, 'S'},
{"newvalue", 1, NULL, 'V'},
{"topswapsize", 1, NULL, 'T'},
@@ -108,7 +108,7 @@ index 0592785bf6..cab934c3a5 100644
{0, 0, 0, 0}
};
-@@ -2343,35 +2400,8 @@ int main(int argc, char *argv[])
+@@ -2366,35 +2423,8 @@ int main(int argc, char *argv[])
region_fname++;
// Descriptor, BIOS, ME, GbE, Platform
// valid type?
@@ -146,7 +146,7 @@ index 0592785bf6..cab934c3a5 100644
fprintf(stderr, "No such region type: '%s'\n\n",
region_type_string);
fprintf(stderr, "run '%s -h' for usage\n", argv[0]);
-@@ -2552,7 +2582,23 @@ int main(int argc, char *argv[])
+@@ -2577,7 +2607,23 @@ int main(int argc, char *argv[])
mode_settopswapsize = 1;
top_swap_size_arg = optarg;
break;
@@ -171,7 +171,7 @@ index 0592785bf6..cab934c3a5 100644
print_version();
exit(EXIT_SUCCESS);
break;
-@@ -2571,7 +2617,8 @@ int main(int argc, char *argv[])
+@@ -2596,7 +2642,8 @@ int main(int argc, char *argv[])
if ((mode_dump + mode_layout + mode_fmap_template + mode_extract + mode_inject +
mode_setstrap + mode_settopswapsize + mode_newlayout + (mode_spifreq | mode_em100 |
mode_unlocked | mode_locked) + mode_altmedisable + mode_validate +
@@ -181,7 +181,7 @@ index 0592785bf6..cab934c3a5 100644
fprintf(stderr, "You may not specify more than one mode.\n\n");
fprintf(stderr, "run '%s -h' for usage\n", argv[0]);
exit(EXIT_FAILURE);
-@@ -2580,7 +2627,8 @@ int main(int argc, char *argv[])
+@@ -2605,7 +2652,8 @@ int main(int argc, char *argv[])
if ((mode_dump + mode_layout + mode_fmap_template + mode_extract + mode_inject +
mode_setstrap + mode_settopswapsize + mode_newlayout + mode_spifreq + mode_em100 +
mode_locked + mode_unlocked + mode_density + mode_altmedisable +
@@ -191,7 +191,7 @@ index 0592785bf6..cab934c3a5 100644
fprintf(stderr, "You need to specify a mode.\n\n");
fprintf(stderr, "run '%s -h' for usage\n", argv[0]);
exit(EXIT_FAILURE);
-@@ -2746,6 +2794,10 @@ int main(int argc, char *argv[])
+@@ -2771,6 +2819,10 @@ int main(int argc, char *argv[])
write_image(new_filename, image, size);
}
diff --git a/config/module/coreboot/default/patches/0006-mb-dell-e6400-Enable-01.0-device-in-devicetree-for-d.patch b/config/module/coreboot/default/patches/0006-mb-dell-e6400-Enable-01.0-device-in-devicetree-for-d.patch
index 725c6380..445d33bf 100644
--- a/config/module/coreboot/default/patches/0006-mb-dell-e6400-Enable-01.0-device-in-devicetree-for-d.patch
+++ b/config/module/coreboot/default/patches/0006-mb-dell-e6400-Enable-01.0-device-in-devicetree-for-d.patch
@@ -1,7 +1,7 @@
-From 91e4334541da6522d5a0bf5277ac478c891e7117 Mon Sep 17 00:00:00 2001
+From fc07dc0a94ff7453508568b0f14c5b9e9edefb7e Mon Sep 17 00:00:00 2001
From: Nicholas Chin <nic.c3.14@gmail.com>
Date: Sat, 6 May 2023 15:53:41 -0600
-Subject: [PATCH 06/48] mb/dell/e6400: Enable 01.0 device in devicetree for
+Subject: [PATCH 06/56] mb/dell/e6400: Enable 01.0 device in devicetree for
dGPU models
Change-Id: I9b8e5d3cd1e1f64dc87b682b1e045b6342924aed
@@ -11,7 +11,7 @@ Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mainboard/dell/gm45_latitude/devicetree.cb b/src/mainboard/dell/gm45_latitude/devicetree.cb
-index 5919803be2..76dae87153 100644
+index dcd208e80d..4dd5f3625b 100644
--- a/src/mainboard/dell/gm45_latitude/devicetree.cb
+++ b/src/mainboard/dell/gm45_latitude/devicetree.cb
@@ -18,7 +18,7 @@ chip northbridge/intel/gm45
diff --git a/config/module/coreboot/default/patches/0007-Remove-warning-for-coreboot-images-built-without-a-p.patch b/config/module/coreboot/default/patches/0007-Remove-warning-for-coreboot-images-built-without-a-p.patch
index e583accc..60865641 100644
--- a/config/module/coreboot/default/patches/0007-Remove-warning-for-coreboot-images-built-without-a-p.patch
+++ b/config/module/coreboot/default/patches/0007-Remove-warning-for-coreboot-images-built-without-a-p.patch
@@ -1,7 +1,7 @@
-From 3ebe9e03ec563e5adb43337340fe973aa66a984a Mon Sep 17 00:00:00 2001
+From 5407081d9b539aa356ed6730ca5cfe5684af69ee Mon Sep 17 00:00:00 2001
From: Nicholas Chin <nic.c3.14@gmail.com>
Date: Fri, 12 May 2023 19:55:15 -0600
-Subject: [PATCH 07/48] Remove warning for coreboot images built without a
+Subject: [PATCH 07/56] Remove warning for coreboot images built without a
payload
I added this in upstream to prevent people from accidentally flashing
diff --git a/config/module/coreboot/default/patches/0008-HACK-Disable-coreboot-related-BL31-features.patch b/config/module/coreboot/default/patches/0008-HACK-Disable-coreboot-related-BL31-features.patch
index a450cb4e..0d0b3ada 100644
--- a/config/module/coreboot/default/patches/0008-HACK-Disable-coreboot-related-BL31-features.patch
+++ b/config/module/coreboot/default/patches/0008-HACK-Disable-coreboot-related-BL31-features.patch
@@ -1,7 +1,7 @@
-From 0e2fa472354b2e68ffbfc01d5bb225ca9d8973f0 Mon Sep 17 00:00:00 2001
+From d287eb6df021afc78476a9ccbdfcc020cc6ee115 Mon Sep 17 00:00:00 2001
From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Date: Thu, 22 Jun 2023 16:44:27 +0300
-Subject: [PATCH 08/48] HACK: Disable coreboot related BL31 features
+Subject: [PATCH 08/56] HACK: Disable coreboot related BL31 features
I don't know why, but removing this BL31 make argument lets gru-kevin
power off properly when shut down from Linux. Needs investigation.
@@ -10,10 +10,10 @@ power off properly when shut down from Linux. Needs investigation.
1 file changed, 3 deletions(-)
diff --git a/src/arch/arm64/Makefile.mk b/src/arch/arm64/Makefile.mk
-index efd628fee7..6c4f3d702e 100644
+index 7310ce1c1f..b0a6ed1f84 100644
--- a/src/arch/arm64/Makefile.mk
+++ b/src/arch/arm64/Makefile.mk
-@@ -156,9 +156,6 @@ BL31_MAKEARGS += LOG_LEVEL=40
+@@ -158,9 +158,6 @@ BL31_MAKEARGS += LOG_LEVEL=40
# Always enable crash reporting, even on a release build
BL31_MAKEARGS += CRASH_REPORTING=1
diff --git a/config/module/coreboot/default/patches/0009-dell-e6430-use-ME-Soft-Temporary-Disable.patch b/config/module/coreboot/default/patches/0009-dell-e6430-use-ME-Soft-Temporary-Disable.patch
index d67bdf03..ce0d1a0d 100644
--- a/config/module/coreboot/default/patches/0009-dell-e6430-use-ME-Soft-Temporary-Disable.patch
+++ b/config/module/coreboot/default/patches/0009-dell-e6430-use-ME-Soft-Temporary-Disable.patch
@@ -1,7 +1,7 @@
-From f692cd96a4484b8e60bd112454d1bdbc3c689017 Mon Sep 17 00:00:00 2001
+From 6e81af254fa70cd11c6bffd0343da5eb855954f3 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 5 Nov 2023 11:41:41 +0000
-Subject: [PATCH 09/48] dell/e6430: use ME Soft Temporary Disable
+Subject: [PATCH 09/56] dell/e6430: use ME Soft Temporary Disable
i overlooked this. it's set on other boards.
@@ -16,15 +16,16 @@ Signed-off-by: Leah Rowe <leah@libreboot.org>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mainboard/dell/snb_ivb_latitude/cmos.default b/src/mainboard/dell/snb_ivb_latitude/cmos.default
-index 2a5b30f2b7..279415dfd1 100644
+index c883ec40de..088da5d844 100644
--- a/src/mainboard/dell/snb_ivb_latitude/cmos.default
+++ b/src/mainboard/dell/snb_ivb_latitude/cmos.default
-@@ -6,4 +6,4 @@ bluetooth=Enable
+@@ -6,5 +6,5 @@ bluetooth=Enable
wwan=Enable
wlan=Enable
sata_mode=AHCI
-me_state=Normal
+me_state=Disabled
+ hyper_threading=Enable
--
2.47.3
diff --git a/config/module/coreboot/default/patches/0010-mb-hp-Add-Compaq-Elite-8300-CMT-port.patch b/config/module/coreboot/default/patches/0010-mb-hp-Add-Compaq-Elite-8300-CMT-port.patch
index e01800af..2e40c41b 100644
--- a/config/module/coreboot/default/patches/0010-mb-hp-Add-Compaq-Elite-8300-CMT-port.patch
+++ b/config/module/coreboot/default/patches/0010-mb-hp-Add-Compaq-Elite-8300-CMT-port.patch
@@ -1,7 +1,7 @@
-From 78db6c595ff816ad4344d541688605ae720a83c4 Mon Sep 17 00:00:00 2001
+From 3fd2da0978e53ce6801cc3520788d5dcd52b6b0a Mon Sep 17 00:00:00 2001
From: Riku Viitanen <riku.viitanen@protonmail.com>
Date: Sat, 23 Dec 2023 19:02:10 +0200
-Subject: [PATCH 10/48] mb/hp: Add Compaq Elite 8300 CMT port
+Subject: [PATCH 10/56] mb/hp: Add Compaq Elite 8300 CMT port
Based on autoport and Z220 SuperIO code.
diff --git a/config/module/coreboot/default/patches/0011-nb-intel-haswell-make-IOMMU-a-runtime-option.patch b/config/module/coreboot/default/patches/0011-nb-intel-haswell-make-IOMMU-a-runtime-option.patch
index 235ee880..9df1f29e 100644
--- a/config/module/coreboot/default/patches/0011-nb-intel-haswell-make-IOMMU-a-runtime-option.patch
+++ b/config/module/coreboot/default/patches/0011-nb-intel-haswell-make-IOMMU-a-runtime-option.patch
@@ -1,7 +1,7 @@
-From beb9b1650fb3aec96544b683fbe53ee16584f3d8 Mon Sep 17 00:00:00 2001
+From 9fb0290711e7ece4a1d12b4297c8886980c8ccdf Mon Sep 17 00:00:00 2001
From: Leah Rowe <info@minifree.org>
Date: Sat, 2 Mar 2024 22:51:09 +0000
-Subject: [PATCH 11/48] nb/intel/haswell: make IOMMU a runtime option
+Subject: [PATCH 11/56] nb/intel/haswell: make IOMMU a runtime option
When I tested graphics cards on a coreboot port for Dell
OptiPlex 9020 SFF, I could not use a graphics card unless
@@ -34,8 +34,8 @@ Signed-off-by: Leah Rowe <info@minifree.org>
src/mainboard/lenovo/haswell/cmos.layout | 3 +++
src/mainboard/supermicro/x10slm-f/cmos.default | 1 +
src/mainboard/supermicro/x10slm-f/cmos.layout | 6 ++++++
- src/northbridge/intel/haswell/early_init.c | 5 +++++
- 14 files changed, 48 insertions(+)
+ src/northbridge/intel/haswell/early_init.c | 6 ++++++
+ 14 files changed, 49 insertions(+)
diff --git a/src/mainboard/asrock/b85m_pro4/cmos.default b/src/mainboard/asrock/b85m_pro4/cmos.default
index 01bf20ad16..dfc8b80fb0 100644
@@ -202,27 +202,27 @@ index 78d44c1415..f2c602f541 100644
checksums
diff --git a/src/mainboard/lenovo/haswell/cmos.default b/src/mainboard/lenovo/haswell/cmos.default
-index 08db97c5a9..cc6b363cd9 100644
+index e1044343a9..13ee202983 100644
--- a/src/mainboard/lenovo/haswell/cmos.default
+++ b/src/mainboard/lenovo/haswell/cmos.default
-@@ -14,3 +14,4 @@ trackpoint=Enable
+@@ -13,3 +13,4 @@ trackpoint=Enable
backlight=Keyboard
enable_dual_graphics=Disable
usb_always_on=Disable
+iommu=Enable
diff --git a/src/mainboard/lenovo/haswell/cmos.layout b/src/mainboard/lenovo/haswell/cmos.layout
-index 27915d3ab7..59df76b64c 100644
+index 5fb6972a92..a866b47f08 100644
--- a/src/mainboard/lenovo/haswell/cmos.layout
+++ b/src/mainboard/lenovo/haswell/cmos.layout
-@@ -23,6 +23,7 @@ entries
+@@ -22,6 +22,7 @@ entries
+ 409 2 e 7 power_on_after_fail
# coreboot config options: EC
- 411 1 e 8 first_battery
+413 1 e 14 iommu
415 1 e 1 wlan
416 1 e 1 trackpoint
417 1 e 1 fn_ctrl_swap
-@@ -72,6 +73,8 @@ enumerations
+@@ -71,6 +72,8 @@ enumerations
13 0 Disable
13 1 AC and battery
13 2 AC only
@@ -265,28 +265,29 @@ index 38ba87aa45..24d39e97ee 100644
checksums
diff --git a/src/northbridge/intel/haswell/early_init.c b/src/northbridge/intel/haswell/early_init.c
-index e47deb5da6..1a7e0b1076 100644
+index 6a5ce53a40..5f07fa0b17 100644
--- a/src/northbridge/intel/haswell/early_init.c
+++ b/src/northbridge/intel/haswell/early_init.c
-@@ -5,6 +5,7 @@
- #include <device/mmio.h>
+@@ -6,6 +6,7 @@
#include <device/pci_def.h>
#include <device/pci_ops.h>
+ #include <types.h>
+#include <option.h>
#include "haswell.h"
-@@ -157,6 +158,10 @@ static void haswell_setup_misc(void)
- static void haswell_setup_iommu(void)
+@@ -80,6 +81,11 @@ static void haswell_setup_misc(void)
+ static void northbridge_setup_iommu(void)
{
const u32 capid0_a = pci_read_config32(HOST_BRIDGE, CAPID0_A);
+ u8 enable_iommu = get_uint_option("iommu", 1);
+
+ if (!enable_iommu)
+ return;
-
++
if (capid0_a & VTD_DISABLE)
return;
+
--
2.47.3
diff --git a/config/module/coreboot/default/patches/0012-dell-optiplex_9020-Disable-IOMMU-by-default.patch b/config/module/coreboot/default/patches/0012-dell-optiplex_9020-Disable-IOMMU-by-default.patch
index 3e6b8085..bae908c6 100644
--- a/config/module/coreboot/default/patches/0012-dell-optiplex_9020-Disable-IOMMU-by-default.patch
+++ b/config/module/coreboot/default/patches/0012-dell-optiplex_9020-Disable-IOMMU-by-default.patch
@@ -1,7 +1,7 @@
-From 0f76a919522c9624c2b5df2a9c17525ab21bd6b9 Mon Sep 17 00:00:00 2001
+From 65517ed6a68335f0a4cd20cca52f4c190c0f8d83 Mon Sep 17 00:00:00 2001
From: Leah Rowe <info@minifree.org>
Date: Sat, 2 Mar 2024 23:00:09 +0000
-Subject: [PATCH 12/48] dell/optiplex_9020: Disable IOMMU by default
+Subject: [PATCH 12/56] dell/optiplex_9020: Disable IOMMU by default
Needed to make graphics cards work. Turning it on is
recommended if only using iGPU, otherwise leave it off
diff --git a/config/module/coreboot/default/patches/0013-nb-haswell-Fully-disable-iGPU-when-dGPU-is-used.patch b/config/module/coreboot/default/patches/0013-nb-haswell-Fully-disable-iGPU-when-dGPU-is-used.patch
index 56b61882..d99763d0 100644
--- a/config/module/coreboot/default/patches/0013-nb-haswell-Fully-disable-iGPU-when-dGPU-is-used.patch
+++ b/config/module/coreboot/default/patches/0013-nb-haswell-Fully-disable-iGPU-when-dGPU-is-used.patch
@@ -1,7 +1,7 @@
-From df64f2825157226b98e002e746114e25b0047438 Mon Sep 17 00:00:00 2001
+From 688dcbc22e89ab83c7d1ea55273728e837964642 Mon Sep 17 00:00:00 2001
From: Leah Rowe <info@minifree.org>
Date: Sat, 6 Apr 2024 01:22:47 +0100
-Subject: [PATCH 13/48] nb/haswell: Fully disable iGPU when dGPU is used
+Subject: [PATCH 13/56] nb/haswell: Fully disable iGPU when dGPU is used
My earlier patch disabled decode *and* disabled the iGPU itself, but
a subsequent revision disabled only VGA decode. Upon revisiting, I
@@ -33,10 +33,10 @@ Signed-off-by: Leah Rowe <info@minifree.org>
1 file changed, 3 insertions(+)
diff --git a/src/northbridge/intel/haswell/gma.c b/src/northbridge/intel/haswell/gma.c
-index f7fad3183d..1b188e92e1 100644
+index fc44a98a57..451147d082 100644
--- a/src/northbridge/intel/haswell/gma.c
+++ b/src/northbridge/intel/haswell/gma.c
-@@ -466,6 +466,9 @@ static void gma_func0_disable(struct device *dev)
+@@ -655,6 +655,9 @@ static void gma_func0_disable(struct device *dev)
{
/* Disable VGA decode */
pci_or_config16(pcidev_on_root(0, 0), GGC, 1 << 1);
diff --git a/config/module/coreboot/default/patches/0014-ec-dell-mec5035-Add-S3-suspend-SMI-handler.patch b/config/module/coreboot/default/patches/0014-ec-dell-mec5035-Add-S3-suspend-SMI-handler.patch
index 722e895d..cc527b9b 100644
--- a/config/module/coreboot/default/patches/0014-ec-dell-mec5035-Add-S3-suspend-SMI-handler.patch
+++ b/config/module/coreboot/default/patches/0014-ec-dell-mec5035-Add-S3-suspend-SMI-handler.patch
@@ -1,7 +1,7 @@
-From fdf4774a6e80b1f94079abb346049113dfbf5241 Mon Sep 17 00:00:00 2001
+From 8112eb9d74628c12daa136f1b7d91f51eacc08a5 Mon Sep 17 00:00:00 2001
From: Nicholas Chin <nic.c3.14@gmail.com>
Date: Fri, 3 May 2024 11:03:32 -0600
-Subject: [PATCH 14/48] ec/dell/mec5035: Add S3 suspend SMI handler
+Subject: [PATCH 14/56] ec/dell/mec5035: Add S3 suspend SMI handler
This is necessary for S3 resume to work on SNB and newer Dell Latitude
laptops. If a command isn't sent, the EC cuts power to the DIMMs,
diff --git a/config/module/coreboot/default/patches/0015-nb-haswell-lock-policy-regs-when-disabling-IOMMU.patch b/config/module/coreboot/default/patches/0015-nb-haswell-lock-policy-regs-when-disabling-IOMMU.patch
index ac672295..a8641cce 100644
--- a/config/module/coreboot/default/patches/0015-nb-haswell-lock-policy-regs-when-disabling-IOMMU.patch
+++ b/config/module/coreboot/default/patches/0015-nb-haswell-lock-policy-regs-when-disabling-IOMMU.patch
@@ -1,7 +1,7 @@
-From 18216387e5c40ec3c80c63ec25e9b0c55a009cff Mon Sep 17 00:00:00 2001
+From 06a4925ea4ecb9015b1bd4007d305e26d0f61fbd Mon Sep 17 00:00:00 2001
From: Leah Rowe <info@minifree.org>
Date: Sat, 4 May 2024 02:00:53 +0100
-Subject: [PATCH 15/48] nb/haswell: lock policy regs when disabling IOMMU
+Subject: [PATCH 15/56] nb/haswell: lock policy regs when disabling IOMMU
Angel Pons told me I should do it. See comments here:
https://review.coreboot.org/c/coreboot/+/81016
@@ -22,10 +22,10 @@ Signed-off-by: Leah Rowe <info@minifree.org>
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/src/northbridge/intel/haswell/early_init.c b/src/northbridge/intel/haswell/early_init.c
-index 1a7e0b1076..e9506ee830 100644
+index 5f07fa0b17..e0007f72ee 100644
--- a/src/northbridge/intel/haswell/early_init.c
+++ b/src/northbridge/intel/haswell/early_init.c
-@@ -160,17 +160,16 @@ static void haswell_setup_iommu(void)
+@@ -83,17 +83,16 @@ static void northbridge_setup_iommu(void)
const u32 capid0_a = pci_read_config32(HOST_BRIDGE, CAPID0_A);
u8 enable_iommu = get_uint_option("iommu", 1);
@@ -48,8 +48,8 @@ index 1a7e0b1076..e9506ee830 100644
+ mchbar_write32(VTVC0BAR + 0, VTVC0_BASE_ADDRESS | 1);
+ }
- /* Set L3HIT2PEND_DIS, lock GFXVTBAR policy config registers */
- u32 reg32;
+ if (cpu_is_haswell()) {
+ /*
--
2.47.3
diff --git a/config/module/coreboot/default/patches/0016-nb-intel-gm45-Make-DDR2-raminit-work.patch b/config/module/coreboot/default/patches/0016-nb-intel-gm45-Make-DDR2-raminit-work.patch
index e7c8d0a9..f77d401b 100644
--- a/config/module/coreboot/default/patches/0016-nb-intel-gm45-Make-DDR2-raminit-work.patch
+++ b/config/module/coreboot/default/patches/0016-nb-intel-gm45-Make-DDR2-raminit-work.patch
@@ -1,7 +1,7 @@
-From d797b9d19c6bc3224897000756caef29e98dd266 Mon Sep 17 00:00:00 2001
+From f9153059f6f23beaefa8af7eded6ad2614da01f6 Mon Sep 17 00:00:00 2001
From: Angel Pons <th3fanbus@gmail.com>
Date: Mon, 10 May 2021 22:40:59 +0200
-Subject: [PATCH 16/48] nb/intel/gm45: Make DDR2 raminit work
+Subject: [PATCH 16/56] nb/intel/gm45: Make DDR2 raminit work
List of changes:
- Update some timing and ODT values
@@ -20,7 +20,7 @@ Signed-off-by: Angel Pons <th3fanbus@gmail.com>
3 files changed, 106 insertions(+), 13 deletions(-)
diff --git a/src/northbridge/intel/gm45/gm45.h b/src/northbridge/intel/gm45/gm45.h
-index f68bfdee7a..b76117bc3a 100644
+index 90ab570524..d537ef82af 100644
--- a/src/northbridge/intel/gm45/gm45.h
+++ b/src/northbridge/intel/gm45/gm45.h
@@ -420,7 +420,7 @@ void igd_compute_ggc(sysinfo_t *const sysinfo);
diff --git a/config/module/coreboot/default/patches/0017-nb-gm45-Fix-Angel-s-DDR2-RCOMP-fix-on-DDR3-boards.patch b/config/module/coreboot/default/patches/0017-nb-gm45-Fix-Angel-s-DDR2-RCOMP-fix-on-DDR3-boards.patch
index 51ba3ae7..64be2c33 100644
--- a/config/module/coreboot/default/patches/0017-nb-gm45-Fix-Angel-s-DDR2-RCOMP-fix-on-DDR3-boards.patch
+++ b/config/module/coreboot/default/patches/0017-nb-gm45-Fix-Angel-s-DDR2-RCOMP-fix-on-DDR3-boards.patch
@@ -1,7 +1,7 @@
-From e573065ac900d4decfd4dbd0a1464d82501ac3c5 Mon Sep 17 00:00:00 2001
+From 8206e34eb1e3f4270a81d642f317471c11c5886a Mon Sep 17 00:00:00 2001
From: Leah Rowe <info@minifree.org>
Date: Tue, 6 Aug 2024 00:50:24 +0100
-Subject: [PATCH 17/48] nb/gm45: Fix Angel's DDR2 RCOMP fix on DDR3 boards
+Subject: [PATCH 17/56] nb/gm45: Fix Angel's DDR2 RCOMP fix on DDR3 boards
We add this patch:
diff --git a/config/module/coreboot/default/patches/0018-mb-dell-e6400-Use-100-MHz-reference-clock-for-displa.patch b/config/module/coreboot/default/patches/0018-mb-dell-e6400-Use-100-MHz-reference-clock-for-displa.patch
index fdb225e8..991fcc79 100644
--- a/config/module/coreboot/default/patches/0018-mb-dell-e6400-Use-100-MHz-reference-clock-for-displa.patch
+++ b/config/module/coreboot/default/patches/0018-mb-dell-e6400-Use-100-MHz-reference-clock-for-displa.patch
@@ -1,7 +1,7 @@
-From 130a5ca25fbedb58e49b613e4a7cece715b545ae Mon Sep 17 00:00:00 2001
+From 122c32bac999cb9f1d1902f8e8505de19b9c289b Mon Sep 17 00:00:00 2001
From: Nicholas Chin <nic.c3.14@gmail.com>
Date: Mon, 20 May 2024 10:24:16 -0600
-Subject: [PATCH 18/48] mb/dell/e6400: Use 100 MHz reference clock for display
+Subject: [PATCH 18/56] mb/dell/e6400: Use 100 MHz reference clock for display
The E6400 uses a 100 MHz reference clock for spread spectrum support on
LVDS, whereas libgfxinit previously assumed a 96 MHz input clock. For
diff --git a/config/module/coreboot/default/patches/0019-nb-x4x-define-INTEL_GMA_DPLL_REF_FREQ.patch b/config/module/coreboot/default/patches/0019-nb-x4x-define-INTEL_GMA_DPLL_REF_FREQ.patch
index b7af55b4..a461d2a1 100644
--- a/config/module/coreboot/default/patches/0019-nb-x4x-define-INTEL_GMA_DPLL_REF_FREQ.patch
+++ b/config/module/coreboot/default/patches/0019-nb-x4x-define-INTEL_GMA_DPLL_REF_FREQ.patch
@@ -1,7 +1,7 @@
-From 7641a4b9b91c385223026cd566e0ffc2a2aa0d8f Mon Sep 17 00:00:00 2001
+From 527149c7ae247791e8e50c8e09d39f136a2510ec Mon Sep 17 00:00:00 2001
From: Leah Rowe <info@minifree.org>
Date: Mon, 12 Aug 2024 02:15:24 +0100
-Subject: [PATCH 19/48] nb/x4x: define INTEL_GMA_DPLL_REF_FREQ
+Subject: [PATCH 19/56] nb/x4x: define INTEL_GMA_DPLL_REF_FREQ
set it to 96MHz. fixes the following build error when
building for x4x boards e.g. gigabyte ga-g41m-es2l:
diff --git a/config/module/coreboot/default/patches/0020-mb-dell-gm45_latitudes-Add-E4300-variant.patch b/config/module/coreboot/default/patches/0020-mb-dell-gm45_latitudes-Add-E4300-variant.patch
index c9603f71..afb0d37c 100644
--- a/config/module/coreboot/default/patches/0020-mb-dell-gm45_latitudes-Add-E4300-variant.patch
+++ b/config/module/coreboot/default/patches/0020-mb-dell-gm45_latitudes-Add-E4300-variant.patch
@@ -1,7 +1,7 @@
-From 36126c093a9b9e01d41f0a68977cd09070c3c276 Mon Sep 17 00:00:00 2001
+From b6f82ec86cd3cc34264f999d6a9a5c30a72cea60 Mon Sep 17 00:00:00 2001
From: Nicholas Chin <nic.c3.14@gmail.com>
Date: Thu, 26 Sep 2024 19:51:25 -0600
-Subject: [PATCH 20/48] mb/dell/gm45_latitudes: Add E4300 variant
+Subject: [PATCH 20/56] mb/dell/gm45_latitudes: Add E4300 variant
Change-Id: I0f2059501b11be103187e3ce1a7c04ab85ae63d2
Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
diff --git a/config/module/coreboot/default/patches/0021-mb-dell-Add-S3-SMI-handler-for-Dell-Latitudes.patch b/config/module/coreboot/default/patches/0021-mb-dell-Add-S3-SMI-handler-for-Dell-Latitudes.patch
index 238e4799..ddcfc998 100644
--- a/config/module/coreboot/default/patches/0021-mb-dell-Add-S3-SMI-handler-for-Dell-Latitudes.patch
+++ b/config/module/coreboot/default/patches/0021-mb-dell-Add-S3-SMI-handler-for-Dell-Latitudes.patch
@@ -1,7 +1,7 @@
-From 4caca6e6e349fa1913df622081025ea53bfd136f Mon Sep 17 00:00:00 2001
+From 95028f8238873d05e5e3feb35e4faf5873e15c84 Mon Sep 17 00:00:00 2001
From: Nicholas Chin <nic.c3.14@gmail.com>
Date: Fri, 3 May 2024 16:31:12 -0600
-Subject: [PATCH 21/48] mb/dell: Add S3 SMI handler for Dell Latitudes
+Subject: [PATCH 21/56] mb/dell: Add S3 SMI handler for Dell Latitudes
Integrate the previously added mec5035_smi_sleep() function into
mainboard code to fix S3 suspend on the SNB/IVB Latitudes and the E7240.
diff --git a/config/module/coreboot/default/patches/0022-Disable-compression-on-refcode-insertion.patch b/config/module/coreboot/default/patches/0022-Disable-compression-on-refcode-insertion.patch
index deaefbfd..4f823461 100644
--- a/config/module/coreboot/default/patches/0022-Disable-compression-on-refcode-insertion.patch
+++ b/config/module/coreboot/default/patches/0022-Disable-compression-on-refcode-insertion.patch
@@ -1,7 +1,7 @@
-From 669ef0d2c72326134f64a4fe70f67220ec690c5e Mon Sep 17 00:00:00 2001
+From f8473af3c923cd7cdc0f1d5d359dc0d52882e990 Mon Sep 17 00:00:00 2001
From: Leah Rowe <info@minifree.org>
Date: Tue, 31 Dec 2024 14:42:24 +0000
-Subject: [PATCH 22/48] Disable compression on refcode insertion
+Subject: [PATCH 22/56] Disable compression on refcode insertion
Compression is not reliably reproducible. In an lbmk release
context, this means we cannot rely on vendorfile insertion.
@@ -14,10 +14,10 @@ Signed-off-by: Leah Rowe <info@minifree.org>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.mk b/Makefile.mk
-index 5fccb4a52d..c40e06c453 100644
+index 7a208d041d..688ba99c14 100644
--- a/Makefile.mk
+++ b/Makefile.mk
-@@ -1414,7 +1414,7 @@ endif
+@@ -1457,7 +1457,7 @@ endif
cbfs-files-$(CONFIG_HAVE_REFCODE_BLOB) += $(CONFIG_CBFS_PREFIX)/refcode
$(CONFIG_CBFS_PREFIX)/refcode-file := $(REFCODE_BLOB)
$(CONFIG_CBFS_PREFIX)/refcode-type := stage
diff --git a/config/module/coreboot/default/patches/0023-nb-intel-Disable-stack-overflow-debug-options.patch b/config/module/coreboot/default/patches/0023-nb-intel-Disable-stack-overflow-debug-options.patch
index 3bb55c37..119a4d08 100644
--- a/config/module/coreboot/default/patches/0023-nb-intel-Disable-stack-overflow-debug-options.patch
+++ b/config/module/coreboot/default/patches/0023-nb-intel-Disable-stack-overflow-debug-options.patch
@@ -1,7 +1,7 @@
-From c7b136f1f4fa2bc1a783711b5a1ee82c5d9ce69f Mon Sep 17 00:00:00 2001
+From 90eb04245922aaf89f2fb8ddf579124a7978282a Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Mon, 21 Apr 2025 02:58:47 +0100
-Subject: [PATCH 23/48] nb/intel/*: Disable stack overflow debug options
+Subject: [PATCH 23/56] nb/intel/*: Disable stack overflow debug options
Signed-off-by: Leah Rowe <leah@libreboot.org>
---
@@ -52,10 +52,10 @@ index 35e89b0c88..c5456d0ddf 100644
+
endif
diff --git a/src/northbridge/intel/haswell/Kconfig b/src/northbridge/intel/haswell/Kconfig
-index c57f1ec380..0a5181b183 100644
+index 6015c31702..d2ade2912f 100644
--- a/src/northbridge/intel/haswell/Kconfig
+++ b/src/northbridge/intel/haswell/Kconfig
-@@ -10,6 +10,15 @@ config NORTHBRIDGE_INTEL_HASWELL
+@@ -9,6 +9,15 @@ config NORTHBRIDGE_INTEL_HASWELL
if NORTHBRIDGE_INTEL_HASWELL
@@ -93,10 +93,10 @@ index dbb2d7436b..5e9418b6a9 100644
+
+endif
diff --git a/src/northbridge/intel/i945/Kconfig b/src/northbridge/intel/i945/Kconfig
-index c4e17f90bf..b12f5be091 100644
+index 5668fed4a8..a259d8e26b 100644
--- a/src/northbridge/intel/i945/Kconfig
+++ b/src/northbridge/intel/i945/Kconfig
-@@ -89,4 +89,13 @@ config FIXED_DMIBAR_MMIO_BASE
+@@ -80,4 +80,13 @@ config FIXED_DMIBAR_MMIO_BASE
config FIXED_EPBAR_MMIO_BASE
default 0xfed19000
@@ -129,7 +129,7 @@ index 39566a6e5f..f46acf6937 100644
+
endif
diff --git a/src/northbridge/intel/pineview/Kconfig b/src/northbridge/intel/pineview/Kconfig
-index a05b866dad..50e3a7cdb9 100644
+index 341f29534d..0f825781f9 100644
--- a/src/northbridge/intel/pineview/Kconfig
+++ b/src/northbridge/intel/pineview/Kconfig
@@ -42,4 +42,13 @@ config FIXED_EPBAR_MMIO_BASE
diff --git a/config/module/coreboot/default/patches/0024-mb-dell-Add-Optiplex-780-MT-x4x-ICH10.patch b/config/module/coreboot/default/patches/0024-mb-dell-Add-Optiplex-780-MT-x4x-ICH10.patch
index 22061393..60309c79 100644
--- a/config/module/coreboot/default/patches/0024-mb-dell-Add-Optiplex-780-MT-x4x-ICH10.patch
+++ b/config/module/coreboot/default/patches/0024-mb-dell-Add-Optiplex-780-MT-x4x-ICH10.patch
@@ -1,7 +1,7 @@
-From c15a0ef9b964e9df9a5578ed271af4f1c0419f38 Mon Sep 17 00:00:00 2001
+From 07fd30a72490b28a591714ffa092ef763e813b7c Mon Sep 17 00:00:00 2001
From: Nicholas Chin <nic.c3.14@gmail.com>
Date: Mon, 30 Sep 2024 20:44:38 -0400
-Subject: [PATCH 24/48] mb/dell: Add Optiplex 780 MT (x4x/ICH10)
+Subject: [PATCH 24/56] mb/dell: Add Optiplex 780 MT (x4x/ICH10)
Change-Id: Idb45737ce95bfd26e978323c650de7d308b5079c
Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
diff --git a/config/module/coreboot/default/patches/0025-mb-dell-optiplex_780-Add-USFF-variant.patch b/config/module/coreboot/default/patches/0025-mb-dell-optiplex_780-Add-USFF-variant.patch
index c126ee58..68d01ee0 100644
--- a/config/module/coreboot/default/patches/0025-mb-dell-optiplex_780-Add-USFF-variant.patch
+++ b/config/module/coreboot/default/patches/0025-mb-dell-optiplex_780-Add-USFF-variant.patch
@@ -1,7 +1,7 @@
-From bfd5f6628a69d8704a84b30c4027149fe1b21efa Mon Sep 17 00:00:00 2001
+From bbab84fdcd02f2dac8b9c8a731f8ae9615074b0f Mon Sep 17 00:00:00 2001
From: Nicholas Chin <nic.c3.14@gmail.com>
Date: Wed, 30 Oct 2024 20:55:25 -0600
-Subject: [PATCH 25/48] mb/dell/optiplex_780: Add USFF variant
+Subject: [PATCH 25/56] mb/dell/optiplex_780: Add USFF variant
Change-Id: I3aa21c743749f4a11a2501f4c121316bd2f1a103
Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
diff --git a/config/module/coreboot/default/patches/0026-src-intel-x4x-Disable-stack-overflow-debug.patch b/config/module/coreboot/default/patches/0026-src-intel-x4x-Disable-stack-overflow-debug.patch
index 4c693f65..bd4c0937 100644
--- a/config/module/coreboot/default/patches/0026-src-intel-x4x-Disable-stack-overflow-debug.patch
+++ b/config/module/coreboot/default/patches/0026-src-intel-x4x-Disable-stack-overflow-debug.patch
@@ -1,7 +1,7 @@
-From 82f47133c20abc720f5d5fa8a54be465ebd95f28 Mon Sep 17 00:00:00 2001
+From e539f904da3abb66255a112e9441c5f6611b26e8 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Mon, 6 Jan 2025 01:53:53 +0000
-Subject: [PATCH 26/48] src/intel/x4x: Disable stack overflow debug
+Subject: [PATCH 26/56] src/intel/x4x: Disable stack overflow debug
Signed-off-by: Leah Rowe <leah@libreboot.org>
---
diff --git a/config/module/coreboot/default/patches/0027-hp-8300cmt-remove-xhci_overcurrent_mapping.patch b/config/module/coreboot/default/patches/0027-hp-8300cmt-remove-xhci_overcurrent_mapping.patch
index da5ae94d..bd6f3a64 100644
--- a/config/module/coreboot/default/patches/0027-hp-8300cmt-remove-xhci_overcurrent_mapping.patch
+++ b/config/module/coreboot/default/patches/0027-hp-8300cmt-remove-xhci_overcurrent_mapping.patch
@@ -1,7 +1,7 @@
-From 5c4439fb513c315ef3effff19146b331c492fa9b Mon Sep 17 00:00:00 2001
+From 4007d60d44e646bd5081827b4679c0ddf4bb99ca Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Tue, 22 Apr 2025 10:21:59 +0100
-Subject: [PATCH 27/48] hp/8300cmt: remove xhci_overcurrent_mapping
+Subject: [PATCH 27/56] hp/8300cmt: remove xhci_overcurrent_mapping
No longer needed, as per the following commit:
diff --git a/config/module/coreboot/default/patches/0028-dell-3050micro-disable-nvme-hotplug.patch b/config/module/coreboot/default/patches/0028-dell-3050micro-disable-nvme-hotplug.patch
index 52b49b36..9b8b3822 100644
--- a/config/module/coreboot/default/patches/0028-dell-3050micro-disable-nvme-hotplug.patch
+++ b/config/module/coreboot/default/patches/0028-dell-3050micro-disable-nvme-hotplug.patch
@@ -1,7 +1,7 @@
-From 71ec1f7a6480e72b77a567f8cc0c2673a5e7905f Mon Sep 17 00:00:00 2001
+From 3ef3cc9f7089e85571480a6b7b171a7fa66cb33e Mon Sep 17 00:00:00 2001
From: Leah Rowe <info@minifree.org>
Date: Wed, 11 Dec 2024 01:06:01 +0000
-Subject: [PATCH 28/48] dell/3050micro: disable nvme hotplug
+Subject: [PATCH 28/56] dell/3050micro: disable nvme hotplug
in my testing, when running my 3050micro for a few days,
the nvme would sometimes randomly rename.
diff --git a/config/module/coreboot/default/patches/0029-src-intel-skylake-Disable-stack-overflow-debug-optio.patch b/config/module/coreboot/default/patches/0029-src-intel-skylake-Disable-stack-overflow-debug-optio.patch
index 78ccf785..15c866d1 100644
--- a/config/module/coreboot/default/patches/0029-src-intel-skylake-Disable-stack-overflow-debug-optio.patch
+++ b/config/module/coreboot/default/patches/0029-src-intel-skylake-Disable-stack-overflow-debug-optio.patch
@@ -1,7 +1,7 @@
-From 95a0af0eea56e1bddcb243ed135835448b90fa56 Mon Sep 17 00:00:00 2001
+From 007a83486f5cd2528067f18059fcd81e5f5230fa Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Mon, 6 Jan 2025 01:36:23 +0000
-Subject: [PATCH 29/48] src/intel/skylake: Disable stack overflow debug options
+Subject: [PATCH 29/56] src/intel/skylake: Disable stack overflow debug options
The option was appearing in T480/3050micro configs of lbmk,
after updating on the coreboot/next uprev for 20241206 rev8:
@@ -37,10 +37,10 @@ Signed-off-by: Leah Rowe <leah@libreboot.org>
1 file changed, 9 insertions(+)
diff --git a/src/soc/intel/skylake/Kconfig b/src/soc/intel/skylake/Kconfig
-index 7c530f2c75..70c2a7643c 100644
+index beb6f13fee..420dbf44f8 100644
--- a/src/soc/intel/skylake/Kconfig
+++ b/src/soc/intel/skylake/Kconfig
-@@ -131,6 +131,15 @@ config DCACHE_RAM_SIZE
+@@ -137,6 +137,15 @@ config DCACHE_RAM_SIZE
The size of the cache-as-ram region required during bootblock
and/or romstage.
diff --git a/config/module/coreboot/default/patches/0030-soc-intel-skylake-Don-t-compress-FSP-S.patch b/config/module/coreboot/default/patches/0030-soc-intel-skylake-Don-t-compress-FSP-S.patch
index e5f4987b..8e44d8ba 100644
--- a/config/module/coreboot/default/patches/0030-soc-intel-skylake-Don-t-compress-FSP-S.patch
+++ b/config/module/coreboot/default/patches/0030-soc-intel-skylake-Don-t-compress-FSP-S.patch
@@ -1,7 +1,7 @@
-From 7d94457ba0e2be10d781c5fd0659d895c9b558b1 Mon Sep 17 00:00:00 2001
+From 0fb7c56281be432743531c033d1bae046f2004ef Mon Sep 17 00:00:00 2001
From: Leah Rowe <info@minifree.org>
Date: Thu, 26 Dec 2024 19:45:20 +0000
-Subject: [PATCH 30/48] soc/intel/skylake: Don't compress FSP-S
+Subject: [PATCH 30/56] soc/intel/skylake: Don't compress FSP-S
Build systems like lbmk need to reproducibly insert
certain vendor files on release images.
@@ -19,10 +19,10 @@ Signed-off-by: Leah Rowe <info@minifree.org>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/soc/intel/skylake/Kconfig b/src/soc/intel/skylake/Kconfig
-index 70c2a7643c..a2854923e7 100644
+index 420dbf44f8..f0b8f92c07 100644
--- a/src/soc/intel/skylake/Kconfig
+++ b/src/soc/intel/skylake/Kconfig
-@@ -14,7 +14,7 @@ config SOC_INTEL_COMMON_SKYLAKE_BASE
+@@ -15,7 +15,7 @@ config SOC_INTEL_COMMON_SKYLAKE_BASE
select DRAM_SUPPORT_DDR4
select DRIVERS_USB_ACPI
select EDK2_CPU_TIMER_LIB if PAYLOAD_EDK2
diff --git a/config/module/coreboot/default/patches/0031-lenovo-Add-Kconfig-option-CONFIG_LENOVO_TBFW_BIN.patch b/config/module/coreboot/default/patches/0031-lenovo-Add-Kconfig-option-CONFIG_LENOVO_TBFW_BIN.patch
index d1d47338..50a8bbee 100644
--- a/config/module/coreboot/default/patches/0031-lenovo-Add-Kconfig-option-CONFIG_LENOVO_TBFW_BIN.patch
+++ b/config/module/coreboot/default/patches/0031-lenovo-Add-Kconfig-option-CONFIG_LENOVO_TBFW_BIN.patch
@@ -1,7 +1,7 @@
-From 8768e53f3b2ceb00ec0c8abf0fc0af03993820b1 Mon Sep 17 00:00:00 2001
+From de812fb7f9d1a898c5a00ff61dcdf5fbbfee899d Mon Sep 17 00:00:00 2001
From: Leah Rowe <info@minifree.org>
Date: Wed, 18 Dec 2024 02:06:18 +0000
-Subject: [PATCH 31/48] lenovo: Add Kconfig option CONFIG_LENOVO_TBFW_BIN
+Subject: [PATCH 31/56] lenovo: Add Kconfig option CONFIG_LENOVO_TBFW_BIN
This is used by lbmk to know where a tb.bin file goes,
when extracting and padding TBT.bin from Lenovo ThunderBolt
diff --git a/config/module/coreboot/default/patches/0032-Conditional-TBFW-setting-for-kabylake-thinkpads.patch b/config/module/coreboot/default/patches/0032-Conditional-TBFW-setting-for-kabylake-thinkpads.patch
index 6ed150e7..1c5258e0 100644
--- a/config/module/coreboot/default/patches/0032-Conditional-TBFW-setting-for-kabylake-thinkpads.patch
+++ b/config/module/coreboot/default/patches/0032-Conditional-TBFW-setting-for-kabylake-thinkpads.patch
@@ -1,7 +1,7 @@
-From 579c60fd77517497eb18dfeca8d73cdca94c15da Mon Sep 17 00:00:00 2001
+From c3d8d9b0433c6591b25d31e65e3b60f3d5645fc4 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Mon, 21 Apr 2025 05:14:45 +0100
-Subject: [PATCH 32/48] Conditional TBFW setting for kabylake thinkpads
+Subject: [PATCH 32/56] Conditional TBFW setting for kabylake thinkpads
Otherwise, other boards will define it, which
might trigger the vendor download script, and
diff --git a/config/module/coreboot/default/patches/0033-soc-intel-alderlake-Disable-MRC_CACHE_USING_MRC_VERS.patch b/config/module/coreboot/default/patches/0033-soc-intel-alderlake-Disable-MRC_CACHE_USING_MRC_VERS.patch
index 64f257e4..81e68d87 100644
--- a/config/module/coreboot/default/patches/0033-soc-intel-alderlake-Disable-MRC_CACHE_USING_MRC_VERS.patch
+++ b/config/module/coreboot/default/patches/0033-soc-intel-alderlake-Disable-MRC_CACHE_USING_MRC_VERS.patch
@@ -1,7 +1,7 @@
-From 23d8a97ff213f744b4e6333d92fc90e9ea97e879 Mon Sep 17 00:00:00 2001
+From aa4d0e3c165d215788f576e99493b1cb5568be9d Mon Sep 17 00:00:00 2001
From: Riku Viitanen <riku.viitanen@protonmail.com>
Date: Sat, 27 Sep 2025 23:30:46 +0300
-Subject: [PATCH 33/48] soc/intel/alderlake: Disable
+Subject: [PATCH 33/56] soc/intel/alderlake: Disable
MRC_CACHE_USING_MRC_VERSION
There's some issue with building against the FSP headers in src/vendorcode.
@@ -14,7 +14,7 @@ Signed-off-by: Riku Viitanen <riku.viitanen@protonmail.com>
1 file changed, 1 deletion(-)
diff --git a/src/soc/intel/alderlake/Kconfig b/src/soc/intel/alderlake/Kconfig
-index 34c9baf544..e0ab6b10fd 100644
+index 57d3f34c04..f378b0d410 100644
--- a/src/soc/intel/alderlake/Kconfig
+++ b/src/soc/intel/alderlake/Kconfig
@@ -36,7 +36,6 @@ config SOC_INTEL_ALDERLAKE
diff --git a/config/module/coreboot/default/patches/0034-Subject-PATCH-1-1-Add-a-p-option-skip-FPTR-checks.patch b/config/module/coreboot/default/patches/0034-Subject-PATCH-1-1-Add-a-p-option-skip-FPTR-checks.patch
index bb6e39c0..d446d839 100644
--- a/config/module/coreboot/default/patches/0034-Subject-PATCH-1-1-Add-a-p-option-skip-FPTR-checks.patch
+++ b/config/module/coreboot/default/patches/0034-Subject-PATCH-1-1-Add-a-p-option-skip-FPTR-checks.patch
@@ -1,7 +1,7 @@
-From e2e070ab1f080c0ae59c43131faa57f3499fd813 Mon Sep 17 00:00:00 2001
+From 7471f231a160ed66ed003ea5b79ffd7ae65c23a8 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 28 Sep 2025 03:17:50 +0100
-Subject: [PATCH 34/48] Subject: [PATCH 1/1] Add a -p option (skip FPTR checks)
+Subject: [PATCH 34/56] Subject: [PATCH 1/1] Add a -p option (skip FPTR checks)
if you pass -k (keep fptr modules), don't use -r, don't
use -t, you can essentially just use me_cleaner to
diff --git a/config/module/coreboot/default/patches/0035-soc-intel-alderlake-Don-t-compress-FSP-S.patch b/config/module/coreboot/default/patches/0035-soc-intel-alderlake-Don-t-compress-FSP-S.patch
index 2292605e..47be833a 100644
--- a/config/module/coreboot/default/patches/0035-soc-intel-alderlake-Don-t-compress-FSP-S.patch
+++ b/config/module/coreboot/default/patches/0035-soc-intel-alderlake-Don-t-compress-FSP-S.patch
@@ -1,7 +1,7 @@
-From fee89a6c872ec26c2ea128ecdce62d6c3abe53f1 Mon Sep 17 00:00:00 2001
+From 6f27a15dee6750784fce8b3a834ca4cf817c8b75 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sat, 4 Oct 2025 21:57:43 +0100
-Subject: [PATCH 35/48] soc/intel/alderlake: Don't compress FSP-S
+Subject: [PATCH 35/56] soc/intel/alderlake: Don't compress FSP-S
Build systems like lbmk need to reproducibly insert
certain vendor files on release images.
@@ -18,7 +18,7 @@ Signed-off-by: Leah Rowe <leah@libreboot.org>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/soc/intel/alderlake/Kconfig b/src/soc/intel/alderlake/Kconfig
-index e0ab6b10fd..a2e7cff6f6 100644
+index f378b0d410..550da178d7 100644
--- a/src/soc/intel/alderlake/Kconfig
+++ b/src/soc/intel/alderlake/Kconfig
@@ -16,7 +16,7 @@ config SOC_INTEL_ALDERLAKE
diff --git a/config/module/coreboot/default/patches/0036-alderlake-don-t-require-full-fsp-repo-for-fd-path.patch b/config/module/coreboot/default/patches/0036-alderlake-don-t-require-full-fsp-repo-for-fd-path.patch
index a4f9068d..83df3a7e 100644
--- a/config/module/coreboot/default/patches/0036-alderlake-don-t-require-full-fsp-repo-for-fd-path.patch
+++ b/config/module/coreboot/default/patches/0036-alderlake-don-t-require-full-fsp-repo-for-fd-path.patch
@@ -1,7 +1,7 @@
-From abd26006eff71c9570bc90fdbce3a76f8f559cea Mon Sep 17 00:00:00 2001
+From 10c8f14db5e2cdef10131cc4a73fdb9e2b02bc03 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sat, 4 Oct 2025 22:20:11 +0100
-Subject: [PATCH 36/48] alderlake: don't require full fsp repo for fd path
+Subject: [PATCH 36/56] alderlake: don't require full fsp repo for fd path
Signed-off-by: Leah Rowe <leah@libreboot.org>
---
@@ -9,10 +9,10 @@ Signed-off-by: Leah Rowe <leah@libreboot.org>
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/soc/intel/alderlake/Kconfig b/src/soc/intel/alderlake/Kconfig
-index a2e7cff6f6..3402c1e3d5 100644
+index 550da178d7..2535454862 100644
--- a/src/soc/intel/alderlake/Kconfig
+++ b/src/soc/intel/alderlake/Kconfig
-@@ -430,7 +430,14 @@ config FSP_HEADER_PATH
+@@ -435,7 +435,14 @@ config FSP_HEADER_PATH
config FSP_FD_PATH
string
diff --git a/config/module/coreboot/default/patches/0037-soc-alderlake-disable-stack-overflow-debug-option.patch b/config/module/coreboot/default/patches/0037-soc-alderlake-disable-stack-overflow-debug-option.patch
index d740f7a7..a9eb4153 100644
--- a/config/module/coreboot/default/patches/0037-soc-alderlake-disable-stack-overflow-debug-option.patch
+++ b/config/module/coreboot/default/patches/0037-soc-alderlake-disable-stack-overflow-debug-option.patch
@@ -1,7 +1,7 @@
-From 6a4a79d82df982c2fca859101040e407623f519c Mon Sep 17 00:00:00 2001
+From d595fa2a97396aee6ab2514db74027a597328639 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Mon, 6 Oct 2025 04:47:06 +0100
-Subject: [PATCH 37/48] soc/alderlake: disable stack overflow debug option
+Subject: [PATCH 37/56] soc/alderlake: disable stack overflow debug option
same as on other boards. based on this commit:
@@ -22,10 +22,10 @@ Signed-off-by: Leah Rowe <leah@libreboot.org>
1 file changed, 9 insertions(+)
diff --git a/src/soc/intel/alderlake/Kconfig b/src/soc/intel/alderlake/Kconfig
-index 3402c1e3d5..06b9199e84 100644
+index 2535454862..6236def814 100644
--- a/src/soc/intel/alderlake/Kconfig
+++ b/src/soc/intel/alderlake/Kconfig
-@@ -331,6 +331,15 @@ config SOC_INTEL_UFS_CLK_FREQ_HZ
+@@ -336,6 +336,15 @@ config SOC_INTEL_UFS_CLK_FREQ_HZ
int
default 19200000
diff --git a/config/module/coreboot/default/patches/0038-ec-dell-mec5035-Add-command-to-disable-EC-initiated-.patch b/config/module/coreboot/default/patches/0038-ec-dell-mec5035-Add-command-to-disable-EC-initiated-.patch
index dd5412a2..c619424c 100644
--- a/config/module/coreboot/default/patches/0038-ec-dell-mec5035-Add-command-to-disable-EC-initiated-.patch
+++ b/config/module/coreboot/default/patches/0038-ec-dell-mec5035-Add-command-to-disable-EC-initiated-.patch
@@ -1,7 +1,7 @@
-From bb286d13cb7702e9396deab04023cc58dcc01a15 Mon Sep 17 00:00:00 2001
+From 7c62f4dd41cf159c3021e93eb4b650c34083e06c Mon Sep 17 00:00:00 2001
From: Nicholas Chin <nic.c3.14@gmail.com>
Date: Sun, 11 May 2025 15:41:22 -0600
-Subject: [PATCH 38/48] ec/dell/mec5035: Add command to disable EC-initiated
+Subject: [PATCH 38/56] ec/dell/mec5035: Add command to disable EC-initiated
thermal shutdown
If command 0xBF isn't sent, the EC shuts down the system without warning
diff --git a/config/module/coreboot/default/patches/0039-mb-dell-snb_ivb_latitude-Disable-EC-initiated-shutdo.patch b/config/module/coreboot/default/patches/0039-mb-dell-snb_ivb_latitude-Disable-EC-initiated-shutdo.patch
index 1814806f..c4701463 100644
--- a/config/module/coreboot/default/patches/0039-mb-dell-snb_ivb_latitude-Disable-EC-initiated-shutdo.patch
+++ b/config/module/coreboot/default/patches/0039-mb-dell-snb_ivb_latitude-Disable-EC-initiated-shutdo.patch
@@ -1,7 +1,7 @@
-From a93c01173c2f88b4a09286740c030314040c39fc Mon Sep 17 00:00:00 2001
+From df24178999fbc926bb6dfd98c5972a2cad620ab7 Mon Sep 17 00:00:00 2001
From: Nicholas Chin <nic.c3.14@gmail.com>
Date: Sun, 11 May 2025 16:28:23 -0600
-Subject: [PATCH 39/48] mb/dell/snb_ivb_latitude: Disable EC initiated shutdown
+Subject: [PATCH 39/56] mb/dell/snb_ivb_latitude: Disable EC initiated shutdown
at 87 degrees
If command 0xBF isn't sent, the EC will shut down the system without
diff --git a/config/module/coreboot/default/patches/0040-fix-ifdtool-build.patch b/config/module/coreboot/default/patches/0040-fix-ifdtool-build.patch
index b39fbc0b..2312dadf 100644
--- a/config/module/coreboot/default/patches/0040-fix-ifdtool-build.patch
+++ b/config/module/coreboot/default/patches/0040-fix-ifdtool-build.patch
@@ -1,7 +1,7 @@
-From dc4036353483c5fc0c140fc269d9bddb0bb7a967 Mon Sep 17 00:00:00 2001
+From 13a26f612918aa680ed4a397efc1467e837864b6 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sat, 20 Dec 2025 20:12:48 +0100
-Subject: [PATCH 40/48] fix ifdtool build
+Subject: [PATCH 40/56] fix ifdtool build
not my mistake. someone messed up.
@@ -11,10 +11,10 @@ Signed-off-by: Leah Rowe <leah@libreboot.org>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/util/ifdtool/ifdtool.c b/util/ifdtool/ifdtool.c
-index cab934c3a5..d181888e0f 100644
+index ddc7c19430..9aacccb540 100644
--- a/util/ifdtool/ifdtool.c
+++ b/util/ifdtool/ifdtool.c
-@@ -2598,7 +2598,7 @@ int main(int argc, char *argv[])
+@@ -2623,7 +2623,7 @@ int main(int argc, char *argv[])
}
mode_nuke = 1;
break;
diff --git a/config/module/coreboot/default/patches/0041-tests-Makefile.mk-use-3rdparty-cmocka-by-default.patch b/config/module/coreboot/default/patches/0041-tests-Makefile.mk-use-3rdparty-cmocka-by-default.patch
index 8f61bcd0..9762deb7 100644
--- a/config/module/coreboot/default/patches/0041-tests-Makefile.mk-use-3rdparty-cmocka-by-default.patch
+++ b/config/module/coreboot/default/patches/0041-tests-Makefile.mk-use-3rdparty-cmocka-by-default.patch
@@ -1,7 +1,7 @@
-From 5b7bbc6fcc6f737f259906f1919c1e28b6628a7e Mon Sep 17 00:00:00 2001
+From 7fea0ba7f8aa7b0de008ab3c6362c2ca46d4f9df Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sat, 20 Dec 2025 22:36:18 +0100
-Subject: [PATCH 41/48] tests/Makefile.mk: use 3rdparty/cmocka by default
+Subject: [PATCH 41/56] tests/Makefile.mk: use 3rdparty/cmocka by default
(tests)
@@ -11,7 +11,7 @@ Signed-off-by: Leah Rowe <leah@libreboot.org>
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tests/Makefile.mk b/tests/Makefile.mk
-index 9e3f86a138..a5a518cd35 100644
+index ab302634ec..7e6f260b27 100644
--- a/tests/Makefile.mk
+++ b/tests/Makefile.mk
@@ -25,7 +25,9 @@ TEST_LDFLAGS += --coverage
@@ -23,8 +23,8 @@ index 9e3f86a138..a5a518cd35 100644
+# if you wish; upstream sets this to 1 by default, but we do 0
+USE_SYSTEM_CMOCKA ?= 0
ifeq ($(USE_SYSTEM_CMOCKA),1)
- ifeq ($(shell $(HOSTPKG_CONFIG) --exists cmocka || echo 1),1)
- $(warning No system cmocka, build from 3rdparty instead...)
+ # Only probe for Cmocka (and possibly warn that it will be built from 3rdparty)
+ # when the requested goals actually build or run unit tests. Otherwise every
--
2.47.3
diff --git a/config/module/coreboot/default/patches/0042-mb-dell-optiplex_780-use-legacy-HDA-verb-table.patch b/config/module/coreboot/default/patches/0042-mb-dell-optiplex_780-use-legacy-HDA-verb-table.patch
index 4ce1241c..b62ed52f 100644
--- a/config/module/coreboot/default/patches/0042-mb-dell-optiplex_780-use-legacy-HDA-verb-table.patch
+++ b/config/module/coreboot/default/patches/0042-mb-dell-optiplex_780-use-legacy-HDA-verb-table.patch
@@ -1,7 +1,7 @@
-From ecbf5a133d839b6c8579e384e9db0a036eca939d Mon Sep 17 00:00:00 2001
+From 773efa2c4c42b949480f86db02ef2643ddece59d Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Tue, 23 Dec 2025 18:41:27 +0100
-Subject: [PATCH 42/48] mb/dell/optiplex_780: use legacy HDA verb table
+Subject: [PATCH 42/56] mb/dell/optiplex_780: use legacy HDA verb table
See:
diff --git a/config/module/coreboot/default/patches/0043-hp8300cmt-use-legacy-verb-table.patch b/config/module/coreboot/default/patches/0043-hp8300cmt-use-legacy-verb-table.patch
index e5ea4f3c..3dd15668 100644
--- a/config/module/coreboot/default/patches/0043-hp8300cmt-use-legacy-verb-table.patch
+++ b/config/module/coreboot/default/patches/0043-hp8300cmt-use-legacy-verb-table.patch
@@ -1,7 +1,7 @@
-From 962bfe1366598145a93cf6a7ed0f78393e5e9ff7 Mon Sep 17 00:00:00 2001
+From a0a8bd018b1b4e956597b7146324a47511d132ae Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Tue, 23 Dec 2025 18:46:45 +0100
-Subject: [PATCH 43/48] hp8300cmt: use legacy verb table
+Subject: [PATCH 43/56] hp8300cmt: use legacy verb table
same as for the 780 optiplex patch
diff --git a/config/module/coreboot/default/patches/0044-topton-x2e-n150-use-old-fsp.patch b/config/module/coreboot/default/patches/0044-topton-x2e-n150-use-old-fsp.patch
index ae70996f..cedce086 100644
--- a/config/module/coreboot/default/patches/0044-topton-x2e-n150-use-old-fsp.patch
+++ b/config/module/coreboot/default/patches/0044-topton-x2e-n150-use-old-fsp.patch
@@ -1,7 +1,7 @@
-From 88d29f792de89bb0a138e671432227cb5679b5ae Mon Sep 17 00:00:00 2001
+From 0ba99e4d9c4bdc15063a314db9fc8e73e36637bc Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Tue, 6 Jan 2026 21:42:21 +0000
-Subject: [PATCH 44/48] topton x2e n150: use old fsp
+Subject: [PATCH 44/56] topton x2e n150: use old fsp
i added the old fsp back, so that we didn't have to
mess around with vendor files in lbmk, because coreboot
@@ -18,10 +18,10 @@ Signed-off-by: Leah Rowe <leah@libreboot.org>
1 file changed, 1 insertion(+)
diff --git a/src/soc/intel/alderlake/Kconfig b/src/soc/intel/alderlake/Kconfig
-index 06b9199e84..f260d10285 100644
+index 6236def814..919acd020e 100644
--- a/src/soc/intel/alderlake/Kconfig
+++ b/src/soc/intel/alderlake/Kconfig
-@@ -451,6 +451,7 @@ config FSP_FD_PATH
+@@ -456,6 +456,7 @@ config FSP_FD_PATH
default "3rdparty/fsp/RaptorLakeFspBinPkg/IoT/RaptorLakeS/FSP.fd" if FSP_TYPE_IOT && SOC_INTEL_RAPTORLAKE_PCH_S
default "3rdparty/fsp/AlderLakeFspBinPkg/IoT/AlderLakeP/Fsp.fd" if FSP_TYPE_IOT && SOC_INTEL_ALDERLAKE_PCH_P
default "3rdparty/fsp/AlderLakeFspBinPkg/IoT/AlderLakeS/Fsp.fd" if FSP_TYPE_IOT && SOC_INTEL_ALDERLAKE_PCH_S
diff --git a/config/module/coreboot/default/patches/0045-mb-supermicro-x11-lga1151-series-Disable-ME-HECI-in-.patch b/config/module/coreboot/default/patches/0045-mb-supermicro-x11-lga1151-series-Disable-ME-HECI-in-.patch
index e4622ce4..b830a30a 100644
--- a/config/module/coreboot/default/patches/0045-mb-supermicro-x11-lga1151-series-Disable-ME-HECI-in-.patch
+++ b/config/module/coreboot/default/patches/0045-mb-supermicro-x11-lga1151-series-Disable-ME-HECI-in-.patch
@@ -1,7 +1,7 @@
-From 5b52abaa8529f7493f9d4ecf402e9ee130f4f8d2 Mon Sep 17 00:00:00 2001
+From fe0e2fbff811e023d2cda01c8358c10bb1689a5e Mon Sep 17 00:00:00 2001
From: Ron Nazarov <ron@noisytoot.org>
Date: Sat, 14 Feb 2026 20:13:01 +0000
-Subject: [PATCH 45/48] mb/supermicro/x11-lga1151-series: Disable ME HECI in
+Subject: [PATCH 45/56] mb/supermicro/x11-lga1151-series: Disable ME HECI in
devicetree
Since we always use me_cleaner, this speeds up boot time by preventing
@@ -14,7 +14,7 @@ Signed-off-by: Ron Nazarov <ron@noisytoot.org>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mainboard/supermicro/x11-lga1151-series/devicetree.cb b/src/mainboard/supermicro/x11-lga1151-series/devicetree.cb
-index fbf896c6ae..aa09a41f2f 100644
+index d25288420f..edbb485969 100644
--- a/src/mainboard/supermicro/x11-lga1151-series/devicetree.cb
+++ b/src/mainboard/supermicro/x11-lga1151-series/devicetree.cb
@@ -15,7 +15,7 @@ chip soc/intel/skylake
diff --git a/config/module/coreboot/default/patches/0046-util-ifdtool-option-to-allow-region-override.patch b/config/module/coreboot/default/patches/0046-util-ifdtool-option-to-allow-region-override.patch
index 45539084..95281619 100644
--- a/config/module/coreboot/default/patches/0046-util-ifdtool-option-to-allow-region-override.patch
+++ b/config/module/coreboot/default/patches/0046-util-ifdtool-option-to-allow-region-override.patch
@@ -1,7 +1,7 @@
-From b9cc1be6f9d591dbc4f73b1448f8fce5ea20a0b4 Mon Sep 17 00:00:00 2001
+From 172dd89a05d02f074d9e17345c5a287d4f7ac27a Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Fri, 20 Feb 2026 01:23:32 +0000
-Subject: [PATCH 46/48] util/ifdtool: option to allow region override
+Subject: [PATCH 46/56] util/ifdtool: option to allow region override
Signed-off-by: Leah Rowe <leah@libreboot.org>
---
@@ -9,7 +9,7 @@ Signed-off-by: Leah Rowe <leah@libreboot.org>
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/util/ifdtool/ifdtool.c b/util/ifdtool/ifdtool.c
-index d181888e0f..dfefe316a9 100644
+index 9aacccb540..4ee1c413ae 100644
--- a/util/ifdtool/ifdtool.c
+++ b/util/ifdtool/ifdtool.c
@@ -78,6 +78,8 @@ static unsigned int max_regions = 0;
@@ -21,7 +21,7 @@ index d181888e0f..dfefe316a9 100644
static const struct region_name region_names[MAX_REGIONS] = {
{ "Flash Descriptor", "fd", "flashregion_0_flashdescriptor.bin", "SI_DESC" },
{ "BIOS", "bios", "flashregion_1_bios.bin", "SI_BIOS" },
-@@ -2093,7 +2095,9 @@ static void new_layout(const char *filename, char *image, int size,
+@@ -2103,7 +2105,9 @@ static void new_layout(const char *filename, char *image, int size,
}
for (j = i + 1; j < max_regions; j++) {
@@ -29,10 +29,10 @@ index d181888e0f..dfefe316a9 100644
+ if (ignore_region_override) {
+ printf("Ignoring region overlap by user's will.\n");
+ } else if (regions_collide(&new_regions[i], &new_regions[j])) {
- fprintf(stderr, "Regions would overlap.\n");
- exit(EXIT_FAILURE);
- }
-@@ -2351,10 +2355,11 @@ int main(int argc, char *argv[])
+ fprintf(stderr, "Regions would overlap:\n");
+
+ /* See which string is longer and make sure we pad the shorter one */
+@@ -2374,10 +2378,11 @@ int main(int argc, char *argv[])
{"newvalue", 1, NULL, 'V'},
{"topswapsize", 1, NULL, 'T'},
{"nuke", 1, NULL, 'N'},
@@ -45,7 +45,7 @@ index d181888e0f..dfefe316a9 100644
long_options, &option_index)) != EOF) {
switch (opt) {
case 'd':
-@@ -2598,6 +2603,9 @@ int main(int argc, char *argv[])
+@@ -2623,6 +2628,9 @@ int main(int argc, char *argv[])
}
mode_nuke = 1;
break;
diff --git a/config/module/coreboot/default/patches/0047-me_cleaner-don-t-modify-if-k-is-used.patch b/config/module/coreboot/default/patches/0047-me_cleaner-don-t-modify-if-k-is-used.patch
index cfd5c6c9..5574206b 100644
--- a/config/module/coreboot/default/patches/0047-me_cleaner-don-t-modify-if-k-is-used.patch
+++ b/config/module/coreboot/default/patches/0047-me_cleaner-don-t-modify-if-k-is-used.patch
@@ -1,7 +1,7 @@
-From 1bc6028bf88ca6306ad89fc17fa6f31b9788b248 Mon Sep 17 00:00:00 2001
+From 26a11c48236b9c0c871d7c9f9641b6e4283a6126 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Fri, 20 Feb 2026 19:31:19 +0000
-Subject: [PATCH 47/48] me_cleaner: don't modify if -k is used
+Subject: [PATCH 47/56] me_cleaner: don't modify if -k is used
don't remove *anything*. in libreboot, we only
ever use -k when we werely want to extract the
diff --git a/config/module/coreboot/default/patches/0048-mb-lenovo-sklkbl-Add-Lenovo-Thinkpad-X270-as-a-varia.patch b/config/module/coreboot/default/patches/0048-mb-lenovo-sklkbl-Add-Lenovo-Thinkpad-X270-as-a-varia.patch
index 76fc54e2..83627f16 100644
--- a/config/module/coreboot/default/patches/0048-mb-lenovo-sklkbl-Add-Lenovo-Thinkpad-X270-as-a-varia.patch
+++ b/config/module/coreboot/default/patches/0048-mb-lenovo-sklkbl-Add-Lenovo-Thinkpad-X270-as-a-varia.patch
@@ -1,7 +1,7 @@
-From f5f73c2539e05cf85bf5eec795e4f91da50838ba Mon Sep 17 00:00:00 2001
+From 8b45c226090d4fef2303c3b3c16a3a167aa56fba Mon Sep 17 00:00:00 2001
From: Kat Inskip <kat@inskip.me>
Date: Tue, 17 Feb 2026 16:18:15 -0800
-Subject: [PATCH 48/48] mb/lenovo/sklkbl: Add Lenovo Thinkpad X270 as a variant
+Subject: [PATCH 48/56] mb/lenovo/sklkbl: Add Lenovo Thinkpad X270 as a variant
This machine is somewhat dissimilar from the X280 in the PCIe allocations in the overridetree. It also lacks soldered RAM, having a single SODIMM slot.
@@ -28,10 +28,10 @@ An untested variety allowing for a Skylake CPU (for 20K5 and 20K6) has been incl
create mode 100644 src/mainboard/lenovo/sklkbl_thinkpad/variants/x270/overridetree.cb
diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig b/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig
-index b7cc705699..5945fe7b99 100644
+index 25c8ec6959..2a9cfba7f5 100644
--- a/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig
+++ b/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig
-@@ -58,6 +58,16 @@ config BOARD_LENOVO_X280
+@@ -62,6 +62,16 @@ config BOARD_LENOVO_X380_YOGA
select SOC_INTEL_KABYLAKE
select HAVE_SPD_IN_CBFS
@@ -48,32 +48,32 @@ index b7cc705699..5945fe7b99 100644
if BOARD_LENOVO_SKLKBL_THINKPAD_COMMON
config MAINBOARD_DIR
-@@ -69,6 +79,8 @@ config VARIANT_DIR
- default "t480s" if BOARD_LENOVO_T480S
+@@ -74,6 +84,8 @@ config VARIANT_DIR
default "t580" if BOARD_LENOVO_T580
default "x280" if BOARD_LENOVO_X280
+ default "x380_yoga" if BOARD_LENOVO_X380_YOGA
+ default "x270" if BOARD_LENOVO_X270_20HM
+ default "x270" if BOARD_LENOVO_X270_20K6
config OVERRIDE_DEVICETREE
default "variants/\$(CONFIG_VARIANT_DIR)/overridetree.cb"
-@@ -79,6 +91,8 @@ config MAINBOARD_PART_NUMBER
- default "T480s" if BOARD_LENOVO_T480S
+@@ -85,6 +97,8 @@ config MAINBOARD_PART_NUMBER
default "T580" if BOARD_LENOVO_T580
default "X280" if BOARD_LENOVO_X280
+ default "X380 Yoga" if BOARD_LENOVO_X380_YOGA
+ default "X270" if BOARD_LENOVO_X270_20HM
+ default "X270" if BOARD_LENOVO_X270_20K6
config CBFS_SIZE
default 0x900000
diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig.name b/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig.name
-index 1d2888840f..43f9296bc5 100644
+index 96feb31695..6fb68f44dd 100644
--- a/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig.name
+++ b/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig.name
-@@ -14,3 +14,6 @@ config BOARD_LENOVO_T580
+@@ -17,3 +17,6 @@ config BOARD_LENOVO_X280
- config BOARD_LENOVO_X280
- bool "ThinkPad X280"
+ config BOARD_LENOVO_X380_YOGA
+ bool "ThinkPad X380 Yoga"
+
+config BOARD_LENOVO_X270_20HM
+ bool "ThinkPad X270"
diff --git a/config/module/coreboot/default/patches/0049-mb-lenovo-x270-Provide-correct-vbt-and-hda_verb.patch b/config/module/coreboot/default/patches/0049-mb-lenovo-x270-Provide-correct-vbt-and-hda_verb.patch
index df86ee01..880775f3 100644
--- a/config/module/coreboot/default/patches/0049-mb-lenovo-x270-Provide-correct-vbt-and-hda_verb.patch
+++ b/config/module/coreboot/default/patches/0049-mb-lenovo-x270-Provide-correct-vbt-and-hda_verb.patch
@@ -1,7 +1,7 @@
-From 9d39437b9447ab6e6164440bddf459111bd4903f Mon Sep 17 00:00:00 2001
+From b06246d570246eb82d8019ac778106811ba3511a Mon Sep 17 00:00:00 2001
From: Kat Inskip <kat@inskip.me>
Date: Sat, 21 Feb 2026 19:48:17 +0000
-Subject: [PATCH] mb/lenovo/x270: Provide correct vbt and hda_verb
+Subject: [PATCH 49/56] mb/lenovo/x270: Provide correct vbt and hda_verb
---
.../sklkbl_thinkpad/variants/x270/data.vbt | Bin 6144 -> 4449 bytes
@@ -12,37 +12,34 @@ diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/variants/x270/data.vbt b/src/m
index bfb312850e0ab4ea834c535df35edb45834ed248..c6561a9c57e4e600bc0adb5f6679f2f5d6b6c640 100644
GIT binary patch
delta 1043
-zcmZoLc&Ic%f;Calfx%$%L?+>h1_E+-8N?V21pmEaU`SzPl;klqFfjDYD@o1K2+~vt
-z_MVtzqhMg55a6s}XrgCqqM%@?Z)B)%WMF8jpkQcVWoTw)YB_PgJ|n}#S5l0olUW%J
-zmH8bQ7#aQ=F)(m2Ft9K%I51!UfyozHMC%0@m~0uDSQr@8IT+X^kQH$;FffDp4h#xl
-z8bl~CurORpU|?Wi|HJ{}Gcd3-Ft9R!tPx;TV1x)UFbFU>fRs5fu(NPN#30UK;9yW-
-zRA7P#ft0y`jTR8#5QD0NNii@mDnP7fU|>*S5CDk_2ry`1Q#Lt(Nn)}ATY5b+BLl;q
-zDh37ys6!YT7(sx6fsfIEA&*mz!Jk=!p@x}>p^e#sL5t-Cg8-)jgE6N7gBzy+LnNmF
-z!(~=3hP$j>49{7)7(TLcG5lubVqj(CV&G@vVvuCxVo+w|V$fydVlZdpVsK>RV(@0;
-zVhCm9Vu)wsV#s9k=3-zgW%%=-sR0x!3=9knjO-wHGc*W7Xa)fmhCWS(hB;92IZ$!V
-z4=iAHTu_?(1IuJZHeH|p|Jm6Y{{25E!SMe-hb_othYu_u&oR0{ReC^aA27|#8~~;n
-z7(yWG7$Ttj|Nl2@GH+mFWY~O*Rg<|MY#YO>RjXDpFlbI;V0PwG$m9~L=HhDQQdrF;
-zw3mzPIG4g(E}{QiT%6nr`rJZ}++5z=3WeN4&D>nQ+zOkyg^qG_o#$5g$}Pms!zIY0
-zV9q1t$-@=Qqfp5s)Xl>+l}BMWkI-2juIoGse|d!XdATHc73_J10(rTjc@?x9d4(qP
-za?RycILs?_m6z*2uL3KdkT@TgBA<dgpHL(pS27>3mJn+L(*wrIjyy_}&vV92KFDLv
-zD6u(}E1HG>1Or3FDlZ6mhk<$WLq5C7@A-r#%kwKri!pS#F)%QAGH@}3G6XQBFz7H&
-kV|c;Lpl851c_M$+Bmr(DBv}6+5)=${r;WiWnGIq+0Ot0jSpWb4
+zcmcgq-Afcv6hC)nXFtw-?CgzfEwH0L<XY;iA6b&MqFA;<TNWfjpGpWJ1oe;wyAeeY
+zMcY(Q_7B)gu#XWD5&2>gQ9&f-Qz1ka^prZC-JMFP=YHJZ{oQls$2s?7a?V`MjktC+
+zmIBAkE35L3T{R08;KY{a0fvRBG?I>!>>E2ha<Xn;f(Fw0W827aDAP^J*2b1rqGVGu
+z4=35iOQ$2bxub1s{!x>F{QO$c=4v8Y8%=?LrDlLIKmZ^Gf5CQN1XgElP&$RejtyZ5
+z##fpUKrO{7px=4oVy};I82ZMAiwFT|EMc$(iBg6qn;Wt%1))HsoGWjGZ6rwfW9y;f
+z+P1?LzVFv3072#UoFOjAux+UOm(9&6an}i+$f~@7#c_7}8xbIi0I-AuW05M@qt?NB
+zRe{Uu7N`$QfgK@eiP+G~9Av)K5N4SlnO~Vdm|74a%B*D8G8>rf%r0h{d4PGCIT}nO
+z1kb>tr{s#a!pI3<V`T+90M`?coAC1!em=6m55PcQ^@V_29c<|Lyif?1z2|Z8yl`i+
+za*7>%9?|1Fclp|1QdQ0P@qX6gB^>l)&nqO<`-*_VTP>kxOWk0S0g$)_YB$m-%5#X9
+zknW*;i1-ZYGfEFJqEnMDyL3$JbV`>Ob-boiL6=W;oYCpKE<*;!3~D!IpMe7goi*fD
+z18*Djz>w1hzA<RYkWmvWP1<3~y(SKswDE!|T@&w`^u&~}Onh&WX2~@cR$H{wl7ki=
+zx6FE}<&+P??J{cInaCmcvC%H#g%KPIM5p**le^3FJ5b#@YrFf!lJ5Fw^|}hU(#yx|
+p1AZCEz%XnQci@u>jgD~h(eazMzGB3(Uim8EziUhBPY#yb{{-gtq*(v}
delta 808
-zcmaE;)L<|{f|X04kilTGBa`q%0|BLr3}Oto`2W3PU`SzPl;klqFf;bdD@o1K2+~vt
-z_V&^DcA6MxqiANV5a6s}XrgCqqM%@4sBdVdZ)9L-si0tBY-MU@WoSNem;S_eVvL59
-zSs4xM*_{{|8U7kE@Nlqra5!jiC`fP!xUe{=uqcSI2n09?BseG-C<yqlIOwn_$Z!Z4
-zC<sJ22t)`t2rw|2GBU9+FsN}b9IIe}0tE(x>s$;B%pfk41A_vHW&l$x4A&AE92giP
-zgh70R>+B2+tPBhcP7Le<j0%ikbs*IaP-R(AWgH9)EFejC1x5uX5Cd!&m?0p*Q3Fyn
-zS&>OpPyu8rNLWCCp${g?0TZ2U$Rsz}l1X5)C6gG8t_NAi%*ep-r;34r0pbFX0T9f`
-zXuz<9Lk_}$k_pTw7~D7%7&18o7-~2K82UK`7&uwE7=&557-U(w7}Qz07z|mt7_3>j
-z7+hJo82nke7$RA@7?N4J7;;&;7|L0>7#dl*7`j=x7^bqaaWTwi<zm?UnRx>frvL*3
-zg8+j7gW=>2Y~q^_vvD!kgT2kLYSpS$3=Eo67?>+L73OmaZRF(I&8hH^Q|L1%*I!Nr
-zWiBC8E-rg6g;Xw~axSh$E`{Y>LOZ#*4s$8I<P!SL#l_04pv^60%gyD^t&qztRL{-T
-z$*r)STj(G+*J*BrkK97cJY2jy3dTG_t~^}+JPM^eLhU?U6L}PrxAO>{<l(x^qwteQ
-zh?|#7lvlx;SIC!_E1XxMmRG2smun{P<b19U?gn-XmIgsS1{-FB$p^Tkh5XGL78F=0
-zIT+cjV-T4mz`!86S)V(ag<n9OA!3!+2?h{(kC|oiMt+OQ`}rj%zvNex5@qOgV_;zL
-yWZ+^5We8wMVbEcm#_)n!Zv(^RK!MiD2L!|>9}tk){DbW~<0kg^a6CDHNgDv8%8_CK
+zcmX|<OGp)A6vxjzu6O3ljQ8{Nk(S9(BbCHE<JFt5XtK0?gjPgG5JI{rvIi7a80sQQ
+zg6uLC1c5Drz(r|y5!E6?2%}X52`vJ5*`f#+6=ig;dixJQ&i|b6%=hA3C>e2Y=7&(6
+z1vl8CW+z-x@(%LgW907_fIdYjust^(YddwW|77|83Odly8SQ9J9BnF&$EbTJc{NqB
+z8Y0(=dhuwr>(#T5HPpr%yse4n(Ztt0#S21;HymyT1(vJ9HuOD)Uv5yoA$IBhCY^G0
+z(d~;~pIj21x?ibNp&{7!_@YPn0@PYX)d4me@cII*iNKvl04<fOJ`e{MF*<zc1s|X%
+zJC(chVSo^qn;|R|QrNAw`D<+_*4m8JpR6z`q^3-IP5>c{p;T8;tmbA>dO!%ck**r)
+zYT&6wLA@%NymTDqLC|>RKbP37?tsmjG8Gpd7)9xHCH87_(8_ZjHv|kZ<BS<X$YwS&
+zWsJu(GA&FObC@~C3^0StD07{;9m+tMV3S<Zrc_h#0)js;n95j}oXtROc;(nI$pWaj
+z1=>ZECQLbP;tP`&Ou1y@vPq>VYZ132^`jg_97TGF@)_bR(jv;=h#`x%SaO?%yDb{9
+z<gkTf7CpA)D+}LR^xcx0jgCz*TejHPWz%_EUbQh{Q|VJ%zOnJWO}}huIhgBEqa*h^
+zc*vp4jvROJt`nTbYt~4(P9Mq2geJ`mW^jY-ijUksQ&-|wH$8%!dwj5hWYjvMM?@L)
+zOt#PQ3z%&Gr0KzQq%L?F$qyDI#p`ontd(z|4G<1OH}pZJatA(ZRZ|e`6IX&6k;fD!
+Re`fqpo`k>sC+JqU`~#!PkzxP<
diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/variants/x270/hda_verb.c b/src/mainboard/lenovo/sklkbl_thinkpad/variants/x270/hda_verb.c
index 089e605eaf..60289355f8 100644
@@ -128,5 +125,5 @@ index 089e605eaf..60289355f8 100644
};
--
-2.52.0
+2.47.3
diff --git a/config/module/coreboot/default/patches/0050-mb-dell-Add-OptiPlex-3040-Micro-port.patch b/config/module/coreboot/default/patches/0050-mb-dell-Add-OptiPlex-3040-Micro-port-upstream-compat.patch
index a2e5d5a2..7f2c3bb0 100644
--- a/config/module/coreboot/default/patches/0050-mb-dell-Add-OptiPlex-3040-Micro-port.patch
+++ b/config/module/coreboot/default/patches/0050-mb-dell-Add-OptiPlex-3040-Micro-port-upstream-compat.patch
@@ -1,7 +1,8 @@
-From 24856e5e383b1b9aa078b879064b8c2b99f4494c Mon Sep 17 00:00:00 2001
+From 621fa31a5342d01c8d199d5f08e6862909e970b5 Mon Sep 17 00:00:00 2001
From: Todd Baker <todd_baker@student.uml.edu>
Date: Thu, 12 Mar 2026 13:12:04 -0400
-Subject: [PATCH] mb/dell: Add OptiPlex 3040 Micro port (upstream-compatible)
+Subject: [PATCH 50/56] mb/dell: Add OptiPlex 3040 Micro port
+ (upstream-compatible)
Based on the OptiPlex 3050 Micro (same Skylake H110 PCH-H platform).
Key differences from 3050:
@@ -347,32 +348,33 @@ new file mode 100644
index 0000000000000000000000000000000000000000..b503dfc20277775982256a4bdc9108c2ad96f856
GIT binary patch
literal 4300
-zcmeHJU2GIp6#nLSXYbBzr$d#pV7($jx3pz;m0GlwX?H0tEiwzWuF-@o*+oezEo~tM
-zf4YX6kSJy!)Szid6JN~w(!}_rMiOHr!Jldr9_@>X5=}_J_yVk%JJapDM0Z0%l!R}R
-zIrp4<=DX+Id*|M>Zm4^Z?&*JOpsRly^^k^%uk_0>aU;6>cJ0|4?;7md+dZ%=)=$5~
-z-I&#{Uj)(|w@Qten<IS(Co?0ByTi1<dw>o(A5h19#EjB-JKfpSLz9t6Gqt-rd*eI%
-zXydjXI}&cDcC0gQN0=IQ)OcsyjxzPZa5LT3V@D}H&^<ajF-bEAhxd(S(l<s|39-?!
-zqvHpjeQuIA#=<menr2JXj6^64nZ`!P$69IE$Ozr-_)O5<nTgE!kxaT(BN_qDKoL1`
-zoP?SzI9!V&Wx=)(w_sAN6HzB(%tG42poNDhCav;#bnu%wUIf;c_D}!>5CAB!m<l+8
-z6Y+ftx~?3nb9DO$4v;=M3`pQ8$0(d{Eu3dwuQRX33ko1QTt3QCe#y&i=(=*6c>#Vv
-zb~=3~N1dVBi0<IJj(LwOz<L1QD)Dj#E#hxV5#`o$-9@>zTwnGQIN<6r&rpgWXJWs<
-z0o#Q}ObR?+7TU2^JPXB7vC*&NF~5$4U&lF#;75tzCyC%!iQuwCa7`lc$pp1B!D^Y{
-z0hwTvOt3{Jh{*&yWr8PVf?=6JK8&jcJ_{ckJj;2q)|Jpjyb(rr*0axgcK;=3B>>{d
-zfG4X(q2Tl3df}UT6beeG6M=O}1P5?&kEz#_1565n?dgNAACjJ4DELzVqKMv-x4@Xm
-zIcFogC=_n@mbwBvAVN?&W<+Ft?P3S`&rfOsra)?yrR-p+&Vm$CcN%iY)qEXAYZ?B_
-zo{)1Ctp1H(@DVKdu5c$-{6AaHl<5_oCDeLY((m97O0lLF=l$6nUA#wEQfu9whMTk8
-z`;2pqD-fZ=LL9xN;}oHQ@5Pdn3ucO=v?x%(i|o!{2BoNR@9KX<V+b{vDDTeZ^Z7gw
-zeiOo@gbov9f{>R8eUBI)5%L+KKNI6mLbw3k5HPj`NGw1P1dJB~<kbNEAYgnNAYTUP
-z?*XF_Abyo@QjIQ^^sDrcY8+R|NtJ%68egd7Tb2Hy8a|EGYV={v=+np^jULsE*EI5$
-zMnBe!uQhT(qt`T}CP-EV>DHi;2$H9RT9YAV`9&^U8)Su!GOl95m*iC@uW<Uf3aMrT
-z3WXaNrEQvX4_K87Nxm|}Tn$AexrR1o>)bhNXq)EU`bTw+^U4hARj|6S-mE{-<}%c`
-zO$)3(g9-_v!_Xn%U$QWpa4G@QGRN341}6rIRb^18q)=51Q#29MExm++%Slc=RWiK4
-zX=*VMT5ly!Eyuv+Sk0$e@_ZFB^lr7xee+SvI<w3myA_Z+Bvmt$`|lgdC(vN_<h-?T
-zW-`a_PA(@`GY>De=H^nN2Fs-0S~Rpxi#b1=hpexfEE+qqb7S-OTPAHP?guHy>J)WO
-znyF$xyc?cdNX)D??RQod83eG>SheJ87|bT?Y-%QL)+gM0(8)r8%Cfl0J;@j}mqDUc
-zWN|TsIh(FDRWr7nMJ~t~oa(0Xf5AVJtv}S>VkKLa*Fr#z8-oJ5@_!Mwkji33O4q%s
-znq{FghJhY?uRVM)GxGTG^O@UI$;9oJ$<daf?OpB+SHQ+sAn(vOAerBB7PsO}lKDaz
-g_%bx#h2uQ{`atjmY^2f5y^UXl)_LGW5w}J2FT+;79{>OV
+zcmeHJU2GIp6h1SvzjtP~vs09^U_BzjZlPs%m0GmOY<DRwEwT%>uF-@o*+oezEo~tM
+ze;7keND#9RYS0kU#1~Uvni!wdNMej6_=85_(Y}}{(ZmFdFTi^4%(PpVU{|7163*n@
+z^D}3@x%b>Ncg~9bjy~Mc^F(j5XA`<q00TbPF41^Bb#!mru``|QOYZFG-InUXui;KO
+zsa?AWP!NPAO59i%@7_CB9E@&{VNXXd_VWjjyAK!%Ot<0I&Q8q5<7+U}v7sxywHu?G
+zIy3PY*{KcbOx!jT+)R_1u+96)q@V=io{piR(J?IU9oRKkEL=akg*>UD;e#W4o_=Nw
+zqp27s48v$n81XpTQ^wTL$Z!iL2M2LGj~T`7#nIx(fnuRWWhw(W4FQh;g5ZTZ3k0~D
+zfV>GA6VfIa2rE3W$OFSB6inzd;Q@p(vwA)ni0cH=1F&-b9VCO`B@zKJfty4KAb8-L
+zJZM_r&?0VUz7+txAMU3C1SFjZiA^|fN4;W4&0Gio&?_L|M*&4r>?lVetW$OrKoG#k
+z@A(Y@`Kui)<cg-jw2LKkn@BY0MIkxn2<No<O0~Dzc4Di&)pjLHqUByW<k){2LxKUj
+zgN?9Rio%#A!i!QHEccv&KoDVdP=iN^v&3h;489}&p7<x?OT<@+{XPa^;-$p*5w9g)
+zPn;s&O8hwS0I_dBTq%nd`0ck_f-A$01kD4l#=tu1`cJz4;IDiqXnS2LyV7>nFqF%F
+zKU^z+*#PBoU<03lNeGk+A?+e{xw6-ml9X}nK9amda;{x22lHem==wKC$wp>pc_BMg
+zF5l{!QV(0`OOgWZ6CSYqZJu@zKRK>SFb*tCADK(KVkdgmTyzS25y$Yi&pNB+e|aau
+zkAkH?i|70d&iOA3N9+He8qb-wz%`rKuuHS{ZFxHb^E0rl3(g0v63*PE1@g<CJB>Hz
+zx%(-qNijeNg97yLhpzeWnbQLxcG2J5339x)D^1T-h+H1~pI>nyLLL7=|AL|ssDsh!
+z0Bec}Aodza4>KHK`Y2;BFnpWo?=$u>!ylObJ7a>3t7Lt>%u+J$k@e?f_Oguc%KAq#
+z`%K1PWW6l2pn_`^J*luB1@|fX5rrLB@I6KURAFB!_?x2pRTft9K~?Wo*$x#Cs`@dN
+zy{_U1s{Vz_E~t1_)$2lRNeDNF^lXSd8B&{cuO-e1RybrgI)M>|&Yqm8*z&TVk@VKB
+zqQBhro6>rinl8Rt1*M$0Fv4UVLOiz&qZairoElpXi(uze;m7&H2!$nJCSj$~aJ1Dy
+zXlOkw+5H*qxfeVfp`CiB8?VA>f)iOVOk=p-L7+L%gIrg}y^)#_#xWbwOl=;5Q1bo_
+zgm>1C&txMj&D@E~9E6hH^C_lpx`sJ)Z8VKt(+Sf&T|w|U9gx!RttFGY@9Ce)LZi`H
+za`%E~vSj}|X)3kk;rW)*WIobp8tCo?Wztik=9MyO`D<B4wB4E<p1zk5n)p+8J$OrY
+zpQ229Cu*pNw_=m$vJ=aV%$tkn5G1f$W6ESL2u726CO=Uy8nRA5$ZJxfVj{ZPnzRvA
+z2f>Rqtm0w>CNsF$P>fV%6(#x}?M$}W^}vh###JpoWHsz-Yc_MumA#PYEaC`sjQJM+
+zE@CF+EvV0HT9`j&?}bF?DUs6Knc0~c*jpTYbl}<It!Wg~ndY&f=Kjq|zM=(b^-JK}
+zqOF45)Rr^UssHmM%T1N5NUWkYcfgTOnrSz6?vFtR3b00a1AdfRrU8!5(Ji6=0mD|k
+A9{>OV
literal 0
HcmV?d00001
@@ -1524,5 +1526,5 @@ index 0000000000..9d262d5787
+
+#endif
--
-2.53.0
+2.47.3
diff --git a/config/module/coreboot/default/patches/0051-mb-supermicro-x11-lga1151-series-Enable-SATA-hotplug.patch b/config/module/coreboot/default/patches/0051-mb-supermicro-x11-lga1151-series-Enable-SATA-hotplug.patch
deleted file mode 100644
index 58c1a1d9..00000000
--- a/config/module/coreboot/default/patches/0051-mb-supermicro-x11-lga1151-series-Enable-SATA-hotplug.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 88519aed6c7f305f7f2319e335c1421137df7ce3 Mon Sep 17 00:00:00 2001
-From: Ron Nazarov <ron@noisytoot.org>
-Date: Mon, 23 Mar 2026 17:04:03 +0000
-Subject: [PATCH] mb/supermicro/x11-lga1151-series: Enable SATA hotplug
-
-Before this patch, hotplugging only worked to replace drives (if you
-tried to plug a drive into a SATA port that no drive was plugged in to
-at boot, it wouldn't be detected) and you'd have to manually rescan
-the bus (echo "- - -" > /sys/class/scsi_host/host*/scan) to make
-plugs/unplugs get detected by the operating system.
-
-Now, hotplugging works for all ports (tested and working on Supermicro
-X11SSH-LN4F) and there's no need to manually rescan (it sometimes
-takes a few seconds for unplugs to be detected, but plugs are detected
-instantly).
-
-Change-Id: Id978a047697795ea657048fb6dc6665736c293f9
-Signed-off-by: Ron Nazarov <ron@noisytoot.org>
----
- .../supermicro/x11-lga1151-series/devicetree.cb | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/src/mainboard/supermicro/x11-lga1151-series/devicetree.cb b/src/mainboard/supermicro/x11-lga1151-series/devicetree.cb
-index fbf896c6ae..d25288420f 100644
---- a/src/mainboard/supermicro/x11-lga1151-series/devicetree.cb
-+++ b/src/mainboard/supermicro/x11-lga1151-series/devicetree.cb
-@@ -28,6 +28,16 @@ chip soc/intel/skylake
- [6] = 1,
- [7] = 1,
- }"
-+ register "SataPortsHotPlug" = "{
-+ [0] = 1,
-+ [1] = 1,
-+ [2] = 1,
-+ [3] = 1,
-+ [4] = 1,
-+ [5] = 1,
-+ [6] = 1,
-+ [7] = 1,
-+ }"
- end
- device ref lpc_espi on
- register "serirq_mode" = "SERIRQ_CONTINUOUS"
---
-2.52.0
-
diff --git a/config/module/coreboot/default/patches/0051-remove-Werror-tree-wide.patch b/config/module/coreboot/default/patches/0051-remove-Werror-tree-wide.patch
new file mode 100644
index 00000000..bd3602df
--- /dev/null
+++ b/config/module/coreboot/default/patches/0051-remove-Werror-tree-wide.patch
@@ -0,0 +1,718 @@
+From c01e980e06601034fc911e3c5e1fdeebaf7eb3f8 Mon Sep 17 00:00:00 2001
+From: Leah Rowe <leah@libreboot.org>
+Date: Mon, 21 Sep 2026 10:46:07 +0100
+Subject: [PATCH 51/56] remove -Werror tree-wide
+
+Signed-off-by: Leah Rowe <leah@libreboot.org>
+---
+ Makefile.mk | 2 -
+ .../external/tint/tint-0.07_libpayload.patch | 70 +++++++++----------
+ payloads/libpayload/Makefile.mk | 2 +-
+ payloads/libpayload/Makefile.payload | 2 +-
+ payloads/libpayload/sample/Makefile | 2 +-
+ payloads/libpayload/sample/arch_mock/Makefile | 2 +-
+ payloads/libpayload/tests/Makefile.mk | 2 +-
+ payloads/linuxcheck/Makefile | 2 +-
+ src/commonlib/gnat/Makefile.mk | 1 -
+ tests/Makefile.common | 2 +-
+ util/amdfwtool/Makefile.mk | 2 +-
+ util/archive/Makefile | 2 +-
+ util/bincfg/Makefile | 2 +-
+ util/bucts/Makefile | 2 +-
+ util/cbfstool/Makefile.mk | 2 +-
+ util/cbfstool/lz4/Makefile | 8 +--
+ util/cbmem/Makefile | 2 +-
+ util/crossgcc/patches/gcc-15.2.0_libcpp.patch | 2 +-
+ util/ectool/Makefile | 2 +-
+ util/futility/Makefile.mk | 2 +-
+ util/ifdtool/Makefile.mk | 2 +-
+ util/intelvbttool/Makefile | 2 +-
+ ...fdata.c-fix-Werror-discarded-qualifi.patch | 4 +-
+ util/kconfig/patches/series | 2 +-
+ util/msrtool/configure | 2 +-
+ util/pmh7tool/Makefile | 2 +-
+ util/superiotool/Makefile | 6 +-
+ util/uio_usbdebug/Makefile | 2 +-
+ util/xcompile/xcompile | 2 +-
+ 29 files changed, 67 insertions(+), 70 deletions(-)
+
+diff --git a/Makefile.mk b/Makefile.mk
+index 688ba99c14..2c39d3d632 100644
+--- a/Makefile.mk
++++ b/Makefile.mk
+@@ -555,7 +555,6 @@ CFLAGS_common += -ffunction-sections
+ CFLAGS_common += -fdata-sections
+ CFLAGS_common += -fno-pie
+ CFLAGS_common += -Wstring-compare
+-CFLAGS_common += -Werror
+ ifeq ($(CONFIG_COMPILER_GCC),y)
+ CFLAGS_common += -Wold-style-declaration
+ CFLAGS_common += -Wcast-function-type
+@@ -581,7 +580,6 @@ endif
+ ADAFLAGS_common += -gnatp
+ ADAFLAGS_common += -Wuninitialized
+ ADAFLAGS_common += -Wall
+-ADAFLAGS_common += -Werror
+ ADAFLAGS_common += -pipe
+ ADAFLAGS_common += -g
+ ADAFLAGS_common += -nostdinc
+diff --git a/payloads/external/tint/tint-0.07_libpayload.patch b/payloads/external/tint/tint-0.07_libpayload.patch
+index 6c9594a369..3d70539ffb 100644
+--- a/payloads/external/tint/tint-0.07_libpayload.patch
++++ b/payloads/external/tint/tint-0.07_libpayload.patch
+@@ -4,7 +4,7 @@ diff -rupN tint-0.05/config.h tint/config.h
+ @@ -29,7 +29,15 @@
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+-
++
+ +#include <libpayload.h>
+ +#include <curses.h>
+ +
+@@ -15,7 +15,7 @@ diff -rupN tint-0.05/config.h tint/config.h
+ +#if 0
+ const char scorefile[] = SCOREFILE;
+ +#endif
+-
++
+ #endif /* #ifndef CONFIG_H */
+ diff -rupN tint-0.05/engine.c tint/engine.c
+ --- tint-0.05/engine.c 2005-07-17 13:26:22.000000000 +0200
+@@ -23,14 +23,14 @@ diff -rupN tint-0.05/engine.c tint/engine.c
+ @@ -27,10 +27,13 @@
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+-
++
+ +#include "config.h"
+ +
+ +#if 0
+ #include <stdlib.h>
+ #include <string.h>
+ +#endif
+-
++
+ -#include "typedefs.h"
+ #include "utils.h"
+ #include "io.h"
+@@ -41,10 +41,10 @@ diff -rupN tint-0.05/engine.h tint/engine.h
+ @@ -29,7 +29,7 @@
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+-
++
+ -#include "typedefs.h" /* bool */
+ +#include "curses.h" /* bool */
+-
++
+ /*
+ * Macros
+ diff -rupN tint-0.05/io.c tint/io.c
+@@ -53,7 +53,7 @@ diff -rupN tint-0.05/io.c tint/io.c
+ @@ -27,9 +27,13 @@
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+-
++
+ +#include "config.h"
+ +
+ +#if 0
+@@ -61,9 +61,9 @@ diff -rupN tint-0.05/io.c tint/io.c
+ #include <sys/time.h> /* gettimeofday() */
+ #include <unistd.h> /* gettimeofday() */
+ +#endif
+-
++
+ #include "io.h"
+-
++
+ @@ -68,7 +72,11 @@ static int in_timeleft;
+ /* Initialize screen */
+ void io_init ()
+@@ -101,16 +101,16 @@ diff -rupN tint-0.05/io.c tint/io.c
+ +#endif
+ return ch;
+ }
+-
++
+ diff -rupN tint-0.05/io.h tint/io.h
+ --- tint-0.05/io.h 2010-06-23 14:55:03.000000000 +0100
+ +++ tint/io.h 2021-02-09 08:00:00.000000000 +0200
+ @@ -30,7 +30,6 @@
+ */
+-
++
+ #include <curses.h>
+ -#include <wchar.h>
+-
++
+ /*
+ * Colors
+ diff -rupN tint-0.05/Makefile tint/Makefile
+@@ -166,7 +166,7 @@ diff -rupN tint-0.05/Makefile tint/Makefile
+ +HAVE_LIBPAYLOAD := $(wildcard $(LIBPAYLOAD_DIR)/lib/libpayload.a)
+ +LIB_CONFIG ?= configs/defconfig-tinycurses
+ +
+-+# CFLAGS := -Wall -Werror -Os
+++# CFLAGS := -Wall -Os
+ +CFLAGS := -Wall -g -Os
+ +TARGET := tint
+ +OBJS := $(TARGET).o engine.o io.o utils.o
+@@ -234,7 +234,7 @@ diff -rupN tint-0.05/tint.c tint/tint.c
+ @@ -27,6 +26,7 @@
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+-
++
+ +#if 0
+ #include <stdlib.h>
+ #include <stdio.h>
+@@ -244,24 +244,24 @@ diff -rupN tint-0.05/tint.c tint/tint.c
+ #include <sys/types.h>
+ #include <unistd.h>
+ +#endif
+-
++
+ -#include "typedefs.h"
+ #include "utils.h"
+ #include "io.h"
+ #include "config.h"
+ @@ -304,7 +304,7 @@ static void showstatus (engine_t *engine
+ /***************************************************************************/
+-
++
+ /* Header for scorefile */
+ -#define SCORE_HEADER "Tint 0.02b (c) Abraham vd Merwe - Scores"
+ +#define SCORE_HEADER "Tint 0.05 (c) Abraham vd Merwe - Scores"
+-
++
+ /* Header for score title */
+ static const char scoretitle[] = "\n\t TINT HIGH SCORES\n\n\tRank Score Name\n\n";
+ @@ -322,6 +322,7 @@ typedef struct
+ time_t timestamp;
+ } score_t;
+-
++
+ +#if 0
+ static void getname (char *name)
+ {
+@@ -271,7 +271,7 @@ diff -rupN tint-0.05/tint.c tint/tint.c
+ }
+ }
+ +#endif
+-
++
+ +#if 0
+ static void err1 ()
+ {
+@@ -281,7 +281,7 @@ diff -rupN tint-0.05/tint.c tint/tint.c
+ exit (EXIT_FAILURE);
+ }
+ +#endif
+-
++
+ void showplayerstats (engine_t *engine)
+ {
+ - fprintf (stderr,
+@@ -292,7 +292,7 @@ diff -rupN tint-0.05/tint.c tint/tint.c
+ @@ -361,6 +365,7 @@ void showplayerstats (engine_t *engine)
+ GETSCORE (engine->score),engine->status.efficiency,GETSCORE (engine->score) / getsum ());
+ }
+-
++
+ +#if 0
+ static void createscores (int score)
+ {
+@@ -302,7 +302,7 @@ diff -rupN tint-0.05/tint.c tint/tint.c
+ fprintf (stderr,"\t 1* %7d %s\n\n",score,scores[0].name);
+ }
+ +#endif
+-
++
+ +#if 0
+ static int cmpscores (const void *a,const void *b)
+ {
+@@ -312,7 +312,7 @@ diff -rupN tint-0.05/tint.c tint/tint.c
+ return 0;
+ }
+ +#endif
+-
++
+ +#if 0
+ static void savescores (int score)
+ {
+@@ -322,11 +322,11 @@ diff -rupN tint-0.05/tint.c tint/tint.c
+ fprintf (stderr,"\n");
+ }
+ +#endif
+-
++
+ /***************************************************************************/
+ /***************************************************************************/
+ /***************************************************************************/
+-
++
+ +#if 0
+ static void showhelp ()
+ {
+@@ -336,7 +336,7 @@ diff -rupN tint-0.05/tint.c tint/tint.c
+ exit (EXIT_FAILURE);
+ }
+ +#endif
+-
++
+ static void parse_options (int argc,char *argv[])
+ {
+ +#if 0
+@@ -349,12 +349,12 @@ diff -rupN tint-0.05/tint.c tint/tint.c
+ }
+ +#endif
+ }
+-
++
+ static void choose_level ()
+ {
+ +#if 0
+ char buf[NAMELEN];
+-
++
+ do
+ @@ -557,6 +572,8 @@ static void choose_level ()
+ buf[strlen (buf) - 1] = '\0';
+@@ -363,7 +363,7 @@ diff -rupN tint-0.05/tint.c tint/tint.c
+ +#endif
+ + level = 1;
+ }
+-
++
+ /***************************************************************************/
+ @@ -569,6 +586,8 @@ int main (int argc,char *argv[])
+ int ch;
+@@ -423,14 +423,14 @@ diff -rupN tint-0.05/tint.c tint/tint.c
+ exit (EXIT_SUCCESS);
+ +#endif
+ }
+-
++
+ diff -rupN tint-0.05/utils.c tint/utils.c
+ --- tint-0.05/utils.c 2001-12-07 16:49:19.000000000 +0100
+ +++ tint/utils.c 2021-02-09 08:00:00.000000000 +0200
+ @@ -27,11 +27,13 @@
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+-
++
+ +#include "config.h"
+ +
+ +#if 0
+@@ -440,7 +440,7 @@ diff -rupN tint-0.05/utils.c tint/utils.c
+ -
+ -#include "typedefs.h"
+ +#endif
+-
++
+ /*
+ * Initialize random number generator
+ @@ -61,6 +63,7 @@ int rand_value (int range)
+@@ -454,7 +454,7 @@ diff -rupN tint-0.05/utils.c tint/utils.c
+ @@ -69,3 +72,4 @@ bool str2int (int *i,const char *str)
+ return TRUE;
+ }
+-
++
+ +#endif
+ diff -rupN tint-0.05/utils.h tint/utils.h
+ --- tint-0.05/utils.h 2001-12-07 16:49:35.000000000 +0100
+@@ -462,9 +462,9 @@ diff -rupN tint-0.05/utils.h tint/utils.h
+ @@ -29,7 +29,7 @@
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+-
++
+ -#include "typedefs.h"
+ +#include <curses.h>
+-
++
+ /*
+ * Initialize random number generator
+diff --git a/payloads/libpayload/Makefile.mk b/payloads/libpayload/Makefile.mk
+index 0f5d1a0e11..45c2c5ad74 100644
+--- a/payloads/libpayload/Makefile.mk
++++ b/payloads/libpayload/Makefile.mk
+@@ -80,7 +80,7 @@ CFLAGS += -nostdlib -fno-builtin -ffreestanding -fomit-frame-pointer
+ CFLAGS += -ffunction-sections -fdata-sections
+ CFLAGS += -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wvla
+ CFLAGS += -Wwrite-strings -Wredundant-decls -Wimplicit-fallthrough
+-CFLAGS += -Wstrict-aliasing -Wshadow -Wno-address-of-packed-member -Werror
++CFLAGS += -Wstrict-aliasing -Wshadow -Wno-address-of-packed-member
+
+ ifeq ($(CONFIG_LP_LTO),y)
+ CFLAGS += -flto
+diff --git a/payloads/libpayload/Makefile.payload b/payloads/libpayload/Makefile.payload
+index 2eafd4bec3..c74704c58d 100644
+--- a/payloads/libpayload/Makefile.payload
++++ b/payloads/libpayload/Makefile.payload
+@@ -84,7 +84,7 @@ endif
+
+ CFLAGS = $(CFLAGS_$(ARCH))
+ CFLAGS += -Os -ffreestanding
+-CFLAGS += -Wall -Wextra -Wmissing-prototypes -Wvla -Werror
++CFLAGS += -Wall -Wextra -Wmissing-prototypes -Wvla
+ ifeq ($(CONFIG_LP_LTO),y)
+ CFLAGS += -flto
+ endif
+diff --git a/payloads/libpayload/sample/Makefile b/payloads/libpayload/sample/Makefile
+index 1249e9a017..269511d7df 100644
+--- a/payloads/libpayload/sample/Makefile
++++ b/payloads/libpayload/sample/Makefile
+@@ -44,7 +44,7 @@ AS := $(AS_$(ARCH-y))
+ LIBPAYLOAD_DIR := ../install/libpayload
+ XCC := CC="$(CC)" $(LIBPAYLOAD_DIR)/bin/lpgcc
+ XAS := AS="$(AS)" $(LIBPAYLOAD_DIR)/bin/lpas
+-CFLAGS := -fno-builtin -Wall -Werror -Os
++CFLAGS := -fno-builtin -Wall -Os
+ TARGET := hello
+ OBJS := $(TARGET).o
+
+diff --git a/payloads/libpayload/sample/arch_mock/Makefile b/payloads/libpayload/sample/arch_mock/Makefile
+index a1e748111e..a146c2b3be 100644
+--- a/payloads/libpayload/sample/arch_mock/Makefile
++++ b/payloads/libpayload/sample/arch_mock/Makefile
+@@ -12,7 +12,7 @@ CC := gcc
+ AS := as
+ OBJCOPY := objcopy
+ LIBPAYLOAD_DIR := ../../install/libpayload
+-CFLAGS := -fno-builtin -Wall -Werror -Os \
++CFLAGS := -fno-builtin -Wall -Os \
+ -include $(LIBPAYLOAD_DIR)/include/kconfig.h \
+ -include $(LIBPAYLOAD_DIR)/include/compiler.h \
+ -I $(LIBPAYLOAD_DIR)/include \
+diff --git a/payloads/libpayload/tests/Makefile.mk b/payloads/libpayload/tests/Makefile.mk
+index 6b6c78d835..b2e7433b65 100644
+--- a/payloads/libpayload/tests/Makefile.mk
++++ b/payloads/libpayload/tests/Makefile.mk
+@@ -45,7 +45,7 @@ TEST_CFLAGS += -I$(cmockasrc)/include
+ # Minimal subset of warnings and errors. Tests can be less strict than actual build.
+ TEST_CFLAGS += -Wall -Wundef -Wstrict-prototypes -Wvla
+ TEST_CFLAGS += -Wwrite-strings -Wno-address-of-packed-member -Wimplicit-fallthrough
+-TEST_CFLAGS += -Wstrict-aliasing -Wshadow -Werror
++TEST_CFLAGS += -Wstrict-aliasing -Wshadow
+ TEST_CFLAGS += -Wno-unknown-warning-option -Wno-source-mgr -Wno-main-return-type
+
+ TEST_CFLAGS += -std=gnu11 -ffunction-sections -fdata-sections -fno-builtin
+diff --git a/payloads/linuxcheck/Makefile b/payloads/linuxcheck/Makefile
+index 838c90df0c..a9d016db36 100644
+--- a/payloads/linuxcheck/Makefile
++++ b/payloads/linuxcheck/Makefile
+@@ -3,7 +3,7 @@ XCOMPILE=$(LIBPAYLOAD_DIR)/libpayload.xcompile
+ # build libpayload and put .config file in $(CURDIR) instead of ../libpayload
+ # to avoid pollute the libpayload source directory and possible conflicts
+ LPOPTS=obj="$(CURDIR)/build" DESTDIR="$(CURDIR)" DOTCONFIG="$(CURDIR)/.config"
+-CFLAGS += -Wall -Wvla -Werror -Os -ffreestanding -nostdinc -nostdlib
++CFLAGS += -Wall -Wvla -Os -ffreestanding -nostdinc -nostdlib
+ ifeq ($(CONFIG_ARCH_X86),y)
+ TARGETARCH = i386
+ endif
+diff --git a/src/commonlib/gnat/Makefile.mk b/src/commonlib/gnat/Makefile.mk
+index 773615c2cc..26891690cc 100644
+--- a/src/commonlib/gnat/Makefile.mk
++++ b/src/commonlib/gnat/Makefile.mk
+@@ -12,7 +12,6 @@ ADAFLAGS_libgnat-$(1) := \
+ -gnatpg \
+ -I$(dir) \
+ $$(GCC_ADAFLAGS_$(1)) \
+- -Werror \
+ -fno-pie \
+
+ libgnat-$(1)-y += a-unccon.ads
+diff --git a/tests/Makefile.common b/tests/Makefile.common
+index 14cacaeca7..c35e312a79 100644
+--- a/tests/Makefile.common
++++ b/tests/Makefile.common
+@@ -46,7 +46,7 @@ TEST_INCLUDES += -I$(dir $(TEST_KCONFIG_AUTOHEADER))
+ # -Wmissing-prototypes just make working with the test framework cumbersome.
+ # Only put conservative warnings here that really detect code that's obviously
+ # unintentional.
+-TEST_CFLAGS += -Wall -Werror -Wundef -Wstrict-prototypes -Wno-inline-asm
++TEST_CFLAGS += -Wall -Wundef -Wstrict-prototypes -Wno-inline-asm
+ TEST_CFLAGS += -Wno-unknown-warning-option -Wno-source-mgr -Wno-main-return-type
+ TEST_CFLAGS += -Wno-array-compare -Wno-trigraphs
+ TEST_CFLAGS += -Wno-unused-but-set-variables
+diff --git a/util/amdfwtool/Makefile.mk b/util/amdfwtool/Makefile.mk
+index 1f819d918f..f7dce01b71 100644
+--- a/util/amdfwtool/Makefile.mk
++++ b/util/amdfwtool/Makefile.mk
+@@ -6,7 +6,7 @@ amdfwtoolobj = amdfwtool.o data_parse.o signed_psp.o handle_file.o opts.o soc.o
+ amdfwreadobj = amdfwread.o
+ amdfwheader = amdfwtool.h
+
+-WERROR ?= -Werror
++WERROR =
+ AMDFWTOOLCFLAGS :=-O2 -Wall -Wextra -Wshadow $(WERROR)
+ AMDFWTOOLCFLAGS += -I $(top)/src/commonlib/bsd/include
+ AMDFWTOOLCFLAGS += -I $(top)/src/
+diff --git a/util/archive/Makefile b/util/archive/Makefile
+index 2de6a6294a..d301017253 100644
+--- a/util/archive/Makefile
++++ b/util/archive/Makefile
+@@ -1,7 +1,7 @@
+ ## SPDX-License-Identifier: GPL-2.0-only
+ PROGRAM = archive
+ HOSTCC ?= gcc
+-WERROR=-Werror
++WERROR=
+ CFLAGS=-O2 -Wall -Wextra -Wshadow ${WERROR}
+
+ SRCS = $(PROGRAM).c
+diff --git a/util/bincfg/Makefile b/util/bincfg/Makefile
+index dbcbc7711c..5f97f60f34 100644
+--- a/util/bincfg/Makefile
++++ b/util/bincfg/Makefile
+@@ -3,7 +3,7 @@ CC = gcc
+ YACC = bison
+ LEX = flex
+ TARGET=bincfg
+-WERROR=-Werror
++WERROR=
+ CFLAGS=-O2 -Wall -Wextra -Wshadow ${WERROR}
+ CFLAGS+=-Wno-unused-function
+ LDFLAGS= -lfl
+diff --git a/util/bucts/Makefile b/util/bucts/Makefile
+index d32258d1ec..50da491a8a 100644
+--- a/util/bucts/Makefile
++++ b/util/bucts/Makefile
+@@ -3,7 +3,7 @@ CC:=gcc
+ OBJ:=bucts.o
+ TARGET=bucts
+ VERSION:=$(shell git describe)
+-WERROR=-Werror
++WERROR=
+ CFLAGS=-O2 -Wall -Wextra -Wshadow ${WERROR}
+
+ ifeq ($(shell uname), FreeBSD)
+diff --git a/util/cbfstool/Makefile.mk b/util/cbfstool/Makefile.mk
+index 315a9a751a..d195e4713a 100644
+--- a/util/cbfstool/Makefile.mk
++++ b/util/cbfstool/Makefile.mk
+@@ -146,7 +146,7 @@ test_obj += fmap.o
+ test_obj += kv_pair.o
+ test_obj += valstr.o
+
+-TOOLCFLAGS ?= -Werror -Wall -Wextra -Wshadow
++TOOLCFLAGS ?= -Wall -Wextra -Wshadow
+ TOOLCFLAGS += -Wcast-qual -Wmissing-prototypes -Wredundant-decls -Wshadow
+ TOOLCFLAGS += -Wstrict-prototypes -Wwrite-strings
+ TOOLCFLAGS += -O2
+diff --git a/util/cbfstool/lz4/Makefile b/util/cbfstool/lz4/Makefile
+index d624e84703..be484c805f 100644
+--- a/util/cbfstool/lz4/Makefile
++++ b/util/cbfstool/lz4/Makefile
+@@ -72,10 +72,10 @@ cmake:
+ @cd cmake_unofficial; cmake CMakeLists.txt; $(MAKE)
+
+ gpptest: clean
+- $(MAKE) all CC=g++ CFLAGS="-O3 -I../lib -Wall -Wextra -Wundef -Wshadow -Wcast-align -Werror"
++ $(MAKE) all CC=g++ CFLAGS="-O3 -I../lib -Wall -Wextra -Wundef -Wshadow -Wcast-align"
+
+ clangtest: clean
+- CFLAGS="-O3 -Werror -Wconversion -Wno-sign-conversion" $(MAKE) all CC=clang
++ CFLAGS="-O3 -Wconversion -Wno-sign-conversion" $(MAKE) all CC=clang
+
+ sanitize: clean
+ CFLAGS="-O3 -g -fsanitize=undefined" $(MAKE) test CC=clang FUZZER_TIME="-T1mn" NB_LOOPS=-i1
+@@ -84,8 +84,8 @@ staticAnalyze: clean
+ CFLAGS=-g clang-tidy $(CLANG_TIDY_CHECKS) $(CLANG_TIDY_ARGS) $(SRCS)
+
+ armtest: clean
+- CFLAGS="-O3 -Werror" $(MAKE) -C $(LZ4DIR) all CC=arm-linux-gnueabi-gcc
+- CFLAGS="-O3 -Werror" $(MAKE) -C $(PRGDIR) bins CC=arm-linux-gnueabi-gcc
++ CFLAGS="-O3" $(MAKE) -C $(LZ4DIR) all CC=arm-linux-gnueabi-gcc
++ CFLAGS="-O3" $(MAKE) -C $(PRGDIR) bins CC=arm-linux-gnueabi-gcc
+
+ versionsTest: clean
+ $(MAKE) -C versionsTest
+diff --git a/util/cbmem/Makefile b/util/cbmem/Makefile
+index c0dfcbdc52..fe2891be6d 100644
+--- a/util/cbmem/Makefile
++++ b/util/cbmem/Makefile
+@@ -9,7 +9,7 @@ CC ?= $(CROSS_COMPILE)gcc
+ INSTALL ?= /usr/bin/env install
+ PREFIX ?= /usr/local
+ CFLAGS ?= -O2
+-WERROR=-Werror
++WERROR=
+ CFLAGS += -Wall -Wextra -Wmissing-prototypes -Wshadow $(WERROR)
+ CFLAGS += -std=gnu23
+ CPPFLAGS += -I . -I $(ROOT)/commonlib/include -I $(ROOT)/commonlib/bsd/include
+diff --git a/util/crossgcc/patches/gcc-15.2.0_libcpp.patch b/util/crossgcc/patches/gcc-15.2.0_libcpp.patch
+index ba60732f72..f1dc6aa2d6 100644
+--- a/util/crossgcc/patches/gcc-15.2.0_libcpp.patch
++++ b/util/crossgcc/patches/gcc-15.2.0_libcpp.patch
+@@ -1,4 +1,4 @@
+-GCC with `-Wformat-security -Werror=format-security` hardening options enabled
++GCC with `-Wformat-security =format-security` hardening options enabled
+ by default rejects some codes in libcpp. This patch fixes them.
+
+ --- gcc-15-20250112/libcpp/expr.cc.bak
+diff --git a/util/ectool/Makefile b/util/ectool/Makefile
+index a90773e5c6..5724ac6009 100644
+--- a/util/ectool/Makefile
++++ b/util/ectool/Makefile
+@@ -1,7 +1,7 @@
+ ## SPDX-License-Identifier: GPL-2.0-only
+
+ CC ?= gcc
+-WERROR=-Werror
++WERROR=
+ CFLAGS = -O2 -Wall -Wextra -Wshadow $(WERROR)
+ PROGRAM = ectool
+ INSTALL ?= /usr/bin/env install
+diff --git a/util/futility/Makefile.mk b/util/futility/Makefile.mk
+index a7bcee50d3..ba930a046b 100644
+--- a/util/futility/Makefile.mk
++++ b/util/futility/Makefile.mk
+@@ -10,7 +10,7 @@ $(VBOOT_FUTILITY): | check-openssl-presence
+ unset CFLAGS LDFLAGS; $(MAKE) -C $(VBOOT_SOURCE) \
+ BUILD=$(VBOOT_HOST_BUILD) \
+ CC="$(HOSTCC)" \
+- WERROR="-Werror -Wno-deprecated-declarations" \
++ WERROR=" -Wno-deprecated-declarations" \
+ PKG_CONFIG="$(HOSTPKGCONFIG)" \
+ V=$(V) \
+ USE_FLASHROM=0 \
+diff --git a/util/ifdtool/Makefile.mk b/util/ifdtool/Makefile.mk
+index 53506469d3..57d192ccb8 100644
+--- a/util/ifdtool/Makefile.mk
++++ b/util/ifdtool/Makefile.mk
+@@ -2,7 +2,7 @@
+
+ ifdtoolobj = ifdtool.o fmap.o kv_pair.o valstr.o
+
+-IFDTOOLCFLAGS = -O2 -g -Wall -Wextra -Wmissing-prototypes -Werror
++IFDTOOLCFLAGS = -O2 -g -Wall -Wextra -Wmissing-prototypes
+ IFDTOOLCFLAGS += -I$(top)/src/commonlib/include -I$(top)/src/commonlib/bsd/include
+ IFDTOOLCFLAGS += -I$(top)/util/cbfstool/flashmap
+ IFDTOOLCFLAGS += -include $(top)/src/commonlib/bsd/include/commonlib/bsd/compiler.h
+diff --git a/util/intelvbttool/Makefile b/util/intelvbttool/Makefile
+index 5c770dec9e..8963263354 100644
+--- a/util/intelvbttool/Makefile
++++ b/util/intelvbttool/Makefile
+@@ -6,7 +6,7 @@ CC ?= gcc
+ INSTALL ?= /usr/bin/env install
+ PREFIX ?= /usr/local
+ CFLAGS ?= -O2 -g
+-CFLAGS += -Wall -Werror
++CFLAGS += -Wall
+ CFLAGS += -I../../src/commonlib/include -I ../../src/commonlib/bsd/include
+
+ all: $(PROGRAM)
+diff --git a/util/kconfig/patches/0016-util-kconfig-confdata.c-fix-Werror-discarded-qualifi.patch b/util/kconfig/patches/0016-util-kconfig-confdata.c-fix-Werror-discarded-qualifi.patch
+index a367256102..401061d6c5 100644
+--- a/util/kconfig/patches/0016-util-kconfig-confdata.c-fix-Werror-discarded-qualifi.patch
++++ b/util/kconfig/patches/0016-util-kconfig-confdata.c-fix-Werror-discarded-qualifi.patch
+@@ -1,7 +1,7 @@
+ From 2a1a1d1b305ab276279234f70410bb6486a2049f Mon Sep 17 00:00:00 2001
+ From: Mike Banon <mikebdp2@gmail.com>
+ Date: Tue, 10 Mar 2026 00:14:58 +0100
+-Subject: [PATCH] util/kconfig/confdata.c: fix -Werror=discarded-qualifiers
++Subject: [PATCH] util/kconfig/confdata.c: fix =discarded-qualifiers
+
+ In conf_read_simple(), strchr() is called on 'sym_name', which is
+ declared const char. The function returns a char that discards the
+@@ -36,6 +36,6 @@ index 0105917..ae6ae2b 100644
+ int i, def_flags;
+ - const char *warn_unknown, *sym_name;
+ + const char *warn_unknown;
+-
++
+ warn_unknown = getenv("KCONFIG_WARN_UNKNOWN_SYMBOLS");
+ if (name) {
+diff --git a/util/kconfig/patches/series b/util/kconfig/patches/series
+index 31d446ef81..739bee9279 100644
+--- a/util/kconfig/patches/series
++++ b/util/kconfig/patches/series
+@@ -8,4 +8,4 @@
+ 0013-util-kconfig-detect-ncurses-on-FreeBSD.patch
+ 0014-util-kconfig-Move-Kconfig-deps-back-into-build-confi.patch
+ 0015-fix-incorrect-spdx-strings.patch
+-0016-util-kconfig-confdata.c-fix-Werror-discarded-qualifi.patch
++0016-util-kconfig-confdata.c-fix-discarded-qualifi.patch
+diff --git a/util/msrtool/configure b/util/msrtool/configure
+index 659cbcd66b..0415e4d9c9 100755
+--- a/util/msrtool/configure
++++ b/util/msrtool/configure
+@@ -133,7 +133,7 @@ CC=`findprog "compiler" "${CC}" clang gcc cc icc` || exit
+ INSTALL=`findprog "install" "${INSTALL}" install ginstall` || exit
+
+ test -n "$DEBUG" && myCFLAGS="-O2 -g" || myCFLAGS="-Os"
+-CFLAGS="${CFLAGS} ${myCFLAGS} -Wall -Werror"
++CFLAGS="${CFLAGS} ${myCFLAGS} -Wall "
+
+ cat > .config.c << EOF
+ #include <pci/pci.h>
+diff --git a/util/pmh7tool/Makefile b/util/pmh7tool/Makefile
+index 0a2ebbe147..c04d7e9bf9 100644
+--- a/util/pmh7tool/Makefile
++++ b/util/pmh7tool/Makefile
+@@ -1,7 +1,7 @@
+ ## SPDX-License-Identifier: GPL-2.0-only
+
+ CC = gcc
+-CFLAGS = -O2 -Wall -Wextra -Werror
++CFLAGS = -O2 -Wall -Wextra
+ PROGRAM = pmh7tool
+ INSTALL = /usr/bin/env install
+ PREFIX = /usr/local
+diff --git a/util/superiotool/Makefile b/util/superiotool/Makefile
+index 2dcfc9e929..2aad3b92e5 100644
+--- a/util/superiotool/Makefile
++++ b/util/superiotool/Makefile
+@@ -12,7 +12,7 @@ PREFIX ?= /usr/local
+ VERSION := -D'SUPERIOTOOL_VERSION="$(shell git describe 2>/dev/null)"'
+
+ CFLAGS += -O2 -Wall -Wstrict-prototypes -Wundef -Wstrict-aliasing \
+- -Werror-implicit-function-declaration -std=c11 -pedantic $(VERSION) \
++ -implicit-function-declaration -std=c11 -pedantic $(VERSION) \
+ -Wno-variadic-macros -I $(TOP)/src/commonlib/bsd/include
+ LDFLAGS += -lz
+
+@@ -24,8 +24,8 @@ ifeq ($(OS_ARCH), Darwin)
+ LIBS = -framework IOKit -framework DirectHW -lpci -lz
+ endif
+ ifeq ($(OS_ARCH), FreeBSD)
+-CFLAGS = -O2 -Wall -Werror -Wstrict-prototypes -Wundef -Wstrict-aliasing \
+- -Werror-implicit-function-declaration -std=c11 $(VERSION) \
++CFLAGS = -O2 -Wall -Wstrict-prototypes -Wundef -Wstrict-aliasing \
++ -implicit-function-declaration -std=c11 $(VERSION) \
+ -I/usr/local/include
+ LDFLAGS += -L/usr/local/lib
+ LIBS = -lz
+diff --git a/util/uio_usbdebug/Makefile b/util/uio_usbdebug/Makefile
+index af1cc8e1ec..8a3603c41d 100644
+--- a/util/uio_usbdebug/Makefile
++++ b/util/uio_usbdebug/Makefile
+@@ -30,7 +30,7 @@ KCONFIG_H := ../../src/include/kconfig.h
+
+ CFLAGS += \
+ -m32 -g \
+- -Wall -Wextra -Werror \
++ -Wall -Wextra \
+ -Wno-unused-parameter -Wno-error=sign-compare
+ CPPFLAGS += \
+ -Iinclude/ \
+diff --git a/util/xcompile/xcompile b/util/xcompile/xcompile
+index f88da69306..02d134c8e8 100755
+--- a/util/xcompile/xcompile
++++ b/util/xcompile/xcompile
+@@ -124,7 +124,7 @@ testcc() {
+ local tmp_o="$TMPFILE.o"
+ rm -f "$tmp_c" "$tmp_o"
+ echo "void _start(void) {}" >"$tmp_c"
+- "$cc" -nostdlib -Werror $cflags -c "$tmp_c" -o "$tmp_o" >/dev/null 2>&1
++ "$cc" -nostdlib $cflags -c "$tmp_c" -o "$tmp_o" >/dev/null 2>&1
+ }
+
+ testld() {
+--
+2.47.3
+
diff --git a/config/module/coreboot/default/patches/0052-Remove-KCONFIG_WERROR.patch b/config/module/coreboot/default/patches/0052-Remove-KCONFIG_WERROR.patch
new file mode 100644
index 00000000..1ef4162b
--- /dev/null
+++ b/config/module/coreboot/default/patches/0052-Remove-KCONFIG_WERROR.patch
@@ -0,0 +1,94 @@
+From a0d7318453e1b4827175de4a848df85bff097f73 Mon Sep 17 00:00:00 2001
+From: Leah Rowe <leah@libreboot.org>
+Date: Mon, 21 Sep 2026 11:20:54 +0100
+Subject: [PATCH 52/56] Remove KCONFIG_WERROR
+
+Signed-off-by: Leah Rowe <leah@libreboot.org>
+---
+ Documentation/getting_started/kconfig.md | 3 ---
+ Makefile | 4 ----
+ util/kconfig/Makefile | 4 ----
+ util/kconfig/confdata.c | 2 --
+ util/kconfig/symbol.c | 2 --
+ 5 files changed, 15 deletions(-)
+
+diff --git a/Documentation/getting_started/kconfig.md b/Documentation/getting_started/kconfig.md
+index 2917c53aae..6c4102ba17 100644
+--- a/Documentation/getting_started/kconfig.md
++++ b/Documentation/getting_started/kconfig.md
+@@ -99,9 +99,6 @@ included in the Linux version.
+ - KCONFIG_SPLITCONFIG=”directory name for individual SYMBOL.h files”.
+ coreboot sets this to $(obj)/config.
+
+-- KCONFIG_WERROR=value. Define to enable warnings as errors. This is enabled
+- in coreboot, and should not be changed.
+-
+ #### Used only for ‘make menuconfig’
+ - MENUCONFIG_MODE=single_menu. Set to "single_menu" to enable. All other
+ values disable the option. This makes submenus appear below the menu option
+diff --git a/Makefile b/Makefile
+index 6a36b5968f..35576f3734 100644
+--- a/Makefile
++++ b/Makefile
+@@ -31,7 +31,6 @@ KCONFIG_DEPENDENCIES := $(obj)/auto.conf.cmd
+ KCONFIG_SPLITCONFIG := $(obj)/config/
+ KCONFIG_TRISTATE := $(obj)/tristate.conf
+ KCONFIG_NEGATIVES := 1
+-KCONFIG_WERROR := 1
+ KCONFIG_WARN_UNKNOWN_SYMBOLS := 1
+ KCONFIG_PACKAGE := CB.Config
+ KCONFIG_MAKEFILE_REAL ?= $(objk)/Makefile.real
+@@ -39,9 +38,6 @@ KCONFIG_MAKEFILE_REAL ?= $(objk)/Makefile.real
+ COREBOOT_EXPORTS += KCONFIG_CONFIG KCONFIG_AUTOHEADER KCONFIG_AUTOCONFIG
+ COREBOOT_EXPORTS += KCONFIG_DEPENDENCIES KCONFIG_SPLITCONFIG KCONFIG_TRISTATE
+ COREBOOT_EXPORTS += KCONFIG_NEGATIVES
+-ifeq ($(filter %config,$(MAKECMDGOALS)),)
+-COREBOOT_EXPORTS += KCONFIG_WERROR
+-endif
+ COREBOOT_EXPORTS += KCONFIG_WARN_UNKNOWN_SYMBOLS
+ COREBOOT_EXPORTS += KCONFIG_AUTOADS KCONFIG_PACKAGE
+ COREBOOT_EXPORTS += KCONFIG_RUSTCCFG
+diff --git a/util/kconfig/Makefile b/util/kconfig/Makefile
+index 76cc2c5e2c..45366936fc 100644
+--- a/util/kconfig/Makefile
++++ b/util/kconfig/Makefile
+@@ -31,10 +31,6 @@ ifneq ($(findstring c, $(KBUILD_EXTRA_WARN)),)
+ export KCONFIG_WARN_UNKNOWN_SYMBOLS=1
+ endif
+
+-ifneq ($(findstring e, $(KBUILD_EXTRA_WARN)),)
+-export KCONFIG_WERROR=1
+-endif
+-
+ # We need this, in case the user has it in its environment
+ unexport CONFIG_
+
+diff --git a/util/kconfig/confdata.c b/util/kconfig/confdata.c
+index ae6ae2b3d3..fa09647f44 100644
+--- a/util/kconfig/confdata.c
++++ b/util/kconfig/confdata.c
+@@ -157,8 +157,6 @@ static int conf_lineno, conf_warnings;
+
+ bool conf_errors(void)
+ {
+- if (conf_warnings)
+- return getenv("KCONFIG_WERROR");
+ return false;
+ }
+
+diff --git a/util/kconfig/symbol.c b/util/kconfig/symbol.c
+index 3afe5be2d4..1a24d458cb 100644
+--- a/util/kconfig/symbol.c
++++ b/util/kconfig/symbol.c
+@@ -317,8 +317,6 @@ static void sym_warn_unmet_dep(struct symbol *sym)
+
+ bool sym_dep_errors(void)
+ {
+- if (sym_warnings)
+- return getenv("KCONFIG_WERROR");
+ return false;
+ }
+
+--
+2.47.3
+
diff --git a/config/module/coreboot/default/patches/0053-use-std-gnu2x.patch b/config/module/coreboot/default/patches/0053-use-std-gnu2x.patch
new file mode 100644
index 00000000..a1e437b8
--- /dev/null
+++ b/config/module/coreboot/default/patches/0053-use-std-gnu2x.patch
@@ -0,0 +1,156 @@
+From 47a2305433ea6b123ef6baf65f496b4583e198da Mon Sep 17 00:00:00 2001
+From: Leah Rowe <leah@libreboot.org>
+Date: Mon, 21 Sep 2026 13:00:09 +0100
+Subject: [PATCH 53/56] use -std=gnu2x
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+equiv to gnu23 in practise, and fixes a build error
+for a user who reported:
+
+cc: error: unrecognized command-line option ‘-std=gnu23’; did you mean ‘-std=gnu2x’?
+
+when building coreboot utils
+
+gnu2x is gnu23 in practise, on both gcc and clang.
+we can just use this, and it won't break systems
+that worked.
+
+the user did not say what compiler and compiler version
+they were using (cbutils are built using hostcc in lbmk)
+
+Signed-off-by: Leah Rowe <leah@libreboot.org>
+---
+ Makefile.mk | 2 +-
+ payloads/libpayload/Makefile | 2 +-
+ tests/Makefile.common | 2 +-
+ util/amdfwtool/Makefile.mk | 2 +-
+ util/cbfstool/Makefile.mk | 2 +-
+ util/cbmem/Makefile | 2 +-
+ util/ifdtool/Makefile.mk | 2 +-
+ util/sconfig/Makefile.mk | 2 +-
+ util/supermicro/Makefile.mk | 2 +-
+ 13 files changed, 599 insertions(+), 9 deletions(-)
+
+diff --git a/Makefile.mk b/Makefile.mk
+index 2c39d3d632..12e2368a8f 100644
+--- a/Makefile.mk
++++ b/Makefile.mk
+@@ -530,7 +530,7 @@ endif
+ CFLAGS_common += -pipe
+ CFLAGS_common += -g
+ CFLAGS_common += -nostdinc
+-CFLAGS_common += -std=gnu23
++CFLAGS_common += -std=gnu2x
+ CFLAGS_common += -nostdlib
+ CFLAGS_common += -Wall
+ CFLAGS_common += -Wundef
+diff --git a/payloads/libpayload/Makefile b/payloads/libpayload/Makefile
+index 29c3fb199f..bb7c6f600f 100644
+--- a/payloads/libpayload/Makefile
++++ b/payloads/libpayload/Makefile
+@@ -218,7 +218,7 @@ STRIP := $(STRIP_$(ARCH-y))
+ AR := $(AR_$(ARCH-y))
+ endif
+
+-CFLAGS += -std=gnu23 $(CFLAGS_$(ARCH-y))
++CFLAGS += -std=gnu2x $(CFLAGS_$(ARCH-y))
+
+ ifeq ($(CONFIG_LP_COMPILER_LLVM_CLANG),y)
+ CC:=clang
+diff --git a/tests/Makefile.common b/tests/Makefile.common
+index c35e312a79..5c6f8ff798 100644
+--- a/tests/Makefile.common
++++ b/tests/Makefile.common
+@@ -51,7 +51,7 @@ TEST_CFLAGS += -Wno-unknown-warning-option -Wno-source-mgr -Wno-main-return-type
+ TEST_CFLAGS += -Wno-array-compare -Wno-trigraphs
+ TEST_CFLAGS += -Wno-unused-but-set-variables
+
+-TEST_CFLAGS += -std=gnu23 -ffunction-sections -fdata-sections -fno-builtin
++TEST_CFLAGS += -std=gnu2x -ffunction-sections -fdata-sections -fno-builtin
+
+ ifneq ($(filter-out 0,$(DEBUG)),)
+ TEST_CFLAGS += -Og -ggdb3
+diff --git a/util/amdfwtool/Makefile.mk b/util/amdfwtool/Makefile.mk
+index f7dce01b71..ac09d083cf 100644
+--- a/util/amdfwtool/Makefile.mk
++++ b/util/amdfwtool/Makefile.mk
+@@ -11,7 +11,7 @@ AMDFWTOOLCFLAGS :=-O2 -Wall -Wextra -Wshadow $(WERROR)
+ AMDFWTOOLCFLAGS += -I $(top)/src/commonlib/bsd/include
+ AMDFWTOOLCFLAGS += -I $(top)/src/
+ AMDFWTOOLCFLAGS += -D_GNU_SOURCE # memmem() from string.h
+-AMDFWTOOLCFLAGS += -std=gnu23
++AMDFWTOOLCFLAGS += -std=gnu2x
+ AMDFWTOOLCFLAGS += -ffunction-sections -fdata-sections
+
+ ifneq ($(PKG_CONFIG),)
+diff --git a/util/cbfstool/Makefile.mk b/util/cbfstool/Makefile.mk
+index d195e4713a..75e8f1797f 100644
+--- a/util/cbfstool/Makefile.mk
++++ b/util/cbfstool/Makefile.mk
+@@ -175,7 +175,7 @@ HOSTCFLAGS += -fms-extensions
+ TOOLCFLAGS += -mno-ms-bitfields
+ endif
+ ifeq ($(shell uname -o 2>/dev/null), Cygwin)
+-TOOLCFLAGS+=-std=gnu23
++TOOLCFLAGS+=-std=gnu2x
+ TOOLCPPFLAGS+=-D_GNU_SOURCE
+ else
+ TOOLCFLAGS+=-std=c11
+diff --git a/util/cbmem/Makefile b/util/cbmem/Makefile
+index fe2891be6d..bb305cee77 100644
+--- a/util/cbmem/Makefile
++++ b/util/cbmem/Makefile
+@@ -11,7 +11,7 @@ PREFIX ?= /usr/local
+ CFLAGS ?= -O2
+ WERROR=
+ CFLAGS += -Wall -Wextra -Wmissing-prototypes -Wshadow $(WERROR)
+-CFLAGS += -std=gnu23
++CFLAGS += -std=gnu2x
+ CPPFLAGS += -I . -I $(ROOT)/commonlib/include -I $(ROOT)/commonlib/bsd/include
+ CPPFLAGS += -include $(ROOT)/commonlib/bsd/include/commonlib/bsd/compiler.h
+
+diff --git a/util/ifdtool/Makefile.mk b/util/ifdtool/Makefile.mk
+index 57d192ccb8..58bec4739c 100644
+--- a/util/ifdtool/Makefile.mk
++++ b/util/ifdtool/Makefile.mk
+@@ -7,7 +7,7 @@ IFDTOOLCFLAGS += -I$(top)/src/commonlib/include -I$(top)/src/commonlib/bsd/inclu
+ IFDTOOLCFLAGS += -I$(top)/util/cbfstool/flashmap
+ IFDTOOLCFLAGS += -include $(top)/src/commonlib/bsd/include/commonlib/bsd/compiler.h
+ IFDTOOLCFLAGS += -D_DEFAULT_SOURCE # for endianness converting functions
+-IFDTOOLCFLAGS += -std=gnu23
++IFDTOOLCFLAGS += -std=gnu2x
+
+ $(objutil)/ifdtool/%.o: $(top)/util/ifdtool/%.c
+ $(HOSTCC) $(IFDTOOLCFLAGS) $(HOSTCFLAGS) -c -o $@ $<
+diff --git a/util/sconfig/Makefile.mk b/util/sconfig/Makefile.mk
+index 9dcf5b5c71..cda1d81223 100644
+--- a/util/sconfig/Makefile.mk
++++ b/util/sconfig/Makefile.mk
+@@ -6,7 +6,7 @@ sconfigobj += main.o
+
+ SCONFIGFLAGS += -I$(top)/util/sconfig -I$(objutil)/sconfig
+ SCONFIGFLAGS += -I$(top)/src/commonlib/include -I$(top)/src/commonlib/bsd/include
+-SCONFIGFLAGS += -std=gnu23
++SCONFIGFLAGS += -std=gnu2x
+
+ $(objutil)/sconfig:
+ mkdir -p $@
+diff --git a/util/supermicro/Makefile.mk b/util/supermicro/Makefile.mk
+index f627b854bd..f5e0d7012c 100644
+--- a/util/supermicro/Makefile.mk
++++ b/util/supermicro/Makefile.mk
+@@ -6,7 +6,7 @@ SMCBIOSINFOTOOL:= $(objutil)/supermicro/smcbiosinfo
+ $(SMCBIOSINFOTOOL): $(dir)/smcbiosinfo/smcbiosinfo.c
+ printf " HOSTCC Creating SMCBIOSINFO tool\n"
+ mkdir -p $(objutil)/supermicro
+- $(HOSTCC) -std=gnu23 $(TOOLCPPFLAGS) $< -o $@
++ $(HOSTCC) -std=gnu2x $(TOOLCPPFLAGS) $< -o $@
+
+ ifeq ($(CONFIG_VENDOR_SUPERMICRO),y)
+ ifneq ($(call strip_quotes, $(CONFIG_SUPERMICRO_BOARDID)),)
+
+--
+2.47.3
+
diff --git a/config/module/coreboot/default/patches/0054-mb-dell-sklkbl_desktops-Enable-Coffee-Lake-CPU-suppo.patch b/config/module/coreboot/default/patches/0054-mb-dell-sklkbl_desktops-Enable-Coffee-Lake-CPU-suppo.patch
new file mode 100644
index 00000000..50117c68
--- /dev/null
+++ b/config/module/coreboot/default/patches/0054-mb-dell-sklkbl_desktops-Enable-Coffee-Lake-CPU-suppo.patch
@@ -0,0 +1,29 @@
+From 33e43d984131b5573553af857beb0c5a1b3db763 Mon Sep 17 00:00:00 2001
+From: Ron Nazarov <ron@noisytoot.org>
+Date: Sun, 21 Dec 2025 17:24:09 +0000
+Subject: [PATCH 54/56] mb/dell/sklkbl_desktops: Enable Coffee Lake CPU support
+
+Tested and working with i3-9100 on OptiPlex 5050 SFF, should work on
+3050 Micro too.
+
+Change-Id: Ie2f8f5d6955b7fced12275f67d2f2c45669bc0ce
+Signed-off-by: Ron Nazarov <ron@noisytoot.org>
+---
+ src/mainboard/dell/sklkbl_desktops/Kconfig | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/mainboard/dell/sklkbl_desktops/Kconfig b/src/mainboard/dell/sklkbl_desktops/Kconfig
+index 098d43dc22..0dce6a90bf 100644
+--- a/src/mainboard/dell/sklkbl_desktops/Kconfig
++++ b/src/mainboard/dell/sklkbl_desktops/Kconfig
+@@ -13,6 +13,7 @@ config BOARD_DELL_SKLKBL_DESKTOPS_COMMON
+ select MAINBOARD_HAS_LIBGFXINIT
+ select MAINBOARD_SUPPORTS_KABYLAKE_CPU
+ select MAINBOARD_SUPPORTS_SKYLAKE_CPU
++ select MAINBOARD_SUPPORTS_COFFEELAKE_CPU
+ select SKYLAKE_SOC_PCH_H
+ select SOC_INTEL_COMMON_BLOCK_HDA_VERB
+ select SOC_INTEL_KABYLAKE
+--
+2.47.3
+
diff --git a/config/module/coreboot/default/patches/0055-mb-dell-sklkbl_desktops-Enable-legacy-8254-timer.patch b/config/module/coreboot/default/patches/0055-mb-dell-sklkbl_desktops-Enable-legacy-8254-timer.patch
new file mode 100644
index 00000000..dcae827f
--- /dev/null
+++ b/config/module/coreboot/default/patches/0055-mb-dell-sklkbl_desktops-Enable-legacy-8254-timer.patch
@@ -0,0 +1,28 @@
+From bc353bd6ea7daf10f5b5883894bed1af1d056725 Mon Sep 17 00:00:00 2001
+From: Ron Nazarov <ron@noisytoot.org>
+Date: Sun, 21 Dec 2025 17:29:16 +0000
+Subject: [PATCH 55/56] mb/dell/sklkbl_desktops: Enable legacy 8254 timer
+
+Without this, SeaBIOS hangs.
+
+Change-Id: I22a5fdc566e954ace00756beb7d2de3fd6621c7b
+Signed-off-by: Ron Nazarov <ron@noisytoot.org>
+---
+ src/mainboard/dell/sklkbl_desktops/Kconfig | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/mainboard/dell/sklkbl_desktops/Kconfig b/src/mainboard/dell/sklkbl_desktops/Kconfig
+index 0dce6a90bf..1fab8b41d5 100644
+--- a/src/mainboard/dell/sklkbl_desktops/Kconfig
++++ b/src/mainboard/dell/sklkbl_desktops/Kconfig
+@@ -18,6 +18,7 @@ config BOARD_DELL_SKLKBL_DESKTOPS_COMMON
+ select SOC_INTEL_COMMON_BLOCK_HDA_VERB
+ select SOC_INTEL_KABYLAKE
+ select SUPERIO_SMSC_SCH555x
++ select USE_LEGACY_8254_TIMER # SeaBIOS hangs without this
+
+ config BOARD_DELL_OPTIPLEX_3050
+ bool
+--
+2.47.3
+
diff --git a/config/module/coreboot/default/patches/0056-mb-dell-sklkbl_desktops-Add-OptiPlex-5050-SFF-varian.patch b/config/module/coreboot/default/patches/0056-mb-dell-sklkbl_desktops-Add-OptiPlex-5050-SFF-varian.patch
new file mode 100644
index 00000000..41b2155d
--- /dev/null
+++ b/config/module/coreboot/default/patches/0056-mb-dell-sklkbl_desktops-Add-OptiPlex-5050-SFF-varian.patch
@@ -0,0 +1,703 @@
+From 576d0d86086566b67b3b664024015fa6ad0162b9 Mon Sep 17 00:00:00 2001
+From: Ron Nazarov <ron@noisytoot.org>
+Date: Mon, 22 Dec 2025 03:11:56 +0000
+Subject: [PATCH 56/56] mb/dell/sklkbl_desktops: Add OptiPlex 5050 SFF variant
+
+- Boots Linux 6.12.41-0-lts and 6.18.0-3-lts (Alpine, tested with SeaBIOS and EDK II)
+- Tested with i5-6500 and i3-9100
+- All external USB ports work
+- Serial port works
+- PS/2 works in SeaBIOS and Linux
+- Intel Gigabit Ethernet works
+- All 3 SATA ports work, M.2 slot SATA untested (I don't have a
+ compatible SSD to test with)
+- Sound works
+- DisplayPort and HDMI works (however, I only tested DisplayPort with
+ a DP->DVI adapter as I don't have a native DisplayPort monitor, and
+ libgfxinit required a patch in order to correctly initialize it)
+- M.2 slot (PCIe), PCIe x4 slot, and PCIe x16 slot mostly work
+- VGA port and SD card reader untested, as mine does not have these
+- me_cleaner works, provided you use --whitelist MFS (deguard relies
+ on the MFS partition, it won't boot otherwise)
+- SeaBIOS hangs if compiled without USE_LEGACY_8254_TIMER
+
+PCIe hotplug is disabled since it apparently causes Linux to randomly
+rename NVMe devices, potentially resulting in data loss. I haven't
+actually tested this on a 5050 SFF myself, but this issue also affects the
+OptiPlex 3050 Micro and ThinkPad T480/T480s. Libreboot disables PCIe
+hotplug on those boards for this reason, but the fix doesn't seem to
+have been submitted upstream.
+
+I say that PCIe mostly works because with one of the cards I was
+testing with (Mellanox CX312C):
+- With stock firmware it works in both x4 and x16 slots, but only at
+ 2.5GT/s for some reason.
+- With coreboot it works in the x4 slot (again, at 2.5GT/s), but
+ doesn't even enumerate on the x16 slot.
+- On another machine (OptiPlex 9020 SFF with coreboot) it works in the
+ x4 slot (at 5GT/s), but does not reliably work in the x16 slot (it
+ sometimes fails to enumerate, sometimes the driver fails to load with
+ different error messages).
+I'm not quite sure what's going on there. There's probably a coreboot
+bug involved, but it doesn't work quite right with the stock firmware
+either. The other card I tested with (Intel X520-DA2) works at 5GT/s
+in both slots.
+
+Thanks to Nicholas Chin for telling me where to find the USB
+overcurrent pin mapping and helping with PS/2 and PCIe.
+
+Change-Id: I8dc6ed29abc6c14171ed060cea9b58a07f01bd7b
+Signed-off-by: Ron Nazarov <ron@noisytoot.org>
+---
+ src/mainboard/dell/sklkbl_desktops/Kconfig | 8 +
+ .../dell/sklkbl_desktops/Kconfig.name | 3 +
+ .../variants/optiplex_5050sff/board_info.txt | 7 +
+ .../variants/optiplex_5050sff/data.vbt | Bin 0 -> 6144 bytes
+ .../variants/optiplex_5050sff/early_gpio.c | 15 ++
+ .../optiplex_5050sff/gma-mainboard.ads | 19 ++
+ .../variants/optiplex_5050sff/gpio.c | 245 ++++++++++++++++++
+ .../variants/optiplex_5050sff/hda_verb.c | 90 +++++++
+ .../optiplex_5050sff/include/acpi/superio.asl | 3 +
+ .../variants/optiplex_5050sff/overridetree.cb | 97 +++++++
+ .../variants/optiplex_5050sff/romstage.c | 20 ++
+ 11 files changed, 507 insertions(+)
+ create mode 100644 src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/board_info.txt
+ create mode 100644 src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/data.vbt
+ create mode 100644 src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/early_gpio.c
+ create mode 100644 src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/gma-mainboard.ads
+ create mode 100644 src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/gpio.c
+ create mode 100644 src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/hda_verb.c
+ create mode 100644 src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/include/acpi/superio.asl
+ create mode 100644 src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/overridetree.cb
+ create mode 100644 src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/romstage.c
+
+diff --git a/src/mainboard/dell/sklkbl_desktops/Kconfig b/src/mainboard/dell/sklkbl_desktops/Kconfig
+index 1fab8b41d5..d6ac6551fb 100644
+--- a/src/mainboard/dell/sklkbl_desktops/Kconfig
++++ b/src/mainboard/dell/sklkbl_desktops/Kconfig
+@@ -24,6 +24,11 @@ config BOARD_DELL_OPTIPLEX_3050
+ bool
+ select BOARD_DELL_SKLKBL_DESKTOPS_COMMON
+
++config BOARD_DELL_OPTIPLEX_5050_SFF
++ bool
++ select BOARD_DELL_SKLKBL_DESKTOPS_COMMON
++ select MAINBOARD_USES_IFD_GBE_REGION
++
+ if BOARD_DELL_SKLKBL_DESKTOPS_COMMON
+
+ config MAINBOARD_DIR
+@@ -31,9 +36,11 @@ config MAINBOARD_DIR
+
+ config MAINBOARD_PART_NUMBER
+ default "OptiPlex 3050 Micro" if BOARD_DELL_OPTIPLEX_3050
++ default "OptiPlex 5050 SFF" if BOARD_DELL_OPTIPLEX_5050_SFF
+
+ config VARIANT_DIR
+ default "optiplex_3050" if BOARD_DELL_OPTIPLEX_3050
++ default "optiplex_5050sff" if BOARD_DELL_OPTIPLEX_5050_SFF
+
+ config OVERRIDE_DEVICETREE
+ default "variants/\$(CONFIG_VARIANT_DIR)/overridetree.cb"
+@@ -46,6 +53,7 @@ config CBFS_SIZE
+
+ config DIMM_SPD_SIZE
+ default 512 if BOARD_DELL_OPTIPLEX_3050 # DDR4
++ default 512 if BOARD_DELL_OPTIPLEX_5050_SFF # DDR4
+
+ # Won't boot if MFS partition is missing, deguard requires it
+ config ME_CLEANER_ARGS
+diff --git a/src/mainboard/dell/sklkbl_desktops/Kconfig.name b/src/mainboard/dell/sklkbl_desktops/Kconfig.name
+index 14eab7f52c..e856f670ba 100644
+--- a/src/mainboard/dell/sklkbl_desktops/Kconfig.name
++++ b/src/mainboard/dell/sklkbl_desktops/Kconfig.name
+@@ -2,3 +2,6 @@
+
+ config BOARD_DELL_OPTIPLEX_3050
+ bool "OptiPlex 3050 Micro"
++
++config BOARD_DELL_OPTIPLEX_5050_SFF
++ bool "OptiPlex 5050 SFF"
+diff --git a/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/board_info.txt b/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/board_info.txt
+new file mode 100644
+index 0000000000..5554c934c0
+--- /dev/null
++++ b/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/board_info.txt
+@@ -0,0 +1,7 @@
++Category: desktop
++Board URL: https://www.dell.com/support/product-details/en-uk/product/optiplex-5050-sff/overview
++ROM package: SOIC-8
++ROM protocol: SPI
++ROM socketed: n
++Flashrom support: y
++Release year: 2017
+diff --git a/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/data.vbt b/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/data.vbt
+new file mode 100644
+index 0000000000000000000000000000000000000000..a4e2ee4ade83e0d0e79ff8814fba96d130e2b7c6
+GIT binary patch
+literal 6144
+zcmeHKU2GIp6h1SvzjtP~vs09^U_Bthw$OIAK!sXmw!4L0+S1)_txGgv3%f|;LQ7jr
+z@sBmugv4m}K@A!-O?=SQmnOz1V<a&u2~p8R^i5t&lxSii#us2b^Fv!8(hc#CxM%jv
+zx%b?&-@WJDzcZ@`I|ne+y{jkM-GvV2L4$9VCG@_YI+J~w-SOx^ba!V@U#uIygxldQ
+z<??xeJjX4QBAOOS9-Jr?!~G2e+k?F$dxndJmUv<O(TR~!OvREI-MhC?EQ}3J6!MrE
+z+#W>}Q)Zoqhl_dKdHBGd!dN>JkVe)R+1R{cBVwebm3~@e6BV`gNL%}+Ei#LD#rk?v
+z$)4yyvTrB$^<zAliDoigy`4R~FxB6eNOmR%y5cgMb0an~dSq<)k^K`Gjx}H__0eR3
+zT0_Rz$k=EzMvF!4H*LnTzc5}Hd#sRemYE515_~QWfOA7l2{^da3ZMfZfD1sG>w^py
+zl&>x-z;EJsGGF5ZPu;>cf)}XnBSf6jqYJ*ufui`%`)nN{yPXow_oBmD%j%+IMS{8@
+zLJoPWU{xHefZtY;@K_~{L$hm}6!>I6^$6%#iB}r*1y*=P`Ois#+`afX_2;<F0cR3G
+zfYV@~zaF*=VVDqjcv{#Dt6ZnR=SNuQSKxl)H1TOSgRhCdBmR;2SK>>=UJrvH@p9t3
+ziCc)b5XXpni60~$BK91Hiw0i;ujO-zb7at#pt#`01}L3y^d}s>{}+2Em?K3;RvI|N
+z@Ot60@p&B>hVMRe1Uey*+g#j1N;tB|l7f(O>H{RrSY@5MVfb@YZKdb$cncOXI}LN2
+z%`m7Vi*D7DR0}(3CkeieDHoKyn_V5iee}94z$CDsv)9N$Rl2e$EpL~+0iKZUxVOWW
+z*T4VGmXLWSEdPl=<7IHhdx1Mv``;{?QB!XCM4Z4HM$jQgQ5Dq)Tor*82{`L7mGRsi
+ziZ8dyZmPdI&7BX^n&dg~(`C)mb?gF(F6}rZAiAJSYU5xfsS;#nn^>v@S>|9hgaPSa
+zmdfSa`hHTn0TF7<4SE9#hoA<=uQe#m5CJs21j4-xhnPCf*i#JOWa@j2eaP^8rvA<t
+zC*oRB-6FD>h{K}#gvg!~@f}h9KxCha__L@QBJ)ewBB@b{bxU|iQlFLB3lhF7sUJ)1
+z3kiRdRIki}GTtMrNttD2JR+;l%j{(t-<Q?TWcH1Wmt?gjz?KDYYd}p0*h2xiQFWL2
+zb6hDHuo4~Lm_%n!mX|Dffm2AjYu3^&cm1Ta9i_|O^j1P4%P)>FU4szGuE20<i5;W*
+zwxc{vm5E>;=Zhocmw_IIHCo-VHXEU??WkboXM{jAZX$G0&h+PAXpL|@4Vtcv*4hX(
+z26L$pNt5nSMF^9a4k@~_0D&u8*<XbSZ?{aIONZ9z+2iwL;L29cC+VKq3dWGws%v{@
+zTXp^9Jc7s0fTTfpC6U~>a&RUM_1d<wGZ$tg%hugVL#ZSVPd1mQbD?@&LuW21lCH9q
+zok}HdC0>L(O4FmWcM(G4{9Kf+JVlyzPgSrUUTc^>lb%|orCwb+haiBJ8dD@ILC_lY
+zQ@N?UR+qN(K_D*#T1@78xXCqXA;>m@8!PbQd<dpfxKxw0*t{2I+K)5_GrL)QU-0dv
+zx<i|r^la1oTnKa)nFw@<c^2On4LamXP@7Yfp!qMb<6wO}Nj=+AyHi643&ov72MV`l
+zr4UawO^h_rN3HGMBJXw2fM<uY7P2!tPEn@**S}eI#<+&~YiRv#@a#4kXOc4a2OtG`
+qSkJuzKM2jU0LSL&mMCs;zF8NEdbPP4focS*5vWF>8iD_P1pWYFD8nBB
+
+literal 0
+HcmV?d00001
+
+diff --git a/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/early_gpio.c b/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/early_gpio.c
+new file mode 100644
+index 0000000000..1787d556ab
+--- /dev/null
++++ b/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/early_gpio.c
+@@ -0,0 +1,15 @@
++/* SPDX-License-Identifier: GPL-2.0-only */
++
++#include <soc/gpe.h>
++#include <soc/gpio.h>
++#include "../../../include/variant/gpio.h"
++
++static const struct pad_config early_gpio_table[] = {
++ PAD_CFG_NF(GPP_C8, NONE, DEEP, NF1), /* UART0_RXD */
++ PAD_CFG_NF(GPP_C9, NONE, DEEP, NF1), /* UART0_TXD */
++};
++
++void variant_configure_early_gpios(void)
++{
++ gpio_configure_pads(early_gpio_table, ARRAY_SIZE(early_gpio_table));
++}
+diff --git a/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/gma-mainboard.ads b/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/gma-mainboard.ads
+new file mode 100644
+index 0000000000..f58e61cb8b
+--- /dev/null
++++ b/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/gma-mainboard.ads
+@@ -0,0 +1,19 @@
++-- SPDX-License-Identifier: GPL-2.0-or-later
++
++with HW.GFX.GMA;
++with HW.GFX.GMA.Display_Probing;
++
++use HW.GFX.GMA;
++use HW.GFX.GMA.Display_Probing;
++
++private package GMA.Mainboard is
++
++ ports : constant Port_List :=
++ (HDMI1, -- External HDMI
++ DP2, -- External DP (native)
++ DP3, -- External DP (native)
++ HDMI2, -- External DP (DP++)
++ HDMI3, -- External DP (DP++)
++ others => Disabled);
++
++end GMA.Mainboard;
+diff --git a/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/gpio.c b/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/gpio.c
+new file mode 100644
+index 0000000000..9a133a35de
+--- /dev/null
++++ b/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/gpio.c
+@@ -0,0 +1,245 @@
++/* SPDX-License-Identifier: GPL-2.0-only */
++
++#include <soc/gpe.h>
++#include <soc/gpio.h>
++#include "../../../include/variant/gpio.h"
++
++static const struct pad_config gpio_table[] = {
++
++ /* ------- GPIO Community 0 ------- */
++
++ /* ------- GPIO Group GPP_A ------- */
++ PAD_CFG_NF(GPP_A0, UP_20K, PLTRST, NF1), /* RCIN# */
++ PAD_CFG_NF(GPP_A1, UP_20K, PLTRST, NF1), /* LAD0 */
++ PAD_CFG_NF(GPP_A2, UP_20K, PLTRST, NF1), /* LAD1 */
++ PAD_CFG_NF(GPP_A3, UP_20K, PLTRST, NF1), /* LAD2 */
++ PAD_CFG_NF(GPP_A4, UP_20K, PLTRST, NF1), /* LAD3 */
++ PAD_CFG_NF(GPP_A5, NONE, PLTRST, NF1), /* LFRAME# */
++ PAD_CFG_NF(GPP_A6, NONE, PLTRST, NF1), /* SERIRQ */
++ PAD_CFG_GPI_TRIG_OWN(GPP_A7, NONE, DEEP, OFF, ACPI), /* GPIO */
++ PAD_CFG_NF(GPP_A8, NONE, DEEP, NF1), /* CLKRUN# */
++ PAD_CFG_NF(GPP_A9, NONE, PLTRST, NF1), /* CLKOUT_LPC0 */
++ PAD_CFG_NF(GPP_A10, NONE, PLTRST, NF1), /* CLKOUT_LPC1 */
++ PAD_CFG_NF(GPP_A11, UP_20K, DEEP, NF1), /* PME# */
++ PAD_CFG_GPO(GPP_A12, 0, PLTRST), /* GPIO */
++ PAD_CFG_NF(GPP_A13, NONE, PLTRST, NF1), /* SUSWARN#/SUSPWRDNACK */
++ PAD_CFG_GPI_TRIG_OWN(GPP_A14, NONE, PLTRST, OFF, ACPI), /* GPIO */
++ PAD_CFG_NF(GPP_A15, UP_20K, PLTRST, NF1), /* SUS_ACK# */
++ PAD_CFG_GPO(GPP_A16, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_A17, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_A18, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_A19, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_A20, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_A21, 1, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_A22, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_A23, 0, PLTRST), /* GPIO */
++
++ /* ------- GPIO Group GPP_B ------- */
++ PAD_CFG_GPO(GPP_B0, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_B1, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_B2, 0, DEEP), /* GPIO */
++ PAD_CFG_GPO(GPP_B3, 1, RSMRST), /* GPIO (ME_CNTL, B3 -> LOW => HDA_SDO -> HIGH) */
++ PAD_CFG_GPI_TRIG_OWN(GPP_B4, NONE, DEEP, OFF, ACPI), /* GPIO */
++ PAD_CFG_GPO(GPP_B5, 1, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_B6, 1, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_B7, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPI_TRIG_OWN(GPP_B8, NONE, PLTRST, OFF, ACPI), /* GPIO */
++ PAD_CFG_GPO(GPP_B9, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_B10, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPI_TRIG_OWN(GPP_B11, NONE, PLTRST, OFF, ACPI), /* GPIO */
++ PAD_CFG_NF(GPP_B12, NONE, PLTRST, NF1), /* SLP_S0# */
++ PAD_CFG_NF(GPP_B13, NONE, PLTRST, NF1), /* PLTRST# */
++ PAD_CFG_NF(GPP_B14, DN_20K, PLTRST, NF1), /* SPKR */
++ PAD_CFG_GPO(GPP_B15, 1, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_B16, 1, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_B17, 0, PLTRST), /* GPIO */
++ PAD_CFG_NF(GPP_B18, DN_20K, DEEP, NF1), /* GSPIO_MOSI */
++ PAD_CFG_GPO(GPP_B19, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_B20, 1, DEEP), /* GPIO */
++ PAD_CFG_GPO(GPP_B21, 0, DEEP), /* GPIO */
++ PAD_CFG_NF(GPP_B22, DN_20K, DEEP, NF1), /* GSPI1_MOSI */
++ PAD_CFG_NF(GPP_B23, DN_20K, DEEP, NF2), /* PCHHOT# */
++
++ /* ------- GPIO Community 1 ------- */
++
++ /* ------- GPIO Group GPP_C ------- */
++ PAD_CFG_NF(GPP_C0, NONE, DEEP, NF1), /* SMBCLK */
++ PAD_CFG_NF(GPP_C1, NONE, DEEP, NF1), /* SMBDATA */
++ PAD_CFG_GPI_TRIG_OWN(GPP_C2, DN_20K, DEEP, OFF, ACPI), /* GPIO */
++ PAD_CFG_NF(GPP_C3, NONE, PLTRST, NF1), /* SML0CLK */
++ PAD_CFG_NF(GPP_C4, NONE, PLTRST, NF1), /* SML0DATA */
++ PAD_CFG_GPI_TRIG_OWN(GPP_C5, DN_20K, DEEP, OFF, ACPI), /* GPIO */
++ PAD_CFG_NF(GPP_C6, NONE, DEEP, NF1), /* SML1CLK */
++ PAD_CFG_NF(GPP_C7, NONE, DEEP, NF1), /* SML1DATA */
++ PAD_CFG_NF(GPP_C8, NONE, DEEP, NF1), /* UART0_RXD */
++ PAD_CFG_NF(GPP_C9, NONE, DEEP, NF1), /* UART0_TXD */
++ PAD_CFG_GPO(GPP_C10, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_C11, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_C12, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_C13, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_C14, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_C15, 0, PLTRST), /* GPIO */
++ PAD_CFG_NF(GPP_C16, NONE, PLTRST, NF1), /* I2C0_SDA */
++ PAD_CFG_NF(GPP_C17, NONE, PLTRST, NF1), /* I2C0_SCL */
++ PAD_CFG_GPO(GPP_C18, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_C19, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_C20, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_C21, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_C22, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPI_SCI(GPP_C23, NONE, DEEP, EDGE_SINGLE, INVERT), /* GPIO */
++
++ /* ------- GPIO Group GPP_D ------- */
++ PAD_CFG_GPO(GPP_D0, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_D1, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_D2, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_D3, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_D4, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPI_TRIG_OWN(GPP_D5, NONE, DEEP, OFF, ACPI), /* GPIO */
++ PAD_CFG_GPO(GPP_D6, 0, DEEP), /* GPIO */
++ PAD_CFG_GPO(GPP_D7, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_D8, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_D9, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_D10, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_D11, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_D12, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_D13, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_D14, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_D15, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_D16, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_D17, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_D18, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_D19, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_D20, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_D21, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_D22, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_D23, 0, PLTRST), /* GPIO */
++
++ /* ------- GPIO Group GPP_E ------- */
++ PAD_CFG_NF(GPP_E0, NONE, DEEP, NF1), /* SATAXPCIE0 */
++ PAD_CFG_NF(GPP_E1, NONE, DEEP, NF1), /* SATAXPCIE1 */
++ PAD_CFG_NF(GPP_E2, NONE, DEEP, NF1), /* SATAXPCIE2 */
++ PAD_CFG_GPO(GPP_E3, 0, DEEP), /* GPIO */
++ PAD_CFG_GPO(GPP_E4, 0, DEEP), /* GPIO */
++ PAD_CFG_GPO(GPP_E5, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_E6, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPI_TRIG_OWN(GPP_E7, NONE, DEEP, OFF, ACPI), /* GPIO */
++ PAD_CFG_NF(GPP_E8, NONE, PLTRST, NF1), /* SATA_LED# */
++ PAD_CFG_NF(GPP_E9, UP_20K, PLTRST, NF1), /* USB_OC0# */
++ PAD_CFG_NF(GPP_E10, UP_20K, PLTRST, NF1), /* USB_OC1# */
++ PAD_CFG_NF(GPP_E11, UP_20K, PLTRST, NF1), /* USB_OC2# */
++ PAD_CFG_NF(GPP_E12, UP_20K, PLTRST, NF1), /* USB_OC3# */
++
++ /* ------- GPIO Group GPP_F ------- */
++ PAD_CFG_NF(GPP_F0, NONE, DEEP, NF1), /* SATAXPCIE3 */
++ PAD_CFG_NF(GPP_F1, NONE, DEEP, NF1), /* SATAXPCIE4 */
++ PAD_CFG_NF(GPP_F2, NONE, DEEP, NF1), /* SATAXPCIE5 */
++ PAD_CFG_NF(GPP_F3, NONE, DEEP, NF1), /* SATAXPCIE6 */
++ PAD_CFG_NF(GPP_F4, NONE, DEEP, NF1), /* SATAXPCIE7 */
++ PAD_CFG_GPI_TRIG_OWN(GPP_F5, NONE, PLTRST, OFF, ACPI), /* GPIO */
++ PAD_CFG_NF(GPP_F6, NONE, RSMRST, NF1), /* SATA_DEVSLP4 */
++ PAD_CFG_GPO(GPP_F7, 1, PLTRST), /* GPIO */
++ PAD_CFG_GPI_TRIG_OWN(GPP_F8, NONE, DEEP, OFF, ACPI), /* GPIO */
++ PAD_CFG_GPO(GPP_F9, 0, RSMRST), /* GPIO */
++ PAD_CFG_GPI_TRIG_OWN(GPP_F10, NONE, DEEP, OFF, ACPI), /* GPIO */
++ PAD_CFG_GPI_TRIG_OWN(GPP_F11, NONE, PLTRST, OFF, ACPI), /* GPIO */
++ PAD_CFG_GPI_TRIG_OWN(GPP_F12, NONE, PLTRST, OFF, ACPI), /* GPIO */
++ PAD_CFG_GPO(GPP_F13, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPI_TRIG_OWN(GPP_F14, NONE, DEEP, OFF, ACPI), /* GPIO */
++ PAD_CFG_NF(GPP_F15, UP_20K, DEEP, NF1), /* USB_OC4# */
++ PAD_CFG_NF(GPP_F16, UP_20K, DEEP, NF1), /* USB_OC5# */
++ PAD_CFG_NF(GPP_F17, UP_20K, PLTRST, NF1), /* USB_OC6# */
++ PAD_CFG_TERM_GPO(GPP_F18, 0, UP_20K, DEEP), /* GPIO */
++ PAD_CFG_GPO(GPP_F19, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_F20, 1, DEEP), /* GPIO */
++ PAD_CFG_GPO(GPP_F21, 1, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_F22, 1, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_F23, 1, RSMRST), /* GPIO */
++
++ /* ------- GPIO Group GPP_G ------- */
++ PAD_CFG_GPI_TRIG_OWN(GPP_G0, NONE, PLTRST, OFF, ACPI), /* GPIO */
++ PAD_CFG_GPI_TRIG_OWN(GPP_G1, NONE, PLTRST, OFF, ACPI), /* GPIO */
++ PAD_CFG_GPI_TRIG_OWN(GPP_G2, NONE, PLTRST, OFF, ACPI), /* GPIO */
++ PAD_CFG_GPI_TRIG_OWN(GPP_G3, NONE, PLTRST, OFF, ACPI), /* GPIO */
++ PAD_CFG_GPI_TRIG_OWN(GPP_G4, NONE, PLTRST, OFF, ACPI), /* GPIO */
++ PAD_CFG_GPI_TRIG_OWN(GPP_G5, NONE, PLTRST, OFF, ACPI), /* GPIO */
++ PAD_CFG_GPI_TRIG_OWN(GPP_G6, NONE, PLTRST, OFF, ACPI), /* GPIO */
++ PAD_CFG_GPI_TRIG_OWN(GPP_G7, NONE, PLTRST, OFF, ACPI), /* GPIO */
++ PAD_CFG_GPI_TRIG_OWN(GPP_G8, NONE, PLTRST, OFF, ACPI), /* GPIO */
++ PAD_CFG_GPO(GPP_G9, 1, PLTRST), /* GPIO */
++ PAD_CFG_GPI_TRIG_OWN(GPP_G10, NONE, DEEP, OFF, ACPI), /* GPIO */
++ PAD_CFG_GPI_TRIG_OWN(GPP_G11, NONE, DEEP, OFF, ACPI), /* GPIO */
++ PAD_CFG_GPO(GPP_G12, 1, DEEP), /* GPIO */
++ PAD_CFG_GPI_TRIG_OWN(GPP_G13, NONE, DEEP, OFF, ACPI), /* GPIO */
++ PAD_CFG_GPO(GPP_G14, 0, DEEP), /* GPIO */
++ PAD_CFG_GPO(GPP_G15, 1, DEEP), /* GPIO */
++ PAD_CFG_GPO(GPP_G16, 1, DEEP), /* GPIO */
++ PAD_CFG_GPO(GPP_G17, 1, DEEP), /* GPIO */
++ PAD_CFG_GPO(GPP_G18, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_G19, 1, DEEP), /* GPIO */
++ PAD_CFG_GPO(GPP_G20, 1, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_G21, 0, DEEP), /* GPIO */
++ PAD_CFG_GPO(GPP_G22, 0, DEEP), /* GPIO */
++ PAD_CFG_GPO(GPP_G23, 0, PLTRST), /* GPIO */
++
++ /* ------- GPIO Group GPP_H ------- */
++ PAD_CFG_GPO(GPP_H0, 0, DEEP), /* GPIO */
++ PAD_CFG_GPO(GPP_H1, 1, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_H2, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_H3, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_H4, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_H5, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_H6, 1, DEEP), /* GPIO */
++ PAD_CFG_GPO(GPP_H7, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_H8, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_H9, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_H10, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_H11, 0, PLTRST), /* GPIO */
++ PAD_CFG_TERM_GPO(GPP_H12, 1, DN_20K, DEEP), /* GPIO */
++ PAD_CFG_GPO(GPP_H13, 1, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_H14, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_H15, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_H16, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_H17, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_H18, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_H19, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_H20, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_H21, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_H22, 0, PLTRST), /* GPIO */
++ PAD_CFG_GPO(GPP_H23, 0, PLTRST), /* GPIO */
++
++ /* ------- GPIO Community 2 ------- */
++
++ /* -------- GPIO Group GPD -------- */
++ PAD_CFG_NF(GPD0, NONE, RSMRST, NF1), /* BATLOW# */
++ PAD_CFG_GPO(GPD1, 0, PWROK), /* GPIO */
++ PAD_CFG_NF(GPD2, NONE, RSMRST, NF1), /* LAN_WAKE# */
++ PAD_CFG_NF(GPD3, UP_20K, RSMRST, NF1), /* PWRBTN# */
++ PAD_CFG_NF(GPD4, NONE, RSMRST, NF1), /* SLP_S3# */
++ PAD_CFG_NF(GPD5, NONE, RSMRST, NF1), /* SLP_S4# */
++ PAD_CFG_NF(GPD6, NONE, RSMRST, NF1), /* SLP_A# */
++ PAD_CFG_GPO(GPD7, 1, RSMRST), /* GPIO */
++ PAD_CFG_NF(GPD8, NONE, RSMRST, NF1), /* SUSCLK */
++ PAD_CFG_NF(GPD9, NONE, RSMRST, NF1), /* SLP_WLAN# */
++ PAD_CFG_NF(GPD10, NONE, RSMRST, NF1), /* SLP_S5# */
++ PAD_CFG_GPO(GPD11, 1, RSMRST), /* GPIO */
++
++ /* ------- GPIO Community 3 ------- */
++
++ /* ------- GPIO Group GPP_I ------- */
++ PAD_CFG_NF(GPP_I0, NONE, PLTRST, NF1), /* DDPB_HPD0 */
++ PAD_CFG_NF(GPP_I1, NONE, PLTRST, NF1), /* DDPC_HPD1 */
++ PAD_CFG_NF(GPP_I2, NONE, PLTRST, NF1), /* DDPD_HPD2 */
++ PAD_CFG_NF(GPP_I3, NONE, PLTRST, NF1), /* DDPE_HPD3 */
++ PAD_CFG_NF(GPP_I4, NONE, PLTRST, NF1), /* EDP_HPD */
++ PAD_CFG_NF(GPP_I5, NONE, PLTRST, NF1), /* DDPB_CTRLCLK */
++ PAD_CFG_NF(GPP_I6, DN_20K, PLTRST, NF1), /* DDPB_CTRLDATA */
++ PAD_CFG_NF(GPP_I7, NONE, PLTRST, NF1), /* DDPC_CTRLCLK */
++ PAD_CFG_NF(GPP_I8, DN_20K, PLTRST, NF1), /* DDPC_CTRLDATA */
++ PAD_CFG_NF(GPP_I9, NONE, PLTRST, NF1), /* DDPD_CTRLCLK */
++ PAD_CFG_NF(GPP_I10, DN_20K, PLTRST, NF1), /* DDPD_CTRLDATA */
++};
++
++void variant_configure_gpios(void)
++{
++ gpio_configure_pads(gpio_table, ARRAY_SIZE(gpio_table));
++}
+diff --git a/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/hda_verb.c b/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/hda_verb.c
+new file mode 100644
+index 0000000000..929bcee5ad
+--- /dev/null
++++ b/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/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 */
++ 0x102807a2, /* Subsystem ID */
++ 11, /* Number of entries */
++
++ /* Pin Widget Verb Table */
++
++ AZALIA_SUBVENDOR(0, 0x102807a2),
++
++ 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,
++ 3, 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_REAR,
++ 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,
++ 3, 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;
+diff --git a/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/include/acpi/superio.asl b/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/include/acpi/superio.asl
+new file mode 100644
+index 0000000000..55b1db5b11
+--- /dev/null
++++ b/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/include/acpi/superio.asl
+@@ -0,0 +1,3 @@
++/* SPDX-License-Identifier: GPL-2.0-only */
++
++#include <drivers/pc80/pc/ps2_controller.asl>
+diff --git a/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/overridetree.cb b/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/overridetree.cb
+new file mode 100644
+index 0000000000..87c0e25b3e
+--- /dev/null
++++ b/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/overridetree.cb
+@@ -0,0 +1,97 @@
++## SPDX-License-Identifier: GPL-2.0-only
++
++chip soc/intel/skylake
++
++ device domain 0 on
++
++ subsystemid 0x1028 0x07a2 inherit
++
++ device ref south_xhci on
++ register "usb2_ports" = "{
++ [0] = USB2_PORT_MID(OC0), // Back panel (black)
++ [1] = USB2_PORT_MID(OC0), // Front panel (black)
++ [2] = USB2_PORT_MID(OC2), // Front panel (black)
++ [3] = USB2_PORT_MID(OC1), // Back panel (black)
++ [4] = USB2_PORT_MID(OC1), // Back panel (blue)
++ [5] = USB2_PORT_MID(OC3), // Back panel (blue)
++ [6] = USB2_PORT_MID(OC2), // Back panel (blue)
++ [7] = USB2_PORT_MID(OC3), // Back panel (blue)
++ [8] = USB2_PORT_MID(OC4), // Front panel (blue)
++ [9] = USB2_PORT_MID(OC6), // Front panel (blue)
++ [10] = USB2_PORT_MID(OC_SKIP), // Unknown
++ [11] = USB2_PORT_MID(OC5), // Unknown
++ [12] = USB2_PORT_MID(OC5), // Unknown
++ [13] = USB2_PORT_MID(OC_SKIP), // Unknown
++ [14] = USB2_PORT_MID(OC0), // Unknown
++ [15] = USB2_PORT_MID(OC0), // Unknown
++ }"
++ register "usb3_ports" = "{
++ [0] = USB3_PORT_DEFAULT(OC0), // Front panel (blue)
++ [1] = USB3_PORT_DEFAULT(OC0), // Front panel (blue)
++ [2] = USB3_PORT_DEFAULT(OC1), // Back panel (blue)
++ [3] = USB3_PORT_DEFAULT(OC1), // Back panel (blue)
++ [4] = USB3_PORT_DEFAULT(OC2), // Back panel (blue)
++ [5] = USB3_PORT_DEFAULT(OC2), // Back panel (blue)
++ }"
++ end
++
++ device ref sata on
++ register "SataSalpSupport" = "1"
++ register "SataPortsEnable[0]" = "1"
++ register "SataPortsEnable[1]" = "1"
++ register "SataPortsEnable[2]" = "1"
++ register "SataPortsEnable[3]" = "1"
++ end
++
++ # Intel Gigabit Ethernet
++ device ref gbe on
++ register "PcieRpClkReqSupport[4]" = "0"
++ register "PcieRpHotPlug[4]" = "0"
++ end
++
++ device ref lpc_espi on
++ # SCH5553
++ chip superio/smsc/sch555x
++ device pnp 2e.0 on # EMI
++ io 0x60 = 0xa00
++ end
++ device pnp 2e.1 on # 8042
++ io 0x60 = 0x60
++ irq 0x0f = 0
++ irq 0x70 = 1
++ irq 0x72 = 12
++ end
++ device pnp 2e.7 on # UART1
++ io 0x60 = 0x3f8
++ irq 0x0f = 2
++ irq 0x70 = 4
++ end
++ device pnp 2e.8 off end # UART2
++ device pnp 2e.c on # LPC interface
++ io 0x60 = 0x2e
++ end
++ device pnp 2e.a on # Runtime registers
++ io 0x60 = 0xa40
++ end
++ device pnp 2e.b off end # Floppy Controller
++ device pnp 2e.11 off end # Parallel Port
++ end
++ end
++
++ # PCIe x16
++ device ref peg0 on
++ end
++
++ # PCIe x4
++ device ref pcie_rp9 on
++ register "PcieRpAdvancedErrorReporting[8]" = "1"
++ register "PcieRpLtrEnable[8]" = "true"
++ end
++
++ # M.2 SSD
++ device ref pcie_rp17 on
++ register "PcieRpAdvancedErrorReporting[16]" = "1"
++ register "PcieRpLtrEnable[16]" = "true"
++ end
++ end
++end
+diff --git a/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/romstage.c b/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/romstage.c
+new file mode 100644
+index 0000000000..1784eb9a11
+--- /dev/null
++++ b/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/romstage.c
+@@ -0,0 +1,20 @@
++/* SPDX-License-Identifier: GPL-2.0-only */
++
++#include <soc/romstage.h>
++#include <spd_bin.h>
++
++void mainboard_memory_init_params(FSPM_UPD *mupd)
++{
++ struct spd_block blk = { .addr_map = { 0x50, 0x51, 0x52, 0x53, } };
++ get_spd_smbus(&blk);
++ dump_spd_info(&blk);
++
++ FSP_M_CONFIG *mem_cfg = &mupd->FspmConfig;
++ mem_cfg->DqPinsInterleaved = true;
++ mem_cfg->CaVrefConfig = 2;
++ mem_cfg->MemorySpdDataLen = blk.len;
++ mem_cfg->MemorySpdPtr00 = (uintptr_t)blk.spd_array[0];
++ mem_cfg->MemorySpdPtr10 = (uintptr_t)blk.spd_array[2];
++ mem_cfg->MemorySpdPtr01 = (uintptr_t)blk.spd_array[1];
++ mem_cfg->MemorySpdPtr11 = (uintptr_t)blk.spd_array[3];
++}
+--
+2.47.3
+
diff --git a/config/module/coreboot/default/patches/0057-5050sff-disable-hotplug-on-pcie-x4-and-m2-slot.patch b/config/module/coreboot/default/patches/0057-5050sff-disable-hotplug-on-pcie-x4-and-m2-slot.patch
new file mode 100644
index 00000000..04919f58
--- /dev/null
+++ b/config/module/coreboot/default/patches/0057-5050sff-disable-hotplug-on-pcie-x4-and-m2-slot.patch
@@ -0,0 +1,42 @@
+From 76ee3bd2fc48cada3094798bc4f1c3f77f404a66 Mon Sep 17 00:00:00 2001
+From: Leah Rowe <leah@libreboot.org>
+Date: Mon, 21 Sep 2026 19:49:34 +0100
+Subject: [PATCH 1/1] 5050sff: disable hotplug on pcie x4 and m2 slot
+
+hotplug is buggy with nvme ssds on these boards, when
+using fsp. the device names get bumped in linux, which
+can cause a crash (or if they're on a raid array, they
+drop out of the array)
+
+ron forgot to add them here. i'm not even going to
+entertain testing this board without this patch, as
+turning off hotplug doesn't really affect anything
+anyway, so there's no harm in doing it.
+
+Signed-off-by: Leah Rowe <leah@libreboot.org>
+---
+ .../sklkbl_desktops/variants/optiplex_5050sff/overridetree.cb | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/overridetree.cb b/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/overridetree.cb
+index 87c0e25b3e..a6d7e72fd1 100644
+--- a/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/overridetree.cb
++++ b/src/mainboard/dell/sklkbl_desktops/variants/optiplex_5050sff/overridetree.cb
+@@ -86,12 +86,14 @@ chip soc/intel/skylake
+ device ref pcie_rp9 on
+ register "PcieRpAdvancedErrorReporting[8]" = "1"
+ register "PcieRpLtrEnable[8]" = "true"
++ register "PcieRpHotPlug[8]" = "0"
+ end
+
+ # M.2 SSD
+ device ref pcie_rp17 on
+ register "PcieRpAdvancedErrorReporting[16]" = "1"
+ register "PcieRpLtrEnable[16]" = "true"
++ register "PcieRpHotPlug[16]" = "0"
+ end
+ end
+ end
+--
+2.47.3
+
diff --git a/config/module/coreboot/default/target.cfg b/config/module/coreboot/default/target.cfg
index 15337647..460dc684 100644
--- a/config/module/coreboot/default/target.cfg
+++ b/config/module/coreboot/default/target.cfg
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: GPL-3.0-or-later
-rev="ed5a993f0f98a47d5e780e375e5861860019b183"
+rev="8ce4c91c41da3f042979f92095149a85bc93227d"
tree="default"