96 size_t rx_len, uint64_t timeout_ns);
116 void *rx,
size_t rx_len);
int ove_hal_i2c_write(ove_i2c_t i2c, uint16_t addr, const void *data, size_t len, uint64_t timeout_ns)
Write data to an I2C device.
void ove_i2c_async_complete(ove_i2c_t i2c, int result)
Completion notification from the HAL.
int ove_hal_i2c_open(ove_i2c_t i2c, const struct ove_i2c_cfg *cfg)
Configure and enable the I2C peripheral.
int ove_hal_i2c_write_read_async(ove_i2c_t i2c, uint16_t addr, const void *tx, size_t tx_len, void *rx, size_t rx_len)
Submit an async I2C write+read.
int ove_hal_i2c_write_read(ove_i2c_t i2c, uint16_t addr, const void *tx, size_t tx_len, void *rx, size_t rx_len, uint64_t timeout_ns)
Combined write-then-read with repeated start.
void ove_hal_i2c_close(ove_i2c_t i2c)
Disable and release the I2C peripheral.
int ove_hal_i2c_read(ove_i2c_t i2c, uint16_t addr, void *buf, size_t len, uint64_t timeout_ns)
Read data from an I2C device.
struct ove_i2c * ove_i2c_t
Opaque handle for an I2C bus controller.
Definition types.h:268
I2C bus configuration descriptor.
Definition i2c.h:60