SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
When the DMA handler has completed its ‘N-2’ OCP accesses read_count is assigned with ‘N-2‘.
| Step | Register/Bit Field/Programming Model | Value |
|---|---|---|
| Start the channel | MCSPI_CHxCTRL[0] EN | 1 |
| Wait until channel_enable = TRUE | ||
| Wait until read_count = TRUE | ||
| Disable DMA read request | MCSPI_CHxCONF[15] DMAR | 0 |
| Wait until last_transfer = TRUE | ||
| Wait for end of transfer | MCSPI_CHxSTAT[2] EOT | =1 |
| Stop the channel | MCSPI_CHxCTRL[0] EN | 0 |
| Wait until channel_enable = FALSE | ||
| Step | Register/Bit Field/Programming Model | Value |
|---|---|---|
| Read MCSPI_IRQSTATUS | MCSPI_IRQSTATUS | 0x- |
| Write MCSPI_IRQSTATUS to reset channel status bits | MCSPI_IRQSTATUS[channel x bits] | 0b1111 |
| IF: RXx_FULL | ||
| IF: read_count = N - 2 | ||
| last_transfer = TRUE | ||
| Wait until channel_enable = FALSE | ||
| ENDIF | ||
| IF: read_count < N | ||
| Read the receiver register | MCSPI_RXx | 0x- |
| Increment read_count +1 | ||
| ENDIF | ||
| ENDIF | ||