#include "i2c/i2c.h"Go to the source code of this file.
I2C driver implementation.
Implements the functions defined in i2c.h for controlling I2C input/output and interrupts on the EfxSapphireSoC platform.
Definition in file i2c.c.
Functions | |
| u32 | i2c_getInterruptFlag (i2c_instance_t *inst) |
| Get Interrupt Flag. | |
| u32 | i2c_getFilteringHit (i2c_instance_t *inst) |
| Get Filtering Hit. | |
| u32 | i2c_getFilteringStatus (i2c_instance_t *inst) |
| Get Filtering Status. | |
| u32 | i2c_getSlaveStatus (i2c_instance_t *inst) |
| Get Slave Status. | |
| u32 | i2c_getSlaveOverride (i2c_instance_t *inst) |
| Get Slave Override. | |
| void | i2c_setSlaveOverride (i2c_instance_t *inst, u32 value) |
| Write values to I2C hardware registers. | |
| void | i2c_applyConfig (i2c_instance_t *inst) |
| Apply the software configuration to the hardware. | |
| void | i2c_startMaster (i2c_instance_t *inst) |
| Initiate start condition for I2C master mode and sets the dropped status if necessary. | |
| void | i2c_restartMaster (i2c_instance_t *inst) |
| Initiate restart condition for I2C master mode and sets the dropped status if necessary. | |
| void | i2c_recoverMaster (i2c_instance_t *inst) |
| Initiate recover condition for I2C master mode and sets the dropped status if necessary. | |
| u32 | i2c_checkMasterBusy (i2c_instance_t *inst) |
| Checks if the I2C master is busy. | |
| void | i2c_startMasterBlocking (i2c_instance_t *inst) |
| Initiate start condition for I2C master mode and waits until the operation is complete. | |
| void | i2c_restartMasterBlocking (i2c_instance_t *inst) |
| Initiate restart condition for I2C master mode and waits until the operation is complete. | |
| void | i2c_stopMaster (i2c_instance_t *inst) |
| Initiate stop condition for I2C master mode and sets the dropped status if necessary. | |
| void | i2c_stopMasterBlocking (i2c_instance_t *inst) |
| Initiate stop condition for I2C master mode and waits until the operation is complete. | |
| void | i2c_dropMaster (i2c_instance_t *inst) |
| Drops the current I2C master operation. | |
| void | i2c_recoverMasterBlocking (i2c_instance_t *inst) |
| Initiate recover condition for I2C master mode and waits until the operation is complete. | |
| void | i2c_listenAck (i2c_instance_t *inst) |
| configures the I2C controller to listen for ACK signals on the receiver (RX) line. | |
| void | i2c_txByte (i2c_instance_t *inst, u8 byte) |
| Transmits a byte of data over I2C. | |
| void | i2c_txAck (i2c_instance_t *inst) |
| Transmits an ACK signal over I2C. | |
| void | i2c_txNack (i2c_instance_t *inst) |
| Transmits an NACK signal over I2C. | |
| void | i2c_txAckWait (i2c_instance_t *inst) |
| Waits until the transmission of an ACK signal is complete over the I2C bus. | |
| void | i2c_rxAckWait (i2c_instance_t *inst) |
| Waits until the reception of an ACK signal is complete over the I2C bus. | |
| void | i2c_txAckBlocking (i2c_instance_t *inst) |
| Sends an ACK signal over the I2C bus and waits until the transmission is complete. | |
| void | i2c_txNackBlocking (i2c_instance_t *inst) |
| Sends an NACK signal over the I2C bus and waits until the transmission is complete. | |
| u32 | i2c_rxData (i2c_instance_t *inst) |
| Reads data from I2C receive data register. | |
| u32 | i2c_rxNack (i2c_instance_t *inst) |
| Checks if the received ACK signal is detected. | |
| u32 | i2c_rxAck (i2c_instance_t *inst) |
| Reads data from I2C receive data register. | |
| void | i2c_txByteRepeat (i2c_instance_t *inst, u8 byte) |
| Sends a byte over I2C bus with repeat mode enabled. | |
| void | i2c_txNackRepeat (i2c_instance_t *inst) |
| Sends a NACK signal over I2C bus with repeat mode enabled. | |
| void | i2c_setFilterConfig (i2c_instance_t *inst, u32 filterId, u32 value) |
| Sets the configuration for an I2C hardware filter. | |
| void | i2c_enableFilter (i2c_instance_t *inst, u32 filterId, u32 config) |
| Enables and configures an I2C hardware filter. | |
| void | i2c_disableInterrupt (i2c_instance_t *inst, i2c_interrupt_t value) |
| Disables specific I2C interrupts. | |
| void | i2c_enableInterrupt (i2c_instance_t *inst, i2c_interrupt_t value) |
| Enables specific I2C interrupts. | |
| void | i2c_clearInterruptFlag (i2c_instance_t *inst, i2c_interrupt_t value) |
| Clears specific I2C interrupt flags. | |
| void | i2c_writeData_b (i2c_instance_t *inst, u8 regAddr, u8 *data, u32 length) |
| Write data with an 8-bit register address over I2C and check rx ack for each transaction. | |
| void | i2c_writeData_w (i2c_instance_t *inst, u16 regAddr, u8 *data, u32 length) |
| Write data with a 16-bit register address over I2C and check rx ack for each transaction. | |
| void | i2c_readData_b (i2c_instance_t *inst, u8 regAddr, u8 *data, u32 length) |
| Read data with an 8-bit register address over I2C. | |
| void | i2c_readData_w (i2c_instance_t *inst, u16 regAddr, u8 *data, u32 length) |
| Read data with a 16-bit register address over I2C. | |
| void | i2c_setMux (i2c_instance_t *inst, const uint8_t cr) |
| Set I2C MUX control register. | |
I2C (Get Functions) | |
Read value from I2C hardware registers. | |
| u32 | i2c_getMasterStatus (i2c_instance_t *inst) |
| Get Master Status. | |