9. Inter-processor communication controller (IPCC)

9.1 Introduction

The inter-processor communication controller (IPCC) is used for communicating data between two processors.

The IPCC block provides a nonblocking signaling mechanism to post and retrieve communication data in an atomic way. It provides the signaling for twelve channels:

It is then possible to have two different communication types in each direction.

The IPCC communication data must be located in a common memory, which is not part of the IPCC block.

9.2 IPCC main features

9.3 IPCC functional description

The IPCC communication data is located in a common memory, which is not part of the IPCC block. The address location of the communication data must be known or located in a known common area that, as already stated, is not part of the IPCC block.

For each communication, the IPCC block provides a channel status flag CHnF.

The channel operation mode must be known to both processors. A common parameter can be used to indicate the channel transfer mode and must also be located in a known common area. This parameter is not available from the IPCC.

9.3.1 IPCC block diagram

The IPCC (see Figure 36) consists of the following subblocks:

Figure 36. IPCC block diagram

IPCC block diagram showing internal subblocks: IPCC INTERFACE, IPCC STATUS (with 1TO2 and 2TO1 status registers for multiple channels), and INTERRUPT GENERATION. External signals include AHB slave, ipcc_tx_free_int0, ipcc_rx_occupied_int0, ipcc_tx_free_int1, and ipcc_rx_occupied_int1. Reference MS42429V1.

The diagram illustrates the internal architecture of the IPCC. On the left, an 'IPCC INTERFACE' block is connected to an 'AHB slave' bus. This interface connects to the 'IPCC STATUS' block, which contains multiple status registers: '1TO2 STATUS Channel 1', '1TO2 STATUS Channel N', '2TO1 STATUS Channel 1', and '2TO1 STATUS Channel N'. These registers are connected to the 'INTERRUPT GENERATION' block, which contains an 'Interrupt generation' sub-block. The 'INTERRUPT GENERATION' block outputs four interrupt signals: 'ipcc_tx_free_int0', 'ipcc_rx_occupied_int0', 'ipcc_tx_free_int1', and 'ipcc_rx_occupied_int1'. The diagram is labeled with the reference 'MS42429V1' in the bottom right corner.

IPCC block diagram showing internal subblocks: IPCC INTERFACE, IPCC STATUS (with 1TO2 and 2TO1 status registers for multiple channels), and INTERRUPT GENERATION. External signals include AHB slave, ipcc_tx_free_int0, ipcc_rx_occupied_int0, ipcc_tx_free_int1, and ipcc_rx_occupied_int1. Reference MS42429V1.

Table 67. IPCC interface signals

SignalDescription
NameType
AHB slaveI/OAHB register access bus
ipcc_tx_free_int1OTX free interrupt to processor 1
ipcc_rx_occupied_int1ORX occupied interrupt to processor 1
ipcc_tx_free_int2OTX free interrupt to processor 2
ipcc_rx_occupied_int2ORX occupied interrupt to processor 2

9.3.2 IPCC Simplex channel mode

In Simplex channel mode, a dedicated memory location (used to transfer data in a single direction) is assigned to the communication data. The associated channel N control bits (see Table 68) are used to manage the transfer from the sending to the receiving processor.

Table 68. Bits used for the communication

ProcessorAB
SEND A = 1
RECEIVE B = 2
IPCC_C1CR.TXFIE
IPCC_C1MR.CHnFM
IPCC_C1SCR.CHnS
IPCC_C1TOC2SR.CHnF
IPCC_C2CR.RXOIE
IPCC_C2MR.CHnOM
IPCC_C2SCR.CHnC
SEND A = 2
RECEIVE B = 1
IPCC_C2CR.TXFIE
IPCC_C2MR.CHnFM
IPCC_C2SCR.CHnS
IPCC_C2TOC1SR.CHnF
IPCC_C1CR.RXOIE
IPCC_C1MR.CHnOM
IPCC_C1SCR.CHnC

