summaryrefslogtreecommitdiff
path: root/i2c.h
diff options
context:
space:
mode:
Diffstat (limited to 'i2c.h')
-rw-r--r--i2c.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/i2c.h b/i2c.h
new file mode 100644
index 0000000..bc8accc
--- /dev/null
+++ b/i2c.h
@@ -0,0 +1,22 @@
+#ifndef I2C_H_
+#define I2C_H_
+
+typedef struct {
+ char *buffer;
+ uint32_t size;
+ uint16_t address;
+ uint8_t host_sda;
+ uint8_t slave_sda;
+ uint8_t scl;
+ uint8_t state;
+ uint8_t counter;
+ uint8_t latch;
+} eeprom_state;
+
+void eeprom_init(eeprom_state *state, uint8_t *buffer, uint32_t size);
+void * write_eeprom_i2c_w(uint32_t address, void * context, uint16_t value);
+void * write_eeprom_i2c_b(uint32_t address, void * context, uint8_t value);
+uint16_t read_eeprom_i2c_w(uint32_t address, void * context);
+uint8_t read_eeprom_i2c_b(uint32_t address, void * context);
+
+#endif //I2C_H_