head	1.3;
access;
symbols
	RELENG_7_4_0_RELEASE:1.1.1.5
	RELENG_7_4:1.1.1.5.0.12
	RELENG_7_4_BP:1.1.1.5
	RELENG_7_3_0_RELEASE:1.1.1.5
	RELENG_7_3:1.1.1.5.0.10
	RELENG_7_3_BP:1.1.1.5
	RELENG_7_2_0_RELEASE:1.1.1.5
	RELENG_7_2:1.1.1.5.0.8
	RELENG_7_2_BP:1.1.1.5
	RELENG_7_1_0_RELEASE:1.1.1.5
	RELENG_6_4_0_RELEASE:1.1.1.3.2.2
	RELENG_7_1:1.1.1.5.0.6
	RELENG_7_1_BP:1.1.1.5
	RELENG_6_4:1.1.1.3.2.2.0.6
	RELENG_6_4_BP:1.1.1.3.2.2
	RELENG_7_0_0_RELEASE:1.1.1.5
	RELENG_6_3_0_RELEASE:1.1.1.3.2.2
	RELENG_7_0:1.1.1.5.0.4
	RELENG_7_0_BP:1.1.1.5
	RELENG_6_3:1.1.1.3.2.2.0.4
	RELENG_6_3_BP:1.1.1.3.2.2
	RELENG_7:1.1.1.5.0.2
	RELENG_7_BP:1.1.1.5
	RELENG_6_2_0_RELEASE:1.1.1.3.2.2
	V0_9_20_3:1.1.1.5
	RELENG_6_2:1.1.1.3.2.2.0.2
	RELENG_6_2_BP:1.1.1.3.2.2
	V0_9_17_2:1.1.1.5
	RELENG_5_5_0_RELEASE:1.1.1.2
	RELENG_5_5:1.1.1.2.0.10
	RELENG_5_5_BP:1.1.1.2
	RELENG_6_1_0_RELEASE:1.1.1.3.2.1
	RELENG_6_1:1.1.1.3.2.1.0.2
	RELENG_6_1_BP:1.1.1.3.2.1
	V0_9_16_16:1.1.1.4
	RELENG_6_0_0_RELEASE:1.1.1.3
	RELENG_6_0:1.1.1.3.0.4
	RELENG_6_0_BP:1.1.1.3
	RELENG_6:1.1.1.3.0.2
	RELENG_6_BP:1.1.1.3
	RELENG_5_4_0_RELEASE:1.1.1.2
	RELENG_5_4:1.1.1.2.0.8
	RELENG_5_4_BP:1.1.1.2
	V0_9_14_9:1.1.1.3
	RELENG_5_3_0_RELEASE:1.1.1.2
	RELENG_5_3:1.1.1.2.0.6
	RELENG_5_3_BP:1.1.1.2
	RELENG_5:1.1.1.2.0.4
	RELENG_5_BP:1.1.1.2
	RELENG_5_2_1_RELEASE:1.1.1.2
	RELENG_5_2_0_RELEASE:1.1.1.2
	RELENG_5_2:1.1.1.2.0.2
	RELENG_5_2_BP:1.1.1.2
	V0_9_6_3:1.1.1.2
	V0_9_6_1:1.1.1.2
	V0_9_5_17:1.1.1.2
	V0_9_5_2:1.1.1.2
	V0_9_4_0:1.1.1.1
	ATHEROS:1.1.1;
locks; strict;
comment	@# @;


1.3
date	2008.12.01.16.53.01;	author sam;	state dead;
branches;
next	1.2;

1.2
date	2008.08.28.00.22.59;	author rpaulo;	state Exp;
branches;
next	1.1;

1.1
date	2003.06.25.06.06.45;	author sam;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2003.06.25.06.06.45;	author sam;	state Exp;
branches;
next	1.1.1.2;

1.1.1.2
date	2003.08.02.05.47.57;	author sam;	state Exp;
branches;
next	1.1.1.3;

1.1.1.3
date	2004.12.08.18.04.15;	author sam;	state Exp;
branches
	1.1.1.3.2.1;
