coreboot/src/soc/broadcom/cygnus
Anatol Pomazau d9af30bec1 broadcom/cygnus: Implement I2C driver
BUG=chrome-os-partner:35810
BRANCH=purin
TEST=Enable I2C1, reset devboard codec, read a register.
     Here is the code that demonstrates how I2C works:

	i2c_init(1, 100*KHz);
	mdelay(50);

	int rc = i2c_writeb(1, 0x18, 1, 0x80); // reset codec
	printk(BIOS_INFO, "I2C reset rc=%d\n", rc);
	mdelay(50);
	uint8_t data = 0;
	rc = i2c_readb(1, 0x18, 43, &data);
	printk(BIOS_INFO, "I2C read rc=%d data=%x\n", rc, data); // data == 0x80

Change-Id: I0d202f8b0375b5ccd9f71b23fb0cadd5a70ae779
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 6bbe9afe3dccd104f39c2c286d3765a28ea20141
Original-Signed-off-by: Anatol Pomazau <anatol@google.com>
Original-Reviewed-on: https://chrome-internal-review.googlesource.com/195706
Original-Reviewed-by: Daisuke Nojiri <dnojiri@google.com>
Original-Reviewed-by: Anatol Pomazau <anatol@google.com>
Original-Commit-Queue: Anatol Pomazau <anatol@google.com>
Original-Tested-by: Anatol Pomazau <anatol@google.com>
Original-Change-Id: I178acef9de18fa854983294edcd2c05886795e2a
Original-Reviewed-on: https://chromium-review.googlesource.com/263496
Original-Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org>
Original-Trybot-Ready: Daisuke Nojiri <dnojiri@chromium.org>
Original-Tested-by: Daisuke Nojiri <dnojiri@chromium.org>
Original-Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-on: http://review.coreboot.org/9908
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2015-04-22 08:57:36 +02:00
..
include/soc broadcom/cygnus: Enable gpio on romstage 2015-04-22 08:57:18 +02:00
bootblock.c cygnus: enable mmu 2015-04-17 10:19:59 +02:00
cbmem.c broadcom/cygnus: add timestamps in pre-ram stages 2015-04-22 08:40:20 +02:00
ddr_init.c broadcom/cygnus: Initialize dram in romstage. 2015-04-22 08:40:04 +02:00
ddr_init_table.c broadcom/cygnus: Initialize dram in romstage. 2015-04-22 08:40:04 +02:00
gpio.c broadcom/cygnus: Enable gpio on romstage 2015-04-22 08:57:18 +02:00
i2c.c broadcom/cygnus: Implement I2C driver 2015-04-22 08:57:36 +02:00
iomux.c broadcom/cygnus: Enable gpio on romstage 2015-04-22 08:57:18 +02:00
Kconfig broadcom/cygnus: Enable gpio on romstage 2015-04-22 08:57:18 +02:00
Makefile.inc broadcom/cygnus: Enable gpio on romstage 2015-04-22 08:57:18 +02:00
ns16550.c broadcom/cygnus: Fix missing writel->write32 transformation 2015-04-21 17:49:52 +02:00
phy_reg_access.c broadcom/cygnus: Initialize dram in romstage. 2015-04-22 08:40:04 +02:00
romstage.c broadcom/cygnus: Enable gpio on romstage 2015-04-22 08:57:18 +02:00
sdram.c google/purin: add DMA coherent region 2015-04-22 08:40:12 +02:00
shmoo_and28.c broadcom/cygnus: Initialize dram in romstage. 2015-04-22 08:40:04 +02:00
soc.c google/purin: add DMA coherent region 2015-04-22 08:40:12 +02:00
spi.c cygnus: add QSPI driver 2015-04-21 08:28:53 +02:00
timer.c arm(64): Globally replace writel(v, a) with write32(a, v) 2015-04-21 08:22:28 +02:00
verstage.c cygnus: configure memlayout 2015-04-17 10:19:42 +02:00
ydc_ddr_bist.c broadcom/cygnus: Initialize dram in romstage. 2015-04-22 08:40:04 +02:00