Felix Singer has submitted this change. ( https://review.coreboot.org/c/coreboot/+/80437?usp=email )
Change subject: ec/lenovo/h8/acpi: Support pulsing LEDLOGO on Haswell ThinkPads ......................................................................
ec/lenovo/h8/acpi: Support pulsing LEDLOGO on Haswell ThinkPads
The name LEDLOGO comes from schematics. It's the red indicator, embedded in the dot of the 'i' of the ThinkPad logo on laptop's lid.
In vendor firmware, this led starts fading in-and-out, or, in other words, pulsing, when laptop is put to S3. It helps to determine whether the laptop is in S3 just by taking a look at the logo.
As of now, coreboot doesn't do anything with this particular indicator, it's always in enabled (on) state, which is not very convenient.
This patch fixes it.
Tested on T440p.
Change-Id: I85fb69c8c1bed8635a1b31e9b8385c7036bb46dd Signed-off-by: Evgeny Zinoviev me@ch1p.io Reviewed-on: https://review.coreboot.org/c/coreboot/+/80437 Reviewed-by: Felix Singer service+coreboot-gerrit@felixsinger.de Reviewed-by: Nicholas Chin nic.c3.14@gmail.com Tested-by: build bot (Jenkins) no-reply@coreboot.org --- M src/ec/lenovo/h8/Kconfig M src/ec/lenovo/h8/acpi/systemstatus.asl M src/mainboard/lenovo/haswell/Kconfig 3 files changed, 21 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Felix Singer: Looks good to me, approved Nicholas Chin: Looks good to me, approved
diff --git a/src/ec/lenovo/h8/Kconfig b/src/ec/lenovo/h8/Kconfig index 57d7da6..6311d54 100644 --- a/src/ec/lenovo/h8/Kconfig +++ b/src/ec/lenovo/h8/Kconfig @@ -52,6 +52,10 @@ bool default n
+config H8_HAS_LEDLOGO + bool + default n + config THINKPADEC_HKEY_EISAID string default "IBM0068" diff --git a/src/ec/lenovo/h8/acpi/systemstatus.asl b/src/ec/lenovo/h8/acpi/systemstatus.asl index 7598154..8054449 100644 --- a/src/ec/lenovo/h8/acpi/systemstatus.asl +++ b/src/ec/lenovo/h8/acpi/systemstatus.asl @@ -12,6 +12,10 @@ _SB.PCI0.LPCB.EC.TLED(0x00) /* suspend TLED off */ _SB.PCI0.LPCB.EC.TLED(0x07) +#if CONFIG(H8_HAS_LEDLOGO) + /* logo TLED off */ + _SB.PCI0.LPCB.EC.TLED(0x0a) +#endif }
If (Arg0 == 1) { @@ -21,6 +25,10 @@ _SB.PCI0.LPCB.EC.TLED(0x80) /* suspend TLED off */ _SB.PCI0.LPCB.EC.TLED(0x07) +#if CONFIG(H8_HAS_LEDLOGO) + /* logo TLED on */ + _SB.PCI0.LPCB.EC.TLED(0x8a) +#endif }
If (Arg0 == 2) { @@ -30,6 +38,10 @@ _SB.PCI0.LPCB.EC.TLED(0x80) /* suspend LED blinking */ _SB.PCI0.LPCB.EC.TLED(0xc7) +#if CONFIG(H8_HAS_LEDLOGO) + /* logo TLED on */ + _SB.PCI0.LPCB.EC.TLED(0x8a) +#endif }
If (Arg0 == 3) { @@ -39,6 +51,10 @@ _SB.PCI0.LPCB.EC.TLED(0xa0) /* suspend TLED on */ _SB.PCI0.LPCB.EC.TLED(0x87) +#if CONFIG(H8_HAS_LEDLOGO) + /* logo TLED pulsing */ + _SB.PCI0.LPCB.EC.TLED(0xaa) +#endif } } } diff --git a/src/mainboard/lenovo/haswell/Kconfig b/src/mainboard/lenovo/haswell/Kconfig index 486baf0..6e39556 100644 --- a/src/mainboard/lenovo/haswell/Kconfig +++ b/src/mainboard/lenovo/haswell/Kconfig @@ -4,6 +4,7 @@ select EC_LENOVO_H8 select EC_LENOVO_PMH7 select H8_HAS_BAT_THRESHOLDS_IMPL + select H8_HAS_LEDLOGO select H8_HAS_PRIMARY_FN_KEYS select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES