Dma overview

From Texas Instruments Embedded Processors Wiki

Jump to: navigation, search
Translate this page to   

Contents

Framework Components DMA Overview

Below is an overview of EDMA3 specific software that is available in Framework Components (FC) and also some information on what will be made available in future releases. The software in FC is often tailored for use by XDAIS algorithms, and therefore resides "wherever the algorithms reside" (e.g. on a DM644x device, this is typically the DSP, on a DM365 device, this is the ARM).

Note that special care must be taken when considering system-wide resource management. When multiple OS's are integrated onto a system (e.g. Linux and BIOS), often both drivers and codecs require DMA (and other) resources that may conflict. Often resources are partitioned ahead of time so that some are given to "CPU 1 resource managers" (e.g. Linux) and others to "CPU 2 resource managers" (e.g. FC/EDMA3LLD). A concrete example of this is the DM644x device which may run Linux on the ARM and BIOS/FC on the DSP, and both CPUs must share the EDMA3 peripheral.

Resource Manager offerings

Co-existence issues

Functional library offerings

Road Map for Framework Components

Usage Suggestions

Other

What is the EDMA3 Low Level Driver Package and what does it have to do with Framework Components.

The EDMA3 Low Level Driver (EDMA3 LLD) package has been developed by the PSP team in TI India for use by device drivers. It consists of both a functional library and a resource management library for the EDMA3 hardware

Framework Components is migrating to use the EDMA3 LLD RM to obtain access to "available" EDMA3 resources on the system. The new RMAN style IRES_EDMA3CHAN library already works on top of the EDMA3 LLD RM (all under the hood) to obtain "available" resources on the system. The DMAN3 library can also be configured to use the EDMA3 LLD RM to obtain "available" resources on the system .

The idea is that any entity (drivers, algorithms, applications) that requires access to EDMA3 hardware should negotiate its resources using this centralized EDMA3 LLD RM.

The ti.sdo.fc.edma3.Settings module configures the EDMA3 LLD RM for use by the RMAN/IRES_EDMA3CHAN

What about non-DSP, say ARM-side codecs that use EDMA3 resources from Framework Components.

In more recent releases (FC 2.21 and FC 2.22, see release notes for details), Framework Components has increased support for ARM codecs. As of FC 2.22, we have added RMAN and IRES support for ARM codecs that need EDMA3 resource management. The top-level pictures remains the same: codecs request EDMA3 resources through IRES_EDMA3CHAN interface. At the back-end, the IRES EDMA3CHAN, instead of using the EDMA3 Low Level Resource Manager, communicates with the Linux Support Package (LSP) via the ti.sdo.fc.edma3.Settings module, to obtain resources from the Linux kernel that are currently available. Currently, this support is available for DM355 and DM365 devices. See examples included with the Framework Components release to see how to configure these resource managers and have codecs request EDMA3 resources in a FC/CE framework.

Leave a Comment
Personal tools
Namespaces
Variants
Actions
Navigation
Print/export
Toolbox