coreboot-kgpe-d16/src/soc/intel/common
Duncan Laurie 772555a214 lpss_i2c: Change handling of controller enable/disable
This change modifies the lpss_i2c driver to behave more like
the Linux kernel driver.  In particular the controller is only
enabled when processing a transaction, and is disabled after.
This means that errors in one transaction will not affect later
transactions.

Also when disabling the controller the code is supposed to wait
on the enable bit in the "enable status" register and not in
the enable control register.  In order to get access to this
register the reg map was expanded to include all registers.

This was tested with the cr50 TPM driver to ensure that if a
transaction does fail that it can be successfully retried instead
of the bus being unusable.

Change-Id: I43a546d54996ba0f08550a801927b8f7a6690cda
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://review.coreboot.org/16589
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>
2016-09-14 22:23:52 +02:00
..
acpi soc/intel/common: Add support for serial console based ACPI debug 2016-08-11 16:03:29 +02:00
acpi.h src/soc: Capitalize CPU, ACPI, RAM and ROM 2016-07-31 19:27:53 +02:00
acpi_wake_source.c
gma.h src/soc: Capitalize CPU, ACPI, RAM and ROM 2016-07-31 19:27:53 +02:00
hda_verb.c src/soc: Add required space before opening parenthesis '(' 2016-08-31 20:09:42 +02:00
hda_verb.h
Kconfig soc/intel/common: Add support for serial console based ACPI debug 2016-08-11 16:03:29 +02:00
lpss_i2c.c lpss_i2c: Change handling of controller enable/disable 2016-09-14 22:23:52 +02:00
lpss_i2c.h skylake: Generate ACPI timing values for I2C devices 2016-07-01 18:51:51 +02:00
Makefile.inc soc/intel/common: Enable MTRR display during bootblock & postcar 2016-08-01 06:16:05 +02:00
mma.c intel/common/mma: override SAGV to fixed high for MMA tests 2016-05-10 22:59:58 +02:00
mma.h
mrc_cache.c bootmode: Get rid of CONFIG_BOOTMODE_STRAPS 2016-07-28 00:36:22 +02:00
mrc_cache.h soc/intel/common/mrc_cache: Honor MRC data as a constant pointer 2016-05-04 20:07:26 +02:00
nhlt.c soc/intel/common: use nvs.h include for nhlt code 2016-07-01 03:20:58 +02:00
nvm.c src/soc/intel/common: Fix CID 1295499, remove dead code 2016-04-13 07:00:27 +02:00
nvm.h
opregion.c intel/common/opregion.c: only write 16 bytes to 16 byte field 2016-07-28 19:22:35 +02:00
opregion.h soc/intel/common: Add IGD OpRegion support 2016-05-18 07:03:13 +02:00
reset.c soc/intel/common: Fix build error in reset.c 2016-08-01 22:14:08 +02:00
smi.h soc/intel/common: Add common smihandler code 2016-05-25 19:09:00 +02:00
smihandler.c intel/common: Clear wake status bits before sleep 2016-08-25 23:43:58 +02:00
util.c cpu/x86: Support CPUs without rdmsr/wrmsr instructions 2016-07-27 13:50:11 +02:00
util.h cpu/x86: Support CPUs without rdmsr/wrmsr instructions 2016-07-27 13:50:11 +02:00
vbt.c soc/intel/apollolake: Remove PEIM GFX from normal mode and S3 resume 2016-07-29 00:09:05 +02:00
vbt.h soc/intel/apollolake: Remove PEIM GFX from normal mode and S3 resume 2016-07-29 00:09:05 +02:00