SPRUIM2H May 2020 – October 2023 AM2431 , AM2432 , AM2434 , AM6411 , AM6412 , AM6421 , AM6422 , AM6441 , AM6442
When the DMA handler has completed its ‘N-1’ CBASS0 accesses, read_count is assigned with ‘N-1’.
| Step | Register/Bit Field/Programming Model | Value |
|---|---|---|
| Start the channel | MCSPI_CHCTRL_0/1/2/3[0] EN | 1 |
| Wait until read_count = N - 1 | ||
| Disable DMA read request | MCSPI_CHCONF_0/1/2/3[15] DMAR | 0 |
| Wait until last_transfer = TRUE | ||
| Stop the channel | MCSPI_CHCTRL_0/1/2/3[0] EN | 0 |
| Read the receiver register | MCSPI_RX_0/1/2/3 | 0x- |
| Increment read_count +1 | ||
| Step | Register/Bit Field/Programming Model | Value |
|---|---|---|
| Read MCSPI_IRQSTATUS | MCSPI_IRQSTATUS | 0x- |
| Write MCSPI_IRQSTATUS to reset channel status bits | MCSPI_IRQSTATUS[channel i bits] | 0b1111 |
| IF: RXx_FULL AND read_count = N | ||
| last_transfer = TRUE | ||
| ENDIF | ||