This file contains the prototypes of the APIs present in the device abstraction layer file of CBUFF. This also contains some related macros.
Go to the source code of this file.
Data Structures | |
struct | CBUFF_Stats |
CBUFF Statistics. More... | |
struct | CBUFF_BufferCfg |
CBUFF Buffer configuration. More... | |
struct | CBUFF_LinkListParams |
CBUFF Linked List parameters. More... | |
struct | CBUFF_Attrs |
CBUFF instance attributes - used during init time. More... | |
struct | CBUFF_LVDSCfg |
CBUFF LVDS Initialization configuration. More... | |
struct | CBUFF_EDMAChannelCfg |
CBUFF EDMA channel resource configuration. More... | |
struct | CBUFF_EDMAInfo |
CBUFF EDMA Information block. More... | |
struct | CBUFF_SwSessionCfg |
CBUFF Software Triggered Session configuration. More... | |
struct | CBUFF_SessionCfg |
CBUFF configuration. More... | |
struct | CBUFF_InitCfg |
CBUFF Initialization Configuration. More... | |
struct | CBUFF_EDMATrackingEntry |
CBUFF EDMA Tracking Entry. More... | |
struct | CBUFF_Session |
CBUFF Session. More... | |
struct | CBUFF_Object |
CBUFF Driver. More... | |
struct | CBUFF_InterfaceFxn |
CBUFF Interface Function. More... | |
Macros | |
#define | CBUFF_ERRNO_BASE (-3300) |
CBUFF driver error base. More... | |
#define | CBUFF_MAX_USER_BUFFER (3U) |
Maximum number of user supplied data buffers which can be configured and sent over the interface. More... | |
#define | CBUFF_MAX_NUM_SESSION (7U) |
Maximum number of sessions which can be supported by the CBUFF Driver. More... | |
#define | CBUFF_EDMA_MAX_NUM_CHANNELS (32U) |
Maximum number of EDMA channels which can be used by the CBUFF driver. More... | |
#define | CBUFF_MAX_LINKED_LIST_SIZE (32U) |
Maximum number of linked list entries which can be tracked by the driver. More... | |
#define | CBUFF_LL_READ_THRESHOLD (0x4U) |
Read threshold configured in the Linked List Entries. This is used by the CBUFF 128bit FIFO. More... | |
#define | CBUFF_LL_WRITE_THRESHOLD (0x40U) |
Write threshold configured in the Linked List Entries. This is used by the CBUFF 128bit FIFO. More... | |
#define | CBUFF_MAX_TRANSFER_SIZE_CBUFF_UNITS (0x3FFFU) |
Maximum transfer size in CBUFF Units. More... | |
#define | CBUFF_MIN_TRANSFER_SIZE_CBUFF_UNITS ((CBUFF_LL_READ_THRESHOLD * 16U) / 2U) |
Minimum transfer size in CBUFF Units. More... | |
#define | CBUFF_Interface_MDO ((uint32_t) 1) /*! The CBUFF driver will send out the packets using the MDO/Aurora Interface */ |
#define | CBUFF_Interface_LVDS ((uint32_t) 2) /*! The CBUFF driver will send out the packets using the LVDS Interface */ |
#define | CBUFF_Command_GET_CBUFF_STATS ((uint32_t) 1) /*! get the statistics associated with the CBUFF driver */ |
#define | CBUFF_Command_CLEAR_CBUFF_STATS ((uint32_t) 2) /*! clear the statistics associated with the CBUFF driver */ |
#define | CBUFF_Command_GET_ACTIVE_SESSION ((uint32_t) 3) /*! Get the current active session in the CBUFF */ |
#define | CBUFF_OutputDataFmt_12bit ((uint32_t) 0) /*! 12bit output format */ |
#define | CBUFF_OutputDataFmt_14bit ((uint32_t) 1) /*! 14bit output format */ |
#define | CBUFF_OutputDataFmt_16bit ((uint32_t) 2) /*! 16bit output format */ |
#define | CBUFF_DataType_REAL ((uint32_t) 0) /*! Real Data */ |
#define | CBUFF_DataType_COMPLEX ((uint32_t) 1) /*! Complex Data */ |
#define | CBUFF_LVDSLaneFmtMapLANEx_FMT_0_y ((uint32_t) 0) /*! Use the LVDS Lane Format-0. */ |
#define | CBUFF_LVDSLaneFmtMapLANEx_FMT_1_y ((uint32_t) 1) /*! Use the LVDS Lane Format-1. */ |
#define | CBUFF_LLType_UNUSED ((uint32_t) 0) /*! CBUFF Linked List Entry is not being used */ |
CBUFF_LLType type of data transfer. More... | |
#define | CBUFF_LLType_USER ((uint32_t) 1) /*! CBUFF Linked List Entry holds a user buffer */ |
#define | CBUFF_LLType_HEADER ((uint32_t) 2) /*! CBUFF Linked List Entry holds a header */ |
CBUFF driver error codes | |
#define | CBUFF_STATUS_SUCCESS ((int32_t)0) |
No Error. More... | |
#define | CBUFF_EINVAL (CBUFF_ERRNO_BASE-1) |
Error Code: Invalid argument. More... | |
#define | CBUFF_ENOMEM (CBUFF_ERRNO_BASE-2) |
Error Code: Out of memory. More... | |
#define | CBUFF_EINUSE (CBUFF_ERRNO_BASE-3) |
Error Code: Operation cannot be implemented because the CBUFF driver is in use. More... | |
#define | CBUFF_ENOTSUP (CBUFF_ERRNO_BASE-4) |
Error Code: Operation cannot be implemented because the CBUFF driver is not supporting this currently. More... | |
#define | CBUFF_EDMA_FAIL (CBUFF_ERRNO_BASE-5) |
Error Code: The application failed to provide the EDMA resources which are required by the CBUFF driver to support the application use case. More... | |
#define | CBUFF_ELIMIT (CBUFF_ERRNO_BASE-6) |
Error Code: Limit exceeded. More... | |
Typedefs | |
typedef void * | CBUFF_Handle |
A handle that is returned from a CBUFF_open() call. More... | |
typedef void * | CBUFF_SessionHandle |
A handle that is returned from a CBUFF Session. More... | |
typedef uint32_t | CBUFF_Interface |
High Speed Interface. More... | |
typedef uint32_t | CBUFF_Command |
CBUFF Command. More... | |
typedef uint32_t | CBUFF_OutputDataFmt |
Output Data Format. More... | |
typedef uint32_t | CBUFF_DataType |
Data Type. More... | |
typedef uint32_t | CBUFF_LVDSLaneFmtMap |
LVDS Lane Format Map. More... | |
typedef uint32_t | CBUFF_LLType |
CBUFF Linked List Type. More... | |
typedef int32_t(* | CBUFF_EDMAChannelAllocateFxn) (CBUFF_EDMAInfo *ptrEDMAInfo, CBUFF_EDMAChannelCfg *ptrEDMAChannelCfg) |
typedef void(* | CBUFF_EDMAChannelFreeFxn) (CBUFF_EDMAChannelCfg *ptrEDMAChannelCfg) |
typedef void(* | CBUFF_FrameDoneCallbackFxn) (CBUFF_SessionHandle sessionHandle) |
typedef int32_t(* | CBUFF_initFxn) (CBUFF_Object *ptrDriverMCB, int32_t *errCode) |
This is the function invoked by the CBUFF driver to initialize the high speed interface. More... | |
typedef int32_t(* | CBUFF_deinitFxn) (CBUFF_Object *ptrDriverMCB, int32_t *errCode) |
This is the function invoked by the CBUFF driver to deinitialize and shutdown the high speed interface. More... | |
typedef int32_t(* | CBUFF_openFxn) (CBUFF_Session *ptrSession, int32_t *errCode) |
This is the function invoked by the CBUFF driver to open the high speed interface for the specific session. More... | |
typedef int32_t(* | CBUFF_closeFxn) (CBUFF_Session *ptrSession, int32_t *errCode) |
This is the function invoked by the CBUFF driver to close the high speed interface for the specific session. More... | |
typedef void(* | CBUFF_initLinkListParamsFxn) (CBUFF_Session *ptrSession, CBUFF_LinkListParams *ptrLinkListParams) |
This is the function prototype invoked by the CBUFF Driver to initialize the linked list parameters for each high speed interface. More... | |
typedef void(* | CBUFF_finalizeLinkListParamsFxn) (CBUFF_Session *ptrSession, CBUFF_LinkListParams *ptrLinkListParams) |
This is the function prototype invoked by the CBUFF Driver to finalize the linked list parameters for the high speed interface. Once the parameters have been finalized they can be written to the CBUFF IP. More... | |
Functions | |
void | CBUFF_init (void) |
Description This function initializes the CBUFF module. This function must be called before any other functions are called. More... | |
CBUFF_Handle | CBUFF_open (CBUFF_InitCfg *ptrInitCfg, int32_t *errCode) |
Description The function Configures CBUFF peripheral with user provided configuration. More... | |
CBUFF_SessionHandle | CBUFF_createSession (CBUFF_Handle cbuffHandle, CBUFF_SessionCfg *ptrSessionCfg, int32_t *errCode) |
Description The function creates a session with the specified configuration. More... | |
int32_t | CBUFF_close (CBUFF_SessionHandle sessionHandle, int32_t *errCode) |
Description The function deletes the specific session. More... | |
int32_t | CBUFF_deinit (CBUFF_Handle cBuffHandle, int32_t *errCode) |
Description The function is used to deinitialize and shutdown the CBUFF driver. More... | |
int32_t | CBUFF_control (CBUFF_Handle cBuffHandle, CBUFF_Command cmd, void *arg, uint32_t argLen, int32_t *errCode) |
Description The function is used to get/set information from the CBUFF Driver. More... | |
int32_t | CBUFF_activateSession (CBUFF_SessionHandle sessionHandle, int32_t *errCode) |
Description The function activates the specific CBUFF session. More... | |
int32_t | CBUFF_deactivateSession (CBUFF_SessionHandle sessionHandle, int32_t *errCode) |
Description The function deactivates the specific CBUFF session. More... | |
Variables | |
CBUFF_Attrs | gCbuffAttrs [] |
Externally defined driver configuration array. More... | |
CBUFF_Object | gCbuffObject [] |
Externally defined driver object. More... | |
CBUFF_Object * | gCbuffObjectPtr [] |
Externally defined driver object pointer. More... | |
uint32_t | gCbuffConfigNum |
Externally defined driver configuration array size. More... | |
|
extern |
Externally defined driver configuration array.
|
extern |
Externally defined driver object.
|
extern |
Externally defined driver object pointer.
|
extern |
Externally defined driver configuration array size.