Path: blob/master/ALFA-W1F1/RTL8814AU/hal/phydm/halrf/halphyrf_iot.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* The full GNU General Public License is included in this distribution in the14* file called LICENSE.15*16* Contact Information:17* wlanfae <[email protected]>18* Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,19* Hsinchu 300, Taiwan.20*21* Larry Finger <[email protected]>22*23*****************************************************************************/2425#ifndef __HALPHYRF_H__26#define __HALPHYRF_H__2728#include "halrf/halrf_kfree.h"2930#if (RTL8821C_SUPPORT == 1)31#include "halrf/rtl8821c/halrf_iqk_8821c.h"32#endif3334#if (RTL8195B_SUPPORT == 1)35// #include "halrf/rtl8195b/halrf.h"36#include "halrf/rtl8195b/halrf_iqk_8195b.h"37#include "halrf/rtl8195b/halrf_txgapk_8195b.h"38#include "halrf/rtl8195b/halrf_dpk_8195b.h"39#endif4041#if (RTL8710C_SUPPORT == 1)42// #include "halrf/rtl8710c/halrf.h"43#include "halrf/rtl8710c/halrf_iqk_8710c.h"44// #include "halrf/rtl8710c/halrf_txgapk_8710c.h"45// #include "halrf/rtl8710c/halrf_dpk_8710c.h"46#endif4748#include "halrf/halrf_powertracking_iot.h"495051enum spur_cal_method {52PLL_RESET,53AFE_PHASE_SEL54};5556enum pwrtrack_method {57BBSWING,58TXAGC,59MIX_MODE,60TSSI_MODE,61MIX_2G_TSSI_5G_MODE,62MIX_5G_TSSI_2G_MODE,63CLEAN_MODE64};6566typedef void (*func_set_pwr)(void *, enum pwrtrack_method, u8, u8);67typedef void(*func_iqk)(void *, u8, u8, u8);68typedef void (*func_lck)(void *);69#if (RTL8721D_SUPPORT == 1)70typedef void (*func_swing)(void *, u8 **, u8 **, u8 **, u8 **,71u8 **, u8 **, u8 **, u8 **);72#else73typedef void (*func_swing)(void *, u8 **, u8 **, u8 **, u8 **);74#endif75typedef void (*func_swing8814only)(void *, u8 **, u8 **, u8 **, u8 **);76typedef void(*func_swing_xtal)(void *, s8 **, s8 **);77typedef void(*func_set_xtal)(void *);7879struct txpwrtrack_cfg {80u8 swing_table_size_cck;81u8 swing_table_size_ofdm;82u8 threshold_iqk;83u8 threshold_dpk;84u8 average_thermal_num;85u8 rf_path_count;86u32 thermal_reg_addr;87func_set_pwr odm_tx_pwr_track_set_pwr;88func_iqk do_iqk;89func_lck phy_lc_calibrate;90func_swing get_delta_swing_table;91func_swing8814only get_delta_swing_table8814only;92func_swing_xtal get_delta_swing_xtal_table;93func_set_xtal odm_txxtaltrack_set_xtal;94};9596void97configure_txpower_track(98void *dm_void,99struct txpwrtrack_cfg *config100);101102103void104odm_clear_txpowertracking_state(105void *dm_void106);107108void109odm_txpowertracking_callback_thermal_meter(110#if (DM_ODM_SUPPORT_TYPE & ODM_AP)111void *dm_void112#elif (DM_ODM_SUPPORT_TYPE & ODM_CE)113void *dm114#else115void *adapter116#endif117);118119120121#define ODM_TARGET_CHNL_NUM_2G_5G 59122123124void125odm_reset_iqk_result(126void *dm_void127);128u8129odm_get_right_chnl_place_for_iqk(130u8 chnl131);132133void phydm_rf_init(void *dm_void);134void phydm_rf_watchdog(void *dm_void);135136#endif /*#ifndef __HALPHYRF_H__*/137138139