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