MSPM0C110X Driver Library  2.05.00.05
Data Structures | Macros | Enumerations | Functions
dl_i2c.h File Reference

Detailed Description

Inter-Integrated Circuit (I2C) Driver Library.


#include <stdbool.h>
#include <stdint.h>
#include <ti/devices/msp/msp.h>
#include <ti/driverlib/dl_common.h>
Include dependency graph for dl_i2c.h:

Go to the source code of this file.

Data Structures

struct  DL_I2C_ClockConfig
 Configuration struct for DL_I2C_setClockConfig. More...
 

Macros

#define DL_I2C_TX_FIFO_COUNT_MAXIMUM   ((uint32_t)I2C_SYS_FENTRIES << 8)
 I2C number of bytes which could be put into the TX FIFO. More...
 
#define DL_I2C_RX_FIFO_COUNT_MAXIMUM   ((uint32_t)I2C_SYS_FENTRIES)
 I2C number of bytes which could be put into the RX FIFO. More...
 
#define DL_I2C_CONTROLLER_STATUS_BUSY   (I2C_MSR_BUSY_MASK)
 I2C is busy. More...
 
#define DL_I2C_CONTROLLER_STATUS_ERROR   (I2C_MSR_ERR_MASK)
 I2C error detected. More...
 
#define DL_I2C_CONTROLLER_STATUS_ADDR_ACK   (I2C_MSR_ADRACK_MASK)
 I2C address acknowledged.
 
#define DL_I2C_CONTROLLER_STATUS_DATA_ACK   (I2C_MSR_DATACK_MASK)
 I2C data acknowledged.
 
#define DL_I2C_CONTROLLER_STATUS_ARBITRATION_LOST   (I2C_MSR_ARBLST_MASK)
 I2C arbitration lost.
 
#define DL_I2C_CONTROLLER_STATUS_IDLE   (I2C_MSR_IDLE_MASK)
 I2C idle.
 
#define DL_I2C_CONTROLLER_STATUS_BUSY_BUS   (I2C_MSR_BUSBSY_MASK)
 I2C bus busy. More...
 
#define DL_I2C_TARGET_STATUS_ADDRESS_MATCH   (I2C_SSR_ADDRMATCH_MASK)
 Indicates the address for which target address match happened.
 
#define DL_I2C_TARGET_STATUS_STALE_TX_FIFO   (I2C_SSR_STALE_TXFIFO_MASK)
 I2C Target Stale TX FIFO. More...
 
#define DL_I2C_TARGET_STATUS_TX_MODE   (I2C_SSR_TXMODE_MASK)
 I2C Target TX Mode. More...
 
#define DL_I2C_TARGET_STATUS_BUS_BUSY   (I2C_SSR_BUSBSY_MASK)
 I2C Target Bus Busy. More...
 
#define DL_I2C_TARGET_STATUS_RX_MODE   (I2C_SSR_RXMODE_MASK)
 I2C Target RX Mode. More...
 
#define DL_I2C_TARGET_STATUS_QUICK_COMMAND_READ_WRITE   (I2C_SSR_QCMDRW_MASK)
 Direction of I2C Quick Command Only valid when QCMDST is set. More...
 
#define DL_I2C_TARGET_STATUS_QUICK_COMMAND_STATUS   (I2C_SSR_QCMDST_MASK)
 Status of I2C Quick Command. More...
 
#define DL_I2C_TARGET_STATUS_OWN_ADDR_ALTERNATE_MATCHED   (I2C_SSR_OAR2SEL_MASK)
 I2C Target Own Address Alternate Matched.
 
#define DL_I2C_TARGET_STATUS_TRANSMIT_REQUEST   (I2C_SSR_TREQ_MASK)
 I2C Target Transmit Request.
 
#define DL_I2C_TARGET_STATUS_RECEIVE_REQUEST   (I2C_SSR_RREQ_MASK)
 I2C Target Receive Request.
 
#define DL_I2C_INTERRUPT_CONTROLLER_RX_DONE   (I2C_CPU_INT_IMASK_MRXDONE_SET)
 Controller Receive Transaction completed Interrupt.
 
#define DL_I2C_INTERRUPT_CONTROLLER_TX_DONE   (I2C_CPU_INT_IMASK_MTXDONE_SET)
 Controller Transmit Transaction completed Interrupt.
 
#define DL_I2C_INTERRUPT_CONTROLLER_RXFIFO_TRIGGER   (I2C_CPU_INT_IMASK_MRXFIFOTRG_SET)
 Controller Receive FIFO Trigger when >= defined bytes.
 
#define DL_I2C_INTERRUPT_CONTROLLER_TXFIFO_TRIGGER   (I2C_CPU_INT_IMASK_MTXFIFOTRG_SET)
 Controller Transmit FIFO Trigger when <= defined bytes.
 
#define DL_I2C_INTERRUPT_CONTROLLER_RXFIFO_FULL   (I2C_CPU_INT_IMASK_MRXFIFOFULL_SET)
 Controller Receive FIFO is full.
 
#define DL_I2C_INTERRUPT_CONTROLLER_TXFIFO_EMPTY   (I2C_CPU_INT_IMASK_MTXEMPTY_SET)
 Controller Transmit FIFO is empty.
 
#define DL_I2C_INTERRUPT_CONTROLLER_NACK   (I2C_CPU_INT_IMASK_MNACK_SET)
 Address/Data NACK Interrupt.
 
#define DL_I2C_INTERRUPT_CONTROLLER_START   (I2C_CPU_INT_IMASK_MSTART_SET)
 START Detection Interrupt.
 
#define DL_I2C_INTERRUPT_CONTROLLER_STOP   (I2C_CPU_INT_IMASK_MSTOP_SET)
 STOP Detection Interrupt.
 
#define DL_I2C_INTERRUPT_CONTROLLER_ARBITRATION_LOST   (I2C_CPU_INT_IMASK_MARBLOST_SET)
 Arbitration Lost Interrupt.
 
#define DL_I2C_INTERRUPT_CONTROLLER_EVENT1_DMA_DONE   (I2C_CPU_INT_IMASK_MDMA_DONE_TX_SET)
 Controller DMA Done on Event 1 publisher.
 
#define DL_I2C_INTERRUPT_CONTROLLER_EVENT2_DMA_DONE   (I2C_CPU_INT_IMASK_MDMA_DONE_RX_SET)
 Controller DMA Done on Event 2 publisher.
 
#define DL_I2C_INTERRUPT_CONTROLLER_PEC_RX_ERROR   (I2C_CPU_INT_IMASK_MPEC_RX_ERR_SET)
 Controller SMBus/PMBus PEC Receive Error Interrupt.
 
#define DL_I2C_INTERRUPT_TARGET_RX_DONE   (I2C_CPU_INT_IMASK_SRXDONE_SET)
 Target Receive Data Interrupt (byte has been received)
 
#define DL_I2C_INTERRUPT_TARGET_TX_DONE   (I2C_CPU_INT_IMASK_STXDONE_SET)
 Target Transmit Transaction completed Interrupt.
 
#define DL_I2C_INTERRUPT_TARGET_RXFIFO_TRIGGER   (I2C_CPU_INT_IMASK_SRXFIFOTRG_SET)
 Target Receive FIFO Trigger.
 
#define DL_I2C_INTERRUPT_TARGET_TXFIFO_TRIGGER   (I2C_CPU_INT_IMASK_STXFIFOTRG_SET)
 Target Transmit FIFO Trigger.
 
#define DL_I2C_INTERRUPT_TARGET_RXFIFO_FULL   (I2C_CPU_INT_IMASK_SRXFIFOFULL_SET)
 Target RX FIFO full.
 
#define DL_I2C_INTERRUPT_TARGET_TXFIFO_EMPTY   (I2C_CPU_INT_IMASK_STXEMPTY_SET)
 Target TX FIFO empty. All data in Transmit FIFO shifted out and transmit goes into idle mode.
 
