mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-22 11:47:53 +07:00
ath9k_hw: Read and configure thermocal for AR9462
Read and configure thermometer calibration results read from OTP card. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
02eba42198
commit
80fe43f2bb
@ -4015,6 +4015,24 @@ static void ar9003_hw_thermometer_apply(struct ath_hw *ah)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void ar9003_hw_thermo_cal_apply(struct ath_hw *ah)
|
||||||
|
{
|
||||||
|
u32 data, ko, kg;
|
||||||
|
|
||||||
|
if (!AR_SREV_9462_20(ah))
|
||||||
|
return;
|
||||||
|
ar9300_otp_read_word(ah, 1, &data);
|
||||||
|
ko = data & 0xff;
|
||||||
|
kg = (data >> 8) & 0xff;
|
||||||
|
if (ko || kg) {
|
||||||
|
REG_RMW_FIELD(ah, AR_PHY_BB_THERM_ADC_3,
|
||||||
|
AR_PHY_BB_THERM_ADC_3_THERM_ADC_OFFSET, ko);
|
||||||
|
REG_RMW_FIELD(ah, AR_PHY_BB_THERM_ADC_3,
|
||||||
|
AR_PHY_BB_THERM_ADC_3_THERM_ADC_SCALE_GAIN,
|
||||||
|
kg + 256);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void ath9k_hw_ar9300_set_board_values(struct ath_hw *ah,
|
static void ath9k_hw_ar9300_set_board_values(struct ath_hw *ah,
|
||||||
struct ath9k_channel *chan)
|
struct ath9k_channel *chan)
|
||||||
{
|
{
|
||||||
@ -4031,6 +4049,7 @@ static void ath9k_hw_ar9300_set_board_values(struct ath_hw *ah,
|
|||||||
ar9003_hw_apply_tuning_caps(ah);
|
ar9003_hw_apply_tuning_caps(ah);
|
||||||
ar9003_hw_txend_to_xpa_off_apply(ah, is2ghz);
|
ar9003_hw_txend_to_xpa_off_apply(ah, is2ghz);
|
||||||
ar9003_hw_thermometer_apply(ah);
|
ar9003_hw_thermometer_apply(ah);
|
||||||
|
ar9003_hw_thermo_cal_apply(ah);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ath9k_hw_ar9300_set_addac(struct ath_hw *ah,
|
static void ath9k_hw_ar9300_set_addac(struct ath_hw *ah,
|
||||||
|
@ -609,6 +609,12 @@
|
|||||||
#define AR_PHY_BB_THERM_ADC_1_INIT_THERM 0x000000ff
|
#define AR_PHY_BB_THERM_ADC_1_INIT_THERM 0x000000ff
|
||||||
#define AR_PHY_BB_THERM_ADC_1_INIT_THERM_S 0
|
#define AR_PHY_BB_THERM_ADC_1_INIT_THERM_S 0
|
||||||
|
|
||||||
|
#define AR_PHY_BB_THERM_ADC_3 (AR_SM_BASE + 0x250)
|
||||||
|
#define AR_PHY_BB_THERM_ADC_3_THERM_ADC_SCALE_GAIN 0x0001ff00
|
||||||
|
#define AR_PHY_BB_THERM_ADC_3_THERM_ADC_SCALE_GAIN_S 8
|
||||||
|
#define AR_PHY_BB_THERM_ADC_3_THERM_ADC_OFFSET 0x000000ff
|
||||||
|
#define AR_PHY_BB_THERM_ADC_3_THERM_ADC_OFFSET_S 0
|
||||||
|
|
||||||
#define AR_PHY_BB_THERM_ADC_4 (AR_SM_BASE + 0x254)
|
#define AR_PHY_BB_THERM_ADC_4 (AR_SM_BASE + 0x254)
|
||||||
#define AR_PHY_BB_THERM_ADC_4_LATEST_THERM_VALUE 0x000000ff
|
#define AR_PHY_BB_THERM_ADC_4_LATEST_THERM_VALUE 0x000000ff
|
||||||
#define AR_PHY_BB_THERM_ADC_4_LATEST_THERM_VALUE_S 0
|
#define AR_PHY_BB_THERM_ADC_4_LATEST_THERM_VALUE_S 0
|
||||||
|
Loading…
Reference in New Issue
Block a user