soc/apollolake: add GPIO SMI support
commit09115a92f6ac6123a6f1ed435c05fe60dc01d58c
authorShaunak Saha <shaunak.saha@intel.com>
Mon, 25 Jul 2016 03:50:12 +0000 (24 20:50 -0700)
committerMartin Roth <martinroth@google.com>
Wed, 10 Aug 2016 19:10:59 +0000 (10 21:10 +0200)
tree9c6b16087c872cb140c5b447c33ebae3a78e2e23
parenta46ee4d34d6b7ce7d47882779c7fb36270ccbda1
soc/apollolake: add GPIO SMI support

GPIOs which trigger SMIs set the GPIO_SMI_STS status bits in SMI_STS
register. This patch also sets the SMI_EN bit in enable register for
each community based on GPIOROUTSMI bit in gpio pad. When SMI on a
gpio happens status needs to be gathered on gpio number which is done
by reading the GPI_SMI_STS and GPI_SMI_EN registers.

BUG=chrome-os-partner:54977
TEST=When system is in firmware mode executing the command
     lidclose from ec console shuts down the system.

Change-Id: Id89a526106d1989c2bd3416ab81913e6cf743d17
Signed-off-by: Shaunak Saha <shaunak.saha@intel.com>
Reviewed-on: https://review.coreboot.org/15833
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins)
src/soc/intel/apollolake/Makefile.inc
src/soc/intel/apollolake/gpio.c
src/soc/intel/apollolake/include/soc/gpio.h
src/soc/intel/apollolake/include/soc/gpio_defs.h
src/soc/intel/apollolake/include/soc/pm.h
src/soc/intel/apollolake/include/soc/smm.h
src/soc/intel/apollolake/pmc.c
src/soc/intel/apollolake/smi.c
src/soc/intel/apollolake/smihandler.c