diff options
author | Da Lao <dalao@tutanota.com> | 2020-04-05 00:23:09 +0800 |
---|---|---|
committer | Patrick Rudolph <siro@das-labor.org> | 2020-05-26 04:41:43 +0000 |
commit | 56f5cc7ee3dbdd258f14a9148918ec8aad10d50c (patch) | |
tree | 55b7f9619a3e15be46b179eaf9f2ea2226b0d8c0 | |
parent | 10999ea6288e58922eaf364d691dce95bfcf460b (diff) | |
download | coreboot-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>
-rw-r--r-- | src/ec/lenovo/h8/Kconfig | 7 | ||||
-rw-r--r-- | src/ec/lenovo/h8/acpi/thinkpad.asl | 2 | ||||
-rw-r--r-- | src/mainboard/lenovo/t420/Kconfig | 3 | ||||
-rw-r--r-- | src/mainboard/lenovo/t430/Kconfig | 3 | ||||
-rw-r--r-- | src/mainboard/lenovo/t440p/Kconfig | 3 | ||||
-rw-r--r-- | src/mainboard/lenovo/t520/Kconfig | 3 | ||||
-rw-r--r-- | src/mainboard/lenovo/t530/Kconfig | 3 | ||||
-rw-r--r-- | src/mainboard/lenovo/x230/Kconfig | 3 |
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 |