Date: Thu, 28 Apr 2011 12:47:40 +0000 (UTC) From: Adrian Chadd <adrian@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/conf files src/sys/dev/ath if_ath_ahb.c src/sys/dev/ath/ath_hal ah.c ah_devid.h ah_eeprom_v14.c src/sys/dev/ath/ath_hal/ar5416 ar2133.c ar5416_interrupts.c ar5416_misc.c ar5416_power.c ar5416_reset.c ar5416reg.h ... Message-ID: <201104281248.p3SCm0Hs053847@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
adrian 2011-04-28 12:47:40 UTC
FreeBSD src repository
Modified files:
sys/conf files
sys/dev/ath if_ath_ahb.c
sys/dev/ath/ath_hal ah.c ah_devid.h ah_eeprom_v14.c
sys/dev/ath/ath_hal/ar5416 ar2133.c ar5416_interrupts.c
ar5416_misc.c ar5416_power.c
ar5416_reset.c ar5416reg.h
sys/modules/ath Makefile
Added files:
sys/dev/ath/ath_hal/ar9001 ar9130.ini ar9130_attach.c
ar9130_eeprom.c ar9130_eeprom.h
ar9130_phy.c ar9130_phy.h
ar9130reg.h
Log:
SVN rev 221163 on 2011-04-28 12:47:40Z by adrian
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.
Revision Changes Path
1.1592 +8 -0 src/sys/conf/files
1.30 +2 -0 src/sys/dev/ath/ath_hal/ah.c
1.4 +1 -0 src/sys/dev/ath/ath_hal/ah_devid.h
1.10 +24 -11 src/sys/dev/ath/ath_hal/ah_eeprom_v14.c
1.8 +1 -1 src/sys/dev/ath/ath_hal/ar5416/ar2133.c
1.11 +44 -27 src/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c
1.9 +3 -0 src/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c
1.3 +5 -1 src/sys/dev/ath/ath_hal/ar5416/ar5416_power.c
1.52 +94 -32 src/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c
1.16 +37 -11 src/sys/dev/ath/ath_hal/ar5416/ar5416reg.h
1.1 +669 -0 src/sys/dev/ath/ath_hal/ar9001/ar9130.ini (new)
1.1 +300 -0 src/sys/dev/ath/ath_hal/ar9001/ar9130_attach.c (new)
1.1 +43 -0 src/sys/dev/ath/ath_hal/ar9001/ar9130_eeprom.c (new)
1.1 +24 -0 src/sys/dev/ath/ath_hal/ar9001/ar9130_eeprom.h (new)
1.1 +44 -0 src/sys/dev/ath/ath_hal/ar9001/ar9130_phy.c (new)
1.1 +25 -0 src/sys/dev/ath/ath_hal/ar9001/ar9130_phy.h (new)
1.1 +27 -0 src/sys/dev/ath/ath_hal/ar9001/ar9130reg.h (new)
1.2 +4 -4 src/sys/dev/ath/if_ath_ahb.c
1.25 +20 -5 src/sys/modules/ath/Makefile
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201104281248.p3SCm0Hs053847>
