From owner-cvs-src-old@FreeBSD.ORG Thu Apr 28 12:48:01 2011 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1C6FC106564A for ; Thu, 28 Apr 2011 12:48:01 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 045308FC14 for ; Thu, 28 Apr 2011 12:48:01 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id p3SCm0iZ053848 for ; Thu, 28 Apr 2011 12:48:00 GMT (envelope-from adrian@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id p3SCm0Hs053847 for cvs-src-old@freebsd.org; Thu, 28 Apr 2011 12:48:00 GMT (envelope-from adrian@repoman.freebsd.org) Message-Id: <201104281248.p3SCm0Hs053847@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to adrian@repoman.freebsd.org using -f From: Adrian Chadd Date: Thu, 28 Apr 2011 12:47:40 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD 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 ... X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 28 Apr 2011 12:48:01 -0000 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