This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: TDA4VM/TDA4VH DMA Thread Pairing

Part Number: TDA4VM

Hello TI support,

I have investigated some DMA examples in the PDK, cross-referencing the manual to understand the thread pairing.

Please see the mapping below for each investigated example:

Source Thread Id Destination Thread Id Source Thread Symbolic Name Destination Thread Symbolic Name
MCSPI Example
0x6000 0xC618 = 0x8000 | 0x4600 | 0x0018 UDMAP0 Threads MAIN_PDMA_MISC / PDMA_MISC_G2 / SPI_MAIN_4_TX_0
0x4618 0xE000 = 0x8000 | 0x6000 MAIN_PDMA_MISC / PDMA_MISC_G2 / SPI_MAIN_4_RX_0  UDMAP0 Threads
OSPI Example
0x6000 0xE000 = 0x8000 | 0x6000 UDMAP0 Threads UDMAP0 Threads
CRC Example
0x6000 0xE000 = 0x8000 | 0x6000 UDMAP0 Threads UDMAP0 Threads
ADC Example
0x7400 0xE000 = 0x8000 | 0x6000 MCU_NAVSS0 / MCU_PDMA_ADC UDMAP0 Threads

The source thread for the SPI example, in TX mode is the first in the UDMAP0 threads and "the host will need to first pair the channel with a remote data source (normally a
UDMA-P channel), setup the static TR for the channel, and enable the thread"[10.3.1.3.4.3 Destination Channel Initialization in spruil1c.pdf]

My questions:

  1. For more than one arbitrary peripheral in TX mode, the source thread must be in the range (0x6000 - 0x0x6FFF)? If yes, where can I find the UDMAP0 thread mapping? How many threads actually belong to UDMAP0 Threads category and which is the channel designation? How si this https://software-dl.ti.com/tisci/esd/latest/5_soc_doc/j721e/dma_cfg.html channel designation related to the UDMAP Threads?
  2. For more than one arbitrary peripheral in RX mode, the destination thread should be the same (source) thread for the TX mode, but as a destination thread (0x8000 | 0x6000), in this example?
  3. How to pair more than one SPI DMA channel? (i.e. MCU_SPI_0_RX_0, MCU_SPI_0_TX_0 and MAIN_SPI_0_RX_0, MCU_SPI_0_TX_0)? Please provide a concrete example.

Thank you.

Best regards,
Mihai