#define DL_I2C_INTERRUPT_TARGET_START   (I2C_CPU_INT_IMASK_SSTART_SET)
 Target Start Condition detected.
 
#define DL_I2C_INTERRUPT_TARGET_STOP   (I2C_CPU_INT_IMASK_SSTOP_SET)
 Target Stop Condition detected.
 
#define DL_I2C_INTERRUPT_TARGET_GENERAL_CALL   (I2C_CPU_INT_IMASK_SGENCALL_SET)
 General Call Interrupt.
 
#define DL_I2C_INTERRUPT_TARGET_EVENT1_DMA_DONE   (I2C_CPU_INT_IMASK_SDMA_DONE_TX_SET)
 Target DMA Done on Event 1 Publisher.
 
#define DL_I2C_INTERRUPT_TARGET_EVENT2_DMA_DONE   (I2C_CPU_INT_IMASK_SDMA_DONE_RX_SET)
 Target DMA Done on Event 2 Publisher.
 
#define DL_I2C_INTERRUPT_TARGET_PEC_RX_ERROR   (I2C_CPU_INT_IMASK_SPEC_RX_ERR_SET)
 Target SMBus/PMBus PEC Receive Error Interrupt.
 
#define DL_I2C_INTERRUPT_TARGET_TXFIFO_UNDERFLOW   (I2C_CPU_INT_IMASK_STX_UNFL_SET)
 Target TX FIFO Underflow Interrupt.
 
#define DL_I2C_INTERRUPT_TARGET_RXFIFO_OVERFLOW   (I2C_CPU_INT_IMASK_SRX_OVFL_SET)
 Target RX FIFO Overflow Interrupt.
 
#define DL_I2C_INTERRUPT_TARGET_ARBITRATION_LOST   (I2C_CPU_INT_IMASK_SARBLOST_SET)
 Target Arbitration Lost Interrupt.
 
#define DL_I2C_TARGET_INTERRUPT_OVERFLOW   (I2C_CPU_INT_IMASK_INTR_OVFL_SET)
 Interrupt Overflow Interrupt. Occurs when Target START or STOP interrupts overflow (i.e. occurs twice without being serviced)
 
#define DL_I2C_INTERRUPT_TIMEOUT_A   (I2C_CPU_INT_IMASK_TIMEOUTA_SET)
 Timeout A Interrupt.
 
#define DL_I2C_INTERRUPT_TIMEOUT_B   (I2C_CPU_INT_IMASK_TIMEOUTB_SET)
 Timeout B Interrupt.
 
#define DL_I2C_DMA_INTERRUPT_TARGET_TXFIFO_TRIGGER   (I2C_DMA_TRIG1_IMASK_STXFIFOTRG_SET)
 Peripheral Transmit FIFO Trigger interrupt for DMA trigger.
 
#define DL_I2C_DMA_INTERRUPT_TARGET_RXFIFO_TRIGGER   (I2C_DMA_TRIG1_IMASK_SRXFIFOTRG_SET)
 Peripheral Receive FIFO Trigger interrupt for DMA trigger.
 
#define DL_I2C_DMA_INTERRUPT_CONTROLLER_TXFIFO_TRIGGER   (I2C_DMA_TRIG1_IMASK_MTXFIFOTRG_SET)
 Controller Transmit FIFO Trigger when <= defined bytes for DMA trigger.
 
#define DL_I2C_DMA_INTERRUPT_CONTROLLER_RXFIFO_TRIGGER   (I2C_DMA_TRIG1_IMASK_MRXFIFOTRG_SET)
 Controller Receive FIFO Trigger when >= defined bytes for DMA trigger.
 

Enumerations

enum  DL_I2C_DMA_IIDX {
  DL_I2C_DMA_IIDX_TARGET_TXFIFO_TRIGGER = I2C_DMA_TRIG1_IIDX_STAT_MTXFIFOTRG,
  DL_I2C_DMA_IIDX_TARGET_RXFIFO_TRIGGER = I2C_DMA_TRIG1_IIDX_STAT_MRXFIFOTRG,
  DL_I2C_DMA_IIDX_CONTROLLER_TXFIFO_TRIGGER,
  DL_I2C_DMA_IIDX_CONTROLLER_RXFIFO_TRIGGER
}
 
enum  DL_I2C_EVENT_ROUTE {
  DL_I2C_EVENT_ROUTE_1 = 0,
  DL_I2C_EVENT_ROUTE_2 = 12
}
 
enum  DL_I2C_CLOCK {
  DL_I2C_CLOCK_BUSCLK = I2C_CLKSEL_BUSCLK_SEL_ENABLE,
  DL_I2C_CLOCK_MFCLK = I2C_CLKSEL_MFCLK_SEL_ENABLE
}
 
enum  DL_I2C_CLOCK_DIVIDE {
  DL_I2C_CLOCK_DIVIDE_1 = I2C_CLKDIV_RATIO_DIV_BY_1,
  DL_I2C_CLOCK_DIVIDE_2 = I2C_CLKDIV_RATIO_DIV_BY_2,
  DL_I2C_CLOCK_DIVIDE_3 = I2C_CLKDIV_RATIO_DIV_BY_3,
  DL_I2C_CLOCK_DIVIDE_4 = I2C_CLKDIV_RATIO_DIV_BY_4,
  DL_I2C_CLOCK_DIVIDE_5 = I2C_CLKDIV_RATIO_DIV_BY_5,
  DL_I2C_CLOCK_DIVIDE_6 = I2C_CLKDIV_RATIO_DIV_BY_6,
  DL_I2C_CLOCK_DIVIDE_7 = I2C_CLKDIV_RATIO_DIV_BY_7,
  DL_I2C_CLOCK_DIVIDE_8 = I2C_CLKDIV_RATIO_DIV_BY_8
}
 
enum  DL_I2C_TARGET_ADDRESSING_MODE {
  DL_I2C_TARGET_ADDRESSING_MODE_7_BIT = I2C_SOAR_SMODE_MODE7,
  DL_I2C_TARGET_ADDRESSING_MODE_10_BIT = I2C_SOAR_SMODE_MODE10
}
 
enum  DL_I2C_TARGET_PEC_STATUS {
  DL_I2C_TARGET_PEC_STATUS_CHECKED = I2C_TARGET_PECSR_PECSTS_CHECK_SET,
  DL_I2C_TARGET_PEC_STATUS_NOT_CHECKED
}
 
enum  DL_I2C_TARGET_PEC_CHECK_ERROR {
  DL_I2C_TARGET_PEC_CHECK_ERROR_CLEARED,
  DL_I2C_TARGET_PEC_CHECK_ERROR_SET = I2C_TARGET_PECSR_PECSTS_ERROR_SET
}
 
enum  DL_I2C_ANALOG_GLITCH_FILTER_WIDTH {
  DL_I2C_ANALOG_GLITCH_FILTER_WIDTH_5NS = I2C_GFCTL_AGFSEL_AGLIT_5,
  DL_I2C_ANALOG_GLITCH_FILTER_WIDTH_10NS = I2C_GFCTL_AGFSEL_AGLIT_10,
  DL_I2C_ANALOG_GLITCH_FILTER_WIDTH_25NS = I2C_GFCTL_AGFSEL_AGLIT_25,
  DL_I2C_ANALOG_GLITCH_FILTER_WIDTH_50NS = I2C_GFCTL_AGFSEL_AGLIT_50
}
 
