1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef _HALMAC_FUNC_88XX_H_ 3 #define _HALMAC_FUNC_88XX_H_ 4 5 #include "../halmac_type.h" 6 7 8 HALMAC_RET_STATUS 9 halmac_send_h2c_pkt_88xx( 10 IN PHALMAC_ADAPTER pHalmac_adapter, 11 IN u8 *pHal_buff, 12 IN u32 size, 13 IN u8 ack 14 ); 15 16 HALMAC_RET_STATUS 17 halmac_download_rsvd_page_88xx( 18 IN PHALMAC_ADAPTER pHalmac_adapter, 19 IN u8 *pHal_buf, 20 IN u32 size 21 ); 22 23 HALMAC_RET_STATUS 24 halmac_set_h2c_header_88xx( 25 IN PHALMAC_ADAPTER pHalmac_adapter, 26 OUT u8 *pHal_h2c_hdr, 27 IN u16 *seq, 28 IN u8 ack 29 ); 30 31 HALMAC_RET_STATUS 32 halmac_set_fw_offload_h2c_header_88xx( 33 IN PHALMAC_ADAPTER pHalmac_adapter, 34 OUT u8 *pHal_h2c_hdr, 35 IN PHALMAC_H2C_HEADER_INFO pH2c_header_info, 36 OUT u16 *pSeq_num 37 ); 38 39 HALMAC_RET_STATUS 40 halmac_dump_efuse_88xx( 41 IN PHALMAC_ADAPTER pHalmac_adapter, 42 IN HALMAC_EFUSE_READ_CFG cfg 43 ); 44 45 HALMAC_RET_STATUS 46 halmac_func_read_efuse_88xx( 47 IN PHALMAC_ADAPTER pHalmac_adapter, 48 IN u32 offset, 49 IN u32 size, 50 OUT u8 *pEfuse_map 51 ); 52 53 HALMAC_RET_STATUS 54 halmac_func_write_efuse_88xx( 55 IN PHALMAC_ADAPTER pHalmac_adapter, 56 IN u32 offset, 57 IN u8 value 58 ); 59 60 HALMAC_RET_STATUS 61 halmac_func_switch_efuse_bank_88xx( 62 IN PHALMAC_ADAPTER pHalmac_adapter, 63 IN HALMAC_EFUSE_BANK efuse_bank 64 ); 65 66 HALMAC_RET_STATUS 67 halmac_read_logical_efuse_map_88xx( 68 IN PHALMAC_ADAPTER pHalmac_adapter, 69 IN u8 *pMap 70 ); 71 72 HALMAC_RET_STATUS 73 halmac_func_write_logical_efuse_88xx( 74 IN PHALMAC_ADAPTER pHalmac_adapter, 75 IN u32 offset, 76 IN u8 value 77 ); 78 79 HALMAC_RET_STATUS 80 halmac_func_pg_efuse_by_map_88xx( 81 IN PHALMAC_ADAPTER pHalmac_adapter, 82 IN PHALMAC_PG_EFUSE_INFO pPg_efuse_info, 83 IN HALMAC_EFUSE_READ_CFG cfg 84 ); 85 86 HALMAC_RET_STATUS 87 halmac_eeprom_parser_88xx( 88 IN PHALMAC_ADAPTER pHalmac_adapter, 89 IN u8 *pPhysical_efuse_map, 90 OUT u8 *pLogical_efuse_map 91 ); 92 93 HALMAC_RET_STATUS 94 halmac_read_hw_efuse_88xx( 95 IN PHALMAC_ADAPTER pHalmac_adapter, 96 IN u32 offset, 97 IN u32 size, 98 OUT u8 *pEfuse_map 99 ); 100 101 HALMAC_RET_STATUS 102 halmac_dlfw_to_mem_88xx( 103 IN PHALMAC_ADAPTER pHalmac_adapter, 104 IN u8 *pRam_code, 105 IN u32 dest, 106 IN u32 code_size 107 ); 108 109 HALMAC_RET_STATUS 110 halmac_send_fwpkt_88xx( 111 IN PHALMAC_ADAPTER pHalmac_adapter, 112 IN u8 *pRam_code, 113 IN u32 code_size 114 ); 115 116 HALMAC_RET_STATUS 117 halmac_iddma_dlfw_88xx( 118 IN PHALMAC_ADAPTER pHalmac_adapter, 119 IN u32 source, 120 IN u32 dest, 121 IN u32 length, 122 IN u8 first 123 ); 124 125 HALMAC_RET_STATUS 126 halmac_check_fw_chksum_88xx( 127 IN PHALMAC_ADAPTER pHalmac_adapter, 128 IN u32 memory_address 129 ); 130 131 HALMAC_RET_STATUS 132 halmac_dlfw_end_flow_88xx( 133 IN PHALMAC_ADAPTER pHalmac_adapter 134 ); 135 136 HALMAC_RET_STATUS 137 halmac_pwr_seq_parser_88xx( 138 IN PHALMAC_ADAPTER pHalmac_adapter, 139 IN u8 CUT, 140 IN u8 FAB, 141 IN u8 INTF, 142 IN PHALMAC_WLAN_PWR_CFG PWR_SEQ_CFG 143 ); 144 145 HALMAC_RET_STATUS 146 halmac_get_h2c_buff_free_space_88xx( 147 IN PHALMAC_ADAPTER pHalmac_adapter 148 ); 149 150 HALMAC_RET_STATUS 151 halmac_send_h2c_set_pwr_mode_88xx( 152 IN PHALMAC_ADAPTER pHalmac_adapter, 153 IN PHALMAC_FWLPS_OPTION pHal_FwLps_Opt 154 ); 155 156 HALMAC_RET_STATUS 157 halmac_func_send_original_h2c_88xx( 158 IN PHALMAC_ADAPTER pHalmac_adapter, 159 IN u8 *original_h2c, 160 IN u16 *seq, 161 IN u8 ack 162 ); 163 164 HALMAC_RET_STATUS 165 halmac_media_status_rpt_88xx( 166 IN PHALMAC_ADAPTER pHalmac_adapter, 167 IN u8 op_mode, 168 IN u8 mac_id_ind, 169 IN u8 mac_id, 170 IN u8 mac_id_end 171 ); 172 173 HALMAC_RET_STATUS 174 halmac_send_h2c_update_datapack_88xx( 175 IN PHALMAC_ADAPTER pHalmac_adapter, 176 IN HALMAC_DATA_TYPE halmac_data_type, 177 IN PHALMAC_PHY_PARAMETER_INFO para_info 178 ); 179 180 HALMAC_RET_STATUS 181 halmac_send_h2c_run_datapack_88xx( 182 IN PHALMAC_ADAPTER pHalmac_adapter, 183 IN HALMAC_DATA_TYPE halmac_data_type 184 ); 185 186 HALMAC_RET_STATUS 187 halmac_send_bt_coex_cmd_88xx( 188 IN PHALMAC_ADAPTER pHalmac_adapter, 189 IN u8 *pBt_buf, 190 IN u32 bt_size, 191 IN u8 ack 192 ); 193 194 HALMAC_RET_STATUS 195 halmac_func_ctrl_ch_switch_88xx( 196 IN PHALMAC_ADAPTER pHalmac_adapter, 197 IN PHALMAC_CH_SWITCH_OPTION pCs_option 198 ); 199 200 HALMAC_RET_STATUS 201 halmac_func_send_general_info_88xx( 202 IN PHALMAC_ADAPTER pHalmac_adapter, 203 IN PHALMAC_GENERAL_INFO pGeneral_info 204 ); 205 206 HALMAC_RET_STATUS 207 halmac_send_h2c_ps_tuning_para_88xx( 208 IN PHALMAC_ADAPTER pHalmac_adapter 209 ); 210 211 HALMAC_RET_STATUS 212 halmac_parse_c2h_packet_88xx( 213 IN PHALMAC_ADAPTER pHalmac_adapter, 214 IN u8 *halmac_buf, 215 IN u32 halmac_size 216 ); 217 218 HALMAC_RET_STATUS 219 halmac_send_h2c_update_packet_88xx( 220 IN PHALMAC_ADAPTER pHalmac_adapter, 221 IN HALMAC_PACKET_ID pkt_id, 222 IN u8 *pkt, 223 IN u32 pkt_size 224 ); 225 226 HALMAC_RET_STATUS 227 halmac_send_h2c_phy_parameter_88xx( 228 IN PHALMAC_ADAPTER pHalmac_adapter, 229 IN PHALMAC_PHY_PARAMETER_INFO para_info, 230 IN u8 full_fifo 231 ); 232 233 HALMAC_RET_STATUS 234 halmac_dump_physical_efuse_fw_88xx( 235 IN PHALMAC_ADAPTER pHalmac_adapter, 236 IN u32 offset, 237 IN u32 Size, 238 OUT u8 *pEfuse_map 239 ); 240 241 HALMAC_RET_STATUS 242 halmac_send_h2c_update_bcn_parse_info_88xx( 243 IN PHALMAC_ADAPTER pHalmac_adapter, 244 IN PHALMAC_BCN_IE_INFO pBcn_ie_info 245 ); 246 247 HALMAC_RET_STATUS 248 halmac_convert_to_sdio_bus_offset_88xx( 249 IN PHALMAC_ADAPTER pHalmac_adapter, 250 INOUT u32 *halmac_offset 251 ); 252 253 HALMAC_RET_STATUS 254 halmac_update_sdio_free_page_88xx( 255 IN PHALMAC_ADAPTER pHalmac_adapter 256 ); 257 258 HALMAC_RET_STATUS 259 halmac_update_oqt_free_space_88xx( 260 IN PHALMAC_ADAPTER pHalmac_adapter 261 ); 262 263 HALMAC_EFUSE_CMD_CONSTRUCT_STATE 264 halmac_query_efuse_curr_state_88xx( 265 IN PHALMAC_ADAPTER pHalmac_adapter 266 ); 267 268 HALMAC_RET_STATUS 269 halmac_transition_efuse_state_88xx( 270 IN PHALMAC_ADAPTER pHalmac_adapter, 271 IN HALMAC_EFUSE_CMD_CONSTRUCT_STATE dest_state 272 ); 273 274 HALMAC_CFG_PARA_CMD_CONSTRUCT_STATE 275 halmac_query_cfg_para_curr_state_88xx( 276 IN PHALMAC_ADAPTER pHalmac_adapter 277 ); 278 279 HALMAC_RET_STATUS 280 halmac_transition_cfg_para_state_88xx( 281 IN PHALMAC_ADAPTER pHalmac_adapter, 282 IN HALMAC_CFG_PARA_CMD_CONSTRUCT_STATE dest_state 283 ); 284 285 HALMAC_SCAN_CMD_CONSTRUCT_STATE 286 halmac_query_scan_curr_state_88xx( 287 IN PHALMAC_ADAPTER pHalmac_adapter 288 ); 289 290 HALMAC_RET_STATUS 291 halmac_transition_scan_state_88xx( 292 IN PHALMAC_ADAPTER pHalmac_adapter, 293 IN HALMAC_SCAN_CMD_CONSTRUCT_STATE dest_state 294 ); 295 296 HALMAC_RET_STATUS 297 halmac_query_cfg_para_status_88xx( 298 IN PHALMAC_ADAPTER pHalmac_adapter, 299 OUT HALMAC_CMD_PROCESS_STATUS *pProcess_status, 300 INOUT u8 *data, 301 INOUT u32 *size 302 ); 303 304 HALMAC_RET_STATUS 305 halmac_query_dump_physical_efuse_status_88xx( 306 IN PHALMAC_ADAPTER pHalmac_adapter, 307 OUT HALMAC_CMD_PROCESS_STATUS *pProcess_status, 308 INOUT u8 *data, 309 INOUT u32 *size 310 ); 311 312 HALMAC_RET_STATUS 313 halmac_query_dump_logical_efuse_status_88xx( 314 IN PHALMAC_ADAPTER pHalmac_adapter, 315 OUT HALMAC_CMD_PROCESS_STATUS *pProcess_status, 316 INOUT u8 *data, 317 INOUT u32 *size 318 ); 319 320 HALMAC_RET_STATUS 321 halmac_query_channel_switch_status_88xx( 322 IN PHALMAC_ADAPTER pHalmac_adapter, 323 OUT HALMAC_CMD_PROCESS_STATUS *pProcess_status, 324 INOUT u8 *data, 325 INOUT u32 *size 326 ); 327 328 HALMAC_RET_STATUS 329 halmac_query_update_packet_status_88xx( 330 IN PHALMAC_ADAPTER pHalmac_adapter, 331 OUT HALMAC_CMD_PROCESS_STATUS *pProcess_status, 332 INOUT u8 *data, 333 INOUT u32 *size 334 ); 335 336 HALMAC_RET_STATUS 337 halmac_query_iqk_status_88xx( 338 IN PHALMAC_ADAPTER pHalmac_adapter, 339 OUT HALMAC_CMD_PROCESS_STATUS *pProcess_status, 340 INOUT u8 *data, 341 INOUT u32 *size 342 ); 343 344 HALMAC_RET_STATUS 345 halmac_query_power_tracking_status_88xx( 346 IN PHALMAC_ADAPTER pHalmac_adapter, 347 OUT HALMAC_CMD_PROCESS_STATUS *pProcess_status, 348 INOUT u8 *data, 349 INOUT u32 *size 350 ); 351 352 HALMAC_RET_STATUS 353 halmac_query_psd_status_88xx( 354 IN PHALMAC_ADAPTER pHalmac_adapter, 355 OUT HALMAC_CMD_PROCESS_STATUS *pProcess_status, 356 INOUT u8 *data, 357 INOUT u32 *size 358 ); 359 360 HALMAC_RET_STATUS 361 halmac_verify_io_88xx( 362 IN PHALMAC_ADAPTER pHalmac_adapter 363 ); 364 365 HALMAC_RET_STATUS 366 halmac_verify_send_rsvd_page_88xx( 367 IN PHALMAC_ADAPTER pHalmac_adapter 368 ); 369 370 VOID 371 halmac_power_save_cb_88xx( 372 IN VOID *CbData 373 ); 374 375 HALMAC_RET_STATUS 376 halmac_buffer_read_88xx( 377 IN PHALMAC_ADAPTER pHalmac_adapter, 378 IN u32 offset, 379 IN u32 size, 380 IN HAL_FIFO_SEL halmac_fifo_sel, 381 OUT u8 *pFifo_map 382 ); 383 384 VOID 385 halmac_restore_mac_register_88xx( 386 IN PHALMAC_ADAPTER pHalmac_adapter, 387 IN PHALMAC_RESTORE_INFO pRestore_info, 388 IN u32 restore_num 389 ); 390 391 VOID 392 halmac_api_record_id_88xx( 393 IN PHALMAC_ADAPTER pHalmac_adapter, 394 IN HALMAC_API_ID api_id 395 ); 396 397 VOID 398 halmac_get_hcpwm_88xx( 399 IN PHALMAC_ADAPTER pHalmac_adapter, 400 OUT u8 *pHcpwm 401 ); 402 403 VOID 404 halmac_get_hcpwm2_88xx( 405 IN PHALMAC_ADAPTER pHalmac_adapter, 406 OUT u16 *pHcpwm2 407 ); 408 409 VOID 410 halmac_set_hrpwm_88xx( 411 IN PHALMAC_ADAPTER pHalmac_adapter, 412 IN u8 hrpwm 413 ); 414 415 VOID 416 halmac_set_hrpwm2_88xx( 417 IN PHALMAC_ADAPTER pHalmac_adapter, 418 IN u16 hrpwm2 419 ); 420 421 #endif /* _HALMAC_FUNC_88XX_H_ */ 422