Duncan Laurie (dlaurie@chromium.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18197
-gerrit
commit 2f7cefaa30246099710bb572eba20072dc1501fd Author: Duncan Laurie dlaurie@chromium.org Date: Sat Jan 21 15:42:26 2017 -0800
google/eve: Enable keyboard backlight in bootblock
Enable the keyboard backlight as early in boot as possible to provide a indication that the BIOS is executing.
Since this is bootblock it can't use the convenience function for checking for S3 resume so just read the PM1 value from the SOC and check it directly.
Use a value of 75% for the current system as that is visible without being full brightness.
BUG=chrome-os-partner:61464 TEST=boot on eve and check that keyboard backlight is enabled as soon as the SOC starts booting
Change-Id: I9ac78e9c3913a2776943088f35142afe3ffef056 Signed-off-by: Duncan Laurie dlaurie@chromium.org --- src/mainboard/google/eve/bootblock.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/src/mainboard/google/eve/bootblock.c b/src/mainboard/google/eve/bootblock.c index 2c524f4..baca9c8 100644 --- a/src/mainboard/google/eve/bootblock.c +++ b/src/mainboard/google/eve/bootblock.c @@ -14,9 +14,13 @@ * GNU General Public License for more details. */
+#include <arch/io.h> #include <bootblock_common.h> +#include <ec/google/chromeec/ec.h> #include <gpio.h> #include <soc/gpio.h> +#include <soc/iomap.h> +#include <soc/pm.h> #include "gpio.h"
static void early_config_gpio(void) @@ -26,5 +30,12 @@ static void early_config_gpio(void)
void bootblock_mainboard_init(void) { + uint32_t pm1_cnt = inl(ACPI_BASE_ADDRESS + PM1_CNT); + uint32_t pm1_sts = inl(ACPI_BASE_ADDRESS + PM1_STS); + + /* Turn on keyboard backlight to indicate we are booting */ + if ((pm1_sts & WAK_STS) && (acpi_sleep_from_pm1(pm1_cnt) != ACPI_S3)) + google_chromeec_kbbacklight(75); + early_config_gpio(); }