wmt_idc.h 2.3 KB

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