2021-05-29 12:34:41 +00:00
|
|
|
/* 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);
|
|
|
|
|
2021-10-10 14:38:33 +00:00
|
|
|
int i2c_smbus_read(i2c_dev_t *dev, u8 addr, u8 reg, u8 *bfr, size_t len);
|
2021-05-29 12:34:41 +00:00
|
|
|
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
|