SWCU195A December 2024 – May 2025 CC2744R7-Q1 , CC2745P10-Q1 , CC2745R10-Q1 , CC2745R7-Q1 , CC2755P10 , CC2755R10
Table 25-1 lists the memory-mapped registers for the I2C registers. All register offset addresses not listed in Table 25-1 should be considered as reserved locations and the register contents should not be modified.
| Offset | Acronym | Register Name | Section |
|---|---|---|---|
| 0h | TOAR | Target Own Address | Section 25.5.1 |
| 4h | TSTA | Target Control and Status | Section 25.5.2 |
| 4h | TCTL | Target control | Section 25.5.3 |
| 8h | TDR | Target Data | Section 25.5.4 |
| Ch | TIMR | Target Interrupt Mask | Section 25.5.5 |
| 10h | TRIS | Target Raw Interrupt Status | Section 25.5.6 |
| 14h | TMIS | Target Masked Interrupt Status | Section 25.5.7 |
| 18h | TICR | Target Interrupt Clear | Section 25.5.8 |
| 800h | CTA | Controller Target Address | Section 25.5.9 |
| 804h | CSTA | Controller Control and Status | Section 25.5.10 |
| 804h | CCTL | Controller control | Section 25.5.11 |
| 808h | CDR | Controller Data | Section 25.5.12 |
| 80Ch | CTPR | Controller Timer Period | Section 25.5.13 |
| 810h | CIMR | Controller Interrupt Mask | Section 25.5.14 |
| 814h | CRIS | Controller Raw Interrupt Status | Section 25.5.15 |
| 818h | CMIS | Controller Masked Interrupt Status | Section 25.5.16 |
| 81Ch | CICR | Controller Interrupt Clear | Section 25.5.17 |
| 820h | CCR | Controller Configuration | Section 25.5.18 |
Complex bit access types are encoded to fit into small table cells. Table 25-2 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 | |
TOAR is shown in Table 25-3.
Return to the Summary Table.
Target Own Address
This register consists of seven address bits that identify this I2C device on the I2C bus.
| 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 | OAR | R/W | 0h | Target own address. This field specifies bits a6 through a0 of the target address. |
TSTA is shown in Table 25-4.
Return to the Summary Table.
Target status
This register functions as a status register of the target.
| 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 | FBR | R | 0h | First byte received. This bit is only applicable when the TSTA.RREQ bit is set and is automatically cleared when data has been read from the TDR register. Note: This bit is not used for target transmit operations.
|
| 1 | TREQ | R | 0h | This field reflects the transmit request status
|
| 0 | RREQ | R | 0h | This field reflects the receive request status.
|
TCTL is shown in Table 25-5.
Return to the Summary Table.
Target control
This registers functions as a target control register
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-1 | 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. |
| 0 | DA | W | 0h | This field sets the device active control
|
TDR is shown in Table 25-6.
Return to the Summary Table.
Target data register
This register contains the data to be transmitted when in the target transmit state, and the data received
when in the target receive state.
| 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 | DATA | R/W | 0h | Data for transfer. This field contains the data for transfer during a target receive or a transmit operation. When written, the register data is used as transmit data. When read, this register returns the last data received. Data is stored until next update, either by a system write to the controller for transmit or by an external controller to the target for receive. |
TIMR is shown in Table 25-7.
Return to the Summary Table.
Target interrupt mask
This register controls whether a raw interrupt is promoted to a controller interrupt
| 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 | STOPIM | R/W | 0h | Stop condition interrupt mask
|
| 1 | STARTIM | R/W | 0h | Start condition interrupt mask
|
| 0 | DATAIM | R/W | 0h | Data interrupt mask
|
TRIS is shown in Table 25-8.
Return to the Summary Table.
Target raw interrupt status
This register shows the unmasked interrupt status.
| 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 | STOPRIS | R | 0h | Stop condition raw interrupt status This bit is cleared by writing a 1 to TICR.STOPIC.
|
| 1 | STARTRIS | R | 0h | Start condition raw interrupt status This bit is cleared by writing a 1 to TICR.STARTIC.
|
| 0 | DATARIS | R | 0h | Data raw interrupt status This bit is cleared by writing a 1 to TICR.DATAIC.
|
TMIS is shown in Table 25-9.
Return to the Summary Table.
Target Masked Interrupt Status
This register shows which interrupt is active (based on result from TRIS and TIMR registers).
| 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 | STOPMIS | R | 0h | Stop condition masked interrupt status This bit is cleared by writing a 1 to TICR.STOPIC.
|
| 1 | STARTMIS | R | 0h | Start condition masked interrupt status This bit is cleared by writing a 1 to TICR.STARTIC.
|
| 0 | DATAMIS | R | 0h | Start condition masked interrupt status This bit is cleared by writing a 1 to TICR.DATAIC.
|
TICR is shown in Table 25-10.
Return to the Summary Table.
Target Interrupt Clear
This register clears the raw interrupt TRIS
| 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 | STOPIC | W | 0h | Stop condition interrupt clear
|
| 1 | STARTIC | W | 0h | Start condition interrupt clear
|
| 0 | DATAIC | W | 0h | Data interrupt clear
|
CTA is shown in Table 25-11.
Return to the Summary Table.
Controller target address
This register contains seven address bits of the target to be accessed by the controller (a6-a0), and an CTA.RS bit determining if the next operation is a receive or transmit
| 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-1 | SA | R/W | 0h | Controller target address Defines which target is addressed for the transaction in controller mode |
| 0 | RS | R/W | 0h | Receive or Send This bit-field specifies the next operation with addressed target CTA.SA.
|
CSTA is shown in Table 25-12.
Return to the Summary Table.
Controller status
This register functions as a controller status register
| 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 | BUSBSY | R | 0h | Bus busy Note:The bit changes based on the CCTRL.START and CCTRL.STOP conditions.
|
| 5 | IDLE | R | 1h | This field specifies whether I2C is idle or not
|
| 4 | ARBLST | R | 0h | The filed specifies the arbitration status
|
| 3 | DATACKN | R | 0h | This field contains Data acknowledge status
|
| 2 | ADRACKN | R | 0h | This field reflects the address acknowledge status
|
| 1 | ERR | R | 0h | This field reflects the error status
|
| 0 | BUSY | R | 0h | This field reflects the I2C busy status Note: The I2C controller requires four CLKSVT clock cycles to assert the BUSY status after I2C controller operation has been initiated through a write into CCTL register. Hence after programming CCTL register, application is requested to wait for four CLKSVT clock cycles before issuing a controller status inquiry through a read from CSTA register. Any prior inquiry would result in wrong status being reported.
|
CCTL is shown in Table 25-13.
Return to the Summary Table.
Controller control
This register functions as a controller control register
| 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 | ACK | W | 0h | This field is to enable the data acknowledge. Note:This bit-field must be cleared when the I2C bus controller requires no further data to be transmitted from the target transmitter.
|
| 2 | STOP | W | 0h | This field is to set stop condition . Note: This bit-field determines if the cycle stops at the end of the data cycle or continues on to a repeated start condition.
|
| 1 | START | W | 0h | This field is to set start or repeated start condition.
|
| 0 | RUN | W | 0h | This field is to set the controller enable.
|
CDR is shown in Table 25-14.
Return to the Summary Table.
Controller data
This register contains the data to be transmitted when in the controller transmit state and the data received when in the controller receive state.
| 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 | DATA | R/W | 0h | When Read: Last RX Data is returned When Written: Data is transferred during TX transaction |
CTPR is shown in Table 25-15.
Return to the Summary Table.
Controller timer period
This register specifies the period of the SCL clock.
| 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 | TPR_7 | R/W | 0h | Must be set to 0 to set CTPR.TPR. If set to 1, a write to CTPR.TPR will be ignored. |
| 6-0 | TPR | R/W | 1h | SCL clock period This field specifies the period of the SCL clock. SCL_PRD = 2*(1+TPR)*(SCL_LP + SCL_HP)*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). CLK_PRD is the CLKSVT period in ns. |
CIMR is shown in Table 25-16.
Return to the Summary Table.
Controller interrupt mask
This register controls whether a raw interrupt is promoted to a controller interrupt.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-1 | 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. |
| 0 | IM | R/W | 0h | Interrupt mask
|
CRIS is shown in Table 25-17.
Return to the Summary Table.
Controller raw interrupt status
This register shows the unmasked interrupt status.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-1 | 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. |
| 0 | RIS | R | 0h | Raw interrupt status This bit is cleared by writing 1 to CICR.IC bit.
|
CMIS is shown in Table 25-18.
Return to the Summary Table.
Controller masked interrupt status
This register shows which interrupt is active (based on result from CRIS and CIMR registers).
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-1 | 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. |
| 0 | MIS | R | 0h | Masked interrupt status This bit is cleared by writing 1 to CICR.IC bit.
|
CICR is shown in Table 25-19.
Return to the Summary Table.
Controller interrupt clear
This register clears the raw and masked interrupt.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-1 | 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. |
| 0 | IC | W | 0h | Interrupt clear
|
CCR is shown in Table 25-20.
Return to the Summary Table.
Controller Configuration
This register configures the mode (Controller or Target) and sets the interface for test mode loopback.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-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 | TFE | R/W | 0h | I2C target function enable
|
| 4 | CFE | R/W | 0h | I2C controller function enable
|
| 3-1 | 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. |
| 0 | LPBK | R/W | 0h | I2C loopback
|