Once the sending processor has posted the communication data in the memory, it sets the channel status flag CHnF to occupied with CHnS.

Once the receiving processor has retrieved the communication data from the memory, it clears the channel status flag CHnF back to free with CHnC.

Figure 37. IPCC Simplex channel mode transfer timing

Timing diagram for IPCC Simplex channel mode transfer. It shows the sequence of events between Processor A and Processor B. Processor A writes communication data to memory, setting the CHnF flag to occupied. Processor B receives an RX occupied interrupt, reads the data, and clears the CHnF flag. Processor A then receives a TX free interrupt. The diagram includes waveforms for CHnF, TX free interrupt, RX occupied interrupt, and Memory occupation.

The timing diagram illustrates the interaction between Processor A and Processor B for a simplex channel transfer. The vertical axis lists the components: Processor A, CHnF (Channel Status Flag), TX free interrupt, Processor B, RX occupied interrupt, and Memory occupation. The horizontal axis represents time.
1. Processor A : Initiates the transfer by writing communication data to memory.
2. Memory occupation : The data is written to a specific memory location, indicated by a block labeled "Communication data".
3. CHnF : The flag is set to 'occupied' (high) immediately after the data is written.
4. RX occupied interrupt : Processor B detects the occupied flag and generates a short pulse interrupt.
5. Processor B : Retrieves the communication data from memory, indicated by a block labeled "Read communication data".
6. CHnF : The flag is cleared to 'free' (low) after the data is read.
7. TX free interrupt : Processor A detects the free flag and generates a short pulse interrupt (shown with a dashed line indicating it's optional or specific to a configuration).
8. Processor A : Can then initiate a new write of communication data.
The diagram shows two instances of this sequence. Vertical dashed lines mark the key synchronization events. A label 'MS42430V1' is present in the bottom right corner.

Timing diagram for IPCC Simplex channel mode transfer. It shows the sequence of events between Processor A and Processor B. Processor A writes communication data to memory, setting the CHnF flag to occupied. Processor B receives an RX occupied interrupt, reads the data, and clears the CHnF flag. Processor A then receives a TX free interrupt. The diagram includes waveforms for CHnF, TX free interrupt, RX occupied interrupt, and Memory occupation.

Figure 38. IPCC Simplex - Send procedure state diagram

IPCC Simplex - Send procedure state diagram
graph TD; Start(( )) -- "Send Communication data" --> ReadCHnF{Read CHnF}; ReadCHnF -- "CHnF = 1" --> UNMASK[UNMASK Channel N free interrupt]; UNMASK -- "Write CHnFM = 0" --> Wait[Wait for TX free interrupt]; Wait --> TXFree[TX free interrupt]; TXFree -- "Read CHnF = 0" --> MASK[MASK Channel N free interrupt]; MASK -- "Write CHnFM = 1" --> WriteData[Write Communication data to memory]; ReadCHnF -- "CHnF = 0" --> WriteData; WriteData -- "Complete communication posted" --> SetOccupied[Set Channel N occupied]; SetOccupied -- "Write CHnS (set CHnF = 1)" --> End([End]);

The state diagram illustrates the send procedure for the IPCC Simplex. It begins with the 'Send Communication data' input, leading to a decision point 'Read CHnF'. If 'CHnF = 1', the flow goes to 'UNMASK Channel N free interrupt', then 'Write CHnFM = 0', 'Wait for TX free interrupt', and 'TX free interrupt'. From 'TX free interrupt', a dashed pink arrow labeled 'TX free interrupt' points to the next step 'Read CHnF = 0', which leads to 'MASK Channel N free interrupt'. From 'MASK Channel N free interrupt', the flow goes to 'Write CHnFM = 1', which then leads to 'Write Communication data to memory'. If 'CHnF = 0' at the initial 'Read CHnF' decision, the flow also leads to 'Write Communication data to memory'. From 'Write Communication data to memory', the flow goes to 'Complete communication posted', then 'Set Channel N occupied', then 'Write CHnS (set CHnF = 1)', and finally 'End'.

IPCC Simplex - Send procedure state diagram

To send communication data:

Figure 39. IPCC Simplex - Receive procedure state diagram

Figure 39. IPCC Simplex - Receive procedure state diagram. The flowchart shows the sequence of operations for receiving a communication: RX occupied interrupt -> RX occupied interrupt (Read CHnF = 1) -> MASK Channel N occupied interrupt (Write CHnOM = 1) -> Read Communication data from Memory (Complete communication retrieved) -> Set Channel N free (Write CHnC (set CHnF = 0)) -> UNMASK Channel N occupied interrupt (Write CHnOM = 0) -> End.
graph TD
    Start(( )) -.-> RX1[RX occupied interrupt]
    RX1 -- "Read CHnF = 1" --> MASK["MASK<br/>Channel N<br/>occupied interrupt"]
    MASK -- "Write CHnOM = 1" --> Read["Read<br/>Communication<br/>data from Memory"]
    Read -- "Complete communication retrieved" --> SetFree["Set Channel N free"]
    SetFree -- "Write CHnC (set CHnF = 0)" --> UNMASK["UNMASK<br/>Channel N<br/>occupied interrupt"]
    UNMASK -- "Write CHnOM = 0" --> End([End])
  

MS42432V1

Figure 39. IPCC Simplex - Receive procedure state diagram. The flowchart shows the sequence of operations for receiving a communication: RX occupied interrupt -> RX occupied interrupt (Read CHnF = 1) -> MASK Channel N occupied interrupt (Write CHnOM = 1) -> Read Communication data from Memory (Complete communication retrieved) -> Set Channel N free (Write CHnC (set CHnF = 0)) -> UNMASK Channel N occupied interrupt (Write CHnOM = 0) -> End.

To receive a communication, the channel occupied interrupt is unmasked ( \( CHnOM = 0 \) ):

9.3.3 IPCC Half-duplex channel mode

The Half-duplex channel mode is used when one processor sends a communication and the other processor sends a response to each communication (ping-pong).

In Half-duplex channel mode, a single dedicated memory location is assigned to communication data and response, and is used to transfer data in both directions. The sending processor channel status flag \( CHnF \) is assigned to the channel and used by both processors (see Table 68 ).

Once the processor A posts communication data into memory, it sets the processor A channel status flag \( CHnF \) to occupied with \( CHnS \) (giving memory access to processor B).

Once the processor B retrieves communication data from memory, it does not change the channel status flags. The memory access is kept by processor B for the response.

Once the processor B posts the response into memory, it clears the channel status flag \( CHnF \) to free with \( CHnC \) (giving memory access back to processor A).

Once the processor A retrieves the response from the memory, it does not change the channel status flags. The memory location access is kept by processor A for the next communication data.

Figure 40. IPCC Half-duplex channel mode transfer timing

Timing diagram showing the interaction between Processor A, Processor B, and Memory for half-duplex channel mode transfer. It includes signal levels for CHnF, TX free interrupt, RX occupied interrupt, and memory occupation over time.

The diagram illustrates the timing for a half-duplex channel mode transfer. It shows the sequence of events for Processor A, Processor B, and Memory. Processor A writes communication data to memory, then later reads the response. Processor B reads the communication data and writes the response. The CHnF signal is shown as a pulse when the channel is free. The TX free interrupt is generated when the channel is free. The RX occupied interrupt is generated when the channel is occupied. The memory occupation shows the data and response being written and read.

MS42435V1

Timing diagram showing the interaction between Processor A, Processor B, and Memory for half-duplex channel mode transfer. It includes signal levels for CHnF, TX free interrupt, RX occupied interrupt, and memory occupation over time.

Figure 41. IPCC Half-duplex - Send procedure state diagram

State diagrams for the send procedure for Communication processor A and Response processor B. It details the steps for writing data, setting channel flags, and handling interrupts.

The diagram shows two state diagrams for the send procedure in half-duplex mode. The left diagram is for the Communication processor A, and the right diagram is for the Response processor B.

Communication processor A:

Response processor B:

MS42433V1

State diagrams for the send procedure for Communication processor A and Response processor B. It details the steps for writing data, setting channel flags, and handling interrupts.

To send communication data:

To send a response:

Figure 42. IPCC Half-duplex - Receive procedure state diagram

Figure 42. IPCC Half-duplex - Receive procedure state diagram. The diagram shows two state machines: Response processor A and Communication processor B. Processor A starts with a TX free interrupt, reads CHnF = 0, masks the channel N free interrupt, writes CHnFM = 1, reads the response from memory, writes Response pending = 0, and allows communication data to be sent. Processor B starts with an RX occupied interrupt, reads CHnF = 1, masks the channel N occupied interrupt, writes CHnOM = 1, reads communication data from memory, and allows the response to be sent. A dashed arrow labeled 'Complete communication retrieved' points from Processor B to Processor A.
stateDiagram-v2
    state "Response processor A" as A
    state "Communication processor B" as B

    A: TX free interrupt --> A: TX free interrupt
    A: TX free interrupt --> A: Read CHnF = 0
    A: Read CHnF = 0 --> A: MASK Channel N free interrupt
    A: MASK Channel N free interrupt --> A: Write CHnFM = 1
    A: Write CHnFM = 1 --> A: Read Response from Memory
    A: Read Response from Memory --> A: Write Response pending = 0
    A: Write Response pending = 0 --> A: Allow Communication data to be sent

    B: RX occupied interrupt --> B: RX occupied interrupt
    B: RX occupied interrupt --> B: Read CHnF = 1
    B: Read CHnF = 1 --> B: MASK Channel N occupied interrupt
    B: MASK Channel N occupied interrupt --> B: Write CHnOM = 1
    B: Write CHnOM = 1 --> B: Read Communication data from Memory
    B: Read Communication data from Memory --> B: Complete communication retrieved
    B: Complete communication retrieved --> B: Write Response pending = 1
    B: Write Response pending = 1 --> B: Allow Response to be sent

    B: Complete communication retrieved --> A: Complete communication retrieved
  
Figure 42. IPCC Half-duplex - Receive procedure state diagram. The diagram shows two state machines: Response processor A and Communication processor B. Processor A starts with a TX free interrupt, reads CHnF = 0, masks the channel N free interrupt, writes CHnFM = 1, reads the response from memory, writes Response pending = 0, and allows communication data to be sent. Processor B starts with an RX occupied interrupt, reads CHnF = 1, masks the channel N occupied interrupt, writes CHnOM = 1, reads communication data from memory, and allows the response to be sent. A dashed arrow labeled 'Complete communication retrieved' points from Processor B to Processor A.

To receive communication data the channel occupied interrupt is unmasked (CHnOM = 0):

To receive the response the channel free interrupt is unmasked (CHnFM = 0):

9.3.4 IPCC interrupts

There are four interrupt lines :

The RX occupied interrupt is used by the receiving processor and indicates when an unmasked channel status indicates occupied (CHnF = 1).

The TX free interrupt is used by the sending processor, and indicates when an unmasked channel status indicates free (CHnF = 0).

A secure channel only generates a secure interrupt, and only in the case when the channel is secure unmasked and global secure enabled.

A non-secure channel only generates a non-secure interrupt, and only in the case when the channel is non-secure unmasked and global non-secure enabled.

9.4 IPCC registers

The peripheral registers must be accessed by words (32-bit). Byte (8-bit) and half-word (16-bit) accesses are not permitted and do not generate a bus error.

9.4.1 IPCC processor 1 control register (IPCC_C1CR)

Address offset: 0x000

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TXFIE
rw
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RXOIE
rw

Bits 31:17 Reserved, must be kept at reset value.

Bit 16 TXFIE : Processor 1 transmit channel free interrupt enable

Associated with IPCC_C1TOC2SR.

1: Enable an unmasked processor 1 transmit channel free to generate a TX free interrupt.

0: Processor 1 TX free interrupt disabled

Bits 15:1 Reserved, must be kept at reset value.

Bit 0 RXOIE : Processor 1 receive channel occupied interrupt enable

Associated with IPCC_C2TOC1SR.

1: Enable an unmasked processor 1 receive channel occupied to generate an RX occupied interrupt.

0: Processor 1 RX occupied interrupt disabled

9.4.2 IPCC processor 1 mask register (IPCC_C1MR)

Address offset: 0x004

Reset value: 0xFFFF FFFF

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CH6 FMCH5 FMCH4 FMCH3 FMCH2 FMCH1 FM
rwrwrwrwrwrw
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CH6 OMCH5 OMCH4 OMCH3 OMCH2 OMCH1 OM
rwrwrwrwrwrw

Bits 31:22 Reserved, must be kept at reset value.

Bits 21:16 CHnFM : Processor 1 transmit channel n status set, (n = 6 to 1).

Associated with IPCC_C1TOC2SR.CHnF

1: Transmit channel n free interrupt masked.

0: Transmit channel n free interrupt not masked.

Bits 15:6 Reserved, must be kept at reset value.

Bits 5:0 CHnOM : Processor 1 receive channel n status clear (n = 6 to 1).

Associated with IPCC_C2TOC1SR.CHnF

1: Receive channel n occupied interrupt masked.

0: Receive channel n occupied interrupt not masked.

9.4.3 IPCC processor 1 status set clear register (IPCC_C1SCR)

Address offset: 0x008

Reset value: 0x0000 0000

Reading this register always returns 0x0000 0000.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CH6SCH5SCH4SCH3SCH2SCH1S
rwrwrwrwrwrw
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CH6CCH5CCH4CCH3CCH2CCH1C
rwrwrwrwrwrw

Bits 31:22 Reserved, must be kept at reset value.

Bits 21:16 CHnS : Processor 1 transmit channel n status set (n = 6 to 1).

Associated with IPCC_C1TOC2SR.CHnF

1: Processor 1 transmit channel n status bit set.

0: No action.

Bits 15:6 Reserved, must be kept at reset value.

Bits 5:0 CHnC : Processor 1 receive channel n status clear (n = 6 to 1).

Associated with IPCC_C2TOC1SR.CHnF

1: Processor 1 receive channel n status bit clear.

0: No action.

9.4.4 IPCC processor 1 to processor 2 status register (IPCC_C1TOC2SR)

Address offset: 0x00C

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CH6FCH5FCH4FCH3FCH2FCH1F
rrrrrr

Bits 31:6 Reserved, must be kept at reset value.

Bits 5:0 CHnF : Processor 1 transmit to processor 2 receive channel n status flag before masking (n = 6 to 1).

1: Channel occupied, data can be read by the receiving processor 2.

Generates a channel RX occupied interrupt to processor 2, when unmasked.

0: Channel free, data can be written by the sending processor 1.

Generates a channel TX free interrupt to processor 1, when unmasked.

9.4.5 IPCC processor 2 control register (IPCC_C2CR)

Address offset: 0x010

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TXFIE
nw
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RXOIE
nw

Bits 31:17 Reserved, must be kept at reset value.

Bit 16 TXFIE : Processor 2 transmit channel free interrupt enable

Associated with IPCC_C2TOC1SR.

1: Enable an unmasked processor 2 transmit channel free to generate a TX free interrupt.

0: Processor 2 TX free interrupt disabled

Bits 15:1 Reserved, must be kept at reset value.

Bit 0 RXOIE : Processor 2 receive channel occupied interrupt enable

Associated with IPCC_C1TOC2SR.

1: Enable an unmasked processor 2 receive channel occupied to generate an RX occupied interrupt.

0: Processor 2 RX occupied interrupt disabled

9.4.6 IPCC processor 2 mask register (IPCC_C2MR)

Address offset: 0x014

Reset value: 0xFFFF FFFF

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CH6
FM
CH5
FM
CH4
FM
CH3
FM
CH2
FM
CH1
FM
rwrwrwrwrwrw

1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CH6
OM
CH5
OM
CH4
OM
CH3
OM
CH2
OM
CH1
OM
rwrwrwrwrwrw

Bits 31:22 Reserved, must be kept at reset value.

Bits 21:16 CHnFM : Processor 2 transmit channel n free interrupt mask (n = 6 to 1).

Associated with IPCC_C2TOC1SR.CHnF

1: Transmit channel n free interrupt masked.

0: Transmit channel n free interrupt not masked.

Bits 15:6 Reserved, must be kept at reset value.

Bits 5:0 CHnOM : Processor 2 receive channel n occupied interrupt mask (n = 6 to 1).

Associated with IPCC_C1TOC2SR.CHnF

1: Receive channel n occupied interrupt masked.

0: Receive channel n occupied interrupt not masked.

9.4.7 IPCC processor 2 status set clear register (IPCC_C2SCR)

Address offset: 0x018

Reset value: 0x0000 0000

Reading this register always returns 0x0000 0000.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CH6SCH5SCH4SCH3SCH2SCH1S
rwrwrwrwrwrw

1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CH6CCH5CCH4CCH3CCH2CCH1C
rwrwrwrwrwrw

Bits 31:22 Reserved, must be kept at reset value.

Bits 21:16 CHnS : Processor 2 transmit channel n status set (n = 6 to 1).

Associated with IPCC_C2TOC1SR.CHnF

1: Processor 2 transmit channel n status bit set.

0: No action.

Bits 15:6 Reserved, must be kept at reset value.

Bits 5:0 CHnC : Processor 2 receive channel n status clear (n = 6 to 1).

Associated with IPCC_C1TOC2SR.CHnF

1: Processor 2 receive channel n status bit clear.

0: No action.

9.4.8 IPCC processor 2 to processor 1 status register (IPCC_C2TOC1SR)

Address offset: 0x01C

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CH6FCH5FCH4FCH3FCH2FCH1F
rrrrrr

Bits 31:6 Reserved, must be kept at reset value.

Bits 5:0 CHnF : Processor 2 transmit to processor 1 receive channel n status flag before masking (n = 6 to 1)

1: Channel occupied, data can be read by the receiving processor 1.

Generates a channel RX occupied interrupt to processor 1, when unmasked.

0: Channel free, data can be written by the sending processor 2.

Generates a channel TX free interrupt to processor 2, when unmasked.

9.4.9 IPCC register map

Table 69. IPCC register map and reset values

OffsetRegister name
Reset value
313029282726252423222120191817161514131211109876543210
0x0000IPCC_C1CRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TXFIERes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RXOIE
Reset value00
0x0004IPCC_C1MRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.CH6FMCH5FMCH4FMCH3FMCH2FMCH1FMRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CH6OMCH5OMCH4OMCH3OMCH2OM
Reset value11111111111
0x0008IPCC_C1SCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.CH6SCH5SCH4SCH3SCH2SCH1SRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CH6CCH5CCH4CCH3CCH2C
Reset value00000000000
0x000CIPCC_C1TOC2SRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CH6FCH5FCH4FCH3FCH2F
Reset value00000
0x0010IPCC_C2CRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TXFIERes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RXOIE
Reset value00
0x0014IPCC_C2MRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.CH6FMCH5FMCH4FMCH3FMCH2FMCH1FMRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CH6OMCH5OMCH4OMCH3OMCH2OM
Reset value11111111111
0x0018IPCC_C2SCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.CH6SCH5SCH4SCH3SCH2SCH1SRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CH6CCH5CCH4CCH3CCH2C
Reset value00000000000
0x001CIPCC_C2TOC1SRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CH6FCH5FCH4FCH3FCH2F
Reset value00000

Refer to Section 2.6 on page 72 for the register boundary addresses.