8821cu-20210916/hal/phydm/phydm_features_ap.h

228 lines
6.9 KiB
C

/******************************************************************************
*
* Copyright(c) 2007 - 2017 Realtek Corporation.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of version 2 of the GNU General Public License as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
*****************************************************************************/
#ifndef __PHYDM_FEATURES_AP_H__
#define __PHYDM_FEATURES_AP_H__
#if (RTL8814A_SUPPORT || RTL8821C_SUPPORT || RTL8822B_SUPPORT ||\
RTL8197F_SUPPORT || RTL8192F_SUPPORT || RTL8198F_SUPPORT ||\
RTL8822C_SUPPORT || RTL8812F_SUPPORT || RTL8814B_SUPPORT ||\
RTL8197G_SUPPORT || RTL8723F_SUPPORT)
#define PHYDM_LA_MODE_SUPPORT 1
#else
#define PHYDM_LA_MODE_SUPPORT 0
#endif
#if (RTL8822B_SUPPORT || RTL8812A_SUPPORT || RTL8197F_SUPPORT ||\
RTL8192F_SUPPORT)
#define DYN_ANT_WEIGHTING_SUPPORT
#endif
#if (RTL8822B_SUPPORT || RTL8198F_SUPPORT || RTL8814B_SUPPORT ||\
RTL8197G_SUPPORT || RTL8812F_SUPPORT || RTL8723F_SUPPORT)
#define FAHM_SUPPORT
#endif
#if (RTL8197G_SUPPORT || RTL8812F_SUPPORT || RTL8723F_SUPPORT)
#define IFS_CLM_SUPPORT
#endif
#define NHM_SUPPORT
#define CLM_SUPPORT
#if (RTL8812F_SUPPORT)
/*#define PHYDM_PHYSTAUS_AUTO_SWITCH*/
#endif
#if (RTL8197F_SUPPORT)
/*#define PHYDM_TDMA_DIG_SUPPORT*/
#endif
#if (RTL8198F_SUPPORT || RTL8814B_SUPPORT || RTL8812F_SUPPORT ||\
RTL8197G_SUPPORT || RTL8723F_SUPPORT)
#define PHYDM_TDMA_DIG_SUPPORT 1
#ifdef PHYDM_TDMA_DIG_SUPPORT
#define IS_USE_NEW_TDMA /*new tdma dig test*/
#endif
#endif
#if (RTL8197F_SUPPORT || RTL8822B_SUPPORT ||\
RTL8198F_SUPPORT || RTL8814B_SUPPORT || RTL8812F_SUPPORT)
#define PHYDM_LNA_SAT_CHK_SUPPORT
#ifdef PHYDM_LNA_SAT_CHK_SUPPORT
#if (RTL8197F_SUPPORT)
/*#define PHYDM_LNA_SAT_CHK_SUPPORT_TYPE1*/
#endif
#if (RTL8822B_SUPPORT)
/*#define PHYDM_LNA_SAT_CHK_TYPE2*/
#endif
#if (RTL8198F_SUPPORT || RTL8814B_SUPPORT || RTL8812F_SUPPORT)
#define PHYDM_LNA_SAT_CHK_TYPE1
#endif
#endif
#endif
#if (RTL8822B_SUPPORT)
/*#define PHYDM_POWER_TRAINING_SUPPORT*/
#endif
#if (RTL8814B_SUPPORT || RTL8198F_SUPPORT || RTL8822C_SUPPORT ||\
RTL8812F_SUPPORT || RTL8197G_SUPPORT || RTL8723F_SUPPORT)
#define PHYDM_PMAC_TX_SETTING_SUPPORT
#endif
#if (RTL8814B_SUPPORT || RTL8198F_SUPPORT || RTL8822C_SUPPORT ||\
RTL8812F_SUPPORT || RTL8197G_SUPPORT || RTL8723F_SUPPORT)
#define PHYDM_MP_SUPPORT
#endif
#if (RTL8822B_SUPPORT)
#define PHYDM_TXA_CALIBRATION
#endif
#if (RTL8188E_SUPPORT || RTL8197F_SUPPORT || RTL8192F_SUPPORT)
#define PHYDM_PRIMARY_CCA
#endif
#if (RTL8188F_SUPPORT || RTL8710B_SUPPORT || RTL8821C_SUPPORT ||\
RTL8822B_SUPPORT || RTL8192F_SUPPORT)
#define PHYDM_DC_CANCELLATION
#endif
#if (RTL8822B_SUPPORT || RTL8197F_SUPPORT || RTL8192F_SUPPORT)
#define CONFIG_ADAPTIVE_SOML
#endif
#if (RTL8812A_SUPPORT || RTL8821A_SUPPORT || RTL8881A_SUPPORT ||\
RTL8192E_SUPPORT || RTL8723B_SUPPORT)
/*#define CONFIG_RA_FW_DBG_CODE*/
#endif
#if (RTL8192F_SUPPORT == 1)
/*#define CONFIG_8912F_SPUR_CALIBRATION*/
#endif
#if (RTL8822B_SUPPORT == 1)
/* #define CONFIG_8822B_SPUR_CALIBRATION */
#endif
#if (RTL8197G_SUPPORT)
#define CONFIG_DIRECTIONAL_BF
#endif
#if (RTL8197G_SUPPORT || RTL8812F_SUPPORT || RTL8814B_SUPPORT)
#define CONFIG_DYNAMIC_TX_TWR
#endif
#if (RTL8197G_SUPPORT || RTL8812F_SUPPORT)
#define PHYDM_HW_IGI
#endif
#if (RTL8197G_SUPPORT || RTL8812F_SUPPORT)
#define CONFIG_DYNAMIC_TXCOLLISION_TH
#endif
/*#define CONFIG_PSD_TOOL*/
#define PHYDM_SUPPORT_CCKPD
#define PHYDM_SUPPORT_ADAPTIVITY
/*#define CONFIG_PATH_DIVERSITY*/
/*#define CONFIG_RA_DYNAMIC_RTY_LIMIT*/
/*#define CONFIG_RA_DYNAMIC_RATE_ID*/
#define CONFIG_BB_TXBF_API
/*#define ODM_CONFIG_BT_COEXIST*/
#define PHYDM_SUPPORT_RSSI_MONITOR
#if !defined(CONFIG_DISABLE_PHYDM_DEBUG_FUNCTION)
#define CONFIG_PHYDM_DEBUG_FUNCTION
#endif
/* [ Configure Antenna Diversity ] */
#if (RTL8188F_SUPPORT)
#ifdef CONFIG_ANTENNA_DIVERSITY
#define CONFIG_PHYDM_ANTENNA_DIVERSITY
#define CONFIG_S0S1_SW_ANTENNA_DIVERSITY
#endif
#endif
#if defined(CONFIG_RTL_8881A_ANT_SWITCH) || defined(CONFIG_SLOT_0_ANT_SWITCH) || defined(CONFIG_SLOT_1_ANT_SWITCH) || defined(CONFIG_RTL_8197F_ANT_SWITCH) || defined(CONFIG_RTL_8197G_ANT_SWITCH)
#define CONFIG_PHYDM_ANTENNA_DIVERSITY
#define ODM_EVM_ENHANCE_ANTDIV
/*#define SKIP_EVM_ANTDIV_TRAINING_PATCH*/
/*----------*/
#ifdef CONFIG_NO_2G_DIVERSITY_8197F
#define CONFIG_NO_2G_DIVERSITY
#elif defined(CONFIG_2G_CGCS_RX_DIVERSITY_8197F)
#define CONFIG_2G_CGCS_RX_DIVERSITY
#elif defined(CONFIG_2G_CG_TRX_DIVERSITY_8197F)
#define CONFIG_2G_CG_TRX_DIVERSITY
#endif
/*----------*/
#ifdef CONFIG_NO_2G_DIVERSITY_8197G
#define CONFIG_NO_2G_DIVERSITY
#elif defined(CONFIG_2G_CGCS_RX_DIVERSITY_8197G)
#define CONFIG_2G_CGCS_RX_DIVERSITY
#elif defined(CONFIG_2G_CG_TRX_DIVERSITY_8197G)
#define CONFIG_2G_CG_TRX_DIVERSITY
#endif
#if (!defined(CONFIG_NO_2G_DIVERSITY) && !defined(CONFIG_2G5G_CG_TRX_DIVERSITY_8881A) && !defined(CONFIG_2G_CGCS_RX_DIVERSITY) && !defined(CONFIG_2G_CG_TRX_DIVERSITY) && !defined(CONFIG_2G_CG_SMART_ANT_DIVERSITY))
#define CONFIG_NO_2G_DIVERSITY
#endif
#ifdef CONFIG_NO_5G_DIVERSITY_8881A
#define CONFIG_NO_5G_DIVERSITY
#elif defined(CONFIG_5G_CGCS_RX_DIVERSITY_8881A)
#define CONFIG_5G_CGCS_RX_DIVERSITY
#elif defined(CONFIG_5G_CG_TRX_DIVERSITY_8881A)
#define CONFIG_5G_CG_TRX_DIVERSITY
#elif defined(CONFIG_2G5G_CG_TRX_DIVERSITY_8881A)
#define CONFIG_2G5G_CG_TRX_DIVERSITY
#endif
#if (!defined(CONFIG_NO_5G_DIVERSITY) && !defined(CONFIG_5G_CGCS_RX_DIVERSITY) && !defined(CONFIG_5G_CG_TRX_DIVERSITY) && !defined(CONFIG_2G5G_CG_TRX_DIVERSITY) && !defined(CONFIG_5G_CG_SMART_ANT_DIVERSITY))
#define CONFIG_NO_5G_DIVERSITY
#endif
/*----------*/
#if (defined(CONFIG_NO_2G_DIVERSITY) && defined(CONFIG_NO_5G_DIVERSITY))
#define CONFIG_NOT_SUPPORT_ANTDIV
#elif (!defined(CONFIG_NO_2G_DIVERSITY) && defined(CONFIG_NO_5G_DIVERSITY))
#define CONFIG_2G_SUPPORT_ANTDIV
#elif (defined(CONFIG_NO_2G_DIVERSITY) && !defined(CONFIG_NO_5G_DIVERSITY))
#define CONFIG_5G_SUPPORT_ANTDIV
#elif ((!defined(CONFIG_NO_2G_DIVERSITY) && !defined(CONFIG_NO_5G_DIVERSITY)) || defined(CONFIG_2G5G_CG_TRX_DIVERSITY))
#define CONFIG_2G5G_SUPPORT_ANTDIV
#endif
/*----------*/
#endif /*Antenna Diveristy*/
/*[SmartAntenna]*/
/*#define CONFIG_SMART_ANTENNA*/
#ifdef CONFIG_SMART_ANTENNA
/*#define CONFIG_CUMITEK_SMART_ANTENNA*/
#endif
#define CFG_DIG_DAMPING_CHK
/* --------------------------------------------------*/
#ifdef PHYDM_BEAMFORMING_SUPPORT
#if (RTL8192F_SUPPORT || RTL8195B_SUPPORT || RTL8821C_SUPPORT ||\
RTL8822B_SUPPORT || RTL8197F_SUPPORT || RTL8198F_SUPPORT ||\
RTL8814B_SUPPORT || RTL8812F_SUPPORT)
#define DRIVER_BEAMFORMING_VERSION2
#endif
#endif
#endif