SWRU626 December 2025 CC3501E , CC3551E
Table 19-5 lists the memory-mapped registers for the I2C registers. All register offset addresses not listed in Table 19-5 should be considered as reserved locations and the register contents should not be modified.
| Offset | Acronym | Register Name | Section |
|---|---|---|---|
| 100h | GFCTL | Glitch Filter Control | Section 19.6.1 |
| 104h | CSA | I2C Controller Target Address Register | Section 19.6.2 |
| 108h | CCTR | Host Control | Section 19.6.3 |
| 10Ch | CSR | Controller Status | Section 19.6.4 |
| 110h | CTPR | Timer Period | Section 19.6.5 |
| 114h | CCR | Controller Configuration | Section 19.6.6 |
| 118h | CBMON | Bus Signal Status | Section 19.6.7 |
| 11Ch | TOAR | Target Own Address | Section 19.6.8 |
| 120h | TOAR2 | I2C Target Own Address 2 | Section 19.6.9 |
| 124h | TCTR | I2C Target Control Register | Section 19.6.10 |
| 128h | TSR | I2C Target Status Register | Section 19.6.11 |
| 12Ch | RXDATA | Receive Data | Section 19.6.12 |
| 130h | TXDATA | Transmit Data | Section 19.6.13 |
| 134h | TACKCTL | Acknowledgment Control | Section 19.6.14 |
| 138h | FIFOCTL | FIFO Control | Section 19.6.15 |
| 13Ch | FIFOSR | FIFO Status | Section 19.6.16 |
| 140h | FCLKDIV | Clock Divider | Section 19.6.17 |
| 400h | PDBGCTL | Debug Control | Section 19.6.18 |
| 404h | EVENT0_IMASK | Interrupt Mask Register | Section 19.6.19 |
| 408h | EVENT0_RIS | Raw Interrupt Status | Section 19.6.20 |
| 40Ch | EVENT0_MIS | Masked Interrupt Status | Section 19.6.21 |
| 410h | EVENT0_IEN | Interrupt Enable | Section 19.6.22 |
| 414h | EVENT0_IDIS | Interrupt Disable | Section 19.6.23 |
| 418h | EVENT0_IMEN | Interrupt Mask Enable | Section 19.6.24 |
| 41Ch | EVENT0_IMDIS | Interrupt Disable | Section 19.6.25 |
| 420h | EVT_MODE | Event Mode Selection | Section 19.6.26 |
| 424h | DESC | Module Identification | Section 19.6.27 |
| 1000h | CLKCFG | Clock Configuration | Section 19.6.28 |
Complex bit access types are encoded to fit into small table cells. Table 19-6 shows the codes that are used for access types in this section.
| Access Type | Code | Description |
|---|---|---|
| Read Type | ||
| R | R | Read |
| Write Type | ||
| W | W | Write |
| Reset or Default Value | ||
| -n | Value after reset or the default value | |
GFCTL is shown in Table 19-7.
Return to the Summary Table.
This register controls the glitch filter on the SCL and SDA lines
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-4 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 3-0 | GFSEL | R/W | 0h | Glitch suppression pulse width
This field controls the pulse width select for glitch suppression on the SCL and SDA lines. The following values are the glitch suppression values in terms of functional clocks.
|
CSA is shown in Table 19-8.
Return to the Summary Table.
Controller target address register
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 15 | CMODE | R/W | 0h | This field selects the addressing mode(7-field/10-field) to be used in controller mode
|
| 14-11 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 10-1 | TADDR | R/W | 0h | *I2C* Target Address This field specifies bits A9 through A0 of the target address.
In 7-field addressing mode as selected by MODE field, the top 3 bits are don't care
|
| 0 | DIR | R/W | 0h | This field specifies if the next controller operation is a Receive or Transmit
|
CCTR is shown in Table 19-9.
Return to the Summary Table.
This control register configures the *I2C* controller operation. The START field generates the START or REPEATED START condition. The STOP field determines if the cycle stops at the end of the data cycle or continues to the next transfer cycle, which could be a repeated START. To generate a single transmit cycle, the *I2C* Controller Target Address CSA register is written with the desired address, the RS field is cleared, and this register is written with ACK = X (0 or 1), STOP = 1, START = 1, and RUN = 1 to perform the operation and stop. When the operation is completed (or aborted due an error), an byte transaction completed interrupt becomes active and the data may be read from the RXDATA register. When the I2C module operates in Controller receiver mode, a set ACK field causes the I2C bus controller to transmit an acknowledge automatically after each byte. This field must be cleared when the *I2C* bus controller requires no further data to be transmitted from the target transmitter.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-28 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 27-16 | MBLEN | R/W | 0h | Transaction length
This field contains the programmed length of bytes of the Transaction.
|
| 15-6 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 5 | RDONTXEMPTY | R/W | 0h | Read on TXFIFO empty
|
| 4 | CACKOEN | R/W | 0h | Controller ACK overrride enable
|
| 3 | ACK | R/W | 0h | Data Acknowledge Enable. Configure this field to send the ACK or NACK.
|
| 2 | STOP | R/W | 0h | Generate STOP
|
| 1 | START | R/W | 0h | Generate START
|
| 0 | BURSTRUN | R/W | 0h | Controller enable and start transaction
|
CSR is shown in Table 19-10.
Return to the Summary Table.
The status register indicates the state of the bus controller.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-28 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 27-16 | CBCNT | R | 0h | Controller Transaction Count
This field contains the current count-down value of the transaction.
|
| 15-7 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 6 | BUSBSY | R | 0h | Bus is busy
Controller state machine will wait until this field is cleared before starting a transaction. When first enabling the controller in multi controller environments, FW should wait for one I2C clock period after setting ACTIVE high before writing to the CCTR register to start the transaction so that if SCL goes low it will trigger the BUSBSY.
|
| 5 | IDLE | R | 1h | *I2C* Idle
|
| 4 | ARBLST | R | 0h | Arbitration lost
|
| 3 | DATACK | R | 0h | Acknowledge data
|
| 2 | ADRACK | R | 0h | Acknowledge address
|
| 1 | ERR | R | 0h | Error
The error can be from the target address not being acknowledged or the transmit data not being acknowledged.
|
| 0 | BUSY | R | 0h | Controller FSM busy
The field is set during an ongoing transaction, so is set during the transmit/receive of the amount of data set in MBLEN including START, RESTART, Address and STOP signal generation when required for the current transaction.
|
CTPR is shown in Table 19-11.
Return to the Summary Table.
This register is programmed to set the timer period for the SCL clock and assign the SCL clock to standard mode.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-7 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 6-0 | TPR | R/W | 1h | Timer Period
This field is used in the equation to configure SCL_PERIOD :
SCL_PERIOD = (1 + TPR ) x (SCL_LP + SCL_HP ) x INT_CLK_PRD
where:
SCL_PRD is the SCL line period (I2C clock).
TPR is the Timer Period register value (range of 1 to 127).
SCL_LP is the SCL Low period (fixed at 6).
SCL_HP is the SCL High period (fixed at 4).
INT_CLK_PRD is the functional clock period in ns.
Note: INT_CLK_PRD is based on divider value selected in [FCLK_DIV:FCLK:DIV]
|
CCR is shown in Table 19-12.
Return to the Summary Table.
Controller configuration register
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-9 | RESERVED | R | 0h | Reads to this field return zero.Writes to this field are ignored. |
| 8 | LPBK | R/W | 0h | I2C Loopback
|
| 7-3 | RESERVED | R | 0h | Reads to this field return zero.Writes to this field are ignored. |
| 2 | CLKSTRETCH | R/W | 0h | Clock Stretching. This field controls the support for clock stretching of the *I2C* bus.
|
| 1 | MCST | R/W | 0h | Multicontroller mode. In Multicontroller mode the SCL high time counts once the SCL line has been detected high. If this is not enabled the high time counts as soon as the SCL line has been set high by the *I2C* controller.
|
| 0 | ACTIVE | R/W | 0h | Device Active After this field has been set, it should not be set again unless it has been cleared by writing a 0 or by a reset, otherwise transfer failures may occur.
|
CBMON is shown in Table 19-13.
Return to the Summary Table.
This register is used to determine the SCL and SDA signal status.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-2 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 1 | SDA | R | 1h | SDA status
|
| 0 | SCL | R | 1h | SCL status
|
TOAR is shown in Table 19-14.
Return to the Summary Table.
This register consists of seven address bits that identify the I2C device on the I2C bus.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 15 | MODE | R/W | 0h | This field selects the addressing mode(7-field/10-field) to be used in target mode.
|
| 14 | OAREN | R/W | 1h | Target own address enable
|
| 13-10 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 9-0 | OAR | R/W | 0h | Target own address: This field specifies bits A9 through A0 of the target address.
In 7-field addressing mode as selected by MODE field, the top 3 bits are don't care
|
TOAR2 is shown in Table 19-15.
Return to the Summary Table.
This register consists of seven address bits that identify the alternate address for the *I2C* device on the *I2C* bus.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-23 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 22-16 | OAR2_MASK | R/W | 0h | Target own address 2 mask: This field specifies bits A6 through A0 of the target address.
The bits with value '1' in this field will make the corresponding incoming address bits to match by default regardless of the value inside this field i.e. corresponding bits of this field are don't care.
|
| 15-8 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 7 | OAR2EN | R/W | 0h | Target own address 2 enable
|
| 6-0 | OAR2 | R/W | 0h | Target own address 2
This field specifies the alternate target own address.
|
TCTR is shown in Table 19-16.
Return to the Summary Table.
Target control register
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-10 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 9 | ENDEFDEVADR | R/W | 0h | Enable default device address
|
| 8 | ENALRESPADR | R/W | 0h | Enable alert response address |
| 7 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 6 | RXFULLONRREQ | R/W | 0h | Rx full interrupt generated based on RREQ filed.
|
| 5 | TXWAITSTALETXFIFO | R/W | 0h | Tx transfer waits when stale data in Tx FIFO.
This prevents stale bytes left in the TX FIFO from automatically being sent on the next I2C packet. Note: this should be used with [TCTR:TXEMPTY_ON_TREQ] set to prevent the Target State Machine from waiting for TX FIFO data without an interrupt notification when the FIFO data is stale.
|
| 4 | TXTRIGXMODE | R/W | 0h | Tx trigger when target FSM is in TX mode
|
| 3 | TXEMPTYONTREQ | R/W | 0h | Tx Empty Interrupt on TREQ
|
| 2 | CLKSTRETCH | R/W | 1h | Target clock stretch enable
|
| 1 | GENCALL | R/W | 0h | General call response enable.
|
| 0 | ACTIVE | R/W | 0h | Device active. Setting this field enables the target functionality.
|
TSR is shown in Table 19-17.
Return to the Summary Table.
Target status register
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-19 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 18-9 | ADDRMATCH | R | 0h | Indicates the address for which target address match happened
|
| 8 | STALETXFIFO | R | 0h | Stale TX FIFO
|
| 7 | TXMODE | R | 0h | Target FSM is in TX MODE
|
| 6 | BUSBSY | R | 0h | Bus is busy
|
| 5 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 4 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 3 | OAR2SEL | R | 0h | OAR2 address matched
This field gets re-evaluated after every address comparison.
|
| 2 | RXMODE | R | 0h | Target FSM is in RX MODE
|
| 1 | TREQ | R | 0h | Transmit Request
|
| 0 | RREQ | R | 0h | Receive Request
|
RXDATA is shown in Table 19-18.
Return to the Summary Table.
RX FIFO read data byte This field contains the current byte being read in the RX FIFO stack. If the FIFO is disabled, the data byte and status are stored in the receiving holding register (the bottom word of the receive FIFO). The received data can be retrieved by reading this register.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-8 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 7-0 | VALUE | R | 0h | Received Data.
This field contains the last received data.
|
TXDATA is shown in Table 19-19.
Return to the Summary Table.
Transmit data register. This register is the transmit data register (the interface to the FIFOs). For transmitted data, if the FIFO is enabled, data written to this location is pushed onto the transmit FIFO. If the FIFO is disabled, data is stored in the transmitter holding register (the bottom word of the transmit FIFO).
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-8 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 7-0 | VALUE | R/W | 0h | Transmit data
This byte contains the data to be transferred during the next transaction.
|
TACKCTL is shown in Table 19-20.
Return to the Summary Table.
This register enables the target to not acknowledge (NACK) for invalid data or command or acknowledge (ACK) for valid data or command. The *I2C* clock is pulled low after the last data field until this register is written.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-3 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 2 | ACKOENONSTART | R/W | 0h | When set this field will automatically turn on the target ACKOEN field following a start condition.
|
| 1 | ACKOVAL | R/W | 0h | Target ACK override Value
Note: For general call this field will be ignored if set to NACK and target continues to receive data.
|
| 0 | ACKOEN | R/W | 0h | Target ACK override enable
|
FIFOCTL is shown in Table 19-21.
Return to the Summary Table.
Target FIFO control
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Reads to this field return zero.Writes to this field are ignored. |
| 15 | RXFLUSH | R/W | 0h | RX FIFO flush
Setting this field will flush the RX FIFO.
Before resetting this field to stop flush the RXFIFOCNT should be checked to be 0 and indicating that the flush has completed.
|
| 14-11 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 10-8 | RXTRIG | R/W | 0h | RX FIFO trigger
Indicates at what fill level in the RX FIFO a trigger will be generated.
Note: Programming this field to 0x0 has no effect since no data is
present to transfer out of RX FIFO.
|
| 7 | TXFLUSH | R/W | 0h | TX FIFO flush
Setting this field will flush the TX FIFO.
Before resetting this field to stop flush the TXFIFOCNT should be checked to be 8 and indicating that the flush has completed.
|
| 6-3 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 2-0 | TXTRIG | R/W | 0h | TX FIFO trigger
Indicates at what fill level in the TX FIFO a trigger will be generated.
|
FIFOSR is shown in Table 19-22.
Return to the Summary Table.
FIFO status register Note: This register should only be read when BUSY is 0
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 15 | TXFLUSH | R | 0h | TX FIFO flush
When this field is set a flush operation for the TX FIFO is active. Clear TXFLUSH to stop.
|
| 14-12 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 11-8 | TXFIFOCNT | R | 8h | Number of bytes which could be put into the TX FIFO
|
| 7 | RXFLUSH | R | 0h | RX FIFO flush
When this field is set a flush operation for the RX FIFO is active. Clear the RXFLUSH field to stop.
|
| 6-4 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 3-0 | RXFIFOCNT | R | 0h | Number of bytes which could be read from the RX FIFO
|
FCLKDIV is shown in Table 19-23.
Return to the Summary Table.
Register for the selection of divider value to generate functional clock from SVT clock
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-4 | RESERVED | R | 0h | |
| 3-0 | FCLKDIV | R/W | 0h | Divider value selection
|
PDBGCTL is shown in Table 19-24.
Return to the Summary Table.
This register can be used by the software developer to control the behavior of the peripheral relative to the 'Core Halted' input
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-2 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 1 | SOFT | R/W | 1h | Soft halt boundary control. This function is only available, if FREE is set to 'STOP'
|
| 0 | FREE | R/W | 1h | Free run control
|
EVENT0_IMASK is shown in Table 19-25.
Return to the Summary Table.
Interrupt Mask. If a field is set, then corresponding interrupt is masked. Un-masking the interrupt causes the raw interrupt to be visible in [RIS], as well as [MIS].
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-28 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 27 | TARBLOST | R/W | 0h | Target arbitration lost
|
| 26 | RX_OVFL_T | R/W | 0h | RX FIFO overflow in target mode
|
| 25 | TX_UNFL_T | R/W | 0h | TX FIFO underflow in target mode
|
| 24 | TGENCALL | R/W | 0h | General call interrupt
|
| 23 | TSTOP | R/W | 0h | Stop condition interrupt
|
| 22 | TSTART | R/W | 0h | Target start condition interrupt. Asserted when the received address matches the target address
|
| 21 | TXEMPTYT | R/W | 0h | TX FIFO empty interrupt mask in target mode. This interrupt is set if all data in the Transmit FIFO in target mode have been shifted out and the transmit goes into idle mode.
|
| 20 | RXFIFOFULLT | R/W | 0h | RX FIFO full event. This interrupt is set if an target RX FIFO is full in target mode.
|
| 19 | TXFIFOTRGT | R/W | 0h | TX FIFO trigger in target mode
|
| 18 | RXFIFOTRGMT | R/W | 0h | RX FIFO trigger in target mode
|
| 17 | TTXDONE | R/W | 0h | Target transmit transaction completed interrupt
|
| 16 | TRXDONE | R/W | 0h | Target receive data interrupt. Signals that a byte has been received
|
| 15-10 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 9 | CARBLOST | R/W | 0h | Arbitration lost interrupt
|
| 8 | CSTOP | R/W | 0h | STOP detection interrupt
|
| 7 | CSTART | R/W | 0h | START detection interrupt
|
| 6 | CNACK | R/W | 0h | Address/Data NACK interrupt
|
| 5 | TXEMPTYC | R/W | 0h | TXFIFO empty interrupt in controller mode. This interrupt is set if all data in the TX FIFO in controller mode have been shifted out and the transmit goes into idle mode.
|
| 4 | RXFIFOFULLC | R/W | 0h | RXFIFO full event in controller mode. This interrupt is set if an RX FIFO is full in controller mode.
|
| 3 | TXFIFOTRGC | R/W | 0h | Transmit FIFO trigger in controller mode
Trigger when TX FIFO contains <= defined bytes
|
| 2 | RXFIFOTRGC | R/W | 0h | Receive FIFO trigger in controller code
Trigger when RX FIFO contains >= defined bytes
|
| 1 | CTXDONE | R/W | 0h | Controller transmit transaction completed Interrupt
|
| 0 | CRXDONE | R/W | 0h | Controller receive transaction completed Interrupt
|
EVENT0_RIS is shown in Table 19-26.
Return to the Summary Table.
Raw interrupt status. Reflects all pending interrupts, regardless of masking. The RIS register allows the user to implement a poll scheme. A flag set in this register can be cleared by writing 1 to the [ICLR] register field even if the corresponding [IMASK] field is not enabled.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-28 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 27 | TARBLOST | R | 0 h | Target arbitration lost
|
| 26 | RX_OVFL_T | R | 0h | RX FIFO overflow in target mode
|
| 25 | TX_UNFL_T | R | 0h | TX FIFO underflow in target mode
|
| 24 | TGENCALL | R | 0h | General call interrupt
|
| 23 | TSTOP | R | 0h | Stop condition interrupt
|
| 22 | TSTART | R | 0h | Target start condition interrupt.When the received address matches the target address, this interrupt asserted.
|
| 21 | TXEMPTYT | R | 0h | TX FIFO empty interrupt mask in target mode. This interrupt is set if all data in the TX FIFO in target mode have been shifted out and the transmit goes into idle mode.
|
| 20 | RXFIFOFULLT | R | 0h | RX FIFO full event in target mode. This interrupt is set if an RX FIFO is full in target mode.
|
| 19 | TXFIFOTRGT | R | 0h | TX FIFO trigger in target mode
|
| 18 | RXFIFOTRGT | R | 0h | RX FIFO trigger in target mode
|
| 17 | TTXDONE | R | 0h | Target transmit transaction completed interrupt
|
| 16 | TRXDONE | R | 0h | Target receive data interrupt. Signals that a byte has been received
|
| 15-10 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 9 | CARBLOST | R | 0h | Arbitration lost interrupt
|
| 8 | CSTOP | R | 0h | STOP detection interrupt
|
| 7 | CSTART | R | 0h | START detection interrupt
|
| 6 | CNACK | R | 0h | Address/Data NACK interrupt
|
| 5 | TXEMPTYC | R | 0h | TX FIFO empty interrupt mask in controller mode. This interrupt is set if all data in the TX FIFO in controller mode have been shifted out and the transmit goes into idle mode.
|
| 4 | RXFIFOFULLC | R | 0h | RX FIFO full event in controller mode. This interrupt is set if an RX FIFO is full in controller mode.
|
| 3 | TXFIFOTRGC | R | 0h | TX FIFO Trigger in Transmit Mode
Trigger when TX FIFO contains <= defined bytes
|
| 2 | RXFIFOTRGC | R | 0h | RX FIFO trigger in controller mode
Trigger when RX FIFO contains >= defined bytes
|
| 1 | CTXDONE | R | 0h | Controller transmit transaction completed interrupt
|
| 0 | CRXDONE | R | 0h | Controller receive transaction completed interrupt
|
EVENT0_MIS is shown in Table 19-27.
Return to the Summary Table.
Masked interrupt status. This is an AND of the [IMASK] and [RIS] registers.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-28 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 27 | TARBLOST | R | 0h | Target arbitration lost
|
| 26 | TRX_OVFL | R | 0h | RX FIFO overflow in target mode
|
| 25 | TTX_UNFL | R | 0h | TX FIFO underflow in target mode
|
| 24 | TGENCALL | R | 0h | General call interrupt
|
| 23 | TSTOP | R | 0h | Target STOP detection interrupt
|
| 22 | TSTART | R | 0h | Target start condition interrupt. Asserted when the received address matches the target address
|
| 21 | TXEMPTYT | R | 0h | TX FIFO empty interrupt mask in target mode. This interrupt is set if all data in the TX FIFO in target mode have been shifted out and the transmit goes into idle mode.
|
| 20 | RXFIFOFULLT | R | 0h | RXFIFO full event in Target mode. This interrupt is set if an RX FIFO is full in target mode.
|
| 19 | TXFIFOTRGT | R | 0h | TX FIFO trigger in target mode
|
| 18 | RXFIFOTRGT | R | 0h | Target RX FIFO trigger
|
| 17 | TTXDONE | R | 0h | Target transmit transaction completed interrupt
|
| 16 | TRXDONE | R | 0h | Target receive data interrupt. Signals that a byte has been received
|
| 15-10 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 9 | CARBLOST | R | 0h | Arbitration lost interrupt
|
| 8 | CSTOP | R | 0h | STOP detection interrupt
|
| 7 | CSTART | R | 0h | START detection interrupt
|
| 6 | CNACK | R | 0h | Address/Data NACK interrupt
|
| 5 | TXEMPTYC | R | 0h | TX FIFO Empty interrupt mask in controller mode. This interrupt is set if all data in the TX FIFO in controller mode have been shifted out and the transmit goes into idle mode.
|
| 4 | RXFIFOFULLC | R | 0h | RX FIFO full event. This interrupt is set if the RX FIFO is full in controller mode.
|
| 3 | TXFIFOTRGC | R | 0h | TX FIFO trigger in controller mode
Trigger when TX FIFO contains <= defined bytes
|
| 2 | RXFIFOTRGC | R | 0h | RX FIFO trigger in controller mode
Trigger when RX FIFO contains >= defined bytes
|
| 1 | CTXDONE | R | 0h | Controller transmit transaction completed interrupt
|
| 0 | CRXDONE | R | 0h | Controller receive data interrupt
|
EVENT0_IEN is shown in Table 19-28.
Return to the Summary Table.
Interrupt set. Allows interrupts to be set by software (useful in diagnostics and safety checks). Writing a 1 to a field in IEN will set the event and therefore the related RIS field also gets set. If the interrupt is enabled through the mask, then the corresponding MIS field is also set.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-28 | RESERVED | W | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 27 | TARBLOST | W | 0h | Target arbitration lost
|
| 26 | RX_OVFL_T | W | 0h | RX FIFO overflow in target mode
|
| 25 | TX_UNFL_T | W | 0h | TX FIFO underflow in target mode
|
| 24 | TGENCALL | W | 0h | General call interrupt
|
| 23 | TSTOP | W | 0h | Stop condition interrupt
|
| 22 | TSTART | W | 0h | Target start condition interrupt. Asserted when the received address matches the target address
|
| 21 | TXEMPTYT | W | 0h | TX FIFO empty interrupt mask in target mode. This interrupt is set if all data in the TX FIFO in target mode have been shifted out and the transmit goes into idle mode.
|
| 20 | RXFIFOFULLT | W | 0h | RXFIFO full event in Target mode. This interrupt is set if an RX FIFO is full in Target mode.
|
| 19 | TXFIFOTRGT | W | 0h | TX FIFO trigger in target mode
|
| 18 | RXFIFOTRGT | W | 0h | RX FIFO trigger in target mode
|
| 17 | TTXDONE | W | 0h | Target transmit transaction completed Interrupt
|
| 16 | TRXDONE | W | 0h | Target receive data interrupt. Signals that a byte has been received
|
| 15-10 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 9 | CARBLOST | W | 0h | Arbitration lost interrupt
|
| 8 | CSTOP | W | 0h | STOP detection interrupt
|
| 7 | CSTART | W | 0h | START detection interrupt
|
| 6 | CNACK | W | 0h | Address/Data NACK interrupt
|
| 5 | TXEMPTYC | W | 0h | TX FIFO empty interrupt mask in controller mode. This interrupt is set if all data in the TX FIFO in controller mode have been shifted out and the transmit goes into idle mode.
|
| 4 | RXFIFOFULLC | W | 0h | RXFIFO full event in controller mode.
|
| 3 | TXFIFOTRGC | W | 0h | TX FIFO trigger in controller mode
Trigger when TX FIFO contains <= defined bytes
|
| 2 | RXFIFOTRGC | W | 0h | RX FIFO trigger in controller mode
Trigger when RX FIFO contains >= defined bytes
|
| 1 | CTXDONE | W | 0h | Controller transmit transaction completed interrupt
|
| 0 | CRXDONE | W | 0h | Controller receive data interrupt
Signals that a byte has been received
|
EVENT0_IDIS is shown in Table 19-29.
Return to the Summary Table.
Interrupt clear. Write a 1 to clear corresponding Interrupt.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-28 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 27 | TARBLOST | W | 0h | Target arbitration lost
|
| 26 | RX_OVFL_T | W | 0h | RX FIFO overflow in target mode
|
| 25 | TX_UNFL_T | W | 0h | TX FIFO underflow in target mode
|
| 24 | TGENCALL | W | 0h | General call interrupt
|
| 23 | TSTOP | W | 0h | Target STOP detection interrupt
|
| 22 | TSTART | W | 0h | Target start condition interrupt. Asserted when the received address matches the target address
|
| 21 | TXEMPTYT | W | 0h | TX FIFO empty interrupt mask in target mode. This interrupt is set if all data in the TX FIFO in target mode have been shifted out and the transmit goes into idle mode.
|
| 20 | RXFIFOFULLT | W | 0h | RXFIFO full event in target mode. This interrupt is set if an RX FIFO is full in target mode.
|
| 19 | TXFIFOTRGT | W | 0h | TX FIFO trigger in target mode
|
| 18 | RXFIFOTRGT | W | 0h | RX FIFO trigger in target mode
|
| 17 | TTXDONE | W | 0h | Target transmit transaction completed interrupt
|
| 16 | TRXDONE | W | 0h | Target receive data interrupt
Signals that a byte has been received
|
| 15-10 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 9 | CARBLOST | W | 0h | Arbitration lost interrupt
|
| 8 | CSTOP | W | 0h | STOP detection interrupt
|
| 7 | CSTART | W | 0h | START detection interrupt
|
| 6 | CNACK | W | 0h | Address/Data NACK interrupt
|
| 5 | TXEMPTYC | W | 0h | TX FIFO empty interrupt mask. This interrupt is set if all data in the TX FIFO have been shifted out and the transmit goes into idle mode.
|
| 4 | RXFIFOFULLC | W | 0h | RXFIFO full event in controller mode.
|
| 3 | TXFIFOTRGC | W | 0h | TX FIFO trigger in controller mode
Trigger when TX FIFO contains <= defined bytes
|
| 2 | RXFIFOTRGC | W | 0h | RX FIFO trigger in controller mode
Trigger when RX FIFO contains >= defined bytes
|
| 1 | CTXDONE | W | 0h | Controller transmit transaction completed interrupt
|
| 0 | CRXDONE | W | 0h | Controller receive data interrupt. Signals that a byte has been received
|
EVENT0_IMEN is shown in Table 19-30.
Return to the Summary Table.
Interrupt mask set. Writing a 1 to a field in IMEN will set the related IMASK field.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-28 | RESERVED | W | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 27 | TARBLOST | W | 0h | Target srbitration lost
|
| 26 | RX_OVFL_T | W | 0h | RX FIFO overflow in target mode
|
| 25 | TX_UNFL_T | W | 0h | TX FIFO underflow in target mode
|
| 24 | TGENCALL | W | 0h | General call interrupt
|
| 23 | TSTOP | W | 0h | Stop condition interrupt
|
| 22 | TSTART | W | 0h | Target start condition interrupt. Asserted when the received address matches the target address
|
| 21 | TXEMPTYT | W | 0h | TX FIFO Empty interrupt mask in target mode. This interrupt is set if all data in the TX FIFO in target mode have been shifted out and the transmit goes into idle mode.
|
| 20 | RXFIFOFULLT | W | 0h | RXFIFO full event in target mode. This interrupt is set if an RX FIFO is full in target mode.
|
| 19 | TXFIFOTRGST | W | 0h | TX FIFO trigger in target mode
|
| 18 | RXFIFOTRGT | W | 0h | RX FIFO trigger in target mode
|
| 17 | TTXDONE | W | 0h | Target transmit transaction completed interrupt
|
| 16 | SRXDONE | W | 0h | Target receive data interrupt. Signals that a byte has been received
|
| 15-10 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 9 | CARBLOST | W | 0h | Arbitration lost interrupt
|
| 8 | CSTOP | W | 0h | STOP detection interrupt
|
| 7 | CSTART | W | 0h | START detection interrupt
|
| 6 | CNACK | W | 0h | Address/Data NACK interrupt
|
| 5 | TXEMPTYC | W | 0h | TX FIFO empty interrupt mask in controller mode. This interrupt is set if all data in the TX FIFO in controller mode have been shifted out and the transmit goes into idle mode.
|
| 4 | RXFIFOFULLC | W | 0h | RXFIFO full event in controller mode.
|
| 3 | TXFIFOTRGC | W | 0h | TX FIFO trigger in Controller mode
Trigger when TX FIFO contains <= defined bytes
|
| 2 | RXFIFOTRGC | W | 0h | RX FIFO trigger in controller mode
Trigger when RX FIFO contains >= defined bytes
|
| 1 | CTXDONE | W | 0h | Controller transmit transaction completed interrupt
|
| 0 | CRXDONE | W | 0h | Controller receive data interrupt. Signals that a byte has been received
|
EVENT0_IMDIS is shown in Table 19-31.
Return to the Summary Table.
Interrupt clear. Write a 1 to clear corresponding Interrupt.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-28 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 27 | TARBLOST | W | 0h | Target arbitration lost
|
| 26 | RX_OVFL_T | W | 0h | RX FIFO overflow in target mode
|
| 25 | TX_UNFL_T | W | 0h | TX FIFO underflow in target mode
|
| 24 | TGENCALL | W | 0h | General call interrupt
|
| 23 | TSTOP | W | 0h | Target STOP detection interrupt
|
| 22 | TSTART | W | 0h | Target start condition interrupt. Asserted when the received address matches the target address.
|
| 21 | TXEMPTYT | W | 0h | TX FIFO empty interrupt mask in target mode. This interrupt is set if all data in the TX FIFO in target mode have been shifted out and the transmit goes into idle mode.
|
| 20 | RXFIFOFULLT | W | 0h | RXFIFO full event in target mode. This interrupt is set if an RX FIFO is full in target mode.
|
| 19 | TXFIFOTRGT | W | 0h | TX FIFO trigger in target mode
|
| 18 | RXFIFOTRGT | W | 0h | RX FIFO trigger in target mode
|
| 17 | TTXDONE | W | 0h | Target transmit transaction completed interrupt
|
| 16 | TRXDONE | W | 0h | Target receive data interrupt. Signals that a byte has been received
|
| 15-10 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 9 | CARBLOST | W | 0h | Arbitration lost interrupt
|
| 8 | CSTOP | W | 0h | STOP detection interrupt
|
| 7 | CSTART | W | 0h | START detection interrupt
|
| 6 | CNACK | W | 0h | Address/Data NACK interrupt
|
| 5 | TXEMPTYC | W | 0h | TX FIFO empty interrupt mask. This interrupt is set if all data in the TX FIFO have been shifted out and the transmit goes into idle mode.
|
| 4 | RXFIFOFULLC | W | 0h | RX FIFO full event in controller mode.
|
| 3 | TXFIFOTRGC | W | 0h | TX FIFO trigger in controller mode
Trigger when TX FIFO contains <= defined bytes
|
| 2 | RXFIFOTRGC | W | 0h | RX FIFO trigger in controller mode
Trigger when RX FIFO contains >= defined bytes
|
| 1 | CTXDONE | W | 0h | Controller transmit transaction completed interrupt
|
| 0 | CRXDONE | W | 0h | Controller receive data interrupt. Signals that a byte has been received
|
EVT_MODE is shown in Table 19-32.
Return to the Summary Table.
Event mode register. It is used to select whether each line is disabled, in software mode (software clears the [RIS]) or in hardware mode (hardware clears the [RIS])
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-2 | RESERVED | R | 0h | |
| 1-0 | INT0_CFG | R | 1h | Event line mode select for event corresponding to [INT_EVENT0]
|
DESC is shown in Table 19-33.
Return to the Summary Table.
This register identifies the peripheral and its exact version.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | MODULEID | R | 1511h | Module identification contains a unique peripheral identification number. The assignments are maintained in a central database for all of the platform modules to ensure uniqueness.
|
| 15-12 | FEATUREVER | R | 0h | Feature Set for the module *instance*
|
| 11-8 | INSTNUM | R | 0h | Instance Number within the device. This will be a parameter to the RTL for modules that can have multiple instances
|
| 7-4 | MAJREV | R | 1h | Major rev of the IP
|
| 3-0 | MINREV | R | 0h | Minor rev of the IP
|
CLKCFG is shown in Table 19-34.
Return to the Summary Table.
This register controls the bus clock to *I2C*
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-1 | RESERVED | R | 0h | Reads to this field return zero.Writes to this field are ignored. |
| 0 | ENABLE | R/W | 0h | This field enables or disables the bus clock to *I2C*
|