Skip site navigation (1)Skip section navigation (2)
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>