diff options
Diffstat (limited to 'tools/src/i2c.h')
| -rw-r--r-- | tools/src/i2c.h | 22 |
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 |