next	1.1.1.4;

1.1.1.4
date	2006.02.10.18.54.43;	author sam;	state Exp;
branches;
next	1.1.1.5;

1.1.1.5
date	2006.06.05.17.40.16;	author sam;	state Exp;
branches;
next	;

1.1.1.3.2.1
date	2006.02.24.19.49.46;	author sam;	state Exp;
branches;
next	1.1.1.3.2.2;

1.1.1.3.2.2
date	2006.07.11.16.32.17;	author sam;	state Exp;
branches;
next	;


desc
@@


1.3
log
@SVN rev 185522 on 2008-12-01 16:53:01Z by sam

Switch to ath hal source code. Note this removes the ath_hal
module; the ath module now brings in the hal support.  Kernel
config files are almost backwards compatible; supplying

device ath_hal

gives you the same chip support that the binary hal did but you
must also include

options AH_SUPPORT_AR5416

to enable the extended format descriptors used by 11n parts.
It is now possible to control the chip support included in a
build by specifying exactly which chips are to be supported
in the config file; consult ath_hal(4) for information.
@
text
@$Id: //depot/sw/branches/sam_hal/README#3 $


Atheros Hardware Access Layer (HAL)
===================================

* Copyright (c) 2002-2008 Sam Leffler.
* Copyright (c) 2002-2008 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).
@


1.2
log
@SVN rev 182312 on 2008-08-28 00:22:59Z by rpaulo

Merge ath_hal 0.10.5.10 to head.

Approved by:	sam
@
text
@@


1.1
log
@Initial revision
@
text
@d1 1
a1 6
$Id: README,v 1.1 2003/06/23 17:59:07 sam Exp $


WARNING: THIS IS A BETA DISTRIBUTION.  THIS SOFTWARE HAS KNOWN PROBLEMS AND
WARNING: LIMITATIONS THAT WILL BE CORRECTED BEFORE A PRODUCTION RELEASE.
WARNING: USE AT YOUR OWN RISK!
d7 3
a9 1
* Copyright (c) 2002, 2003 Sam Leffler.  All rights reserved.
d13 10
a22 9
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 FCC
regulations.  In particular, a radio transmitter can 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
d26 4
a29 3
for the specific FCC regulation.  Because the module is provided in a
binary-only form it is marked "Proprietary"; this means when you load
it you will see messages that your system is now "tainted".
d39 2
a40 1
There are currently 3 generations of Atheros 802.11 wireless devices:
d47 27
a73 16
including cardbus cards from DLink, Linksys, Netgear, and Proxim; and
mini-pci cards from some of these same vendors.  In addition many
laptop vendors use Atheros mini-pci cards for their builtin wireless
support.  An (incomplete) list of products that use Atheros parts is:

Netgear WAG511		D-Link DWL-AG520	Linksys WPC55AG
Netgear WAB501		D-Link DWL-AG650	Linksys WMP55AG
			D-Link DWL-AB650	Linksys WPC51AB

In general, if a device is identified as ``11a only'' it is almost
certain to contain an Atheros 5210 part in it.  All retail a+b
products use the 5211.  The latest generation of universal a+b+g
combo products use the 5212.  When in doubt check the PCI vendor
id with a tool like lspci, the Atheros vendor id is 0x168c; e.g.

   00:13.0 Ethernet controller: Unknown device 168c:0012 (rev 01)
@


1.1.1.1
log
@Initial import of Atheros Hardware Access Layer (HAL)
@
text
@@


1.1.1.2
log
@Version 0.9.5.2:

o correct BSSID setup in ah_writeAssocid for 5211 and 5212 (fixes
  reception of broadcast frames after association)
o correct transmit retry counts returned by 5211 in ah_procTxDesc
o add missing regulatory domain support that caused use of 11b channels to be
  disallowed with some cards (e.g. mini-pci cards in certain IBM laptops)
