intel/amenia: Add asl code to enable google ChromeEC

This patch adds asl code to include support for Google ChromeEC.
We need this to show the battery icon and notifications like charger
connect/disconnect etc.

BUG = 53096
TEST = Plug/Unplug AC Adapter multiple times and make sure the battery
       connected is charging properly.

Change-Id: Id908f145789402573ea54fc4f15cf7a0e651ebf4
Signed-off-by: Shaunak Saha <shaunak.saha@intel.com>
Reviewed-on: https://review.coreboot.org/14987
Tested-by: build bot (Jenkins)
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
This commit is contained in:
Shaunak Saha 2016-05-27 01:13:16 -07:00 committed by Aaron Durbin
parent f6118c62a4
commit f7f1244bc6
4 changed files with 62 additions and 1 deletions

View File

@ -0,0 +1,26 @@
/*
* This file is part of the coreboot project.
*
* Copyright (C) 2015 Google Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
/* mainboard configuration */
#include "../ec.h"
/* Enable EC backed ALS device in ACPI */
#define EC_ENABLE_ALS_DEVICE
/* Enable EC backed PD MCU device in ACPI */
#define EC_ENABLE_PD_MCU_DEVICE
/* ACPI code for EC functions */
#include <ec/google/chromeec/acpi/ec.asl>

View File

@ -16,6 +16,23 @@
*/ */
#include <soc/gpio_defs.h> #include <soc/gpio_defs.h>
Scope (\_SB)
{
Device (LID0)
{
Name (_HID, EisaId ("PNP0C0D"))
Method (_LID, 0)
{
Return (\_SB.PCI0.LPCB.EC0.LIDS)
}
}
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C"))
}
}
Scope (\_SB.PCI0.I2C4) Scope (\_SB.PCI0.I2C4)
{ {
/* Standard Mode: HCNT, LCNT, SDA Hold Register */ /* Standard Mode: HCNT, LCNT, SDA Hold Register */
@ -91,3 +108,12 @@ Scope (\_SB.PCI0.I2C3)
} }
} }
} }
/*
* LPC Trusted Platform Module
*/
Scope (\_SB.PCI0.LPCB)
{
#include <drivers/pc80/tpm/acpi/tpm.asl>
#include "ec.asl"
}

View File

@ -24,6 +24,12 @@ DefinitionBlock(
0x20110725 // OEM revision 0x20110725 // OEM revision
) )
{ {
/* global NVS and variables */
#include <soc/intel/apollolake/acpi/globalnvs.asl>
/* CPU */
#include <soc/intel/apollolake/acpi/cpu.asl>
Scope (\_SB) { Scope (\_SB) {
Device (PCI0) Device (PCI0)
{ {
@ -38,5 +44,4 @@ DefinitionBlock(
#include <soc/intel/apollolake/acpi/sleepstates.asl> #include <soc/intel/apollolake/acpi/sleepstates.asl>
#include "acpi/superio.asl" #include "acpi/superio.asl"
} }

View File

@ -20,6 +20,10 @@
#include <ec/google/chromeec/ec_commands.h> #include <ec/google/chromeec/ec_commands.h>
/* This is the GPE status bit.
TODO: Fix this to proper bit matching GPE routing table */
#define EC_SCI_GPI 15
#define MAINBOARD_EC_SCI_EVENTS \ #define MAINBOARD_EC_SCI_EVENTS \
(EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_CLOSED) |\ (EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_CLOSED) |\
EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_OPEN) |\ EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_OPEN) |\