freebsd-dev/sys/dev/ath/ath_hal/ar5416
Adrian Chadd 9f25ad52ce Introduce AR9130 (HOWL) WMAC support to the FreeBSD HAL.
The AR9130 is an AR9160/AR5416 family WMAC which is glued directly
to the AR913x SoC peripheral bus (APB) rather than via a PCI/PCIe
bridge.

The specifics:

* A new build option is required to use the AR9130 - AH_SUPPORT_AR9130.
  This is needed due to the different location the RTC registers live
  with this chip; hopefully this will be undone in the future.
  This does currently mean that enabling this option will break non-AR9130
  builds, so don't enable it unless you're specifically building an image
  for the AR913x SoC.

* Add the new probe, attach, EEPROM and PLL methods specific to Howl.

* Add a work-around to ah_eeprom_v14.c which disables some of the checks
  for endian-ness and magic in the EEPROM image if an eepromdata block
  is provided. This'll be fixed at a later stage by porting the ath9k
  probe code and making sure it doesn't break in other setups (which
  my previous attempt at this did.)

* Sprinkle Howl modifications throughput the interrupt path - it doesn't
  implement the SYNC interrupt registers, so ignore those.

* Sprinkle Howl chip powerup/down throughout the reset path; the RTC methods
  were

* Sprinkle some other Howl workarounds in the reset path.

* Hard-code an alternative setup for the AR_CFG register for Howl, that
  sets up things suitable for Big-Endian MIPS (which is the only platform
  this chip is glued to.)

This has been tested on the AR913x based TP-Link WR-1043nd mode, in
legacy, HT/20 and HT/40 modes.

Caveats:

* 2ghz has only been tested. I've not seen any 5ghz radios glued to this
  chipset so I can't test it.

* AR5416_INTERRUPT_MITIGATION is not supported on the AR9130. At least,
  it isn't implemented in ath9k. Please don't enable this.

* This hasn't been tested in MBSS mode or in RX/TX block-aggregation mode.
2011-04-28 12:47:40 +00:00
..
ar2133.c Introduce AR9130 (HOWL) WMAC support to the FreeBSD HAL. 2011-04-28 12:47:40 +00:00
ar5416_ani.c The AR5416+ chips all have MIB counters (which the AR5416 ANI code assumes) 2011-03-23 03:58:55 +00:00
ar5416_attach.c Break out the PLL setup into an overridable method. 2011-04-24 15:53:57 +00:00
ar5416_beacon.c Replace Id keyword with the FreeBSD keyword. 2010-01-29 10:07:17 +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_cal.c Export the per-chain ctl/ext noise floor values, raw and uncut, to the 2011-04-08 06:58:01 +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_eeprom.c Replace Id keyword with the FreeBSD keyword. 2010-01-29 10:07:17 +00:00
ar5416_gpio.c Add support for the AR9285 chipset, which is found on many netbooks 2010-01-29 10:10:14 +00:00
ar5416_interrupts.c Introduce AR9130 (HOWL) WMAC support to the FreeBSD HAL. 2011-04-28 12:47:40 +00:00
ar5416_keycache.c Replace Id keyword with the FreeBSD keyword. 2010-01-29 10:07:17 +00:00
ar5416_misc.c Introduce AR9130 (HOWL) WMAC support to the FreeBSD HAL. 2011-04-28 12:47:40 +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 Introduce AR9130 (HOWL) WMAC support to the FreeBSD HAL. 2011-04-28 12:47:40 +00:00
ar5416_recv.c Add a HAL capability bit for supporting self-linked RX descriptors and disable it for the 11n chipsets. 2011-04-04 14:52:31 +00:00
ar5416_reset.c Introduce AR9130 (HOWL) WMAC support to the FreeBSD HAL. 2011-04-28 12:47:40 +00:00
ar5416_xmit.c Bring over a few queue changes from ath9k: 2011-03-22 00:14:17 +00:00
ar5416.h Break out the PLL setup into an overridable method. 2011-04-24 15:53:57 +00:00
ar5416.ini Bring over ar5416 inivals from Linux-2.6.34. 2010-08-10 07:48:13 +00:00
ar5416desc.h Replace Id keyword with the FreeBSD keyword. 2010-01-29 10:07:17 +00:00
ar5416phy.h Add in some AR9280 specific board configuration options. 2011-02-07 22:00:31 +00:00
ar5416reg.h Introduce AR9130 (HOWL) WMAC support to the FreeBSD HAL. 2011-04-28 12:47:40 +00:00