MSPM0L111X Driver Library  2.06.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.
 
#define I2C_getTargetOwnAddressAlternateMask   DL_I2C_getTargetOwnAddressAlternateMask
 Backwards compatible redirect for DL_I2C_getTargetOwnAddressAlternateMask.
 

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, blocking until transmit request is received. Will wait indefintely until bus is not busy. Note that if data is already present in the TX FIFO when this API is called, it will block until all data is sent. 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 DL_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