enum  DL_I2C_DIGITAL_GLITCH_FILTER_WIDTH {
  DL_I2C_DIGITAL_GLITCH_FILTER_WIDTH_DISABLED = I2C_GFCTL_DGFSEL_DISABLED,
  DL_I2C_DIGITAL_GLITCH_FILTER_WIDTH_CLOCKS_1 = I2C_GFCTL_DGFSEL_CLK_1,
  DL_I2C_DIGITAL_GLITCH_FILTER_WIDTH_CLOCKS_2 = I2C_GFCTL_DGFSEL_CLK_2,
  DL_I2C_DIGITAL_GLITCH_FILTER_WIDTH_CLOCKS_3 = I2C_GFCTL_DGFSEL_CLK_3,
  DL_I2C_DIGITAL_GLITCH_FILTER_WIDTH_CLOCKS_4 = I2C_GFCTL_DGFSEL_CLK_4,
  DL_I2C_DIGITAL_GLITCH_FILTER_WIDTH_CLOCKS_8 = I2C_GFCTL_DGFSEL_CLK_8,
  DL_I2C_DIGITAL_GLITCH_FILTER_WIDTH_CLOCKS_16 = I2C_GFCTL_DGFSEL_CLK_16,
  DL_I2C_DIGITAL_GLITCH_FILTER_WIDTH_CLOCKS_31 = I2C_GFCTL_DGFSEL_CLK_31
}
 
enum  DL_I2C_CONTROLLER_DIRECTION {
  DL_I2C_CONTROLLER_DIRECTION_TX = I2C_MSA_DIR_TRANSMIT,
  DL_I2C_CONTROLLER_DIRECTION_RX = I2C_MSA_DIR_RECEIVE
}
 
enum  DL_I2C_CONTROLLER_ADDRESSING_MODE {
  DL_I2C_CONTROLLER_ADDRESSING_MODE_7_BIT = I2C_MSA_MMODE_MODE7,
  DL_I2C_CONTROLLER_ADDRESSING_MODE_10_BIT = I2C_MSA_MMODE_MODE10
}
 
enum  DL_I2C_CONTROLLER_PEC_STATUS {
  DL_I2C_CONTROLLER_PEC_STATUS_CHECKED,
  DL_I2C_CONTROLLER_PEC_STATUS_NOT_CHECKED
}
 
enum  DL_I2C_CONTROLLER_PEC_CHECK_ERROR {
  DL_I2C_CONTROLLER_PEC_CHECK_ERROR_SET,
  DL_I2C_CONTROLLER_PEC_CHECK_ERROR_CLEARED
}
 
enum  DL_I2C_CONTROLLER_SCL {
  DL_I2C_CONTROLLER_SCL_HIGH = I2C_MBMON_SCL_SET,
  DL_I2C_CONTROLLER_SCL_LOW = I2C_MBMON_SCL_CLEARED
}
 
enum  DL_I2C_CONTROLLER_SDA {
  DL_I2C_CONTROLLER_SDA_HIGH = I2C_MBMON_SDA_SET,
  DL_I2C_CONTROLLER_SDA_LOW = I2C_MBMON_SDA_CLEARED
}
 
enum  DL_I2C_CONTROLLER_START {
  DL_I2C_CONTROLLER_START_ENABLE = I2C_MCTR_START_ENABLE,
  DL_I2C_CONTROLLER_START_DISABLE = I2C_MCTR_START_DISABLE
}
 
enum  DL_I2C_CONTROLLER_STOP {
  DL_I2C_CONTROLLER_STOP_ENABLE = I2C_MCTR_STOP_ENABLE,
  DL_I2C_CONTROLLER_STOP_DISABLE = I2C_MCTR_STOP_DISABLE
}
 
enum  DL_I2C_CONTROLLER_ACK {
  DL_I2C_CONTROLLER_ACK_ENABLE = I2C_MCTR_ACK_ENABLE,
  DL_I2C_CONTROLLER_ACK_DISABLE = I2C_MCTR_ACK_DISABLE
}
 
enum  DL_I2C_TX_FIFO_LEVEL {
  DL_I2C_TX_FIFO_LEVEL_EMPTY = I2C_MFIFOCTL_TXTRIG_EMPTY,
  DL_I2C_TX_FIFO_LEVEL_BYTES_1 = I2C_MFIFOCTL_TXTRIG_LEVEL_1,
  DL_I2C_TX_FIFO_LEVEL_BYTES_2 = I2C_MFIFOCTL_TXTRIG_LEVEL_2,
  DL_I2C_TX_FIFO_LEVEL_BYTES_3 = I2C_MFIFOCTL_TXTRIG_LEVEL_3,
  DL_I2C_TX_FIFO_LEVEL_BYTES_4 = I2C_MFIFOCTL_TXTRIG_LEVEL_4,
  DL_I2C_TX_FIFO_LEVEL_BYTES_5 = I2C_MFIFOCTL_TXTRIG_LEVEL_5,
  DL_I2C_TX_FIFO_LEVEL_BYTES_6 = I2C_MFIFOCTL_TXTRIG_LEVEL_6,
  DL_I2C_TX_FIFO_LEVEL_BYTES_7 = I2C_MFIFOCTL_TXTRIG_LEVEL_7
}
 
enum  DL_I2C_RX_FIFO_LEVEL {
  DL_I2C_RX_FIFO_LEVEL_BYTES_1 = I2C_MFIFOCTL_RXTRIG_LEVEL_1,
  DL_I2C_RX_FIFO_LEVEL_BYTES_2 = I2C_MFIFOCTL_RXTRIG_LEVEL_2,
  DL_I2C_RX_FIFO_LEVEL_BYTES_3 = I2C_MFIFOCTL_RXTRIG_LEVEL_3,
  DL_I2C_RX_FIFO_LEVEL_BYTES_4 = I2C_MFIFOCTL_RXTRIG_LEVEL_4,
  DL_I2C_RX_FIFO_LEVEL_BYTES_5 = I2C_MFIFOCTL_RXTRIG_LEVEL_5,
  DL_I2C_RX_FIFO_LEVEL_BYTES_6 = I2C_MFIFOCTL_RXTRIG_LEVEL_6,
  DL_I2C_RX_FIFO_LEVEL_BYTES_7 = I2C_MFIFOCTL_RXTRIG_LEVEL_7,
  DL_I2C_RX_FIFO_LEVEL_BYTES_8 = I2C_MFIFOCTL_RXTRIG_LEVEL_8
}
 
enum  DL_I2C_TARGET_RESPONSE_OVERRIDE_VALUE {
  DL_I2C_TARGET_RESPONSE_OVERRIDE_VALUE_ACK = I2C_SACKCTL_ACKOVAL_DISABLE,
  DL_I2C_TARGET_RESPONSE_OVERRIDE_VALUE_NACK = I2C_SACKCTL_ACKOVAL_ENABLE
}
 
