opnsense-src/sys/dev/ath/ath_hal/ar5212
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
..
ar2316.c
ar2317.c
ar2413.c
ar2425.c
ar5111.c
ar5112.c Fix a corner case in the HAL debugging changes, where ah was NULL. 2011-09-30 05:17:57 +00:00
ar5212.h Migrate the chip power mode status to public ath_hal, rather than the 2014-03-10 06:03:35 +00:00
ar5212.ini Replace Id keyword with FreeBSD keyword and set the svn props correctly. 2010-03-03 17:32:32 +00:00
ar5212_ani.c Add channel survey support to the AR5212 HAL. 2013-10-08 11:28:59 +00:00
ar5212_attach.c Add initial support for the AR9485 CUS198 / CUS230 variants. 2014-09-30 03:19:29 +00:00
ar5212_beacon.c When programming the beacon timer configuration, be very explicit about 2012-11-27 02:18:41 +00:00
ar5212_eeprom.c Replace Id keyword with FreeBSD keyword and set the svn props correctly. 2010-03-03 17:32:32 +00:00
ar5212_gpio.c
ar5212_interrupts.c
ar5212_keycache.c Fix the keycache behaviour for multicast keycache search. 2011-02-09 15:23:16 +00:00
ar5212_misc.c Add channel survey support to the AR5212 HAL. 2013-10-08 11:28:59 +00:00
ar5212_phy.c
ar5212_power.c * Only update ah_powerMode if we're setting the chip sleep state. 2014-04-30 02:03:13 +00:00
ar5212_recv.c .. include ah_desc.h here now. 2012-11-17 02:02:36 +00:00
ar5212_reset.c After thinking about this a bit more, let's not keep statistics per-channel 2012-04-28 22:03:19 +00:00
ar5212_rfgain.c
ar5212_xmit.c .. include ah_desc.h here now. 2012-11-17 02:02:36 +00:00
ar5212desc.h Remove the ah_desc.h reference; it's not needed. 2012-11-17 02:00:33 +00:00
ar5212phy.h Add AR5413 radar parameters and strong signal diversity capability. 2012-08-29 03:58:13 +00:00
ar5212reg.h Port over some missing code from the ar5212 reference driver reset path. 2011-10-18 03:17:06 +00:00
ar5311reg.h Replace Id keyword with FreeBSD keyword and set the svn props correctly. 2010-03-03 17:32:32 +00:00
ar5413.c