MCUXpresso SDK API Reference Manual  Rev 2.15.000
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
LPI2C: Low Power Inter-Integrated Circuit Driver

Overview

Modules

 LPI2C CMSIS Driver
 
 LPI2C FreeRTOS Driver
 
 LPI2C Master DMA Driver
 
 LPI2C Master Driver
 
 LPI2C Slave Driver
 

Macros

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

Enumerations

enum  {
  kStatus_LPI2C_Busy = MAKE_STATUS(kStatusGroup_LPI2C, 0),
  kStatus_LPI2C_Idle = MAKE_STATUS(kStatusGroup_LPI2C, 1),
  kStatus_LPI2C_Nak = MAKE_STATUS(kStatusGroup_LPI2C, 2),
  kStatus_LPI2C_FifoError = MAKE_STATUS(kStatusGroup_LPI2C, 3),
  kStatus_LPI2C_BitError = MAKE_STATUS(kStatusGroup_LPI2C, 4),
  kStatus_LPI2C_ArbitrationLost = MAKE_STATUS(kStatusGroup_LPI2C, 5),
  kStatus_LPI2C_PinLowTimeout,
  kStatus_LPI2C_NoTransferInProgress,
  kStatus_LPI2C_DmaRequestFail = MAKE_STATUS(kStatusGroup_LPI2C, 8),
  kStatus_LPI2C_Timeout = MAKE_STATUS(kStatusGroup_LPI2C, 9)
}
 LPI2C status return codes. More...
 

Functions

uint32_t LPI2C_GetInstance (LPI2C_Type *base)
 Returns an instance number given a base address. More...
 

Variables

IRQn_Type const kLpi2cIrqs []
 
Array to map LPI2C instance number to IRQ number, used internally for LPI2C master interrupt and EDMA transactional

APIs. More...

 
lpi2c_master_isr_t s_lpi2cMasterIsr
 
Pointer to master IRQ handler for each instance, used internally for LPI2C master interrupt and EDMA transactional

APIs. More...

 
void * s_lpi2cMasterHandle []
 
Pointers to master handles for each instance, used internally for LPI2C master interrupt and EDMA transactional

APIs. More...

 

Driver version

#define FSL_LPI2C_DRIVER_VERSION   (MAKE_VERSION(2, 5, 2))
 LPI2C driver version. More...
 

Macro Definition Documentation

#define FSL_LPI2C_DRIVER_VERSION   (MAKE_VERSION(2, 5, 2))
#define I2C_RETRY_TIMES   0U /* Define to zero means keep waiting until the flag is assert/deassert. */

Enumeration Type Documentation

anonymous enum
Enumerator
kStatus_LPI2C_Busy 

The master is already performing a transfer.

kStatus_LPI2C_Idle 

The slave driver is idle.

kStatus_LPI2C_Nak 

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

kStatus_LPI2C_FifoError 

FIFO under run or overrun.

kStatus_LPI2C_BitError 

Transferred bit was not seen on the bus.

kStatus_LPI2C_ArbitrationLost 

Arbitration lost error.

kStatus_LPI2C_PinLowTimeout 

SCL or SDA were held low longer than the timeout.

kStatus_LPI2C_NoTransferInProgress 

Attempt to abort a transfer when one is not in progress.

kStatus_LPI2C_DmaRequestFail 

DMA request failed.

kStatus_LPI2C_Timeout 

Timeout polling status flags.

Function Documentation

uint32_t LPI2C_GetInstance ( LPI2C_Type *  base)

If an invalid base address is passed, debug builds will assert. Release builds will just return instance number 0.

Parameters
baseThe LPI2C peripheral base address.
Returns
LPI2C instance number starting from 0.

Variable Documentation

IRQn_Type const kLpi2cIrqs[]
lpi2c_master_isr_t s_lpi2cMasterIsr
void* s_lpi2cMasterHandle[]