enum  DL_I2C_IIDX {
  DL_I2C_IIDX_NO_INT = I2C_CPU_INT_IIDX_STAT_NO_INTR,
  DL_I2C_IIDX_CONTROLLER_RX_DONE = I2C_CPU_INT_IIDX_STAT_MRXDONEFG,
  DL_I2C_IIDX_CONTROLLER_TX_DONE = I2C_CPU_INT_IIDX_STAT_MTXDONEFG,
  DL_I2C_IIDX_CONTROLLER_RXFIFO_TRIGGER = I2C_CPU_INT_IIDX_STAT_MRXFIFOTRG,
  DL_I2C_IIDX_CONTROLLER_TXFIFO_TRIGGER = I2C_CPU_INT_IIDX_STAT_MTXFIFOTRG,
  DL_I2C_IIDX_CONTROLLER_RXFIFO_FULL = I2C_CPU_INT_IIDX_STAT_MRXFIFOFULL,
  DL_I2C_IIDX_CONTROLLER_TXFIFO_EMPTY = I2C_CPU_INT_IIDX_STAT_MTX_EMPTY,
  DL_I2C_IIDX_CONTROLLER_NACK = I2C_CPU_INT_IIDX_STAT_MNACKFG,
  DL_I2C_IIDX_CONTROLLER_START = I2C_CPU_INT_IIDX_STAT_MSTARTFG,
  DL_I2C_IIDX_CONTROLLER_STOP = I2C_CPU_INT_IIDX_STAT_MSTOPFG,
  DL_I2C_IIDX_CONTROLLER_ARBITRATION_LOST = I2C_CPU_INT_IIDX_STAT_MARBLOSTFG,
  DL_I2C_IIDX_CONTROLLER_EVENT1_DMA_DONE,
  DL_I2C_IIDX_CONTROLLER_EVENT2_DMA_DONE,
  DL_I2C_IIDX_CONTROLLER_PEC_RX_ERROR = I2C_CPU_INT_IIDX_STAT_MPEC_RX_ERR,
  DL_I2C_IIDX_TIMEOUT_A = I2C_CPU_INT_IIDX_STAT_TIMEOUTA,
  DL_I2C_IIDX_TIMEOUT_B = I2C_CPU_INT_IIDX_STAT_TIMEOUTB,
  DL_I2C_IIDX_TARGET_RX_DONE = I2C_CPU_INT_IIDX_STAT_SRXDONEFG,
  DL_I2C_IIDX_TARGET_TX_DONE = I2C_CPU_INT_IIDX_STAT_STXDONEFG,
  DL_I2C_IIDX_TARGET_RXFIFO_TRIGGER = I2C_CPU_INT_IIDX_STAT_SRXFIFOTRG,
  DL_I2C_IIDX_TARGET_TXFIFO_TRIGGER = I2C_CPU_INT_IIDX_STAT_STXFIFOTRG,
  DL_I2C_IIDX_TARGET_RXFIFO_FULL = I2C_CPU_INT_IIDX_STAT_SRXFIFOFULL,
  DL_I2C_IIDX_TARGET_TXFIFO_EMPTY = I2C_CPU_INT_IIDX_STAT_STXEMPTY,
  DL_I2C_IIDX_TARGET_START = I2C_CPU_INT_IIDX_STAT_SSTARTFG,
  DL_I2C_IIDX_TARGET_STOP = I2C_CPU_INT_IIDX_STAT_SSTOPFG,
  DL_I2C_IIDX_TARGET_GENERAL_CALL = I2C_CPU_INT_IIDX_STAT_SGENCALL,
  DL_I2C_IIDX_TARGET_EVENT1_DMA_DONE = I2C_CPU_INT_IIDX_STAT_SDMA_DONE_TX,
  DL_I2C_IIDX_TARGET_EVENT2_DMA_DONE = I2C_CPU_INT_IIDX_STAT_SDMA_DONE_RX,
  DL_I2C_IIDX_TARGET_PEC_RX_ERROR = I2C_CPU_INT_IIDX_STAT_SPEC_RX_ERR,
  DL_I2C_IIDX_TARGET_TXFIFO_UNDERFLOW = I2C_CPU_INT_IIDX_STAT_STX_UNFL,
  DL_I2C_IIDX_TARGET_RXFIFO_OVERFLOW = I2C_CPU_INT_IIDX_STAT_SRX_OVFL,
  DL_I2C_IIDX_TARGET_ARBITRATION_LOST = I2C_CPU_INT_IIDX_STAT_SARBLOST,
  DL_I2C_IIDX_INTERRUPT_OVERFLOW = I2C_CPU_INT_IIDX_STAT_INTR_OVFL
}
 

Functions

void DL_I2C_setClockConfig (I2C_Regs *i2c, const DL_I2C_ClockConfig *config)
 Configure I2C source clock. More...
 
void DL_I2C_getClockConfig (const I2C_Regs *i2c, DL_I2C_ClockConfig *config)
 Get I2C source clock configuration. More...
 
uint16_t DL_I2C_fillControllerTXFIFO (I2C_Regs *i2c, const uint8_t *buffer, uint16_t count)
 Fills the controller TX FIFO with data. More...
 
void DL_I2C_flushControllerTXFIFO (I2C_Regs *i2c)
 Flushes/removes all elements in the controller TX FIFO. More...
 
void DL_I2C_flushControllerRXFIFO (I2C_Regs *i2c)
 Flushes/removes all elements in the controller RX FIFO. More...
 
__STATIC_INLINE bool DL_I2C_isControllerTXFIFOFull (const I2C_Regs *i2c)
 Checks if controller TX FIFO is full. More...
 
__STATIC_INLINE bool DL_I2C_isControllerTXFIFOEmpty (const I2C_Regs *i2c)
 Checks if controller TX FIFO is empty. More...
 
__STATIC_INLINE bool DL_I2C_isControllerRXFIFOEmpty (const I2C_Regs *i2c)
 Checks if controller RX FIFO is empty. More...
 
__STATIC_INLINE void DL_I2C_resetControllerTransfer (I2C_Regs *i2c)
 Reset transfers from from I2C controller. More...
 
__STATIC_INLINE void DL_I2C_startControllerTransfer (I2C_Regs *i2c, uint32_t targetAddr, DL_I2C_CONTROLLER_DIRECTION direction, uint16_t length)
 Sets up a transfer from I2C controller. More...
 
__STATIC_INLINE void DL_I2C_startControllerTransferAdvanced (I2C_Regs *i2c, uint32_t targetAddr, DL_I2C_CONTROLLER_DIRECTION direction, uint16_t length, DL_I2C_CONTROLLER_START start, DL_I2C_CONTROLLER_STOP stop, DL_I2C_CONTROLLER_ACK ack)
 Sets up a transfer from I2C controller with control of START, STOP and ACK. More...
 
__STATIC_INLINE bool DL_I2C_isTargetTXFIFOFull (const I2C_Regs *i2c)
 Checks if target TX FIFO is full. More...
 
__STATIC_INLINE bool DL_I2C_isTargetTXFIFOEmpty (const I2C_Regs *i2c)
 Checks if target TX FIFO is empty. More...
 
__STATIC_INLINE bool DL_I2C_isTargetRXFIFOEmpty (const I2C_Regs *i2c)
 Checks if target RX FIFO is empty. More...
 
uint8_t DL_I2C_fillTargetTXFIFO (I2C_Regs *i2c, const uint8_t *buffer, uint8_t count)
 Fills the target TX FIFO with data. More...
 
void DL_I2C_flushTargetTXFIFO (I2C_Regs *i2c)
 Flushes/removes all elements in the target TX FIFO. More...
 
void DL_I2C_flushTargetRXFIFO (I2C_Regs *i2c)
 Flushes/removes all elements in the target RX FIFO. More...
 
void DL_I2C_transmitTargetDataBlocking (I2C_Regs *i2c, uint8_t data)
 Transmit target data, waiting until transmit request. More...
 
bool DL_I2C_transmitTargetDataCheck (I2C_Regs *i2c, uint8_t data)
 Transmit target data. More...
 
uint8_t DL_I2C_receiveTargetDataBlocking (const I2C_Regs *i2c)
 Receive target data, waiting until receive request. More...
 
bool DL_I2C_receiveTargetDataCheck (const I2C_Regs *i2c, uint8_t *buffer)
 Receive target data. More...
 
__STATIC_INLINE void DL_I2C_enablePower (I2C_Regs *i2c)
 Enables the Peripheral Write Enable (PWREN) register for the I2C. More...
 
__STATIC_INLINE void DL_I2C_disablePower (I2C_Regs *i2c)
 Disables the Peripheral Write Enable (PWREN) register for the I2C. More...
 
__STATIC_INLINE bool DL_I2C_isPowerEnabled (const I2C_Regs *i2c)
 Returns if the Peripheral Write Enable (PWREN) register for the I2C is enabled. More...
 
__STATIC_INLINE void DL_I2C_reset (I2C_Regs *i2c)
 Resets i2c peripheral. More...
 
__STATIC_INLINE bool DL_I2C_isReset (const I2C_Regs *i2c)
 Returns if i2c peripheral was reset. More...
 
__STATIC_INLINE void DL_I2C_selectClockSource (I2C_Regs *i2c, DL_I2C_CLOCK clockSource)
 Set Clock Source. More...
 
__STATIC_INLINE void DL_I2C_selectClockDivider (I2C_Regs *i2c, DL_I2C_CLOCK_DIVIDE clockDivider)
 Set Clock Divider. More...
 
