xref: /dragonfly/sys/dev/netif/ath/ath_hal/ah_diagcodes.h (revision 572ff6f6e8b95055988f178b6ba12ce77bb5b3c2)
1 /*
2  * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting
3  * Copyright (c) 2002-2008 Atheros Communications, Inc.
4  *
5  * Permission to use, copy, modify, and/or distribute this software for any
6  * purpose with or without fee is hereby granted, provided that the above
7  * copyright notice and this permission notice appear in all copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16  *
17  * $FreeBSD$
18  */
19 #ifndef _ATH_AH_DIAGCODES_H_
20 #define _ATH_AH_DIAGCODES_H_
21 /*
22  * Atheros Device Hardware Access Layer (HAL).
23  *
24  * Internal diagnostic API definitions.
25  */
26 
27 /*
28  * Diagnostic interface.  This is an open-ended interface that
29  * is opaque to applications.  Diagnostic programs use this to
30  * retrieve internal data structures, etc.  There is no guarantee
31  * that calling conventions for calls other than HAL_DIAG_REVS
32  * are stable between HAL releases; a diagnostic application must
33  * use the HAL revision information to deal with ABI/API differences.
34  *
35  * NB: do not renumber these, certain codes are publicly used.
36  */
37 enum {
38           HAL_DIAG_REVS                 = 0,      /* MAC/PHY/Radio revs */
39           HAL_DIAG_EEPROM               = 1,      /* EEPROM contents */
40           HAL_DIAG_EEPROM_EXP_11A       = 2,      /* EEPROM 5112 power exp for 11a */
41           HAL_DIAG_EEPROM_EXP_11B       = 3,      /* EEPROM 5112 power exp for 11b */
42           HAL_DIAG_EEPROM_EXP_11G       = 4,      /* EEPROM 5112 power exp for 11g */
43           HAL_DIAG_ANI_CURRENT          = 5,      /* ANI current channel state */
44           HAL_DIAG_ANI_OFDM   = 6,      /* ANI OFDM timing error stats */
45           HAL_DIAG_ANI_CCK    = 7,      /* ANI CCK timing error stats */
46           HAL_DIAG_ANI_STATS  = 8,      /* ANI statistics */
47           HAL_DIAG_RFGAIN               = 9,      /* RfGain GAIN_VALUES */
48           HAL_DIAG_RFGAIN_CURSTEP       = 10,     /* RfGain GAIN_OPTIMIZATION_STEP */
49           HAL_DIAG_PCDAC                = 11,     /* PCDAC table */
50           HAL_DIAG_TXRATES    = 12,     /* Transmit rate table */
51           HAL_DIAG_REGS                 = 13,     /* Registers */
52           HAL_DIAG_ANI_CMD    = 14,     /* ANI issue command (XXX do not change!) */
53           HAL_DIAG_SETKEY               = 15,     /* Set keycache backdoor */
54           HAL_DIAG_RESETKEY   = 16,     /* Reset keycache backdoor */
55           HAL_DIAG_EEREAD               = 17,     /* Read EEPROM word */
56           HAL_DIAG_EEWRITE    = 18,     /* Write EEPROM word */
57           /* 19-26 removed, do not reuse */
58           HAL_DIAG_RDWRITE    = 27,     /* Write regulatory domain */
59           HAL_DIAG_RDREAD               = 28,     /* Get regulatory domain */
60           HAL_DIAG_FATALERR   = 29,     /* Read cached interrupt state */
61           HAL_DIAG_11NCOMPAT  = 30,     /* 11n compatibility tweaks */
62           HAL_DIAG_ANI_PARAMS = 31,     /* ANI noise immunity parameters */
63           HAL_DIAG_CHECK_HANGS          = 32,     /* check h/w hangs */
64           HAL_DIAG_SETREGS    = 33,     /* write registers */
65           HAL_DIAG_CHANSURVEY = 34,     /* channel survey */
66           HAL_DIAG_PRINT_REG  = 35,
67           HAL_DIAG_PRINT_REG_ALL        = 36,
68           HAL_DIAG_CHANNELS   = 37,
69           HAL_DIAG_PRINT_REG_COUNTER    = 38,
70 };
71 
72 #endif /* _ATH_AH_DIAGCODES_H_ */
73