RTEMS  5.0.0
Macros | Functions
#include <bsp/alt_i2c.h>
#include <bsp/alt_reset_manager.h>
#include <stdio.h>

Macros

#define dprintf(...)
 
#define MIN(a, b)   ((a) > (b) ? (b) : (a))
 
#define ALT_I2C_RESET_TMO_INIT   8192
 
#define ALT_I2C_MAX_T_POLL_COUNT   8192
 
#define ALT_I2C_TMO_WAITER   2500000
 
#define ALT_I2C_SS_MIN_SPEED   8000
 
#define ALT_I2C_SS_MAX_SPEED   100000
 
#define ALT_I2C_FS_MIN_SPEED   100000
 
#define ALT_I2C_FS_MAX_SPEED   400000
 
#define ALT_I2C_SS_DEFAULT_SPKLEN   11
 
#define ALT_I2C_FS_DEFAULT_SPKLEN   4
 
#define ALT_I2C_DIFF_LCNT_HCNT   70
 
#define ALT_I2C_SLV_RESERVE_ADDR_S_1   0x00
 
#define ALT_I2C_SLV_RESERVE_ADDR_F_1   0x07
 
#define ALT_I2C_SLV_RESERVE_ADDR_S_2   0x78
 
#define ALT_I2C_SLV_RESERVE_ADDR_F_2   0x7F
 

Functions

ALT_STATUS_CODE alt_i2c_init (const ALT_I2C_CTLR_t i2c, ALT_I2C_DEV_t *i2c_dev)
 
ALT_STATUS_CODE alt_i2c_reset (ALT_I2C_DEV_t *i2c_dev)
 
ALT_STATUS_CODE alt_i2c_uninit (ALT_I2C_DEV_t *i2c_dev)
 
ALT_STATUS_CODE alt_i2c_enable (ALT_I2C_DEV_t *i2c_dev)
 
ALT_STATUS_CODE alt_i2c_disable (ALT_I2C_DEV_t *i2c_dev)
 
ALT_STATUS_CODE alt_i2c_is_enabled (ALT_I2C_DEV_t *i2c_dev)
 
ALT_STATUS_CODE alt_i2c_master_config_get (ALT_I2C_DEV_t *i2c_dev, ALT_I2C_MASTER_CONFIG_t *cfg)
 
ALT_STATUS_CODE alt_i2c_master_config_set (ALT_I2C_DEV_t *i2c_dev, const ALT_I2C_MASTER_CONFIG_t *cfg)
 
ALT_STATUS_CODE alt_i2c_master_config_speed_get (ALT_I2C_DEV_t *i2c_dev, const ALT_I2C_MASTER_CONFIG_t *cfg, uint32_t *speed_in_hz)
 
ALT_STATUS_CODE alt_i2c_master_config_speed_set (ALT_I2C_DEV_t *i2c_dev, ALT_I2C_MASTER_CONFIG_t *cfg, uint32_t speed_in_hz)
 
ALT_STATUS_CODE alt_i2c_slave_config_get (ALT_I2C_DEV_t *i2c_dev, ALT_I2C_SLAVE_CONFIG_t *cfg)
 
ALT_STATUS_CODE alt_i2c_slave_config_set (ALT_I2C_DEV_t *i2c_dev, const ALT_I2C_SLAVE_CONFIG_t *cfg)
 
ALT_STATUS_CODE alt_i2c_sda_hold_time_get (ALT_I2C_DEV_t *i2c_dev, uint16_t *hold_time)
 
ALT_STATUS_CODE alt_i2c_sda_hold_time_set (ALT_I2C_DEV_t *i2c_dev, const uint16_t hold_time)
 
ALT_STATUS_CODE alt_i2c_op_mode_get (ALT_I2C_DEV_t *i2c_dev, ALT_I2C_MODE_t *mode)
 
ALT_STATUS_CODE alt_i2c_op_mode_set (ALT_I2C_DEV_t *i2c_dev, const ALT_I2C_MODE_t mode)
 
ALT_STATUS_CODE alt_i2c_is_busy (ALT_I2C_DEV_t *i2c_dev)
 
ALT_STATUS_CODE alt_i2c_read (ALT_I2C_DEV_t *i2c_dev, uint8_t *value)
 
ALT_STATUS_CODE alt_i2c_write (ALT_I2C_DEV_t *i2c_dev, const uint8_t value)
 
ALT_STATUS_CODE alt_i2c_slave_receive (ALT_I2C_DEV_t *i2c_dev, uint8_t *data)
 
ALT_STATUS_CODE alt_i2c_slave_transmit (ALT_I2C_DEV_t *i2c_dev, const uint8_t data)
 
ALT_STATUS_CODE alt_i2c_slave_bulk_transmit (ALT_I2C_DEV_t *i2c_dev, const void *data, const size_t size)
 
