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 23-7 lists the memory-mapped registers for the SPI registers. All register offset addresses not listed in Table 23-7 should be considered as reserved locations and the register contents should not be modified.
| Offset | Acronym | Register Name | Group | Section |
|---|---|---|---|---|
| 800h | PWREN | Power enable | Go | |
| 804h | RSTCTL | Reset Control | Go | |
| 808h | CLKCFG | Peripheral Clock Configuration Register | Go | |
| 814h | STAT | Status Register | Go | |
| 1000h | CLKDIV | Clock Divider | Go | |
| 1004h | CLKSEL | Clock Select for Ultra Low Power peripherals | Go | |
| 1018h | PDBGCTL | Peripheral Debug Control | 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 |
| 1050h | IIDX | Interrupt Index Register | DMA_TRIG_RX | 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 |
| 1078h | ICLR | Interrupt clear | DMA_TRIG_RX | Go |
| 1080h | IIDX | Interrupt Index Register | DMA_TRIG_TX | 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 |
| 10A8h | ICLR | Interrupt clear | DMA_TRIG_TX | Go |
| 10E0h | EVT_MODE | Event Mode | Go | |
| 10E4h | INTCTL | Interrupt control register | Go | |
| 1100h | CTL0 | SPI control register 0 | Go | |
| 1104h | CTL1 | SPI control register 1 | Go | |
| 1108h | CLKCTL | Clock prescaler and divider register. | Go | |
| 110Ch | IFLS | Interrupt FIFO Level Select Register | Go | |
| 1110h | STAT | Status Register | Go | |
| 1130h | RXDATA | RXDATA Register | Go | |
| 1140h | TXDATA | TXDATA Register | Go |
Complex bit access types are encoded to fit into small table cells. Table 23-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 |
| WK | W K |
Write Write protected by a key |
| Reset or Default Value | ||
| -n | Value after reset or the default value | |
PWREN is shown in Figure 23-9 and described in Table 23-9.
Return to the Summary Table.
Register to control the power state
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| KEY | |||||||
| W-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 | ENABLE | ||||||
| R-0h | R/WK-0h | ||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-24 | KEY | W | 0h | KEY to allow Power State Change
|
| 23-1 | RESERVED | R | 0h | |
| 0 | ENABLE | R/WK | 0h | Enable the power KEY must be set to 26h to write to this bit.
|
RSTCTL is shown in Figure 23-10 and described in Table 23-10.
Return to the Summary Table.
Register to control reset assertion and de-assertion
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| KEY | |||||||
| W-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 | RESETSTKYCLR | RESETASSERT | |||||
| R-0h | WK-0h | WK-0h | |||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-24 | KEY | W | 0h | Unlock key
|
| 23-2 | RESERVED | R | 0h | |
| 1 | RESETSTKYCLR | WK | 0h | Clear the RESETSTKY bit in the STAT
register KEY must be set to B1h to write to this bit.
|
| 0 | RESETASSERT | WK | 0h | Assert reset to the peripheral KEY must be set to B1h to write to this bit.
|
CLKCFG is shown in Figure 23-11 and described in Table 23-11.
Return to the Summary Table.
Peripheral Clock Configuration Register
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| KEY | |||||||
| W-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | BLOCKASYNC | ||||||
| R-0h | R/W-0h | ||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | |||||||
| R-0h | |||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-24 | KEY | W | 0h | KEY to Allow State Change -- 0xA9
|
| 23-9 | RESERVED | R | 0h | |
| 8 | BLOCKASYNC | R/W | 0h | Async Clock Request is blocked from
starting SYSOSC or forcing bus clock to 32MHz
|
| 7-0 | RESERVED | R | 0h |
STAT is shown in Figure 23-12 and described in Table 23-12.
Return to the Summary Table.
peripheral enable and reset status
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | RESETSTKY | ||||||
| R-0h | R-0h | ||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | |||||||
| R-0h | |||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-17 | RESERVED | R | 0h | |
| 16 | RESETSTKY | R | 0h | This bit indicates, if the peripheral
was reset, since this bit was cleared by
RESETSTKYCLR in the RSTCTL register
|
| 15-0 | RESERVED | R | 0h |
CLKDIV is shown in Figure 23-13 and described in Table 23-13.
Return to the Summary Table.
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 23-14 and described in Table 23-14.
Return to the Summary Table.
Clock source selection for peripherals
| 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 | SYSCLK_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-4 | RESERVED | R | 0h | |
| 3 | SYSCLK_SEL | R/W | 0h | Selects SYSCLK 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 |
PDBGCTL is shown in Figure 23-15 and described in Table 23-15.
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
| 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 | SOFT | FREE | |||||
| R-0h | R/W-0h | R/W-0h | |||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-2 | RESERVED | R | 0h | |
| 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
|
IIDX is shown in Figure 23-16 and described in Table 23-16.
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 23-17 and described in Table 23-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 | RXFULL | TXFIFO_UNF | DMA_DONE_TX | ||||
| R-0h | R/W-0h | R/W-0h | R/W-0h | ||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DMA_DONE_RX | IDLE | TXEMPTY | TX | RX | RTOUT | PER | RXFIFO_OVF |
| R/W-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-11 | RESERVED | R | 0h | |
| 10 | RXFULL | R/W | 0h | RX FIFO Full Interrupt Mask
|
| 9 | TXFIFO_UNF | R/W | 0h | TX FIFO underflow interrupt mask
|
| 8 | DMA_DONE_TX | R/W | 0h | DMA Done 1 event for TX event mask.
|
| 7 | DMA_DONE_RX | R/W | 0h | DMA Done 1 event for RX event mask.
|
| 6 | IDLE | R/W | 0h | SPI Idle event mask.
|
| 5 | TXEMPTY | R/W | 0h | Transmit FIFO Empty event mask.
|
| 4 | TX | R/W | 0h | Transmit FIFO event mask.
|
| 3 | RX | R/W | 0h | Receive FIFO event.This interrupt is set
if the selected Receive FIFO level has been reached
|
| 2 | RTOUT | R/W | 0h | Enable SPI Receive Time-Out event mask.
|
| 1 | PER | R/W | 0h | Parity error event mask.
|
| 0 | RXFIFO_OVF | R/W | 0h | RXFIFO overflow event mask.
|
RIS is shown in Figure 23-18 and described in Table 23-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 | RXFULL | TXFIFO_UNF | DMA_DONE_TX | ||||
| R-0h | R-0h | R-0h | R-0h | ||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DMA_DONE_RX | IDLE | TXEMPTY | TX | RX | RTOUT | PER | RXFIFO_OVF |
| R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-11 | RESERVED | R | 0h | |
| 10 | RXFULL | R | 0h | RX FIFO Full Interrupt
|
| 9 | TXFIFO_UNF | R | 0h | TX FIFO Underflow Interrupt
|
| 8 | DMA_DONE_TX | R | 0h | DMA Done 1 event for TX. This interrupt
is set if the TX DMA channel sends the DONE signal.
This allows the handling of the DMA event inside the
mapped peripheral.
|
| 7 | DMA_DONE_RX | R | 0h | DMA Done 1 event for RX. This interrupt
is set if the RX DMA channel sends the DONE signal.
This allows the handling of the DMA event inside the
mapped peripheral.
|
| 6 | IDLE | R | 0h | SPI has done finished transfers and
changed into IDLE mode. This bit is set when BUSY
goes low.
|
| 5 | TXEMPTY | R | 0h | Transmit FIFO Empty interrupt mask. This
interrupt is set if all data in the Transmit FIFO
have been move to the shift register.
|
| 4 | TX | R | 0h | Transmit FIFO event..This interrupt is
set if the selected Transmit FIFO level has been
reached.
|
| 3 | RX | R | 0h | Receive FIFO event.This interrupt is set
if the selected Receive FIFO level has been reached
|
| 2 | RTOUT | R | 0h | SPI Receive Time-Out event.
|
| 1 | PER | R | 0h | Parity error event: this bit is set if a
Parity error has been detected
|
| 0 | RXFIFO_OVF | R | 0h | RXFIFO overflow event. This interrupt is
set if an RX FIFO overflow has been detected.
|
MIS is shown in Figure 23-19 and described in Table 23-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 | RXFULL | TXFIFO_UNF | DMA_DONE_TX | ||||
| R-0h | R-0h | R-0h | R-0h | ||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DMA_DONE_RX | IDLE | TXEMPTY | TX | RX | RTOUT | PER | RXFIFO_OVF |
| R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-11 | RESERVED | R | 0h | |
| 10 | RXFULL | R | 0h | RX FIFO Full Interrupt
|
| 9 | TXFIFO_UNF | R | 0h | TX FIFO underflow interrupt
|
| 8 | DMA_DONE_TX | R | 0h | Masked DMA Done 1 event for TX.
|
| 7 | DMA_DONE_RX | R | 0h | Masked DMA Done 1 event for RX.
|
| 6 | IDLE | R | 0h | Masked SPI IDLE mode event.
|
| 5 | TXEMPTY | R | 0h | Masked Transmit FIFO Empty event.
|
| 4 | TX | R | 0h | Masked Transmit FIFO event. This
interrupt is set if the selected Transmit FIFO level
has been reached.
|
| 3 | RX | R | 0h | Masked receive FIFO event.This interrupt
is set if the selected Receive FIFO level has been
reached
|
| 2 | RTOUT | R | 0h | Masked SPI Receive Time-Out Interrupt.
|
| 1 | PER | R | 0h | Masked Parity error event: this bit if a
Parity error has been detected
|
| 0 | RXFIFO_OVF | R | 0h | Masked RXFIFO overflow event. This
interrupt is set if an RX FIFO overflow has been
detected.
|
ISET is shown in Figure 23-20 and described in Table 23-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 | RXFULL | TXFIFO_UNF | DMA_DONE_TX | ||||
| R-0h | W-0h | W-0h | W-0h | ||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DMA_DONE_RX | IDLE | TXEMPTY | TX | RX | RTOUT | PER | RXFIFO_OVF |
| W-0h | W-0h | W-0h | W-0h | W-0h | W-0h | W-0h | W-0h |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-11 | RESERVED | R | 0h | |
| 10 | RXFULL | W | 0h | Set RX FIFO Full Event
|
| 9 | TXFIFO_UNF | W | 0h | Set TX FIFO Underflow Event
|
| 8 | DMA_DONE_TX | W | 0h | Set DMA Done 1 event for TX.
|
| 7 | DMA_DONE_RX | W | 0h | Set DMA Done 1 event for RX.
|
| 6 | IDLE | W | 0h | Set SPI IDLE mode event.
|
| 5 | TXEMPTY | W | 0h | Set Transmit FIFO Empty event.
|
| 4 | TX | W | 0h | Set Transmit FIFO event.
|
| 3 | RX | W | 0h | Set Receive FIFO event.
|
| 2 | RTOUT | W | 0h | Set SPI Receive Time-Out Event.
|
| 1 | PER | W | 0h | Set Parity error event.
|
| 0 | RXFIFO_OVF | W | 0h | Set RXFIFO overflow event.
|
ICLR is shown in Figure 23-21 and described in Table 23-21.
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 | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | RXFULL | TXFIFO_UNF | DMA_DONE_TX | ||||
| R-0h | W-0h | W-0h | W-0h | ||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DMA_DONE_RX | IDLE | TXEMPTY | TX | RX | RTOUT | PER | RXFIFO_OVF |
| W-0h | W-0h | W-0h | W-0h | W-0h | W-0h | W-0h | W-0h |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-11 | RESERVED | R | 0h | |
| 10 | RXFULL | W | 0h | Clear RX FIFO underflow event
|
| 9 | TXFIFO_UNF | W | 0h | Clear TXFIFO underflow event
|
| 8 | DMA_DONE_TX | W | 0h | Clear DMA Done 1 event for TX.
|
| 7 | DMA_DONE_RX | W | 0h | Clear DMA Done 1 event for RX.
|
| 6 | IDLE | W | 0h | Clear SPI IDLE mode event.
|
| 5 | TXEMPTY | W | 0h | Clear Transmit FIFO Empty event.
|
| 4 | TX | W | 0h | Clear Transmit FIFO event.
|
| 3 | RX | W | 0h | Clear Receive FIFO event.
|
| 2 | RTOUT | W | 0h | Clear SPI Receive Time-Out Event.
|
| 1 | PER | W | 0h | Clear Parity error event.
|
| 0 | RXFIFO_OVF | W | 0h | Clear RXFIFO overflow event.
|
IIDX is shown in Figure 23-22 and described in Table 23-22.
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 23-23 and described in Table 23-23.
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 | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | RX | RTOUT | RESERVED | ||||
| R-0h | R/W-0h | R/W-0h | R-0h | ||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-4 | RESERVED | R | 0h | |
| 3 | RX | R/W | 0h | Receive FIFO event mask.
|
| 2 | RTOUT | R/W | 0h | SPI Receive Time-Out event mask.
|
| 1-0 | RESERVED | R | 0h |
RIS is shown in Figure 23-24 and described in Table 23-24.
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 | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | RX | RTOUT | RESERVED | ||||
| R-0h | R-0h | R-0h | R-0h | ||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-4 | RESERVED | R | 0h | |
| 3 | RX | R | 0h | Receive FIFO event.This interrupt is set
if the selected Receive FIFO level has been reached
|
| 2 | RTOUT | R | 0h | SPI Receive Time-Out Event.
|
| 1-0 | RESERVED | R | 0h |
MIS is shown in Figure 23-25 and described in Table 23-25.
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 | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | RX | RTOUT | RESERVED | ||||
| R-0h | R-0h | R-0h | R-0h | ||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-4 | RESERVED | R | 0h | |
| 3 | RX | R | 0h | Receive FIFO event mask.
|
| 2 | RTOUT | R | 0h | SPI Receive Time-Out event mask.
|
| 1-0 | RESERVED | R | 0h |
ISET is shown in Figure 23-26 and described in Table 23-26.
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 | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | RX | RTOUT | RESERVED | ||||
| R-0h | W-0h | W-0h | R-0h | ||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-4 | RESERVED | R | 0h | |
| 3 | RX | W | 0h | Set Receive FIFO event.
|
| 2 | RTOUT | W | 0h | Set SPI Receive Time-Out event.
|
| 1-0 | RESERVED | R | 0h |
ICLR is shown in Figure 23-27 and described in Table 23-27.
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 | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | RX | RTOUT | RESERVED | ||||
| R-0h | W-0h | W-0h | R-0h | ||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-4 | RESERVED | R | 0h | |
| 3 | RX | W | 0h | Clear Receive FIFO event.
|
| 2 | RTOUT | W | 0h | Clear SPI Receive Time-Out event.
|
| 1-0 | RESERVED | R | 0h |
IIDX is shown in Figure 23-28 and described in Table 23-28.
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 23-29 and described in Table 23-29.
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-5 | RESERVED | R | 0h | |
| 4 | TX | R/W | 0h | Transmit FIFO event mask.
|
| 3-0 | RESERVED | R | 0h |
RIS is shown in Figure 23-30 and described in Table 23-30.
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-5 | RESERVED | R | 0h | |
| 4 | TX | R | 0h | Transmit FIFO event: A read returns the
current mask for transmit FIFO interrupt. On a write
of 1, the mask for transmit FIFO interrupt is set
which means the interrupt state will be reflected in
MIS.TXMIS. A write of 0 clears the mask which means
MIS.TXMIS will not reflect the interrupt.
|
| 3-0 | RESERVED | R | 0h |
MIS is shown in Figure 23-31 and described in Table 23-31.
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-5 | RESERVED | R | 0h | |
| 4 | TX | R | 0h | Masked Transmit FIFO event
|
| 3-0 | RESERVED | R | 0h |
ISET is shown in Figure 23-32 and described in Table 23-32.
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-5 | RESERVED | R | 0h | |
| 4 | TX | W | 0h | Set Transmit FIFO event.
|
| 3-0 | RESERVED | R | 0h |
ICLR is shown in Figure 23-33 and described in Table 23-33.
Return to the Summary Table.
Interrupt clear. Write a 1 to clear corresponding Interrupt.
| 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-5 | RESERVED | R | 0h | |
| 4 | TX | W | 0h | Clear Transmit FIFO event.
|
| 3-0 | RESERVED | R | 0h |
EVT_MODE is shown in Figure 23-34 and described in Table 23-34.
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)
| 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 | INT2_CFG | INT1_CFG | INT0_CFG | ||||
| R-0h | R-0h | R-0h | R-0h | ||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-6 | RESERVED | R | 0h | |
| 5-4 | INT2_CFG | R | 2h | Event line mode select for event
corresponding to none.DMA_TRIG_TX
|
| 3-2 | INT1_CFG | R | 2h | Event line mode select for event
corresponding to none.DMA_TRIG_RX
|
| 1-0 | INT0_CFG | R | 1h | Event line mode select for event
corresponding to none.CPU_INT
|
INTCTL is shown in Figure 23-35 and described in Table 23-35.
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 23-36 and described in Table 23-36.
Return to the Summary Table.
SPI control register 0
| 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 | 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-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
|
CTL1 is shown in Figure 23-37 and described in Table 23-37.
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 | PTEN | ||||
| R/W-0h | R/W-0h | R-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 | Receive Timeout (only for Peripheral
mode) Defines the number of Clock Cycles before
after which the Receive Timeout flag RTOUT is set.
The time is calculated using the control register
for the clock selection and divider in the
Controller mode configuration. A value of 0 disables
this function.
|
| 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-9 | RESERVED | R | 0h | |
| 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 | Loop back mode
|
| 0 | ENABLE | R/W | 0h | SPI enable
|
CLKCTL is shown in Figure 23-38 and described in Table 23-38.
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 the data on the input pin will be delayed sampled by the defined clock cycles of internal functional clock 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 (SPI's functional clock
frequency)/((SCR+1)*2). SCR is a value from 0-1023.
|
IFLS is shown in Figure 23-39 and described in Table 23-39.
Return to the Summary Table.
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 receive 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 | 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 | RXIFLSEL | TXIFLSEL | |||||||||||||
| R-0h | R/W-2h | R/W-2h | |||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-6 | RESERVED | R | 0h | |
| 5-3 | RXIFLSEL | R/W | 2h | SPI Receive Interrupt FIFO Level Select
The trigger points for the receive interrupt are as
follows:
|
| 2-0 | TXIFLSEL | R/W | 2h | SPI Transmit Interrupt FIFO Level Select
The trigger points for the transmit interrupt are as
follows:
|
STAT is shown in Figure 23-40 and described in Table 23-40.
Return to the Summary Table.
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 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | BUSY | RNF | RFE | TNF | TFE | ||
| R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | ||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-5 | RESERVED | R | 0h | |
| 4 | BUSY | R | 0h | Busy
|
| 3 | RNF | R | 1h | Receive FIFO not full
|
| 2 | RFE | R | 1h | Receive FIFO empty.
|
| 1 | TNF | R | 1h | Transmit FIFO not full
|
| 0 | TFE | R | 1h | Transmit FIFO empty.
|
RXDATA is shown in Figure 23-41 and described in Table 23-41.
Return to the Summary Table.
RXDATA Register
Reading this register returns value(s) of
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 receive FIFO, pointed to by the current FIFO write pointer. Received data less than 16 bits is automatically right justified in the receive buffer.
|
TXDATA is shown in Figure 23-42 and described in Table 23-42.
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 | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | DATA | R/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 transmit 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 transmit FIFO. The transmit logic ignores the unused bits.
|