Author: adrian
Date: Sat May 23 08:02:54 2015
New Revision: 283309
URL: https://svnweb.freebsd.org/changeset/base/283309

Log:
  Add support for the tuning cap for Hornet/AR9331 boards.
  
  This dramatically improves RX sensitivity and behaviour on the
  AR9331 hardware I have, including the Carambola 2.
  
  Tested:
  
  * AR9331, Carambola 2 board
  
  Submitted by: Zilvinas Valinskas <zilvinas.valins...@gmail.com>

Modified:
  head/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c

Modified: head/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c
==============================================================================
--- head/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c     Sat May 23 
01:17:50 2015        (r283308)
+++ head/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c     Sat May 23 
08:02:54 2015        (r283309)
@@ -4476,8 +4476,16 @@ HAL_BOOL ar9300_tuning_caps_apply(struct
     if ((eep->base_eep_header.feature_enable & 0x40) >> 6) {
         tuning_caps_params &= 0x7f;
 
-        if (AR_SREV_HORNET(ah) || AR_SREV_POSEIDON(ah) || AR_SREV_WASP(ah)) {
+        /* XXX TODO: ath9k skips it for Wasp and Honeybee/AR9531, not Poseidon 
*/
+        if (AR_SREV_POSEIDON(ah) || AR_SREV_WASP(ah)) {
             return AH_TRUE;
+        } else if (AR_SREV_HORNET(ah)) {
+            OS_REG_RMW_FIELD(ah,
+                AR_HORNET_CH0_XTAL, AR_OSPREY_CHO_XTAL_CAPINDAC,
+                tuning_caps_params);
+            OS_REG_RMW_FIELD(ah,
+                AR_HORNET_CH0_XTAL, AR_OSPREY_CHO_XTAL_CAPOUTDAC,
+                tuning_caps_params);
         } else if (AR_SREV_SCORPION(ah)) {
             OS_REG_RMW_FIELD(ah,
                 AR_SCORPION_CH0_XTAL, AR_OSPREY_CHO_XTAL_CAPINDAC,
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to