mirror of
https://codeberg.org/libreboot/lbmk.git
synced 2026-07-11 05:52:36 +02:00
cc2f08e7bb
This reverts commit 32dfdfbb01.
The update caused an issue on T480:
Backlight comes on, then off, then on, then off, repeatedly, and
never gets to the payload. Will have to investigate further.
Signed-off-by: Leah Rowe <leah@libreboot.org>
154 lines
4.3 KiB
Diff
154 lines
4.3 KiB
Diff
From 99086eb3298b01aa9b3c68d78c399261866321d5 Mon Sep 17 00:00:00 2001
|
|
From: gaspar-ilom <gasparilom@riseup.net>
|
|
Date: Thu, 6 Mar 2025 23:00:00 +0000
|
|
Subject: [PATCH 38/41] do not break building other thinkpads with the hacks
|
|
for the t480/s made Mate Kukri
|
|
|
|
still not fixing things properly but at least it should now be possible to build older thinkpads without regressions.
|
|
prior, some code was just commented or unreachable. now we make this explicit with preprocessor directives.
|
|
heads should build all boards on this coreboot version from the same coreboot tree.
|
|
|
|
Signed-off-by: gaspar-ilom <gasparilom@riseup.net>
|
|
---
|
|
src/device/pci_rom.c | 9 ++++++---
|
|
src/ec/lenovo/h8/acpi/ec.asl | 4 +++-
|
|
src/ec/lenovo/h8/bluetooth.c | 14 ++++++++++----
|
|
src/ec/lenovo/h8/wwan.c | 14 ++++++++++----
|
|
4 files changed, 29 insertions(+), 12 deletions(-)
|
|
|
|
diff --git a/src/device/pci_rom.c b/src/device/pci_rom.c
|
|
index bba98d9dea..db3dbbe2ce 100644
|
|
--- a/src/device/pci_rom.c
|
|
+++ b/src/device/pci_rom.c
|
|
@@ -396,16 +396,19 @@ void pci_rom_ssdt(const struct device *device)
|
|
rom = cbrom;
|
|
}
|
|
|
|
-#if 0
|
|
+
|
|
+ #if CONFIG(BOARD_LENOVO_SKLKBL_THINKPAD_COMMON)
|
|
+ const char *scope = "\\_SB.PCI0.RP01.PEGP";
|
|
+ #else
|
|
const char *scope = acpi_device_path(device);
|
|
+ #endif
|
|
if (!scope) {
|
|
printk(BIOS_ERR, "%s: Missing ACPI scope\n", dev_path(device));
|
|
return;
|
|
}
|
|
-#endif
|
|
|
|
/* write _ROM method */
|
|
- acpigen_write_scope("\\_SB.PCI0.RP01.PEGP");
|
|
+ acpigen_write_scope(scope);
|
|
acpigen_write_rom((void *)rom, rom->size * 512);
|
|
acpigen_pop_len(); /* pop scope */
|
|
}
|
|
diff --git a/src/ec/lenovo/h8/acpi/ec.asl b/src/ec/lenovo/h8/acpi/ec.asl
|
|
index 8f4a8e1986..f80c15106c 100644
|
|
--- a/src/ec/lenovo/h8/acpi/ec.asl
|
|
+++ b/src/ec/lenovo/h8/acpi/ec.asl
|
|
@@ -331,7 +331,9 @@ Device(EC)
|
|
#include "sleepbutton.asl"
|
|
#include "lid.asl"
|
|
#include "beep.asl"
|
|
-//#include "thermal.asl"
|
|
+#if !CONFIG(BOARD_LENOVO_SKLKBL_THINKPAD_COMMON)
|
|
+#include "thermal.asl"
|
|
+#endif
|
|
#include "systemstatus.asl"
|
|
#include "thinkpad.asl"
|
|
}
|
|
diff --git a/src/ec/lenovo/h8/bluetooth.c b/src/ec/lenovo/h8/bluetooth.c
|
|
index be71a24ced..e60b6c088c 100644
|
|
--- a/src/ec/lenovo/h8/bluetooth.c
|
|
+++ b/src/ec/lenovo/h8/bluetooth.c
|
|
@@ -1,6 +1,8 @@
|
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
|
|
-// #include <southbridge/intel/common/gpio.h>
|
|
+#if !CONFIG(BOARD_LENOVO_SKLKBL_THINKPAD_COMMON)
|
|
+#include <southbridge/intel/common/gpio.h>
|
|
+#endif
|
|
#include <console/console.h>
|
|
#include <device/device.h>
|
|
#include <ec/acpi/ec.h>
|
|
@@ -26,23 +28,27 @@ void h8_bluetooth_enable(int on)
|
|
*/
|
|
bool h8_has_bdc(const struct device *dev)
|
|
{
|
|
+ #if CONFIG(BOARD_LENOVO_SKLKBL_THINKPAD_COMMON)
|
|
+ printk(BIOS_INFO, "H8: BDC detection not implemented. "
|
|
+ "Assuming BDC installed\n");
|
|
+ return true;
|
|
+ #else
|
|
struct ec_lenovo_h8_config *conf = dev->chip_info;
|
|
|
|
- if (1 || !conf->has_bdc_detection) {
|
|
+ if (!conf->has_bdc_detection) {
|
|
printk(BIOS_INFO, "H8: BDC detection not implemented. "
|
|
"Assuming BDC installed\n");
|
|
return true;
|
|
}
|
|
|
|
-#if 0
|
|
if (get_gpio(conf->bdc_gpio_num) == conf->bdc_gpio_lvl) {
|
|
printk(BIOS_INFO, "H8: BDC installed\n");
|
|
return true;
|
|
}
|
|
-#endif
|
|
|
|
printk(BIOS_INFO, "H8: BDC not installed\n");
|
|
return false;
|
|
+ #endif
|
|
}
|
|
|
|
/*
|
|
diff --git a/src/ec/lenovo/h8/wwan.c b/src/ec/lenovo/h8/wwan.c
|
|
index 5cdcf77406..b4f5787e01 100644
|
|
--- a/src/ec/lenovo/h8/wwan.c
|
|
+++ b/src/ec/lenovo/h8/wwan.c
|
|
@@ -1,6 +1,8 @@
|
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
|
|
-// #include <southbridge/intel/common/gpio.h>
|
|
+#if !CONFIG(BOARD_LENOVO_SKLKBL_THINKPAD_COMMON)
|
|
+#include <southbridge/intel/common/gpio.h>
|
|
+#endif
|
|
#include <console/console.h>
|
|
#include <device/device.h>
|
|
#include <ec/acpi/ec.h>
|
|
@@ -24,23 +26,27 @@ void h8_wwan_enable(int on)
|
|
*/
|
|
bool h8_has_wwan(const struct device *dev)
|
|
{
|
|
+ #if CONFIG(BOARD_LENOVO_SKLKBL_THINKPAD_COMMON)
|
|
+ printk(BIOS_INFO, "H8: WWAN detection not implemented. "
|
|
+ "Assuming WWAN installed\n");
|
|
+ return true;
|
|
+ #else
|
|
struct ec_lenovo_h8_config *conf = dev->chip_info;
|
|
|
|
- if (1 || !conf->has_wwan_detection) {
|
|
+ if (!conf->has_wwan_detection) {
|
|
printk(BIOS_INFO, "H8: WWAN detection not implemented. "
|
|
"Assuming WWAN installed\n");
|
|
return true;
|
|
}
|
|
|
|
-#if 0
|
|
if (get_gpio(conf->wwan_gpio_num) == conf->wwan_gpio_lvl) {
|
|
printk(BIOS_INFO, "H8: WWAN installed\n");
|
|
return true;
|
|
}
|
|
-#endif
|
|
|
|
printk(BIOS_INFO, "H8: WWAN not installed\n");
|
|
return false;
|
|
+ #endif
|
|
}
|
|
|
|
/*
|
|
--
|
|
2.39.5
|
|
|