SPRUJ28E November 2021 – September 2024 AM68 , AM68A , TDA4AL-Q1 , TDA4VE-Q1 , TDA4VL-Q1
The VPAC DRU (that is, UTC), together with the NAVSS UDMA module, are used to implement the K3 Data Movement Architecture (DMA) for the VPAC subsysem. The VPAC UTC implements a Transfer Controller (TC) for managing the DMA transfers and the NAVSS UDMA works as channel controller. The UDMA supports pushing TC into UTC on a PSI-L layer. The UTC module is optimized for transfer types such as 2D/3D/4D, that are typical of VPAC access patterns. The UTC module supports 256-bit data bus, 64 events, and total 64 channels in block copy mode.
Figure 6-49 captures the key components in the data movement flow for the VPAC subsystem. For further details about their connectivity and functional details, refer to Chapter Data Movement Architecture (DMA).
The use of another (SoC level) external DMA (that is, the SoC level DRU) can be used for long distance reads. Transfer triggers are always generated by the VPAC HTS module, while the VPAC UTC returns back transfer completion event to the HTS. The required set of transfers is programmed via the VPAC UDMA Channel Controller (that is, the UDMA module within NAVSS). However, the actual DMA engine used to carry out the transfers (VPAC UTC or SoC level DRU) remains transparent to the software programming model.
The VPAC UTC receives DMA transfer events to read or write the following set of data:
Two UTC instances are used inside the VPAC subsystem. UTC0 deals with real time (RT) transfer , and UTC1 is used for non-realtime (NRT) transfer. Both UTC0 and UTC1 data transfer channels are used for DMA transfers in and out of the VPAC SL2 memory. All 32 channels of the UTC0 are mapped on channel_number = [95:64] and are recommended to be used for real time data transfer only. All 64 channels of UTC1 are mapped on channel_number = [63:0] and are recommended to be used for all other DMA transfer needs of the VPAC subsystem. The VBUSM chanid signal carries channel number info for each UTC on its own VBUSM ports. Each UTC can generate up to 64 outstanding transactions.
These data transfer events would be mapped to channel within UTC. All VPAC data transfers are deterministic in nature and hence it does not require any interaction from the software in between a frame processing. TR (transfer requests) should be programmed in such a way that they operate on a circular buffer in SL2 memory and a full frame level buffer in DDR. For more details about the TR format, see Chapter Data Movement Architecture (DMA).
All data movement transactions at VPAC subsystem boundary are multiples of aligned 128-byte transfers.