SLAU847F October 2022 – March 2026 MSPM0L1105 , MSPM0L1106 , MSPM0L1116 , MSPM0L1117 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2116 , MSPM0L2117 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1
Table 27-7 lists the memory-mapped registers for the UNICOMMSPI registers. All register offset addresses not listed in Table 27-7 should be considered as reserved locations and the register contents should not be modified.
| Offset | Acronym | Register Name | Group | Section |
|---|---|---|---|---|
| 1000h | CLKDIV | Clock Divider | Go | |
| 1008h | CLKSEL | Clock Select for Ultra Low Power peripherals | Go | |
| 1020h | IIDX | Interrupt Index Register | CPU_INT | Go |
| 1028h | IMASK | Interrupt mask | CPU_INT | Go |
| 1030h | RIS | Raw interrupt status | CPU_INT | Go |
| 1038h | MIS | Masked interrupt status | CPU_INT | Go |
| 1040h | ISET | Interrupt set | CPU_INT | Go |
| 1048h | ICLR | Interrupt clear | CPU_INT | Go |
| 1058h | IMASK | Interrupt mask | DMA_TRIG_RX | Go |
| 1060h | RIS | Raw interrupt status | DMA_TRIG_RX | Go |
| 1068h | MIS | Masked interrupt status | DMA_TRIG_RX | Go |
| 1070h | ISET | Interrupt set | DMA_TRIG_RX | Go |
| 1088h | IMASK | Interrupt mask | DMA_TRIG_TX | Go |
| 1090h | RIS | Raw interrupt status | DMA_TRIG_TX | Go |
| 1098h | MIS | Masked interrupt status | DMA_TRIG_TX | Go |
| 10A0h | ISET | Interrupt set | DMA_TRIG_TX | Go |
| 10E4h | INTCTL | Interrupt control register | Go | |
| 1100h | CTL0 | SPI control register 0 | Go | |
| 1108h | STAT | Status Register | Go | |
| 110Ch | IFLS | Interrupt FIFO Level Select Register | Go | |
| 1110h | CLKCTL | Clock prescaler and divider register. | Go | |
| 1120h | TXDATA | TXDATA Register | Go | |
| 1124h | RXDATA | RXDATA Register | Go | |
| 114Ch | CTL1 | SPI control register 1 | Go |
Complex bit access types are encoded to fit into small table cells. Table 27-8 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 | |
CLKDIV is shown in Figure 27-8 and described in Table 27-9.
Return to the Summary Table.
SPI Clock Divider. This register is used to specify module-specific divide ratio of the functional clock
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||||||||||
| R-0h | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | RATIO | ||||||||||||||
| R-0h | R/W-0h | ||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-3 | RESERVED | R | 0h | |
| 2-0 | RATIO | R/W | 0h | Selects divide ratio of module clock
|
CLKSEL is shown in Figure 27-9 and described in Table 27-10.
Return to the Summary Table.
SPI Source Clock Selection.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | ASYNC_PLL_SEL | ASYNC_HFCLK_SEL | ASYNC_SYSCLK_SEL | ASYNC_LFCLK_SEL | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | BUSCLK_SEL | MFCLK_SEL | LFCLK_SEL | RESERVED | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R-0h | |||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-12 | RESERVED | R | 0h | |
| 11 | ASYNC_PLL_SEL | R/W | 0h | Asynchronous PLL selected as source
|
| 10 | ASYNC_HFCLK_SEL | R/W | 0h | Asynchronous HFCLK selected as source
|
| 9 | ASYNC_SYSCLK_SEL | R/W | 0h | Asynchronous sys clock selected as source
|
| 8 | ASYNC_LFCLK_SEL | R/W | 0h | Asynchronous lfclk selected as source
|
| 7-4 | RESERVED | R | 0h | |
| 3 | BUSCLK_SEL | R/W | 0h | Selects buscclk as clock source if enabled
|
| 2 | MFCLK_SEL | R/W | 0h | Selects MFCLK as clock source if enabled
|
| 1 | LFCLK_SEL | R/W | 0h | Selects LFCLK as clock source if enabled
|
| 0 | RESERVED | R | 0h |
IIDX is shown in Figure 27-10 and described in Table 27-11.
Return to the Summary Table.
This register provides the highest priority enabled interrupt index. Value 0x00 means no event pending. Interrupt 1 is the highest priority, IIDX next highest, 4, 8, … IIDX^31 is the least priority. That is, the least bit position that is set to 1 denotes the highest priority pending interrupt. The priority order is fixed. However, users can implement their own prioritization schemes using other registers that expose the full set of interrupts that have occurred. On each read, only one interrupt is indicated. On a read, the current interrupt (highest priority) is automatically cleared by the hardware and the corresponding interrupt flag in [RIS] and [MIS] are cleared as well. After a read from the CPU (not from the debug interface), the register is updated with the next highest priority interrupt, if none are pending, then it should display 0x0.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | STAT | ||||||||||||||||||||||||||||||
| R-0h | R-0h | ||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-8 | RESERVED | R | 0h | |
| 7-0 | STAT | R | 0h | Interrupt index status
|
IMASK is shown in Figure 27-11 and described in Table 27-12.
Return to the Summary Table.
Interrupt Mask. If a bit is set, then corresponding interrupt is un-masked. Un-masking the interrupt causes the raw interrupt to be visible in IIDX, as well as MIS.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | LTOUT | RESERVED | RESERVED | RESERVED | DMA_DONE_TX | ||
| R-0h | R/W-0h | R-0h | R-0h | R-0h | R/W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| DMA_DONE_RX | RESERVED | RTOUT | IDLE | ||||
| R/W-0h | R-0h | R/W-0h | R/W-0h | ||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | TXEMPTY | TX | TXFIFO_UNF | RXFULL | RX | RXFIFO_OVF | PER |
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-21 | RESERVED | R | 0h | |
| 20 | LTOUT | R/W | 0h | SPI Line Time-Out Interrupt Mask.
This interrupt is raised when the UNICOMM-SPI is in peripheral mode, and no new transaction has been detected for the timeout period programmed by the CTL1.RXTIMEOUT field.
|
| 19 | RESERVED | R | 0h | Reserved |
| 18 | RESERVED | R | 0h | Reserved |
| 17 | RESERVED | R | 0h | |
| 16 | DMA_DONE_TX | R/W | 0h | SPI DMA Done on TX Event Channel Interrupt Mask.
This interrupt is raised when the DONE signal is sent to the SPI from a DMA indicating all the transactions have completed.
|
| 15 | DMA_DONE_RX | R/W | 0h | SPI DMA Done on RX Event Channel Interrupt Mask.
This interrupt is raised when the DONE signal is sent to the SPI from a DMA indicating all the transactions have completed.
|
| 14-10 | RESERVED | R | 0h | |
| 9 | RTOUT | R/W | 0h | SPI Receive Time-Out Interrupt Mask.
This interrupt is raised when the UNICOMM-SPI is in peripheral mode receiving data, the SCLK line is inactive while the RX FIFO contains at least one element for the timeout period programmed by the CTL1.RXTIMEOUT field, regardless of if the RX FIFO level configured in the IFLS register has been reached.
|
| 8 | IDLE | R/W | 0h | SPI Idle Interrupt Mask.
This interrupt is raised when the SPI has finished transfers and gone into an idle state.
|
| 7 | RESERVED | R | 0h | |
| 6 | TXEMPTY | R/W | 0h | SPI TX FIFO Empty Interrupt Mask.
This interrupt is raised when all data has been shifted out of the TX FIFO and the SPI transmitter goes idle.
|
| 5 | TX | R/W | 0h | SPI Transmit Interrupt Mask.
This interrupt is raised when the TX FIFO level has met the condition configured in the IFLS register. For variants with only a Buffer, indicates that the buffer is empty.
|
| 4 | TXFIFO_UNF | R/W | 0h | SPI TX FIFO Underflow Interrupt Mask.
This interrupt is raised when the UNICOMM-SPI (in peripheral mode) gets clock edges on the SCLK line from the SPI controller, but the TX FIFO is empty.
|
| 3 | RXFULL | R/W | 0h | SPI RX FIFO Full Interrupt Mask.
This interrupt is raised when the RX FIFO is full.
|
| 2 | RX | R/W | 0h | SPI Receive Interrupt Mask.
This interrupt is raised when the RX FIFO level has met the condition configured in the IFLS register. For variants with only a Buffer, indicates that the buffer has received a character.
|
| 1 | RXFIFO_OVF | R/W | 0h | SPI RX FIFO Overflow Interrupt Mask.
This interrupt is raised when the SPI receiver tries to receive data, but the SPI RX FIFO is full. In this case, new data will be discarded/lost by the SPI receiver.
|
| 0 | PER | R/W | 0h | SPI Parity Error Interrupt Mask.
This interrupt is raised when a character is received with a mismatch between the calculated parity and the received parity.
|
RIS is shown in Figure 27-12 and described in Table 27-13.
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 bit even if the corresponding IMASK bit is not enabled.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | LTOUT | RESERVED | RESERVED | RESERVED | DMA_DONE_TX | ||
| R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| DMA_DONE_RX | RESERVED | RTOUT | IDLE | ||||
| R-0h | R-0h | R-0h | R-0h | ||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | TXEMPTY | TX | TXFIFO_UNF | RXFULL | RX | RXFIFO_OVF | PER |
| R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-21 | RESERVED | R | 0h | |
| 20 | LTOUT | R | 0h | SPI Line Time-Out Interrupt Raw Status.
This interrupt is raised when the UNICOMM-SPI is in peripheral mode, and no new transaction has been detected for the timeout period programmed by the CTL1.RXTIMEOUT field.
|
| 19 | RESERVED | R | 0h | Reserved |
| 18 | RESERVED | R | 0h | Reserved |
| 17 | RESERVED | R | 0h | |
| 16 | DMA_DONE_TX | R | 0h | SPI DMA Done on TX Event Channel Interrupt Raw Status.
This interrupt is raised when the DONE signal is sent to the SPI from a DMA indicating all the transactions have completed.
|
| 15 | DMA_DONE_RX | R | 0h | SPI DMA Done on RX Event Channel Interrupt Raw Status.
This interrupt is raised when the DONE signal is sent to the SPI from a DMA indicating all the transactions have completed.
|
| 14-10 | RESERVED | R | 0h | |
| 9 | RTOUT | R | 0h | SPI Receive Time-Out Interrupt Raw Status.
This interrupt is raised when the UNICOMM-SPI is in peripheral mode receiving data, the SCLK line is inactive while the RX FIFO contains at least one element for the timeout period programmed by the CTL1.RXTIMEOUT field, regardless of if the RX FIFO level configured in the IFLS register has been reached.
|
| 8 | IDLE | R | 0h | SPI Idle Interrupt Raw Status.
This interrupt is raised when the SPI has finished transfers and gone into an idle state.
|
| 7 | RESERVED | R | 0h | |
| 6 | TXEMPTY | R | 0h | SPI TX FIFO Empty Interrupt Raw Status.
This interrupt is raised when all data has been shifted out of the TX FIFO and the SPI transmitter goes idle.
|
| 5 | TX | R | 0h | SPI Transmit Interrupt Raw Status.
This interrupt is raised when the TX FIFO level has met the condition configured in the IFLS register. For variants with only a Buffer, indicates that the buffer is empty.
|
| 4 | TXFIFO_UNF | R | 0h | SPI TX FIFO Underflow Interrupt Raw Status.
This interrupt is raised when the UNICOMM-SPI (in peripheral mode) gets clock edges on the SCLK line from the SPI controller, but the TX FIFO is empty.
|
| 3 | RXFULL | R | 0h | SPI RX FIFO Full Interrupt Raw Status.
This interrupt is raised when the RX FIFO is full.
|
| 2 | RX | R | 0h | SPI Receive Interrupt Raw Status.
This interrupt is raised when the RX FIFO level has met the condition configured in the IFLS register. For variants with only a Buffer, indicates that the buffer has received a character.
|
| 1 | RXFIFO_OVF | R | 0h | SPI RX FIFO Overflow Interrupt Raw Status.
This interrupt is raised when the SPI receiver tries to receive data, but the SPI RX FIFO is full. In this case, new data will be discarded/lost by the SPI receiver.
|
| 0 | PER | R | 0h | SPI Parity Error Interrupt Raw Status.
This interrupt is raised when a character is received with a mismatch between the calculated parity and the received parity.
|
MIS is shown in Figure 27-13 and described in Table 27-14.
Return to the Summary Table.
Masked interrupt status. This is an AND of the IMASK and RIS registers.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | LTOUT | RESERVED | RESERVED | RESERVED | DMA_DONE_TX | ||
| R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| DMA_DONE_RX | RESERVED | RTOUT | IDLE | ||||
| R-0h | R-0h | R-0h | R-0h | ||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | TXEMPTY | TX | TXFIFO_UNF | RXFULL | RX | RXFIFO_OVF | PER |
| R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-21 | RESERVED | R | 0h | |
| 20 | LTOUT | R | 0h | SPI Line Time-Out Interrupt Masked Status.
This interrupt is raised when the UNICOMM-SPI is in peripheral mode, and no new transaction has been detected for the timeout period programmed by the CTL1.RXTIMEOUT field.
|
| 19 | RESERVED | R | 0h | Reserved |
| 18 | RESERVED | R | 0h | Reserved |
| 17 | RESERVED | R | 0h | |
| 16 | DMA_DONE_TX | R | 0h | SPI DMA Done on TX Event Channel Interrupt Masked Status.
This interrupt is raised when the DONE signal is sent to the SPI from a DMA indicating all the transactions have completed.
|
| 15 | DMA_DONE_RX | R | 0h | SPI DMA Done on RX Event Channel Interrupt Masked Status.
This interrupt is raised when the DONE signal is sent to the SPI from a DMA indicating all the transactions have completed.
|
| 14-10 | RESERVED | R | 0h | |
| 9 | RTOUT | R | 0h | SPI Receive Time-Out Interrupt Masked Status.
This interrupt is raised when the UNICOMM-SPI is in peripheral mode receiving data, the SCLK line is inactive while the RX FIFO contains at least one element for the timeout period programmed by the CTL1.RXTIMEOUT field, regardless of if the RX FIFO level configured in the IFLS register has been reached.
|
| 8 | IDLE | R | 0h | SPI Idle Interrupt Masked Status.
This interrupt is raised when the SPI has finished transfers and gone into an idle state.
|
| 7 | RESERVED | R | 0h | |
| 6 | TXEMPTY | R | 0h | SPI TX FIFO Empty Interrupt Masked Status.
This interrupt is raised when all data has been shifted out of the TX FIFO and the SPI transmitter goes idle.
|
| 5 | TX | R | 0h | SPI Transmit Interrupt Masked Status.
This interrupt is raised when the TX FIFO level has met the condition configured in the IFLS register. For variants with only a Buffer, indicates that the buffer is empty.
|
| 4 | TXFIFO_UNF | R | 0h | SPI TX FIFO Underflow Interrupt Masked Status.
This interrupt is raised when the UNICOMM-SPI (in peripheral mode) gets clock edges on the SCLK line from the SPI controller, but the TX FIFO is empty.
|
| 3 | RXFULL | R | 0h | SPI RX FIFO Full Interrupt Masked Status.
This interrupt is raised when the RX FIFO is full.
|
| 2 | RX | R | 0h | SPI Receive Interrupt Masked Status.
This interrupt is raised when the RX FIFO level has met the condition configured in the IFLS register. For variants with only a Buffer, indicates that the buffer has received a character.
|
| 1 | RXFIFO_OVF | R | 0h | SPI RX FIFO Overflow Interrupt Masked Status.
This interrupt is raised when the SPI receiver tries to receive data, but the SPI RX FIFO is full. In this case, new data will be discarded/lost by the SPI receiver.
|
| 0 | PER | R | 0h | SPI Parity Error Interrupt Masked Status.
This interrupt is raised when a character is received with a mismatch between the calculated parity and the received parity.
|
ISET is shown in Figure 27-14 and described in Table 27-15.
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 bit in ISET will set the event and therefore the related RIS bit also gets set. If the interrupt is enabled through the mask, then the corresponding MIS bit is also set.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | LTOUT | RESERVED | RESERVED | RESERVED | DMA_DONE_TX | ||
| R-0h | W-0h | R-0h | R-0h | R-0h | W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| DMA_DONE_RX | RESERVED | RTOUT | IDLE | ||||
| W-0h | R-0h | W-0h | W-0h | ||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | TXEMPTY | TX | TXFIFO_UNF | RXFULL | RX | RXFIFO_OVF | PER |
| R-0h | W-0h | W-0h | W-0h | W-0h | W-0h | W-0h | W-0h |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-21 | RESERVED | R | 0h | |
| 20 | LTOUT | W | 0h | Set SPI Line Time-Out Interrupt.
This interrupt is raised when the UNICOMM-SPI is in peripheral mode, and no new transaction has been detected for the timeout period programmed by the CTL1.RXTIMEOUT field.
|
| 19 | RESERVED | R | 0h | Reserved |
| 18 | RESERVED | R | 0h | Reserved |
| 17 | RESERVED | R | 0h | |
| 16 | DMA_DONE_TX | W | 0h | Set SPI DMA Done on TX Event Channel Interrupt.
This interrupt is raised when the DONE signal is sent to the SPI from a DMA indicating all the transactions have completed.
|
| 15 | DMA_DONE_RX | W | 0h | Set SPI DMA Done on RX Event Channel Interrupt.
This interrupt is raised when the DONE signal is sent to the SPI from a DMA indicating all the transactions have completed.
|
| 14-10 | RESERVED | R | 0h | |
| 9 | RTOUT | W | 0h | Set SPI Receive Time-Out Interrupt.
This interrupt is raised when the UNICOMM-SPI is in peripheral mode receiving data, the SCLK line is inactive while the RX FIFO contains at least one element for the timeout period programmed by the CTL1.RXTIMEOUT field, regardless of if the RX FIFO level configured in the IFLS register has been reached.
|
| 8 | IDLE | W | 0h | Set SPI Idle Interrupt.
This interrupt is raised when the SPI has finished transfers and gone into an idle state.
|
| 7 | RESERVED | R | 0h | |
| 6 | TXEMPTY | W | 0h | Set SPI TX FIFO Empty Interrupt.
This interrupt is raised when all data has been shifted out of the TX FIFO and the SPI transmitter goes idle.
|
| 5 | TX | W | 0h | Set SPI Transmit Interrupt.
This interrupt is raised when the TX FIFO level has met the condition configured in the IFLS register. For variants with only a Buffer, indicates that the buffer is empty.
|
| 4 | TXFIFO_UNF | W | 0h | Set SPI TX FIFO Underflow Interrupt.
This interrupt is raised when the UNICOMM-SPI (in peripheral mode) gets clock edges on the SCLK line from the SPI controller, but the TX FIFO is empty.
|
| 3 | RXFULL | W | 0h | Set SPI RX FIFO Full Interrupt.
This interrupt is raised when the RX FIFO is full.
|
| 2 | RX | W | 0h | Set SPI Receive Interrupt.
This interrupt is raised when the RX FIFO level has met the condition configured in the IFLS register. For variants with only a Buffer, indicates that the buffer has received a character.
|
| 1 | RXFIFO_OVF | W | 0h | Set SPI RX FIFO Overflow Interrupt.
This interrupt is raised when the SPI receiver tries to receive data, but the SPI RX FIFO is full. In this case, new data will be discarded/lost by the SPI receiver.
|
| 0 | PER | W | 0h | Set SPI Parity Error Interrupt.
This interrupt is raised when a character is received with a mismatch between the calculated parity and the received parity.
|
ICLR is shown in Figure 27-15 and described in Table 27-16.
Return to the Summary Table.
Interrupt clear. Write a 1 to clear corresponding Interrupt.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | LTOUT | RESERVED | RESERVED | RESERVED | DMA_DONE_TX | ||
| R-0h | W-0h | R-0h | R-0h | R-0h | W-0h | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| DMA_DONE_RX | RESERVED | RTOUT | IDLE | ||||
| W-0h | R-0h | W-0h | W-0h | ||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | TXEMPTY | TX | TXFIFO_UNF | RXFULL | RX | RXFIFO_OVF | PER |
| R-0h | W-0h | W-0h | W-0h | W-0h | W-0h | W-0h | W-0h |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-21 | RESERVED | R | 0h | |
| 20 | LTOUT | W | 0h | Clear SPI Line Time-Out Interrupt.
This interrupt is raised when the UNICOMM-SPI is in peripheral mode, and no new transaction has been detected for the timeout period programmed by the CTL1.RXTIMEOUT field.
|
| 19 | RESERVED | R | 0h | Reserved |
| 18 | RESERVED | R | 0h | Reserved |
| 17 | RESERVED | R | 0h | |
| 16 | DMA_DONE_TX | W | 0h | Clear SPI DMA Done on TX Event Channel Interrupt.
This interrupt is raised when the DONE signal is sent to the SPI from a DMA indicating all the transactions have completed.
|
| 15 | DMA_DONE_RX | W | 0h | Clear SPI DMA Done on RX Event Channel Interrupt.
This interrupt is raised when the DONE signal is sent to the SPI from a DMA indicating all the transactions have completed.
|
| 14-10 | RESERVED | R | 0h | |
| 9 | RTOUT | W | 0h | Clear SPI Receive Time-Out Interrupt.
This interrupt is raised when the UNICOMM-SPI is in peripheral mode receiving data, the SCLK line is inactive while the RX FIFO contains at least one element for the timeout period programmed by the CTL1.RXTIMEOUT field, regardless of if the RX FIFO level configured in the IFLS register has been reached.
|
| 8 | IDLE | W | 0h | Clear SPI Idle Interrupt.
This interrupt is raised when the SPI has finished transfers and gone into an idle state.
|
| 7 | RESERVED | R | 0h | |
| 6 | TXEMPTY | W | 0h | Clear SPI TX FIFO Empty Interrupt.
This interrupt is raised when all data has been shifted out of the TX FIFO and the SPI transmitter goes idle.
|
| 5 | TX | W | 0h | Clear SPI Transmit Interrupt.
This interrupt is raised when the TX FIFO level has met the condition configured in the IFLS register. For variants with only a Buffer, indicates that the buffer is empty.
|
| 4 | TXFIFO_UNF | W | 0h | Clear SPI TX FIFO Underflow Interrupt.
This interrupt is raised when the UNICOMM-SPI (in peripheral mode) gets clock edges on the SCLK line from the SPI controller, but the TX FIFO is empty.
|
| 3 | RXFULL | W | 0h | Clear SPI RX FIFO Full Interrupt.
This interrupt is raised when the RX FIFO is full.
|
| 2 | RX | W | 0h | Clear SPI Receive Interrupt.
This interrupt is raised when the RX FIFO level has met the condition configured in the IFLS register. For variants with only a Buffer, indicates that the buffer has received a character.
|
| 1 | RXFIFO_OVF | W | 0h | Clear SPI RX FIFO Overflow Interrupt.
This interrupt is raised when the SPI receiver tries to receive data, but the SPI RX FIFO is full. In this case, new data will be discarded/lost by the SPI receiver.
|
| 0 | PER | W | 0h | Clear SPI Parity Error Interrupt.
This interrupt is raised when a character is received with a mismatch between the calculated parity and the received parity.
|
IMASK is shown in Figure 27-16 and described in Table 27-17.
Return to the Summary Table.
Interrupt Mask. If a bit is set, then corresponding interrupt is un-masked. Un-masking the interrupt causes the raw interrupt to be visible in IIDX, as well as MIS.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | RTOUT | RESERVED | |||||
| R-0h | R/W-0h | R-0h | |||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | RX | RESERVED | |||||
| R-0h | R/W-0h | R-0h | |||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-10 | RESERVED | R | 0h | |
| 9 | RTOUT | R/W | 0h | SPI Receive Timeout DMA Trigger Mask.
The DMA is triggered when the UNICOMM-SPI is in peripheral mode receiving data, the SCLK line is inactive while the RX FIFO contains at least one element for the timeout period programmed by the CTL1.RXTIMEOUT field, regardless of if the RX FIFO level configured in the IFLS register has been reached.
|
| 8-3 | RESERVED | R | 0h | |
| 2 | RX | R/W | 0h | SPI Receive DMA Trigger Mask.
The DMA is triggered when the RX FIFO condition programmed by the IFLS register is met.
When FIFO is not present, this indicates that the buffer is full.
|
| 1-0 | RESERVED | R | 0h |
RIS is shown in Figure 27-17 and described in Table 27-18.
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 bit even if the corresponding IMASK bit is not enabled.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | RTOUT | RESERVED | |||||
| R-0h | R-0h | R-0h | |||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | RX | RESERVED | |||||
| R-0h | R-0h | R-0h | |||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-10 | RESERVED | R | 0h | |
| 9 | RTOUT | R | 0h | SPI Receive Timeout DMA Trigger Raw Status.
The DMA is triggered when the UNICOMM-SPI is in peripheral mode receiving data, the SCLK line is inactive while the RX FIFO contains at least one element for the timeout period programmed by the CTL1.RXTIMEOUT field, regardless of if the RX FIFO level configured in the IFLS register has been reached.
|
| 8-3 | RESERVED | R | 0h | |
| 2 | RX | R | 0h | SPI Receive DMA Trigger Raw Status.
The DMA is triggered when the RX FIFO condition programmed by the IFLS register is met.
When FIFO is not present, this indicates that the buffer is full.
|
| 1-0 | RESERVED | R | 0h |
MIS is shown in Figure 27-18 and described in Table 27-19.
Return to the Summary Table.
Masked interrupt status. This is an AND of the IMASK and RIS registers.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | RTOUT | RESERVED | |||||
| R-0h | R-0h | R-0h | |||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | RX | RESERVED | |||||
| R-0h | R-0h | R-0h | |||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-10 | RESERVED | R | 0h | |
| 9 | RTOUT | R | 0h | SPI Receive Timeout DMA Trigger Masked Status.
The DMA is triggered when the UNICOMM-SPI is in peripheral mode receiving data, the SCLK line is inactive while the RX FIFO contains at least one element for the timeout period programmed by the CTL1.RXTIMEOUT field, regardless of if the RX FIFO level configured in the IFLS register has been reached.
|
| 8-3 | RESERVED | R | 0h | |
| 2 | RX | R | 0h | SPI Receive DMA Trigger Masked Status.
The DMA is triggered when the RX FIFO condition programmed by the IFLS register is met.
When FIFO is not present, this indicates that the buffer is full.
|
| 1-0 | RESERVED | R | 0h |
ISET is shown in Figure 27-19 and described in Table 27-20.
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 bit in ISET will set the event and therefore the related RIS bit also gets set. If the interrupt is enabled through the mask, then the corresponding MIS bit is also set.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | RTOUT | RESERVED | |||||
| R-0h | W-0h | R-0h | |||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | RX | RESERVED | |||||
| R-0h | W-0h | R-0h | |||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-10 | RESERVED | R | 0h | |
| 9 | RTOUT | W | 0h | Set SPI Receive Timeout DMA Trigger.
The DMA is triggered when the UNICOMM-SPI is in peripheral mode receiving data, the SCLK line is inactive while the RX FIFO contains at least one element for the timeout period programmed by the CTL1.RXTIMEOUT field, regardless of if the RX FIFO level configured in the IFLS register has been reached.
|
| 8-3 | RESERVED | R | 0h | |
| 2 | RX | W | 0h | Set SPI Receive DMA Trigger.
The DMA is triggered when the RX FIFO condition programmed by the IFLS register is met.
When FIFO is not present, this indicates that the buffer is full.
|
| 1-0 | RESERVED | R | 0h |
IMASK is shown in Figure 27-20 and described in Table 27-21.
Return to the Summary Table.
Interrupt Mask. If a bit is set, then corresponding interrupt is un-masked. Un-masking the interrupt causes the raw interrupt to be visible in IIDX, as well as MIS.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||||||||||
| R-0h | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | TX | RESERVED | |||||||||||||
| R-0h | R/W-0h | R-0h | |||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-6 | RESERVED | R | 0h | |
| 5 | TX | R/W | 0h | SPI Transmit DMA Trigger Mask.
The DMA is triggered when the TX FIFO condition programmed by the IFLS register is met.
When FIFO is not present, this indicates that the buffer is empty.
|
| 4-0 | RESERVED | R | 0h |
RIS is shown in Figure 27-21 and described in Table 27-22.
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 bit even if the corresponding IMASK bit is not enabled.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||||||||||
| R-0h | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | TX | RESERVED | |||||||||||||
| R-0h | R-0h | R-0h | |||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-6 | RESERVED | R | 0h | |
| 5 | TX | R | 0h | SPI Transmit DMA Trigger Raw Status.
The DMA is triggered when the TX FIFO condition programmed by the IFLS register is met.
When FIFO is not present, this indicates that the buffer is empty.
|
| 4-0 | RESERVED | R | 0h |
MIS is shown in Figure 27-22 and described in Table 27-23.
Return to the Summary Table.
Masked interrupt status. This is an AND of the IMASK and RIS registers.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||||||||||
| R-0h | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | TX | RESERVED | |||||||||||||
| R-0h | R-0h | R-0h | |||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-6 | RESERVED | R | 0h | |
| 5 | TX | R | 0h | SPI Transmit DMA Trigger Masked Status.
The DMA is triggered when the TX FIFO condition programmed by the IFLS register is met.
When FIFO is not present, this indicates that the buffer is empty.
|
| 4-0 | RESERVED | R | 0h |
ISET is shown in Figure 27-23 and described in Table 27-24.
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 bit in ISET will set the event and therefore the related RIS bit also gets set. If the interrupt is enabled through the mask, then the corresponding MIS bit is also set.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||||||||||
| R-0h | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | TX | RESERVED | |||||||||||||
| R-0h | W-0h | R-0h | |||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-6 | RESERVED | R | 0h | |
| 5 | TX | W | 0h | Set SPI Transmit DMA Trigger.
The DMA is triggered when the TX FIFO condition programmed by the IFLS register is met.
When FIFO is not present, this indicates that the buffer is empty.
|
| 4-0 | RESERVED | R | 0h |
INTCTL is shown in Figure 27-24 and described in Table 27-25.
Return to the Summary Table.
Interrupt Control Register.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | INTEVAL | ||||||
| R-0h | W-0h | ||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-1 | RESERVED | R | 0h | |
| 0 | INTEVAL | W | 0h | Writing a 1 to this field re-evaluates the interrupt sources.
|
CTL0 is shown in Figure 27-25 and described in Table 27-26.
Return to the Summary Table.
SPI Control Register 0.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | CS_MASK_ROTATE_EN | CS3_ROTATE_MASK | CS2_ROTATE_MASK | CS1_ROTATE_MASK | CS0_ROTATE_MASK | ||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | ||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | CSCLR | CSSEL | RESERVED | SPH | SPO | ||
| R-0h | R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | ||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| PACKEN | FRF | DSS | |||||
| R/W-0h | R/W-0h | R/W-0h | |||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-29 | RESERVED | R | 0h | |
| 28 | CS_MASK_ROTATE_EN | R/W | 0h | Chip select rotate mask enable
|
| 27 | CS3_ROTATE_MASK | R/W | 0h | Chip select rotate mask
|
| 26 | CS2_ROTATE_MASK | R/W | 0h | Chip select rotate mask
|
| 25 | CS1_ROTATE_MASK | R/W | 0h | Chip select rotate mask
|
| 24 | CS0_ROTATE_MASK | R/W | 0h | Chip select rotate mask
|
| 23-15 | RESERVED | R | 0h | |
| 14 | CSCLR | R/W | 0h | Clear shift register counter on CS inactive
This bit is relevant only in the peripheral, CTL1.CP=0.
|
| 13-12 | CSSEL | R/W | 0h | Select the CS line to control on data transfer
This bit is applicable for both controller/target mode
|
| 11-10 | RESERVED | R | 0h | |
| 9 | SPH | R/W | 0h | CLKOUT phase (Motorola SPI frame format only)
This bit selects the clock edge that captures data and enables it to change state. It
has the most impact on the first bit transmitted by either permitting or not permitting a clock transition before the first data capture edge.
|
| 8 | SPO | R/W | 0h | CLKOUT polarity (Motorola SPI frame format only)
|
| 7 | PACKEN | R/W | 0h | Packing Enable.
When 1, packing feature is enabled inside the IP
When 0, packing feature is disabled inside the IP
|
| 6-5 | FRF | R/W | 0h | Frame format Select
|
| 4-0 | DSS | R/W | 0h | Data Size Select.
Values 0 - 2 are reserved and shall not be used.
3h = 4_BIT : 4-bit data
SPI allows only values up to 16 Bit
|
STAT is shown in Figure 27-26 and described in Table 27-27.
Return to the Summary Table.
SPI Status Register.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| CDMODE | RESERVED | BUSY | |||||
| R-0h | R-0h | R-0h | |||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| TXCLR | TXFF | TXFE | RXCLR | RXFF | RXFE | RESERVED | |
| R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | |
| 15-12 | CDMODE | R | 0h | Current CDMODE Status. This reflects the current counter value.
|
| 11-9 | RESERVED | R | 0h | |
| 8 | BUSY | R | 0h | SPI Busy Status.
|
| 7 | TXCLR | R | 0h | SPI TX FIFO Clear Status.
|
| 6 | TXFF | R | 0h | SPI TX FIFO Full Status.
|
| 5 | TXFE | R | 1h | TX FIFO Empty Status.
|
| 4 | RXCLR | R | 0h | SPI RX FIFO Clear Status.
|
| 3 | RXFF | R | 0h | SPI RX FIFO Full Status.
|
| 2 | RXFE | R | 1h | RX FIFO Empty Status.
|
| 1-0 | RESERVED | R | 0h |
IFLS is shown in Figure 27-27 and described in Table 27-28.
Return to the Summary Table.
Interrupt FIFO Level Select. The IFLS register is the interrupt FIFO level select register. You can use this register to define the levels at which the TX, RX and timeout interrupt flags are triggered. The interrupts are generated based on a transition through a level rather than being based on the level. That is, the interrupts are generated when the fill level progresses through the trigger level. For example, if the receive trigger level is set to the half-way mark, the interrupt is triggered when the RX FIFO is filled with two or more characters. Out of reset, the TXIFLSEL and RXIFLSEL bits are configured so that the FIFOs trigger an interrupt at the half-way mark.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RXCLR | RXIFLSEL | TXCLR | TXIFLSEL | ||||
| R/W-0h | R/W-2h | R/W-0h | R/W-2h | ||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-8 | RESERVED | R | 0h | |
| 7 | RXCLR | R/W | 0h | RX FIFO Clear. Setting this bit will clear the RX FIFO contents.
|
| 6-4 | RXIFLSEL | R/W | 2h | RX FIFO Level Select for generating events (interrupt/DMA).
Note: for undefined settings the default configuration is used.
|
| 3 | TXCLR | R/W | 0h | TX FIFO Clear. Setting this bit will clear the TX FIFO contents.
|
| 2-0 | TXIFLSEL | R/W | 2h | TX FIFO Level Select for generating events (interrupt/DMA).
Note: for undefined settings the default configuration is used.
|
CLKCTL is shown in Figure 27-28 and described in Table 27-29.
Return to the Summary Table.
Clock prescaler and divider register. This register contains the settings for the Clock prescaler and divider settings.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| DSAMPLE | RESERVED | ||||||||||||||
| R/W-0h | R-0h | ||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | SCR | ||||||||||||||
| R-0h | R/W-0h | ||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-28 | DSAMPLE | R/W | 0h | Delayed Sampling Value.
In controller mode, data on input pin will be delayed sampled by the defined clock cycles of internal functional clock (SPIclk) hence relaxing the setup time of input data. This setting is useful in systems where the board delays and external peripheral delays are more than the input setup time of the controller. Please refer to the datasheet for values of controller input setup time and assess what DSAMPLE value meets the requirement of the system.
Note: High values of DSAMPLE can cause HOLD time violations and must be factored in the calculations.
|
| 27-10 | RESERVED | R | 0h | |
| 9-0 | SCR | R/W | 0h | Serial Clock Divider.
This is used to generate the transmit and receive bit rate of the SPI.
The SPI bit rate is
(SPIclk)/((SCR+1)*2).
SCR is a value from 0-1023.
|
TXDATA is shown in Figure 27-29 and described in Table 27-30.
Return to the Summary Table.
TXDATA Register. Writing puts the data into the TX FIFO. Reading this register returns the last written value. When PACKEN=0, only the lower 16-bits of data written into the register is transferred to one 16-bits wide TX FIFO entry When PACKEN=1, upper and lower 16-bits of 32-bit write data are transferred to two16-bits wide TX FIFO entry
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DATA | |||||||||||||||||||||||||||||||
| W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | DATA | W | 0h | Transmit Data
When read, last written value will be returned. If the last write to this field was a 32-bit write (with PACKEN=1), 32-bits will be returned and if the last write was a 16-bit write (PACKEN=0), those 16-bits will be returned.
When written, one or two FIFO entries will be written depending on PACKEN value. Data values are removed from the TX FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the TXD output pin at the programmed bit rate.
When a data size of less than 16 bits is selected, the user must right-justify data written to the TX FIFO. The transmit logic ignores the unused bits.
|
RXDATA is shown in Figure 27-30 and described in Table 27-31.
Return to the Summary Table.
RXDATA Register. Reading this register returns value(s) from the RX FIFO. If the FIFO is empty the last read value is returned. Writing has not effect and is ignored. When PACKEN=1,two entries of the FIFO are returned as a 32-bit value. When PACKEN=0, 1 entry of FIFO is returned as 16-bit value.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DATA | |||||||||||||||||||||||||||||||
| R-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | DATA | R | 0h | Received Data.
When PACKEN=1,two entries of the FIFO are returned as a 32-bit value. When PACKEN=0, 1 entry of FIFO is returned as 16-bit value.
As data values are removed by the receive logic from the incoming data frame, they are placed into the entry in the RX FIFO, pointed to by the current FIFO write pointer.
Received data less than 16 bits is automatically right justified in the receive buffer.
|
CTL1 is shown in Figure 27-31 and described in Table 27-32.
Return to the Summary Table.
SPI Control Register 1.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | RXTIMEOUT | ||||||
| R-0h | R/W-0h | ||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| REPEATTX | |||||||
| R/W-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| CDMODE | CDENABLE | RESERVED | SUSPEND | PTEN | |||
| R/W-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | |||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | PES | PREN | MSB | POD | CP | LBM | ENABLE |
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-1h | R/W-0h | R/W-0h |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-30 | RESERVED | R | 0h | |
| 29-24 | RXTIMEOUT | R/W | 0h | SPI Receive Interrupt Timeout Select (peripheral mode only). Configures the number of bits (at the programmed baud rate), used by the SPI peripheral when there is no SCLK pulse received, to flag/trigger a timeout condition (RTOUT or LTOUT). A value of 0 disables the timeout functions.
|
| 23-16 | REPEATTX | R/W | 0h | Counter to repeat last transfer.
0: repeat last transfer is disabled.
x: repeat the last transfer with the given number.
The transfer will be started with writing a data into the TX Buffer. Sending the data will be repeated with the given value, so the data will be transferred X+1 times in total.
The behavior is identical as if the data would be written into the TX Buffer that many times as defined by the value here.
It can be used to clean a transfer or to pull a certain amount of data by a peripheral.
|
| 15-12 | CDMODE | R/W | 0h | Command/Data Mode Value.
When CTL1.CDENABLE is 1, CS3 line is used as C/D signal to distinguish between Command (C/D low) and Data (C/D high) information.
When a value is written into the CTL1.CDMODE bits, the C/D (CS3) line will go low for the given numbers of byte which are sent by the SPI, starting with the next value to be transmitted after which, C/D line will go high automatically
0: Manual mode with C/D signal as High
1-14: C/D is low while this number of bytes are being sent after which, this field sets to 0 and C/D goes high. Reading this field at any time returns the remaining number of command bytes.
15: Manual mode with C/D signal as Low.
|
| 11 | CDENABLE | R/W | 0h | Command/Data Mode Enable.
|
| 10 | RESERVED | R | 0h | |
| 9 | SUSPEND | R/W | 0h | Suspend External Communication.
When this bit is set, SPI communication on the external bus is suspended after the CS has returned to the idle state in controller mode, and after the CS is read as an idle state in peripheral mode.
|
| 8 | PTEN | R/W | 0h | Parity Transmit Enable.
If enabled, parity transmission will be done for both controller and peripheral modes.
|
| 7 | RESERVED | R | 0h | |
| 6 | PES | R/W | 0h | Even Parity Select.
|
| 5 | PREN | R/W | 0h | Parity Receive Enable.
If enabled, parity reception check will be done for both controller and peripheral modes
In case of a parity miss-match the parity error flag RIS.PER will be set.
|
| 4 | MSB | R/W | 0h | MSB First Select. Controls the direction of the receive and transmit shift register.
|
| 3 | POD | R/W | 0h | Peripheral-mode: Data output disabled.
This bit is relevant only in Peripheral mode. In multiple-peripheral system topologies, SPI controller can broadcast a message to all peripherals, while only one peripheral drives the line.
POD can be used by the SPI peripheral to disable driving data on the line.
|
| 2 | CP | R/W | 1h | Controller or Peripheral Mode Select. This bit can be modified only when SPI is disabled, CTL1.ENABLE=0.
|
| 1 | LBM | R/W | 0h | Loopback Mode Enable.
|
| 0 | ENABLE | R/W | 0h | SPI Enable.
|