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

Header file with data structure and API declarations for BCP Low Level Driver (LLD). More...

#include <ti/csl/csl.h>
#include <ti/csl/cslr_bcp.h>
#include <ti/csl/soc.h>

Data Structures

struct  _Bcp_GlobalHdrCfg
 Bcp_GlobalHdrCfg. More...
struct  _Bcp_TmHdrCfg
 Bcp_TmHdrCfg. More...
struct  _Bcp_CrcHdrCfg
 Bcp_CrcHdrCfg. More...
struct  _Bcp_RmHdr_ChannelCfg
 Bcp_RmHdr_ChannelCfg. More...
struct  _Bcp_RmHdr_xCdmaCfg
 Bcp_RmHdr_xCdmaCfg. More...
struct  _Bcp_RmHdr_LteCfg
 Bcp_RmHdr_LteCfg. More...
struct  _Bcp_RmHdr_WiMaxCfg
 Bcp_RmHdr_WiMaxCfg. More...
struct  _Bcp_EncHdrCfg
 Bcp_EncHdrCfg. More...
struct  _Bcp_ModHdrCfg
 Bcp_ModHdrCfg. More...
struct  _Bcp_IntDntTableCfg
 Bcp_IntDntTableCfg. More...
struct  _Bcp_IntHdrCfg
 Bcp_IntHdrCfg. More...
struct  _Bcp_CorBlockParams
 Bcp_CorBlockParams. More...
struct  _Bcp_CorHdrCfg
 Bcp_CorHdrCfg. More...
struct  _Bcp_SslHdr_ModeSelCfg
 Bcp_SslHdr_ModeSelCfg. More...
struct  _Bcp_SslHdr_LteCfg
 Bcp_SslHdr_LteCfg. More...
struct  _Bcp_SslHdr_WcdmaFddCfg
 Bcp_SslHdr_WcdmaFddCfg. More...
struct  _Bcp_SslHdr_WcdmaTdScdmaCfg
 Bcp_SslHdr_WcdmaTdScdmaCfg. More...
struct  _Bcp_SslHdr_WiMaxCfg
 Bcp_SslHdr_WiMaxCfg. More...
struct  _Bcp_DntHdrCfg
 Bcp_DntHdrCfg. More...
struct  _Bcp_RdHdr_LteCfg
 Bcp_RdHdr_LteCfg. More...
struct  _Bcp_RdHdr_ChannelCfg
 Bcp_RdHdr_ChannelCfg. More...
struct  _Bcp_RdHdr_xCdmaCfg
 Bcp_RdHdr_xCdmaCfg. More...
struct  _Bcp_RdHdr_WiMaxCfg
 Bcp_RdHdr_WiMaxCfg. More...
struct  _Bcp_DioDmaBlkCfg
 Bcp_DioDmaBlkCfg. More...
struct  _Bcp_DioHdrCfg
 Bcp_DioHdrCfg. More...

Defines

#define BCP_MAX_NUM_TXQUEUES   (8)
 Maximum number of BCP Tx queues available.
#define BCP_MAX_NUM_TM_FLOWS   (64)
 Maximum number of TM Flow entries available.
#define BCP_MAX_NUM_PS_WORDS   (8)
 Maximum number of PS Info words (32 bit words) supported by the BCP.
#define BCP_MAX_NUM_USER_INFO_WORDS   (124)
 Maximum number of User Info words (32 bit words) supported by the BCP.
#define BCP_TM_HDR_LEN   (1)
#define BCP_NUM_SUBMODULES   (14)

Typedefs

typedef struct _Bcp_GlobalHdrCfg Bcp_GlobalHdrCfg
 Bcp_GlobalHdrCfg.
typedef struct _Bcp_TmHdrCfg Bcp_TmHdrCfg
 Bcp_TmHdrCfg.
typedef struct _Bcp_CrcHdrCfg Bcp_CrcHdrCfg
 Bcp_CrcHdrCfg.
