From cf541343a9e6a300a5dfa9197c1355cd76a99533 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Schr=C3=B6tter?= Date: Tue, 24 Mar 2026 17:18:03 +0100 Subject: [PATCH] ec/lenovo/h8: Implement LOGO LED MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Implement the red i-dot LED in the ThinkPad logo at the display lid. On warm reboot the LOGO LED isn't automatically turned on by the EC. Turn it on in the ramstage code, which allows to see when the reboot has happened. (Similar to PWR LED; see change ID 88998) Further testing on other devices running H8 EC is required! TEST=LOGO LED is on after warm reboot on Lenovo T440p. Reference: https://ch1p.io/t440p-leds-control-linux/#list-of-leds Related: https://review.coreboot.org/c/coreboot/+/88998 Change-Id: I2ebba5a4c1ffc38f0c2e1b24793e4a252cc171bd Signed-off-by: Christian Schrötter Reviewed-on: https://review.coreboot.org/c/coreboot/+/91837 Reviewed-by: Patrick Rudolph Tested-by: build bot (Jenkins) --- src/ec/lenovo/h8/h8.c | 1 + src/ec/lenovo/h8/h8.h | 3 ++- src/ec/lenovo/h8/panic.c | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ec/lenovo/h8/h8.c b/src/ec/lenovo/h8/h8.c index 1ea3ccfa40..aeaceb2415 100644 --- a/src/ec/lenovo/h8/h8.c +++ b/src/ec/lenovo/h8/h8.c @@ -268,6 +268,7 @@ static void h8_enable(struct device *dev) * (Without this warm reboot leaves LEDs off) */ ec_write(H8_LED_CONTROL, H8_LED_CONTROL_ON | H8_LED_CONTROL_POWER_LED); + ec_write(H8_LED_CONTROL, H8_LED_CONTROL_ON | H8_LED_CONTROL_LOGO_LED); beepmask0 = conf->beepmask0; beepmask1 = conf->beepmask1; diff --git a/src/ec/lenovo/h8/h8.h b/src/ec/lenovo/h8/h8.h index 88d7b07136..064f8915b8 100644 --- a/src/ec/lenovo/h8/h8.h +++ b/src/ec/lenovo/h8/h8.h @@ -70,7 +70,7 @@ void h8_mb_init(void); #define H8_LED_CONTROL 0x0c #define H8_LED_CONTROL_OFF 0x00 #define H8_LED_CONTROL_ON 0x80 -#define H8_LED_CONTROL_PULSE 0xa0 /* Some models, power LED only*/ +#define H8_LED_CONTROL_PULSE 0xa0 /* Some models, power LED and logo LED only*/ #define H8_LED_CONTROL_BLINK 0xc0 #define H8_LED_CONTROL_POWER_LED 0x00 @@ -80,6 +80,7 @@ void h8_mb_init(void); #define H8_LED_CONTROL_SUSPEND_LED 0x07 #define H8_LED_CONTROL_DOCK_LED1 0x08 #define H8_LED_CONTROL_DOCK_LED2 0x09 +#define H8_LED_CONTROL_LOGO_LED 0x0a /* red i-dot LED in ThinkPad logo (display lid) */ #define H8_LED_CONTROL_ACDC_LED 0x0c #define H8_LED_CONTROL_MUTE_LED 0x0e diff --git a/src/ec/lenovo/h8/panic.c b/src/ec/lenovo/h8/panic.c index 1bd8d1b162..f85462e148 100644 --- a/src/ec/lenovo/h8/panic.c +++ b/src/ec/lenovo/h8/panic.c @@ -15,6 +15,7 @@ static void h8_panic(void) H8_LED_CONTROL_SUSPEND_LED, H8_LED_CONTROL_DOCK_LED1, H8_LED_CONTROL_DOCK_LED2, + H8_LED_CONTROL_LOGO_LED, H8_LED_CONTROL_ACDC_LED, H8_LED_CONTROL_MUTE_LED };