Defines | Data Structures | Typedefs | Enumerations

IRES EDMA3 Protocol

Defines

#define IRES_EDMA3CHAN_PROTOCOLNAME   "ti.sdo.fc.ires.edma3chan"
 Name used to describe this protocol.
#define EDMA3CHAN_MODNAME   "ti.sdo.fc.ires.edma3chan"
 Name to pass to Diags_setMask() to enable logging for EDMA3CHAN functions.
#define IRES_EDMA3CHAN_PROTOCOLREVISION_1_0_0   {1, 0, 0}
 Protocol Revision for the 1.0.0 version of resource.
#define IRES_EDMA3CHAN_SETPROTOCOLREVISION_1_0_0(rev)
#define IRES_EDMA3CHAN_PROTOCOLREVISION_2_0_0   {2, 0, 0}
 Protocol Revision for the 2.0.0 version of resource.
#define IRES_EDMA3CHAN_SETPROTOCOLREVISION_2_0_0(rev)
#define IRES_EDMA3CHAN_MAXPARAMS   512
 Maximum number of params and tccs that can be requested in one handle.
#define IRES_EDMA3CHAN_MAXTCCS   32
#define IRES_EDMA3CHAN_NUMDESTTYPES   8
#define IRES_EDMA3CHAN_PARAM_ANY   512
 Macros to represent different PaRam, Channel and tcc types.
#define IRES_EDMA3CHAN_PARAM_NONE   513
#define IRES_EDMA3CHAN_TCC_ANY   514
#define IRES_EDMA3CHAN_TCC_NONE   515
#define IRES_EDMA3CHAN_EDMACHAN_ANY   516
#define IRES_EDMA3CHAN_QDMACHAN_ANY   516
#define IRES_EDMA3CHAN_CHAN_NONE   518

Data Structures

struct  IRES_EDMA3CHAN_PaRamStruct
 Representation of actual PaRam hardware registers. More...
struct  IRES_EDMA3CHAN_ProtocolArgs
 EDMA3 Linked Transfer Protocol Arguments definition. More...
struct  IRES_EDMA3CHAN_Obj
 Object returned to the algorithm requesting EDMA3 resources. More...
struct  IRES_EDMA3CHAN_EDMA3ShadowRegister
 Defines the shadow register part of the EDMA3 CC Register Layer. More...
struct  IRES_EDMA3CHAN_EDMA3DraeRegister
 Defines the Region Enable register part of the EDMA3 CC Register Layer. More...
struct  IRES_EDMA3CHAN_EDMA3RegisterLayer
 Defines the EDMA3 CC Register Layout. More...
struct  IRES_EDMA3CHAN_Properties
 Static Resource Properties. More...
struct  IRES_EDMA3CHAN2_Obj
 Object returned to the algorithm requesting EDMA3 resources. More...

Typedefs

typedef struct IRES_EDMA3CHAN_ObjIRES_EDMA3CHAN_Handle
 Handle to "logical" EDMA3CHAN resource, version {1,0,0}.
typedef struct
IRES_EDMA3CHAN2_Obj
IRES_EDMA3CHAN2_Handle
 Handle to "logical" EDMA3CHAN resource, version {2,0,0}.
typedef struct
IRES_EDMA3CHAN_PaRamStruct 
IRES_EDMA3CHAN_PaRamStruct
 Representation of actual PaRam hardware registers.
typedef struct
IRES_EDMA3CHAN_ProtocolArgs 
IRES_EDMA3CHAN_ProtocolArgs
 EDMA3 Linked Transfer Protocol Arguments definition.
typedef struct IRES_EDMA3CHAN_Obj IRES_EDMA3CHAN_Obj
 Object returned to the algorithm requesting EDMA3 resources.
typedef struct
IRES_EDMA3CHAN_EDMA3ShadowRegister 
IRES_EDMA3CHAN_EDMA3ShadowRegister
 Defines the shadow register part of the EDMA3 CC Register Layer.
typedef struct
IRES_EDMA3CHAN_EDMA3DraeRegister 
IRES_EDMA3CHAN_EDMA3DraeRegister
 Defines the Region Enable register part of the EDMA3 CC Register Layer.
typedef struct
IRES_EDMA3CHAN_EDMA3RegisterLayer 
IRES_EDMA3CHAN_EDMA3RegisterLayer
 Defines the EDMA3 CC Register Layout.
typedef struct
IRES_EDMA3CHAN_Properties 
IRES_EDMA3CHAN_Properties
 Static Resource Properties.
typedef enum
IRES_EDMA3CHAN_DmaDestType 
IRES_EDMA3CHAN_DmaDestType
 Describes the Destination type of DMA writes This information is used to distribute different types of DMA writes to different EDMA3 Queues.
typedef struct IRES_EDMA3CHAN2_Obj IRES_EDMA3CHAN2_Obj
 Object returned to the algorithm requesting EDMA3 resources.

Enumerations

enum  IRES_EDMA3CHAN_DmaDestType {
  INTMEMORY0 = 0,
  INTMEMORY1 = 1,
  INTMEMORY2 = 2,
  EXTMEMORY0 = 3,
  EXTMEMORY1 = 4,
  EXTMEMORY2 = 5,
  OTHER0 = 6,
  OTHER1 = 7
}
 

