1*4882a593Smuzhiyun /****************************************************************************** 2*4882a593Smuzhiyun * 3*4882a593Smuzhiyun * Copyright(c) 2016 - 2019 Realtek Corporation. All rights reserved. 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * This program is free software; you can redistribute it and/or modify it 6*4882a593Smuzhiyun * under the terms of version 2 of the GNU General Public License as 7*4882a593Smuzhiyun * published by the Free Software Foundation. 8*4882a593Smuzhiyun * 9*4882a593Smuzhiyun * This program is distributed in the hope that it will be useful, but WITHOUT 10*4882a593Smuzhiyun * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11*4882a593Smuzhiyun * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12*4882a593Smuzhiyun * more details. 13*4882a593Smuzhiyun * 14*4882a593Smuzhiyun ******************************************************************************/ 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun #ifndef _HALMAC_API_H_ 17*4882a593Smuzhiyun #define _HALMAC_API_H_ 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun #define HALMAC_SVN_VER "55772M" 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun #define HALMAC_MAJOR_VER 1 22*4882a593Smuzhiyun #define HALMAC_PROTOTYPE_VER 6 23*4882a593Smuzhiyun #define HALMAC_MINOR_VER 6 24*4882a593Smuzhiyun #define HALMAC_PATCH_VER 23 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun #define HALMAC_88XX_SUPPORT (HALMAC_8821C_SUPPORT || \ 27*4882a593Smuzhiyun HALMAC_8822B_SUPPORT || \ 28*4882a593Smuzhiyun HALMAC_8822C_SUPPORT || \ 29*4882a593Smuzhiyun HALMAC_8812F_SUPPORT) 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun #define HALMAC_88XX_V1_SUPPORT HALMAC_8814B_SUPPORT 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun #include "halmac_2_platform.h" 34*4882a593Smuzhiyun #include "halmac_type.h" 35*4882a593Smuzhiyun #include "halmac_hw_cfg.h" 36*4882a593Smuzhiyun #include "halmac_usb_reg.h" 37*4882a593Smuzhiyun #include "halmac_sdio_reg.h" 38*4882a593Smuzhiyun #include "halmac_pcie_reg.h" 39*4882a593Smuzhiyun #include "halmac_bit2.h" 40*4882a593Smuzhiyun #include "halmac_reg2.h" 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun #if HALMAC_PLATFORM_TESTPROGRAM 43*4882a593Smuzhiyun #include "halmac_type_testprogram.h" 44*4882a593Smuzhiyun #endif 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun #ifndef HALMAC_USE_TYPEDEF 47*4882a593Smuzhiyun #define HALMAC_USE_TYPEDEF 1 48*4882a593Smuzhiyun #endif 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun #if HALMAC_USE_TYPEDEF 51*4882a593Smuzhiyun #include "halmac_typedef.h" 52*4882a593Smuzhiyun #endif 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun #if HALMAC_8822B_SUPPORT 55*4882a593Smuzhiyun #include "halmac_reg_8822b.h" 56*4882a593Smuzhiyun #include "halmac_bit_8822b.h" 57*4882a593Smuzhiyun #endif 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun #if HALMAC_8821C_SUPPORT 60*4882a593Smuzhiyun #include "halmac_reg_8821c.h" 61*4882a593Smuzhiyun #include "halmac_bit_8821c.h" 62*4882a593Smuzhiyun #endif 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun #if HALMAC_8814B_SUPPORT 65*4882a593Smuzhiyun #include "halmac_reg_8814b.h" 66*4882a593Smuzhiyun #include "halmac_bit_8814b.h" 67*4882a593Smuzhiyun #endif 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun #if HALMAC_8822C_SUPPORT 70*4882a593Smuzhiyun #include "halmac_reg_8822c.h" 71*4882a593Smuzhiyun #include "halmac_bit_8822c.h" 72*4882a593Smuzhiyun #endif 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun #if HALMAC_8812F_SUPPORT 75*4882a593Smuzhiyun #include "halmac_reg_8812f.h" 76*4882a593Smuzhiyun #include "halmac_bit_8812f.h" 77*4882a593Smuzhiyun #endif 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun #if (HALMAC_PLATFORM_WINDOWS || HALMAC_PLATFORM_LINUX) 80*4882a593Smuzhiyun #include "halmac_tx_desc_nic.h" 81*4882a593Smuzhiyun #include "halmac_tx_desc_buffer_nic.h" 82*4882a593Smuzhiyun #include "halmac_tx_desc_ie_nic.h" 83*4882a593Smuzhiyun #include "halmac_rx_desc_nic.h" 84*4882a593Smuzhiyun #include "halmac_tx_bd_nic.h" 85*4882a593Smuzhiyun #include "halmac_rx_bd_nic.h" 86*4882a593Smuzhiyun #include "halmac_fw_offload_c2h_nic.h" 87*4882a593Smuzhiyun #include "halmac_fw_offload_h2c_nic.h" 88*4882a593Smuzhiyun #include "halmac_h2c_extra_info_nic.h" 89*4882a593Smuzhiyun #include "halmac_original_c2h_nic.h" 90*4882a593Smuzhiyun #include "halmac_original_h2c_nic.h" 91*4882a593Smuzhiyun #endif 92*4882a593Smuzhiyun 93*4882a593Smuzhiyun #if (HALMAC_PLATFORM_AP) 94*4882a593Smuzhiyun #include "halmac_rx_desc_ap.h" 95*4882a593Smuzhiyun #include "halmac_tx_desc_ap.h" 96*4882a593Smuzhiyun #include "halmac_tx_desc_buffer_ap.h" 97*4882a593Smuzhiyun #include "halmac_tx_desc_ie_ap.h" 98*4882a593Smuzhiyun #include "halmac_fw_offload_c2h_ap.h" 99*4882a593Smuzhiyun #include "halmac_fw_offload_h2c_ap.h" 100*4882a593Smuzhiyun #include "halmac_h2c_extra_info_ap.h" 101*4882a593Smuzhiyun #include "halmac_original_c2h_ap.h" 102*4882a593Smuzhiyun #include "halmac_original_h2c_ap.h" 103*4882a593Smuzhiyun #endif 104*4882a593Smuzhiyun 105*4882a593Smuzhiyun #if HALMAC_DBG_MONITOR_IO 106*4882a593Smuzhiyun #include "halmac_dbg.h" 107*4882a593Smuzhiyun #endif 108*4882a593Smuzhiyun #include "halmac_tx_desc_chip.h" 109*4882a593Smuzhiyun #include "halmac_rx_desc_chip.h" 110*4882a593Smuzhiyun #include "halmac_tx_desc_buffer_chip.h" 111*4882a593Smuzhiyun #include "halmac_tx_desc_ie_chip.h" 112*4882a593Smuzhiyun 113*4882a593Smuzhiyun enum halmac_ret_status 114*4882a593Smuzhiyun halmac_init_adapter(void *drv_adapter, struct halmac_platform_api *pltfm_api, 115*4882a593Smuzhiyun enum halmac_interface intf, 116*4882a593Smuzhiyun struct halmac_adapter **halmac_adapter, 117*4882a593Smuzhiyun struct halmac_api **halmac_api); 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun enum halmac_ret_status 120*4882a593Smuzhiyun halmac_deinit_adapter(struct halmac_adapter *adapter); 121*4882a593Smuzhiyun 122*4882a593Smuzhiyun enum halmac_ret_status 123*4882a593Smuzhiyun halmac_halt_api(struct halmac_adapter *adapter); 124*4882a593Smuzhiyun 125*4882a593Smuzhiyun enum halmac_ret_status 126*4882a593Smuzhiyun halmac_get_version(struct halmac_ver *version); 127*4882a593Smuzhiyun 128*4882a593Smuzhiyun #endif 129