coreboot-kgpe-d16/src/soc/intel
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
..
apollolake soc/intel/apollolake: Update PL1 value in RAPL MMIO register 2016-09-14 22:18:42 +02:00
baytrail src/soc: Add required space before opening parenthesis '(' 2016-08-31 20:09:42 +02:00
braswell Makefile.inc: Use $(MAINBOARDDIR) 2016-09-04 05:33:25 +02:00
broadwell src/soc: Add required space before opening parenthesis '(' 2016-08-31 20:09:42 +02:00
common lpss_i2c: Change handling of controller enable/disable 2016-09-14 22:23:52 +02:00
fsp_baytrail fsp_baytrail: Refactor code for SPI debug messages 2016-09-06 21:17:59 +02:00
fsp_broadwell_de fsp_broadwell_de: Add Kconfig switch for SERIRQ operation mode 2016-09-13 16:52:53 +02:00
quark src/soc: Add required space before opening parenthesis '(' 2016-08-31 20:09:42 +02:00
sch src/soc: Remove unnecessary whitespace before "\n" and "\t" 2016-08-28 18:25:14 +02:00
skylake Makefile.inc: Use $(MAINBOARDDIR) 2016-09-04 05:33:25 +02:00