halmac_fw_offload_c2h_nic.h 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. #ifndef _HAL_FWOFFLOADC2HFORMAT_H2C_C2H_NIC_H_
  2. #define _HAL_FWOFFLOADC2HFORMAT_H2C_C2H_NIC_H_
  3. #define C2H_SUB_CMD_ID_C2H_DBG 0X00
  4. #define C2H_SUB_CMD_ID_BT_COEX_INFO 0X02
  5. #define C2H_SUB_CMD_ID_SCAN_STATUS_RPT 0X03
  6. #define C2H_SUB_CMD_ID_H2C_ACK_HDR 0X01
  7. #define C2H_SUB_CMD_ID_CFG_PARAMETER_ACK 0X01
  8. #define C2H_SUB_CMD_ID_BT_COEX_ACK 0X01
  9. #define C2H_SUB_CMD_ID_DUMP_PHYSICAL_EFUSE_ACK 0X01
  10. #define C2H_SUB_CMD_ID_UPDATE_PACKET_ACK 0X01
  11. #define C2H_SUB_CMD_ID_UPDATE_DATAPACK_ACK 0X01
  12. #define C2H_SUB_CMD_ID_RUN_DATAPACK_ACK 0X01
  13. #define C2H_SUB_CMD_ID_CHANNEL_SWITCH_ACK 0X01
  14. #define C2H_SUB_CMD_ID_IQK_ACK 0X01
  15. #define C2H_SUB_CMD_ID_POWER_TRACKING_ACK 0X01
  16. #define C2H_SUB_CMD_ID_PSD_ACK 0X01
  17. #define C2H_SUB_CMD_ID_PSD_DATA 0X04
  18. #define C2H_SUB_CMD_ID_EFUSE_DATA 0X05
  19. #define C2H_SUB_CMD_ID_IQK_DATA 0X06
  20. #define C2H_SUB_CMD_ID_C2H_PKT_FTM_DBG 0X07
  21. #define C2H_SUB_CMD_ID_C2H_PKT_FTM_2_DBG 0X08
  22. #define C2H_SUB_CMD_ID_C2H_PKT_FTM_3_DBG 0X09
  23. #define C2H_SUB_CMD_ID_C2H_PKT_FTM_4_DBG 0X0A
  24. #define C2H_SUB_CMD_ID_FTMACKRPT_HDL_DBG 0X0B
  25. #define C2H_SUB_CMD_ID_FTMC2H_RPT 0X0C
  26. #define C2H_SUB_CMD_ID_DRVFTMC2H_RPT 0X0D
  27. #define C2H_SUB_CMD_ID_C2H_PKT_FTM_5_DBG 0X0E
  28. #define C2H_SUB_CMD_ID_CCX_RPT 0X0F
  29. #define C2H_SUB_CMD_ID_C2H_PKT_NAN_RPT 0X10
  30. #define C2H_SUB_CMD_ID_C2H_PKT_ATM_RPT 0X11
  31. #define C2H_SUB_CMD_ID_C2H_PKT_FTMSESSION_END 0X1C
  32. #define C2H_SUB_CMD_ID_C2H_PKT_DETECT_THERMAL 0X1D
  33. #define H2C_SUB_CMD_ID_CFG_PARAMETER_ACK SUB_CMD_ID_CFG_PARAMETER
  34. #define H2C_SUB_CMD_ID_BT_COEX_ACK SUB_CMD_ID_BT_COEX
  35. #define H2C_SUB_CMD_ID_DUMP_PHYSICAL_EFUSE_ACK SUB_CMD_ID_DUMP_PHYSICAL_EFUSE
  36. #define H2C_SUB_CMD_ID_UPDATE_PACKET_ACK SUB_CMD_ID_UPDATE_PACKET
  37. #define H2C_SUB_CMD_ID_UPDATE_DATAPACK_ACK SUB_CMD_ID_UPDATE_DATAPACK
  38. #define H2C_SUB_CMD_ID_RUN_DATAPACK_ACK SUB_CMD_ID_RUN_DATAPACK
  39. #define H2C_SUB_CMD_ID_CHANNEL_SWITCH_ACK SUB_CMD_ID_CHANNEL_SWITCH
  40. #define H2C_SUB_CMD_ID_IQK_ACK SUB_CMD_ID_IQK
  41. #define H2C_SUB_CMD_ID_POWER_TRACKING_ACK SUB_CMD_ID_POWER_TRACKING
  42. #define H2C_SUB_CMD_ID_PSD_ACK SUB_CMD_ID_PSD
  43. #define H2C_SUB_CMD_ID_CCX_RPT SUB_CMD_ID_CCX_RPT
  44. #define H2C_CMD_ID_CFG_PARAMETER_ACK 0XFF
  45. #define H2C_CMD_ID_BT_COEX_ACK 0XFF
  46. #define H2C_CMD_ID_DUMP_PHYSICAL_EFUSE_ACK 0XFF
  47. #define H2C_CMD_ID_UPDATE_PACKET_ACK 0XFF
  48. #define H2C_CMD_ID_UPDATE_DATAPACK_ACK 0XFF
  49. #define H2C_CMD_ID_RUN_DATAPACK_ACK 0XFF
  50. #define H2C_CMD_ID_CHANNEL_SWITCH_ACK 0XFF
  51. #define H2C_CMD_ID_IQK_ACK 0XFF
  52. #define H2C_CMD_ID_POWER_TRACKING_ACK 0XFF
  53. #define H2C_CMD_ID_PSD_ACK 0XFF
  54. #define H2C_CMD_ID_CCX_RPT 0XFF
  55. #define C2H_HDR_GET_CMD_ID(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X00, 0, 8)
  56. #define C2H_HDR_SET_CMD_ID(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X00, 0, 8, __Value)
  57. #define C2H_HDR_GET_SEQ(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X00, 8, 8)
  58. #define C2H_HDR_SET_SEQ(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X00, 8, 8, __Value)
  59. #define C2H_HDR_GET_C2H_SUB_CMD_ID(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X00, 16, 8)
  60. #define C2H_HDR_SET_C2H_SUB_CMD_ID(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X00, 16, 8, __Value)
  61. #define C2H_HDR_GET_LEN(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X00, 24, 8)
  62. #define C2H_HDR_SET_LEN(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X00, 24, 8, __Value)
  63. #define C2H_DBG_GET_DBG_MSG(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X04, 0, 8)
  64. #define C2H_DBG_SET_DBG_MSG(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X04, 0, 8, __Value)
  65. #define BT_COEX_INFO_GET_DATA_START(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X04, 0, 8)
  66. #define BT_COEX_INFO_SET_DATA_START(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X04, 0, 8, __Value)
  67. #define SCAN_STATUS_RPT_GET_H2C_RETURN_CODE(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X04, 0, 8)
  68. #define SCAN_STATUS_RPT_SET_H2C_RETURN_CODE(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X04, 0, 8, __Value)
  69. #define SCAN_STATUS_RPT_GET_H2C_SEQ(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X04, 16, 16)
  70. #define SCAN_STATUS_RPT_SET_H2C_SEQ(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X04, 16, 16, __Value)
  71. #define H2C_ACK_HDR_GET_H2C_RETURN_CODE(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X04, 0, 8)
  72. #define H2C_ACK_HDR_SET_H2C_RETURN_CODE(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X04, 0, 8, __Value)
  73. #define H2C_ACK_HDR_GET_H2C_CMD_ID(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X04, 8, 8)
  74. #define H2C_ACK_HDR_SET_H2C_CMD_ID(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X04, 8, 8, __Value)
  75. #define H2C_ACK_HDR_GET_H2C_SUB_CMD_ID(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X04, 16, 16)
  76. #define H2C_ACK_HDR_SET_H2C_SUB_CMD_ID(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X04, 16, 16, __Value)
  77. #define H2C_ACK_HDR_GET_H2C_SEQ(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X08, 0, 16)
  78. #define H2C_ACK_HDR_SET_H2C_SEQ(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X08, 0, 16, __Value)
  79. #define CFG_PARAMETER_ACK_GET_OFFSET_ACCUMULATION(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0XC, 0, 32)
  80. #define CFG_PARAMETER_ACK_SET_OFFSET_ACCUMULATION(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0XC, 0, 32, __Value)
  81. #define CFG_PARAMETER_ACK_GET_VALUE_ACCUMULATION(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X10, 0, 32)
  82. #define CFG_PARAMETER_ACK_SET_VALUE_ACCUMULATION(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X10, 0, 32, __Value)
  83. #define BT_COEX_ACK_GET_DATA_START(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0XC, 0, 8)
  84. #define BT_COEX_ACK_SET_DATA_START(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0XC, 0, 8, __Value)
  85. #define PSD_DATA_GET_SEGMENT_ID(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X04, 0, 7)
  86. #define PSD_DATA_SET_SEGMENT_ID(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X04, 0, 7, __Value)
  87. #define PSD_DATA_GET_END_SEGMENT(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X04, 7, 1)
  88. #define PSD_DATA_SET_END_SEGMENT(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X04, 7, 1, __Value)
  89. #define PSD_DATA_GET_SEGMENT_SIZE(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X04, 8, 8)
  90. #define PSD_DATA_SET_SEGMENT_SIZE(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X04, 8, 8, __Value)
  91. #define PSD_DATA_GET_TOTAL_SIZE(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X04, 16, 16)
  92. #define PSD_DATA_SET_TOTAL_SIZE(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X04, 16, 16, __Value)
  93. #define PSD_DATA_GET_H2C_SEQ(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X8, 0, 16)
  94. #define PSD_DATA_SET_H2C_SEQ(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X8, 0, 16, __Value)
  95. #define PSD_DATA_GET_DATA_START(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X8, 16, 8)
  96. #define PSD_DATA_SET_DATA_START(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X8, 16, 8, __Value)
  97. #define EFUSE_DATA_GET_SEGMENT_ID(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X04, 0, 7)
  98. #define EFUSE_DATA_SET_SEGMENT_ID(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X04, 0, 7, __Value)
  99. #define EFUSE_DATA_GET_END_SEGMENT(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X04, 7, 1)
  100. #define EFUSE_DATA_SET_END_SEGMENT(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X04, 7, 1, __Value)
  101. #define EFUSE_DATA_GET_SEGMENT_SIZE(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X04, 8, 8)
  102. #define EFUSE_DATA_SET_SEGMENT_SIZE(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X04, 8, 8, __Value)
  103. #define EFUSE_DATA_GET_TOTAL_SIZE(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X04, 16, 16)
  104. #define EFUSE_DATA_SET_TOTAL_SIZE(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X04, 16, 16, __Value)
  105. #define EFUSE_DATA_GET_H2C_SEQ(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X8, 0, 16)
  106. #define EFUSE_DATA_SET_H2C_SEQ(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X8, 0, 16, __Value)
  107. #define EFUSE_DATA_GET_DATA_START(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X8, 16, 8)
  108. #define EFUSE_DATA_SET_DATA_START(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X8, 16, 8, __Value)
  109. #define IQK_DATA_GET_SEGMENT_ID(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X04, 0, 7)
  110. #define IQK_DATA_SET_SEGMENT_ID(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X04, 0, 7, __Value)
  111. #define IQK_DATA_GET_END_SEGMENT(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X04, 7, 1)
  112. #define IQK_DATA_SET_END_SEGMENT(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X04, 7, 1, __Value)
  113. #define IQK_DATA_GET_SEGMENT_SIZE(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X04, 8, 8)
  114. #define IQK_DATA_SET_SEGMENT_SIZE(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X04, 8, 8, __Value)
  115. #define IQK_DATA_GET_TOTAL_SIZE(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X04, 16, 16)
  116. #define IQK_DATA_SET_TOTAL_SIZE(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X04, 16, 16, __Value)
  117. #define IQK_DATA_GET_H2C_SEQ(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X8, 0, 16)
  118. #define IQK_DATA_SET_H2C_SEQ(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X8, 0, 16, __Value)
  119. #define IQK_DATA_GET_DATA_START(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X8, 16, 8)
  120. #define IQK_DATA_SET_DATA_START(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X8, 16, 8, __Value)
  121. #define CCX_RPT_GET_CCX RPT(__pC2H) LE_BITS_TO_4BYTE(__pC2H + 0X4, 0, 129)
  122. #define CCX_RPT_SET_CCX RPT(__pC2H, __Value) SET_BITS_TO_LE_4BYTE(__pC2H + 0X4, 0, 129, __Value)
  123. #endif