summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@chromium.org>2017-01-21 15:42:26 -0800
committerDuncan Laurie <dlaurie@chromium.org>2017-01-22 19:24:22 +0100
commit367c9b328fd084509f8ed41ecf3c64ebc2e02e17 (patch)
tree2c94f9d934e2b559c6493b079071bfca6d812f02
parentba32f0f91cfd79434b53d60a16d4c072fac384ec (diff)
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> Reviewed-on: https://review.coreboot.org/18197 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
-rw-r--r--src/mainboard/google/eve/bootblock.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mainboard/google/eve/bootblock.c b/src/mainboard/google/eve/bootblock.c
index 2c524f443a..baca9c895c 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();
}