1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
#ifndef _WMT_IDC_H_
#define _WMT_IDC_H_
#include "osal.h"
#if CFG_WMT_LTE_COEX_HANDLING
#include "conn_md_exp.h"
#define LTE_IDC_BUFFER_MAX_SIZE 1024
/*comment from firmware owner,max pckage num is 5,but should not happened*/
#define WMT_IDC_RX_MAX_LEN 384
#define LTE_MSG_ID_OFFSET 0x30
typedef enum {
WMT_IDC_TX_OPCODE_MIN = 0,
WMT_IDC_TX_OPCODE_LTE_PARA = 0x0a,
WMT_IDC_TX_OPCODE_LTE_FREQ = 0x0b,
WMT_IDC_TX_OPCODE_WIFI_MAX_POWER = 0x0c,
WMT_IDC_TX_OPCODE_DEBUG_MONITOR = 0x0e,
WMT_IDC_TX_OPCODE_SPLIT_FILTER = 0x0f,
WMT_IDC_TX_OPCODE_LTE_CONNECTION_STAS = 0x16,
WMT_IDC_TX_OPCODE_LTE_HW_IF_INDICATION = 0x17,
WMT_IDC_TX_OPCODE_LTE_INDICATION = 0x20,
WMT_IDC_TX_OPCODE_MAX
} WMT_IDC_TX_OPCODE;
typedef enum {
WMT_IDC_RX_OPCODE_BTWF_DEF_PARA = 0x0,
WMT_IDC_RX_OPCODE_BTWF_CHAN_RAN = 0x1,
/* WMT_IDC_RX_OPCODE_TDM_REQ = 0x10, */
WMT_IDC_RX_OPCODE_DEBUG_MONITOR = 0x02,
WMT_IDC_RX_OPCODE_LTE_FREQ_IDX_TABLE = 0x03,
WMT_IDC_RX_OPCODE_BTWF_PROFILE_IND = 0x04,
WMT_IDC_RX_OPCODE_UART_PIN_SEL = 0x05,
WMT_IDC_RX_OPCODE_MAX
} WMT_IDC_RX_OPCODE;
#if (CFG_WMT_LTE_ENABLE_MSGID_MAPPING == 0)
typedef enum {
IPC_L4C_MSG_ID_INVALID = IPC_L4C_MSG_ID_BEGIN,
IPC_L4C_MSG_ID_END,
IPC_EL1_MSG_ID_INVALID = IPC_EL1_MSG_ID_BEGIN,
/* below are EL1 IPC messages sent from AP */
IPC_MSG_ID_EL1_LTE_TX_ALLOW_IND,
IPC_MSG_ID_EL1_WIFIBT_OPER_DEFAULT_PARAM_IND,
IPC_MSG_ID_EL1_WIFIBT_OPER_FREQ_IND,
IPC_MSG_ID_EL1_WIFIBT_FREQ_IDX_TABLE_IND,
IPC_MSG_ID_EL1_WIFIBT_PROFILE_IND,
/* below are EL1 messages sent to AP */
IPC_MSG_ID_EL1_LTE_DEFAULT_PARAM_IND,
IPC_MSG_ID_EL1_LTE_OPER_FREQ_PARAM_IND,
IPC_MSG_ID_EL1_WIFI_MAX_PWR_IND,
IPC_MSG_ID_EL1_LTE_TX_IND,
IPC_EL1_MSG_ID_END,
} IPC_MSG_ID_CODE;
#endif
typedef struct _MTK_WCN_WMT_IDC_INFO_ {
ipc_ilm_t iit;
CONN_MD_BRIDGE_OPS ops;
UINT8 buffer[LTE_IDC_BUFFER_MAX_SIZE];
} MTK_WCN_WMT_IDC_INFO, *P_MTK_WCN_WMT_IDC_INFO;
extern INT32 wmt_idc_init(VOID);
extern INT32 wmt_idc_deinit(VOID);
extern INT32 wmt_idc_msg_to_lte_handing(VOID);
extern UINT32 wmt_idc_msg_to_lte_handing_for_test(PUINT8 p_buf, UINT32 len);
#else
#if CFG_WMT_LTE_COEX_HANDLING
INT32 wmt_idc_init(VOID)
{
return 0;
}
INT32 wmt_idc_deinit(VOID)
{
return 0;
}
INT32 wmt_idc_msg_to_lte_handing(VOID)
{
return 0;
}
UINT32 wmt_idc_msg_to_lte_handing_for_test(PUINT8 p_buf, UINT32 len)
{
return 0;
}
#endif
#endif
#endif
|