MCUXpresso SDK API Reference Manual  Rev 2.12.1
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
I3C: I3C Driver

Overview

Modules

 I3C FreeRTOS Driver
 
 I3C Master DMA Driver
 
 I3C Master Driver
 
 I3C Slave Driver
 

Data Structures

struct  i3c_device_info_t
 I3C device information. More...
 

Macros

#define I3C_RETRY_TIMES   0U /* Define to zero means keep waiting until the flag is assert/deassert. */
 Timeout times for waiting flag. More...
 

Enumerations

enum  {
  kStatus_I3C_Busy = MAKE_STATUS(kStatusGroup_I3C, 0),
  kStatus_I3C_Idle = MAKE_STATUS(kStatusGroup_I3C, 1),
  kStatus_I3C_Nak = MAKE_STATUS(kStatusGroup_I3C, 2),
  kStatus_I3C_WriteAbort,
  kStatus_I3C_Term = MAKE_STATUS(kStatusGroup_I3C, 4),
  kStatus_I3C_HdrParityError = MAKE_STATUS(kStatusGroup_I3C, 5),
  kStatus_I3C_CrcError = MAKE_STATUS(kStatusGroup_I3C, 6),
  kStatus_I3C_ReadFifoError = MAKE_STATUS(kStatusGroup_I3C, 7),
  kStatus_I3C_WriteFifoError = MAKE_STATUS(kStatusGroup_I3C, 8),
  kStatus_I3C_MsgError,
  kStatus_I3C_InvalidReq = MAKE_STATUS(kStatusGroup_I3C, 10),
  kStatus_I3C_Timeout = MAKE_STATUS(kStatusGroup_I3C, 11),
  kStatus_I3C_SlaveCountExceed,
  kStatus_I3C_IBIWon,
  kStatus_I3C_OverrunError = MAKE_STATUS(kStatusGroup_I3C, 14),
  kStatus_I3C_UnderrunError = MAKE_STATUS(kStatusGroup_I3C, 15),
  kStatus_I3C_UnderrunNak,
  kStatus_I3C_InvalidStart = MAKE_STATUS(kStatusGroup_I3C, 17),
  kStatus_I3C_SdrParityError = MAKE_STATUS(kStatusGroup_I3C, 18),
  kStatus_I3C_S0S1Error = MAKE_STATUS(kStatusGroup_I3C, 19)
}
 I3C status return codes. More...
 
enum  i3c_hdr_mode_t
 I3C HDR modes. More...
 

Driver version

#define FSL_I3C_DRIVER_VERSION   (MAKE_VERSION(2, 7, 0))
 I3C driver version.
 

Data Structure Documentation

struct i3c_device_info_t

Data Fields

uint8_t dynamicAddr
 Device dynamic address. More...
 
uint8_t staticAddr
 Static address. More...
 
uint8_t dcr
 Device characteristics register information. More...
 
uint8_t bcr
 Bus characteristics register information. More...
 
uint16_t vendorID
 Device vendor ID(manufacture ID). More...
 
uint32_t partNumber
 Device part number info.
 
uint16_t maxReadLength
 Maximum read length. More...
 
uint16_t maxWriteLength
 Maximum write length. More...
 
uint8_t hdrMode
 Support hdr mode, could be OR logic in i3c_hdr_mode. More...
 

Field Documentation

uint8_t i3c_device_info_t::dynamicAddr
uint8_t i3c_device_info_t::staticAddr
uint8_t i3c_device_info_t::dcr
uint8_t i3c_device_info_t::bcr
uint16_t i3c_device_info_t::vendorID
uint16_t i3c_device_info_t::maxReadLength
uint16_t i3c_device_info_t::maxWriteLength
uint8_t i3c_device_info_t::hdrMode

Macro Definition Documentation

#define I3C_RETRY_TIMES   0U /* Define to zero means keep waiting until the flag is assert/deassert. */

Enumeration Type Documentation

anonymous enum
Enumerator
kStatus_I3C_Busy 

The master is already performing a transfer.

kStatus_I3C_Idle 

The slave driver is idle.

kStatus_I3C_Nak 

The slave device sent a NAK in response to an address.

kStatus_I3C_WriteAbort 

The slave device sent a NAK in response to a write.

kStatus_I3C_Term 

The master terminates slave read.

kStatus_I3C_HdrParityError 

Parity error from DDR read.

kStatus_I3C_CrcError 

CRC error from DDR read.

kStatus_I3C_ReadFifoError 

Read from M/SRDATAB register when FIFO empty.

kStatus_I3C_WriteFifoError 

Write to M/SWDATAB register when FIFO full.

kStatus_I3C_MsgError 

Message SDR/DDR mismatch or read/write message in wrong state.

kStatus_I3C_InvalidReq 

Invalid use of request.

kStatus_I3C_Timeout 

The module has stalled too long in a frame.

kStatus_I3C_SlaveCountExceed 

The I3C slave count has exceed the definition in I3C_MAX_DEVCNT.

kStatus_I3C_IBIWon 

The I3C slave event IBI or MR or HJ won the arbitration on a header address.

kStatus_I3C_OverrunError 

Slave internal from-bus buffer/FIFO overrun.

kStatus_I3C_UnderrunError 

Slave internal to-bus buffer/FIFO underrun.

kStatus_I3C_UnderrunNak 

Slave internal from-bus buffer/FIFO underrun and NACK error.

kStatus_I3C_InvalidStart 

Slave invalid start flag.

kStatus_I3C_SdrParityError 

SDR parity error.

kStatus_I3C_S0S1Error 

S0 or S1 error.