|
AM243x MCU+ SDK
08.06.00
|
|
Go to the documentation of this file.
123 #define I2C_MAX_NUM_OWN_TARGET_ADDR (4U)
135 #define I2C_MODE_BLOCKING ((uint8_t) 0U)
136 #define I2C_MODE_CALLBACK ((uint8_t) 1U)
145 #define I2C_100KHZ ((uint8_t) 0U)
146 #define I2C_400KHZ ((uint8_t) 1U)
147 #define I2C_1P0MHZ ((uint8_t) 2U)
148 #define I2C_3P4MHZ ((uint8_t) 3U)
156 #define I2C_STS_SUCCESS ( 0)
157 #define I2C_STS_ERR (-1)
158 #define I2C_STS_ERR_TIMEOUT (-2)
159 #define I2C_STS_ERR_BUS_BUSY (-3)
160 #define I2C_STS_ERR_NO_ACK (-4)
161 #define I2C_STS_ERR_ARBITRATION_LOST (-5)
162 #define I2C_STS_ERR_ACCESS_ERROR (-6)
163 #define I2C_STS_ERR_COMMAND_FAILURE (-7)
164 #define I2C_STS_ERR_INVALID_COMMAND (-8)
165 #define I2C_STS_RESTART (-9)
180 typedef struct I2C_HwAttrs_s {
220 typedef struct I2C_Transaction_s {
284 typedef struct I2C_Params_s {
298 typedef struct I2C_Object_s {
347 typedef struct I2C_Config_s {
void * arg
Definition: i2c/v0/i2c.h:253
I2C Object.
Definition: i2c/v0/i2c.h:298
I2C Hardware attributes.
Definition: i2c/v0/i2c.h:180
I2C_Transaction * tailPtr
Definition: i2c/v0/i2c.h:326
uint16_t index
Definition: tisci_rm_proxy.h:3
int32_t I2C_transfer(I2C_Handle handle, I2C_Transaction *transaction)
Function to initiate a transfer from I2C.
void * nextPtr
Definition: i2c/v0/i2c.h:250
uint8_t * readBufIdx
Definition: i2c/v0/i2c.h:318
SemaphoreP_Object transferComplete
Definition: i2c/v0/i2c.h:303
I2C Global configuration.
Definition: i2c/v0/i2c.h:347
bool isOpen
Definition: i2c/v0/i2c.h:328
void I2C_close(I2C_Handle handle)
Function to close the I2C.
const void * writeBuf
Definition: i2c/v0/i2c.h:225
void I2C_Transaction_init(I2C_Transaction *transaction)
Function to set default values of I2C_Transaction in transaction.
I2C_Transaction * headPtr
Definition: i2c/v0/i2c.h:324
I2C_HwAttrs const * hwAttrs
Definition: i2c/v0/i2c.h:351
int32_t I2C_recoverBus(I2C_Handle handle, uint32_t i2cDelay)
Function to recover the bus in case of error.
#define I2C_MAX_NUM_OWN_TARGET_ADDR
Definition: i2c/v0/i2c.h:123
bool enableIntr
Definition: i2c/v0/i2c.h:190
uint32_t targetAddress
Definition: i2c/v0/i2c.h:247
void(* I2C_CallbackFxn)(I2C_Handle handle, I2C_Transaction *msg, int32_t transferStatus)
I2C callback function.
Definition: i2c/v0/i2c.h:370
uint32_t intStatusErr
Definition: i2c/v0/i2c.h:330
I2C transaction.
Definition: i2c/v0/i2c.h:220
I2C Parameters.
Definition: i2c/v0/i2c.h:284
I2C_Handle I2C_open(uint32_t idx, const I2C_Params *params)
Open the I2C at index idx with parameters params.
void I2C_deinit(void)
De-nitialize the I2C module.
uint8_t * writeBufIdx
Definition: i2c/v0/i2c.h:314
SemaphoreP_Object mutex
Definition: i2c/v0/i2c.h:301
uint32_t baseAddr
Definition: i2c/v0/i2c.h:332
uint32_t timeout
Definition: i2c/v0/i2c.h:256
bool expandSA
Definition: i2c/v0/i2c.h:262
struct I2C_Config_s * I2C_Handle
A handle that is returned from a I2C_open() call.
Definition: i2c/v0/i2c.h:175
int32_t I2C_setBusFrequency(I2C_Handle handle, uint32_t busFrequency)
Function to set the bus frequency.
I2C_Params i2cParams
Definition: i2c/v0/i2c.h:307
I2C_Object * object
Definition: i2c/v0/i2c.h:349
I2C_Handle I2C_getHandle(uint32_t index)
This function returns the handle of an open I2C instance from the instance index.
uint32_t intNum
Definition: i2c/v0/i2c.h:184
uint32_t writeCountIdx
Definition: i2c/v0/i2c.h:316
bool controllerMode
Definition: i2c/v0/i2c.h:259
uint32_t readCountIdx
Definition: i2c/v0/i2c.h:320
void * readBuf
Definition: i2c/v0/i2c.h:235
Opaque Hwi object used with the Hwi APIs.
Definition: HwiP.h:91
size_t writeCount
Definition: i2c/v0/i2c.h:230
uint32_t baseAddr
Definition: i2c/v0/i2c.h:182
Opaque semaphore object used with the semaphore APIs.
Definition: SemaphoreP.h:59
uint32_t eventId
Definition: i2c/v0/i2c.h:186
void I2C_Params_init(I2C_Params *params)
Function to set default values of I2C_Params in params.
uint32_t funcClk
Definition: i2c/v0/i2c.h:188
size_t readCount
Definition: i2c/v0/i2c.h:240
int32_t I2C_probe(I2C_Handle handle, uint32_t targetAddr)
Function to probe I2C.
uint8_t state
Definition: i2c/v0/i2c.h:309
void I2C_init(void)
Initialize the I2C module.
uint8_t bitRate
Definition: i2c/v0/i2c.h:290
I2C_Transaction * currentTransaction
Definition: i2c/v0/i2c.h:312
uint8_t transferMode
Definition: i2c/v0/i2c.h:286
HwiP_Object hwiObj
Definition: i2c/v0/i2c.h:305