coreboot/src/include
Gabe Black 00c423fb2c i2c: Replace the i2c API.
The new API is in use in depthcharge and is based around the "i2c_transfer"
function instead of i2c_read and i2c_write. The new function takes an array of
i2c_seg structures which represent each portion of the transfer after a start
bit and before the stop bit. If there's more than one segment, they're
seperated by repeated starts.

Some wrapper functions have also been added which make certain common
operations easy. These include reading or writing a byte from a register or
reading or writing a blob of raw data. The i2c device drivers generally use
these wrappers but can call the i2c_transfer function directly if the need
something different.

The tegra i2c driver was very similar to the one in depthcharge and was simple
to convert. The Exynos 5250 and 5420 drivers were ported from depthcharge and
replace the ones in coreboot. The Exynos 5420 driver was ported from the high
speed portion of the one in coreboot and was straightforward to port back. The
low speed portion and the Exynos 5250 drivers had been transplanted from U-Boot
and were replaced with the depthcharge implementation.

BUG=None
TEST=Built and booted on nyan with and without EFS. Built and booted on, pit
and daisy.
BRANCH=None

Change-Id: I1e98c3fa2560be25444ab3d0394bb214b9d56e93
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: https://chromium-review.googlesource.com/193561
Reviewed-by: David Hendricks <dhendrix@chromium.org>
Reviewed-by: Jimmy Zhang <jimmzhang@nvidia.com>
Tested-by: Jimmy Zhang <jimmzhang@nvidia.com>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Commit-Queue: Gabe Black <gabeblack@chromium.org>
Tested-by: Gabe Black <gabeblack@chromium.org>
2014-04-10 06:05:01 +00:00
..
boot cbmem: Export ACPI GNVS cbmem pointer in coreboot table 2013-12-13 03:55:46 +00:00
console Add a specific post code for S3 resume failures 2013-08-09 11:18:59 -07:00
cpu rmodules: add support for rmodtool 2014-03-31 22:25:57 +00:00
device i2c: Replace the i2c API. 2014-04-10 06:05:01 +00:00
pc80 tpm: Clean up I2C TPM driver 2013-11-11 23:47:09 +00:00
smp Clean up #ifs 2012-05-08 00:34:34 +02:00
assert.h gen: Add "assert" in assert.h. 2014-02-27 05:38:28 +00:00
bootstate.h Rename hardwaremain() to main() 2013-05-10 11:55:20 -07:00
cbfs.h BACKPORT: boot state: rebalance payload load vs actual boot 2013-05-01 14:30:44 -07:00
cbfs_core.h libpayload/libcbfs: add a function to return all the payload headers 2013-12-19 16:19:52 +00:00
cbmem.h BACKPORT: x86: provide infrastructure to backup default SMM region 2014-03-07 00:32:54 +00:00
delay.h Drop prototype guarding for romcc 2013-05-10 11:55:20 -07:00
edid.h Peppy graphics 2013-09-27 23:07:14 +00:00
ehci.h Drop prototype guarding for romcc 2013-05-10 11:55:20 -07:00
elog.h Extend CMOS POST code logging to store extra data 2013-06-10 18:08:23 -07:00
endian.h Extend CBFS to support arbitrary ROM source media. 2013-01-30 17:58:32 +01:00
fallback.h Make set_boot_successful depend on PC80_SYSTEM 2012-11-30 21:33:35 +01:00
inttypes.h x86: provide more C standard environment 2013-03-20 04:20:25 +01:00
ip_checksum.h Drop prototype guarding for romcc 2013-05-10 11:55:20 -07:00
kconfig.h Add config_enabled() from Linux 2012-05-08 00:36:09 +02:00
lib.h Add simple hexdump function 2013-07-30 15:25:06 -07:00
memrange.h memrange: add 2 new range_entry routines 2013-03-29 20:11:28 +01:00
ramstage_cache.h ramstage_cache: allow ramstage usage add valid helper 2013-12-13 00:07:08 +00:00
reg_script.h reg_script: add reg_script_run_on_dev() 2013-12-11 19:51:56 +00:00
reset.h Drop prototype guarding for romcc 2013-05-10 11:55:20 -07:00
rmodule-defs.h rmodules: add support for rmodtool 2014-03-31 22:25:57 +00:00
rmodule.h rmodules: add support for rmodtool 2014-03-31 22:25:57 +00:00
romstage_handoff.h coreboot: dynamic cbmem requirement 2013-03-22 00:13:42 +01:00
sdram_mode.h GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
smbios.h smbios: Add generic type41 write function 2013-05-24 14:02:57 -07:00
spd.h GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
spd_ddr2.h GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
spi-generic.h spi: Change spi_xfer to work in units of bytes instead of bits. 2014-04-02 04:25:16 +00:00
spi_flash.h spi: Remove unused parameters from spi_flash_probe and setup_spi_slave. 2014-04-01 23:21:22 +00:00
stddef.h Add check_member macro to allow clean and easy struct offset checking 2013-12-11 22:12:25 +00:00
stdlib.h exynos5420: Fix mmc clock source. 2013-08-22 16:03:17 -07:00
string.h BACKPORT: string: Add STRINGIFY macro 2013-05-01 14:29:58 -07:00
swab.h Add macros for 64bit byte order swapping 2011-10-21 14:13:19 +02:00
thread.h Possible thread stack implementation. 2013-08-23 10:38:10 -07:00
timer.h timer: Add functions to initialize absolute timer structures. 2013-08-09 11:18:51 -07:00
timestamp.h Timestamp implementation for ARMv7 2013-08-02 12:16:42 -07:00
tpm.h tpm: Clean up I2C TPM driver 2013-11-11 23:47:09 +00:00
trace.h GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
types.h GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
uart.h uart: The uart.h header file uses uint32_t without including stdint.h. 2013-10-02 09:18:34 +00:00
uart8250.h UART 8250: Unconditionally provide register constants and use UART8250 prefix. 2013-10-02 09:18:38 +00:00
usb_ch9.h
usbdebug.h Drop prototype guarding for romcc 2013-05-10 11:55:20 -07:00
vbe.h Peppy graphics 2013-09-27 23:07:14 +00:00
version.h
watchdog.h watchdog.h: Fix compile time error on disabling watchdog handling 2013-03-12 12:06:43 +01:00