Compare commits

..

1 Commits

Author SHA1 Message Date
Leah Rowe 3881160b86 experimental/unstable t480 thunderbolt support
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-12-10 23:35:47 +00:00
16 changed files with 411 additions and 666 deletions
-3
View File
@@ -36,6 +36,3 @@
/hash/
/dump/
/qrun*.sh
*.tar.*
/m
/f
@@ -1,57 +0,0 @@
From adfeaeabcf98878814b463f14aba7871721d7606 Mon Sep 17 00:00:00 2001
From: Leah Rowe <info@minifree.org>
Date: Wed, 11 Dec 2024 01:06:01 +0000
Subject: [PATCH 1/1] dell/3050micro: disable nvme hotplug
in my testing, when running my 3050micro for a few days,
the nvme would sometimes randomly rename.
e.g. nvme0n1 renamed to nvme0n2
this might cause crashes in linux, if booting only from the
nvme. in my case, i was booting from mdraid (sata+nvme) and
every few days, the nvme would rename at least once, causing
my RAID to become unsynced. since i'm using RAID1, this was
OK and I could simply re-sync the array, but this is quite
precarious indeed. if you're using raid0, that will potentially
corrupt your RAID array indefinitely.
this same issue manifested on the T480/T480 thinkpads, and
S3 resume would break because of that, when booting from nvme,
because the nvme would be "unplugged" and appear to linux as a
new device (the one that you booted from).
the fix there was to disable hotplugging on that pci-e slot
for the nvme, so apply the same fix here for 3050 micro
Signed-off-by: Leah Rowe <info@minifree.org>
---
3rdparty/vboot | 2 +-
src/mainboard/dell/optiplex_3050/devicetree.cb | 4 +++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/3rdparty/vboot b/3rdparty/vboot
index f1f70f46dc..902fe8af96 160000
--- a/3rdparty/vboot
+++ b/3rdparty/vboot
@@ -1 +1 @@
-Subproject commit f1f70f46dc5482bb7c654e53ed58d4001e386df2
+Subproject commit 902fe8af96ad662fac127cb8f51596491cf8272f
diff --git a/src/mainboard/dell/optiplex_3050/devicetree.cb b/src/mainboard/dell/optiplex_3050/devicetree.cb
index 039709aa4a..0678ed1765 100644
--- a/src/mainboard/dell/optiplex_3050/devicetree.cb
+++ b/src/mainboard/dell/optiplex_3050/devicetree.cb
@@ -45,7 +45,9 @@ chip soc/intel/skylake
register "PcieRpAdvancedErrorReporting[20]" = "1"
register "PcieRpLtrEnable[20]" = "1"
register "PcieRpClkSrcNumber[20]" = "3"
- register "PcieRpHotPlug[20]" = "1"
+# disable hotplug on nvme to prevent renaming e.g. nvme0n1 rename to nvme0n2,
+# which could cause crashes in linux if booting from nvme
+ register "PcieRpHotPlug[20]" = "0"
end
# Realtek LAN
--
2.39.5
@@ -0,0 +1,265 @@
From 0db8646d574c07c40793bad5e5ab768da6161628 Mon Sep 17 00:00:00 2001
From: Jeremy Soller <jeremy@system76.com>
Date: Thu, 5 Dec 2024 20:35:23 +0000
Subject: [PATCH 1/2] drivers/intel/dtbt: Add discrete Thunderbolt driver
Add a new driver for discrete Thunderbolt controllers. This allows using
e.g. Maple Ridge devices on Raptor Point PCH.
Ref: Titan Ridge BIOS Implementation Guide v1.4
Ref: Maple Ridge BIOS Implementation Guide v1.6 (#632472)
Change-Id: Ib78ce43740956fa2c93b9ebddb0eeb319dcc0364
Signed-off-by: Jeremy Soller <jeremy@system76.com>
Signed-off-by: Tim Crawford <tcrawford@system76.com>
---
src/drivers/intel/dtbt/Kconfig | 4 +
src/drivers/intel/dtbt/Makefile.mk | 3 +
src/drivers/intel/dtbt/chip.h | 8 ++
src/drivers/intel/dtbt/dtbt.c | 199 +++++++++++++++++++++++++++++
4 files changed, 214 insertions(+)
create mode 100644 src/drivers/intel/dtbt/Kconfig
create mode 100644 src/drivers/intel/dtbt/Makefile.mk
create mode 100644 src/drivers/intel/dtbt/chip.h
create mode 100644 src/drivers/intel/dtbt/dtbt.c
diff --git a/src/drivers/intel/dtbt/Kconfig b/src/drivers/intel/dtbt/Kconfig
new file mode 100644
index 0000000000..5c03a97db9
--- /dev/null
+++ b/src/drivers/intel/dtbt/Kconfig
@@ -0,0 +1,4 @@
+config DRIVERS_INTEL_DTBT
+ def_bool n
+ help
+ Support for discrete Thunderbolt controllers
diff --git a/src/drivers/intel/dtbt/Makefile.mk b/src/drivers/intel/dtbt/Makefile.mk
new file mode 100644
index 0000000000..1b5252dda0
--- /dev/null
+++ b/src/drivers/intel/dtbt/Makefile.mk
@@ -0,0 +1,3 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+ramstage-$(CONFIG_DRIVERS_INTEL_DTBT) += dtbt.c
diff --git a/src/drivers/intel/dtbt/chip.h b/src/drivers/intel/dtbt/chip.h
new file mode 100644
index 0000000000..2b1dfa70a5
--- /dev/null
+++ b/src/drivers/intel/dtbt/chip.h
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef _DRIVERS_INTEL_DTBT_CHIP_H_
+#define _DRIVERS_INTEL_DTBT_CHIP_H_
+
+struct drivers_intel_dtbt_config {};
+
+#endif /* _DRIVERS_INTEL_DTBT_CHIP_H_ */
diff --git a/src/drivers/intel/dtbt/dtbt.c b/src/drivers/intel/dtbt/dtbt.c
new file mode 100644
index 0000000000..a54f0e213d
--- /dev/null
+++ b/src/drivers/intel/dtbt/dtbt.c
@@ -0,0 +1,199 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include "chip.h"
+#include <acpi/acpigen.h>
+#include <console/console.h>
+#include <delay.h>
+#include <device/device.h>
+#include <device/pci.h>
+#include <device/pciexp.h>
+#include <device/pci_ids.h>
+#include <timer.h>
+
+#define PCIE2TBT 0x54C
+#define PCIE2TBT_VALID BIT(0)
+#define PCIE2TBT_GO2SX 2
+#define PCIE2TBT_GO2SX_NO_WAKE 3
+#define PCIE2TBT_SX_EXIT_TBT_CONNECTED 4
+#define PCIE2TBT_OS_UP 6
+#define PCIE2TBT_SET_SECURITY_LEVEL 8
+#define PCIE2TBT_GET_SECURITY_LEVEL 9
+#define PCIE2TBT_BOOT_ON 24
+#define PCIE2TBT_USB_ON 25
+#define PCIE2TBT_GET_ENUMERATION_METHOD 26
+#define PCIE2TBT_SET_ENUMERATION_METHOD 27
+#define PCIE2TBT_POWER_CYCLE 28
+#define PCIE2TBT_SX_START 29
+#define PCIE2TBT_ACL_BOOT 30
+#define PCIE2TBT_CONNECT_TOPOLOGY 31
+
+#define TBT2PCIE 0x548
+#define TBT2PCIE_DONE BIT(0)
+
+// Default timeout for mailbox commands unless otherwise specified.
+#define TIMEOUT_MS 1000
+// Default timeout for controller to ack GO2SX/GO2SX_NO_WAKE mailbox command.
+#define GO2SX_TIMEOUT_MS 600
+
+static void dtbt_cmd(struct device *dev, u32 command, u32 data, u32 timeout)
+{
+ u32 reg = (data << 8) | (command << 1) | PCIE2TBT_VALID;
+ u32 status;
+
+ printk(BIOS_DEBUG, "dTBT send command %08x\n", command);
+ pci_write_config32(dev, PCIE2TBT, reg);
+
+ if (!wait_ms(timeout, (status = pci_read_config32(dev, TBT2PCIE)) & TBT2PCIE_DONE)) {
+ printk(BIOS_ERR, "dTBT command %08x send timeout %08x\n", command, status);
+ }
+
+ pci_write_config32(dev, PCIE2TBT, 0);
+ if (!wait_ms(timeout, !(pci_read_config32(dev, TBT2PCIE) & TBT2PCIE_DONE))) {
+ printk(BIOS_ERR, "dTBT command %08x clear timeout\n", command);
+ }
+}
+
+static void dtbt_write_dsd(void)
+{
+ struct acpi_dp *dsd = acpi_dp_new_table("_DSD");
+
+ acpi_device_add_hotplug_support_in_d3(dsd);
+ acpi_device_add_external_facing_port(dsd);
+ acpi_dp_write(dsd);
+}
+
+static void dtbt_write_opregion(const struct bus *bus)
+{
+ uintptr_t mmconf_base = (uintptr_t)CONFIG_ECAM_MMCONF_BASE_ADDRESS
+ + (((uintptr_t)(bus->secondary)) << 20);
+ const struct opregion opregion = OPREGION("PXCS", SYSTEMMEMORY, mmconf_base, 0x1000);
+ const struct fieldlist fieldlist[] = {
+ FIELDLIST_OFFSET(TBT2PCIE),
+ FIELDLIST_NAMESTR("TB2P", 32),
+ FIELDLIST_OFFSET(PCIE2TBT),
+ FIELDLIST_NAMESTR("P2TB", 32),
+ };
+
+ acpigen_write_opregion(&opregion);
+ acpigen_write_field("PXCS", fieldlist, ARRAY_SIZE(fieldlist),
+ FIELD_DWORDACC | FIELD_NOLOCK | FIELD_PRESERVE);
+}
+
+static void dtbt_fill_ssdt(const struct device *dev)
+{
+ struct bus *bus;
+ struct device *parent;
+ const char *parent_scope;
+ const char *dev_name = acpi_device_name(dev);
+
+ bus = dev->upstream;
+ if (!bus) {
+ printk(BIOS_ERR, "dTBT bus invalid\n");
+ return;
+ }
+
+ parent = bus->dev;
+ if (!parent || parent->path.type != DEVICE_PATH_PCI) {
+ printk(BIOS_ERR, "dTBT parent invalid\n");
+ return;
+ }
+
+ parent_scope = acpi_device_path(parent);
+ if (!parent_scope) {
+ printk(BIOS_ERR, "dTBT parent scope not valid\n");
+ return;
+ }
+
+ /* Scope */
+ acpigen_write_scope(parent_scope);
+ dtbt_write_dsd();
+
+ /* Device */
+ acpigen_write_device(dev_name);
+ acpigen_write_name_integer("_ADR", 0);
+ dtbt_write_opregion(bus);
+
+ /* Method */
+ acpigen_write_method_serialized("PTS", 0);
+
+ acpigen_write_debug_string("dTBT prepare to sleep");
+ acpigen_write_store_int_to_namestr(PCIE2TBT_GO2SX_NO_WAKE << 1, "P2TB");
+ acpigen_write_delay_until_namestr_int(GO2SX_TIMEOUT_MS, "TB2P", PCIE2TBT_GO2SX_NO_WAKE << 1);
+
+ acpigen_write_debug_namestr("TB2P");
+ acpigen_write_store_int_to_namestr(0, "P2TB");
+ acpigen_write_delay_until_namestr_int(GO2SX_TIMEOUT_MS, "TB2P", 0);
+ acpigen_write_debug_namestr("TB2P");
+
+ acpigen_write_method_end();
+ acpigen_write_device_end();
+ acpigen_write_scope_end();
+
+ printk(BIOS_DEBUG, "dTBT fill SSDT\n");
+ printk(BIOS_DEBUG, " Dev %s\n", dev_path(dev));
+ //printk(BIOS_DEBUG, " Bus %s\n", bus_path(bus));
+ printk(BIOS_DEBUG, " Parent %s\n", dev_path(parent));
+ printk(BIOS_DEBUG, " Scope %s\n", parent_scope);
+ printk(BIOS_DEBUG, " Device %s\n", dev_name);
+
+ // \.TBTS Method
+ acpigen_write_scope("\\");
+ acpigen_write_method("TBTS", 0);
+ acpigen_emit_namestring(acpi_device_path_join(dev, "PTS"));
+ acpigen_write_method_end();
+ acpigen_write_scope_end();
+}
+
+static const char *dtbt_acpi_name(const struct device *dev)
+{
+ return "DTBT";
+}
+
+static struct pci_operations dtbt_device_ops_pci = {
+ .set_subsystem = 0,
+};
+
+static struct device_operations dtbt_device_ops = {
+ .read_resources = pci_bus_read_resources,
+ .set_resources = pci_dev_set_resources,
+ .enable_resources = pci_bus_enable_resources,
+ .acpi_fill_ssdt = dtbt_fill_ssdt,
+ .acpi_name = dtbt_acpi_name,
+ .scan_bus = pciexp_scan_bridge,
+ .reset_bus = pci_bus_reset,
+ .ops_pci = &dtbt_device_ops_pci,
+};
+
+static void dtbt_enable(struct device *dev)
+{
+ if (!is_dev_enabled(dev) || dev->path.type != DEVICE_PATH_PCI)
+ return;
+
+ if (pci_read_config16(dev, PCI_VENDOR_ID) != PCI_VID_INTEL)
+ return;
+
+ // TODO: check device ID
+
+ dev->ops = &dtbt_device_ops;
+
+ printk(BIOS_INFO, "dTBT controller found at %s\n", dev_path(dev));
+
+ // XXX: Recommendation is to set SL1 ("User Authorization")
+ printk(BIOS_DEBUG, "dTBT set security level SL0\n");
+ dtbt_cmd(dev, PCIE2TBT_SET_SECURITY_LEVEL, 0, TIMEOUT_MS);
+ // XXX: Must verify change or rollback all controllers
+
+ if (acpi_is_wakeup_s3()) {
+ printk(BIOS_DEBUG, "dTBT SX exit\n");
+ dtbt_cmd(dev, PCIE2TBT_SX_EXIT_TBT_CONNECTED, 0, TIMEOUT_MS);
+ // TODO: "wait for fast link bring-up" loop (timeout: 5s)
+ } else {
+ printk(BIOS_DEBUG, "dTBT boot on\n");
+ dtbt_cmd(dev, PCIE2TBT_BOOT_ON, 0, TIMEOUT_MS);
+ }
+}
+
+struct chip_operations drivers_intel_dtbt_ops = {
+ .name = "Intel Discrete Thunderbolt",
+ .enable_dev = dtbt_enable,
+};
--
2.39.5
@@ -1,78 +0,0 @@
From 91c7d772f4803a94950b3224ccd11ffd162b4e36 Mon Sep 17 00:00:00 2001
From: Leah Rowe <info@minifree.org>
Date: Wed, 18 Dec 2024 02:06:18 +0000
Subject: [PATCH 1/1] 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
firmware updates on T480/T480s and other machines, grabbing
Lenovo update files.
Not used in any builds, so it's not relevant for ./mk inject
However, the ThunderBolt firmware is now auto-downloaded on
T480/T480s. This is not inserted, because it doesn't go in
the main flash, but the resulting ROM image can be flashed
on the TB controller's separate flash chip.
Locations are as follows:
vendorfiles/t480s/tb.bin
vendorfiles/t480/tb.bin
This can be used for other affected ThinkPads when they're
added to Libreboot, but note that Lenovo provides different
TB firmware files for each machine.
Since I assume it's the same TB controller on all of those
machines, I have to wonder: what difference is there between
the various TBT.bin files provided by Lenovo, and how do they
differ in terms of actual flashed configuration?
We simply flash the padded TBT.bin when updating the firmware,
flashing externally. That's what this patch is for, so that
lbmk can auto-download them.
Signed-off-by: Leah Rowe <info@minifree.org>
---
src/mainboard/lenovo/Kconfig | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/src/mainboard/lenovo/Kconfig b/src/mainboard/lenovo/Kconfig
index 2ffbaab85f..512b326381 100644
--- a/src/mainboard/lenovo/Kconfig
+++ b/src/mainboard/lenovo/Kconfig
@@ -18,4 +18,30 @@ config MAINBOARD_FAMILY
string
default MAINBOARD_PART_NUMBER
+config LENOVO_TBFW_BIN
+ string "Lenovo ThunderBolt firmware bin file"
+ default ""
+ help
+ ThunderBolt firmware for certain ThinkPad models e.g. T480.
+ Not used in the actual build. Libreboot's build system uses this
+ along with config/vendor/*/pkg.cfg entries defining a URL to the
+ Lenovo download link and hash. The resulting file when processed by
+ lbmk can be flashed to the ThunderBolt firmware's 25XX NOR device.
+ Earlier versions of this firmware had debug commands enabled that
+ sent logs to said flash IC, and it would quickly fill up, bricking
+ the ThunderBolt controller. With these updates, flashed externally,
+ you can fix the issue if present or otherwise prevent it. The benefit
+ here is that you then don't need to use Windows or a boot disk. You
+ can flash the TB firmware while flashing Libreboot firmware. Easy!
+ Look for these variables in lbmk:
+ TBFW_url TBFW_url_bkup TBFW_hash and look at how it handles that and
+ CONFIG_LENOVO_TBFW_BIN, in lbmk's include/vendor.sh file.
+ The path set by CONFIG_LENOVO_TBFW_BIN is used by lbmk when extracting
+ the firmware, putting it at that desired location. In this way, lbmk
+ can auto-download such firmware. E.g. ./mk -d coreboot t480_fsp_16mb
+ and it appears at vendorfiles/t480/tb.bin fully padded and everything!
+
+ Just leave this blank if you don't care about this option. It's not
+ useful for every ThinkPad, only certain models.
+
endif # VENDOR_LENOVO
--
2.39.5
@@ -0,0 +1,136 @@
From dbc0c75d666045eb0716e2ad0656a29b562c8f66 Mon Sep 17 00:00:00 2001
From: Mate Kukri <km@mkukri.xyz>
Date: Thu, 5 Dec 2024 20:42:40 +0000
Subject: [PATCH 2/2] thunderbolt fix-ish
it shows up, but resume is no dice.
Change-Id: I2d91a1d290b35e7ea3a1193b4be7b4ba936e4a15
---
src/mainboard/lenovo/sklkbl_thinkpad/Kconfig | 1 +
src/mainboard/lenovo/sklkbl_thinkpad/dsdt.asl | 13 +++++++++++++
.../lenovo/sklkbl_thinkpad/variants/t480/gpio.c | 8 ++++----
.../sklkbl_thinkpad/variants/t480/overridetree.cb | 4 ++++
.../lenovo/sklkbl_thinkpad/variants/t480s/gpio.c | 8 ++++----
.../sklkbl_thinkpad/variants/t480s/overridetree.cb | 4 ++++
6 files changed, 30 insertions(+), 8 deletions(-)
diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig b/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig
index 21076315ab..0766c03716 100644
--- a/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig
+++ b/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig
@@ -19,6 +19,7 @@ config BOARD_LENOVO_SKLKBL_THINKPAD_COMMON
select SOC_INTEL_COMMON_BLOCK_HDA_VERB
select SPD_READ_BY_WORD
select SYSTEM_TYPE_LAPTOP
+ select DRIVERS_INTEL_DTBT
config BOARD_LENOVO_E460
bool
diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/dsdt.asl b/src/mainboard/lenovo/sklkbl_thinkpad/dsdt.asl
index 237500775f..849540d32d 100644
--- a/src/mainboard/lenovo/sklkbl_thinkpad/dsdt.asl
+++ b/src/mainboard/lenovo/sklkbl_thinkpad/dsdt.asl
@@ -35,4 +35,17 @@ DefinitionBlock(
}
#include <southbridge/intel/common/acpi/sleepstates.asl>
+
+ Scope (\_SB)
+ {
+ External (\TBTS, MethodObj)
+
+ Method (MPTS, 1, Serialized)
+ {
+ If (CondRefOf (\TBTS))
+ {
+ \TBTS()
+ }
+ }
+ }
}
diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/gpio.c b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/gpio.c
index f7c29e1f39..edfa09fbb7 100644
--- a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/gpio.c
+++ b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/gpio.c
@@ -86,7 +86,7 @@ static const struct pad_config gpio_table[] = {
PAD_NC(GPP_C18, NONE),
PAD_NC(GPP_C19, NONE),
PAD_CFG_GPO(GPP_C20, 0, DEEP), /* EPRIVACY_ON */
- PAD_CFG_GPO(GPP_C21, 0, DEEP), /* TBT_FORCE_PWR */
+ PAD_CFG_GPO(GPP_C21, 1, DEEP), /* TBT_FORCE_PWR */
PAD_CFG_GPI_SCI(GPP_C22, NONE, DEEP, EDGE_SINGLE, INVERT), /* -EC_SCI */
PAD_CFG_GPI_SCI(GPP_C23, NONE, DEEP, EDGE_SINGLE, INVERT), /* -EC_WAKE */
@@ -191,9 +191,9 @@ static const struct pad_config gpio_table[] = {
PAD_NC(GPP_G1, NONE),
PAD_NC(GPP_G2, NONE),
PAD_NC(GPP_G3, NONE),
- PAD_CFG_GPO(GPP_G4, 0, DEEP), /* TBT_RTD3_PWR_EN */
- PAD_CFG_GPO(GPP_G5, 0, DEEP), /* TBT_FORCE_USB_PWR */
- PAD_CFG_GPO(GPP_G6, 0, DEEP), /* -TBT_PERST */
+ PAD_CFG_GPO(GPP_G4, 1, DEEP), /* TBT_RTD3_PWR_EN */
+ PAD_CFG_GPO(GPP_G5, 1, DEEP), /* TBT_FORCE_USB_PWR (TBT_RTD3_USB_PWR_EN) */
+ PAD_CFG_GPO(GPP_G6, 1, DEEP), /* -TBT_PERST */
PAD_CFG_GPI_SCI(GPP_G7, NONE, DEEP, LEVEL, INVERT), /* -TBT_PCIE_WAKE */
};
diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/overridetree.cb b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/overridetree.cb
index 2f0b20d91a..6d8725ad5a 100644
--- a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/overridetree.cb
+++ b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/overridetree.cb
@@ -106,6 +106,10 @@ chip soc/intel/skylake
register "PcieRpAdvancedErrorReporting[8]" = "1"
register "PcieRpLtrEnable[8]" = "1"
register "PcieRpHotPlug[8]" = "1"
+
+ chip drivers/intel/dtbt
+ device pci 0.0 on end
+ end
end
# M.2 2280 caddy - x2
diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/gpio.c b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/gpio.c
index a98dd2bc4e..732917ebfa 100644
--- a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/gpio.c
+++ b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/gpio.c
@@ -82,7 +82,7 @@ static const struct pad_config gpio_table[] = {
PAD_NC(GPP_C18, NONE),
PAD_NC(GPP_C19, NONE),
PAD_CFG_GPO(GPP_C20, 0, DEEP), /* EPRIVACY_ON */
- PAD_CFG_GPO(GPP_C21, 0, DEEP), /* TBT_FORCE_PWR */
+ PAD_CFG_GPO(GPP_C21, 1, DEEP), /* TBT_FORCE_PWR */
PAD_CFG_GPI_SCI(GPP_C22, NONE, DEEP, EDGE_SINGLE, INVERT), /* -EC_SCI */
PAD_CFG_GPI_SCI(GPP_C23, NONE, DEEP, EDGE_SINGLE, INVERT), /* -EC_WAKE */
@@ -187,9 +187,9 @@ static const struct pad_config gpio_table[] = {
PAD_NC(GPP_G1, NONE),
PAD_NC(GPP_G2, NONE),
PAD_NC(GPP_G3, NONE),
- PAD_CFG_GPO(GPP_G4, 0, DEEP), /* TBT_RTD3_PWR_EN */
- PAD_CFG_GPO(GPP_G5, 0, DEEP), /* TBT_FORCE_USB_PWR */
- PAD_CFG_GPO(GPP_G6, 0, DEEP), /* -TBT_PERST */
+ PAD_CFG_GPO(GPP_G4, 1, DEEP), /* TBT_RTD3_PWR_EN */
+ PAD_CFG_GPO(GPP_G5, 1, DEEP), /* TBT_FORCE_USB_PWR (TBT_RTD3_USB_PWR_EN) */
+ PAD_CFG_GPO(GPP_G6, 1, DEEP), /* -TBT_PERST */
PAD_CFG_GPI_SCI(GPP_G7, NONE, DEEP, LEVEL, INVERT), /* -TBT_PCIE_WAKE */
};
diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/overridetree.cb b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/overridetree.cb
index cea5e485d2..9b952215c5 100644
--- a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/overridetree.cb
+++ b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/overridetree.cb
@@ -106,6 +106,10 @@ chip soc/intel/skylake
register "PcieRpAdvancedErrorReporting[4]" = "1"
register "PcieRpLtrEnable[4]" = "1"
register "PcieRpHotPlug[4]" = "1"
+
+ chip drivers/intel/dtbt
+ device pci 0.0 on end
+ end
end
# M.2 2280 SSD - x2
--
2.39.5
@@ -218,7 +218,6 @@ CONFIG_PS2M_EISAID="PNP0F13"
CONFIG_THINKPADEC_HKEY_EISAID="IBM0068"
CONFIG_GFX_GMA_PANEL_1_PORT="eDP"
CONFIG_BOARD_LENOVO_SKLKBL_THINKPAD_COMMON=y
CONFIG_LENOVO_TBFW_BIN="../../../vendorfiles/t480/tb.bin"
# CONFIG_SOC_INTEL_CSE_SEND_EOP_EARLY is not set
CONFIG_TTYS0_BAUD=115200
CONFIG_POWER_STATE_DEFAULT_ON_AFTER_FAILURE=y
@@ -626,6 +625,7 @@ CONFIG_DRIVERS_UART=y
# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
CONFIG_DRIVERS_I2C_DESIGNWARE=y
# CONFIG_DRIVERS_I2C_MAX98396 is not set
CONFIG_DRIVERS_INTEL_DTBT=y
CONFIG_FSP_USE_REPO=y
# CONFIG_DISPLAY_HOBS is not set
# CONFIG_DISPLAY_UPD_DATA is not set
@@ -216,7 +216,6 @@ CONFIG_PS2M_EISAID="PNP0F13"
CONFIG_THINKPADEC_HKEY_EISAID="IBM0068"
CONFIG_GFX_GMA_PANEL_1_PORT="eDP"
CONFIG_BOARD_LENOVO_SKLKBL_THINKPAD_COMMON=y
CONFIG_LENOVO_TBFW_BIN="../../../vendorfiles/t480/tb.bin"
# CONFIG_SOC_INTEL_CSE_SEND_EOP_EARLY is not set
CONFIG_TTYS0_BAUD=115200
CONFIG_POWER_STATE_DEFAULT_ON_AFTER_FAILURE=y
@@ -618,6 +617,7 @@ CONFIG_DRIVERS_UART=y
# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
CONFIG_DRIVERS_I2C_DESIGNWARE=y
# CONFIG_DRIVERS_I2C_MAX98396 is not set
CONFIG_DRIVERS_INTEL_DTBT=y
CONFIG_FSP_USE_REPO=y
# CONFIG_DISPLAY_HOBS is not set
# CONFIG_DISPLAY_UPD_DATA is not set
@@ -218,7 +218,6 @@ CONFIG_PS2M_EISAID="PNP0F13"
CONFIG_THINKPADEC_HKEY_EISAID="IBM0068"
CONFIG_GFX_GMA_PANEL_1_PORT="eDP"
CONFIG_BOARD_LENOVO_SKLKBL_THINKPAD_COMMON=y
CONFIG_LENOVO_TBFW_BIN="../../../vendorfiles/t480s/tb.bin"
# CONFIG_SOC_INTEL_CSE_SEND_EOP_EARLY is not set
CONFIG_TTYS0_BAUD=115200
CONFIG_POWER_STATE_DEFAULT_ON_AFTER_FAILURE=y
@@ -626,6 +625,7 @@ CONFIG_DRIVERS_UART=y
# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
CONFIG_DRIVERS_I2C_DESIGNWARE=y
# CONFIG_DRIVERS_I2C_MAX98396 is not set
CONFIG_DRIVERS_INTEL_DTBT=y
CONFIG_FSP_USE_REPO=y
# CONFIG_DISPLAY_HOBS is not set
# CONFIG_DISPLAY_UPD_DATA is not set
@@ -216,7 +216,6 @@ CONFIG_PS2M_EISAID="PNP0F13"
CONFIG_THINKPADEC_HKEY_EISAID="IBM0068"
CONFIG_GFX_GMA_PANEL_1_PORT="eDP"
CONFIG_BOARD_LENOVO_SKLKBL_THINKPAD_COMMON=y
CONFIG_LENOVO_TBFW_BIN="../../../vendorfiles/t480s/tb.bin"
# CONFIG_SOC_INTEL_CSE_SEND_EOP_EARLY is not set
CONFIG_TTYS0_BAUD=115200
CONFIG_POWER_STATE_DEFAULT_ON_AFTER_FAILURE=y
@@ -618,6 +617,7 @@ CONFIG_DRIVERS_UART=y
# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
CONFIG_DRIVERS_I2C_DESIGNWARE=y
# CONFIG_DRIVERS_I2C_MAX98396 is not set
CONFIG_DRIVERS_INTEL_DTBT=y
CONFIG_FSP_USE_REPO=y
# CONFIG_DISPLAY_HOBS is not set
# CONFIG_DISPLAY_UPD_DATA is not set
@@ -1,157 +0,0 @@
From d721edb391618fca096ec7f63a2fbc9df0af9231 Mon Sep 17 00:00:00 2001
From: Leah Rowe <info@minifree.org>
Date: Tue, 17 Dec 2024 12:59:54 +0000
Subject: [PATCH 1/1] change the logo back to the plain libreboot one
Signed-off-by: Leah Rowe <info@minifree.org>
---
drivers/video/u_boot_logo.bmp | Bin 27350 -> 27350 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/drivers/video/u_boot_logo.bmp b/drivers/video/u_boot_logo.bmp
index bc9ae001badb25bc900058c167a47247ef91dc7c..c9262cd206cc3cf5297daa94b696fcf102fc22b5 100644
GIT binary patch
literal 27350
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
HHU0e$+Zn$=
literal 27350
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
--
2.39.5
@@ -1,157 +0,0 @@
From d721edb391618fca096ec7f63a2fbc9df0af9231 Mon Sep 17 00:00:00 2001
From: Leah Rowe <info@minifree.org>
Date: Tue, 17 Dec 2024 12:59:54 +0000
Subject: [PATCH 1/1] change the logo back to the plain libreboot one
Signed-off-by: Leah Rowe <info@minifree.org>
---
drivers/video/u_boot_logo.bmp | Bin 27350 -> 27350 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/drivers/video/u_boot_logo.bmp b/drivers/video/u_boot_logo.bmp
index bc9ae001badb25bc900058c167a47247ef91dc7c..c9262cd206cc3cf5297daa94b696fcf102fc22b5 100644
GIT binary patch
literal 27350
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
HHU0e$+Zn$=
literal 27350
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
--
2.39.5
@@ -1,157 +0,0 @@
From d721edb391618fca096ec7f63a2fbc9df0af9231 Mon Sep 17 00:00:00 2001
From: Leah Rowe <info@minifree.org>
Date: Tue, 17 Dec 2024 12:59:54 +0000
Subject: [PATCH 1/1] change the logo back to the plain libreboot one
Signed-off-by: Leah Rowe <info@minifree.org>
---
drivers/video/u_boot_logo.bmp | Bin 27350 -> 27350 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/drivers/video/u_boot_logo.bmp b/drivers/video/u_boot_logo.bmp
index bc9ae001badb25bc900058c167a47247ef91dc7c..c9262cd206cc3cf5297daa94b696fcf102fc22b5 100644
GIT binary patch
literal 27350
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
HHU0e$+Zn$=
literal 27350
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
--
2.39.5
-10
View File
@@ -1,4 +1,3 @@
# ME firmware (deguard will be used)
DL_hash="df735a24242792bf4150f30bf0bd4fdbdc0fb6bf0f897ea533df32567be8e084006d692fb6351677f8cc976878c5018667901dbd407b0a77805754f7c101497c"
DL_url="https://dl.dell.com/FOLDER04573471M/1/Inspiron_5468_1.3.0.exe"
DL_url_bkup="https://web.archive.org/web/20241110222323/https://dl.dell.com/FOLDER04573471M/1/Inspiron_5468_1.3.0.exe"
@@ -9,12 +8,3 @@ ME11delta="thinkpad_t480" # subdirectory under deguard's data/delta/
ME11version="11.6.0.1126"
ME11sku="2M"
ME11pch="LP"
# ThunderBolt firmware
# (flashed on the 1MB chip, not main 16MB; not used by coreboot)
# (padded firmware will appear at vendorfiles/t480/tb.bin)
#
TBFW_url="https://download.lenovo.com/pccbbs/mobiles/n24th13w.exe"
TBFW_url_bkup="https://web.archive.org/web/20241004165955/https://download.lenovo.com/pccbbs/mobiles/n24th13w.exe"
TBFW_hash="906d916e8ae77e6d146c67c3113cd904e735a7f28cb2fc37e2284758ead5cda8dd4025c1c741fac9162b1eb01cff08fc39a0d4e79c5cec0515f1d3e6447d1323"
TBFW_size=1048576 # size in bytes, when padding, matching TBFW's flash IC
-9
View File
@@ -8,12 +8,3 @@ ME11delta="thinkpad_t480s" # subdirectory under deguard's data/delta/
ME11version="11.6.0.1126"
ME11sku="2M"
ME11pch="LP"
# ThunderBolt firmware
# (flashed on the 1MB chip, not main 16MB; not used by coreboot)
# (padded firmware will appear at vendorfiles/t480s/tb.bin)
#
TBFW_url="https://download.lenovo.com/pccbbs/mobiles/n22th11w.exe"
TBFW_url_bkup="https://web.archive.org/web/20230319003752/https://download.lenovo.com/pccbbs/mobiles/n22th11w.exe"
TBFW_hash="ef8ec0a41d7faaa0ce514cfb6f8e7e10669c878eff69fbe1b821443b6218f5b31e1b910c8abceecf38d4b11a6e552d90f277c96c7a9c512d605c8b8aea9c1c0c"
TBFW_size=1048576 # size in bytes, when padding, matching TBFW's flash IC
+2 -4
View File
@@ -44,7 +44,8 @@ mkpayload_grub()
--fonts= --themes= --locales= --modules="$grub_modules" \
--install-modules="$grub_install_modules" \
"/boot/grub/grub_default.cfg=${srcdir}/.config" \
"/boot/grub/grub.cfg=$grubdata/memdisk.cfg" || \
"/boot/grub/grub.cfg=$grubdata/memdisk.cfg" \
"/background.png=$grubdata/background/background1280x800.png" || \
$err "$tree: cannot build grub.elf"; return 0
}
@@ -164,9 +165,6 @@ add_grub()
printf "set grub_scan_disk=\"%s\"\n" "$grub_scan_disk" \
> "$TMPDIR/tmpcfg" || $err "$target: !insert scandisk"
cbfs "$tmprom" "$TMPDIR/tmpcfg" scan.cfg raw
[ "$initmode" != "normal" ] && [ "$displaymode" != "txtmode" ] && \
cbfs "$tmprom" "$grubdata/background/background1280x800.png" \
"background.png" raw; :
}
mkseagrub()
+4 -30
View File
@@ -16,8 +16,7 @@ cv="CONFIG_HAVE_ME_BIN CONFIG_ME_BIN_PATH CONFIG_INCLUDE_SMSC_SCH5545_EC_FW \
CONFIG_KBC1126_FW2 CONFIG_KBC1126_FW1_OFFSET CONFIG_KBC1126_FW2_OFFSET \
CONFIG_VGA_BIOS_FILE CONFIG_VGA_BIOS_ID CONFIG_BOARD_DELL_E6400 \
CONFIG_HAVE_MRC CONFIG_MRC_FILE CONFIG_HAVE_REFCODE_BLOB \
CONFIG_REFCODE_BLOB_FILE CONFIG_GBE_BIN_PATH CONFIG_IFD_BIN_PATH \
CONFIG_LENOVO_TBFW_BIN"
CONFIG_REFCODE_BLOB_FILE CONFIG_GBE_BIN_PATH CONFIG_IFD_BIN_PATH"
eval `setvars "" EC_url_bkup EC_hash DL_hash DL_url_bkup MRC_refcode_gbe vcfg \
E6400_VGA_DL_hash E6400_VGA_DL_url E6400_VGA_DL_url_bkup E6400_VGA_offset \
@@ -25,8 +24,7 @@ eval `setvars "" EC_url_bkup EC_hash DL_hash DL_url_bkup MRC_refcode_gbe vcfg \
mecleaner kbc1126_ec_dump MRC_refcode_cbtree new_mac _dl SCH5545EC_DL_url \
archive EC_url boarddir rom cbdir DL_url nukemode cbfstoolref vrelease \
verify _7ztest ME11bootguard ME11delta ME11version ME11sku ME11pch \
IFD_platform ifdprefix cdir sdir _me _metmp mfs TBFW_url_bkup TBFW_url \
TBFW_hash TBFW_size $cv`
IFD_platform ifdprefix cdir sdir _me _metmp mfs $cv`
vendor_download()
{
@@ -54,8 +52,7 @@ readkconfig()
eval `setcfg "$TMPDIR/tmpcbcfg"`
for c in CONFIG_HAVE_MRC CONFIG_HAVE_ME_BIN CONFIG_KBC1126_FIRMWARE \
CONFIG_VGA_BIOS_FILE CONFIG_INCLUDE_SMSC_SCH5545_EC_FW \
CONFIG_LENOVO_TBFW_BIN; do
CONFIG_VGA_BIOS_FILE CONFIG_INCLUDE_SMSC_SCH5545_EC_FW; do
eval "[ \"\${$c}\" = \"/dev/null\" ] && continue"
eval "[ -z \"\${$c}\" ] && continue"
eval `setcfg "config/vendor/$vcfg/pkg.cfg"`; return 0
@@ -85,9 +82,7 @@ getfiles()
[ -z "$CONFIG_VGA_BIOS_FILE" ] || fetch e6400vga "$E6400_VGA_DL_url" \
"$E6400_VGA_DL_url_bkup" "$E6400_VGA_DL_hash" "$CONFIG_VGA_BIOS_FILE"
[ -z "$CONFIG_HAVE_MRC" ] || fetch "mrc" "$MRC_url" "$MRC_url_bkup" \
"$MRC_hash" "$CONFIG_MRC_FILE"
[ -z "$CONFIG_LENOVO_TBFW_BIN" ] || fetch "tbfw" "$TBFW_url" \
"$TBFW_url_bkup" "$TBFW_hash" "$CONFIG_LENOVO_TBFW_BIN"; return 0
"$MRC_hash" "$CONFIG_MRC_FILE"; return 0
}
fetch()
@@ -236,27 +231,6 @@ extract_sch5545ec()
cp "$_sch5545ec_fw" "$_dest" || $err "$_dest: !sch5545 copy"
}
# Lenovo ThunderBolt firmware updates:
# https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-t-series-laptops/thinkpad-t480-type-20l5-20l6/20l5/solutions/ht508988
extract_tbfw()
{
chkvars TBFW_size # size in bytes, matching TBFW's flash IC
x_ mkdir -p tmp
x_ rm -f tmp/tb.bin
find "$appdir" -type f -name "TBT.bin" > "tmp/tb.txt" || \
$err "extract_tbfw $_dest: Can't extract TBT.bin"
while read -r f; do
[ -f "$f" ] || continue
[ -L "$f" ] && continue
cp "$f" "tmp/tb.bin" || \
$err "extract_tbfw $_dest: Can't copy TBT.bin"
break
done < "tmp/tb.txt"
dd if=/dev/null of=tmp/tb.bin bs=1 seek=$TBFW_size || \
$err "extract_tbfw $_dest: Can't pad TBT.bin"
cp "tmp/tb.bin" "$_dest" || $err "extract_tbfw $_dest: copy error"; :
}
vendor_inject()
{
set +u +e; [ $# -lt 1 ] && $err "No options specified."