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