lock around accesses to uidinfo and varsymset
[dragonfly.git] / sys / contrib / dev / ath / ah_devid.h
1 /*-
2  * Copyright (c) 2002-2006 Sam Leffler, Errno Consulting, Atheros
3  * Communications, Inc.  All rights reserved.
4  *
5  * Redistribution and use in source and binary forms are permitted
6  * provided that the following conditions are met:
7  * 1. The materials contained herein are unmodified and are used
8  *    unmodified.
9  * 2. Redistributions of source code must retain the above copyright
10  *    notice, this list of conditions and the following NO
11  *    ''WARRANTY'' disclaimer below (''Disclaimer''), without
12  *    modification.
13  * 3. Redistributions in binary form must reproduce at minimum a
14  *    disclaimer similar to the Disclaimer below and any redistribution
15  *    must be conditioned upon including a substantially similar
16  *    Disclaimer requirement for further binary redistribution.
17  * 4. Neither the names of the above-listed copyright holders nor the
18  *    names of any contributors may be used to endorse or promote
19  *    product derived from this software without specific prior written
20  *    permission.
21  *
22  * NO WARRANTY
23  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24  * ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25  * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT,
26  * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
27  * IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE
28  * FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
29  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
30  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
31  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
32  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
33  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34  * SUCH DAMAGES.
35  *
36  * $Id: //depot/sw/branches/sam_hal/ah_devid.h#2 $
37  */
38
39 #ifndef _DEV_ATH_DEVID_H_
40 #define _DEV_ATH_DEVID_H_
41
42 #define ATHEROS_VENDOR_ID       0x168c          /* Atheros PCI vendor ID */
43 /*
44  * NB: all Atheros-based devices should have a PCI vendor ID
45  *     of 0x168c, but some vendors, in their infinite wisdom
46  *     do not follow this so we must handle them specially.
47  */
48 #define ATHEROS_3COM_VENDOR_ID  0xa727          /* 3Com 3CRPAG175 vendor ID */
49 #define ATHEROS_3COM2_VENDOR_ID 0x10b7          /* 3Com 3CRDAG675 vendor ID */
50
51 /* AR5210 (for reference) */
52 #define AR5210_DEFAULT          0x1107          /* No eeprom HW default */
53 #define AR5210_PROD             0x0007          /* Final device ID */
54 #define AR5210_AP               0x0207          /* Early AP11s */
55
56 /* AR5211 */
57 #define AR5211_DEFAULT          0x1112          /* No eeprom HW default */
58 #define AR5311_DEVID            0x0011          /* Final ar5311 devid */
59 #define AR5211_DEVID            0x0012          /* Final ar5211 devid */
60 #define AR5211_LEGACY           0xff12          /* Original emulation board */
61 #define AR5211_FPGA11B          0xf11b          /* 11b emulation board */
62
63 /* AR5212 */
64 #define AR5212_DEFAULT          0x1113          /* No eeprom HW default */
65 #define AR5212_DEVID            0x0013          /* Final ar5212 devid */
66 #define AR5212_FPGA             0xf013          /* Emulation board */
67 #define AR5212_DEVID_IBM        0x1014          /* IBM minipci ID */
68 #define AR5212_AR5312_REV2      0x0052          /* AR5312 WMAC (AP31) */
69 #define AR5212_AR5312_REV7      0x0057          /* AR5312 WMAC (AP30-040) */
70 #define AR5212_AR2313_REV8      0x0058          /* AR2313 WMAC (AP43-030) */
71 #define AR5212_AR2315_REV6      0x0086          /* AR2315 WMAC (AP51-Light) */
72 #define AR5212_AR2315_REV7      0x0087          /* AR2315 WMAC (AP51-Full) */
73 #define AR5212_AR2317_REV1      0x0091          /* AR2317 WMAC (AP61) */
74
75 /* AR5212 compatible devid's also attach to 5212 */
76 #define AR5212_DEVID_0014       0x0014
77 #define AR5212_DEVID_0015       0x0015
78 #define AR5212_DEVID_0016       0x0016
79 #define AR5212_DEVID_0017       0x0017
80 #define AR5212_DEVID_0018       0x0018
81 #define AR5212_DEVID_0019       0x0019
82 #define AR5212_AR2413           0x001a          /* AR2413 aka Griffin-lite */
83 #define AR5212_AR5413           0x001b          /* Eagle */
84 #define AR5212_AR5424           0x001c          /* Condor (PCI express) */
85 #define AR5212_DEVID_FF19       0xff19          /* XXX PCI express */
86
87 /* AR5213 */
88 #define AR5213_SREV_1_0         0x0055
89 #define AR5213_SREV_REG         0x4020
90
91 /* AR5416  */
92 #define AR5416_DEVID_EMU_PCI    0xff1d          /* PCI Owl Emulation*/
93 #define AR5416_DEVID_EMU_PCIE   0xff1c          /* PCIe Owl Emulation*/
94 #define AR5416_DEVID            0x0023          /* PCI (MB/CB) */
95 #define AR5418_DEVID            0x0024          /* PCI Express (XB) */
96
97 #define AR_SUBVENDOR_ID_NOG     0x0e11          /* No 11G subvendor ID */
98 #define AR_SUBVENDOR_ID_NEW_A   0x7065          /* Update device to new RD */
99 #endif /* _DEV_ATH_DEVID_H */