772555a214
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> |
||
---|---|---|
.. | ||
acpi | ||
acpi.h | ||
acpi_wake_source.c | ||
gma.h | ||
hda_verb.c | ||
hda_verb.h | ||
Kconfig | ||
lpss_i2c.c | ||
lpss_i2c.h | ||
Makefile.inc | ||
mma.c | ||
mma.h | ||
mrc_cache.c | ||
mrc_cache.h | ||
nhlt.c | ||
nvm.c | ||
nvm.h | ||
opregion.c | ||
opregion.h | ||
reset.c | ||
smi.h | ||
smihandler.c | ||
util.c | ||
util.h | ||
vbt.c | ||
vbt.h |