o miscellaneous fixes to regulatory domain support
o increase size of 5212 ANI table to avoid overflow
o add monitor mode
o remove OS_QSORT support
o fix handling of HAL_RXDESC_INTREQ in ah_setupRxDesc
o rewrite 5212 descriptor handling for portability
o FreeBSD: track alq_open API change
@
text
@d1 1
a1 1
$Id: README,v 1.2 2003/07/02 01:55:27 sam Exp $
d12 1
a12 3
* Copyright (c) 2002, 2003 Sam Leffler.
* Copyright (c) 2002, 2003 Atheros Communications, Inc.
* All rights reserved.
@


1.1.1.3
log
@Version 0.9.14.12:

[Changes listed only since last public release 0.9.12.14; for changes
 prior to that consult the CVS logs at http://madwifi.sourceforge.net]

o reorg directory structure to have a single set of public binary builds
  shared by all systems
o support for new parts (all shipping pci/cardbus parts to this date work)
o new capabilities for identifying various chip features
o set/get tx power cap for supporting 802.11h information element
o revised api for set/get tx queue properties
o support for updating CTS in frames when doing packet bursting
o support for querying which tx queues have pending interrupts
@
text
@d1 1
a1 1
$Id: README,v 1.3 2004/01/07 23:09:27 sam Exp $
d12 2
a13 2
* Copyright (c) 2002-2004 Sam Leffler.
* Copyright (c) 2002-2004 Atheros Communications, Inc.
@


1.1.1.3.2.1
log
@MFC v0.9.16.16 hal

Approved by:	re (mux)
@
text
@d1 6
a6 1
$Id: //depot/sw/linuxsrc/src/802_11/madwifi/hal/main/README#5 $
d12 2
a13 2
* Copyright (c) 2002-2006 Sam Leffler.
* Copyright (c) 2002-2006 Atheros Communications, Inc.
d18 9
a26 10
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
d30 3
a32 4
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".
d42 1
a42 2
There are many generations of Atheros 802.11 wireless devices that
are typically referred to by their programming model:
d49 16
a64 8
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.
@


1.1.1.3.2.2
log
@MFC v0.9.17.2
@
text
@d1 1
a1 1
$Id: //depot/sw/branches/sam_hal/README#2 $
a54 19

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).
@


1.1.1.4
log
@Version 0.9.16.16:

o new chip support
o new platforms: powerpc-be-elf, sparc64-be-elf, and alpha-elf
  (alpha is untested, others are known to work)
o many fixes and improvements

MFC after:	2 weeks
@
text
@d1 6
a6 1
$Id: //depot/sw/linuxsrc/src/802_11/madwifi/hal/main/README#5 $
d12 2
a13 2
* Copyright (c) 2002-2006 Sam Leffler.
* Copyright (c) 2002-2006 Atheros Communications, Inc.
d18 9
a26 10
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
d30 3
a32 4
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".
d42 1
a42 2
There are many generations of Atheros 802.11 wireless devices that
are typically referred to by their programming model:
d49 16
a64 8
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.
@


1.1.1.5
log
@Version 0.9.17.2:

o define HAL_SOFTC, HAL_BUS_TAG, and HAL_BUS_HANDLE to be machine
  independent; this fixes portability issues with bsd systems
o add ah_disable api for turning off operation of both MAC and PHY
o add ah_getAntennaSwitch and ah_setAntennaSwitch api's for better control
  of antenna usage and diversity
o add ah_setAckCTSRate and ah_setAckCTSRate for controlling tx rate of
  h/w generated frames
o add ah_setBeaconTimers api for simpler setting of the beacon timer registers
o remove ah_waitForBeaconDone api
o add HAL_TXDESC_DURENA flag to enable h/w duration setting in tx descriptor
o correct documentation of min/max tx power units (.5 dBm)
o switch arm, mips, and powerpc builds to use functions for register
  read/write operations
o fix sparc builds to not reference %g2 and %g3 registers
o add public builds for SoC's

MFC after:	1 month
@
text
@d1 1
a1 1
$Id: //depot/sw/branches/sam_hal/README#2 $
a54 19

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).
@


