summaryrefslogtreecommitdiff
path: root/tools/src/i2c.h
diff options
context:
space:
mode:
authormagh <magh@maghmogh.com>2023-03-06 18:44:55 -0600
committermagh <magh@maghmogh.com>2023-03-06 18:44:55 -0600
commite80d9d8871b325a04b18f90a9ea4bb7fd148fb25 (patch)
tree79dbdb8506b7ff1e92549188d1b94cfc0b3503ae /tools/src/i2c.h
add m1n1HEADmaster
Diffstat (limited to 'tools/src/i2c.h')
-rw-r--r--tools/src/i2c.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/tools/src/i2c.h b/tools/src/i2c.h
new file mode 100644
index 0000000..cbfc119
--- /dev/null
+++ b/tools/src/i2c.h
@@ -0,0 +1,22 @@
+/* SPDX-License-Identifier: MIT */
+
+#ifndef I2C_H
+#define I2C_H
+
+#include "types.h"
+
+typedef struct i2c_dev i2c_dev_t;
+
+i2c_dev_t *i2c_init(const char *adt_node);
+void i2c_shutdown(i2c_dev_t *dev);
+
+int i2c_smbus_read(i2c_dev_t *dev, u8 addr, u8 reg, u8 *bfr, size_t len);
+int i2c_smbus_write(i2c_dev_t *dev, u8 addr, u8 reg, const u8 *bfr, size_t len);
+
+int i2c_smbus_read32(i2c_dev_t *dev, u8 addr, u8 reg, u32 *val);
+int i2c_smbus_write32(i2c_dev_t *dev, u8 addr, u8 reg, u32 val);
+
+int i2c_smbus_read16(i2c_dev_t *dev, u8 addr, u8 reg, u16 *val);
+int i2c_smbus_read8(i2c_dev_t *dev, u8 addr, u8 reg, u8 *val);
+
+#endif