opnsense-src/sys/dev/ath/ath_hal/ar5416
Adrian Chadd 9389d5a95e Add initial support for the AR9485 CUS198 / CUS230 variants.
These variants have a few differences from the default AR9485 NIC,
namely:

* a non-default antenna switch config;
* slightly different RX gain table setup;
* an external XLNA hooked up to a GPIO pin;
* (and not yet done) RSSI threshold differences when
  doing slow diversity.

To make this possible:

* Add the PCI device list from Linux ath9k, complete with vendor and
  sub-vendor IDs for various things to be enabled;
* .. and until FreeBSD learns about a PCI device list like this,
  write a search function inspired by the USB device enumeration code;
* add HAL_OPS_CONFIG to the HAL attach methods; the HAL can use this
  to initialise its local driver parameters upon attach;
* copy these parameters over in the AR9300 HAL;
* don't default to override the antenna switch - only do it for
  the chips that require it;
* I brought over ar9300_attenuation_apply() from ath9k which is cleaner
  and easier to read for this particular NIC.

This is a work in progress.  I'm worried that there's some post-AR9380
NIC out there which doesn't work without the antenna override set as
I currently haven't implemented bluetooth coexistence for the AR9380
and later HAL.  But I'd rather have this code in the tree and fix it
up before 11.0-RELEASE happens versus having a set of newer NICs
in laptops be effectively RX deaf.

Tested:

* AR9380 (STA)
* AR9485 CUS198 (STA)

Obtained from:	Qualcomm Atheros, Linux ath9k
2014-09-30 03:19:29 +00:00
..
ar2133.c Implement the quarter rate fractional channel programming for the 2012-10-04 15:42:45 +00:00
ar5416.h Setup needed tables for TPC on AR5416->AR9287 chips. 2013-04-17 07:31:53 +00:00
ar5416.ini Fix the addac serial load register write for AR5416. 2011-09-06 10:49:05 +00:00
ar5416_ani.c Track the last ANI TX/RX sample correctly. 2012-09-27 06:05:54 +00:00
ar5416_attach.c Add initial support for the AR9485 CUS198 / CUS230 variants. 2014-09-30 03:19:29 +00:00
ar5416_beacon.c Program the AR_TSFOOR_THRESHOLD register with a default lifted from 2014-04-27 23:35:05 +00:00
ar5416_btcoex.c Add bluetooth fixes to the AR5416/AR92xx HAL: 2013-06-07 05:17:58 +00:00
ar5416_btcoex.h Remove duplicate entries. 2012-06-27 03:00:29 +00:00
ar5416_cal.c Bump this up to where it used to be. 2011-11-09 23:28:47 +00:00
ar5416_cal.h Introduce methods for the initial calibration and the new PA calibration 2011-03-11 11:35:36 +00:00
ar5416_cal_adcdc.c Replace Id keyword with the FreeBSD keyword. 2010-01-29 10:07:17 +00:00
ar5416_cal_adcgain.c Replace Id keyword with the FreeBSD keyword. 2010-01-29 10:07:17 +00:00
ar5416_cal_iq.c Fix the calibration logic to correctly clamp the calculated coefficient. 2010-08-14 15:28:15 +00:00
ar5416_eeprom.c Replace Id keyword with the FreeBSD keyword. 2010-01-29 10:07:17 +00:00
ar5416_gpio.c Bring over the initial 802.11n bluetooth coexistence support code. 2012-06-26 22:16:53 +00:00
ar5416_interrupts.c Do a read-after-write to ensure the interrupt register update is flushed 2014-04-27 23:31:42 +00:00
ar5416_keycache.c Replace Id keyword with the FreeBSD keyword. 2010-01-29 10:07:17 +00:00
ar5416_misc.c Fix build break - the SetCapability calls return HAL_BOOL, 2013-05-21 14:28:05 +00:00
ar5416_phy.c Modify the AR5416 11na rate table to use 24mb OFDM 11a for control traffic, 2011-02-21 05:10:34 +00:00
ar5416_power.c * Only update ah_powerMode if we're setting the chip sleep state. 2014-04-30 02:03:13 +00:00
ar5416_radar.c Implement an API to fetch the default DFS parameters for the given chip. 2012-08-24 01:29:46 +00:00
ar5416_recv.c Implement STBC receive frame statistics. 2013-05-08 01:11:25 +00:00
ar5416_reset.c Add bluetooth fixes to the AR5416/AR92xx HAL: 2013-06-07 05:17:58 +00:00
ar5416_spectral.c Fix the short repeat option code to not flip the option to 0 when 2013-01-02 03:56:20 +00:00
ar5416_xmit.c Setup needed tables for TPC on AR5416->AR9287 chips. 2013-04-17 07:31:53 +00:00
ar5416desc.h Implement STBC receive frame statistics. 2013-05-08 01:11:25 +00:00
ar5416phy.h Bring over the basic spectral scan framework code from Qualcomm Atheros. 2013-01-02 00:38:01 +00:00
ar5416reg.h Fix the AR_SLEEP1 and AR_SLEEP2 definitions. Oops! 2014-04-27 23:33:37 +00:00