Path: blob/master/ALFA-W1F1/RTL8814AU/hal/phydm/halrf/halphyrf_ap.h
1308 views
/******************************************************************************1*2* Copyright(c) 2007 - 2017 Realtek Corporation.3*4* This program is free software; you can redistribute it and/or modify it5* under the terms of version 2 of the GNU General Public License as6* published by the Free Software Foundation.7*8* This program is distributed in the hope that it will be useful, but WITHOUT9* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or10* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for11* more details.12*13*****************************************************************************/1415#ifndef __HALPHYRF_H__16#define __HALPHYRF_H__1718#include "halrf/halrf_powertracking_ap.h"19#include "halrf/halrf_kfree.h"2021#if (RTL8814A_SUPPORT == 1)22#include "halrf/rtl8814a/halrf_iqk_8814a.h"23#endif2425#if (RTL8822B_SUPPORT == 1)26#include "halrf/rtl8822b/halrf_iqk_8822b.h"27#endif2829#if (RTL8821C_SUPPORT == 1)30#include "halrf/rtl8821c/halrf_iqk_8821c.h"31#endif3233#if (RTL8195B_SUPPORT == 1)34// #include "halrf/rtl8195b/halrf.h"35#include "halrf/rtl8195b/halrf_iqk_8195b.h"36#include "halrf/rtl8195b/halrf_txgapk_8195b.h"37#include "halrf/rtl8195b/halrf_dpk_8195b.h"38#endif3940#if (RTL8198F_SUPPORT == 1)41#include "halrf/rtl8198f/halrf_iqk_8198f.h"42#include "halrf/rtl8198f/halrf_dpk_8198f.h"43#endif4445#if (RTL8812F_SUPPORT == 1)46#include "halrf/rtl8812f/halrf_iqk_8812f.h"47#include "halrf/rtl8812f/halrf_dpk_8812f.h"48#include "halrf/rtl8812f/halrf_tssi_8812f.h"49#endif5051#if (RTL8814B_SUPPORT == 1)52#include "halrf/rtl8814b/halrf_iqk_8814b.h"53#include "halrf/rtl8814b/halrf_dpk_8814b.h"54#endif5556#if (RTL8197G_SUPPORT == 1)57#include "halrf/rtl8197g/halrf_iqk_8197g.h"58#include "halrf/rtl8197g/halrf_dpk_8197g.h"59#include "halrf/rtl8197g/halrf_tssi_8197g.h"60#endif6162enum pwrtrack_method {63BBSWING,64TXAGC,65MIX_MODE,66TSSI_MODE,67MIX_2G_TSSI_5G_MODE,68MIX_5G_TSSI_2G_MODE,69CLEAN_MODE70};7172typedef void (*func_set_pwr)(void *, enum pwrtrack_method, u8, u8);73typedef void(*func_iqk)(void *, u8, u8, u8);74typedef void (*func_lck)(void *);75typedef void (*func_tssi_dck)(void *, u8);76/* refine by YuChen for 8814A */77typedef void (*func_swing)(void *, u8 **, u8 **, u8 **, u8 **);78typedef void (*func_swing8814only)(void *, u8 **, u8 **, u8 **, u8 **);79typedef void (*func_all_swing)(void *, u8 **, u8 **, u8 **, u8 **, u8 **, u8 **, u8 **, u8 **);80typedef void (*func_all_swing_ex)(void *, u8 **, u8 **, u8 **, u8 **, u8 **, u8 **, u8 **, u8 **);8182struct txpwrtrack_cfg {83u8 swing_table_size_cck;84u8 swing_table_size_ofdm;85u8 threshold_iqk;86u8 threshold_dpk;87u8 average_thermal_num;88u8 rf_path_count;89u32 thermal_reg_addr;90func_set_pwr odm_tx_pwr_track_set_pwr;91func_iqk do_iqk;92func_lck phy_lc_calibrate;93func_tssi_dck do_tssi_dck;94func_swing get_delta_swing_table;95func_swing8814only get_delta_swing_table8814only;96func_all_swing get_delta_all_swing_table;97func_all_swing_ex get_delta_all_swing_table_ex;98};99100void101odm_clear_txpowertracking_state(102void *dm_void103);104105void106configure_txpower_track(107void *dm_void,108struct txpwrtrack_cfg *config109);110111112void113odm_txpowertracking_callback_thermal_meter(114void *dm_void115);116117#if (RTL8192E_SUPPORT == 1)118void119odm_txpowertracking_callback_thermal_meter_92e(120void *dm_void121);122#endif123124#if (RTL8814A_SUPPORT == 1)125void126odm_txpowertracking_callback_thermal_meter_jaguar_series2(127void *dm_void128);129130#elif ODM_IC_11AC_SERIES_SUPPORT131void132odm_txpowertracking_callback_thermal_meter_jaguar_series(133void *dm_void134);135136#elif (RTL8197F_SUPPORT == 1 || RTL8192F_SUPPORT == 1 || RTL8822B_SUPPORT == 1 ||\137RTL8821C_SUPPORT == 1 || RTL8198F_SUPPORT == 1)138void139odm_txpowertracking_callback_thermal_meter_jaguar_series3(140void *dm_void141);142143#elif (RTL8814B_SUPPORT == 1 || RTL8812F_SUPPORT == 1 || RTL8822C_SUPPORT == 1 || RTL8197G_SUPPORT == 1)144void145odm_txpowertracking_callback_thermal_meter_jaguar_series4(146void *dm_void147);148149#endif150151#define IS_CCK_RATE(_rate) (ODM_MGN_1M == _rate || _rate == ODM_MGN_2M || _rate == ODM_MGN_5_5M || _rate == ODM_MGN_11M)152153#define ODM_TARGET_CHNL_NUM_2G_5G 59154155156void157odm_reset_iqk_result(158void *dm_void159);160u8161odm_get_right_chnl_place_for_iqk(162u8 chnl163);164165void phydm_rf_init(void *dm_void);166void phydm_rf_watchdog(void *dm_void);167168#endif /*#ifndef __HALPHYRF_H__*/169170171