summaryrefslogtreecommitdiff
path: root/hw/bitbang_i2c.h
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2009-11-20 23:37:15 +0000
committerPaul Brook <paul@codesourcery.com>2009-11-22 21:27:40 +0000
commit3cd035d863bd516a2967810c22258d82535c051f (patch)
treefdbd357881c1df41ca0928ec54c42a6cfe0bdd28 /hw/bitbang_i2c.h
parent1dfe3943e9f74cf55a8c84238b8d1a9d3486387f (diff)
GPIO I2C rework
Reqrite bitbanging I2C implementation. New code improves stop/start condition handling, and gives more accurate input line level. Introduce intermediate abstraction layer for I2C bitbanging that is not connected via a GPIO port. Signed-off-by: Paul Brook <paul@codesourcery.com>
Diffstat (limited to 'hw/bitbang_i2c.h')
-rw-r--r--hw/bitbang_i2c.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/hw/bitbang_i2c.h b/hw/bitbang_i2c.h
new file mode 100644
index 0000000000..519d2dc22f
--- /dev/null
+++ b/hw/bitbang_i2c.h
@@ -0,0 +1,14 @@
+#ifndef BITBANG_I2C_H
+#define BITBANG_I2C_H
+
+#include "i2c.h"
+
+typedef struct bitbang_i2c_interface bitbang_i2c_interface;
+
+#define BITBANG_I2C_SDA 0
+#define BITBANG_I2C_SCL 1
+
+bitbang_i2c_interface *bitbang_i2c_init(i2c_bus *bus);
+int bitbang_i2c_set(bitbang_i2c_interface *i2c, int line, int level);
+
+#endif