ah_decode.h revision 1.1 1 1.1 alc /*
2 1.1 alc * Copyright (c) 2002-2008 Sam Leffler, Errno Consulting
3 1.1 alc * Copyright (c) 2002-2008 Atheros Communications, Inc.
4 1.1 alc *
5 1.1 alc * Permission to use, copy, modify, and/or distribute this software for any
6 1.1 alc * purpose with or without fee is hereby granted, provided that the above
7 1.1 alc * copyright notice and this permission notice appear in all copies.
8 1.1 alc *
9 1.1 alc * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 1.1 alc * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 1.1 alc * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 1.1 alc * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 1.1 alc * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 1.1 alc * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 1.1 alc * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 1.1 alc *
17 1.1 alc * $Id: ah_decode.h,v 1.1 2008/12/11 04:46:23 alc Exp $
18 1.1 alc */
19 1.1 alc #ifndef _ATH_AH_DECODE_H_
20 1.1 alc #define _ATH_AH_DECODE_H_
21 1.1 alc /*
22 1.1 alc * Register tracing support.
23 1.1 alc *
24 1.1 alc * Setting hw.ath.hal.alq=1 enables tracing of all register reads and
25 1.1 alc * writes to the file /tmp/ath_hal.log. The file format is a simple
26 1.1 alc * fixed-size array of records. When done logging set hw.ath.hal.alq=0
27 1.1 alc * and then decode the file with the arcode program (that is part of the
28 1.1 alc * HAL). If you start+stop tracing the data will be appended to an
29 1.1 alc * existing file.
30 1.1 alc */
31 1.1 alc struct athregrec {
32 1.1 alc uint32_t op : 8,
33 1.1 alc reg : 24;
34 1.1 alc uint32_t val;
35 1.1 alc };
36 1.1 alc
37 1.1 alc enum {
38 1.1 alc OP_READ = 0, /* register read */
39 1.1 alc OP_WRITE = 1, /* register write */
40 1.1 alc OP_DEVICE = 2, /* device identification */
41 1.1 alc OP_MARK = 3, /* application marker */
42 1.1 alc };
43 1.1 alc
44 1.1 alc enum {
45 1.1 alc AH_MARK_RESET, /* ar*Reset entry, bChannelChange */
46 1.1 alc AH_MARK_RESET_LINE, /* ar*_reset.c, line %d */
47 1.1 alc AH_MARK_RESET_DONE, /* ar*Reset exit, error code */
48 1.1 alc AH_MARK_CHIPRESET, /* ar*ChipReset, channel num */
49 1.1 alc AH_MARK_PERCAL, /* ar*PerCalibration, channel num */
50 1.1 alc AH_MARK_SETCHANNEL, /* ar*SetChannel, channel num */
51 1.1 alc AH_MARK_ANI_RESET, /* ar*AniReset, opmode */
52 1.1 alc AH_MARK_ANI_POLL, /* ar*AniReset, listen time */
53 1.1 alc AH_MARK_ANI_CONTROL, /* ar*AniReset, cmd */
54 1.1 alc };
55 1.1 alc #endif /* _ATH_AH_DECODE_H_ */
56