#ifndef __EEMCS_CCCI_H__ #define __EEMCS_CCCI_H__ #include #include "eemcs_kal.h" #include "lte_df_main.h" #include "lte_hif_sdio.h" #define BLK_16K (16384) #define BLK_8K (8192) #define BLK_4K (4096) #define BLK_2K (2048) #define BLK_1K (1024) #ifndef CCCI_MTU_3456B #define MAX_TX_BYTE (0xFFF - 127) #else #define MAX_TX_BYTE (3584 - 128) //3456B, skb allocate max size=3.5KB, CCCI header+reserved mem=128B #endif #define MD_IMG_MAX_CNT (7) typedef KAL_INT32 (*EEMCS_CCCI_CALLBACK)(struct sk_buff *skb, KAL_UINT32 data); typedef KAL_INT32 (*EEMCS_CCCI_SWINT_CALLBACK)(KAL_UINT32 swint_status); typedef KAL_INT32 (*EEMCS_CCCI_WDT_CALLBACK)(void); enum { EXPORT_CCCI_H =(1<<0), TX_PRVLG1 =(1<<1), // tx channel can send data even if modem not boot ready TX_PRVLG2 =(1<<2), // This logic channel can send data even if modem exception }; typedef struct{ KAL_UINT8 rx; KAL_UINT8 tx; EEMCS_CCCI_CALLBACK rx_cb; EEMCS_CCCI_CALLBACK tx_cb; /* reserved */ }ccci_ch_set; typedef struct { ccci_ch_set ch; KAL_UINT32 hif_type; KAL_UINT32 txq_id; KAL_UINT32 rxq_id; KAL_UINT32 rx_flow_ctrl_limit; //>0, enable flow ctl and disable rxq read when rx_cnt>limit; =0, disable flow ctrl KAL_UINT32 rx_flow_ctrl_thresh;//enable rxq read when rx_cnt