__STATIC_INLINE DL_I2C_ANALOG_GLITCH_FILTER_WIDTH DL_I2C_getAnalogGlitchFilterPulseWidth (const I2C_Regs *i2c)
 Get Analog Glitch Suppression Pulse Width. More...
 
__STATIC_INLINE void DL_I2C_setAnalogGlitchFilterPulseWidth (I2C_Regs *i2c, DL_I2C_ANALOG_GLITCH_FILTER_WIDTH filterWidth)
 Set Analog Glitch Suppression Pulse Width. More...
 
__STATIC_INLINE DL_I2C_DIGITAL_GLITCH_FILTER_WIDTH DL_I2C_getDigitalGlitchFilterPulseWidth (const I2C_Regs *i2c)
 Get Digital Glitch Suppression Pulse Width. More...
 
__STATIC_INLINE void DL_I2C_setDigitalGlitchFilterPulseWidth (I2C_Regs *i2c, DL_I2C_DIGITAL_GLITCH_FILTER_WIDTH filterWidth)
 Set Digital Glitch Suppression Pulse Width. More...
 
__STATIC_INLINE void DL_I2C_disableAnalogGlitchFilter (I2C_Regs *i2c)
 Disable Analog Glitch Suppression. More...
 
__STATIC_INLINE bool DL_I2C_isAnalogGlitchFilterEnabled (const I2C_Regs *i2c)
 Checks if analog glitch suppression is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableAnalogGlitchFilter (I2C_Regs *i2c)
 Enable Analog Glitch Suppression. More...
 
__STATIC_INLINE DL_I2C_CONTROLLER_DIRECTION DL_I2C_getControllerDirection (const I2C_Regs *i2c)
 Get direction of next controller operation. More...
 
__STATIC_INLINE void DL_I2C_setControllerDirection (I2C_Regs *i2c, DL_I2C_CONTROLLER_DIRECTION direction)
 Set direction of next controller operation. More...
 
__STATIC_INLINE uint32_t DL_I2C_getTargetAddress (const I2C_Regs *i2c)
 Get the address of the target being addressed when configured as an I2C controller. More...
 
__STATIC_INLINE void DL_I2C_setTargetAddress (I2C_Regs *i2c, uint32_t targetAddress)
 Set the address of the target being addressed when configured as an I2C controller. More...
 
__STATIC_INLINE DL_I2C_CONTROLLER_ADDRESSING_MODE DL_I2C_getControllerAddressingMode (const I2C_Regs *i2c)
 Get controller addressing mode. More...
 
__STATIC_INLINE void DL_I2C_setControllerAddressingMode (I2C_Regs *i2c, DL_I2C_CONTROLLER_ADDRESSING_MODE mode)
 Set controller addressing mode between 7-bit and 10-bit mode. More...
 
__STATIC_INLINE void DL_I2C_disableControllerACKOverride (I2C_Regs *i2c)
 Disable controller ACK override. More...
 
__STATIC_INLINE bool DL_I2C_isControllerACKOverrideEnabled (const I2C_Regs *i2c)
 Checks if controller ACK override is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableControllerACKOverride (I2C_Regs *i2c)
 Enable controller ACK override. More...
 
__STATIC_INLINE void DL_I2C_disableControllerReadOnTXEmpty (I2C_Regs *i2c)
 Disable controller read on TX empty. More...
 
__STATIC_INLINE bool DL_I2C_isControllerReadOnTXEmptyEnabled (const I2C_Regs *i2c)
 Checks if controller read on TX empty is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableControllerReadOnTXEmpty (I2C_Regs *i2c)
 Enable controller read on TX empty. More...
 
__STATIC_INLINE uint32_t DL_I2C_getControllerPECCountValue (const I2C_Regs *i2c)
 Get the SMBus/PMBus Packet Error Checking (PEC) count value. More...
 
__STATIC_INLINE void DL_I2C_setControllerPECCountValue (I2C_Regs *i2c, uint32_t count)
 Set the SMBus/PMBus Packet Error Checking (PEC) count value. More...
 
__STATIC_INLINE void DL_I2C_disableControllerPEC (I2C_Regs *i2c)
 Disable controller SMBus/PMBus Packet Error Checking (PEC) More...
 
__STATIC_INLINE bool DL_I2C_isControllerPECEnabled (const I2C_Regs *i2c)
 Checks if controller SMBus/PMBus Packet Error Checking (PEC) is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableControllerPEC (I2C_Regs *i2c)
 Enable controller SMBus/PMBus Packet Error Checking (PEC) More...
 
__STATIC_INLINE uint32_t DL_I2C_getControllerCurrentPECCount (const I2C_Regs *i2c)
 Get the current SMBus/PMBus PEC byte count of the controller state machine. More...
 
__STATIC_INLINE DL_I2C_CONTROLLER_PEC_STATUS DL_I2C_getControllerPECCheckedStatus (const I2C_Regs *i2c)
 If controller SMBus/PMBus PEC was checked in last transaction. More...
 
__STATIC_INLINE DL_I2C_CONTROLLER_PEC_CHECK_ERROR DL_I2C_getControllerPECCheckError (const I2C_Regs *i2c)
 Get the status of the controller SMBus/PMBus PEC Check error. More...
 
__STATIC_INLINE void DL_I2C_disableControllerBurst (I2C_Regs *i2c)
 Disable I2C controller burst mode. More...
 
__STATIC_INLINE bool DL_I2C_isControllerBurstEnabled (const I2C_Regs *i2c)
 Checks if I2C controller burst mode is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableControllerBurst (I2C_Regs *i2c)
 Enable I2C controller burst mode. More...
 
__STATIC_INLINE void DL_I2C_disableStartCondition (I2C_Regs *i2c)
 Disable I2C START generation. More...
 
__STATIC_INLINE bool DL_I2C_isStartConditionEnabled (const I2C_Regs *i2c)
 Checks if I2C START generation is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableStartCondition (I2C_Regs *i2c)
 Enable I2C START generation. More...
 
__STATIC_INLINE void DL_I2C_disableStopCondition (I2C_Regs *i2c)
 Disable I2C STOP generation. More...
 
__STATIC_INLINE bool DL_I2C_isStopConditionEnabled (const I2C_Regs *i2c)
 Checks if I2C STOP generation is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableStopCondition (I2C_Regs *i2c)
 Enable I2C STOP generation. More...
 
__STATIC_INLINE void DL_I2C_disableControllerACK (I2C_Regs *i2c)
 Disable I2C controller data acknowledge (ACK or NACK) More...
 
__STATIC_INLINE bool DL_I2C_isControllerACKEnabled (const I2C_Regs *i2c)
 Checks if I2C controller data acknowledge (ACK or NACK) is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableControllerACK (I2C_Regs *i2c)
 Enable I2C controller data acknowledge (ACK or NACK) More...
 
__STATIC_INLINE uint32_t DL_I2C_getTransactionLength (const I2C_Regs *i2c)
 Get transaction length in bytes. More...
 
__STATIC_INLINE void DL_I2C_setTransactionLength (I2C_Regs *i2c, uint32_t length)
 Set transaction length in bytes. More...
 
__STATIC_INLINE uint32_t DL_I2C_getControllerStatus (const I2C_Regs *i2c)
 Get status of I2C bus controller for controller. More...
 
__STATIC_INLINE uint16_t DL_I2C_getTransactionCount (const I2C_Regs *i2c)
 Get transaction count in bytes. More...
 
__STATIC_INLINE uint8_t DL_I2C_receiveControllerData (const I2C_Regs *i2c)
 Get byte of data from I2C controller. More...
 
__STATIC_INLINE void DL_I2C_transmitControllerData (I2C_Regs *i2c, uint8_t data)
 Set next byte to be transferred during the next transaction. More...
 
__STATIC_INLINE uint8_t DL_I2C_getTimerPeriod (const I2C_Regs *i2c)
 Get timer period This field is used in the equation to configure SCL_PERIOD: More...
 
__STATIC_INLINE void DL_I2C_setTimerPeriod (I2C_Regs *i2c, uint8_t period)
 Set timer period This field is used in the equation to configure SCL_PERIOD: More...
 
