Lines Matching refs:i2c

50 int MXC_I2C_RevB_Init(mxc_i2c_revb_regs_t *i2c, int masterMode, unsigned int slaveAddr)  in MXC_I2C_RevB_Init()  argument
52 return MXC_I2C_RevA_Init((mxc_i2c_reva_regs_t *)i2c, masterMode, slaveAddr); in MXC_I2C_RevB_Init()
55 int MXC_I2C_RevB_SetSlaveAddr(mxc_i2c_revb_regs_t *i2c, unsigned int slaveAddr, int idx) in MXC_I2C_RevB_SetSlaveAddr() argument
57 if (i2c == NULL || slaveAddr > MXC_F_I2C_REVB_SLV_ADDR_SLA || idx != 0) { in MXC_I2C_RevB_SetSlaveAddr()
61 i2c->slv_addr = 0; in MXC_I2C_RevB_SetSlaveAddr()
64 i2c->slv_addr |= MXC_S_I2C_REVB_SLV_ADDR_EA_10BIT_ADDR; in MXC_I2C_RevB_SetSlaveAddr()
67 i2c->slv_addr |= slaveAddr & MXC_F_I2C_REVB_SLV_ADDR_SLA; in MXC_I2C_RevB_SetSlaveAddr()
72 int MXC_I2C_RevB_Shutdown(mxc_i2c_revb_regs_t *i2c) in MXC_I2C_RevB_Shutdown() argument
74 return MXC_I2C_RevA_Shutdown((mxc_i2c_reva_regs_t *)i2c); in MXC_I2C_RevB_Shutdown()
77 int MXC_I2C_RevB_SetFrequency(mxc_i2c_revb_regs_t *i2c, unsigned int hz) in MXC_I2C_RevB_SetFrequency() argument
79 return MXC_I2C_RevA_SetFrequency((mxc_i2c_reva_regs_t *)i2c, hz); in MXC_I2C_RevB_SetFrequency()
82 unsigned int MXC_I2C_RevB_GetFrequency(mxc_i2c_revb_regs_t *i2c) in MXC_I2C_RevB_GetFrequency() argument
84 return MXC_I2C_RevA_GetFrequency((mxc_i2c_reva_regs_t *)i2c); in MXC_I2C_RevB_GetFrequency()
87 int MXC_I2C_RevB_ReadyForSleep(mxc_i2c_revb_regs_t *i2c) in MXC_I2C_RevB_ReadyForSleep() argument
89 return MXC_I2C_RevA_ReadyForSleep((mxc_i2c_reva_regs_t *)i2c); in MXC_I2C_RevB_ReadyForSleep()
92 int MXC_I2C_RevB_SetClockStretching(mxc_i2c_revb_regs_t *i2c, int enable) in MXC_I2C_RevB_SetClockStretching() argument
94 return MXC_I2C_RevA_SetClockStretching((mxc_i2c_reva_regs_t *)i2c, enable); in MXC_I2C_RevB_SetClockStretching()
97 int MXC_I2C_RevB_GetClockStretching(mxc_i2c_revb_regs_t *i2c) in MXC_I2C_RevB_GetClockStretching() argument
99 return MXC_I2C_RevA_GetClockStretching((mxc_i2c_reva_regs_t *)i2c); in MXC_I2C_RevB_GetClockStretching()
106 int MXC_I2C_RevB_Start(mxc_i2c_revb_regs_t *i2c) in MXC_I2C_RevB_Start() argument
108 return MXC_I2C_RevA_Start((mxc_i2c_reva_regs_t *)i2c); in MXC_I2C_RevB_Start()
111 int MXC_I2C_RevB_Stop(mxc_i2c_revb_regs_t *i2c) in MXC_I2C_RevB_Stop() argument
113 return MXC_I2C_RevA_Stop((mxc_i2c_reva_regs_t *)i2c); in MXC_I2C_RevB_Stop()
116 int MXC_I2C_RevB_WriteByte(mxc_i2c_revb_regs_t *i2c, unsigned char byte) in MXC_I2C_RevB_WriteByte() argument
118 return MXC_I2C_RevA_WriteByte((mxc_i2c_reva_regs_t *)i2c, byte); in MXC_I2C_RevB_WriteByte()
121 int MXC_I2C_RevB_ReadByte(mxc_i2c_revb_regs_t *i2c, unsigned char *byte, int ack) in MXC_I2C_RevB_ReadByte() argument
123 return MXC_I2C_RevA_ReadByte((mxc_i2c_reva_regs_t *)i2c, byte, ack); in MXC_I2C_RevB_ReadByte()
126 int MXC_I2C_RevB_ReadByteInteractive(mxc_i2c_revb_regs_t *i2c, unsigned char *byte, in MXC_I2C_RevB_ReadByteInteractive() argument
129 return MXC_I2C_RevA_ReadByteInteractive((mxc_i2c_reva_regs_t *)i2c, byte, in MXC_I2C_RevB_ReadByteInteractive()
133 int MXC_I2C_RevB_Write(mxc_i2c_revb_regs_t *i2c, unsigned char *bytes, unsigned int *len) in MXC_I2C_RevB_Write() argument
135 return MXC_I2C_RevA_Write((mxc_i2c_reva_regs_t *)i2c, bytes, len); in MXC_I2C_RevB_Write()
138 int MXC_I2C_RevB_Read(mxc_i2c_revb_regs_t *i2c, unsigned char *bytes, unsigned int *len, int ack) in MXC_I2C_RevB_Read() argument
140 return MXC_I2C_RevA_Read((mxc_i2c_reva_regs_t *)i2c, bytes, len, ack); in MXC_I2C_RevB_Read()
143 int MXC_I2C_RevB_ReadRXFIFO(mxc_i2c_revb_regs_t *i2c, volatile unsigned char *bytes, in MXC_I2C_RevB_ReadRXFIFO() argument
146 return MXC_I2C_RevA_ReadRXFIFO((mxc_i2c_reva_regs_t *)i2c, bytes, len); in MXC_I2C_RevB_ReadRXFIFO()
149 int MXC_I2C_RevB_ReadRXFIFODMA(mxc_i2c_revb_regs_t *i2c, unsigned char *bytes, unsigned int len, in MXC_I2C_RevB_ReadRXFIFODMA() argument
152 return MXC_I2C_RevA_ReadRXFIFODMA((mxc_i2c_reva_regs_t *)i2c, bytes, len, dma); in MXC_I2C_RevB_ReadRXFIFODMA()
155 int MXC_I2C_RevB_GetRXFIFOAvailable(mxc_i2c_revb_regs_t *i2c) in MXC_I2C_RevB_GetRXFIFOAvailable() argument
157 return MXC_I2C_RevA_GetRXFIFOAvailable((mxc_i2c_reva_regs_t *)i2c); in MXC_I2C_RevB_GetRXFIFOAvailable()
160 int MXC_I2C_RevB_WriteTXFIFO(mxc_i2c_revb_regs_t *i2c, volatile unsigned char *bytes, in MXC_I2C_RevB_WriteTXFIFO() argument
163 return MXC_I2C_RevA_WriteTXFIFO((mxc_i2c_reva_regs_t *)i2c, bytes, len); in MXC_I2C_RevB_WriteTXFIFO()
166 int MXC_I2C_RevB_WriteTXFIFODMA(mxc_i2c_revb_regs_t *i2c, unsigned char *bytes, unsigned int len, in MXC_I2C_RevB_WriteTXFIFODMA() argument
169 return MXC_I2C_RevA_WriteTXFIFODMA((mxc_i2c_reva_regs_t *)i2c, bytes, len, dma); in MXC_I2C_RevB_WriteTXFIFODMA()
172 int MXC_I2C_RevB_GetTXFIFOAvailable(mxc_i2c_revb_regs_t *i2c) in MXC_I2C_RevB_GetTXFIFOAvailable() argument
174 return MXC_I2C_RevA_GetTXFIFOAvailable((mxc_i2c_reva_regs_t *)i2c); in MXC_I2C_RevB_GetTXFIFOAvailable()
177 void MXC_I2C_RevB_ClearRXFIFO(mxc_i2c_revb_regs_t *i2c) in MXC_I2C_RevB_ClearRXFIFO() argument
179 MXC_I2C_RevA_ClearRXFIFO((mxc_i2c_reva_regs_t *)i2c); in MXC_I2C_RevB_ClearRXFIFO()
182 void MXC_I2C_RevB_ClearTXFIFO(mxc_i2c_revb_regs_t *i2c) in MXC_I2C_RevB_ClearTXFIFO() argument
184 MXC_I2C_RevA_ClearTXFIFO((mxc_i2c_reva_regs_t *)i2c); in MXC_I2C_RevB_ClearTXFIFO()
187 int MXC_I2C_RevB_GetFlags(mxc_i2c_revb_regs_t *i2c, unsigned int *flags0, unsigned int *flags1) in MXC_I2C_RevB_GetFlags() argument
189 return MXC_I2C_RevA_GetFlags((mxc_i2c_reva_regs_t *)i2c, flags0, flags1); in MXC_I2C_RevB_GetFlags()
192 void MXC_I2C_RevB_ClearFlags(mxc_i2c_revb_regs_t *i2c, unsigned int flags0, unsigned int flags1) in MXC_I2C_RevB_ClearFlags() argument
194 MXC_I2C_RevA_ClearFlags((mxc_i2c_reva_regs_t *)i2c, flags0, flags1); in MXC_I2C_RevB_ClearFlags()
197 void MXC_I2C_RevB_EnableInt(mxc_i2c_revb_regs_t *i2c, unsigned int flags0, unsigned int flags1) in MXC_I2C_RevB_EnableInt() argument
199 MXC_I2C_RevA_EnableInt((mxc_i2c_reva_regs_t *)i2c, flags0, flags1); in MXC_I2C_RevB_EnableInt()
202 void MXC_I2C_RevB_DisableInt(mxc_i2c_revb_regs_t *i2c, unsigned int flags0, unsigned int flags1) in MXC_I2C_RevB_DisableInt() argument
204 MXC_I2C_RevA_DisableInt((mxc_i2c_reva_regs_t *)i2c, flags0, flags1); in MXC_I2C_RevB_DisableInt()
207 void MXC_I2C_RevB_EnablePreload(mxc_i2c_revb_regs_t *i2c) in MXC_I2C_RevB_EnablePreload() argument
209 MXC_I2C_RevA_EnablePreload((mxc_i2c_reva_regs_t *)i2c); in MXC_I2C_RevB_EnablePreload()
212 void MXC_I2C_RevB_DisablePreload(mxc_i2c_revb_regs_t *i2c) in MXC_I2C_RevB_DisablePreload() argument
214 MXC_I2C_RevA_DisablePreload((mxc_i2c_reva_regs_t *)i2c); in MXC_I2C_RevB_DisablePreload()
217 void MXC_I2C_RevB_EnableGeneralCall(mxc_i2c_revb_regs_t *i2c) in MXC_I2C_RevB_EnableGeneralCall() argument
219 i2c->ctrl0 |= MXC_F_I2C_REVB_CTRL0_GCEN; in MXC_I2C_RevB_EnableGeneralCall()
222 void MXC_I2C_RevB_DisableGeneralCall(mxc_i2c_revb_regs_t *i2c) in MXC_I2C_RevB_DisableGeneralCall() argument
224 i2c->ctrl0 &= ~MXC_F_I2C_REVB_CTRL0_GCEN; in MXC_I2C_RevB_DisableGeneralCall()
227 void MXC_I2C_RevB_SetTimeout(mxc_i2c_revb_regs_t *i2c, unsigned int timeout) in MXC_I2C_RevB_SetTimeout() argument
229 MXC_I2C_RevA_SetTimeout((mxc_i2c_reva_regs_t *)i2c, timeout); in MXC_I2C_RevB_SetTimeout()
232 unsigned int MXC_I2C_RevB_GetTimeout(mxc_i2c_revb_regs_t *i2c) in MXC_I2C_RevB_GetTimeout() argument
234 return MXC_I2C_RevA_GetTimeout((mxc_i2c_reva_regs_t *)i2c); in MXC_I2C_RevB_GetTimeout()
237 int MXC_I2C_RevB_Recover(mxc_i2c_revb_regs_t *i2c, unsigned int retries) in MXC_I2C_RevB_Recover() argument
239 return MXC_I2C_RevA_Recover((mxc_i2c_reva_regs_t *)i2c, retries); in MXC_I2C_RevB_Recover()
261 int MXC_I2C_RevB_SlaveTransaction(mxc_i2c_revb_regs_t *i2c, mxc_i2c_revb_slave_handler_t callback, in MXC_I2C_RevB_SlaveTransaction() argument
264 return MXC_I2C_RevA_SlaveTransaction((mxc_i2c_reva_regs_t *)i2c, in MXC_I2C_RevB_SlaveTransaction()
268 int MXC_I2C_RevB_SlaveTransactionAsync(mxc_i2c_revb_regs_t *i2c, in MXC_I2C_RevB_SlaveTransactionAsync() argument
273 (mxc_i2c_reva_regs_t *)i2c, (mxc_i2c_reva_slave_handler_t)callback, interruptCheck); in MXC_I2C_RevB_SlaveTransactionAsync()
276 int MXC_I2C_RevB_SetRXThreshold(mxc_i2c_revb_regs_t *i2c, unsigned int numBytes) in MXC_I2C_RevB_SetRXThreshold() argument
278 return MXC_I2C_RevA_SetRXThreshold((mxc_i2c_reva_regs_t *)i2c, numBytes); in MXC_I2C_RevB_SetRXThreshold()
281 unsigned int MXC_I2C_RevB_GetRXThreshold(mxc_i2c_revb_regs_t *i2c) in MXC_I2C_RevB_GetRXThreshold() argument
283 return MXC_I2C_RevA_GetRXThreshold((mxc_i2c_reva_regs_t *)i2c); in MXC_I2C_RevB_GetRXThreshold()
286 int MXC_I2C_RevB_SetTXThreshold(mxc_i2c_revb_regs_t *i2c, unsigned int numBytes) in MXC_I2C_RevB_SetTXThreshold() argument
288 return MXC_I2C_RevA_SetTXThreshold((mxc_i2c_reva_regs_t *)i2c, numBytes); in MXC_I2C_RevB_SetTXThreshold()
291 unsigned int MXC_I2C_RevB_GetTXThreshold(mxc_i2c_revb_regs_t *i2c) in MXC_I2C_RevB_GetTXThreshold() argument
293 return MXC_I2C_RevA_GetTXThreshold((mxc_i2c_reva_regs_t *)i2c); in MXC_I2C_RevB_GetTXThreshold()
296 void MXC_I2C_RevB_AsyncCallback(mxc_i2c_revb_regs_t *i2c, int retVal) in MXC_I2C_RevB_AsyncCallback() argument
298 MXC_I2C_RevA_AsyncCallback((mxc_i2c_reva_regs_t *)i2c, retVal); in MXC_I2C_RevB_AsyncCallback()
301 void MXC_I2C_RevB_AsyncStop(mxc_i2c_revb_regs_t *i2c) in MXC_I2C_RevB_AsyncStop() argument
303 MXC_I2C_RevA_AsyncStop((mxc_i2c_reva_regs_t *)i2c); in MXC_I2C_RevB_AsyncStop()
306 void MXC_I2C_RevB_AbortAsync(mxc_i2c_revb_regs_t *i2c) in MXC_I2C_RevB_AbortAsync() argument
308 MXC_I2C_RevA_AbortAsync((mxc_i2c_reva_regs_t *)i2c); in MXC_I2C_RevB_AbortAsync()
316 unsigned int MXC_I2C_RevB_SlaveAsyncHandler(mxc_i2c_revb_regs_t *i2c, in MXC_I2C_RevB_SlaveAsyncHandler() argument
341 if (i2c->int_fl0 & MXC_I2C_REVB_ERROR) { in MXC_I2C_RevB_SlaveAsyncHandler()
343 callback(i2c, MXC_I2C_REVB_EVT_TRANS_COMP, retVal); in MXC_I2C_RevB_SlaveAsyncHandler()
344 MXC_I2C_ClearFlags((mxc_i2c_regs_t *)i2c, MXC_I2C_REVB_INTFL0_MASK, in MXC_I2C_RevB_SlaveAsyncHandler()
346 MXC_I2C_ClearTXFIFO((mxc_i2c_regs_t *)i2c); in MXC_I2C_RevB_SlaveAsyncHandler()
347 MXC_I2C_ClearRXFIFO((mxc_i2c_regs_t *)i2c); in MXC_I2C_RevB_SlaveAsyncHandler()
349 AsyncRequests[MXC_I2C_GET_IDX((mxc_i2c_regs_t *)i2c)] = NULL; in MXC_I2C_RevB_SlaveAsyncHandler()
353 if (i2c->int_fl0 & MXC_F_I2C_REVB_INT_FL0_RXTHI) { in MXC_I2C_RevB_SlaveAsyncHandler()
354 callback(i2c, MXC_I2C_REVB_EVT_RX_THRESH, NULL); in MXC_I2C_RevB_SlaveAsyncHandler()
355 i2c->int_fl0 = MXC_F_I2C_REVB_INT_FL0_RXTHI; in MXC_I2C_RevB_SlaveAsyncHandler()
358 if (i2c->int_fl1 & MXC_F_I2C_REVB_INT_FL1_RXOFI) { in MXC_I2C_RevB_SlaveAsyncHandler()
359 callback(i2c, MXC_I2C_REVB_EVT_OVERFLOW, NULL); in MXC_I2C_RevB_SlaveAsyncHandler()
360 i2c->int_fl1 = MXC_F_I2C_REVB_INT_FL1_RXOFI; in MXC_I2C_RevB_SlaveAsyncHandler()
366 if (i2c->int_fl0 & MXC_F_I2C_REVB_INT_FL0_TXTHI) { in MXC_I2C_RevB_SlaveAsyncHandler()
367 callback(i2c, MXC_I2C_REVB_EVT_TX_THRESH, NULL); in MXC_I2C_RevB_SlaveAsyncHandler()
368 i2c->int_fl0 = MXC_F_I2C_REVB_INT_FL0_TXTHI; in MXC_I2C_RevB_SlaveAsyncHandler()
371 if (i2c->int_fl1 & MXC_F_I2C_REVB_INT_FL1_TXUFI) { in MXC_I2C_RevB_SlaveAsyncHandler()
372 callback(i2c, MXC_I2C_REVB_EVT_UNDERFLOW, NULL); in MXC_I2C_RevB_SlaveAsyncHandler()
373 i2c->int_fl1 = MXC_F_I2C_REVB_INT_FL1_TXUFI; in MXC_I2C_RevB_SlaveAsyncHandler()
376 if (i2c->int_fl0 & MXC_F_I2C_REVB_INT_FL0_TXLOI) { in MXC_I2C_RevB_SlaveAsyncHandler()
378 callback(i2c, MXC_I2C_REVB_EVT_TRANS_COMP, retVal); in MXC_I2C_RevB_SlaveAsyncHandler()
379 i2c->int_fl0 = MXC_F_I2C_REVB_INT_FL0_TXLOI; in MXC_I2C_RevB_SlaveAsyncHandler()
381 AsyncRequests[MXC_I2C_GET_IDX((mxc_i2c_regs_t *)i2c)] = NULL; in MXC_I2C_RevB_SlaveAsyncHandler()
385 if (i2c->int_fl0 & MXC_F_I2C_REVB_INT_FL0_STOPI) { in MXC_I2C_RevB_SlaveAsyncHandler()
387 callback(i2c, MXC_I2C_REVB_EVT_TRANS_COMP, retVal); in MXC_I2C_RevB_SlaveAsyncHandler()
388 i2c->int_fl0 = MXC_F_I2C_REVB_INT_FL0_STOPI; in MXC_I2C_RevB_SlaveAsyncHandler()
390 AsyncRequests[MXC_I2C_GET_IDX((mxc_i2c_regs_t *)i2c)] = NULL; in MXC_I2C_RevB_SlaveAsyncHandler()
394 if (i2c->int_fl0 & MXC_F_I2C_REVB_INT_FL0_AMI) { in MXC_I2C_RevB_SlaveAsyncHandler()
395 if (i2c->ctrl0 & MXC_F_I2C_REVB_CTRL0_READ) { in MXC_I2C_RevB_SlaveAsyncHandler()
396 callback(i2c, MXC_I2C_REVB_EVT_MASTER_RD, NULL); in MXC_I2C_RevB_SlaveAsyncHandler()
397 i2c->int_fl0 = MXC_F_I2C_REVB_INT_FL0_AMI; in MXC_I2C_RevB_SlaveAsyncHandler()
398 i2c->int_fl0 = MXC_F_I2C_REVB_INT_FL0_AMI; in MXC_I2C_RevB_SlaveAsyncHandler()
399 i2c->int_fl0 = MXC_F_I2C_REVB_INT_FL0_TXLOI; in MXC_I2C_RevB_SlaveAsyncHandler()
403 callback(i2c, MXC_I2C_REVB_EVT_MASTER_WR, NULL); in MXC_I2C_RevB_SlaveAsyncHandler()
404 i2c->int_fl0 = MXC_F_I2C_REVB_INT_FL0_AMI; in MXC_I2C_RevB_SlaveAsyncHandler()
405 i2c->int_fl0 = MXC_F_I2C_REVB_INT_FL0_AMI; in MXC_I2C_RevB_SlaveAsyncHandler()
409 } else if (i2c->int_fl0 & MXC_I2C_REVB_ERROR) { in MXC_I2C_RevB_SlaveAsyncHandler()
411 callback(i2c, MXC_I2C_REVB_EVT_TRANS_COMP, retVal); in MXC_I2C_RevB_SlaveAsyncHandler()
412 MXC_I2C_RevB_ClearFlags(i2c, MXC_I2C_REVB_INTFL0_MASK, in MXC_I2C_RevB_SlaveAsyncHandler()
414 MXC_I2C_RevB_ClearTXFIFO(i2c); in MXC_I2C_RevB_SlaveAsyncHandler()
415 MXC_I2C_RevB_ClearRXFIFO(i2c); in MXC_I2C_RevB_SlaveAsyncHandler()
417 AsyncRequests[MXC_I2C_GET_IDX((mxc_i2c_regs_t *)i2c)] = NULL; in MXC_I2C_RevB_SlaveAsyncHandler()
423 void MXC_I2C_RevB_AsyncHandler(mxc_i2c_revb_regs_t *i2c, uint32_t interruptCheck) in MXC_I2C_RevB_AsyncHandler() argument
425 int i2cNum = MXC_I2C_GET_IDX((mxc_i2c_regs_t *)i2c); in MXC_I2C_RevB_AsyncHandler()
432 if (i2c->ctrl0 & MXC_F_I2C_REVB_CTRL0_MST) { in MXC_I2C_RevB_AsyncHandler()
436 i2c->int_en0 = MXC_I2C_RevB_SlaveAsyncHandler(i2c, callback, i2c->int_en0, &slaveRetVal); in MXC_I2C_RevB_AsyncHandler()