ALT_STATUS_CODE alt_i2c_master_target_get (ALT_I2C_DEV_t *i2c_dev, uint32_t *target_addr)
 
ALT_STATUS_CODE alt_i2c_master_target_set (ALT_I2C_DEV_t *i2c_dev, uint32_t target_addr)
 
ALT_STATUS_CODE alt_i2c_master_transmit (ALT_I2C_DEV_t *i2c_dev, const void *data, const size_t size, const bool issue_restart, const bool issue_stop)
 
ALT_STATUS_CODE alt_i2c_master_receive_helper (ALT_I2C_DEV_t *i2c_dev, uint8_t *buffer, size_t size, bool issue_restart, bool issue_stop)
 
ALT_STATUS_CODE alt_i2c_master_receive (ALT_I2C_DEV_t *i2c_dev, void *data, const size_t size, const bool issue_restart, const bool issue_stop)
 
ALT_STATUS_CODE alt_i2c_issue_write (ALT_I2C_DEV_t *i2c_dev, const uint8_t value, const bool issue_restart, const bool issue_stop)
 
ALT_STATUS_CODE alt_i2c_issue_read (ALT_I2C_DEV_t *i2c_dev, const bool issue_restart, const bool issue_stop)
 
ALT_STATUS_CODE alt_i2c_master_general_call (ALT_I2C_DEV_t *i2c_dev, const void *data, const size_t size, const bool issue_restart, const bool issue_stop)
 
ALT_STATUS_CODE alt_i2c_general_call_ack_disable (ALT_I2C_DEV_t *i2c_dev)
 
ALT_STATUS_CODE alt_i2c_general_call_ack_enable (ALT_I2C_DEV_t *i2c_dev)
 
ALT_STATUS_CODE alt_i2c_general_call_ack_is_enabled (ALT_I2C_DEV_t *i2c_dev)
 
ALT_STATUS_CODE alt_i2c_int_status_get (ALT_I2C_DEV_t *i2c_dev, uint32_t *status)
 
ALT_STATUS_CODE alt_i2c_int_raw_status_get (ALT_I2C_DEV_t *i2c_dev, uint32_t *status)
 
ALT_STATUS_CODE alt_i2c_int_clear (ALT_I2C_DEV_t *i2c_dev, const uint32_t mask)
 
ALT_STATUS_CODE alt_i2c_int_disable (ALT_I2C_DEV_t *i2c_dev, const uint32_t mask)
 
ALT_STATUS_CODE alt_i2c_int_enable (ALT_I2C_DEV_t *i2c_dev, const uint32_t mask)
 
ALT_STATUS_CODE alt_i2c_tx_abort_cause_get (ALT_I2C_DEV_t *i2c_dev, ALT_I2C_TX_ABORT_CAUSE_t *cause)
 
ALT_STATUS_CODE alt_i2c_rx_fifo_is_empty (ALT_I2C_DEV_t *i2c_dev)
 
ALT_STATUS_CODE alt_i2c_rx_fifo_is_full (ALT_I2C_DEV_t *i2c_dev)
 
ALT_STATUS_CODE alt_i2c_rx_fifo_level_get (ALT_I2C_DEV_t *i2c_dev, uint32_t *num_entries)
 
ALT_STATUS_CODE alt_i2c_rx_fifo_threshold_get (ALT_I2C_DEV_t *i2c_dev, uint8_t *threshold)
 
ALT_STATUS_CODE alt_i2c_rx_fifo_threshold_set (ALT_I2C_DEV_t *i2c_dev, const uint8_t threshold)
 
ALT_STATUS_CODE alt_i2c_tx_fifo_is_empty (ALT_I2C_DEV_t *i2c_dev)
 
ALT_STATUS_CODE alt_i2c_tx_fifo_is_full (ALT_I2C_DEV_t *i2c_dev)
 
ALT_STATUS_CODE alt_i2c_tx_fifo_level_get (ALT_I2C_DEV_t *i2c_dev, uint32_t *num_entries)
 
ALT_STATUS_CODE alt_i2c_tx_fifo_threshold_get (ALT_I2C_DEV_t *i2c_dev, uint8_t *threshold)
 
ALT_STATUS_CODE alt_i2c_tx_fifo_threshold_set (ALT_I2C_DEV_t *i2c_dev, const uint8_t threshold)
 
ALT_STATUS_CODE alt_i2c_rx_dma_threshold_get (ALT_I2C_DEV_t *i2c_dev, uint8_t *threshold)
 
ALT_STATUS_CODE alt_i2c_rx_dma_threshold_set (ALT_I2C_DEV_t *i2c_dev, uint8_t threshold)
 
ALT_STATUS_CODE alt_i2c_tx_dma_threshold_get (ALT_I2C_DEV_t *i2c_dev, uint8_t *threshold)
 
ALT_STATUS_CODE alt_i2c_tx_dma_threshold_set (ALT_I2C_DEV_t *i2c_dev, uint8_t threshold)