__STATIC_INLINE void DL_I2C_disableLoopbackMode (I2C_Regs *i2c)
 Disable loopback mode. More...
 
__STATIC_INLINE bool DL_I2C_isLoopbackModeEnabled (const I2C_Regs *i2c)
 Checks if loopback mode is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableLoopbackMode (I2C_Regs *i2c)
 Enable loopback mode. More...
 
__STATIC_INLINE void DL_I2C_disableMultiControllerMode (I2C_Regs *i2c)
 Disable multicontroller mode. More...
 
__STATIC_INLINE bool DL_I2C_isMultiControllerModeEnabled (const I2C_Regs *i2c)
 Checks if multicontroller mode is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableMultiControllerMode (I2C_Regs *i2c)
 Enable multicontroller mode. More...
 
__STATIC_INLINE void DL_I2C_disableController (I2C_Regs *i2c)
 Disable controller. More...
 
__STATIC_INLINE bool DL_I2C_isControllerEnabled (const I2C_Regs *i2c)
 Checks if controller is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableController (I2C_Regs *i2c)
 Enable controller. More...
 
__STATIC_INLINE void DL_I2C_disableControllerClockStretching (I2C_Regs *i2c)
 Disable controller clock stretching. More...
 
__STATIC_INLINE bool DL_I2C_isControllerClockStretchingEnabled (const I2C_Regs *i2c)
 Checks if controller clock stretching is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableControllerClockStretching (I2C_Regs *i2c)
 Enable controller clock stretching. More...
 
__STATIC_INLINE DL_I2C_CONTROLLER_SCL DL_I2C_getSCLStatus (const I2C_Regs *i2c)
 Get SCL signal status. More...
 
__STATIC_INLINE DL_I2C_CONTROLLER_SDA DL_I2C_getSDAStatus (const I2C_Regs *i2c)
 Get SDA signal status. More...
 
__STATIC_INLINE DL_I2C_TX_FIFO_LEVEL DL_I2C_getControllerTXFIFOThreshold (const I2C_Regs *i2c)
 Get controller TX FIFO threshold level. More...
 
__STATIC_INLINE void DL_I2C_setControllerTXFIFOThreshold (I2C_Regs *i2c, DL_I2C_TX_FIFO_LEVEL level)
 Set controller TX FIFO threshold level. More...
 
__STATIC_INLINE void DL_I2C_stopFlushControllerTXFIFO (I2C_Regs *i2c)
 Stop controller TX FIFO flush. More...
 
__STATIC_INLINE void DL_I2C_startFlushControllerTXFIFO (I2C_Regs *i2c)
 Start controller TX FIFO flush. More...
 
__STATIC_INLINE DL_I2C_RX_FIFO_LEVEL DL_I2C_getControllerRXFIFOThreshold (const I2C_Regs *i2c)
 Get controller RX FIFO threshold level. More...
 
__STATIC_INLINE void DL_I2C_setControllerRXFIFOThreshold (I2C_Regs *i2c, DL_I2C_RX_FIFO_LEVEL level)
 Set controller RX FIFO threshold level. More...
 
__STATIC_INLINE void DL_I2C_stopFlushControllerRXFIFO (I2C_Regs *i2c)
 Stop controller RX FIFO flush. More...
 
__STATIC_INLINE void DL_I2C_startFlushControllerRXFIFO (I2C_Regs *i2c)
 Start controller RX FIFO flush. More...
 
__STATIC_INLINE uint32_t DL_I2C_getControllerRXFIFOCounter (const I2C_Regs *i2c)
 Get number of bytes which can be read from RX FIFO. More...
 
__STATIC_INLINE uint32_t DL_I2C_getControllerTXFIFOCounter (const I2C_Regs *i2c)
 Get number of bytes which can be put into TX FIFO. More...
 
__STATIC_INLINE bool DL_I2C_isControllerRXFIFOFlushActive (const I2C_Regs *i2c)
 Checks if controller RX FIFO flush is active. More...
 
__STATIC_INLINE bool DL_I2C_isControllerTXFIFOFlushActive (const I2C_Regs *i2c)
 Checks if controller TX FIFO flush is active. More...
 
__STATIC_INLINE void DL_I2C_setTargetOwnAddress (I2C_Regs *i2c, uint32_t addr)
 Set target own address. More...
 
__STATIC_INLINE uint32_t DL_I2C_getTargetOwnAddress (const I2C_Regs *i2c)
 Get target own address. More...
 
__STATIC_INLINE void DL_I2C_enableTargetOwnAddress (I2C_Regs *i2c)
 Enable target own address. More...
 
__STATIC_INLINE void DL_I2C_disableTargetOwnAddress (I2C_Regs *i2c)
 Disable target own address. More...
 
__STATIC_INLINE bool DL_I2C_isTargetOwnAddressEnabled (const I2C_Regs *i2c)
 Checks if target own address is enabled. More...
 
__STATIC_INLINE void DL_I2C_setTargetAddressingMode (I2C_Regs *i2c, DL_I2C_TARGET_ADDRESSING_MODE mode)
 Set target addressing mode. More...
 
__STATIC_INLINE DL_I2C_TARGET_ADDRESSING_MODE DL_I2C_getTargetAddressingMode (const I2C_Regs *i2c)
 Get target addressing mode. More...
 
__STATIC_INLINE uint32_t I2C_getTargetOwnAddressAlternate (const I2C_Regs *i2c)
 Get target own address alternate. More...
 
__STATIC_INLINE void DL_I2C_setTargetOwnAddressAlternate (I2C_Regs *i2c, uint32_t addr)
 Set target own address alternate. More...
 
__STATIC_INLINE uint32_t I2C_getTargetOwnAddressAlternateMask (const I2C_Regs *i2c)
 Get target own address alternate mask. More...
 
__STATIC_INLINE void DL_I2C_setTargetOwnAddressAlternateMask (I2C_Regs *i2c, uint32_t addressMask)
 Set target own address alternate mask. More...
 
__STATIC_INLINE void DL_I2C_disableTargetOwnAddressAlternate (I2C_Regs *i2c)
 Disable usage of target own address alternate. More...
 
__STATIC_INLINE bool DL_I2C_isTargetOwnAddressAlternateEnabled (const I2C_Regs *i2c)
 Checks if target own address alternate is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableTargetOwnAddressAlternate (I2C_Regs *i2c)
 Enable usage of target own address alternate. More...
 
__STATIC_INLINE uint32_t DL_I2C_getTargetAddressMatch (const I2C_Regs *i2c)
 Get the address for which address match happened. More...
 
__STATIC_INLINE void DL_I2C_disableTargetClockStretching (I2C_Regs *i2c)
 Disable target clock stretching. More...
 
__STATIC_INLINE bool DL_I2C_isTargetClockStretchingEnabled (const I2C_Regs *i2c)
 Checks if target clock stretching is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableTargetClockStretching (I2C_Regs *i2c)
 Enable target clock stretching. More...
 
__STATIC_INLINE void DL_I2C_disableTargetTXEmptyOnTXRequest (I2C_Regs *i2c)
 Disable target TX empty interrupt on transmit request. More...
 
__STATIC_INLINE bool DL_I2C_isTargetTXEmptyOnTXRequestEnabled (const I2C_Regs *i2c)
 Checks if target TX empty interrupt on transmit request is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableTargetTXEmptyOnTXRequest (I2C_Regs *i2c)
 Enable target TX empty interrupt on transmit request. More...
 
__STATIC_INLINE void DL_I2C_disableTargetTXTriggerInTXMode (I2C_Regs *i2c)
 Disable target TX trigger in TX mode. More...
 
__STATIC_INLINE bool DL_I2C_isTargetTXTriggerInTXModeEnabled (const I2C_Regs *i2c)
 Checks if target TX trigger in TX mode is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableTargetTXTriggerInTXMode (I2C_Regs *i2c)
 Enable TX trigger when target is in TX mode. More...
 