typedef struct
_Bcp_RmHdr_ChannelCfg 
Bcp_RmHdr_ChannelCfg
 Bcp_RmHdr_ChannelCfg.
typedef struct _Bcp_RmHdr_xCdmaCfg Bcp_RmHdr_xCdmaCfg
 Bcp_RmHdr_xCdmaCfg.
typedef struct _Bcp_RmHdr_LteCfg Bcp_RmHdr_LteCfg
 Bcp_RmHdr_LteCfg.
typedef struct _Bcp_RmHdr_WiMaxCfg Bcp_RmHdr_WiMaxCfg
 Bcp_RmHdr_WiMaxCfg.
typedef struct _Bcp_EncHdrCfg Bcp_EncHdrCfg
 Bcp_EncHdrCfg.
typedef struct _Bcp_ModHdrCfg Bcp_ModHdrCfg
 Bcp_ModHdrCfg.
typedef struct _Bcp_IntDntTableCfg Bcp_IntDntTableCfg
 Bcp_IntDntTableCfg.
typedef struct _Bcp_IntHdrCfg Bcp_IntHdrCfg
 Bcp_IntHdrCfg.
typedef struct _Bcp_CorBlockParams Bcp_CorBlockParams
 Bcp_CorBlockParams.
typedef struct _Bcp_CorHdrCfg Bcp_CorHdrCfg
 Bcp_CorHdrCfg.
typedef struct
_Bcp_SslHdr_ModeSelCfg 
Bcp_SslHdr_ModeSelCfg
 Bcp_SslHdr_ModeSelCfg.
typedef struct _Bcp_SslHdr_LteCfg Bcp_SslHdr_LteCfg
 Bcp_SslHdr_LteCfg.
typedef struct
_Bcp_SslHdr_WcdmaFddCfg 
Bcp_SslHdr_WcdmaFddCfg
 Bcp_SslHdr_WcdmaFddCfg.
typedef struct
_Bcp_SslHdr_WcdmaTdScdmaCfg 
Bcp_SslHdr_WcdmaTdScdmaCfg
 Bcp_SslHdr_WcdmaTdScdmaCfg.
typedef struct _Bcp_SslHdr_WiMaxCfg Bcp_SslHdr_WiMaxCfg
 Bcp_SslHdr_WiMaxCfg.
typedef struct _Bcp_DntHdrCfg Bcp_DntHdrCfg
 Bcp_DntHdrCfg.
typedef struct _Bcp_RdHdr_LteCfg Bcp_RdHdr_LteCfg
 Bcp_RdHdr_LteCfg.
typedef struct
_Bcp_RdHdr_ChannelCfg 
Bcp_RdHdr_ChannelCfg
 Bcp_RdHdr_ChannelCfg.
typedef struct _Bcp_RdHdr_xCdmaCfg Bcp_RdHdr_xCdmaCfg
 Bcp_RdHdr_xCdmaCfg.
typedef struct _Bcp_RdHdr_WiMaxCfg Bcp_RdHdr_WiMaxCfg
 Bcp_RdHdr_WiMaxCfg.
typedef struct _Bcp_DioDmaBlkCfg Bcp_DioDmaBlkCfg
 Bcp_DioDmaBlkCfg.
typedef struct _Bcp_DioHdrCfg Bcp_DioHdrCfg
 Bcp_DioHdrCfg.

Enumerations

enum  Bcp_QueueId {
  Bcp_QueueId_0 = 0, Bcp_QueueId_1 = 1, Bcp_QueueId_2 = 2, Bcp_QueueId_3 = 3,
  Bcp_QueueId_4 = 4, Bcp_QueueId_5 = 5, Bcp_QueueId_6 = 6, Bcp_QueueId_7 = 7
}
 Bcp_QueueId. More...
