SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
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 |