Data Structures | Defines | Typedefs | Enumerations | Functions
cppi_drv.h File Reference

This is the CPPI Low Level Driver include file. More...

#include <ti/csl/cslr_device.h>
#include <ti/csl/cslr_cppidma_global_config.h>
#include <ti/csl/cslr_cppidma_rx_channel_config.h>
#include <ti/csl/cslr_cppidma_rx_flow_config.h>
#include <ti/csl/cslr_cppidma_tx_channel_config.h>
#include <ti/csl/cslr_cppidma_tx_scheduler_config.h>
#include <ti/csl/csl_cppi.h>
#include "cppiver.h"

Data Structures

struct  Cppi_GlobalCPDMAConfigParams
 CPPI global configuration structure. More...
struct  Cppi_HeapParams
 CPPI heap configuration structure (optional) More...
struct  Cppi_CpDmaInitCfg
 CPPI CPDMA configuration structure. More...
struct  Cppi_TxChInitCfg
 CPPI transmit channel configuration structure. More...
struct  Cppi_RxChInitCfg
 CPPI receive channel configuration structure. More...
struct  Cppi_RxFlowCfg
 CPPI receive flow configuration structure. More...
struct  Cppi_StartCfg
 CPPI start configuration structure. More...
struct  Cppi_InitCfg
 CPPI init configuration structure. More...

Defines

#define CPPI_PARAM_NOT_SPECIFIED   -1
#define CPPI_SOK   0
#define CPPI_LLD_EBASE   (-128)
#define CPPI_CPDMA_NOT_INITIALIZED   CPPI_LLD_EBASE-1
#define CPPI_INVALID_PARAM   CPPI_LLD_EBASE-2
#define CPPI_CHANNEL_NOT_OPEN   CPPI_LLD_EBASE-3
#define CPPI_FLOW_NOT_OPEN   CPPI_LLD_EBASE-4
#define CPPI_TX_CHANNELS_NOT_CLOSED   CPPI_LLD_EBASE-5
#define CPPI_RX_CHANNELS_NOT_CLOSED   CPPI_LLD_EBASE-6
#define CPPI_RX_FLOWS_NOT_CLOSED   CPPI_LLD_EBASE-7
#define CPPI_QMSS_MEMREGION_NOT_INITIALIZED   CPPI_LLD_EBASE-8
#define CPPI_QUEUE_OPEN_ERROR   CPPI_LLD_EBASE-9
#define CPPI_EPIB_NOT_PRESENT   CPPI_LLD_EBASE-10
#define CPPI_PSDATA_NOT_PRESENT   CPPI_LLD_EBASE-11
#define CPPI_CPDMA_NOT_CLOSED   CPPI_LLD_EBASE-12
#define CPPI_RM_ERR_FREEING_RESOURCE   CPPI_LLD_EBASE-13
#define CPPI_RM_RESOURCE_NAME_MAX_CHARS   32

Typedefs

typedef void * Cppi_RmServiceHnd
 CPPI RM Service Handle.
typedef int32_t Cppi_Result
 CPPI return result.
typedef uint32_t * Cppi_Handle
 CPPI handle.
typedef uint32_t * Cppi_ChHnd
 CPPI channel handle.
typedef uint32_t * Cppi_FlowHnd
 CPPI receive flow handle.

Enumerations

enum  Cppi_ChType { Cppi_ChType_RX_CHANNEL = 0, Cppi_ChType_TX_CHANNEL }
 CPPI Channel type. More...
enum  Cppi_ChState { Cppi_ChState_CHANNEL_DISABLE = 0, Cppi_ChState_CHANNEL_ENABLE }
 CPPI Channel Enable. More...
enum  Cppi_Wait { Cppi_Wait_NO_WAIT = 0, Cppi_Wait_WAIT }
 CPPI Wait after Channel Teardown. More...

Functions

Cppi_Result Cppi_initCfg (Cppi_GlobalConfigParams *cppiGblCfgParams, Cppi_InitCfg *initCfg)
Cppi_Result Cppi_init (Cppi_GlobalConfigParams *cppiGblCfgParams)
Cppi_Result Cppi_getHeapReq (Cppi_GlobalConfigParams *cppiGblCfgParams, uint32_t *size)
void Cppi_startCfg (Cppi_StartCfg *startCfg)
Cppi_Result Cppi_exit (void)
Cppi_Handle Cppi_open (Cppi_CpDmaInitCfg *initCfg)
Cppi_Result Cppi_close (Cppi_Handle hnd)
Cppi_ChHnd Cppi_txChannelOpen (Cppi_Handle hnd, Cppi_TxChInitCfg *cfg, uint8_t *isAllocated)
Cppi_ChHnd Cppi_rxChannelOpen (Cppi_Handle hnd, Cppi_RxChInitCfg *cfg, uint8_t *isAllocated)
Cppi_Result Cppi_channelEnable (Cppi_ChHnd hnd)
Cppi_Result Cppi_channelDisable (Cppi_ChHnd hnd)
Cppi_Result Cppi_channelTeardown (Cppi_ChHnd hnd, Cppi_Wait wait)
Cppi_Result Cppi_channelClose (Cppi_ChHnd hnd)
Cppi_Result Cppi_channelPause (Cppi_ChHnd hnd)
Cppi_Result Cppi_channelStatus (Cppi_ChHnd hnd)
Cppi_FlowHnd Cppi_configureRxFlow (Cppi_Handle hnd, Cppi_RxFlowCfg *cfg, uint8_t *isAllocated)
Cppi_Result Cppi_closeRxFlow (Cppi_FlowHnd hnd)
uint32_t Cppi_getChannelNumber (Cppi_ChHnd hnd)
uint32_t Cppi_getFlowId (Cppi_FlowHnd hnd)
Cppi_Result Cppi_setCpdmaLoopback (Cppi_Handle hnd, uint8_t loopback)
Cppi_Result Cppi_getCpdmaLoopback (Cppi_Handle hnd)
uint32_t Cppi_getVersion (void)
const char * Cppi_getVersionStr (void)

Detailed Description

This is the CPPI Low Level Driver include file.

============================================================================
(C) Copyright 2009-2013, Texas Instruments, Inc.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

Neither the name of Texas Instruments Incorporated nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Copyright 2014, Texas Instruments Incorporated