enum  Bcp_ModuleId {
  Bcp_ModuleId_TM = 0, Bcp_ModuleId_INT = 4, Bcp_ModuleId_RM = 5, Bcp_ModuleId_ENC = 6,
  Bcp_ModuleId_MOD = 7, Bcp_ModuleId_CRC = 8, Bcp_ModuleId_SSL = 9, Bcp_ModuleId_RD = 10,
  Bcp_ModuleId_COR = 11, Bcp_ModuleId_DNT = 12, Bcp_ModuleId_DIO = 13
}
 Bcp_ModuleId. More...
enum  Bcp_PacketType { Bcp_PacketType_Normal = 0, Bcp_PacketType_SOM = 1, Bcp_PacketType_MOM = 2, Bcp_PacketType_EOM = 3 }
 Bcp_PacketType. More...
enum  Bcp_RadioStd { Bcp_RadioStd_LTE = 0, Bcp_RadioStd_WIMAX_802_16E = 2, Bcp_RadioStd_WCDMA_R99 = 4, Bcp_RadioStd_HSPA = 5 }
 Bcp_RadioStd. More...
enum  Bcp_EndianFormat { Bcp_EndianFormat_128 = 0, Bcp_EndianFormat_32 = 1, Bcp_EndianFormat_16 = 2, Bcp_EndianFormat_8 = 3 }
 Bcp_EndianFormat. More...
enum  Bcp_DataFormat {
  Bcp_DataFormat_NoChange = 0, Bcp_DataFormat_Reverse32 = 1, Bcp_DataFormat_Reverse16 = 2, Bcp_DataFormat_Reverse8 = 3,
  Bcp_DataFormat_Swap32 = 5, Bcp_DataFormat_Swap16 = 6, Bcp_DataFormat_Swap8 = 7
}
 Bcp_DataFormat. More...
enum  Bcp_CrcFormat {
  Bcp_CrcFormat_Crc0 = 0, Bcp_CrcFormat_Crc8 = 1, Bcp_CrcFormat_Crc12 = 2, Bcp_CrcFormat_Crc16 = 3,
  Bcp_CrcFormat_Crc16w = 4, Bcp_CrcFormat_Crc24a = 5, Bcp_CrcFormat_Crc24b = 6, Bcp_CrcFormat_Crc32 = 7
}
 Bcp_CrcFormat. More...
enum  Bcp_ModulationMode { Bcp_ModulationMode_HardUncompressed = 0, Bcp_ModulationMode_HardCompressed = 1, Bcp_ModulationMode_Soft = 2 }
 Bcp_ModulationMode. More...
enum  Bcp_ModulationType {
  Bcp_ModulationType_BPSK = 0, Bcp_ModulationType_QPSK = 1, Bcp_ModulationType_16QAM = 2, Bcp_ModulationType_64QAM = 3,
  Bcp_ModulationType_256QAM = 4, Bcp_ModulationType_4PAM = 5
}
 Bcp_ModulationType. More...
enum  Bcp_CmuxLength { Bcp_CmuxLength_9 = 0, Bcp_CmuxLength_10 = 1, Bcp_CmuxLength_11 = 2, Bcp_CmuxLength_12 = 3 }
 Bcp_CmuxLength. More...
enum  Bcp_QFormat { Bcp_QFormat_Q0 = 0, Bcp_QFormat_Q1 = 1, Bcp_QFormat_Q2 = 2, Bcp_QFormat_Q3 = 3 }
 Bcp_QFormat. More...
enum  Bcp_CorPuchhDespread_Sel { Bcp_CorPuchhDespread_Sel_PUCHH = 0, Bcp_CorPucchDespread_Sel_DESPREAD = 1 }
 Bcp_CorPuchhDespread_Sel. More...
enum  Bcp_CorDespread_Cplx { Bcp_CorDespread_Cplx_16REAL = 0, Bcp_CorDespread_Cplx_32COMPLEX = 1 }
 Bcp_CorDespread_Cplx. More...
