EDMA3 Driver Initialization APIs
[EDMA3 Driver APIs]

Functions

EDMA3_DRV_Result EDMA3_DRV_create (uint32_t phyCtrllerInstId, const EDMA3_DRV_GblConfigParams *gblCfgParams, const void *miscParam)
 Create EDMA3 Driver Object.
EDMA3_DRV_Result EDMA3_DRV_delete (uint32_t phyCtrllerInstId, const void *param)
 Delete EDMA3 Driver Object.
EDMA3_DRV_Handle EDMA3_DRV_open (uint32_t phyCtrllerInstId, const EDMA3_DRV_InitConfig *initCfg, EDMA3_DRV_Result *errorCode)
 Open EDMA3 Driver Instance.
EDMA3_DRV_Result EDMA3_DRV_close (EDMA3_DRV_Handle hEdma, const void *param)
 Close the EDMA3 Driver Instance.

Function Documentation

EDMA3_DRV_Result EDMA3_DRV_create ( uint32_t  phyCtrllerInstId,
const EDMA3_DRV_GblConfigParams gblCfgParams,
const void *  miscParam 
)

Create EDMA3 Driver Object.

This API is used to create the EDMA3 Driver Object. It should be called only ONCE for each EDMA3 hardware instance.

Init-time Configuration structure for EDMA3 hardware is provided to pass the SoC specific information. This configuration information could be provided by the user at init-time. In case user doesn't provide it, this information could be taken from the SoC specific configuration file edma3_<SOC_NAME>_cfg.c, in case it is available.

This API clears the error specific registers (EMCR/EMCRh, QEMCR, CCERRCLR) and sets the TCs priorities and Event Queues' watermark levels, if the 'miscParam' argument is NULL. User can avoid these registers' programming (in some specific use cases) by SETTING the 'isSlave' field of 'EDMA3_RM_MiscParam' configuration structure and passing this structure as the third argument (miscParam).

After successful completion of this API, Driver Object's state changes to EDMA3_DRV_CREATED from EDMA3_DRV_DELETED.

Parameters:
phyCtrllerInstId [IN] EDMA3 Controller Instance Id (Hardware instance id, starting from 0).
gblCfgParams [IN] SoC specific configuration structure for the EDMA3 Hardware.
miscParam [IN] Misc configuration options provided in the structure 'EDMA3_DRV_MiscParam'. For default options, user can pass NULL in this argument.
Returns:
EDMA3_DRV_SOK or EDMA3_DRV Error code
EDMA3_DRV_Result EDMA3_DRV_delete ( uint32_t  phyCtrllerInstId,
const void *  param 
)

Delete EDMA3 Driver Object.

Use this API to delete the EDMA3 Driver Object. It should be called only ONCE for each EDMA3 hardware instance. It should be called ONLY after closing all the EDMA3 Driver Instances.

This API is used to delete the EDMA3 Driver Object. It should be called once for each EDMA3 hardware instance, ONLY after closing all the previously opened EDMA3 Driver Instances.

After successful completion of this API, Driver Object's state changes to EDMA3_DRV_DELETED.

Parameters:
phyCtrllerInstId [IN] EDMA3 Phy Controller Instance Id (Hardware instance id, starting from 0).
param [IN] For possible future use.
Returns:
EDMA3_DRV_SOK or EDMA3_DRV Error code
EDMA3_DRV_Handle EDMA3_DRV_open ( uint32_t  phyCtrllerInstId,
const EDMA3_DRV_InitConfig initCfg,
EDMA3_DRV_Result *  errorCode 
)

Open EDMA3 Driver Instance.

This API is used to open an EDMA3 Driver Instance. It could be called multiple times, for each possible EDMA3 shadow region. Maximum EDMA3_MAX_REGIONS instances are allowed for each EDMA3 hardware instance. Multiple instances on the same shadow region are NOT allowed.

Also, only ONE Master Driver Instance is permitted. This master instance (and hence the region to which it belongs) will only receive the EDMA3 interrupts, if enabled.

User could pass the instance specific configuration structure (initCfg.drvInstInitConfig) as a part of the 'initCfg' structure, during init-time. In case user doesn't provide it, this information could be taken from the SoC specific configuration file edma3_<SOC_NAME>_cfg.c, in case it is available.

By default, this EDMA3 Driver instance will clear the PaRAM Sets while allocating them. To change the default behavior, user should use the IOCTL interface appropriately.

Parameters:
phyCtrllerInstId [IN] EDMA3 Controller Instance Id (Hardware instance id, starting from 0).
initCfg [IN] Used to Initialize the EDMA3 Driver Instance (Master or Slave).
errorCode [OUT] Error code while opening DRV instance.
Returns:
EDMA3_DRV_Handle : If successfully opened, the API will return the associated driver's instance handle.
Note:
This function disables the global interrupts (by calling API edma3OsProtectEntry with protection level EDMA3_OS_PROTECT_INTERRUPT) while modifying the global data structures, to make it re-entrant.
EDMA3_DRV_Result EDMA3_DRV_close ( EDMA3_DRV_Handle  hEdma,
const void *  param 
)

Close the EDMA3 Driver Instance.

This API is used to close a previously opened EDMA3 Driver Instance.

Parameters:
hEdma [IN] Handle to the previously opened EDMA3 Driver Instance.
param [IN] For possible future use
Returns:
EDMA3_DRV_SOK or EDMA3_DRV Error code
Note:
This function disables the global interrupts (by calling API edma3OsProtectEntry with protection level EDMA3_OS_PROTECT_INTERRUPT) while modifying the global data structures, to make it re-entrant.

Generated on Mon Feb 14 18:34:00 2011 for EDMA3 Driver by  doxygen 1.6.1