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>