|
AM263Px MCU+ SDK
10.01.00
|
|
Go to the documentation of this file.
69 #include <drivers/i2c/v1/cslr_i2c.h>
70 #include <drivers/hw_include/hw_types.h>
71 #include <drivers/hw_include/cslr_i2c.h>
84 #define I2C_STS_SUCCESS ((int32_t) 0)
87 #define I2C_STS_ERR ((int32_t)-1)
90 #define I2C_STS_ERR_TIMEOUT ((int32_t)-2)
92 #define I2C_STS_ERR_INVALID_PARAM ((int32_t)-3)
94 #define I2C_STS_ERR_BUS_BUSY ((int32_t)-4)
97 #define I2C_STS_ERR_NO_ACK ((int32_t)-5)
100 #define I2C_STS_ERR_ARBITRATION_LOST ((int32_t)-6)
102 #define I2C_STS_RESTART ((int32_t)-7)
114 #define I2C_NO_WAIT ((uint32_t)0)
117 #define I2C_WAIT_FOREVER ((uint32_t)-1)
127 #define I2C_STATE_RESET ((uint8_t) 0U)
130 #define I2C_STATE_IDLE ((uint8_t) 1U)
133 #define I2C_STATE_BUSY ((uint8_t) 2U)
136 #define I2C_STATE_ERROR ((uint8_t) 3U)
148 #define I2C_100KHZ ((uint8_t) 0U)
150 #define I2C_400KHZ ((uint8_t) 1U)
161 #define I2C_MEM_ADDR_SIZE_8_BITS ((uint8_t) 1U)
163 #define I2C_MEM_ADDR_SIZE_16_BITS ((uint8_t) 2U)
174 #define I2C_WRITE_STATE ((uint8_t) 10U)
176 #define I2C_READ_STATE ((uint8_t) 11U)
178 #define I2C_TARGET_XFER_STATE ((uint8_t) 12U)
180 #define I2C_TARGET_RESTART_STATE ((uint8_t) 13U)
354 int32_t transferStatus);
367 int32_t transferStatus);
I2C_Clock_getTicks Clock_getTicks
Definition: i2c_lld.h:393
int32_t I2C_lld_target_readIntr(I2CLLD_Handle handle, I2C_ExtendedParams *extendedParams)
API to initiate an I2C read operation in interrupt mode as I2C Target.
void * args
Definition: hsmclient_msg.h:4
uint32_t startTicks
Definition: i2c_lld.h:429
I2CLLD_Transaction * txn
Definition: i2c_lld.h:223
uint32_t readCount
Definition: i2c_lld.h:207
int32_t I2C_lld_Transaction_init(I2CLLD_Transaction *transaction)
API to set default values of I2CLLD_Transaction in transaction.
I2CLLD_targetTransaction * currentTargetTransaction
Definition: i2c_lld.h:419
uint32_t writeCountIdx
Definition: i2c_lld.h:423
uint8_t * writeBufIdx
Definition: i2c_lld.h:421
uint32_t writeCount
Definition: i2c_lld.h:298
int32_t I2C_lld_Message_init(I2CLLD_Message *msg)
API to set default values of I2CLLD_Message in msg.
uint32_t readCount
Definition: i2c_lld.h:302
uint32_t targetAddress
Definition: i2c_lld.h:230
int32_t I2C_lld_write(I2CLLD_Handle handle, I2C_ExtendedParams *extendedParams, uint32_t timeout)
API to initiate an I2C write operation in polled mode as I2C Controller.
uint32_t funcClk
Definition: i2c_lld.h:389
I2C Message.
Definition: i2c_lld.h:220
I2C_Clock_uSleep Clock_uSleep
Definition: i2c_lld.h:397
uint32_t memAddr
Definition: i2c_lld.h:269
void * arg
Definition: i2c_lld.h:232
uint8_t * readBuf
Definition: i2c_lld.h:300
int32_t I2C_lld_read(I2CLLD_Handle handle, I2C_ExtendedParams *extendedParams, uint32_t timeout)
API to initiate an I2C read operation in polled mode as I2C Controller.
int32_t I2C_lld_target_writeIntr(I2CLLD_Handle handle, I2C_ExtendedParams *extendedParams)
API to Initiate an I2C write operation in interrupt mode as I2C Target.
uint8_t * writeBuf
Definition: i2c_lld.h:201
void(* I2C_lld_transferCompleteCallback)(void *args, const I2CLLD_Message *msg, int32_t transferStatus)
The definition of a transfer completion callback function used by the I2C driver when used in Control...
Definition: i2c_lld.h:352
uint8_t * readBuf
Definition: i2c_lld.h:205
void(* I2C_lld_targetTransferCompleteCallback)(void *args, const I2CLLD_Transaction *targetTxn, int32_t transferStatus)
The definition of a transfer completion callback function used by the I2C driver when used in Target ...
Definition: i2c_lld.h:365
uint32_t timeout
Definition: i2c_lld.h:234
I2CLLD_Transaction i2ctxn
Definition: i2c_lld.h:435
uint32_t ownTargetAddr
Definition: i2c_lld.h:391
bool expandSA
Definition: i2c_lld.h:239
int32_t I2C_lld_readIntr(I2CLLD_Handle handle, I2C_ExtendedParams *extendedParams)
API to initiate an I2C read operation in interrupt mode as I2C Controller.
bool expandSA
Definition: i2c_lld.h:255
I2CLLD_Message * currentMsg
Definition: i2c_lld.h:417
I2C Transaction.
Definition: i2c_lld.h:198
uint8_t * buffer
Definition: i2c_lld.h:251
int32_t I2C_lld_mem_read(I2CLLD_Handle handle, I2C_Memory_ExtendedParams *mem_extendedParams, uint32_t timeout)
API to initiate a Memory read operation in Polled mode.
int32_t I2C_lld_mem_write(I2CLLD_Handle handle, I2C_Memory_ExtendedParams *mem_extendedParams, uint32_t timeout)
API to initiate a Memory write Operation in polling Mode.
uint32_t timeout
Definition: i2c_lld.h:304
uint8_t * dataArray
Definition: i2c_lld.h:437
uint32_t intrNum
Definition: i2c_lld.h:385
uint32_t baseAddr
Definition: i2c_lld.h:383
int32_t I2C_lld_transferIntr(I2CLLD_Handle handle, I2CLLD_Message *msg)
API to initiate a transfer from I2C in interrupt mode.
bool expandSA
Definition: i2c_lld.h:307
void I2C_lld_targetIsr(void *args)
I2C Target ISR, can be used as IRQ handler in Target mode.
uint32_t txnCount
Definition: i2c_lld.h:225
int32_t I2C_lld_transferPoll(I2CLLD_Handle handle, I2CLLD_Message *msg)
API to initiate a transfer from I2C in polled mode.
uint32_t readCountIdx
Definition: i2c_lld.h:427
int32_t I2C_lld_init(I2CLLD_Handle handle)
API to Initializes the I2C instance.
I2C_lld_transferCompleteCallback transferCompleteCallback
Definition: i2c_lld.h:399
I2C_ExtendedParams extendedParams
Definition: i2c_lld.h:267
uint32_t writeCount
Definition: i2c_lld.h:203
uint32_t(* I2C_Clock_getTicks)(void)
The definition of a get System Tick function used by the I2C driver to keep track of time.
Definition: i2c_lld.h:322
bool memTxnActive
Definition: i2c_lld.h:444
uint8_t memAddrSize
Definition: i2c_lld.h:441
bool controllerMode
Definition: i2c_lld.h:236
const uint8_t * writeBuf
Definition: i2c_lld.h:296
uint32_t(* I2C_Clock_usecToTicks)(uint64_t usecs)
The definition of a micro seconds to ticks function used by the I2C driver to get ticks from microsec...
Definition: i2c_lld.h:333
Data structure used with I2C_lld_mem_write(), I2C_lld_mem_writeIntr(), I2C_lld_mem_read(),...
Definition: i2c_lld.h:265
uint32_t deviceAddress
Definition: i2c_lld.h:249
int32_t I2C_lld_writeIntr(I2CLLD_Handle handle, I2C_ExtendedParams *extendedParams)
API to initiate an I2C write operation in interrupt mode as I2C Controller.
void(* I2C_Clock_uSleep)(uint32_t usec)
The definition of a sleep function used by the I2C driver for delay.
Definition: i2c_lld.h:342
uint32_t intStatusErr
Definition: i2c_lld.h:410
Data structure used with I2C_lld_write(), I2C_lld_writeIntr(), I2C_lld_read(), I2C_lld_readIntr()
Definition: i2c_lld.h:247
int32_t I2C_lld_mem_readIntr(I2CLLD_Handle handle, I2C_Memory_ExtendedParams *mem_extendedParams)
API to initiate a Memory read operation in interrupt mode.
uint8_t * readBufIdx
Definition: i2c_lld.h:425
uint8_t bitRate
Definition: i2c_lld.h:387
int32_t I2C_lld_probe(I2CLLD_Handle handle, uint32_t targetAddr)
API to probe I2C.
int32_t I2C_lld_setBusFrequency(I2CLLD_Handle handle, uint32_t busFrequency)
API to set the bus frequency.
int32_t I2C_lld_mem_writeIntr(I2CLLD_Handle handle, I2C_Memory_ExtendedParams *mem_extendedParams)
API to initiate a Memory write operation in interrupt Mode.
void I2C_lld_controllerIsr(void *args)
I2C Controller ISR, can be used as IRQ handler in Controller mode.
I2C_lld_targetTransferCompleteCallback targetTransferCompleteCallback
Definition: i2c_lld.h:401
int32_t I2C_lld_deInit(I2CLLD_Handle handle)
API to De-Initializes the I2C instance.
uint8_t state
Definition: i2c_lld.h:408
uint32_t size
Definition: i2c_lld.h:253
I2CLLD_targetTransaction i2cTargetTransaction
Definition: i2c_lld.h:446
I2C Driver Object.
Definition: i2c_lld.h:376
int32_t I2C_lld_target_write(I2CLLD_Handle handle, I2C_ExtendedParams *extendedParams, uint32_t timeout)
API to initiate an I2C write operation in polled mode as I2C Target.
I2C_Clock_usecToTicks Clock_usecToTicks
Definition: i2c_lld.h:395
I2CLLD_Message i2cMsg
Definition: i2c_lld.h:433
I2C Target Transaction.
Definition: i2c_lld.h:293
int32_t I2C_lld_target_read(I2CLLD_Handle handle, I2C_ExtendedParams *extendedParams, uint32_t timeout)
API to initiate an I2C read Operation in polled mode as I2C Target.
void * args
Definition: i2c_lld.h:448
struct I2CLLD_Object * I2CLLD_Handle
int32_t I2C_lld_targetTransferIntr(I2CLLD_Handle handle, I2CLLD_targetTransaction *txn)
API to initiate a transfer from I2C in interrupt mode as target.
uint8_t memAddrSize
Definition: i2c_lld.h:271
uint32_t currentTxnCount
Definition: i2c_lld.h:431