xref: /freebsd/sys/dev/ath/ath_hal/ah_diagcodes.h (revision 95ee2897e98f5d444f26ed2334cc7c439f9c16c6)
1*6e778a7eSPedro F. Giffuni /*-
2*6e778a7eSPedro F. Giffuni  * SPDX-License-Identifier: ISC
3*6e778a7eSPedro F. Giffuni  *
40dbe9289SAdrian Chadd  * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting
50dbe9289SAdrian Chadd  * Copyright (c) 2002-2008 Atheros Communications, Inc.
60dbe9289SAdrian Chadd  *
70dbe9289SAdrian Chadd  * Permission to use, copy, modify, and/or distribute this software for any
80dbe9289SAdrian Chadd  * purpose with or without fee is hereby granted, provided that the above
90dbe9289SAdrian Chadd  * copyright notice and this permission notice appear in all copies.
100dbe9289SAdrian Chadd  *
110dbe9289SAdrian Chadd  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
120dbe9289SAdrian Chadd  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
130dbe9289SAdrian Chadd  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
140dbe9289SAdrian Chadd  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
150dbe9289SAdrian Chadd  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
160dbe9289SAdrian Chadd  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
170dbe9289SAdrian Chadd  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
180dbe9289SAdrian Chadd  */
190dbe9289SAdrian Chadd #ifndef _ATH_AH_DIAGCODES_H_
200dbe9289SAdrian Chadd #define _ATH_AH_DIAGCODES_H_
210dbe9289SAdrian Chadd /*
220dbe9289SAdrian Chadd  * Atheros Device Hardware Access Layer (HAL).
230dbe9289SAdrian Chadd  *
240dbe9289SAdrian Chadd  * Internal diagnostic API definitions.
250dbe9289SAdrian Chadd  */
260dbe9289SAdrian Chadd 
270dbe9289SAdrian Chadd /*
280dbe9289SAdrian Chadd  * Diagnostic interface.  This is an open-ended interface that
290dbe9289SAdrian Chadd  * is opaque to applications.  Diagnostic programs use this to
300dbe9289SAdrian Chadd  * retrieve internal data structures, etc.  There is no guarantee
310dbe9289SAdrian Chadd  * that calling conventions for calls other than HAL_DIAG_REVS
320dbe9289SAdrian Chadd  * are stable between HAL releases; a diagnostic application must
330dbe9289SAdrian Chadd  * use the HAL revision information to deal with ABI/API differences.
340dbe9289SAdrian Chadd  *
350dbe9289SAdrian Chadd  * NB: do not renumber these, certain codes are publicly used.
360dbe9289SAdrian Chadd  */
370dbe9289SAdrian Chadd enum {
380dbe9289SAdrian Chadd 	HAL_DIAG_REVS		= 0,	/* MAC/PHY/Radio revs */
390dbe9289SAdrian Chadd 	HAL_DIAG_EEPROM		= 1,	/* EEPROM contents */
400dbe9289SAdrian Chadd 	HAL_DIAG_EEPROM_EXP_11A	= 2,	/* EEPROM 5112 power exp for 11a */
410dbe9289SAdrian Chadd 	HAL_DIAG_EEPROM_EXP_11B	= 3,	/* EEPROM 5112 power exp for 11b */
420dbe9289SAdrian Chadd 	HAL_DIAG_EEPROM_EXP_11G	= 4,	/* EEPROM 5112 power exp for 11g */
430dbe9289SAdrian Chadd 	HAL_DIAG_ANI_CURRENT	= 5,	/* ANI current channel state */
440dbe9289SAdrian Chadd 	HAL_DIAG_ANI_OFDM	= 6,	/* ANI OFDM timing error stats */
450dbe9289SAdrian Chadd 	HAL_DIAG_ANI_CCK	= 7,	/* ANI CCK timing error stats */
460dbe9289SAdrian Chadd 	HAL_DIAG_ANI_STATS	= 8,	/* ANI statistics */
470dbe9289SAdrian Chadd 	HAL_DIAG_RFGAIN		= 9,	/* RfGain GAIN_VALUES */
480dbe9289SAdrian Chadd 	HAL_DIAG_RFGAIN_CURSTEP	= 10,	/* RfGain GAIN_OPTIMIZATION_STEP */
490dbe9289SAdrian Chadd 	HAL_DIAG_PCDAC		= 11,	/* PCDAC table */
500dbe9289SAdrian Chadd 	HAL_DIAG_TXRATES	= 12,	/* Transmit rate table */
510dbe9289SAdrian Chadd 	HAL_DIAG_REGS		= 13,	/* Registers */
520dbe9289SAdrian Chadd 	HAL_DIAG_ANI_CMD	= 14,	/* ANI issue command (XXX do not change!) */
530dbe9289SAdrian Chadd 	HAL_DIAG_SETKEY		= 15,	/* Set keycache backdoor */
540dbe9289SAdrian Chadd 	HAL_DIAG_RESETKEY	= 16,	/* Reset keycache backdoor */
550dbe9289SAdrian Chadd 	HAL_DIAG_EEREAD		= 17,	/* Read EEPROM word */
560dbe9289SAdrian Chadd 	HAL_DIAG_EEWRITE	= 18,	/* Write EEPROM word */
570dbe9289SAdrian Chadd 	/* 19-26 removed, do not reuse */
580dbe9289SAdrian Chadd 	HAL_DIAG_RDWRITE	= 27,	/* Write regulatory domain */
590dbe9289SAdrian Chadd 	HAL_DIAG_RDREAD		= 28,	/* Get regulatory domain */
600dbe9289SAdrian Chadd 	HAL_DIAG_FATALERR	= 29,	/* Read cached interrupt state */
610dbe9289SAdrian Chadd 	HAL_DIAG_11NCOMPAT	= 30,	/* 11n compatibility tweaks */
620dbe9289SAdrian Chadd 	HAL_DIAG_ANI_PARAMS	= 31,	/* ANI noise immunity parameters */
630dbe9289SAdrian Chadd 	HAL_DIAG_CHECK_HANGS	= 32,	/* check h/w hangs */
640dbe9289SAdrian Chadd 	HAL_DIAG_SETREGS	= 33,	/* write registers */
65f3959573SAdrian Chadd 	HAL_DIAG_CHANSURVEY	= 34,	/* channel survey */
669f24e32bSAdrian Chadd 	HAL_DIAG_PRINT_REG	= 35,
679f24e32bSAdrian Chadd 	HAL_DIAG_PRINT_REG_ALL	= 36,
689f24e32bSAdrian Chadd 	HAL_DIAG_CHANNELS	= 37,
699f24e32bSAdrian Chadd 	HAL_DIAG_PRINT_REG_COUNTER	= 38,
700dbe9289SAdrian Chadd };
710dbe9289SAdrian Chadd 
720dbe9289SAdrian Chadd #endif /* _ATH_AH_DIAGCODES_H_ */
73