enum  Bcp_SslFddTdd_Sel { Bcp_SslFddTdd_Sel_FDD = 0, Bcp_SslFddTdd_Sel_TDD = 1 }
 Bcp_SslFddTdd_Sel. More...
enum  Bcp_Tti_Sel { Bcp_Tti_Sel_2ms = 0, Bcp_Tti_Sel_10ms = 1 }
 Bcp_Tti_Sel. More...

Functions

int32_t Bcp_addGlobalHeader (Bcp_GlobalHdrCfg *pBcpGlobalHdrCfg, uint8_t *pData, uint32_t *pLen)
int32_t Bcp_addTMHeader (Bcp_TmHdrCfg *pTmHdrCfg, uint8_t *pData, uint32_t *pLen)
int32_t Bcp_addCRCHeader (Bcp_CrcHdrCfg *pCrcHdrCfg, uint8_t *pData, uint32_t *pLen)
int32_t Bcp_addxCdma_RMHeader (Bcp_RmHdr_xCdmaCfg *pRmHdrCfg, uint8_t *pData, uint32_t *pLen)
int32_t Bcp_addLte_RMHeader (Bcp_RmHdr_LteCfg *pRmHdrCfg, uint8_t *pData, uint32_t *pLen)
int32_t Bcp_addWiMax_RMHeader (Bcp_RmHdr_WiMaxCfg *pRmHdrCfg, uint8_t *pData, uint32_t *pLen)
int32_t Bcp_addEncoderHeader (Bcp_EncHdrCfg *pEncHdrCfg, uint8_t *pData, uint32_t *pLen)
int32_t Bcp_addModulatorHeader (Bcp_ModHdrCfg *pModHdrCfg, uint8_t *pData, uint32_t *pLen)
int32_t Bcp_addInterleaverHeader (Bcp_IntHdrCfg *pIntHdrCfg, uint8_t *pData, uint32_t *pLen)
int32_t Bcp_addCorrelationHeader (Bcp_CorHdrCfg *pCorHdrCfg, uint8_t *pData, uint32_t *pLen)
int32_t Bcp_addLTE_SSLHeader (Bcp_SslHdr_LteCfg *pSslHdrCfg, uint8_t *pData, uint32_t *pLen)
int32_t Bcp_addWCDMAFDD_SSLHeader (Bcp_SslHdr_WcdmaFddCfg *pSslHdrCfg, uint8_t *pData, uint32_t *pLen)
int32_t Bcp_addWCDMATDSCDMA_SSLHeader (Bcp_SslHdr_WcdmaTdScdmaCfg *pSslHdrCfg, uint8_t *pData, uint32_t *pLen)
int32_t Bcp_addWiMax_SSLHeader (Bcp_SslHdr_WiMaxCfg *pSslHdrCfg, uint8_t *pData, uint32_t *pLen)
int32_t Bcp_addDeinterleaverHeader (Bcp_DntHdrCfg *pDntHdrCfg, uint8_t *pData, uint32_t *pLen)
int32_t Bcp_addLTE_RDHeader (Bcp_RdHdr_LteCfg *pRdHdrCfg, uint8_t *pData, uint32_t *pLen)
int32_t Bcp_addxCdma_RDHeader (Bcp_RdHdr_xCdmaCfg *pRdHdrCfg, uint8_t *pData, uint32_t *pLen)
int32_t Bcp_addDIOHeader (Bcp_DioHdrCfg *pDioHdrCfg, uint8_t *pData, uint32_t *pLen)
int32_t Bcp_lldOpen (uint8_t instNum, uint32_t cfgRegsBaseAddress, Bcp_LldObj *pBcpLldObj)
int32_t Bcp_lldClose (Bcp_LldObj *pBcpLldObj)

Detailed Description

Header file with data structure and API declarations for BCP Low Level Driver (LLD).

============================================================================
(C) Copyright 2010, 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