__STATIC_INLINE void DL_I2C_disableTargetTXWaitWhenTXFIFOStale (I2C_Regs *i2c)
 Disable target TX transfer waits when stale data in TX FIFO. More...
 
__STATIC_INLINE bool DL_I2C_isTargetTXWaitWhenTXFIFOStaleEnabled (const I2C_Regs *i2c)
 Checks if target TX transfer waits when stale data in TX FIFO is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableTargetTXWaitWhenTXFIFOStale (I2C_Regs *i2c)
 Enable target TX transfer waits when stale data in TX FIFO. More...
 
__STATIC_INLINE void DL_I2C_disableTargetRXFullOnRXRequest (I2C_Regs *i2c)
 Disable target RX full interrupt on receive request. More...
 
__STATIC_INLINE bool DL_I2C_isTargetRXFullOnRXRequestEnabled (const I2C_Regs *i2c)
 Checks if target RX full interrupt on receive request is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableTargetRXFullOnRXRequest (I2C_Regs *i2c)
 Enable target RX full interrupt on receive request. More...
 
__STATIC_INLINE void DL_I2C_disableDefaultHostAddress (I2C_Regs *i2c)
 Disable SMBus/PMBus default host address of 000 1000b. More...
 
__STATIC_INLINE bool DL_I2C_isDefaultHostAddressEnabled (const I2C_Regs *i2c)
 Checks if SMBus/PMBus default host address of 000 1000b is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableDefaultHostAddress (I2C_Regs *i2c)
 Enable SMBus/PMBus default host address of 000 1000b. More...
 
__STATIC_INLINE void DL_I2C_disableAlertResponseAddress (I2C_Regs *i2c)
 Disable SMBus/PMBus Alert response address (ARA) of 000 1100b. More...
 
__STATIC_INLINE bool DL_I2C_isAlertResponseAddressEnabled (const I2C_Regs *i2c)
 Checks if SMBus/PMBus Alert response address (ARA) of 000 1100b is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableAlertResponseAddress (I2C_Regs *i2c)
 Enable SMBus/PMBus Alert response address (ARA) of 000 1100b. More...
 
__STATIC_INLINE void DL_I2C_disableDefaultDeviceAddress (I2C_Regs *i2c)
 Disable SMBus/PMBus default device address of 110 0001b. More...
 
__STATIC_INLINE bool DL_I2C_isDefaultDeviceAddressEnabled (const I2C_Regs *i2c)
 Checks SMBus/PMBus default device address of 110 0001b is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableDefaultDeviceAddress (I2C_Regs *i2c)
 Enable SMBus/PMBus default device address of 110 0001b. More...
 
__STATIC_INLINE void DL_I2C_disableTargetWakeup (I2C_Regs *i2c)
 Disable target wakeup. More...
 
__STATIC_INLINE bool DL_I2C_isTargetWakeupEnabled (const I2C_Regs *i2c)
 Checks if target wakeup is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableTargetWakeup (I2C_Regs *i2c)
 Enable target wakeup. More...
 
__STATIC_INLINE void DL_I2C_disableTarget (I2C_Regs *i2c)
 Disable target functionality. More...
 
__STATIC_INLINE bool DL_I2C_isTargetEnabled (const I2C_Regs *i2c)
 Checks if target functionality is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableTarget (I2C_Regs *i2c)
 Enable usage of target functionality. More...
 
__STATIC_INLINE void DL_I2C_disableGeneralCall (I2C_Regs *i2c)
 Disable general call address of 000 0000b. More...
 
__STATIC_INLINE bool DL_I2C_isGeneralCallEnabled (const I2C_Regs *i2c)
 Checks if general call address of 000 0000b is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableGeneralCall (I2C_Regs *i2c)
 Enable usage of general call address of 000 0000b. More...
 
__STATIC_INLINE uint32_t DL_I2C_getTargetStatus (const I2C_Regs *i2c)
 Get status of I2C bus controller for target. More...
 
__STATIC_INLINE uint8_t DL_I2C_receiveTargetData (const I2C_Regs *i2c)
 Get byte of data from I2C target. More...
 
__STATIC_INLINE void DL_I2C_transmitTargetData (I2C_Regs *i2c, uint8_t data)
 Set next byte to be transferred during the next transaction. More...
 
__STATIC_INLINE void DL_I2C_disableTargetACKOverride (I2C_Regs *i2c)
 Disable target ACK override. More...
 
__STATIC_INLINE bool DL_I2C_isTargetACKOverrideEnabled (const I2C_Regs *i2c)
 Checks if target ACK override is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableTargetACKOverride (I2C_Regs *i2c)
 Enable target ACK override. More...
 
__STATIC_INLINE DL_I2C_TARGET_RESPONSE_OVERRIDE_VALUE DL_I2C_getTargetACKOverrideValue (const I2C_Regs *i2c)
 Get target acknowledge override value. More...
 
__STATIC_INLINE void DL_I2C_setTargetACKOverrideValue (I2C_Regs *i2c, DL_I2C_TARGET_RESPONSE_OVERRIDE_VALUE value)
 Set target acknowledge override value. More...
 
__STATIC_INLINE void DL_I2C_disableACKOverrideOnStart (I2C_Regs *i2c)
 Disable target ACK override on Start Condition. More...
 
__STATIC_INLINE bool DL_I2C_isACKOverrideOnStartEnabled (const I2C_Regs *i2c)
 Checks if target ACK override on Start condition is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableACKOverrideOnStart (I2C_Regs *i2c)
 Enable target ACK override on Start condition. More...
 
__STATIC_INLINE void DL_I2C_disableACKOverrideOnPECNext (I2C_Regs *i2c)
 Disable target ACK override when SMBus/PMBus PEC is next byte. More...
 
__STATIC_INLINE bool DL_I2C_isACKOverrideOnPECNextEnabled (const I2C_Regs *i2c)
 Checks if target ACK override when SMBus/PMBus PEC is next byte is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableACKOverrideOnPECNext (I2C_Regs *i2c)
 Enable target ACK override when SMBus/PMBus PEC is next byte. More...
 
__STATIC_INLINE void DL_I2C_disableACKOverrideOnPECDone (I2C_Regs *i2c)
 Disable target ACK override when SMBus/PMBus PEC is next byte. More...
 
__STATIC_INLINE bool DL_I2C_isACKOverrideOnPECDoneEnabled (const I2C_Regs *i2c)
 Checks if target ACK override when SMBus/PMBus PEC is next byte is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableACKOverrideOnPECDone (I2C_Regs *i2c)
 Enable target ACK override when SMBus/PMBus PEC is done. More...
 
__STATIC_INLINE uint32_t DL_I2C_getTargetPECCountValue (const I2C_Regs *i2c)
 Get the target SMBus/PMBus Packet Error Checking (PEC) count value. More...
 
__STATIC_INLINE void DL_I2C_setTargetPECCountValue (I2C_Regs *i2c, uint32_t count)
 Set the target SMBus/PMBus Packet Error Checking (PEC) count value. More...
 
__STATIC_INLINE void DL_I2C_disableTargetPEC (I2C_Regs *i2c)
 Disable target SMBus/PMBus Packet Error Checking (PEC) More...
 
__STATIC_INLINE bool DL_I2C_isTargetPECEnabled (const I2C_Regs *i2c)
 Checks if target SMBus/PMBus Packet Error Checking (PEC) is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableTargetPEC (I2C_Regs *i2c)
 Enable target SMBus/PMBus Packet Error Checking (PEC) More...
 
__STATIC_INLINE uint32_t DL_I2C_getTargetCurrentPECCount (const I2C_Regs *i2c)
 Get the current SMBus/PMBus PEC byte count of the Target state machine. More...
 
__STATIC_INLINE DL_I2C_TARGET_PEC_STATUS DL_I2C_getTargetPECCheckedStatus (const I2C_Regs *i2c)
 Get status if SMBus/PMBus target PEC was checked in last transaction. More...
 
