|
@@ -2056,6 +2056,7 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah)
|
|
|
struct ath_btcoex_hw *btcoex_hw = &ah->btcoex_hw;
|
|
|
|
|
|
u16 capField = 0, eeval;
|
|
|
+ u8 ant_div_ctl1;
|
|
|
|
|
|
eeval = ah->eep_ops->get_eeprom(ah, EEP_REG_0);
|
|
|
regulatory->current_rd = eeval;
|
|
@@ -2280,6 +2281,14 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah)
|
|
|
if (AR_SREV_9287_10_OR_LATER(ah) || AR_SREV_9271(ah))
|
|
|
pCap->hw_caps |= ATH9K_HW_CAP_SGI_20;
|
|
|
|
|
|
+ if (AR_SREV_9285(ah))
|
|
|
+ if (ah->eep_ops->get_eeprom(ah, EEP_MODAL_VER) >= 3) {
|
|
|
+ ant_div_ctl1 =
|
|
|
+ ah->eep_ops->get_eeprom(ah, EEP_ANT_DIV_CTL1);
|
|
|
+ if ((ant_div_ctl1 & 0x1) && ((ant_div_ctl1 >> 3) & 0x1))
|
|
|
+ pCap->hw_caps |= ATH9K_HW_CAP_ANT_DIV_COMB;
|
|
|
+ }
|
|
|
+
|
|
|
return 0;
|
|
|
}
|
|
|
|