halmac_api_88xx.h 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607
  1. #ifndef _HALMAC_API_88XX_H_
  2. #define _HALMAC_API_88XX_H_
  3. #include "../halmac_2_platform.h"
  4. #include "../halmac_type.h"
  5. VOID
  6. halmac_init_state_machine_88xx(
  7. IN PHALMAC_ADAPTER pHalmac_adapter
  8. );
  9. VOID
  10. halmac_init_adapter_para_88xx(
  11. IN PHALMAC_ADAPTER pHalmac_adapter
  12. );
  13. VOID
  14. halmac_init_adapter_dynamic_para_88xx(
  15. IN PHALMAC_ADAPTER pHalmac_adapter
  16. );
  17. HALMAC_RET_STATUS
  18. halmac_mount_api_88xx(
  19. IN PHALMAC_ADAPTER pHalmac_adapter
  20. );
  21. HALMAC_RET_STATUS
  22. halmac_download_firmware_88xx(
  23. IN PHALMAC_ADAPTER pHalmac_adapter,
  24. IN u8 *pHamacl_fw,
  25. IN u32 halmac_fw_size
  26. );
  27. HALMAC_RET_STATUS
  28. halmac_free_download_firmware_88xx(
  29. IN PHALMAC_ADAPTER pHalmac_adapter,
  30. IN HALMAC_DLFW_MEM dlfw_mem,
  31. IN u8 *pHamacl_fw,
  32. IN u32 halmac_fw_size
  33. );
  34. HALMAC_RET_STATUS
  35. halmac_get_fw_version_88xx(
  36. IN PHALMAC_ADAPTER pHalmac_adapter,
  37. OUT PHALMAC_FW_VERSION pFw_version
  38. );
  39. HALMAC_RET_STATUS
  40. halmac_cfg_mac_addr_88xx(
  41. IN PHALMAC_ADAPTER pHalmac_adapter,
  42. IN u8 halmac_port,
  43. IN PHALMAC_WLAN_ADDR pHal_address
  44. );
  45. HALMAC_RET_STATUS
  46. halmac_cfg_bssid_88xx(
  47. IN PHALMAC_ADAPTER pHalmac_adapter,
  48. IN u8 halmac_port,
  49. IN PHALMAC_WLAN_ADDR pHal_address
  50. );
  51. HALMAC_RET_STATUS
  52. halmac_cfg_multicast_addr_88xx(
  53. IN PHALMAC_ADAPTER pHalmac_adapter,
  54. IN PHALMAC_WLAN_ADDR pHal_address
  55. );
  56. HALMAC_RET_STATUS
  57. halmac_pre_init_system_cfg_88xx(
  58. IN PHALMAC_ADAPTER pHalmac_adapter
  59. );
  60. HALMAC_RET_STATUS
  61. halmac_init_system_cfg_88xx(
  62. IN PHALMAC_ADAPTER pHalmac_adapter
  63. );
  64. HALMAC_RET_STATUS
  65. halmac_cfg_rx_aggregation_88xx(
  66. IN PHALMAC_ADAPTER pHalmac_adapter,
  67. IN HALMAC_RXAGG_CFG halmac_rxagg_cfg
  68. );
  69. HALMAC_RET_STATUS
  70. halmac_init_edca_cfg_88xx(
  71. IN PHALMAC_ADAPTER pHalmac_adapter
  72. );
  73. HALMAC_RET_STATUS
  74. halmac_cfg_operation_mode_88xx(
  75. IN PHALMAC_ADAPTER pHalmac_adapter,
  76. IN HALMAC_WIRELESS_MODE wireless_mode
  77. );
  78. HALMAC_RET_STATUS
  79. halmac_cfg_ch_bw_88xx(
  80. IN PHALMAC_ADAPTER pHalmac_adapter,
  81. IN u8 channel,
  82. IN HALMAC_PRI_CH_IDX pri_ch_idx,
  83. IN HALMAC_BW bw
  84. );
  85. HALMAC_RET_STATUS
  86. halmac_cfg_ch_88xx(
  87. IN PHALMAC_ADAPTER pHalmac_adapter,
  88. IN u8 channel
  89. );
  90. HALMAC_RET_STATUS
  91. halmac_cfg_pri_ch_idx_88xx(
  92. IN PHALMAC_ADAPTER pHalmac_adapter,
  93. IN HALMAC_PRI_CH_IDX pri_ch_idx
  94. );
  95. HALMAC_RET_STATUS
  96. halmac_cfg_bw_88xx(
  97. IN PHALMAC_ADAPTER pHalmac_adapter,
  98. IN HALMAC_BW bw
  99. );
  100. HALMAC_RET_STATUS
  101. halmac_init_wmac_cfg_88xx(
  102. IN PHALMAC_ADAPTER pHalmac_adapter
  103. );
  104. HALMAC_RET_STATUS
  105. halmac_init_mac_cfg_88xx(
  106. IN PHALMAC_ADAPTER pHalmac_adapter,
  107. IN HALMAC_TRX_MODE mode
  108. );
  109. HALMAC_RET_STATUS
  110. halmac_dump_efuse_map_88xx(
  111. IN PHALMAC_ADAPTER pHalmac_adapter,
  112. IN HALMAC_EFUSE_READ_CFG cfg
  113. );
  114. HALMAC_RET_STATUS
  115. halmac_dump_efuse_map_bt_88xx(
  116. IN PHALMAC_ADAPTER pHalmac_adapter,
  117. IN HALMAC_EFUSE_BANK halmac_efuse_bank,
  118. IN u32 bt_efuse_map_size,
  119. OUT u8 *pBT_efuse_map
  120. );
  121. HALMAC_RET_STATUS
  122. halmac_write_efuse_bt_88xx(
  123. IN PHALMAC_ADAPTER pHalmac_adapter,
  124. IN u32 halmac_offset,
  125. IN u8 halmac_value,
  126. IN HALMAC_EFUSE_BANK halmac_efuse_bank
  127. );
  128. HALMAC_RET_STATUS
  129. halmac_pg_efuse_by_map_88xx(
  130. IN PHALMAC_ADAPTER pHalmac_adapter,
  131. IN PHALMAC_PG_EFUSE_INFO pPg_efuse_info,
  132. IN HALMAC_EFUSE_READ_CFG cfg
  133. );
  134. HALMAC_RET_STATUS
  135. halmac_get_efuse_size_88xx(
  136. IN PHALMAC_ADAPTER pHalmac_adapter,
  137. OUT u32 *halmac_size
  138. );
  139. HALMAC_RET_STATUS
  140. halmac_get_efuse_available_size_88xx(
  141. IN PHALMAC_ADAPTER pHalmac_adapter,
  142. OUT u32 *halmac_size
  143. );
  144. HALMAC_RET_STATUS
  145. halmac_get_c2h_info_88xx(
  146. IN PHALMAC_ADAPTER pHalmac_adapter,
  147. IN u8 *halmac_buf,
  148. IN u32 halmac_size
  149. );
  150. HALMAC_RET_STATUS
  151. halmac_get_logical_efuse_size_88xx(
  152. IN PHALMAC_ADAPTER pHalmac_adapter,
  153. OUT u32 *halmac_size
  154. );
  155. HALMAC_RET_STATUS
  156. halmac_dump_logical_efuse_map_88xx(
  157. IN PHALMAC_ADAPTER pHalmac_adapter,
  158. IN HALMAC_EFUSE_READ_CFG cfg
  159. );
  160. HALMAC_RET_STATUS
  161. halmac_write_logical_efuse_88xx(
  162. IN PHALMAC_ADAPTER pHalmac_adapter,
  163. IN u32 halmac_offset,
  164. IN u8 halmac_value
  165. );
  166. HALMAC_RET_STATUS
  167. halmac_read_logical_efuse_88xx(
  168. IN PHALMAC_ADAPTER pHalmac_adapter,
  169. IN u32 halmac_offset,
  170. OUT u8 *pValue
  171. );
  172. HALMAC_RET_STATUS
  173. halmac_cfg_fwlps_option_88xx(
  174. IN PHALMAC_ADAPTER pHalmac_adapter,
  175. IN PHALMAC_FWLPS_OPTION pLps_option
  176. );
  177. HALMAC_RET_STATUS
  178. halmac_cfg_fwips_option_88xx(
  179. IN PHALMAC_ADAPTER pHalmac_adapter,
  180. IN PHALMAC_FWIPS_OPTION pIps_option
  181. );
  182. HALMAC_RET_STATUS
  183. halmac_enter_wowlan_88xx(
  184. IN PHALMAC_ADAPTER pHalmac_adapter,
  185. IN PHALMAC_WOWLAN_OPTION pWowlan_option
  186. );
  187. HALMAC_RET_STATUS
  188. halmac_leave_wowlan_88xx(
  189. IN PHALMAC_ADAPTER pHalmac_adapter
  190. );
  191. HALMAC_RET_STATUS
  192. halmac_enter_ps_88xx(
  193. IN PHALMAC_ADAPTER pHalmac_adapter,
  194. IN HALMAC_PS_STATE ps_state
  195. );
  196. HALMAC_RET_STATUS
  197. halmac_leave_ps_88xx(
  198. IN PHALMAC_ADAPTER pHalmac_adapter
  199. );
  200. HALMAC_RET_STATUS
  201. halmac_h2c_lb_88xx(
  202. IN PHALMAC_ADAPTER pHalmac_adapter
  203. );
  204. HALMAC_RET_STATUS
  205. halmac_debug_88xx(
  206. IN PHALMAC_ADAPTER pHalmac_adapter
  207. );
  208. HALMAC_RET_STATUS
  209. halmac_cfg_parameter_88xx(
  210. IN PHALMAC_ADAPTER pHalmac_adapter,
  211. IN PHALMAC_PHY_PARAMETER_INFO para_info,
  212. IN u8 full_fifo
  213. );
  214. HALMAC_RET_STATUS
  215. halmac_update_packet_88xx(
  216. IN PHALMAC_ADAPTER pHalmac_adapter,
  217. IN HALMAC_PACKET_ID pkt_id,
  218. IN u8 *pkt,
  219. IN u32 pkt_size
  220. );
  221. HALMAC_RET_STATUS
  222. halmac_bcn_ie_filter_88xx(
  223. IN PHALMAC_ADAPTER pHalmac_adapter,
  224. IN PHALMAC_BCN_IE_INFO pBcn_ie_info
  225. );
  226. HALMAC_RET_STATUS
  227. halmac_send_original_h2c_88xx(
  228. IN PHALMAC_ADAPTER pHalmac_adapter,
  229. IN u8 *original_h2c,
  230. IN u16 *seq,
  231. IN u8 ack
  232. );
  233. HALMAC_RET_STATUS
  234. halmac_update_datapack_88xx(
  235. IN PHALMAC_ADAPTER pHalmac_adapter,
  236. IN HALMAC_DATA_TYPE halmac_data_type,
  237. IN PHALMAC_PHY_PARAMETER_INFO para_info
  238. );
  239. HALMAC_RET_STATUS
  240. halmac_run_datapack_88xx(
  241. IN PHALMAC_ADAPTER pHalmac_adapter,
  242. IN HALMAC_DATA_TYPE halmac_data_type
  243. );
  244. HALMAC_RET_STATUS
  245. halmac_cfg_drv_info_88xx(
  246. IN PHALMAC_ADAPTER pHalmac_adapter,
  247. IN HALMAC_DRV_INFO halmac_drv_info
  248. );
  249. HALMAC_RET_STATUS
  250. halmac_send_bt_coex_88xx(
  251. IN PHALMAC_ADAPTER pHalmac_adapter,
  252. IN u8 *pBt_buf,
  253. IN u32 bt_size,
  254. IN u8 ack
  255. );
  256. HALMAC_RET_STATUS
  257. halmac_verify_platform_api_88xx(
  258. IN PHALMAC_ADAPTER pHalmac_adapter
  259. );
  260. HALMAC_RET_STATUS
  261. halmac_timer_2s_88xx(
  262. IN PHALMAC_ADAPTER pHalmac_adapter
  263. );
  264. HALMAC_RET_STATUS
  265. halmac_fill_txdesc_check_sum_88xx(
  266. IN PHALMAC_ADAPTER pHalmac_adapter,
  267. IN u8 *cur_desc
  268. );
  269. HALMAC_RET_STATUS
  270. halmac_dump_fifo_88xx(
  271. IN PHALMAC_ADAPTER pHalmac_adapter,
  272. IN HAL_FIFO_SEL halmac_fifo_sel,
  273. IN u32 halmac_start_addr,
  274. IN u32 halmac_fifo_dump_size,
  275. OUT u8 *pFifo_map
  276. );
  277. u32
  278. halmac_get_fifo_size_88xx(
  279. IN PHALMAC_ADAPTER pHalmac_adapter,
  280. IN HAL_FIFO_SEL halmac_fifo_sel
  281. );
  282. HALMAC_RET_STATUS
  283. halmac_cfg_txbf_88xx(
  284. IN PHALMAC_ADAPTER pHalmac_adapter,
  285. IN u8 userid,
  286. IN HALMAC_BW bw,
  287. IN u8 txbf_en
  288. );
  289. HALMAC_RET_STATUS
  290. halmac_cfg_mumimo_88xx(
  291. IN PHALMAC_ADAPTER pHalmac_adapter,
  292. IN PHALMAC_CFG_MUMIMO_PARA pCfgmu
  293. );
  294. HALMAC_RET_STATUS
  295. halmac_cfg_sounding_88xx(
  296. IN PHALMAC_ADAPTER pHalmac_adapter,
  297. IN HALMAC_SND_ROLE role,
  298. IN HALMAC_DATA_RATE datarate
  299. );
  300. HALMAC_RET_STATUS
  301. halmac_del_sounding_88xx(
  302. IN PHALMAC_ADAPTER pHalmac_adapter,
  303. IN HALMAC_SND_ROLE role
  304. );
  305. HALMAC_RET_STATUS
  306. halmac_su_bfee_entry_init_88xx(
  307. IN PHALMAC_ADAPTER pHalmac_adapter,
  308. IN u8 userid,
  309. IN u16 paid
  310. );
  311. HALMAC_RET_STATUS
  312. halmac_su_bfer_entry_init_88xx(
  313. IN PHALMAC_ADAPTER pHalmac_adapter,
  314. IN PHALMAC_SU_BFER_INIT_PARA pSu_bfer_init
  315. );
  316. HALMAC_RET_STATUS
  317. halmac_mu_bfee_entry_init_88xx(
  318. IN PHALMAC_ADAPTER pHalmac_adapter,
  319. IN PHALMAC_MU_BFEE_INIT_PARA pMu_bfee_init
  320. );
  321. HALMAC_RET_STATUS
  322. halmac_mu_bfer_entry_init_88xx(
  323. IN PHALMAC_ADAPTER pHalmac_adapter,
  324. IN PHALMAC_MU_BFER_INIT_PARA pMu_bfer_init
  325. );
  326. HALMAC_RET_STATUS
  327. halmac_su_bfee_entry_del_88xx(
  328. IN PHALMAC_ADAPTER pHalmac_adapter,
  329. IN u8 userid
  330. );
  331. HALMAC_RET_STATUS
  332. halmac_su_bfer_entry_del_88xx(
  333. IN PHALMAC_ADAPTER pHalmac_adapter,
  334. IN u8 userid
  335. );
  336. HALMAC_RET_STATUS
  337. halmac_mu_bfee_entry_del_88xx(
  338. IN PHALMAC_ADAPTER pHalmac_adapter,
  339. IN u8 userid
  340. );
  341. HALMAC_RET_STATUS
  342. halmac_mu_bfer_entry_del_88xx(
  343. IN PHALMAC_ADAPTER pHalmac_adapter
  344. );
  345. HALMAC_RET_STATUS
  346. halmac_add_ch_info_88xx(
  347. IN PHALMAC_ADAPTER pHalmac_adapter,
  348. IN PHALMAC_CH_INFO pCh_info
  349. );
  350. HALMAC_RET_STATUS
  351. halmac_add_extra_ch_info_88xx(
  352. IN PHALMAC_ADAPTER pHalmac_adapter,
  353. IN PHALMAC_CH_EXTRA_INFO pCh_extra_info
  354. );
  355. HALMAC_RET_STATUS
  356. halmac_ctrl_ch_switch_88xx(
  357. IN PHALMAC_ADAPTER pHalmac_adapter,
  358. IN PHALMAC_CH_SWITCH_OPTION pCs_option
  359. );
  360. HALMAC_RET_STATUS
  361. halmac_p2pps_88xx(
  362. IN PHALMAC_ADAPTER pHalmac_adapter,
  363. IN PHALMAC_P2PPS pP2PPS
  364. );
  365. static HALMAC_RET_STATUS
  366. halmac_func_p2pps_88xx(
  367. IN PHALMAC_ADAPTER pHalmac_adapter,
  368. IN PHALMAC_P2PPS pP2PPS
  369. );
  370. HALMAC_RET_STATUS
  371. halmac_clear_ch_info_88xx(
  372. IN PHALMAC_ADAPTER pHalmac_adapter
  373. );
  374. HALMAC_RET_STATUS
  375. halmac_send_general_info_88xx(
  376. IN PHALMAC_ADAPTER pHalmac_adapter,
  377. IN PHALMAC_GENERAL_INFO pGeneral_info
  378. );
  379. HALMAC_RET_STATUS
  380. halmac_start_iqk_88xx(
  381. IN PHALMAC_ADAPTER pHalmac_adapter,
  382. IN PHALMAC_IQK_PARA pIqk_para
  383. );
  384. HALMAC_RET_STATUS
  385. halmac_ctrl_pwr_tracking_88xx(
  386. IN PHALMAC_ADAPTER pHalmac_adapter,
  387. IN PHALMAC_PWR_TRACKING_OPTION pPwr_tracking_opt
  388. );
  389. HALMAC_RET_STATUS
  390. halmac_query_status_88xx(
  391. IN PHALMAC_ADAPTER pHalmac_adapter,
  392. IN HALMAC_FEATURE_ID feature_id,
  393. OUT HALMAC_CMD_PROCESS_STATUS *pProcess_status,
  394. INOUT u8 *data,
  395. INOUT u32 *size
  396. );
  397. HALMAC_RET_STATUS
  398. halmac_reset_feature_88xx(
  399. IN PHALMAC_ADAPTER pHalmac_adapter,
  400. IN HALMAC_FEATURE_ID feature_id
  401. );
  402. HALMAC_RET_STATUS
  403. halmac_check_fw_status_88xx(
  404. IN PHALMAC_ADAPTER pHalmac_adapter,
  405. OUT u8 *fw_status
  406. );
  407. HALMAC_RET_STATUS
  408. halmac_dump_fw_dmem_88xx(
  409. IN PHALMAC_ADAPTER pHalmac_adapter,
  410. INOUT u8 *dmem,
  411. INOUT u32 *size
  412. );
  413. HALMAC_RET_STATUS
  414. halmac_cfg_max_dl_size_88xx(
  415. IN PHALMAC_ADAPTER pHalmac_adapter,
  416. IN u32 size
  417. );
  418. HALMAC_RET_STATUS
  419. halmac_psd_88xx(
  420. IN PHALMAC_ADAPTER pHalmac_adapter,
  421. IN u16 start_psd,
  422. IN u16 end_psd
  423. );
  424. HALMAC_RET_STATUS
  425. halmac_cfg_la_mode_88xx(
  426. IN PHALMAC_ADAPTER pHalmac_adapter,
  427. IN HALMAC_LA_MODE la_mode
  428. );
  429. HALMAC_RET_STATUS
  430. halmac_cfg_rx_fifo_expanding_mode_88xx(
  431. IN PHALMAC_ADAPTER pHalmac_adapter,
  432. IN HALMAC_RX_FIFO_EXPANDING_MODE rx_fifo_expanding_mode
  433. );
  434. HALMAC_RET_STATUS
  435. halmac_config_security_88xx(
  436. IN PHALMAC_ADAPTER pHalmac_adapter,
  437. IN PHALMAC_SECURITY_SETTING pSec_setting
  438. );
  439. u8
  440. halmac_get_used_cam_entry_num_88xx(
  441. IN PHALMAC_ADAPTER pHalmac_adapter,
  442. IN HAL_SECURITY_TYPE sec_type
  443. );
  444. HALMAC_RET_STATUS
  445. halmac_write_cam_88xx(
  446. IN PHALMAC_ADAPTER pHalmac_adapter,
  447. IN u32 entry_index,
  448. IN PHALMAC_CAM_ENTRY_INFO pCam_entry_info
  449. );
  450. HALMAC_RET_STATUS
  451. halmac_read_cam_entry_88xx(
  452. IN PHALMAC_ADAPTER pHalmac_adapter,
  453. IN u32 entry_index,
  454. OUT PHALMAC_CAM_ENTRY_FORMAT pContent
  455. );
  456. HALMAC_RET_STATUS
  457. halmac_clear_cam_entry_88xx(
  458. IN PHALMAC_ADAPTER pHalmac_adapter,
  459. IN u32 entry_index
  460. );
  461. HALMAC_RET_STATUS
  462. halmac_get_hw_value_88xx(
  463. IN PHALMAC_ADAPTER pHalmac_adapter,
  464. IN HALMAC_HW_ID hw_id,
  465. OUT VOID *pvalue
  466. );
  467. HALMAC_RET_STATUS
  468. halmac_set_hw_value_88xx(
  469. IN PHALMAC_ADAPTER pHalmac_adapter,
  470. IN HALMAC_HW_ID hw_id,
  471. IN VOID *pvalue
  472. );
  473. HALMAC_RET_STATUS
  474. halmac_cfg_drv_rsvd_pg_num_88xx(
  475. IN PHALMAC_ADAPTER pHalmac_adapter,
  476. IN HALMAC_DRV_RSVD_PG_NUM pg_num
  477. );
  478. HALMAC_RET_STATUS
  479. halmac_get_chip_version_88xx(
  480. IN PHALMAC_ADAPTER pHalmac_adapter,
  481. IN PHALMAC_VER pVersion
  482. );
  483. HALMAC_RET_STATUS
  484. halmac_chk_txdesc_88xx(
  485. IN PHALMAC_ADAPTER pHalmac_adapter,
  486. IN u8 *pHalmac_buf,
  487. IN u32 halmac_size
  488. );
  489. HALMAC_RET_STATUS
  490. halmac_dl_drv_rsvd_page_88xx(
  491. IN PHALMAC_ADAPTER pHalmac_adapter,
  492. IN u8 pg_offset,
  493. IN u8 *pHalmac_buf,
  494. IN u32 halmac_size
  495. );
  496. HALMAC_RET_STATUS
  497. halmac_cfg_csi_rate_88xx(
  498. IN PHALMAC_ADAPTER pHalmac_adapter,
  499. IN u8 rssi,
  500. IN u8 current_rate,
  501. IN u8 fixrate_en,
  502. OUT u8 *new_rate
  503. );
  504. HALMAC_RET_STATUS
  505. halmac_txfifo_is_empty_88xx(
  506. IN PHALMAC_ADAPTER pHalmac_adapter,
  507. IN u32 chk_num
  508. );
  509. #endif/* _HALMAC_API_H_ */