mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-22 11:17:19 +00:00
0f3ff68694
o remove os-specific glue code; it's now the responsibility of the driver o add wackelf utility for patching the ELF magic number on arm builds since noone can agree on how to mark a .o file as not having any floating point instructions o remove radar/dfs-related entry points; folks have finally decided how to support dfs w/o polluting the hal o properly recognize AR2424 chips (they were being rejected on attach despite being fully supported) o add HAL_CAP_RXORN_FATAL capability to control how RXORN errors are handled; previously RXORN was always treated as fatal because older chips required a reset; now we do not treat it as fatal for "newer chips" (noone seems to know what the cutoff is so this capability can be used to override the current guestimate) o HAL_CAP_RXTSTAMP_PREC capability to export the number of bits of precision for timestamp data returned in the rx descriptor o remove public exposure of the compression buffer; it is chip specific and never belonged in the public view o change definition of HAL_INT_GLOBAL from an enum member to a #define to workaround compilers that bitch about enum values that appear overflow 31 bits o add support for newer chips that can store the tkip mic key together with the cipher key in a single key cache entry o split tx/rx descriptor into a h/w section and a s/w portion; this permits storing the s/w area in cached memory when the h/w area is stored in uncached memory; this also shrinks memory use since only one status block is needed while multiple tx/rx descriptors may be required per frame o add final transmit series index to the transmit descriptor status so rate control algorithms don't need to grovel through h/w state to find it o remove ds_vdata field from the descriptor state as part of the radar changes o fix excessive stack usage for some 5212 rf backends o correct rfkill handling when the pin polarity is 0 true o correct handling of tsf wrap when reading 64-bit values MFC after: 1 month |
||
---|---|---|
.. | ||
freebsd | ||
public | ||
ah_desc.h | ||
ah_devid.h | ||
ah_soc.h | ||
ah.h | ||
COPYRIGHT | ||
README | ||
version.h |
$Id: //depot/sw/branches/sam_hal/README#2 $ Atheros Hardware Access Layer (HAL) =================================== * Copyright (c) 2002-2006 Sam Leffler. * Copyright (c) 2002-2006 Atheros Communications, Inc. * All rights reserved. Read the file COPYRIGHT for the complete copyright. This code manages much of the chip-specific operation of the Atheros driver. The HAL is provided in a binary-only form in order to comply with local regulatory agency rules. In the United States the FCC requires that a radio transmitter only be operated at power levels and on frequency channels for which it is approved. The FCC requires that a software-defined radio cannot be configured by a user to operate outside the approved power levels and frequency channels. This makes it difficult to open-source code that enforces limits on the power levels, frequency channels and other parameters of the radio transmitter. See http://ftp.fcc.gov/Bureaus/Engineering_Technology/Orders/2001/fcc01264.pdf for the specific FCC regulation. Because the module is provided in a binary-only form it is marked "Proprietary" on Linux; this means when you load it you will see messages that your system is now "tainted". If you wish to use this driver on a platform for which an ath_hal module is not already provided please contact the author. Note that this is only necessary for new _architectures_; the HAL is not tied to any specific version of your operating system. Atheros Hardware ================ There are many generations of Atheros 802.11 wireless devices that are typically referred to by their programming model: 5210 supports 11a only 5211 supports both 11a and 11b 5212 supports 11a, 11b, and 11g These parts have been incorporated in a variety of retail products including cardbus cards and mini-pci cards. In addition many laptop vendors use Atheros mini-pci cards for their builtin wireless support. The Atheors PCI vendor id is 0x168c. The file ah_devid.h lists most known PCI device id's but is not exhaustive. Some vendors program their own vendor and/or device id's to aid in BIOS-locking mini-pci cards in laptops. Atheros SoC Hardware ==================== In addition to the cardbus/pci devices Atheros makes System on Chip (SoC) parts that integrate a MIPS cpu core and one or more MAC and radio parts. Binary support for these parts is necessarily built for the embedded MIPS processor where the code is to be run. Caveats ======= The binary hal builds provided here include no floating point and are operating system-independent. However due to toolchain peculiarities the .o files may be wrongly rejected by development tools. If that happens it may be possible to patch the file header so that the native toolchain will accept the files. In particular this has been observed for various Linux MIPS installations for the SoC parts. If you have issues consult the associated .inc file in the public directory; it explains exactly how the binary file was created (e.g. toolchain and compilation options).