18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci/* Copyright(c) 2009-2012  Realtek Corporation.*/
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ci#ifndef	__RTL92C_DM_H__
58c2ecf20Sopenharmony_ci#define __RTL92C_DM_H__
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci#define HAL_DM_DIG_DISABLE			BIT(0)
88c2ecf20Sopenharmony_ci#define HAL_DM_HIPWR_DISABLE			BIT(1)
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci#define OFDM_TABLE_LENGTH			37
118c2ecf20Sopenharmony_ci#define CCK_TABLE_LENGTH			33
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci#define OFDM_TABLE_SIZE				37
148c2ecf20Sopenharmony_ci#define CCK_TABLE_SIZE				33
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci#define BW_AUTO_SWITCH_HIGH_LOW			25
178c2ecf20Sopenharmony_ci#define BW_AUTO_SWITCH_LOW_HIGH			30
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci#define DM_DIG_FA_UPPER				0x32
208c2ecf20Sopenharmony_ci#define DM_DIG_FA_LOWER				0x20
218c2ecf20Sopenharmony_ci#define DM_DIG_FA_TH0				0x20
228c2ecf20Sopenharmony_ci#define DM_DIG_FA_TH1				0x100
238c2ecf20Sopenharmony_ci#define DM_DIG_FA_TH2				0x200
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci#define RXPATHSELECTION_SS_TH_LOW		30
268c2ecf20Sopenharmony_ci#define RXPATHSELECTION_DIFF_TH			18
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci#define DM_RATR_STA_INIT			0
298c2ecf20Sopenharmony_ci#define DM_RATR_STA_HIGH			1
308c2ecf20Sopenharmony_ci#define DM_RATR_STA_MIDDLE			2
318c2ecf20Sopenharmony_ci#define DM_RATR_STA_LOW				3
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci#define CTS2SELF_THVAL				30
348c2ecf20Sopenharmony_ci#define REGC38_TH				20
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci#define WAIOTTHVAL				25
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci#define TXHIGHPWRLEVEL_NORMAL			0
398c2ecf20Sopenharmony_ci#define TXHIGHPWRLEVEL_LEVEL1			1
408c2ecf20Sopenharmony_ci#define TXHIGHPWRLEVEL_LEVEL2			2
418c2ecf20Sopenharmony_ci#define TXHIGHPWRLEVEL_BT1			3
428c2ecf20Sopenharmony_ci#define TXHIGHPWRLEVEL_BT2			4
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci#define DM_TYPE_BYFW				0
458c2ecf20Sopenharmony_ci#define DM_TYPE_BYDRIVER			1
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci#define TX_POWER_NEAR_FIELD_THRESH_LVL2		74
488c2ecf20Sopenharmony_ci#define TX_POWER_NEAR_FIELD_THRESH_LVL1		67
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_civoid rtl92c_dm_init(struct ieee80211_hw *hw);
518c2ecf20Sopenharmony_civoid rtl92c_dm_watchdog(struct ieee80211_hw *hw);
528c2ecf20Sopenharmony_civoid rtl92c_dm_write_dig(struct ieee80211_hw *hw);
538c2ecf20Sopenharmony_civoid rtl92c_dm_init_edca_turbo(struct ieee80211_hw *hw);
548c2ecf20Sopenharmony_civoid rtl92c_dm_check_txpower_tracking(struct ieee80211_hw *hw);
558c2ecf20Sopenharmony_civoid rtl92c_dm_init_rate_adaptive_mask(struct ieee80211_hw *hw);
568c2ecf20Sopenharmony_civoid rtl92c_dm_rf_saving(struct ieee80211_hw *hw, u8 bforce_in_normal);
578c2ecf20Sopenharmony_civoid rtl92c_dm_bt_coexist(struct ieee80211_hw *hw);
588c2ecf20Sopenharmony_civoid rtl92ce_dm_dynamic_txpower(struct ieee80211_hw *hw);
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ci#endif
61