24#include "i2c_registers.h"
25#include "syna_device.h"
806 uint32_t *ss_low_count,
807 uint32_t *ss_high_count);
830 uint32_t *fs_low_count,
831 uint32_t *fs_high_count);
854 uint32_t *sda_hold_time_rx,
855 uint32_t *sda_hold_time_tx);
878 uint32_t ss_low_count,
879 uint32_t ss_high_count);
902 uint32_t fs_low_count,
903 uint32_t fs_high_count);
926 uint32_t sda_hold_time_rx,
927 uint32_t sda_hold_time_tx);
i2c_instance_en
I2C instances.
Definition sr110.h:936
void(* i2c_event_cb_t)(i2c_instance_en id, i2c_event_en event, void *user_data)
I²C event callback.
Definition i2c.h:250
i2c_transfer_dir_en
I²C transfer direction.
Definition i2c.h:153
i2c_mode_en
I²C operation modes.
Definition i2c.h:186
i2c_event_en
I²C callback event types.
Definition i2c.h:197
i2c_status_en
I²C driver return status codes.
Definition i2c.h:165
i2c_speed_en
I²C bus speed configuration.
Definition i2c.h:140
i2c_transfer_status_en
Status codes for a non-blocking I²C transfer.
Definition i2c.h:217
@ I2C_TRANSFER_READ
Definition i2c.h:155
@ I2C_TRANSFER_WRITE
Definition i2c.h:154
@ I2C_MODE_TARGET
Definition i2c.h:188
@ I2C_MODE_CONTROLLER
Definition i2c.h:187
@ I2C_EVENT_RX_OVERFLOW
Definition i2c.h:205
@ I2C_EVENT_RX_UNDERFLOW
Definition i2c.h:206
@ I2C_EVENT_WRITE_COMPLETE
Definition i2c.h:198
@ I2C_EVENT_TX_OVERFLOW
Definition i2c.h:204
@ I2C_EVENT_WRITE_IN_TX_FIFO
Definition i2c.h:203
@ I2C_EVENT_STOP_DET
Definition i2c.h:202
@ I2C_EVENT_BUS_ERROR
Definition i2c.h:200
@ I2C_EVENT_ERROR
Definition i2c.h:207
@ I2C_EVENT_READ_COMPLETE
Definition i2c.h:199
@ I2C_EVENT_ABORT
Definition i2c.h:201
@ I2C_ERROR_UNSUPPORTED
Definition i2c.h:171
@ I2C_ERROR_SPECIFIC
Definition i2c.h:173
@ I2C_ERROR
Definition i2c.h:168
@ I2C_ERROR_PARAMETER
Definition i2c.h:172
@ I2C_ERROR_TX_FLUSHED
Definition i2c.h:177
@ I2C_ERROR_ARBITRATION_LOST
Definition i2c.h:176
@ I2C_ERROR_TIMEOUT
Definition i2c.h:170
@ I2C_ERROR_BUSY
Definition i2c.h:169
@ I2C_ERROR_NACK
Definition i2c.h:174
@ I2C_OK
Definition i2c.h:167
@ I2C_ERROR_SDA_STUCK
Definition i2c.h:175
@ I2C_SPEED_FAST_PLUS
Definition i2c.h:143
@ I2C_SPEED_STANDARD
Definition i2c.h:141
@ I2C_SPEED_FAST
Definition i2c.h:142
@ I2C_TRANSFER_STATUS_IN_PROGRESS
Definition i2c.h:219
@ I2C_TRANSFER_STATUS_IDLE
Definition i2c.h:218
@ I2C_TRANSFER_STATUS_ABORTED
Definition i2c.h:221
@ I2C_TRANSFER_INVALID_ID
Definition i2c.h:223
@ I2C_TRANSFER_STATUS_ERROR
Definition i2c.h:222
@ I2C_TRANSFER_STATUS_COMPLETE
Definition i2c.h:220
i2c_status_en i2c_register_callback(i2c_instance_en id, i2c_event_cb_t cb, void *user_data)
i2c_status_en i2c_controller_write_blocking(i2c_instance_en id, i2c_blocking_config_t *xfer)
i2c_status_en i2c_s_set_fast_speed_high_low_count(i2c_instance_en id, uint32_t fs_low_count, uint32_t fs_high_count)
i2c_status_en i2c_target_abort(i2c_instance_en id)
i2c_status_en i2c_target_get_config(i2c_instance_en id, i2c_target_config_t *cfg)
i2c_status_en i2c_s_set_standard_speed_high_low_count(i2c_instance_en id, uint32_t ss_low_count, uint32_t ss_high_count)
i2c_status_en i2c_controller_get_target_address(i2c_instance_en id, uint32_t *tar_addr)
i2c_status_en i2c_controller_set_config(i2c_instance_en id, i2c_controller_config_t *cfg)
i2c_status_en i2c_target_get_transfer_count(i2c_instance_en id, uint32_t *count)
i2c_status_en i2c_controller_read_non_blocking(i2c_instance_en id, i2c_nonblocking_config_t *xfer)
i2c_transfer_status_en i2c_controller_get_transfer_status(i2c_instance_en id)
i2c_transfer_status_en i2c_target_get_transfer_status(i2c_instance_en id)
i2c_status_en i2c_controller_abort(i2c_instance_en id)
i2c_status_en i2c_controller_write_non_blocking(i2c_instance_en id, i2c_nonblocking_config_t *xfer)
i2c_status_en i2c_disable(i2c_instance_en id)
i2c_status_en i2c_target_prep_controller_read(i2c_instance_en id, uint8_t *buf, uint32_t size)
i2c_status_en i2c_controller_get_config(i2c_instance_en id, i2c_controller_config_t *cfg)
INIT_CODE i2c_status_en i2c_deinit(i2c_instance_en id)
i2c_status_en i2c_controller_get_transfer_count(i2c_instance_en id, uint32_t *count)
i2c_status_en i2c_s_get_standard_speed_high_low_count(i2c_instance_en id, uint32_t *ss_low_count, uint32_t *ss_high_count)
i2c_status_en i2c_target_set_config(i2c_instance_en id, i2c_target_config_t *cfg)
i2c_status_en i2c_s_get_sda_hold_config(i2c_instance_en id, uint32_t *sda_hold_time_rx, uint32_t *sda_hold_time_tx)
i2c_status_en i2c_enable(i2c_instance_en id)
i2c_status_en i2c_s_get_fast_speed_high_low_count(i2c_instance_en id, uint32_t *fs_low_count, uint32_t *fs_high_count)
i2c_status_en i2c_target_prep_controller_write(i2c_instance_en id, uint8_t *buf, uint32_t size)
i2c_status_en i2c_s_set_sda_hold_config(i2c_instance_en id, uint32_t sda_hold_time_rx, uint32_t sda_hold_time_tx)
i2c_status_en i2c_controller_read_blocking(i2c_instance_en id, i2c_blocking_config_t *xfer)
i2c_status_en i2c_controller_set_target_address(i2c_instance_en id, uint32_t address)
INIT_CODE i2c_status_en i2c_init(i2c_instance_en id)
Blocking transfer configuration.
Definition i2c.h:285
uint32_t timeout
Definition i2c.h:288
uint32_t size
Definition i2c.h:287
uint8_t * buf
Definition i2c.h:286
bool send_stop
Definition i2c.h:289
I²C controller configuration structure.
Definition i2c.h:257
bool enable_bus_clear
Definition i2c.h:260
i2c_speed_en speed
Definition i2c.h:259
uint32_t sda_stuck_timeout_ms
Definition i2c.h:263
bool ten_bit_addr
Definition i2c.h:258
bool clear_stuck_sda
Definition i2c.h:261
uint32_t scl_stuck_timeout_ms
Definition i2c.h:262
Non-blocking transfer configuration.
Definition i2c.h:297
uint32_t size
Definition i2c.h:299
uint8_t * buf
Definition i2c.h:298
bool send_stop
Definition i2c.h:300
I²C target configuration structure.
Definition i2c.h:271
i2c_speed_en speed
Definition i2c.h:273
uint32_t target_address
Definition i2c.h:274
bool ten_bit_addr
Definition i2c.h:272
uint32_t scl_stuck_timeout_ms
Definition i2c.h:276
bool general_call_response
Definition i2c.h:275
uint32_t sda_stuck_timeout_ms
Definition i2c.h:277