Describes the Destination type of DMA writes This information is used to distribute different types of DMA writes to different EDMA3 Queues.

More...

Detailed Description

Allows algorithms to request and receive handles representing EDMA3 resources associated with a single EDMA3 channel.


Define Documentation

#define IRES_EDMA3CHAN_PROTOCOLNAME   "ti.sdo.fc.ires.edma3chan"

Name used to describe this protocol.

#define EDMA3CHAN_MODNAME   "ti.sdo.fc.ires.edma3chan"

Name to pass to Diags_setMask() to enable logging for EDMA3CHAN functions.

Remarks:
For example, Diags_setMask(EDMA3CHAN_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.
#define IRES_EDMA3CHAN_PROTOCOLREVISION_1_0_0   {1, 0, 0}

Protocol Revision for the 1.0.0 version of resource.

#define IRES_EDMA3CHAN_SETPROTOCOLREVISION_1_0_0 (   rev )
Value:
{(rev)->Major = 1; \
        (rev)->Source = 0; (rev)->Radius = 0;}
#define IRES_EDMA3CHAN_PROTOCOLREVISION_2_0_0   {2, 0, 0}

Protocol Revision for the 2.0.0 version of resource.

#define IRES_EDMA3CHAN_SETPROTOCOLREVISION_2_0_0 (   rev )
Value:
{(rev)->Major = 2; \
        (rev)->Source = 0; (rev)->Radius = 0;}
#define IRES_EDMA3CHAN_MAXPARAMS   512

Maximum number of params and tccs that can be requested in one handle.

#define IRES_EDMA3CHAN_MAXTCCS   32
#define IRES_EDMA3CHAN_NUMDESTTYPES   8
#define IRES_EDMA3CHAN_PARAM_ANY   512

Macros to represent different PaRam, Channel and tcc types.

#define IRES_EDMA3CHAN_PARAM_NONE   513
#define IRES_EDMA3CHAN_TCC_ANY   514
#define IRES_EDMA3CHAN_TCC_NONE   515
#define IRES_EDMA3CHAN_EDMACHAN_ANY   516
#define IRES_EDMA3CHAN_QDMACHAN_ANY   516
#define IRES_EDMA3CHAN_CHAN_NONE   518

Typedef Documentation

Handle to "logical" EDMA3CHAN resource, version {1,0,0}.

Handle to "logical" EDMA3CHAN resource, version {2,0,0}.

Representation of actual PaRam hardware registers.

See also:
https://processors.wiki.ti.com/index.php/EDMA3

EDMA3 Linked Transfer Protocol Arguments definition.

Remarks:
When requesting resources on a device on which DCHMAP feature does not exist, please follow these rules:
  1. Break up requests into LOGICAL channel requests and requests for PaRams.
  2. Logical Qdma/Edma channel => Q/E channel + PaRam + TCC
  3. Avoid requesting EDMA3 resources of specific number, for most transfers an "ANY" type request should be sufficient
  4. For linked transfers, request a Logical channel in one descriptor, and "N" contiguous Params in another descriptor
  5. If a logical channel request is combined with a request for multiple Params or Tccs, this might result in an inefficient allocation of resources, and in some cases, simplifying assumptions about the resource requests may be made by the allocator.

Object returned to the algorithm requesting EDMA3 resources.

Remarks:
IRES_EDMA3CHAN_Obj extends the generic IRES_Obj structure.
IRES_EDMA3CHAN2_Obj corresponds to IRES_EDMA3CHAN_PROTOCOLREVISION_1_0_0.
See also:
IRES_EDMA3CHAN2_Obj

Defines the shadow register part of the EDMA3 CC Register Layer.

Defines the Region Enable register part of the EDMA3 CC Register Layer.

Defines the EDMA3 CC Register Layout.

Static Resource Properties.

Describes the Destination type of DMA writes This information is used to distribute different types of DMA writes to different EDMA3 Queues.

Remarks:
This enumeration data type should not be used for storage, but rather only for its constant values.

Object returned to the algorithm requesting EDMA3 resources.

Remarks:
IRES_EDMA3CHAN2_Obj extends the generic IRES_Obj structure.
IRES_EDMA3CHAN2_Obj corresponds to IRES_EDMA3CHAN_PROTOCOLREVISION_2_0_0.
IRES_EDMA3CHAN2_Obj has been enhanced from IRES_EDMA3CHAN_Obj's IRES_EDMA3CHAN_PROTOCOLREVISION_1_0_0 with the addition of the queueMap field.
Request this version of resource by specifying revision {2,0,0} when requesting the IRES_EDMA3CHAN resource.
See also:
IRES_EDMA3CHAN_Obj

Enumeration Type Documentation

Describes the Destination type of DMA writes This information is used to distribute different types of DMA writes to different EDMA3 Queues.

Remarks:
This enumeration data type should not be used for storage, but rather only for its constant values.
Enumerator:
INTMEMORY0 
INTMEMORY1 
INTMEMORY2 
EXTMEMORY0 
EXTMEMORY1 
EXTMEMORY2 
OTHER0 
OTHER1 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Copyright 2012, Texas Instruments Incorporated