![]() |
![]() |
Header file with data structure and API declarations for FFTC driver. More...
#include <ti/drv/fftc/fftc_lld.h>
#include <ti/drv/qmss/qmss_drv.h>
#include <ti/drv/cppi/cppi_drv.h>
#include <ti/drv/cppi/cppi_desc.h>
#include <ti/csl/csl_chip.h>
#include <ti/drv/fftc/fftcver.h>
Data Structures | |
struct | _Fftc_DeviceCfg |
Fftc_DeviceCfg. More... | |
struct | _Fftc_BlockInfo |
Fftc_BlockInfo. More... | |
struct | _Fftc_BlockResult |
Fftc_BlockResult. More... | |
struct | _Fftc_Result |
Fftc_Result. More... | |
struct | _Fftc_CppiDescCfg |
Fftc_CppiDescCfg. More... | |
struct | _Fftc_InterruptCfg |
Fftc_InterruptCfg. More... | |
struct | _Fftc_DrvCfg |
Fftc_DrvCfg. More... | |
struct | _Fftc_TxCfg |
Fftc_TxCfg. More... | |
struct | _Fftc_RxCfg |
Fftc_RxCfg. More... | |
Defines | |
#define | FFTC_MAX_NUM_INSTANCES (CSL_FFTC_PER_CNT) |
The number of FFTC instances in the SoC. | |
#define | FFTC_MAX_NUM_FLOWS (8) |
The number of CPPI flows reserved for each FFTC instance. | |
#define | FFTC_MAX_NUM_FREEQ (8) |
The maximum number of free queues that can be created by the FFTC driver for use by various flows. | |
#define | FFTC_MAX_NUM_RXOBJECTS (32) |
The maximum number of Rx objects that will be tracked by the driver globally in the system across all cores. | |
#define | FFTC_RETVAL_SUCCESS (0) |
When returned this, indicates the API succeeded in its intent. | |
#define | FFTC_RETVAL_EBAD_HANDLE (-1) |
When returned this, indicates that the handle passed to the API was invalid. | |
#define | FFTC_RETVAL_EINVALID_PARAMS (-2) |
When returned this, indicates that the input configuration passed to the API is invalid. | |
#define | FFTC_RETVAL_ENO_MEM (-3) |
When returned this, indicates that the API's attempt to allocate memory or retrieve descriptors failed and is out of memory/descriptors. | |
#define | FFTC_RETVAL_ENO_RESULT (-4) |
When returned this, indicates that there is no pending FFT result available for the application's Rx object. | |
#define | FFTC_RETVAL_EINV_DESTID_RESULT (-5) |
When returned this, indicates a flow id/Rx object Id mismatch, i.e., the destination Id received in the packet doesnt match the flow/Rx object on which it was actually received. | |
#define | FFTC_RETVAL_EFAILURE (-6) |
When returned this, indicates a general error. | |
Typedefs | |
typedef void * | Fftc_DrvHandle |
Fftc_DrvHandle. | |
typedef void * | Fftc_TxHandle |
Fftc_TxHandle. | |
typedef void * | Fftc_RxHandle |
Fftc_RxHandle. | |
typedef void * | Fftc_RequestHandle |
Fftc_RequestHandle. | |
typedef void * | Fftc_ResultHandle |
Fftc_ResultHandle. | |
typedef int32_t | Fftc_RetVal |
Fftc_RetVal. | |
typedef struct _Fftc_DeviceCfg | Fftc_DeviceCfg |
Fftc_DeviceCfg. | |
typedef struct _Fftc_BlockInfo | Fftc_BlockInfo |
Fftc_BlockInfo. | |
typedef struct _Fftc_BlockResult | Fftc_BlockResult |
Fftc_BlockResult. | |
typedef struct _Fftc_Result | Fftc_Result |
Fftc_Result. | |
typedef struct _Fftc_CppiDescCfg | Fftc_CppiDescCfg |
Fftc_CppiDescCfg. | |
typedef struct _Fftc_InterruptCfg | Fftc_InterruptCfg |
Fftc_InterruptCfg. | |
typedef struct _Fftc_DrvCfg | Fftc_DrvCfg |
Fftc_DrvCfg. | |
typedef struct _Fftc_TxCfg | Fftc_TxCfg |
Fftc_TxCfg. | |
typedef struct _Fftc_RxCfg | Fftc_RxCfg |
Fftc_RxCfg. | |
Functions | |
uint32_t | Fftc_getVersionID (void) |
const char * | Fftc_getVersionStr (void) |
Fftc_RetVal | Fftc_init (uint8_t instNum, Fftc_GlobalCfg *pFFTCGlobalCfg, Fftc_DeviceCfg *pFFTCDevCfg) |
Fftc_RetVal | Fftc_deInit (uint8_t instNum) |
uint8_t | Fftc_isInitialized (uint8_t instNum) |
Fftc_DrvHandle | Fftc_open (uint8_t instNum, Fftc_DrvCfg *pFFTCDrvCfg, Fftc_RetVal *pRetVal) |
Fftc_RetVal | Fftc_close (Fftc_DrvHandle hFFTC) |
Fftc_LldObj * | Fftc_getLLDObject (Fftc_DrvHandle hFFTC) |
Fftc_TxHandle | Fftc_txOpen (Fftc_DrvHandle hFFTC, Fftc_TxCfg *pFFTCTxCfg) |
Fftc_RetVal | Fftc_txClose (Fftc_TxHandle hFFTCTxInfo) |
Fftc_RxHandle | Fftc_rxOpen (Fftc_DrvHandle hFFTC, Fftc_RxCfg *pFFTCRxCfg) |
Fftc_RetVal | Fftc_rxClose (Fftc_RxHandle hFFTCRxInfo) |
Fftc_RetVal | Fftc_rxGetRxQueueNumber (Fftc_RxHandle hFFTCRxInfo) |
Fftc_RetVal | Fftc_rxGetFlowId (Fftc_RxHandle hFFTCRxInfo) |
Fftc_RetVal | Fftc_findFlowIdByQueueNumber (Fftc_DrvHandle hFFTC, uint32_t rxQueueNumber) |
Fftc_RetVal | Fftc_txGetRequestBuffer (Fftc_TxHandle hFFTCTxInfo, Fftc_BlockInfo *pDFTBlockSizeInfo, Fftc_QLocalCfg *pFFTCQConfig, uint32_t psInfoLen, uint8_t destnFlowId, uint16_t destnTagInfo, Fftc_RequestHandle *phFFTCRequest, uint8_t **ppReqDataBuffer, uint32_t *pMaxDataBufferLen) |
Fftc_RetVal | Fftc_txSubmitRequest (Fftc_TxHandle hFFTCTxInfo, Fftc_RequestHandle hRequestInfo, uint32_t reqBufferLen) |
Fftc_RetVal | Fftc_txFreeRequestBuffer (Fftc_TxHandle hFFTCTxInfo, Fftc_RequestHandle hRequestInfo) |
Fftc_RetVal | Fftc_rxProcessDesc (Fftc_RxHandle hFFTCRxInfo, Cppi_Desc *pCppiDesc, Fftc_ResultHandle *phResultInfo, uint8_t **ppResultBuffer, uint32_t *pResultBufferLen, uint8_t **ppPSInfo, uint32_t *pPSInfoLen, uint8_t *pFlowId, uint8_t *pSrcId, uint16_t *pDestnTagInfo) |
int32_t | Fftc_rxGetNumPendingResults (Fftc_RxHandle hFFTCRxInfo) |
Fftc_RetVal | Fftc_rxGetResult (Fftc_RxHandle hFFTCRxInfo, Fftc_ResultHandle *phResultInfo, uint8_t **ppResultBuffer, uint32_t *pResultBufferLen, uint8_t **ppPSInfo, uint32_t *pPSInfoLen, uint8_t *pFlowId, uint8_t *pSrcId, uint16_t *pDestnTagInfo) |
Fftc_RetVal | Fftc_rxFreeResult (Fftc_RxHandle hFFTCRxInfo, Fftc_ResultHandle hResultInfo) |
Fftc_RetVal | Fftc_rxParseResult (Fftc_RxHandle hFFTCRxInfo, Fftc_ResultHandle hResultInfo, uint8_t *pResultBuffer, uint32_t resultBufferLen, Fftc_BlockInfo *pDFTBlockSizeInfo, uint8_t bSupressSideInfo, uint16_t cyclicPrefixAddNum, Fftc_Result *pFFTResult) |
void | Fftc_rxHiPriorityRxISR (Fftc_RxHandle hFFTCRxInfo) |
Header file with data structure and API declarations for FFTC driver.
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.