summaryrefslogtreecommitdiff
path: root/src/cpu/samsung/exynos5-common/i2c.h
diff options
context:
space:
mode:
authorDavid Hendricks <dhendrix@chromium.org>2013-04-05 16:11:12 -0700
committerRonald G. Minnich <rminnich@gmail.com>2013-04-10 00:01:02 +0200
commitb959fbb87adb274b442bc6ab812e5a2ce92ca220 (patch)
tree9d055eb9126f50e5c72ab8bdcbe6c8efa4bceb51 /src/cpu/samsung/exynos5-common/i2c.h
parentcfb73607be05e57237592c5c94a98589aba04833 (diff)
exynos5: Re-factor I2C code
This re-factors the Exynos5 I2C code to be simpler and use the new API, and updates users accordingly. - i2c_read() and i2c_write() functions updated to take bus number as an argument. - Get rid of the EEPROM_ADDR_OVERFLOW stuff in i2c_read() and i2c_write(). If a chip needs special handling we should take care of it elsewhere, not in every low-level i2c driver. - All the confusing bus config functions eliminated. No more i2c_set_early_config() or i2c_set_bus() or i2c_get_bus(). All this is handled automatically when the caller does a transaction and specifies the desired bus number. - i2c_probe() eliminated. We're not a command-line utility. - Let the compiler place static variables automatically. We don't need any of this fancy manual data placement. - Remove dead code while we're at it. This stuff was ported early on and much of it was left commented out in case we needed it. Some also includes nested macros which caused gcc to complain. - Clean up #includes (no more common.h, woohoo!), replace debug() with printk(). Change-Id: I8e1f974ea4c6c7db9f33b77bbc4fb16008ed0d2a Signed-off-by: David Hendricks <dhendrix@chromium.org> Reviewed-on: http://review.coreboot.org/3044 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Diffstat (limited to 'src/cpu/samsung/exynos5-common/i2c.h')
-rw-r--r--src/cpu/samsung/exynos5-common/i2c.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/cpu/samsung/exynos5-common/i2c.h b/src/cpu/samsung/exynos5-common/i2c.h
index eb68af78f0..0bfee340e1 100644
--- a/src/cpu/samsung/exynos5-common/i2c.h
+++ b/src/cpu/samsung/exynos5-common/i2c.h
@@ -35,9 +35,11 @@ struct s3c24x0_i2c {
};
struct s3c24x0_i2c_bus {
- int node; /* device tree node */
- int bus_num; /* i2c bus number */
+ int bus_num;
struct s3c24x0_i2c *regs;
- enum periph_id id;
+ enum periph_id periph_id;
};
+
+void i2c_init(unsigned bus, int speed, int slaveadd);
+
#endif /* _S3C24X0_I2C_H */