SPRUJ17H March 2022 – October 2024 AM2631 , AM2631-Q1 , AM2632 , AM2632-Q1 , AM2634 , AM2634-Q1
When the DMA handler has completed its ‘N-2’ CBASS0 accesses read_count is assigned with ‘N-2‘.
Step | Register/Bit Field/Programming Model | Value |
---|---|---|
Start the channel | MCSPI_CHCTRL_0/1/2/3[0] EN | 1 |
Wait until channel_enable = TRUE | ||
Wait until read_count = N-2 | ||
Disable DMA read request | MCSPI_CHCONF_0/1/2/3[15] DMAR | 0 |
Wait until last_transfer = TRUE | ||
Wait for end of transfer | MCSPI_CHSTAT_0/1/2/3[2] EOT | =1 |
Stop the channel | MCSPI_CHCTRL_0/1/2/3[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 i bits] | 0b1111 |
IF: RXx_FULL | ||
IF: read_count = N - 2 | ||
last_transfer = TRUE | ||
channel_enable = FALSE | ||
ENDIF | ||
IF: read_count < N | ||
Read the receiver register | MCSPI_RX_0/1/2/3 | 0x- |
Increment read_count +1 | ||
ENDIF | ||
ENDIF |