mirror of
https://github.com/linuxboot/heads.git
synced 2025-03-14 08:16:44 +00:00
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. use CONFIG_BOARD_LENOVO_SKLKBL_THINKPAD_COMMON to decide what to compile this should work for T480, T480S and older thinkpads Signed-off-by: gaspar-ilom <gasparilom@riseup.net>
This commit is contained in:
parent
730fdd1b25
commit
3466272a69
@ -0,0 +1,157 @@
|
||||
From efc90be24c861f5f83309006e7fdbf3e3504534f Mon Sep 17 00:00:00 2001
|
||||
From: gaspar-ilom <gasparilom@riseup.net>
|
||||
Date: Thu, 6 Mar 2025 23:00:00 +0000
|
||||
Subject: [PATCH] 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 | 8 +++++---
|
||||
src/ec/lenovo/h8/acpi/ec.asl | 4 +++-
|
||||
src/ec/lenovo/h8/bluetooth.c | 15 ++++++++++-----
|
||||
src/ec/lenovo/h8/wwan.c | 14 ++++++++++----
|
||||
4 files changed, 28 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/src/device/pci_rom.c b/src/device/pci_rom.c
|
||||
index cc6b9b068a..f47300faaa 100644
|
||||
--- a/src/device/pci_rom.c
|
||||
+++ b/src/device/pci_rom.c
|
||||
@@ -304,13 +304,15 @@ void pci_rom_ssdt(const struct device *device)
|
||||
return;
|
||||
}
|
||||
|
||||
-#if 0
|
||||
+ #ifdef 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
|
||||
|
||||
/* Supports up to four devices. */
|
||||
if ((CBMEM_ID_ROM0 + ngfx) > CBMEM_ID_ROM3) {
|
||||
@@ -338,7 +340,7 @@ void pci_rom_ssdt(const struct device *device)
|
||||
memcpy(cbrom, rom, cbrom_length);
|
||||
|
||||
/* write _ROM method */
|
||||
- acpigen_write_scope("\\_SB.PCI0.RP01.PEGP");
|
||||
+ acpigen_write_scope(scope);
|
||||
acpigen_write_rom(cbrom, cbrom_length);
|
||||
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..0159753f86 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"
|
||||
+#ifndef 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..94dd52d87e 100644
|
||||
--- a/src/ec/lenovo/h8/bluetooth.c
|
||||
+++ b/src/ec/lenovo/h8/bluetooth.c
|
||||
@@ -1,6 +1,7 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
-
|
||||
-// #include <southbridge/intel/common/gpio.h>
|
||||
+#ifndef 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 +27,27 @@ void h8_bluetooth_enable(int on)
|
||||
*/
|
||||
bool h8_has_bdc(const struct device *dev)
|
||||
{
|
||||
+ #ifdef 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..183e1a2cf9 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>
|
||||
+#ifndef 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)
|
||||
{
|
||||
+ #ifdef 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
|
||||
|
Loading…
x
Reference in New Issue
Block a user