dumpregs_5416.c revision 185743
1185743Ssam/*-
2185743Ssam * Copyright (c) 2002-2008 Sam Leffler, Errno Consulting
3185743Ssam * All rights reserved.
4185743Ssam *
5185743Ssam * Redistribution and use in source and binary forms, with or without
6185743Ssam * modification, are permitted provided that the following conditions
7185743Ssam * are met:
8185743Ssam * 1. Redistributions of source code must retain the above copyright
9185743Ssam *    notice, this list of conditions and the following disclaimer,
10185743Ssam *    without modification.
11185743Ssam * 2. Redistributions in binary form must reproduce at minimum a disclaimer
12185743Ssam *    similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any
13185743Ssam *    redistribution must be conditioned upon including a substantially
14185743Ssam *    similar Disclaimer requirement for further binary redistribution.
15185743Ssam *
16185743Ssam * NO WARRANTY
17185743Ssam * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18185743Ssam * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19185743Ssam * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
20185743Ssam * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
21185743Ssam * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
22185743Ssam * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23185743Ssam * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24185743Ssam * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
25185743Ssam * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26185743Ssam * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
27185743Ssam * THE POSSIBILITY OF SUCH DAMAGES.
28185743Ssam *
29185743Ssam * $FreeBSD: head/tools/tools/ath/athregs/dumpregs_5416.c 185743 2008-12-07 19:17:33Z sam $
30185743Ssam */
31185743Ssam#include "diag.h"
32185743Ssam
33185743Ssam#include "ah.h"
34185743Ssam#include "ah_internal.h"
35185743Ssam#include "ar5416/ar5416reg.h"
36185743Ssam#include "ar5416/ar5416phy.h"
37185743Ssam
38185743Ssam#include "dumpregs.h"
39185743Ssam
40185743Ssam#define	N(a)	(sizeof(a) / sizeof(a[0]))
41185743Ssam
42185743Ssam#define	MAC5416	SREV(13,8), SREV(0xff,0xff)	/* XXX */
43185743Ssam
44185743Ssamstatic struct dumpreg ar5416regs[] = {
45185743Ssam    { AR_CR,		"CR",		DUMP_BASIC },
46185743Ssam    { AR_RXDP,		"RXDP",		DUMP_BASIC },
47185743Ssam    { AR_CFG,		"CFG",		DUMP_BASIC },
48185743Ssam    { AR_MIRT,		"MIRT",		DUMP_BASIC },
49185743Ssam    { AR_TIMT,		"TIMT",		DUMP_BASIC },
50185743Ssam    { AR_CST,		"CST",		DUMP_BASIC },
51185743Ssam    { AR_IER,		"IER",		DUMP_BASIC },
52185743Ssam    { AR_TXCFG,		"TXCFG",	DUMP_BASIC },
53185743Ssam    { AR_RXCFG,		"RXCFG",	DUMP_BASIC },
54185743Ssam    { AR_MIBC,		"MIBC",		DUMP_BASIC },
55185743Ssam    { AR_TOPS,		"TOPS",		DUMP_BASIC },
56185743Ssam    { AR_RXNPTO,	"RXNPTO",	DUMP_BASIC },
57185743Ssam    { AR_TXNPTO,	"TXNPTO",	DUMP_BASIC },
58185743Ssam    { AR_RPGTO,		"RPGTO",	DUMP_BASIC },
59185743Ssam    { AR_RPCNT,		"RPCNT",	DUMP_BASIC },
60185743Ssam    { AR_MACMISC,	"MACMISC",	DUMP_BASIC },
61185743Ssam    { AR_SPC_0,		"SPC_0",	DUMP_BASIC },
62185743Ssam    { AR_SPC_1,		"SPC_1",	DUMP_BASIC },
63185743Ssam    { AR_GTXTO,		"GTXTO",	DUMP_BASIC },
64185743Ssam    { AR_GTTM,		"GTTM",		DUMP_BASIC },
65185743Ssam
66185743Ssam    { AR_ISR,		"ISR",		DUMP_INTERRUPT },
67185743Ssam    { AR_ISR_S0,	"ISR_S0",	DUMP_INTERRUPT },
68185743Ssam    { AR_ISR_S1,	"ISR_S1",	DUMP_INTERRUPT },
69185743Ssam    { AR_ISR_S2,	"ISR_S2",	DUMP_INTERRUPT },
70185743Ssam    { AR_ISR_S3,	"ISR_S3",	DUMP_INTERRUPT },
71185743Ssam    { AR_ISR_S4,	"ISR_S4",	DUMP_INTERRUPT },
72185743Ssam    { AR_IMR,		"IMR",		DUMP_INTERRUPT },
73185743Ssam    { AR_IMR_S0,	"IMR_S0",	DUMP_INTERRUPT },
74185743Ssam    { AR_IMR_S1,	"IMR_S1",	DUMP_INTERRUPT },
75185743Ssam    { AR_IMR_S2,	"IMR_S2",	DUMP_INTERRUPT },
76185743Ssam    { AR_IMR_S3,	"IMR_S3",	DUMP_INTERRUPT },
77185743Ssam    { AR_IMR_S4,	"IMR_S4",	DUMP_INTERRUPT },
78185743Ssam#if 0
79185743Ssam    /* NB: don't read the RAC so we don't affect operation */
80185743Ssam    { AR_ISR_RAC,	"ISR_RAC",	DUMP_INTERRUPT },
81185743Ssam#endif
82185743Ssam    { AR_ISR_S0_S,	"ISR_S0_S",	DUMP_INTERRUPT },
83185743Ssam    { AR_ISR_S1_S,	"ISR_S1_S",	DUMP_INTERRUPT },
84185743Ssam    { AR_ISR_S2_S,	"ISR_S2_S",	DUMP_INTERRUPT },
85185743Ssam    { AR_ISR_S3_S,	"ISR_S3_S",	DUMP_INTERRUPT },
86185743Ssam    { AR_ISR_S4_S,	"ISR_S4_S",	DUMP_INTERRUPT },
87185743Ssam
88185743Ssam    { AR_DMADBG_0,	"DMADBG0",	DUMP_BASIC },
89185743Ssam    { AR_DMADBG_1,	"DMADBG1",	DUMP_BASIC },
90185743Ssam    { AR_DMADBG_2,	"DMADBG2",	DUMP_BASIC },
91185743Ssam    { AR_DMADBG_3,	"DMADBG3",	DUMP_BASIC },
92185743Ssam    { AR_DMADBG_4,	"DMADBG4",	DUMP_BASIC },
93185743Ssam    { AR_DMADBG_5,	"DMADBG5",	DUMP_BASIC },
94185743Ssam    { AR_DMADBG_6,	"DMADBG6",	DUMP_BASIC },
95185743Ssam    { AR_DMADBG_7,	"DMADBG7",	DUMP_BASIC },
96185743Ssam
97185743Ssam    { AR_DCM_A,		"DCM_A",	DUMP_BASIC },
98185743Ssam    { AR_DCM_D,		"DCM_D",	DUMP_BASIC },
99185743Ssam    { AR_DCCFG,		"DCCFG",	DUMP_BASIC },
100185743Ssam    { AR_CCFG,		"CCFG",		DUMP_BASIC },
101185743Ssam    { AR_CCUCFG,	"CCUCFG",	DUMP_BASIC },
102185743Ssam    { AR_CPC_0,		"CPC0",		DUMP_BASIC },
103185743Ssam    { AR_CPC_1,		"CPC1",		DUMP_BASIC },
104185743Ssam    { AR_CPC_2,		"CPC2",		DUMP_BASIC },
105185743Ssam    { AR_CPC_3,		"CPC3",		DUMP_BASIC },
106185743Ssam    { AR_CPCOVF,	"CPCOVF",	DUMP_BASIC },
107185743Ssam
108185743Ssam    { AR_Q0_TXDP,	"Q0_TXDP",	DUMP_QCU },
109185743Ssam    { AR_Q1_TXDP,	"Q1_TXDP",	DUMP_QCU },
110185743Ssam    { AR_Q2_TXDP,	"Q2_TXDP",	DUMP_QCU },
111185743Ssam    { AR_Q3_TXDP,	"Q3_TXDP",	DUMP_QCU },
112185743Ssam    { AR_Q4_TXDP,	"Q4_TXDP",	DUMP_QCU },
113185743Ssam    { AR_Q5_TXDP,	"Q5_TXDP",	DUMP_QCU },
114185743Ssam    { AR_Q6_TXDP,	"Q6_TXDP",	DUMP_QCU },
115185743Ssam    { AR_Q7_TXDP,	"Q7_TXDP",	DUMP_QCU },
116185743Ssam    { AR_Q8_TXDP,	"Q8_TXDP",	DUMP_QCU },
117185743Ssam    { AR_Q9_TXDP,	"Q9_TXDP",	DUMP_QCU },
118185743Ssam
119185743Ssam    { AR_Q_TXE,		"Q_TXE",	DUMP_QCU },
120185743Ssam    { AR_Q_TXD,		"Q_TXD",	DUMP_QCU },
121185743Ssam
122185743Ssam    { AR_Q0_CBRCFG,	"Q0_CBR",	DUMP_QCU },
123185743Ssam    { AR_Q1_CBRCFG,	"Q1_CBR",	DUMP_QCU },
124185743Ssam    { AR_Q2_CBRCFG,	"Q2_CBR",	DUMP_QCU },
125185743Ssam    { AR_Q3_CBRCFG,	"Q3_CBR",	DUMP_QCU },
126185743Ssam    { AR_Q4_CBRCFG,	"Q4_CBR",	DUMP_QCU },
127185743Ssam    { AR_Q5_CBRCFG,	"Q5_CBR",	DUMP_QCU },
128185743Ssam    { AR_Q6_CBRCFG,	"Q6_CBR",	DUMP_QCU },
129185743Ssam    { AR_Q7_CBRCFG,	"Q7_CBR",	DUMP_QCU },
130185743Ssam    { AR_Q8_CBRCFG,	"Q8_CBR",	DUMP_QCU },
131185743Ssam    { AR_Q9_CBRCFG,	"Q9_CBR",	DUMP_QCU },
132185743Ssam
133185743Ssam    { AR_Q0_RDYTIMECFG,	"Q0_RDYT",	DUMP_QCU },
134185743Ssam    { AR_Q1_RDYTIMECFG,	"Q1_RDYT",	DUMP_QCU },
135185743Ssam    { AR_Q2_RDYTIMECFG,	"Q2_RDYT",	DUMP_QCU },
136185743Ssam    { AR_Q3_RDYTIMECFG,	"Q3_RDYT",	DUMP_QCU },
137185743Ssam    { AR_Q4_RDYTIMECFG,	"Q4_RDYT",	DUMP_QCU },
138185743Ssam    { AR_Q5_RDYTIMECFG,	"Q5_RDYT",	DUMP_QCU },
139185743Ssam    { AR_Q6_RDYTIMECFG,	"Q6_RDYT",	DUMP_QCU },
140185743Ssam    { AR_Q7_RDYTIMECFG,	"Q7_RDYT",	DUMP_QCU },
141185743Ssam    { AR_Q8_RDYTIMECFG,	"Q8_RDYT",	DUMP_QCU },
142185743Ssam    { AR_Q9_RDYTIMECFG,	"Q9_RDYT",	DUMP_QCU },
143185743Ssam
144185743Ssam    { AR_Q_ONESHOTARM_SC,"Q_ONESHOTARM_SC",	DUMP_QCU },
145185743Ssam    { AR_Q_ONESHOTARM_CC,"Q_ONESHOTARM_CC",	DUMP_QCU },
146185743Ssam
147185743Ssam    { AR_Q0_MISC,	"Q0_MISC",	DUMP_QCU },
148185743Ssam    { AR_Q1_MISC,	"Q1_MISC",	DUMP_QCU },
149185743Ssam    { AR_Q2_MISC,	"Q2_MISC",	DUMP_QCU },
150185743Ssam    { AR_Q3_MISC,	"Q3_MISC",	DUMP_QCU },
151185743Ssam    { AR_Q4_MISC,	"Q4_MISC",	DUMP_QCU },
152185743Ssam    { AR_Q5_MISC,	"Q5_MISC",	DUMP_QCU },
153185743Ssam    { AR_Q6_MISC,	"Q6_MISC",	DUMP_QCU },
154185743Ssam    { AR_Q7_MISC,	"Q7_MISC",	DUMP_QCU },
155185743Ssam    { AR_Q8_MISC,	"Q8_MISC",	DUMP_QCU },
156185743Ssam    { AR_Q9_MISC,	"Q9_MISC",	DUMP_QCU },
157185743Ssam
158185743Ssam    { AR_Q0_STS,	"Q0_STS",	DUMP_QCU },
159185743Ssam    { AR_Q1_STS,	"Q1_STS",	DUMP_QCU },
160185743Ssam    { AR_Q2_STS,	"Q2_STS",	DUMP_QCU },
161185743Ssam    { AR_Q3_STS,	"Q3_STS",	DUMP_QCU },
162185743Ssam    { AR_Q4_STS,	"Q4_STS",	DUMP_QCU },
163185743Ssam    { AR_Q5_STS,	"Q5_STS",	DUMP_QCU },
164185743Ssam    { AR_Q6_STS,	"Q6_STS",	DUMP_QCU },
165185743Ssam    { AR_Q7_STS,	"Q7_STS",	DUMP_QCU },
166185743Ssam    { AR_Q8_STS,	"Q8_STS",	DUMP_QCU },
167185743Ssam    { AR_Q9_STS,	"Q9_STS",	DUMP_QCU },
168185743Ssam
169185743Ssam    { AR_Q_RDYTIMESHDN,	"Q_RDYTIMSHD",	DUMP_QCU },
170185743Ssam
171185743Ssam    { AR_Q_CBBS,	"Q_CBBS",	DUMP_QCU },
172185743Ssam    { AR_Q_CBBA,	"Q_CBBA",	DUMP_QCU },
173185743Ssam    { AR_Q_CBC,		"Q_CBC",	DUMP_QCU },
174185743Ssam
175185743Ssam    { AR_D0_QCUMASK,	"D0_MASK",	DUMP_DCU },
176185743Ssam    { AR_D1_QCUMASK,	"D1_MASK",	DUMP_DCU },
177185743Ssam    { AR_D2_QCUMASK,	"D2_MASK",	DUMP_DCU },
178185743Ssam    { AR_D3_QCUMASK,	"D3_MASK",	DUMP_DCU },
179185743Ssam    { AR_D4_QCUMASK,	"D4_MASK",	DUMP_DCU },
180185743Ssam    { AR_D5_QCUMASK,	"D5_MASK",	DUMP_DCU },
181185743Ssam    { AR_D6_QCUMASK,	"D6_MASK",	DUMP_DCU },
182185743Ssam    { AR_D7_QCUMASK,	"D7_MASK",	DUMP_DCU },
183185743Ssam    { AR_D8_QCUMASK,	"D8_MASK",	DUMP_DCU },
184185743Ssam    { AR_D9_QCUMASK,	"D9_MASK",	DUMP_DCU },
185185743Ssam
186185743Ssam    { AR_D0_LCL_IFS,	"D0_IFS",	DUMP_DCU },
187185743Ssam    { AR_D1_LCL_IFS,	"D1_IFS",	DUMP_DCU },
188185743Ssam    { AR_D2_LCL_IFS,	"D2_IFS",	DUMP_DCU },
189185743Ssam    { AR_D3_LCL_IFS,	"D3_IFS",	DUMP_DCU },
190185743Ssam    { AR_D4_LCL_IFS,	"D4_IFS",	DUMP_DCU },
191185743Ssam    { AR_D5_LCL_IFS,	"D5_IFS",	DUMP_DCU },
192185743Ssam    { AR_D6_LCL_IFS,	"D6_IFS",	DUMP_DCU },
193185743Ssam    { AR_D7_LCL_IFS,	"D7_IFS",	DUMP_DCU },
194185743Ssam    { AR_D8_LCL_IFS,	"D8_IFS",	DUMP_DCU },
195185743Ssam    { AR_D9_LCL_IFS,	"D9_IFS",	DUMP_DCU },
196185743Ssam
197185743Ssam    { AR_D0_RETRY_LIMIT,"D0_RTRY",	DUMP_DCU },
198185743Ssam    { AR_D1_RETRY_LIMIT,"D1_RTRY",	DUMP_DCU },
199185743Ssam    { AR_D2_RETRY_LIMIT,"D2_RTRY",	DUMP_DCU },
200185743Ssam    { AR_D3_RETRY_LIMIT,"D3_RTRY",	DUMP_DCU },
201185743Ssam    { AR_D4_RETRY_LIMIT,"D4_RTRY",	DUMP_DCU },
202185743Ssam    { AR_D5_RETRY_LIMIT,"D5_RTRY",	DUMP_DCU },
203185743Ssam    { AR_D6_RETRY_LIMIT,"D6_RTRY",	DUMP_DCU },
204185743Ssam    { AR_D7_RETRY_LIMIT,"D7_RTRY",	DUMP_DCU },
205185743Ssam    { AR_D8_RETRY_LIMIT,"D8_RTRY",	DUMP_DCU },
206185743Ssam    { AR_D9_RETRY_LIMIT,"D9_RTRY",	DUMP_DCU },
207185743Ssam
208185743Ssam    { AR_D0_CHNTIME,	"D0_CHNT",	DUMP_DCU },
209185743Ssam    { AR_D1_CHNTIME,	"D1_CHNT",	DUMP_DCU },
210185743Ssam    { AR_D2_CHNTIME,	"D2_CHNT",	DUMP_DCU },
211185743Ssam    { AR_D3_CHNTIME,	"D3_CHNT",	DUMP_DCU },
212185743Ssam    { AR_D4_CHNTIME,	"D4_CHNT",	DUMP_DCU },
213185743Ssam    { AR_D5_CHNTIME,	"D5_CHNT",	DUMP_DCU },
214185743Ssam    { AR_D6_CHNTIME,	"D6_CHNT",	DUMP_DCU },
215185743Ssam    { AR_D7_CHNTIME,	"D7_CHNT",	DUMP_DCU },
216185743Ssam    { AR_D8_CHNTIME,	"D8_CHNT",	DUMP_DCU },
217185743Ssam    { AR_D9_CHNTIME,	"D9_CHNT",	DUMP_DCU },
218185743Ssam
219185743Ssam    { AR_D0_MISC,	"D0_MISC",	DUMP_DCU },
220185743Ssam    { AR_D1_MISC,	"D1_MISC",	DUMP_DCU },
221185743Ssam    { AR_D2_MISC,	"D2_MISC",	DUMP_DCU },
222185743Ssam    { AR_D3_MISC,	"D3_MISC",	DUMP_DCU },
223185743Ssam    { AR_D4_MISC,	"D4_MISC",	DUMP_DCU },
224185743Ssam    { AR_D5_MISC,	"D5_MISC",	DUMP_DCU },
225185743Ssam    { AR_D6_MISC,	"D6_MISC",	DUMP_DCU },
226185743Ssam    { AR_D7_MISC,	"D7_MISC",	DUMP_DCU },
227185743Ssam    { AR_D8_MISC,	"D8_MISC",	DUMP_DCU },
228185743Ssam    { AR_D9_MISC,	"D9_MISC",	DUMP_DCU },
229185743Ssam
230185743Ssam    { AR_D_SEQNUM,	"D_SEQ",	DUMP_BASIC | DUMP_DCU },
231185743Ssam    { AR_D_GBL_IFS_SIFS,"D_SIFS",	DUMP_BASIC },
232185743Ssam    { AR_D_GBL_IFS_SLOT,"D_SLOT",	DUMP_BASIC },
233185743Ssam    { AR_D_GBL_IFS_EIFS,"D_EIFS",	DUMP_BASIC },
234185743Ssam    { AR_D_GBL_IFS_MISC,"D_MISC",	DUMP_BASIC },
235185743Ssam    { AR_D_FPCTL,	"D_FPCTL",	DUMP_BASIC },
236185743Ssam    { AR_D_TXPSE,	"D_TXPSE",	DUMP_BASIC },
237185743Ssam#if 0
238185743Ssam    { AR_D_TXBLK_CMD,	"D_CMD",	DUMP_BASIC },
239185743Ssam    { AR_D_TXBLK_DATA,	"D_DATA",	DUMP_BASIC },
240185743Ssam    { AR_D_TXBLK_CLR,	"D_CLR",	DUMP_BASIC },
241185743Ssam    { AR_D_TXBLK_SET,	"D_SET",	DUMP_BASIC },
242185743Ssam#endif
243185743Ssam
244185743Ssam    { AR_MAC_LED,	"MAC_LED",	DUMP_BASIC },
245185743Ssam    { AR_RC,		"RC",		DUMP_BASIC },
246185743Ssam    { AR_SCR,		"SCR",		DUMP_BASIC },
247185743Ssam    { AR_INTPEND,	"INTPEND",	DUMP_BASIC },
248185743Ssam    { AR_SFR,		"SFR",		DUMP_BASIC },
249185743Ssam    { AR_PCICFG,	"PCICFG",	DUMP_BASIC },
250185743Ssam    { AR_SREV,		"SREV",		DUMP_BASIC },
251185743Ssam
252185743Ssam    { AR_AHB_MODE,	"AHBMODE",	DUMP_BASIC },
253185743Ssam    { AR5416_PCIE_PM_CTRL,"PCIEPMC",	DUMP_BASIC },
254185743Ssam    { AR5416_PCIE_SERDES,"SERDES",	DUMP_BASIC },
255185743Ssam    { AR5416_PCIE_SERDES2, "SERDES2",	DUMP_BASIC },
256185743Ssam
257185743Ssam    { AR_INTR_ASYNC_MASK,"IASYNCM",	DUMP_BASIC },
258185743Ssam    { AR_INTR_SYNC_MASK,"ISYNCM",	DUMP_BASIC },
259185743Ssam    { AR_RTC_RC,	"RTC_RC",	DUMP_BASIC },
260185743Ssam    { AR_RTC_PLL_CONTROL,"RTC_PLL",	DUMP_BASIC },
261185743Ssam
262185743Ssam    { AR_GPIO_IN,	"GPIOIN",	DUMP_BASIC },
263185743Ssam    { AR_GPIO_INTR_OUT,	"GPIOINO",	DUMP_BASIC },
264185743Ssam    { AR_OBS,		"OBS",		DUMP_BASIC },
265185743Ssam#if 0
266185743Ssam    { AR_EEPROM_ADDR,	"EEADDR",	DUMP_BASIC },
267185743Ssam    { AR_EEPROM_DATA,	"EEDATA",	DUMP_BASIC },
268185743Ssam    { AR_EEPROM_CMD,	"EECMD",	DUMP_BASIC },
269185743Ssam    { AR_EEPROM_STS,	"EESTS",	DUMP_BASIC },
270185743Ssam    { AR_EEPROM_CFG,	"EECFG",	DUMP_BASIC },
271185743Ssam#endif
272185743Ssam    { AR_STA_ID0,	"STA_ID0",	DUMP_BASIC },
273185743Ssam    { AR_STA_ID1,	"STA_ID1",	DUMP_BASIC | DUMP_KEYCACHE },
274185743Ssam    { AR_BSS_ID0,	"BSS_ID0",	DUMP_BASIC },
275185743Ssam    { AR_BSS_ID1,	"BSS_ID1",	DUMP_BASIC },
276185743Ssam    { AR_SLOT_TIME,	"SLOTTIME",	DUMP_BASIC },
277185743Ssam    { AR_TIME_OUT,	"TIME_OUT",	DUMP_BASIC },
278185743Ssam    { AR_RSSI_THR,	"RSSI_THR",	DUMP_BASIC },
279185743Ssam    { AR_USEC,		"USEC",		DUMP_BASIC },
280185743Ssam    { AR_BEACON,	"BEACON",	DUMP_BASIC },
281185743Ssam    { AR_CFP_PERIOD,	"CFP_PER",	DUMP_BASIC },
282185743Ssam    { AR_TIMER0,	"TIMER0",	DUMP_BASIC },
283185743Ssam    { AR_TIMER1,	"TIMER1",	DUMP_BASIC },
284185743Ssam    { AR_TIMER2,	"TIMER2",	DUMP_BASIC },
285185743Ssam    { AR_TIMER3,	"TIMER3",	DUMP_BASIC },
286185743Ssam    { AR_CFP_DUR,	"CFP_DUR",	DUMP_BASIC },
287185743Ssam    { AR_RX_FILTER,	"RXFILTER",	DUMP_BASIC },
288185743Ssam    { AR_MCAST_FIL0,	"MCAST_0",	DUMP_BASIC },
289185743Ssam    { AR_MCAST_FIL1,	"MCAST_1",	DUMP_BASIC },
290185743Ssam    { AR_DIAG_SW,	"DIAG_SW",	DUMP_BASIC },
291185743Ssam    { AR_TSF_L32,	"TSF_L32",	DUMP_BASIC },
292185743Ssam    { AR_TSF_U32,	"TSF_U32",	DUMP_BASIC },
293185743Ssam    { AR_TST_ADDAC,	"TST_ADAC",	DUMP_BASIC },
294185743Ssam    { AR_DEF_ANTENNA,	"DEF_ANT",	DUMP_BASIC },
295185743Ssam    { AR_QOS_MASK,	"QOS_MASK",	DUMP_BASIC },
296185743Ssam    { AR_SEQ_MASK,	"SEQ_MASK",	DUMP_BASIC },
297185743Ssam    { AR_OBSERV_2,	"OBSERV2",	DUMP_BASIC },
298185743Ssam    { AR_OBSERV_1,	"OBSERV1",	DUMP_BASIC },
299185743Ssam
300185743Ssam    { AR_LAST_TSTP,	"LAST_TST",	DUMP_BASIC },
301185743Ssam    { AR_NAV,		"NAV",		DUMP_BASIC },
302185743Ssam    { AR_RTS_OK,	"RTS_OK",	DUMP_BASIC },
303185743Ssam    { AR_RTS_FAIL,	"RTS_FAIL",	DUMP_BASIC },
304185743Ssam    { AR_ACK_FAIL,	"ACK_FAIL",	DUMP_BASIC },
305185743Ssam    { AR_FCS_FAIL,	"FCS_FAIL",	DUMP_BASIC },
306185743Ssam    { AR_BEACON_CNT,	"BEAC_CNT",	DUMP_BASIC },
307185743Ssam
308185743Ssam    { AR_SLEEP1,	"SLEEP1",	DUMP_BASIC },
309185743Ssam    { AR_SLEEP2,	"SLEEP2",	DUMP_BASIC },
310185743Ssam    { AR_SLEEP3,	"SLEEP3",	DUMP_BASIC },
311185743Ssam    { AR_BSSMSKL,	"BSSMSKL",	DUMP_BASIC },
312185743Ssam    { AR_BSSMSKU,	"BSSMSKU",	DUMP_BASIC },
313185743Ssam    { AR_TPC,		"TPC",		DUMP_BASIC },
314185743Ssam    { AR_TFCNT,		"TFCNT",	DUMP_BASIC },
315185743Ssam    { AR_RFCNT,		"RFCNT",	DUMP_BASIC },
316185743Ssam    { AR_RCCNT,		"RCCNT",	DUMP_BASIC },
317185743Ssam    { AR_CCCNT,		"CCCNT",	DUMP_BASIC },
318185743Ssam    { AR_QUIET1,	"QUIET1",	DUMP_BASIC },
319185743Ssam    { AR_QUIET2,	"QUIET2",	DUMP_BASIC },
320185743Ssam    { AR_TSF_PARM,	"TSF_PARM",	DUMP_BASIC },
321185743Ssam    { AR_NOACK,		"NOACK",	DUMP_BASIC },
322185743Ssam    { AR_PHY_ERR,	"PHY_ERR",	DUMP_BASIC },
323185743Ssam    { AR_QOS_CONTROL,	"QOS_CTRL",	DUMP_BASIC },
324185743Ssam    { AR_QOS_SELECT,	"QOS_SEL",	DUMP_BASIC },
325185743Ssam    { AR_MISC_MODE,	"MISCMODE",	DUMP_BASIC },
326185743Ssam    { AR_FILTOFDM,	"FILTOFDM",	DUMP_BASIC },
327185743Ssam    { AR_FILTCCK,	"FILTCCK",	DUMP_BASIC },
328185743Ssam    { AR_PHYCNT1,	"PHYCNT1",	DUMP_BASIC },
329185743Ssam    { AR_PHYCNTMASK1,	"PHYCMSK1",	DUMP_BASIC },
330185743Ssam    { AR_PHYCNT2,	"PHYCNT2",	DUMP_BASIC },
331185743Ssam    { AR_PHYCNTMASK2,	"PHYCMSK2",	DUMP_BASIC },
332185743Ssam
333185743Ssam    { AR_TXOP_X,	"TXOPX",	DUMP_BASIC },
334185743Ssam    { AR_NEXT_TBTT,	"NXTTBTT",	DUMP_BASIC},
335185743Ssam    { AR_NEXT_DBA,	"NXTDBA",	DUMP_BASIC },
336185743Ssam    { AR_NEXT_SWBA,	"NXTSWBA",	DUMP_BASIC },
337185743Ssam    { AR_NEXT_CFP,	"NXTCFP",	DUMP_BASIC },
338185743Ssam    { AR_NEXT_HCF,	"NXTHCF",	DUMP_BASIC },
339185743Ssam    { AR_NEXT_DTIM,	"NXTDTIM",	DUMP_BASIC },
340185743Ssam    { AR_NEXT_QUIET,	"NXTQUIET",	DUMP_BASIC },
341185743Ssam    { AR_NEXT_NDP,	"NXTNDP",	DUMP_BASIC },
342185743Ssam    { AR5416_BEACON_PERIOD, "BCNPER",	DUMP_BASIC },
343185743Ssam    { AR_DBA_PERIOD,	"DBAPER",	DUMP_BASIC },
344185743Ssam    { AR_SWBA_PERIOD,	"SWBAPER",	DUMP_BASIC },
345185743Ssam    { AR_TIM_PERIOD,	"TIMPER",	DUMP_BASIC },
346185743Ssam    { AR_DTIM_PERIOD,	"DTIMPER",	DUMP_BASIC },
347185743Ssam    { AR_QUIET_PERIOD,	"QUIETPER",	DUMP_BASIC },
348185743Ssam    { AR_NDP_PERIOD,	"NDPPER",	DUMP_BASIC },
349185743Ssam    { AR_TIMER_MODE,	"TIMERMOD",	DUMP_BASIC },
350185743Ssam    { AR_2040_MODE,	"2040MODE",	DUMP_BASIC },
351185743Ssam    { AR_PCU_TXBUF_CTRL,"PCUTXBUF",	DUMP_BASIC },
352185743Ssam    { AR_SLP32_MODE,	"SLP32MOD",	DUMP_BASIC },
353185743Ssam    { AR_SLP32_WAKE,	"SLP32WAK",	DUMP_BASIC },
354185743Ssam    { AR_SLP32_INC,	"SLP32INC",	DUMP_BASIC },
355185743Ssam    { AR_SLP_CNT,	"SLPCNT",	DUMP_BASIC },
356185743Ssam    { AR_SLP_MIB_CTRL,	"SLPMIB",	DUMP_BASIC },
357185743Ssam    { AR_EXTRCCNT,	"EXTRCCNT",	DUMP_BASIC },
358185743Ssam
359185743Ssam    /* XXX { AR_RATE_DURATION(0), AR_RATE_DURATION(0x20) }, */
360185743Ssam};
361185743Ssam
362185743Ssamstatic __constructor void
363185743Ssamar5416_ctor(void)
364185743Ssam{
365185743Ssam	register_regs(ar5416regs, N(ar5416regs), MAC5416, PHYANY);
366185743Ssam	register_keycache(128, MAC5416, PHYANY);
367185743Ssam
368185743Ssam	register_range(0x9800, 0x987c, DUMP_BASEBAND, MAC5416, PHYANY);
369185743Ssam	register_range(0x9900, 0x997c, DUMP_BASEBAND, MAC5416, PHYANY);
370185743Ssam	register_range(0x99a4, 0x99a4, DUMP_BASEBAND, MAC5416, PHYANY);
371185743Ssam	register_range(0x9c00, 0x9c1c, DUMP_BASEBAND, MAC5416, PHYANY);
372185743Ssam	register_range(0xa180, 0xa238, DUMP_BASEBAND, MAC5416, PHYANY);
373185743Ssam	register_range(0xa258, 0xa26c, DUMP_BASEBAND, MAC5416, PHYANY);
374185743Ssam	register_range(0xa3c8, 0xa3d4, DUMP_BASEBAND, MAC5416, PHYANY);
375185743Ssam	register_range(0xa864, 0xa864, DUMP_BASEBAND, MAC5416, PHYANY);
376185743Ssam	register_range(0xa9bc, 0xa9bc, DUMP_BASEBAND, MAC5416, PHYANY);
377185743Ssam	register_range(0xb864, 0xb864, DUMP_BASEBAND, MAC5416, PHYANY);
378185743Ssam	register_range(0xb9bc, 0xb9bc, DUMP_BASEBAND, MAC5416, PHYANY);
379185743Ssam}
380