summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDa Lao <dalao@tutanota.com>2020-04-05 00:23:09 +0800
committerPatrick Rudolph <siro@das-labor.org>2020-05-26 04:41:43 +0000
commit56f5cc7ee3dbdd258f14a9148918ec8aad10d50c (patch)
tree55b7f9619a3e15be46b179eaf9f2ea2226b0d8c0 /src
parent10999ea6288e58922eaf364d691dce95bfcf460b (diff)
downloadcoreboot-56f5cc7ee3dbdd258f14a9148918ec8aad10d50c.tar.xz
ec/lenovo/h8: Config the ec hardware ids for newer thinkpads
Currently coreboot is using the ec hardware id IBM0068 for all thinkpads, but for newer thinkpads the id maybe LEN0068 or LEN0268. On Windows, the Lenovo Vantage app can't get battery details when using IBM0068. This patch config this id by motherboard. The hardware IDs for the following models can be found by searching for disassembled dsdt.asl on vendor BIOS: (But this info is not easy to find online. So I only changed some of the thinkpads.) T420: https://github.com/tluck/Lenovo-T420-Clover/blob/master/EFI/CLOVER/ACPI/1600x900-EDID/DSDT.edid-2e2-hs.dsl LEN0068 T430: https://github.com/ThiagoSchetini/macosx-thinkpad-t430/blob/master/vanilla%20ACPI%20dsl's/DSDT.dsl LEN0068 T520: Confirmed by Patrick Rudolph LEN0068 W520: Confirmed by Patrick Rudolph LEN0068 T530: Confirmed by Prasun Gera LEN0068 W530: https://bugzilla.kernel.org/show_bug.cgi?id=66731 LEN0068 X230/X230T: https://github.com/tuandzung/ThinkPad-X230-macOS-10.12.x/blob/master/DSDT/DSDT.dsl LEN0068 T440p: https://github.com/doudou/t440p/blob/master/acpi/2.30/dsdt.dsl LEN0068 Signed-off-by: Da Lao <dalao@tutanota.com> Change-Id: I797080ec8ba7ce39d47fe587319f8f32d6938875 Reviewed-on: https://review.coreboot.org/c/coreboot/+/40128 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Rudolph <siro@das-labor.org>
Diffstat (limited to 'src')
-rw-r--r--src/ec/lenovo/h8/Kconfig7
-rw-r--r--src/ec/lenovo/h8/acpi/thinkpad.asl2
-rw-r--r--src/mainboard/lenovo/t420/Kconfig3
-rw-r--r--src/mainboard/lenovo/t430/Kconfig3
-rw-r--r--src/mainboard/lenovo/t440p/Kconfig3
-rw-r--r--src/mainboard/lenovo/t520/Kconfig3
-rw-r--r--src/mainboard/lenovo/t530/Kconfig3
-rw-r--r--src/mainboard/lenovo/x230/Kconfig3
8 files changed, 26 insertions, 1 deletions
diff --git a/src/ec/lenovo/h8/Kconfig b/src/ec/lenovo/h8/Kconfig
index 6bd290f50e..2ea4faa9e2 100644
--- a/src/ec/lenovo/h8/Kconfig
+++ b/src/ec/lenovo/h8/Kconfig
@@ -44,4 +44,11 @@ config H8_HAS_PRIMARY_FN_KEYS
bool
default n
+config THINKPADEC_HKEY_EISAID
+ string
+ default "IBM0068"
+ help
+ Motherboards of newer thinkpad models can override the default to match
+ vendor drivers and quirks.
+
endif # EC_LENOVO_H8
diff --git a/src/ec/lenovo/h8/acpi/thinkpad.asl b/src/ec/lenovo/h8/acpi/thinkpad.asl
index 0b8ca15eb2..eca0d4471d 100644
--- a/src/ec/lenovo/h8/acpi/thinkpad.asl
+++ b/src/ec/lenovo/h8/acpi/thinkpad.asl
@@ -8,7 +8,7 @@ Device (HKEY)
External (\HKBL, IntObj)
External (\HUWB, IntObj)
- Name (_HID, EisaId ("IBM0068"))
+ Name (_HID, EisaId (CONFIG_THINKPADEC_HKEY_EISAID))
Name (BTN, 0)
diff --git a/src/mainboard/lenovo/t420/Kconfig b/src/mainboard/lenovo/t420/Kconfig
index dfc8ed1d61..182ca46d58 100644
--- a/src/mainboard/lenovo/t420/Kconfig
+++ b/src/mainboard/lenovo/t420/Kconfig
@@ -81,4 +81,7 @@ config PS2K_EISAID
config PS2M_EISAID
default "LEN0015"
+config THINKPADEC_HKEY_EISAID
+ default "LEN0068"
+
endif # BOARD_LENOVO_T420
diff --git a/src/mainboard/lenovo/t430/Kconfig b/src/mainboard/lenovo/t430/Kconfig
index 45c7ae307a..6139452e86 100644
--- a/src/mainboard/lenovo/t430/Kconfig
+++ b/src/mainboard/lenovo/t430/Kconfig
@@ -75,4 +75,7 @@ config PS2K_EISAID
config PS2M_EISAID
default "LEN0015"
+config THINKPADEC_HKEY_EISAID
+ default "LEN0068"
+
endif
diff --git a/src/mainboard/lenovo/t440p/Kconfig b/src/mainboard/lenovo/t440p/Kconfig
index e6785488df..7310dc106b 100644
--- a/src/mainboard/lenovo/t440p/Kconfig
+++ b/src/mainboard/lenovo/t440p/Kconfig
@@ -76,4 +76,7 @@ config PS2K_EISAID
config PS2M_EISAID
default "LEN0036"
+config THINKPADEC_HKEY_EISAID
+ default "LEN0068"
+
endif
diff --git a/src/mainboard/lenovo/t520/Kconfig b/src/mainboard/lenovo/t520/Kconfig
index aebb2dee46..3529367d3f 100644
--- a/src/mainboard/lenovo/t520/Kconfig
+++ b/src/mainboard/lenovo/t520/Kconfig
@@ -90,4 +90,7 @@ config PS2K_EISAID
config PS2M_EISAID
default "LEN0015"
+config THINKPADEC_HKEY_EISAID
+ default "LEN0068"
+
endif
diff --git a/src/mainboard/lenovo/t530/Kconfig b/src/mainboard/lenovo/t530/Kconfig
index 2a0e3ea039..4dc77e9266 100644
--- a/src/mainboard/lenovo/t530/Kconfig
+++ b/src/mainboard/lenovo/t530/Kconfig
@@ -91,4 +91,7 @@ config PS2K_EISAID
config PS2M_EISAID
default "LEN0015"
+config THINKPADEC_HKEY_EISAID
+ default "LEN0068"
+
endif
diff --git a/src/mainboard/lenovo/x230/Kconfig b/src/mainboard/lenovo/x230/Kconfig
index 37b264dab2..f134bc863c 100644
--- a/src/mainboard/lenovo/x230/Kconfig
+++ b/src/mainboard/lenovo/x230/Kconfig
@@ -89,4 +89,7 @@ config PS2K_EISAID
config PS2M_EISAID
default "LEN0020"
+config THINKPADEC_HKEY_EISAID
+ default "LEN0068"
+
endif # BOARD_LENOVO_X230 || BOARD_LENOVO_X230T