| 1 | /* |
| 2 | * Copyright (c) 2002-2008 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 | * $Id: ah_decode.h,v 1.1.1.1 2008/12/11 04:46:23 alc Exp $ |
| 18 | */ |
| 19 | #ifndef _ATH_AH_DECODE_H_ |
| 20 | #define _ATH_AH_DECODE_H_ |
| 21 | /* |
| 22 | * Register tracing support. |
| 23 | * |
| 24 | * Setting hw.ath.hal.alq=1 enables tracing of all register reads and |
| 25 | * writes to the file /tmp/ath_hal.log. The file format is a simple |
| 26 | * fixed-size array of records. When done logging set hw.ath.hal.alq=0 |
| 27 | * and then decode the file with the arcode program (that is part of the |
| 28 | * HAL). If you start+stop tracing the data will be appended to an |
| 29 | * existing file. |
| 30 | */ |
| 31 | struct athregrec { |
| 32 | uint32_t op : 8, |
| 33 | reg : 24; |
| 34 | uint32_t val; |
| 35 | }; |
| 36 | |
| 37 | enum { |
| 38 | OP_READ = 0, /* register read */ |
| 39 | OP_WRITE = 1, /* register write */ |
| 40 | OP_DEVICE = 2, /* device identification */ |
| 41 | OP_MARK = 3, /* application marker */ |
| 42 | }; |
| 43 | |
| 44 | enum { |
| 45 | AH_MARK_RESET, /* ar*Reset entry, bChannelChange */ |
| 46 | AH_MARK_RESET_LINE, /* ar*_reset.c, line %d */ |
| 47 | AH_MARK_RESET_DONE, /* ar*Reset exit, error code */ |
| 48 | AH_MARK_CHIPRESET, /* ar*ChipReset, channel num */ |
| 49 | AH_MARK_PERCAL, /* ar*PerCalibration, channel num */ |
| 50 | AH_MARK_SETCHANNEL, /* ar*SetChannel, channel num */ |
| 51 | AH_MARK_ANI_RESET, /* ar*AniReset, opmode */ |
| 52 | AH_MARK_ANI_POLL, /* ar*AniReset, listen time */ |
| 53 | AH_MARK_ANI_CONTROL, /* ar*AniReset, cmd */ |
| 54 | }; |
| 55 | #endif /* _ATH_AH_DECODE_H_ */ |
| 56 | |