freebsd-skq/sys/dev/ath/ath_hal
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
..
ah_regdomain Migrate the regulatory database definitions into separate header files 2011-03-10 03:13:56 +00:00
ar5210 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
ar5211 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
ar5212 Add some more OS_MARK probes to the RX DMA setup/teardown code path. 2011-04-07 13:14:51 +00:00
ar5312 Include the initial support for external EEPROMs. 2011-01-20 07:56:09 +00:00
ar5416 Introduce AR9130 (HOWL) WMAC support to the FreeBSD HAL. 2011-04-28 12:47:40 +00:00
ar9001 Introduce AR9130 (HOWL) WMAC support to the FreeBSD HAL. 2011-04-28 12:47:40 +00:00
ar9002 Use the refactored ar5416WriteTxPowerRateRegisters() call in the ar9285 code. 2011-04-24 15:48:07 +00:00
ah_debug.h More kite diversity related changes. 2011-04-13 15:08:51 +00:00
ah_decode.h Add some more OS_MARK probes to the RX DMA setup/teardown code path. 2011-04-07 13:14:51 +00:00
ah_desc.h Extend the RX descriptor block to include two more EVM words. 2011-04-08 06:29:41 +00:00
ah_devid.h Introduce AR9130 (HOWL) WMAC support to the FreeBSD HAL. 2011-04-28 12:47:40 +00:00
ah_diagcodes.h Reserve a new diagnostic code for the channel survey code I'll add soon. 2011-03-19 14:37:13 +00:00
ah_eeprom_v1.c Don't shadow the global variable 'version'. 2010-05-29 16:10:07 +00:00
ah_eeprom_v1.h
ah_eeprom_v3.c
ah_eeprom_v3.h
ah_eeprom_v4k.c Fix the Atheros V4K EEPROM definitions to match those in ath9k. 2011-01-25 05:35:09 +00:00
ah_eeprom_v4k.h Bring over a pdadc calibration fix from ath9k - unused power detector 2011-04-22 10:57:46 +00:00
ah_eeprom_v14.c Introduce AR9130 (HOWL) WMAC support to the FreeBSD HAL. 2011-04-28 12:47:40 +00:00
ah_eeprom_v14.h The second regdomain word is a set of bitflags describing 2011-04-22 10:59:20 +00:00
ah_eeprom.h Introduce the Merlin PWDCLKIND workaround. 2011-03-10 02:09:06 +00:00
ah_internal.h Add OS_REG_RMW, which mirrors ath9k's REG_RMW. 2011-04-13 03:05:15 +00:00
ah_regdomain.c Migrate the regulatory database definitions into separate header files 2011-03-10 03:13:56 +00:00
ah_regdomain.h Migrate the regulatory database definitions into separate header files 2011-03-10 03:13:56 +00:00
ah_soc.h
ah.c Introduce AR9130 (HOWL) WMAC support to the FreeBSD HAL. 2011-04-28 12:47:40 +00:00
ah.h Add global TX timeout handling. 2011-04-18 12:15:43 +00:00