__STATIC_INLINE DL_I2C_TARGET_PEC_CHECK_ERROR DL_I2C_getTargetPECCheckError (const I2C_Regs *i2c)
 Get status if SMBus/PMBus target PEC had an error. More...
 
__STATIC_INLINE DL_I2C_TX_FIFO_LEVEL DL_I2C_getTargetTXFIFOThreshold (const I2C_Regs *i2c)
 Get target TX FIFO threshold level. More...
 
__STATIC_INLINE void DL_I2C_setTargetTXFIFOThreshold (I2C_Regs *i2c, DL_I2C_TX_FIFO_LEVEL level)
 Set target TX FIFO threshold level. More...
 
__STATIC_INLINE void DL_I2C_stopFlushTargetTXFIFO (I2C_Regs *i2c)
 Stop target TX FIFO flush. More...
 
__STATIC_INLINE void DL_I2C_startFlushTargetTXFIFO (I2C_Regs *i2c)
 Start target TX FIFO flush. More...
 
__STATIC_INLINE void DL_I2C_stopFlushTargetRXFIFO (I2C_Regs *i2c)
 Stop target RX FIFO flush. More...
 
__STATIC_INLINE void DL_I2C_startFlushTargetRXFIFO (I2C_Regs *i2c)
 Start target RX FIFO flush. More...
 
__STATIC_INLINE DL_I2C_RX_FIFO_LEVEL DL_I2C_getTargetRXFIFOThreshold (const I2C_Regs *i2c)
 Get target RX FIFO threshold level. More...
 
__STATIC_INLINE void DL_I2C_setTargetRXFIFOThreshold (I2C_Regs *i2c, DL_I2C_RX_FIFO_LEVEL level)
 Set target RX FIFO threshold level. More...
 
__STATIC_INLINE uint32_t DL_I2C_getTargetRXFIFOCounter (const I2C_Regs *i2c)
 Get number of bytes which can be read from RX FIFO. More...
 
__STATIC_INLINE uint32_t DL_I2C_getTargetTXFIFOCounter (const I2C_Regs *i2c)
 Get number of bytes which can be put into TX FIFO. More...
 
__STATIC_INLINE bool DL_I2C_isTargetRXFIFOFlushActive (const I2C_Regs *i2c)
 Checks if target RX FIFO flush is active. More...
 
__STATIC_INLINE bool DL_I2C_isTargetTXFIFOFlushActive (const I2C_Regs *i2c)
 Checks if target TX FIFO flush is active. More...
 
__STATIC_INLINE void DL_I2C_enableInterrupt (I2C_Regs *i2c, uint32_t interruptMask)
 Enable I2C interrupts. More...
 
__STATIC_INLINE void DL_I2C_disableInterrupt (I2C_Regs *i2c, uint32_t interruptMask)
 Disable I2C interrupts. More...
 
__STATIC_INLINE uint32_t DL_I2C_getEnabledInterrupts (const I2C_Regs *i2c, uint32_t interruptMask)
 Check which I2C interrupts are enabled. More...
 
__STATIC_INLINE uint32_t DL_I2C_getEnabledInterruptStatus (const I2C_Regs *i2c, uint32_t interruptMask)
 Check interrupt flag of enabled I2C interrupts. More...
 
__STATIC_INLINE uint32_t DL_I2C_getRawInterruptStatus (const I2C_Regs *i2c, uint32_t interruptMask)
 Check interrupt flag of any I2C interrupt. More...
 
__STATIC_INLINE DL_I2C_IIDX DL_I2C_getPendingInterrupt (const I2C_Regs *i2c)
 Get highest priority pending I2C interrupt. More...
 
__STATIC_INLINE void DL_I2C_clearInterruptStatus (I2C_Regs *i2c, uint32_t interruptMask)
 Clear pending I2C interrupts. More...
 
__STATIC_INLINE void DL_I2C_enableDMAEvent (I2C_Regs *i2c, DL_I2C_EVENT_ROUTE index, uint32_t interrupt)
 Enables I2C interrupt for triggering DMA events. More...
 
__STATIC_INLINE void DL_I2C_disableDMAEvent (I2C_Regs *i2c, DL_I2C_EVENT_ROUTE index, uint32_t interrupt)
 Disables I2C interrupt from triggering DMA events. More...
 
__STATIC_INLINE uint32_t DL_I2C_getEnabledDMAEvents (I2C_Regs *i2c, DL_I2C_EVENT_ROUTE index, uint32_t interruptMask)
 Check which I2C interrupt for DMA receive events is enabled. More...
 
__STATIC_INLINE uint32_t DL_I2C_getEnabledDMAEventStatus (const I2C_Regs *i2c, DL_I2C_EVENT_ROUTE index, uint32_t interruptMask)
 Check interrupt flag of enabled I2C interrupt for DMA event. More...
 
__STATIC_INLINE uint32_t DL_I2C_getRawDMAEventStatus (const I2C_Regs *i2c, DL_I2C_EVENT_ROUTE index, uint32_t interruptMask)
 Check interrupt flag of any I2C interrupt for DMA event. More...
 
__STATIC_INLINE DL_I2C_DMA_IIDX DL_I2C_getPendingDMAEvent (const I2C_Regs *i2c, DL_I2C_EVENT_ROUTE index)
 Get highest priority pending I2C interrupt for DMA event. More...
 
__STATIC_INLINE void DL_I2C_clearDMAEvent (I2C_Regs *i2c, DL_I2C_EVENT_ROUTE index, uint32_t interrupt)
 Clear pending SPI interrupts for DMA events. More...
 
__STATIC_INLINE void DL_I2C_disableGlitchFilterChaining (I2C_Regs *i2c)
 Disable analog and digital glitch filter chaining. More...
 
__STATIC_INLINE bool DL_I2C_isGlitchFilterChainingEnabled (const I2C_Regs *i2c)
 Checks if analog and digital glitch filter chaining is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableGlitchFilterChaining (I2C_Regs *i2c)
 Enable analog and digitial glitch filter chaining. More...
 
__STATIC_INLINE uint32_t DL_I2C_getTimeoutACount (const I2C_Regs *i2c)
 Get the Timeout Counter A value. More...
 
__STATIC_INLINE void DL_I2C_setTimeoutACount (I2C_Regs *i2c, uint32_t count)
 Set the Timeout Counter A value. More...
 
__STATIC_INLINE void DL_I2C_disableTimeoutA (I2C_Regs *i2c)
 Disable Timeout Counter A. More...
 
__STATIC_INLINE bool DL_I2C_isTimeoutAEnabled (const I2C_Regs *i2c)
 Checks if Timeout Counter A is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableTimeoutA (I2C_Regs *i2c)
 Enable Timeout Counter A. More...
 
__STATIC_INLINE uint32_t DL_I2C_getCurrentTimeoutACounter (const I2C_Regs *i2c)
 Get the current Timer Counter A value. More...
 
__STATIC_INLINE uint32_t DL_I2C_getTimeoutBCount (const I2C_Regs *i2c)
 Get the Timeout Counter B value. More...
 
__STATIC_INLINE void DL_I2C_setTimeoutBCount (I2C_Regs *i2c, uint32_t count)
 Set the Timeout Counter B value. More...
 
__STATIC_INLINE void DL_I2C_disableTimeoutB (I2C_Regs *i2c)
 Disable Timeout Counter B. More...
 
__STATIC_INLINE bool DL_I2C_isTimeoutBEnabled (const I2C_Regs *i2c)
 Checks if Timeout Counter B is enabled. More...
 
__STATIC_INLINE void DL_I2C_enableTimeoutB (I2C_Regs *i2c)
 Enable Timeout Counter B. More...
 
__STATIC_INLINE uint32_t DL_I2C_getCurrentTimeoutBCounter (const I2C_Regs *i2c)
 Get the current Timer Counter B value. More...
 
© Copyright 1995-2025, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale