# TCP3D Driver Data Structures
[TCP3 Decoder Driver]

## Data Structures

struct | Tcp3d_SizeCfg
| Parameters which determine buffer sizes. More...
struct | Tcp3d_MemBuffer
| Memory Buffer Structure. More...
struct | Tcp3d_CtrlParams
| The TCP3 decoder initialization parameters structure holds all the information concerning the user channel. These values are used to generate the control configuration register values for the TCP3D. More...
struct | Tcp3d_InCfgParams
| The TCP3D runtime parameters structure holds all the information that could be changed per code block. These values are used to generate the appropriate input configuration register values for the TCP3D. More...
struct | Tcp3d_Config
| Structure to store TCP3 decoder specific values to identify its instance configuration information. This is created to facilitate the application to choose TCP3 decoder (either TCP3D_A or TCP3D_B) for which the driver will be configured. More...
struct | Tcp3d_Instance
| TCP3D Driver instance structure. More...
struct | Tcp3d_InitParams
| TCP3D Driver Initialization parameters structure. More...
struct | Tcp3d_Sts
| TCP3D Driver Status structure. More...
struct | Tcp3d_Ctrl
| TCP3D Driver Control structure. More...

## Typedefs

typedef enum Tcp3d_BufClass | Tcp3d_BufClass
| Memory Buffer class definitions.
typedef enum Tcp3d_Result | Tcp3d_Result
| Driver return values to application.
typedef enum Tcp3d_State | Tcp3d_State
| Driver state indication.
typedef enum Tcp3d_CtrlCmd | Tcp3d_CtrlCmd
| Driver Control Commands.
typedef enum Tcp3d_StsCmd | Tcp3d_StsCmd
| Driver Status query Commands.
typedef struct Tcp3d_SizeCfg | Tcp3d_SizeCfg
| Parameters which determine buffer sizes.
typedef struct Tcp3d_MemBuffer | Tcp3d_MemBuffer
| Memory Buffer Structure.
typedef struct Tcp3d_CtrlParams | Tcp3d_CtrlParams
| The TCP3 decoder initialization parameters structure holds all the information concerning the user channel. These values are used to generate the control configuration register values for the TCP3D.
typedef struct Tcp3d_InCfgParams | Tcp3d_InCfgParams
| The TCP3D runtime parameters structure holds all the information that could be changed per code block. These values are used to generate the appropriate input configuration register values for the TCP3D.
typedef struct Tcp3d_Config | Tcp3d_Config
| Structure to store TCP3 decoder specific values to identify its instance configuration information. This is created to facilitate the application to choose TCP3 decoder (either TCP3D_A or TCP3D_B) for which the driver will be configured.
typedef struct Tcp3d_Instance | Tcp3d_Instance
| TCP3D Driver instance structure.
typedef struct Tcp3d_InitParams | Tcp3d_InitParams
| TCP3D Driver Initialization parameters structure.
typedef struct Tcp3d_Sts | Tcp3d_Sts
| TCP3D Driver Status structure.
typedef struct Tcp3d_Ctrl | Tcp3d_Ctrl
| TCP3D Driver Control structure.

## Enumerations

enum | Tcp3d_BufClass { Tcp3d_BufClass_EXTERNAL = 0, Tcp3d_BufClass_INTERNAL, Tcp3d_BufClass_L2RAM, Tcp3d_BufClass_L2SRAM, Tcp3d_BufClass_MSMC }
| Memory Buffer class definitions. More...
enum | Tcp3d_Result { TCP3D_DRV_NO_ERR, TCP3D_DRV_FAIL, TCP3D_DRV_INPUT_LIST_FULL, TCP3D_DRV_INVALID_INSTANCE_NUMBER, TCP3D_DRV_INVALID_PARAMETER, TCP3D_DRV_INVALID_STATE, TCP3D_DRV_INVALID_BUFF, TCP3D_DRV_INVALID_EDMA_CH, TCP3D_DRV_FAIL_EDMA_PARAM_INIT, TCP3D_DRV_FAIL_EDMA_ENABLE_CHANNEL, TCP3D_DRV_FAIL_EDMA_GET_PARAM_ADDR
}
| Driver return values to application. More...
enum | Tcp3d_State { TCP3D_DRV_STATE_INIT = 0, TCP3D_DRV_STATE_RUNNING, TCP3D_DRV_STATE_PAUSE }
| Driver state indication. More...
enum | Tcp3d_CtrlCmd { TCP3D_DRV_SET_REVT_INT, TCP3D_DRV_CLR_REVT_INT, TCP3D_DRV_SET_L2P_INT, TCP3D_DRV_SET_PING_PAUSE_INT, TCP3D_DRV_SET_PONG_PAUSE_INT, TCP3D_DRV_SET_PING_L2P_INT, TCP3D_DRV_SET_PONG_L2P_INT }
| Driver Control Commands. More...
enum | Tcp3d_StsCmd { TCP3D_DRV_GET_STATE, TCP3D_DRV_GET_PING_OUT_IDX, TCP3D_DRV_GET_PONG_OUT_IDX, TCP3D_DRV_GET_MIN_OUT_IDX }
| Driver Status query Commands. More...

## Typedef Documentation

typedef struct Tcp3d_Config Tcp3d_Config

Structure to store TCP3 decoder specific values to identify its instance configuration information. This is created to facilitate the application to choose TCP3 decoder (either TCP3D_A or TCP3D_B) for which the driver will be configured.

This structure could be used for both PING and PONG specific values.

typedef struct Tcp3d_CtrlParams Tcp3d_CtrlParams

The TCP3 decoder initialization parameters structure holds all the information concerning the user channel. These values are used to generate the control configuration register values for the TCP3D.

Valid values for each field are provided in the brackets in the comments following the field name.

typedef struct Tcp3d_InCfgParams Tcp3d_InCfgParams

The TCP3D runtime parameters structure holds all the information that could be changed per code block. These values are used to generate the appropriate input configuration register values for the TCP3D.

Valid values for each field are provided in the brackets in the comments following the field name.

typedef struct Tcp3d_MemBuffer Tcp3d_MemBuffer

Memory Buffer Structure.

This structure is used to request and/or supply the dynamic memory to the components.

typedef struct Tcp3d_SizeCfg Tcp3d_SizeCfg

Parameters which determine buffer sizes.

These are configured and passed with getNumBuf() & getBufDesc() funcitons to get the buffer requirement of the TCP3.

## Enumeration Type Documentation

enum Tcp3d_BufClass

Memory Buffer class definitions.

Enumerator:

  Tcp3d_BufClass_EXTERNAL | generic (bulk) external memory
  Tcp3d_BufClass_INTERNAL | generic (bulk) internal memory
  Tcp3d_BufClass_L2RAM | Local L2 Memory
  Tcp3d_BufClass_L2SRAM | Shared L2 Memory (on another core)
  Tcp3d_BufClass_MSMC | Shared Memory

enum Tcp3d_CtrlCmd

Driver Control Commands.

Enumerator:

  TCP3D_DRV_SET_REVT_INT | Used for enabling or disbling the interrupt generation by REVT channels. This is done using the EDMA CC IER or IERH register.
  TCP3D_DRV_CLR_REVT_INT | Used for clearing the pending interrupts generated by REVT channels in the EDMA CC IPR or IPRH register.
  TCP3D_DRV_SET_L2P_INT | Used for enabling or disbling the interrupt generation by L2P channels. This is done by setting the corresponding PaRAM OPT field bit. Note that this will result in REVT Channel ISR as the TCC value on the L2P channel PaRAM is set with REVT channel number for chaining use.
  TCP3D_DRV_SET_PING_PAUSE_INT | Set interrupt for PING Pause channel (depricated)
  TCP3D_DRV_SET_PONG_PAUSE_INT | Set interrupt for PONG Pause channel (depricated)
  TCP3D_DRV_SET_PING_L2P_INT | Set interrupt for PING L2P channel (depricated)
  TCP3D_DRV_SET_PONG_L2P_INT | Set interrupt for PONG L2P channel (depricated)

enum Tcp3d_Result

Driver return values to application.

Enumerator:

  TCP3D_DRV_NO_ERR | No Error, Success
  TCP3D_DRV_FAIL | General Error
  TCP3D_DRV_INPUT_LIST_FULL | Enqueue error message
  TCP3D_DRV_INVALID_INSTANCE_NUMBER | Unsupported Instance number
  TCP3D_DRV_INVALID_PARAMETER | Parameter value is not correct
  TCP3D_DRV_INVALID_STATE | API called in invalid state
  TCP3D_DRV_INVALID_BUFF | Invalid buffer pointer
  TCP3D_DRV_INVALID_EDMA_CH | Invalid EDMA channel
  TCP3D_DRV_FAIL_EDMA_PARAM_INIT | EDMA PaRAM initialization failed
  TCP3D_DRV_FAIL_EDMA_ENABLE_CHANNEL | EDMA enable channel failed
  TCP3D_DRV_FAIL_EDMA_GET_PARAM_ADDR | EDMA get PaRAM address failed

enum Tcp3d_State

Driver state indication.

Enumerator:

  TCP3D_DRV_STATE_INIT | This is the driver init state which is used to set in the state variables either at the end of initialization or after the reset.
  TCP3D_DRV_STATE_RUNNING | This state indicates the driver is running in a steady state. This is used when ever the driver start is done. In this state, the code blocks are DMAed from input list to TCP3D for execution continuously.
  TCP3D_DRV_STATE_PAUSE | This state indicates the driver is halted from steady state execution. It could happen if chain to the next code block is not available when the time previous block was DMAed for execution or there are no more code blocks for decoding. If there are more blocks for decoding, restart is required for the driver to complete all decoding.

enum Tcp3d_StsCmd

Driver Status query Commands.

Enumerator:

  TCP3D_DRV_GET_STATE | Get driver state information
  TCP3D_DRV_GET_PING_OUT_IDX | To compute the PING output index in the pseudo PaRAM list
  TCP3D_DRV_GET_PONG_OUT_IDX | To compute the PONG output index in the pseudo PaRAM list
  TCP3D_DRV_GET_MIN_OUT_IDX | To compute minimum output index in the pseudo PaRAM list, used in the wrap-around case

Copyright 2012, Texas Instruments Incorporated