samus: Enable keyboard backlight

- Turn on keyboard backlight early in boot (not resume) path
as a sign of life for the system
- Add ACPI device for keyboard backlight so the kernel can find
and make use of it

BUG=chrome-os-partner:30586
BRANCH=None
TEST=build and boot on samus

Original-Change-Id: Iecaef0ec5c814774e19d7c4a14cb92dc236cfee3
Original-Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/208152
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
(cherry picked from commit e166f76f9bd167468c7637dcce2b9eabf7dce8f0)
Signed-off-by: Marc Jones <marc.jones@se-eng.com>

Change-Id: I47927d97c1586ec09310d014d8fba7d7a3d773c4
Reviewed-on: http://review.coreboot.org/8213
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Tested-by: build bot (Jenkins)
This commit is contained in:
Duncan Laurie 2014-07-15 13:36:52 -07:00 committed by Marc Jones
parent 00aedc5e1a
commit 515d3d2e2c
2 changed files with 23 additions and 1 deletions

View File

@ -50,6 +50,24 @@ Scope (\_SB)
Name (_UID, 2) Name (_UID, 2)
Name (_PRW, Package() { 14, 0x3 }) // GPIO14 Name (_PRW, Package() { 14, 0x3 }) // GPIO14
} }
// Keyboard Backlight interface via EC
Device (KBLT) {
Name (_HID, "GOOG0002")
Name (_UID, 1)
// Read current backlight value
Method (KBQC, 0)
{
Return (\_SB.PCI0.LPCB.EC0.KBLV)
}
// Write new backlight value
Method (KBCM, 1)
{
Store (Arg0, \_SB.PCI0.LPCB.EC0.KBLV)
}
}
} }
Scope (\_SB.PCI0.I2C0) Scope (\_SB.PCI0.I2C0)

View File

@ -25,6 +25,7 @@
#include <broadwell/gpio.h> #include <broadwell/gpio.h>
#include <broadwell/pei_data.h> #include <broadwell/pei_data.h>
#include <broadwell/pei_wrapper.h> #include <broadwell/pei_wrapper.h>
#include <broadwell/pm.h>
#include <broadwell/romstage.h> #include <broadwell/romstage.h>
#include <mainboard/google/samus/spd/spd.h> #include <mainboard/google/samus/spd/spd.h>
#include <mainboard/google/samus/gpio.h> #include <mainboard/google/samus/gpio.h>
@ -33,7 +34,10 @@ void mainboard_romstage_entry(struct romstage_params *rp)
{ {
struct pei_data pei_data; struct pei_data pei_data;
post_code(0x32); post_code(0x31);
if (rp->power_state->prev_sleep_state != SLEEP_STATE_S3)
google_chromeec_kbbacklight(100);
printk(BIOS_INFO, "MLB: board version %d\n", printk(BIOS_INFO, "MLB: board version %d\n",
google_chromeec_get_board_version()); google_chromeec_get_board_version());