arn9003reg.h revision 1.1 1 1.1 christos /* $NetBSD: arn9003reg.h,v 1.1 2013/03/30 02:53:01 christos Exp $ */
2 1.1 christos /* $OpenBSD: ar9003reg.h,v 1.8 2012/10/20 09:53:32 stsp Exp $ */
3 1.1 christos
4 1.1 christos /*-
5 1.1 christos * Copyright (c) 2010 Damien Bergamini <damien.bergamini (at) free.fr>
6 1.1 christos * Copyright (c) 2010 Atheros Communications Inc.
7 1.1 christos *
8 1.1 christos * Permission to use, copy, modify, and/or distribute this software for any
9 1.1 christos * purpose with or without fee is hereby granted, provided that the above
10 1.1 christos * copyright notice and this permission notice appear in all copies.
11 1.1 christos *
12 1.1 christos * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
13 1.1 christos * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
14 1.1 christos * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
15 1.1 christos * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
16 1.1 christos * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
17 1.1 christos * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
18 1.1 christos * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19 1.1 christos */
20 1.1 christos
21 1.1 christos #ifndef _ARN9003REG_H_
22 1.1 christos #define _ARN9003REG_H_
23 1.1 christos
24 1.1 christos /*
25 1.1 christos * MAC registers.
26 1.1 christos */
27 1.1 christos #define AR_ISR_S2_S 0x00d0
28 1.1 christos #define AR_ISR_S3_S 0x00d4
29 1.1 christos #define AR_ISR_S4_S 0x00d8
30 1.1 christos #define AR_ISR_S5_S 0x00dc
31 1.1 christos #define AR_GPIO_IN_OUT 0x4048
32 1.1 christos #define AR_GPIO_IN 0x404c
33 1.1 christos #define AR9300_GPIO_IN_VAL 0x0001FFFF
34 1.1 christos #define AR_GPIO_OE_OUT 0x4050
35 1.1 christos #define AR_GPIO_INTR_POL 0x4058
36 1.1 christos #define AR_GPIO_INPUT_EN_VAL 0x405c
37 1.1 christos #define AR_GPIO_INPUT_MUX1 0x4060
38 1.1 christos #define AR_GPIO_INPUT_MUX2 0x4064
39 1.1 christos #define AR_GPIO_OUTPUT_MUX(i) (0x4068 + (i) * 4)
40 1.1 christos #define AR_INPUT_STATE 0x4074
41 1.1 christos #define AR_EEPROM_STATUS_DATA 0x4084
42 1.1 christos #define AR_OBS 0x4088
43 1.1 christos #define AR_GPIO_PDPU 0x4090
44 1.1 christos #define AR_PCIE_MSI 0x40a4
45 1.1 christos #define AR_ENT_OTP 0x40d8
46 1.1 christos
47 1.1 christos /* Bits for AR_ENT_OTP. */
48 1.1 christos #define AR_ENT_OTP_CHAIN2_DISABLE 0x00020000
49 1.1 christos #define AR_ENT_OTP_MPSD 0x00800000
50 1.1 christos
51 1.1 christos /*
52 1.1 christos * PHY registers.
53 1.1 christos */
54 1.1 christos #define AR_PHY_TIMING1 0x09800
55 1.1 christos #define AR_PHY_TIMING2 0x09804
56 1.1 christos #define AR_PHY_TIMING3 0x09808
57 1.1 christos #define AR_PHY_TIMING4 0x0980c
58 1.1 christos #define AR_PHY_TIMING5 0x09810
59 1.1 christos #define AR_PHY_TIMING6 0x09814
60 1.1 christos #define AR_PHY_TIMING11 0x09818
61 1.1 christos #define AR_PHY_SPUR_REG 0x0981c
62 1.1 christos #define AR_PHY_FIND_SIG_LOW 0x09820
63 1.1 christos #define AR_PHY_SFCORR 0x09824
64 1.1 christos #define AR_PHY_SFCORR_LOW 0x09828
65 1.1 christos #define AR_PHY_SFCORR_EXT 0x0982c
66 1.1 christos #define AR_PHY_EXT_CCA(i) (0x09830 + (i) * 0x1000)
67 1.1 christos #define AR_PHY_RADAR_0 0x09834
68 1.1 christos #define AR_PHY_RADAR_1 0x09838
69 1.1 christos #define AR_PHY_RADAR_EXT 0x0983c
70 1.1 christos #define AR_PHY_MULTICHAIN_CTRL 0x09880
71 1.1 christos #define AR_PHY_PERCHAIN_CSD 0x09884
72 1.1 christos #define AR_PHY_TX_CRC 0x098a0
73 1.1 christos #define AR_PHY_TST_DAC_CONST 0x098a4
74 1.1 christos #define AR_PHY_SPUR_REPORT_0 0x098a8
75 1.1 christos #define AR_PHY_TX_IQCAL_CONTROL_3 0x098b0
76 1.1 christos #define AR_PHY_IQ_ADC_MEAS_0_B(i) (0x098c0 + (i) * 0x1000)
77 1.1 christos #define AR_PHY_IQ_ADC_MEAS_1_B(i) (0x098c4 + (i) * 0x1000)
78 1.1 christos #define AR_PHY_IQ_ADC_MEAS_2_B(i) (0x098c8 + (i) * 0x1000)
79 1.1 christos #define AR_PHY_IQ_ADC_MEAS_3_B(i) (0x098cc + (i) * 0x1000)
80 1.1 christos #define AR_PHY_TX_PHASE_RAMP_0 0x098d0
81 1.1 christos #define AR_PHY_ADC_DC_GAIN_CORR(i) (0x098d4 + (i) * 0x1000)
82 1.1 christos #define AR_PHY_RX_IQCAL_CORR_B(i) (0x098dc + (i) * 0x1000)
83 1.1 christos #define AR_PHY_PAPRD_AM2AM 0x098e4
84 1.1 christos #define AR_PHY_PAPRD_AM2PM 0x098e8
85 1.1 christos #define AR_PHY_PAPRD_HT40 0x098ec
86 1.1 christos #define AR_PHY_PAPRD_CTRL0_B(i) (0x098f0 + (i) * 0x1000)
87 1.1 christos #define AR_PHY_PAPRD_CTRL1_B(i) (0x098f4 + (i) * 0x1000)
88 1.1 christos #define AR_PHY_PA_GAIN123_B(i) (0x098f8 + (i) * 0x1000)
89 1.1 christos #define AR_PHY_PAPRD_PRE_POST_SCALE_B0(i) \
90 1.1 christos (0x09900 + (i) * 4)
91 1.1 christos #define AR_PHY_PAPRD_MEM_TAB_B(i, j) (0x09920 + (i) * 0x1000 + (j) * 4)
92 1.1 christos #define AR_PHY_CHAN_INFO_TAB(i, j) (0x09b00 + (i) * 0x1000 + (j) * 4)
93 1.1 christos #define AR_PHY_TIMING_3A 0x09c00
94 1.1 christos #define AR_PHY_LDPC_CNTL1 0x09c04
95 1.1 christos #define AR_PHY_LDPC_CNTL2 0x09c08
96 1.1 christos #define AR_PHY_PILOT_SPUR_MASK 0x09c0c
97 1.1 christos #define AR_PHY_CHAN_SPUR_MASK 0x09c10
98 1.1 christos #define AR_PHY_SGI_DELTA 0x09c14
99 1.1 christos #define AR_PHY_ML_CNTL_1 0x09c18
100 1.1 christos #define AR_PHY_ML_CNTL_2 0x09c1c
101 1.1 christos #define AR_PHY_TST_ADC 0x09c20
102 1.1 christos #define AR_PHY_SETTLING 0x09e00
103 1.1 christos #define AR_PHY_RXGAIN(i) (0x09e04 + (i) * 0x1000)
104 1.1 christos #define AR_PHY_GAINS_MINOFF0 0x09e08
105 1.1 christos #define AR_PHY_DESIRED_SZ 0x09e0c
106 1.1 christos #define AR_PHY_FIND_SIG 0x09e10
107 1.1 christos #define AR_PHY_AGC 0x09e14
108 1.1 christos #define AR_PHY_EXT_ATTEN_CTL(i) (0x09e18 + (i) * 0x1000)
109 1.1 christos #define AR_PHY_CCA(i) (0x09e1c + (i) * 0x1000)
110 1.1 christos #define AR_PHY_CCA_CTRL(i) (0x09e20 + (i) * 0x1000)
111 1.1 christos #define AR_PHY_RESTART 0x09e24
112 1.1 christos #define AR_PHY_MC_GAIN_CTRL 0x09e28
113 1.1 christos #define AR_PHY_EXTCHN_PWRTHR1 0x09e2c
114 1.1 christos #define AR_PHY_EXT_CHN_WIN 0x09e30
115 1.1 christos #define AR_PHY_20_40_DET_THR 0x09e34
116 1.1 christos #define AR_PHY_RIFS_SRCH 0x09e38
117 1.1 christos #define AR_PHY_PEAK_DET_CTRL_1 0x09e3c
118 1.1 christos #define AR_PHY_PEAK_DET_CTRL_2 0x09e40
119 1.1 christos #define AR_PHY_RX_GAIN_BOUNDS_1 0x09e44
120 1.1 christos #define AR_PHY_RX_GAIN_BOUNDS_2 0x09e48
121 1.1 christos #define AR_PHY_RSSI(i) (0x09f80 + (i) * 0x1000)
122 1.1 christos #define AR_PHY_SPUR_CCK_REP0 0x09f84
123 1.1 christos #define AR_PHY_CCK_DETECT 0x09fc0
124 1.1 christos #define AR_PHY_DAG_CTRLCCK 0x09fc4
125 1.1 christos #define AR_PHY_IQCORR_CTRL_CCK 0x09fc8
126 1.1 christos #define AR_PHY_CCK_SPUR_MIT 0x09fcc
127 1.1 christos #define AR_PHY_RX_OCGAIN 0x0a000
128 1.1 christos #define AR_PHY_D2_CHIP_ID 0x0a200
129 1.1 christos #define AR_PHY_GEN_CTRL 0x0a204
130 1.1 christos #define AR_PHY_MODE 0x0a208
131 1.1 christos #define AR_PHY_ACTIVE 0x0a20c
132 1.1 christos #define AR_PHY_SPUR_MASK_A 0x0a220
133 1.1 christos #define AR_PHY_SPUR_MASK_B 0x0a224
134 1.1 christos #define AR_PHY_SPECTRAL_SCAN 0x0a228
135 1.1 christos #define AR_PHY_RADAR_BW_FILTER 0x0a22c
136 1.1 christos #define AR_PHY_SEARCH_START_DELAY 0x0a230
137 1.1 christos #define AR_PHY_MAX_RX_LEN 0x0a234
138 1.1 christos #define AR_PHY_FRAME_CTL 0x0a238
139 1.1 christos #define AR_PHY_RFBUS_REQ 0x0a23c
140 1.1 christos #define AR_PHY_RFBUS_GRANT 0x0a240
141 1.1 christos #define AR_PHY_RIFS 0x0a244
142 1.1 christos #define AR_PHY_RX_CLR_DELAY 0x0a250
143 1.1 christos #define AR_PHY_RX_DELAY 0x0a254
144 1.1 christos #define AR_PHY_XPA_TIMING_CTL 0x0a264
145 1.1 christos #define AR_PHY_MISC_PA_CTL 0x0a280
146 1.1 christos #define AR_PHY_SWITCH_CHAIN(i) (0x0a284 + (i) * 0x1000)
147 1.1 christos #define AR_PHY_SWITCH_COM 0x0a288
148 1.1 christos #define AR_PHY_SWITCH_COM_2 0x0a28c
149 1.1 christos #define AR_PHY_RX_CHAINMASK 0x0a2a0
150 1.1 christos #define AR_PHY_CAL_CHAINMASK 0x0a2c0
151 1.1 christos #define AR_PHY_AGC_CONTROL 0x0a2c4
152 1.1 christos #define AR_PHY_CALMODE 0x0a2c8
153 1.1 christos #define AR_PHY_FCAL_1 0x0a2cc
154 1.1 christos #define AR_PHY_FCAL_2_0 0x0a2d0
155 1.1 christos #define AR_PHY_DFT_TONE_CTL_0 0x0a2d4
156 1.1 christos #define AR_PHY_CL_CAL_CTL 0x0a2d8
157 1.1 christos #define AR_PHY_CL_TAB_0 0x0a300
158 1.1 christos #define AR_PHY_SYNTH_CONTROL 0x0a340
159 1.1 christos #define AR_PHY_ADDAC_CLK_SEL 0x0a344
160 1.1 christos #define AR_PHY_PLL_CTL 0x0a348
161 1.1 christos #define AR_PHY_ANALOG_SWAP 0x0a34c
162 1.1 christos #define AR_PHY_ADDAC_PARA_CTL 0x0a350
163 1.1 christos #define AR_PHY_XPA_CFG 0x0a358
164 1.1 christos #define AR_PHY_TEST 0x0a360
165 1.1 christos #define AR_PHY_TEST_CTL_STATUS 0x0a364
166 1.1 christos #define AR_PHY_TSTDAC 0x0a368
167 1.1 christos #define AR_PHY_CHAN_STATUS 0x0a36c
168 1.1 christos #define AR_PHY_CHAN_INFO_MEMORY 0x0a370
169 1.1 christos #define AR_PHY_CHNINFO_NOISEPWR 0x0a374
170 1.1 christos #define AR_PHY_CHNINFO_GAINDIFF 0x0a378
171 1.1 christos #define AR_PHY_CHNINFO_FINETIM 0x0a37c
172 1.1 christos #define AR_PHY_CHAN_INFO_GAIN_0 0x0a380
173 1.1 christos #define AR_PHY_SCRAMBLER_SEED 0x0a390
174 1.1 christos #define AR_PHY_CCK_TX_CTRL 0x0a394
175 1.1 christos #define AR_PHY_HEAVYCLIP_CTL 0x0a3a4
176 1.1 christos #define AR_PHY_HEAVYCLIP_20 0x0a3a8
177 1.1 christos #define AR_PHY_HEAVYCLIP_40 0x0a3ac
178 1.1 christos #define AR_PHY_ILLEGAL_TXRATE 0x0a3b0
179 1.1 christos #define AR_PHY_PWRTX_RATE1 0x0a3c0
180 1.1 christos #define AR_PHY_PWRTX_RATE2 0x0a3c4
181 1.1 christos #define AR_PHY_PWRTX_RATE3 0x0a3c8
182 1.1 christos #define AR_PHY_PWRTX_RATE4 0x0a3cc
183 1.1 christos #define AR_PHY_PWRTX_RATE5 0x0a3d0
184 1.1 christos #define AR_PHY_PWRTX_RATE6 0x0a3d4
185 1.1 christos #define AR_PHY_PWRTX_RATE7 0x0a3d8
186 1.1 christos #define AR_PHY_PWRTX_RATE8 0x0a3dc
187 1.1 christos #define AR_PHY_PWRTX_RATE10 0x0a3e4
188 1.1 christos #define AR_PHY_PWRTX_RATE11 0x0a3e8
189 1.1 christos #define AR_PHY_PWRTX_RATE12 0x0a3ec
190 1.1 christos #define AR_PHY_PWRTX_MAX 0x0a3f0
191 1.1 christos #define AR_PHY_POWER_TX_SUB 0x0a3f4
192 1.1 christos #define AR_PHY_TPC_1 0x0a3f8
193 1.1 christos #define AR_PHY_TPC_4_B(i) (0x0a404 + (i) * 0x1000)
194 1.1 christos #define AR_PHY_TPC_5_B(i) (0x0a408 + (i) * 0x1000)
195 1.1 christos #define AR_PHY_TPC_6_B(i) (0x0a40c + (i) * 0x1000)
196 1.1 christos #define AR_PHY_TPC_11_B(i) (0x0a420 + (i) * 0x1000)
197 1.1 christos #define AR_PHY_TPC_12 0x0a424
198 1.1 christos #define AR_PHY_TPC_18 0x0a43c
199 1.1 christos #define AR_PHY_TPC_19 0x0a440
200 1.1 christos #define AR_PHY_BB_THERM_ADC_1 0x0a448
201 1.1 christos #define AR_PHY_BB_THERM_ADC_4 0x0a454
202 1.1 christos #define AR_PHY_TX_FORCED_GAIN 0x0a458
203 1.1 christos #define AR_PHY_PDADC_TAB(i) (0x0a480 + (i) * 0x1000)
204 1.1 christos #define AR_PHY_TXGAIN_TABLE(i) (0x0a500 + (i) * 4)
205 1.1 christos #define AR_PHY_TX_IQCAL_CONTROL_1 0x0a648
206 1.1 christos #define AR_PHY_TX_IQCAL_START 0x0a640
207 1.1 christos #define AR_PHY_TX_IQCAL_CORR_COEFF_01_B(i) \
208 1.1 christos (0x0a650 + (i) * 0x1000)
209 1.1 christos #define AR_PHY_TX_IQCAL_STATUS_B(i) (0x0a68c + (i) * 0x1000)
210 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL1 0x0a690
211 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL2 0x0a694
212 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL3 0x0a698
213 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL4 0x0a69c
214 1.1 christos #define AR_PHY_PAPRD_TRAINER_STAT1 0x0a6a0
215 1.1 christos #define AR_PHY_PAPRD_TRAINER_STAT2 0x0a6a4
216 1.1 christos #define AR_PHY_PAPRD_TRAINER_STAT3 0x0a6a8
217 1.1 christos #define AR_PHY_PANIC_WD_STATUS 0x0a7c0
218 1.1 christos #define AR_PHY_PANIC_WD_CTL_1 0x0a7c4
219 1.1 christos #define AR_PHY_PANIC_WD_CTL_2 0x0a7c8
220 1.1 christos #define AR_PHY_BT_CTL 0x0a7cc
221 1.1 christos #define AR_PHY_ONLY_WARMRESET 0x0a7d0
222 1.1 christos #define AR_PHY_ONLY_CTL 0x0a7d4
223 1.1 christos #define AR_PHY_ECO_CTRL 0x0a7dc
224 1.1 christos
225 1.1 christos /*
226 1.1 christos * Analog registers.
227 1.1 christos */
228 1.1 christos #define AR_IS_ANALOG_REG(reg) ((reg) >= 0x16000 && (reg) <= 0x17000)
229 1.1 christos #define AR_PHY_65NM_CH0_SYNTH4 0x1608c
230 1.1 christos #define AR_PHY_65NM_CH0_SYNTH7 0x16098
231 1.1 christos #define AR_PHY_65NM_CH0_BIAS1 0x160c0
232 1.1 christos #define AR_PHY_65NM_CH0_BIAS2 0x160c4
233 1.1 christos #define AR_PHY_65NM_CH0_BIAS4 0x160cc
234 1.1 christos #define AR_PHY_65NM_CH0_RXTX1 0x16100
235 1.1 christos #define AR_PHY_65NM_CH0_RXTX2 0x16104
236 1.1 christos #define AR_PHY_65NM_CH0_RXTX4 0x1610c
237 1.1 christos #define AR9485_PHY_65NM_CH0_TOP2 0x16284
238 1.1 christos #define AR_PHY_65NM_CH0_TOP 0x16288
239 1.1 christos #define AR_PHY_65NM_CH0_THERM 0x16290
240 1.1 christos #define AR9485_PHY_CH0_XTAL 0x16290
241 1.1 christos #define AR_PHY_65NM_CH1_RXTX1 0x16500
242 1.1 christos #define AR_PHY_65NM_CH1_RXTX2 0x16504
243 1.1 christos #define AR_PHY_65NM_CH2_RXTX1 0x16900
244 1.1 christos #define AR_PHY_65NM_CH2_RXTX2 0x16904
245 1.1 christos #define AR_PHY_PMU1 0x16c40
246 1.1 christos #define AR_PHY_PMU2 0x16c44
247 1.1 christos
248 1.1 christos
249 1.1 christos /* Bits for AR_PHY_TIMING2. */
250 1.1 christos #define AR_PHY_TIMING2_FORCE_PPM_VAL_M 0x00000fff
251 1.1 christos #define AR_PHY_TIMING2_FORCE_PPM_VAL_S 0
252 1.1 christos #define AR_PHY_TIMING2_USE_FORCE_PPM 0x00001000
253 1.1 christos
254 1.1 christos /* Bits for AR_PHY_TIMING3. */
255 1.1 christos #define AR_PHY_TIMING3_DSC_EXP_M 0x0001e000
256 1.1 christos #define AR_PHY_TIMING3_DSC_EXP_S 13
257 1.1 christos #define AR_PHY_TIMING3_DSC_MAN_M 0xfffe0000
258 1.1 christos #define AR_PHY_TIMING3_DSC_MAN_S 17
259 1.1 christos
260 1.1 christos /* Bits for AR_PHY_TIMING4. */
261 1.1 christos #define AR_PHY_TIMING4_IQCAL_LOG_COUNT_MAX_M 0x0000f000
262 1.1 christos #define AR_PHY_TIMING4_IQCAL_LOG_COUNT_MAX_S 12
263 1.1 christos #define AR_PHY_TIMING4_DO_CAL 0x00010000
264 1.1 christos #define AR_PHY_TIMING4_ENABLE_PILOT_MASK 0x10000000
265 1.1 christos #define AR_PHY_TIMING4_ENABLE_CHAN_MASK 0x20000000
266 1.1 christos #define AR_PHY_TIMING4_ENABLE_SPUR_FILTER 0x40000000
267 1.1 christos #define AR_PHY_TIMING4_ENABLE_SPUR_RSSI 0x80000000
268 1.1 christos
269 1.1 christos /* Bits for AR_PHY_TIMING5. */
270 1.1 christos #define AR_PHY_TIMING5_CYCPWR_THR1_ENABLE 0x00000001
271 1.1 christos #define AR_PHY_TIMING5_CYCPWR_THR1_M 0x000000fe
272 1.1 christos #define AR_PHY_TIMING5_CYCPWR_THR1_S 1
273 1.1 christos #define AR_PHY_TIMING5_RSSI_THR1A_ENA 0x00008000
274 1.1 christos #define AR_PHY_TIMING5_CYCPWR_THR1A_M 0x007f0000
275 1.1 christos #define AR_PHY_TIMING5_CYCPWR_THR1A_S 16
276 1.1 christos #define AR_PHY_TIMING5_RSSI_THR1A_M 0x007f0000
277 1.1 christos #define AR_PHY_TIMING5_RSSI_THR1A_S 16
278 1.1 christos
279 1.1 christos /* Bits for AR_PHY_TIMING11. */
280 1.1 christos #define AR_PHY_TIMING11_SPUR_DELTA_PHASE_M 0x000fffff
281 1.1 christos #define AR_PHY_TIMING11_SPUR_DELTA_PHASE_S 0
282 1.1 christos #define AR_PHY_TIMING11_SPUR_FREQ_SD_M 0x3ff00000
283 1.1 christos #define AR_PHY_TIMING11_SPUR_FREQ_SD_S 20
284 1.1 christos #define AR_PHY_TIMING11_USE_SPUR_FILTER_IN_AGC 0x40000000
285 1.1 christos #define AR_PHY_TIMING11_USE_SPUR_FILTER_IN_SELFCOR 0x80000000
286 1.1 christos
287 1.1 christos /* Bits for AR_PHY_SPUR_REG. */
288 1.1 christos #define AR_PHY_SPUR_REG_SPUR_RSSI_THRESH_M 0x000000ff
289 1.1 christos #define AR_PHY_SPUR_REG_SPUR_RSSI_THRESH_S 0
290 1.1 christos #define AR_PHY_SPUR_REG_EN_VIT_SPUR_RSSI 0x00000100
291 1.1 christos #define AR_PHY_SPUR_REG_ENABLE_MASK_PPM 0x00020000
292 1.1 christos #define AR_PHY_SPUR_REG_MASK_RATE_CNTL_M 0x03fc0000
293 1.1 christos #define AR_PHY_SPUR_REG_MASK_RATE_CNTL_S 18
294 1.1 christos #define AR_PHY_SPUR_REG_ENABLE_NF_RSSI_SPUR_MIT 0x04000000
295 1.1 christos
296 1.1 christos /* Bits for AR_PHY_FIND_SIG_LOW. */
297 1.1 christos #define AR_PHY_FIND_SIG_LOW_RELSTEP_M 0x0000001f
298 1.1 christos #define AR_PHY_FIND_SIG_LOW_RELSTEP_S 0
299 1.1 christos #define AR_PHY_FIND_SIG_LOW_FIRSTEP_LOW_M 0x00000fc0
300 1.1 christos #define AR_PHY_FIND_SIG_LOW_FIRSTEP_LOW_S 6
301 1.1 christos #define AR_PHY_FIND_SIG_LOW_FIRPWR_M 0x0007f000
302 1.1 christos #define AR_PHY_FIND_SIG_LOW_FIRPWR_S 12
303 1.1 christos
304 1.1 christos /* Bits for AR_PHY_SFCORR. */
305 1.1 christos #define AR_PHY_SFCORR_M2COUNT_THR_M 0x0000001f
306 1.1 christos #define AR_PHY_SFCORR_M2COUNT_THR_S 0
307 1.1 christos #define AR_PHY_SFCORR_M1_THRESH_M 0x00fe0000
308 1.1 christos #define AR_PHY_SFCORR_M1_THRESH_S 17
309 1.1 christos #define AR_PHY_SFCORR_M2_THRESH_M 0x7f000000
310 1.1 christos #define AR_PHY_SFCORR_M2_THRESH_S 24
311 1.1 christos
312 1.1 christos /* Bits for AR_PHY_SFCORR_LOW. */
313 1.1 christos #define AR_PHY_SFCORR_LOW_USE_SELF_CORR_LOW 0x00000001
314 1.1 christos #define AR_PHY_SFCORR_LOW_M2COUNT_THR_LOW_M 0x00003f00
315 1.1 christos #define AR_PHY_SFCORR_LOW_M2COUNT_THR_LOW_S 8
316 1.1 christos #define AR_PHY_SFCORR_LOW_M1_THRESH_LOW_M 0x001fc000
317 1.1 christos #define AR_PHY_SFCORR_LOW_M1_THRESH_LOW_S 14
318 1.1 christos #define AR_PHY_SFCORR_LOW_M2_THRESH_LOW_M 0x0fe00000
319 1.1 christos #define AR_PHY_SFCORR_LOW_M2_THRESH_LOW_S 21
320 1.1 christos
321 1.1 christos /* Bits for AR_PHY_SFCORR_EXT. */
322 1.1 christos #define AR_PHY_SFCORR_EXT_M1_THRESH_M 0x0000007f
323 1.1 christos #define AR_PHY_SFCORR_EXT_M1_THRESH_S 0
324 1.1 christos #define AR_PHY_SFCORR_EXT_M2_THRESH_M 0x00003f80
325 1.1 christos #define AR_PHY_SFCORR_EXT_M2_THRESH_S 7
326 1.1 christos #define AR_PHY_SFCORR_EXT_M1_THRESH_LOW_M 0x001fc000
327 1.1 christos #define AR_PHY_SFCORR_EXT_M1_THRESH_LOW_S 14
328 1.1 christos #define AR_PHY_SFCORR_EXT_M2_THRESH_LOW_M 0x0fe00000
329 1.1 christos #define AR_PHY_SFCORR_EXT_M2_THRESH_LOW_S 21
330 1.1 christos #define AR_PHY_SFCORR_EXT_SPUR_SUBCHANNEL_SD 0x10000000
331 1.1 christos
332 1.1 christos /* Bits for AR_PHY_RADAR_0. */
333 1.1 christos #define AR_PHY_RADAR_0_ENA 0x00000001
334 1.1 christos #define AR_PHY_RADAR_0_INBAND_M 0x0000003e
335 1.1 christos #define AR_PHY_RADAR_0_INBAND_S 1
336 1.1 christos #define AR_PHY_RADAR_0_PRSSI_M 0x00000fc0
337 1.1 christos #define AR_PHY_RADAR_0_PRSSI_S 6
338 1.1 christos #define AR_PHY_RADAR_0_HEIGHT_M 0x0003f000
339 1.1 christos #define AR_PHY_RADAR_0_HEIGHT_S 12
340 1.1 christos #define AR_PHY_RADAR_0_RRSSI_M 0x00fc0000
341 1.1 christos #define AR_PHY_RADAR_0_RRSSI_S 18
342 1.1 christos #define AR_PHY_RADAR_0_FIRPWR_M 0x7f000000
343 1.1 christos #define AR_PHY_RADAR_0_FIRPWR_S 24
344 1.1 christos #define AR_PHY_RADAR_0_FFT_ENA 0x80000000
345 1.1 christos
346 1.1 christos /* Bits for AR_PHY_RADAR_1. */
347 1.1 christos #define AR_PHY_RADAR_1_MAXLEN_M 0x000000ff
348 1.1 christos #define AR_PHY_RADAR_1_MAXLEN_S 0
349 1.1 christos #define AR_PHY_RADAR_1_RELSTEP_THRESH_M 0x00001f00
350 1.1 christos #define AR_PHY_RADAR_1_RELSTEP_THRESH_S 8
351 1.1 christos #define AR_PHY_RADAR_1_RELSTEP_CHECK 0x00002000
352 1.1 christos #define AR_PHY_RADAR_1_MAX_RRSSI 0x00004000
353 1.1 christos #define AR_PHY_RADAR_1_BLOCK_CHECK 0x00008000
354 1.1 christos #define AR_PHY_RADAR_1_RELPWR_THRESH_M 0x003f0000
355 1.1 christos #define AR_PHY_RADAR_1_RELPWR_THRESH_S 16
356 1.1 christos #define AR_PHY_RADAR_1_USE_FIR128 0x00400000
357 1.1 christos #define AR_PHY_RADAR_1_RELPWR_ENA 0x00800000
358 1.1 christos
359 1.1 christos /* Bits for AR_PHY_RADAR_EXT. */
360 1.1 christos #define AR_PHY_RADAR_EXT_ENA 0x00004000
361 1.1 christos #define AR_PHY_RADAR_DC_PWR_THRESH_M 0x007f8000
362 1.1 christos #define AR_PHY_RADAR_DC_PWR_THRESH_S 15
363 1.1 christos #define AR_PHY_RADAR_LB_DC_CAP_M 0x7f800000
364 1.1 christos #define AR_PHY_RADAR_LB_DC_CAP_S 23
365 1.1 christos
366 1.1 christos /* Bits for AR_PHY_TX_IQCAL_CONTROL_3. */
367 1.1 christos #define AR_PHY_TX_IQCAL_CONTROL_3_IQCORR_EN 0x80000000
368 1.1 christos
369 1.1 christos /* Bits for AR_PHY_RX_IQCAL_CORR_B(0). */
370 1.1 christos #define AR_PHY_RX_IQCAL_CORR_IQCORR_Q_Q_COFF_M 0x0000007f
371 1.1 christos #define AR_PHY_RX_IQCAL_CORR_IQCORR_Q_Q_COFF_S 0
372 1.1 christos #define AR_PHY_RX_IQCAL_CORR_IQCORR_Q_I_COFF_M 0x00003f80
373 1.1 christos #define AR_PHY_RX_IQCAL_CORR_IQCORR_Q_I_COFF_S 7
374 1.1 christos #define AR_PHY_RX_IQCAL_CORR_IQCORR_ENABLE 0x00004000
375 1.1 christos #define AR_PHY_RX_IQCAL_CORR_LOOPBACK_IQCORR_Q_Q_COFF_M 0x003f8000
376 1.1 christos #define AR_PHY_RX_IQCAL_CORR_LOOPBACK_IQCORR_Q_Q_COFF_S 15
377 1.1 christos #define AR_PHY_RX_IQCAL_CORR_LOOPBACK_IQCORR_Q_I_COFF_M 0x1fc00000
378 1.1 christos #define AR_PHY_RX_IQCAL_CORR_LOOPBACK_IQCORR_Q_I_COFF_S 22
379 1.1 christos #define AR_PHY_RX_IQCAL_CORR_B0_LOOPBACK_IQCORR_EN 0x20000000
380 1.1 christos
381 1.1 christos /* Bits for AR_PHY_PAPRD_AM2AM. */
382 1.1 christos #define AR_PHY_PAPRD_AM2AM_MASK_M 0x01ffffff
383 1.1 christos #define AR_PHY_PAPRD_AM2AM_MASK_S 0
384 1.1 christos
385 1.1 christos /* Bits for AR_PHY_PAPRD_AM2PM. */
386 1.1 christos #define AR_PHY_PAPRD_AM2PM_MASK_M 0x01ffffff
387 1.1 christos #define AR_PHY_PAPRD_AM2PM_MASK_S 0
388 1.1 christos
389 1.1 christos /* Bits for AR_PHY_PAPRD_HT40. */
390 1.1 christos #define AR_PHY_PAPRD_HT40_MASK_M 0x01ffffff
391 1.1 christos #define AR_PHY_PAPRD_HT40_MASK_S 0
392 1.1 christos
393 1.1 christos /* Bits for AR_PHY_PAPRD_CTRL0_B(i). */
394 1.1 christos #define AR_PHY_PAPRD_CTRL0_PAPRD_ENABLE 0x00000001
395 1.1 christos #define AR_PHY_PAPRD_CTRL0_USE_SINGLE_TABLE 0x00000002
396 1.1 christos #define AR_PHY_PAPRD_CTRL0_PAPRD_MAG_THRSH_M 0xf8000000
397 1.1 christos #define AR_PHY_PAPRD_CTRL0_PAPRD_MAG_THRSH_S 27
398 1.1 christos
399 1.1 christos /* Bits for AR_PHY_PAPRD_CTRL1_B(i). */
400 1.1 christos #define AR_PHY_PAPRD_CTRL1_ADAPTIVE_SCALING_ENA 0x00000001
401 1.1 christos #define AR_PHY_PAPRD_CTRL1_ADAPTIVE_AM2AM_ENA 0x00000002
402 1.1 christos #define AR_PHY_PAPRD_CTRL1_ADAPTIVE_AM2PM_ENA 0x00000004
403 1.1 christos #define AR_PHY_PAPRD_CTRL1_POWER_AT_AM2AM_CAL_M 0x000001f8
404 1.1 christos #define AR_PHY_PAPRD_CTRL1_POWER_AT_AM2AM_CAL_S 3
405 1.1 christos #define AR_PHY_PAPRD_CTRL1_PA_GAIN_SCALE_FACT_M 0x0001fe00
406 1.1 christos #define AR_PHY_PAPRD_CTRL1_PA_GAIN_SCALE_FACT_S 9
407 1.1 christos #define AR_PHY_PAPRD_CTRL1_MAG_SCALE_FACT_M 0x0ffe0000
408 1.1 christos #define AR_PHY_PAPRD_CTRL1_MAG_SCALE_FACT_S 17
409 1.1 christos
410 1.1 christos /* Bits for AR_PHY_PA_GAIN123_B(i). */
411 1.1 christos #define AR_PHY_PA_GAIN123_PA_GAIN1_M 0x000003ff
412 1.1 christos #define AR_PHY_PA_GAIN123_PA_GAIN1_S 0
413 1.1 christos
414 1.1 christos /* Bits for AR_PHY_PAPRD_PRE_POST_SCALE_B0(i). */
415 1.1 christos #define AR_PHY_PAPRD_PRE_POST_SCALING_M 0x0003ffff
416 1.1 christos #define AR_PHY_PAPRD_PRE_POST_SCALING_S 0
417 1.1 christos
418 1.1 christos /* Bits for AR_PHY_PAPRD_MEM_TAB_B(i). */
419 1.1 christos #define AR_PHY_PAPRD_ANGLE_M 0x000007ff
420 1.1 christos #define AR_PHY_PAPRD_ANGLE_S 0
421 1.1 christos #define AR_PHY_PAPRD_PA_IN_M 0x003ff800
422 1.1 christos #define AR_PHY_PAPRD_PA_IN_S 11
423 1.1 christos
424 1.1 christos /* Bits for AR_PHY_PILOT_SPUR_MASK. */
425 1.1 christos #define AR_PHY_PILOT_SPUR_MASK_CF_PILOT_MASK_A_M 0x0000001f
426 1.1 christos #define AR_PHY_PILOT_SPUR_MASK_CF_PILOT_MASK_A_S 0
427 1.1 christos #define AR_PHY_PILOT_SPUR_MASK_CF_PILOT_MASK_IDX_A_M 0x00000fe0
428 1.1 christos #define AR_PHY_PILOT_SPUR_MASK_CF_PILOT_MASK_IDX_A_S 5
429 1.1 christos
430 1.1 christos /* Bits for AR_PHY_CHAN_SPUR_MASK. */
431 1.1 christos #define AR_PHY_CHAN_SPUR_MASK_CF_CHAN_MASK_A_M 0x0000001f
432 1.1 christos #define AR_PHY_CHAN_SPUR_MASK_CF_CHAN_MASK_A_S 0
433 1.1 christos #define AR_PHY_CHAN_SPUR_MASK_CF_CHAN_MASK_IDX_A_M 0x00000fe0
434 1.1 christos #define AR_PHY_CHAN_SPUR_MASK_CF_CHAN_MASK_IDX_A_S 5
435 1.1 christos
436 1.1 christos /* Bits for AR_PHY_SGI_DELTA. */
437 1.1 christos #define AR_PHY_SGI_DSC_EXP_M 0x0000000f
438 1.1 christos #define AR_PHY_SGI_DSC_EXP_S 0
439 1.1 christos #define AR_PHY_SGI_DSC_MAN_M 0x0007fff0
440 1.1 christos #define AR_PHY_SGI_DSC_MAN_S 4
441 1.1 christos
442 1.1 christos /* Bits for AR_PHY_SETTLING. */
443 1.1 christos #define AR_PHY_SETTLING_SWITCH_M 0x00003f80
444 1.1 christos #define AR_PHY_SETTLING_SWITCH_S 7
445 1.1 christos
446 1.1 christos /* Bits for AR_PHY_RXGAIN(i). */
447 1.1 christos #define AR_PHY_RXGAIN_TXRX_ATTEN_M 0x0003f000
448 1.1 christos #define AR_PHY_RXGAIN_TXRX_ATTEN_S 12
449 1.1 christos #define AR_PHY_RXGAIN_TXRX_RF_MAX_M 0x007c0000
450 1.1 christos #define AR_PHY_RXGAIN_TXRX_RF_MAX_S 18
451 1.1 christos
452 1.1 christos /* Bits for AR_PHY_DESIRED_SZ. */
453 1.1 christos #define AR_PHY_DESIRED_SZ_ADC_M 0x000000ff
454 1.1 christos #define AR_PHY_DESIRED_SZ_ADC_S 0
455 1.1 christos #define AR_PHY_DESIRED_SZ_PGA_M 0x0000ff00
456 1.1 christos #define AR_PHY_DESIRED_SZ_PGA_S 8
457 1.1 christos #define AR_PHY_DESIRED_SZ_TOT_DES_M 0x0ff00000
458 1.1 christos #define AR_PHY_DESIRED_SZ_TOT_DES_S 20
459 1.1 christos
460 1.1 christos /* Bits for AR_PHY_FIND_SIG. */
461 1.1 christos #define AR_PHY_FIND_SIG_RELSTEP_M 0x0000001f
462 1.1 christos #define AR_PHY_FIND_SIG_RELSTEP_S 0
463 1.1 christos #define AR_PHY_FIND_SIG_RELPWR_M 0x000007c0
464 1.1 christos #define AR_PHY_FIND_SIG_RELPWR_S 6
465 1.1 christos #define AR_PHY_FIND_SIG_FIRSTEP_M 0x0003f000
466 1.1 christos #define AR_PHY_FIND_SIG_FIRSTEP_S 12
467 1.1 christos #define AR_PHY_FIND_SIG_FIRPWR_M 0x03fc0000
468 1.1 christos #define AR_PHY_FIND_SIG_FIRPWR_S 18
469 1.1 christos
470 1.1 christos /* Bits for AR_PHY_AGC. */
471 1.1 christos #define AR_PHY_AGC_COARSE_PWR_CONST_M 0x0000007f
472 1.1 christos #define AR_PHY_AGC_COARSE_PWR_CONST_S 0
473 1.1 christos #define AR_PHY_AGC_COARSE_LOW_M 0x00007f80
474 1.1 christos #define AR_PHY_AGC_COARSE_LOW_S 7
475 1.1 christos #define AR_PHY_AGC_COARSE_HIGH_M 0x003f8000
476 1.1 christos #define AR_PHY_AGC_COARSE_HIGH_S 15
477 1.1 christos
478 1.1 christos /* Bits for AR_PHY_EXT_ATTEN_CTL(i). */
479 1.1 christos #define AR_PHY_EXT_ATTEN_CTL_BSW_ATTEN_M 0x0000001f
480 1.1 christos #define AR_PHY_EXT_ATTEN_CTL_BSW_ATTEN_S 0
481 1.1 christos #define AR_PHY_EXT_ATTEN_CTL_XATTEN1_DB_M 0x0000003f
482 1.1 christos #define AR_PHY_EXT_ATTEN_CTL_XATTEN1_DB_S 0
483 1.1 christos #define AR_PHY_EXT_ATTEN_CTL_XATTEN2_DB_M 0x00000fc0
484 1.1 christos #define AR_PHY_EXT_ATTEN_CTL_XATTEN2_DB_S 6
485 1.1 christos #define AR_PHY_EXT_ATTEN_CTL_BSW_MARGIN_M 0x00003c00
486 1.1 christos #define AR_PHY_EXT_ATTEN_CTL_BSW_MARGIN_S 10
487 1.1 christos #define AR_PHY_EXT_ATTEN_CTL_XATTEN1_MARGIN_M 0x0001f000
488 1.1 christos #define AR_PHY_EXT_ATTEN_CTL_XATTEN1_MARGIN_S 12
489 1.1 christos #define AR_PHY_EXT_ATTEN_CTL_XATTEN2_MARGIN_M 0x003e0000
490 1.1 christos #define AR_PHY_EXT_ATTEN_CTL_XATTEN2_MARGIN_S 17
491 1.1 christos #define AR_PHY_EXT_ATTEN_CTL_RXTX_MARGIN_M 0x00fc0000
492 1.1 christos #define AR_PHY_EXT_ATTEN_CTL_RXTX_MARGIN_S 18
493 1.1 christos
494 1.1 christos /* Bits for AR_PHY_CCA(i). */
495 1.1 christos #define AR_PHY_MAXCCA_PWR_M 0x000001ff
496 1.1 christos #define AR_PHY_MAXCCA_PWR_S 0
497 1.1 christos #define AR_PHY_MINCCA_PWR_M 0x1ff00000
498 1.1 christos #define AR_PHY_MINCCA_PWR_S 20
499 1.1 christos
500 1.1 christos /* Bits for AR_PHY_EXT_CCA(i). */
501 1.1 christos #define AR_PHY_EXT_MAXCCA_PWR_M 0x000001ff
502 1.1 christos #define AR_PHY_EXT_MAXCCA_PWR_S 0
503 1.1 christos #define AR_PHY_EXT_MINCCA_PWR_M 0x01ff0000
504 1.1 christos #define AR_PHY_EXT_MINCCA_PWR_S 16
505 1.1 christos
506 1.1 christos /* Bits for AR_PHY_RESTART. */
507 1.1 christos #define AR_PHY_RESTART_ENA 0x00000001
508 1.1 christos #define AR_PHY_RESTART_DIV_GC_M 0x001c0000
509 1.1 christos #define AR_PHY_RESTART_DIV_GC_S 18
510 1.1 christos
511 1.1 christos /* Bits for AR_PHY_MC_GAIN_CTRL. */
512 1.1 christos #define AR_PHY_MC_GAIN_CTRL_ENABLE_ANT_DIV 0x01000000
513 1.1 christos #define AR_PHY_MC_GAIN_CTRL_ANT_DIV_CTRL_ALL_M 0x7e000000
514 1.1 christos #define AR_PHY_MC_GAIN_CTRL_ANT_DIV_CTRL_ALL_S 25
515 1.1 christos
516 1.1 christos /* Bits for AR_PHY_CCK_DETECT. */
517 1.1 christos #define AR_PHY_CCK_DETECT_WEAK_SIG_THR_CCK_M 0x0000003f
518 1.1 christos #define AR_PHY_CCK_DETECT_WEAK_SIG_THR_CCK_S 0
519 1.1 christos #define AR_PHY_CCK_DETECT_ANT_SWITCH_TIME_M 0x00001fc0
520 1.1 christos #define AR_PHY_CCK_DETECT_ANT_SWITCH_TIME_S 6
521 1.1 christos #define AR_PHY_CCK_DETECT_BB_ENABLE_ANT_FAST_DIV 0x00002000
522 1.1 christos
523 1.1 christos /* Bits for AR_PHY_DAG_CTRLCCK. */
524 1.1 christos #define AR_PHY_DAG_CTRLCCK_EN_RSSI_THR 0x00000200
525 1.1 christos #define AR_PHY_DAG_CTRLCCK_RSSI_THR_M 0x0001fc00
526 1.1 christos #define AR_PHY_DAG_CTRLCCK_RSSI_THR_S 10
527 1.1 christos
528 1.1 christos /* Bits for AR_PHY_CCK_SPUR_MIT. */
529 1.1 christos #define AR_PHY_CCK_SPUR_MIT_USE_CCK_SPUR_MIT 0x00000001
530 1.1 christos #define AR_PHY_CCK_SPUR_MIT_SPUR_RSSI_THR_M 0x000001fe
531 1.1 christos #define AR_PHY_CCK_SPUR_MIT_SPUR_RSSI_THR_S 1
532 1.1 christos #define AR_PHY_CCK_SPUR_MIT_CCK_SPUR_FREQ_M 0x1ffffe00
533 1.1 christos #define AR_PHY_CCK_SPUR_MIT_CCK_SPUR_FREQ_S 9
534 1.1 christos #define AR_PHY_CCK_SPUR_MIT_SPUR_FILTER_TYPE_M 0x60000000
535 1.1 christos #define AR_PHY_CCK_SPUR_MIT_SPUR_FILTER_TYPE_S 29
536 1.1 christos
537 1.1 christos /* Bits for AR_PHY_GEN_CTRL. */
538 1.1 christos #define AR_PHY_GC_TURBO_MODE 0x00000001
539 1.1 christos #define AR_PHY_GC_TURBO_SHORT 0x00000002
540 1.1 christos #define AR_PHY_GC_DYN2040_EN 0x00000004
541 1.1 christos #define AR_PHY_GC_DYN2040_PRI_ONLY 0x00000008
542 1.1 christos #define AR_PHY_GC_DYN2040_PRI_CH 0x00000010
543 1.1 christos #define AR_PHY_GC_DYN2040_EXT_CH 0x00000020
544 1.1 christos #define AR_PHY_GC_HT_EN 0x00000040
545 1.1 christos #define AR_PHY_GC_SHORT_GI_40 0x00000080
546 1.1 christos #define AR_PHY_GC_WALSH 0x00000100
547 1.1 christos #define AR_PHY_GC_SINGLE_HT_LTF1 0x00000200
548 1.1 christos #define AR_PHY_GC_GF_DETECT_EN 0x00000400
549 1.1 christos #define AR_PHY_GC_ENABLE_DAC_FIFO 0x00000800
550 1.1 christos
551 1.1 christos /* Bits for AR_PHY_MODE. */
552 1.1 christos #define AR_PHY_MODE_OFDM 0x00000000
553 1.1 christos #define AR_PHY_MODE_CCK 0x00000001
554 1.1 christos #define AR_PHY_MODE_DYNAMIC 0x00000004
555 1.1 christos #define AR_PHY_MODE_HALF 0x00000020
556 1.1 christos #define AR_PHY_MODE_QUARTER 0x00000040
557 1.1 christos #define AR_PHY_MODE_DYN_CCK_DISABLE 0x00000100
558 1.1 christos #define AR_PHY_MODE_SVD_HALF 0x00000200
559 1.1 christos
560 1.1 christos /* Bits for AR_PHY_ACTIVE. */
561 1.1 christos #define AR_PHY_ACTIVE_DIS 0x00000000
562 1.1 christos #define AR_PHY_ACTIVE_EN 0x00000001
563 1.1 christos
564 1.1 christos /* Bits for AR_PHY_SPUR_MASK_A. */
565 1.1 christos #define AR_PHY_SPUR_MASK_A_CF_PUNC_MASK_A_M 0x000003ff
566 1.1 christos #define AR_PHY_SPUR_MASK_A_CF_PUNC_MASK_A_S 0
567 1.1 christos #define AR_PHY_SPUR_MASK_A_CF_PUNC_MASK_IDX_A_M 0x0001fc00
568 1.1 christos #define AR_PHY_SPUR_MASK_A_CF_PUNC_MASK_IDX_A_S 10
569 1.1 christos
570 1.1 christos /* Bits for AR_PHY_SPECTRAL_SCAN. */
571 1.1 christos #define AR_PHY_SPECTRAL_SCAN_ENABLE 0x00000001
572 1.1 christos #define AR_PHY_SPECTRAL_SCAN_ACTIVE 0x00000002
573 1.1 christos #define AR_PHY_SPECTRAL_SCAN_FFT_PERIOD_M 0x000000f0
574 1.1 christos #define AR_PHY_SPECTRAL_SCAN_FFT_PERIOD_S 4
575 1.1 christos #define AR_PHY_SPECTRAL_SCAN_PERIOD_M 0x0000ff00
576 1.1 christos #define AR_PHY_SPECTRAL_SCAN_PERIOD_S 8
577 1.1 christos #define AR_PHY_SPECTRAL_SCAN_COUNT_M 0x00ff0000
578 1.1 christos #define AR_PHY_SPECTRAL_SCAN_COUNT_S 16
579 1.1 christos #define AR_PHY_SPECTRAL_SCAN_SHORT_REPEAT 0x01000000
580 1.1 christos
581 1.1 christos /* Bits for AR_PHY_RFBUS_REQ. */
582 1.1 christos #define AR_PHY_RFBUS_REQ_EN 0x00000001
583 1.1 christos
584 1.1 christos /* Bits for AR_PHY_RFBUS_GRANT. */
585 1.1 christos #define AR_PHY_RFBUS_GRANT_EN 0x00000001
586 1.1 christos
587 1.1 christos /* Bits for AR_PHY_RIFS. */
588 1.1 christos #define AR_PHY_RIFS_INIT_DELAY 0x3ff0000
589 1.1 christos
590 1.1 christos /* Bits for AR_PHY_RX_DELAY. */
591 1.1 christos #define AR_PHY_RX_DELAY_DELAY_M 0x00003fff
592 1.1 christos #define AR_PHY_RX_DELAY_DELAY_S 0
593 1.1 christos
594 1.1 christos /* Bits for AR_PHY_XPA_TIMING_CTL. */
595 1.1 christos #define AR_PHY_XPA_TIMING_CTL_FRAME_XPAA_ON_M 0x000000ff
596 1.1 christos #define AR_PHY_XPA_TIMING_CTL_FRAME_XPAA_ON_S 0
597 1.1 christos #define AR_PHY_XPA_TIMING_CTL_FRAME_XPAB_ON_M 0x0000ff00
598 1.1 christos #define AR_PHY_XPA_TIMING_CTL_FRAME_XPAB_ON_S 8
599 1.1 christos #define AR_PHY_XPA_TIMING_CTL_TX_END_XPAA_OFF_M 0x00ff0000
600 1.1 christos #define AR_PHY_XPA_TIMING_CTL_TX_END_XPAA_OFF_S 16
601 1.1 christos #define AR_PHY_XPA_TIMING_CTL_TX_END_XPAB_OFF_M 0xff000000
602 1.1 christos #define AR_PHY_XPA_TIMING_CTL_TX_END_XPAB_OFF_S 24
603 1.1 christos
604 1.1 christos /* Bits for AR_PHY_SWITCH_CHAIN. */
605 1.1 christos #define AR_SWITCH_TABLE_ALL_M 0x00000fff
606 1.1 christos #define AR_SWITCH_TABLE_ALL_S 0
607 1.1 christos
608 1.1 christos /* Bits for AR_PHY_SWITCH_COM. */
609 1.1 christos #define AR_SWITCH_TABLE_COM_ALL_M 0x0000ffff
610 1.1 christos #define AR_SWITCH_TABLE_COM_ALL_S 0
611 1.1 christos
612 1.1 christos /* Bits for AR_SWITCH_TABLE_COM_2. */
613 1.1 christos #define AR_SWITCH_TABLE_COM_2_ALL_M 0x00ffffff
614 1.1 christos #define AR_SWITCH_TABLE_COM_2_ALL_S 0
615 1.1 christos
616 1.1 christos /* Bits for AR_PHY_AGC_CONTROL. */
617 1.1 christos #define AR_PHY_AGC_CONTROL_CAL 0x00000001
618 1.1 christos #define AR_PHY_AGC_CONTROL_NF 0x00000002
619 1.1 christos #define AR_PHY_AGC_CONTROL_YCOK_MAX_M 0x000003c0
620 1.1 christos #define AR_PHY_AGC_CONTROL_YCOK_MAX_S 6
621 1.1 christos #define AR_PHY_AGC_CONTROL_OFFSET_CAL 0x00000800
622 1.1 christos #define AR_PHY_AGC_CONTROL_ENABLE_NF 0x00008000
623 1.1 christos #define AR_PHY_AGC_CONTROL_FLTR_CAL 0x00010000
624 1.1 christos #define AR_PHY_AGC_CONTROL_NO_UPDATE_NF 0x00020000
625 1.1 christos #define AR_PHY_AGC_CONTROL_EXT_NF_PWR_MEAS 0x00040000
626 1.1 christos #define AR_PHY_AGC_CONTROL_CLC_SUCCESS 0x00080000
627 1.1 christos
628 1.1 christos /* Bits for AR_PHY_CALMODE. */
629 1.1 christos #define AR_PHY_CALMODE_IQ 0x00000000
630 1.1 christos #define AR_PHY_CALMODE_ADC_GAIN 0x00000001
631 1.1 christos #define AR_PHY_CALMODE_ADC_DC_PER 0x00000002
632 1.1 christos #define AR_PHY_CALMODE_ADC_DC_INIT 0x00000003
633 1.1 christos
634 1.1 christos /* Bits for AR_PHY_FCAL_2_0. */
635 1.1 christos #define AR_PHY_FCAL20_CAP_STATUS_0_M 0x01f00000
636 1.1 christos #define AR_PHY_FCAL20_CAP_STATUS_0_S 20
637 1.1 christos
638 1.1 christos /* Bits for AR_PHY_SYNTH_CONTROL. */
639 1.1 christos #define AR9380_BMODE 0x20000000
640 1.1 christos
641 1.1 christos /* Bits for AR_PHY_ANALOG_SWAP. */
642 1.1 christos #define AR_PHY_SWAP_ALT_CHAIN 0x00000040
643 1.1 christos
644 1.1 christos /* Bits for AR_PHY_ADDAC_PARA_CTL. */
645 1.1 christos #define AR_PHY_ADDAC_PARACTL_OFF_PWDADC 0x00008000
646 1.1 christos
647 1.1 christos /* Bits for AR_PHY_TEST. */
648 1.1 christos #define AR_PHY_TEST_RFSILENT_BB 0x00002000
649 1.1 christos #define AR_PHY_TEST_BBB_OBS_SEL_M 0x00780000
650 1.1 christos #define AR_PHY_TEST_BBB_OBS_SEL_S 19
651 1.1 christos #define AR_PHY_TEST_RX_OBS_SEL_BIT5 0x00800000
652 1.1 christos #define AR_PHY_TEST_CHAIN_SEL_M 0xc0000000
653 1.1 christos #define AR_PHY_TEST_CHAIN_SEL_S 30
654 1.1 christos
655 1.1 christos /* Bits for AR_PHY_TEST_CTL_STATUS. */
656 1.1 christos #define AR_PHY_TEST_CTL_TSTDAC_EN 0x00000001
657 1.1 christos #define AR_PHY_TEST_CTL_TX_OBS_SEL_M 0x0000001c
658 1.1 christos #define AR_PHY_TEST_CTL_TX_OBS_SEL_S 2
659 1.1 christos #define AR_PHY_TEST_CTL_TX_OBS_MUX_SEL_M 0x00000060
660 1.1 christos #define AR_PHY_TEST_CTL_TX_OBS_MUX_SEL_S 5
661 1.1 christos #define AR_PHY_TEST_CTL_TSTADC_EN 0x00000100
662 1.1 christos #define AR_PHY_TEST_CTL_RX_OBS_SEL_M 0x00003c00
663 1.1 christos #define AR_PHY_TEST_CTL_RX_OBS_SEL_S 10
664 1.1 christos
665 1.1 christos /* Bits for AR_PHY_CHAN_INFO_MEMORY. */
666 1.1 christos #define AR_PHY_CHAN_INFO_MEMORY_CAPTURE_MASK 0x00000001
667 1.1 christos #define AR_PHY_CHAN_INFO_TAB_S2_READ 0x00000008
668 1.1 christos
669 1.1 christos /* Bits for AR_PHY_CHAN_INFO_GAIN_0. */
670 1.1 christos #define AR_PHY_CHAN_INFO_GAIN_DIFF_PPM_MASK 0x00000fff
671 1.1 christos #define AR_PHY_CHAN_INFO_GAIN_DIFF_UPPER_LIMIT 320
672 1.1 christos
673 1.1 christos /* Bits for AR_PHY_CCK_TX_CTRL. */
674 1.1 christos #define AR_PHY_CCK_TX_CTRL_JAPAN 0x00000010
675 1.1 christos
676 1.1 christos /* Bits for AR_PHY_PWRTX_RATE5. */
677 1.1 christos #define AR_PHY_PWRTX_RATE5_POWERTXHT20_0_M 0x0000003f
678 1.1 christos #define AR_PHY_PWRTX_RATE5_POWERTXHT20_0_S 0
679 1.1 christos
680 1.1 christos /* Bits for AR_PHY_PWRTX_MAX. */
681 1.1 christos #define AR_PHY_POWER_TX_RATE_MAX_TPC_ENABLE 0x00000040
682 1.1 christos
683 1.1 christos /* Bits for AR_PHY_TPC_1. */
684 1.1 christos #define AR_PHY_TPC_1_FORCE_DAC_GAIN 0x00000001
685 1.1 christos #define AR_PHY_TPC_1_FORCED_DAC_GAIN_M 0x0000003e
686 1.1 christos #define AR_PHY_TPC_1_FORCED_DAC_GAIN_S 1
687 1.1 christos
688 1.1 christos /* Bits for AR_PHY_TPC_5_B(i). */
689 1.1 christos #define AR_PHY_TPC_5_PD_GAIN_OVERLAP_M 0x0000000f
690 1.1 christos #define AR_PHY_TPC_5_PD_GAIN_OVERLAP_S 0
691 1.1 christos #define AR_PHY_TPC_5_PD_GAIN_BOUNDARY_1_M 0x000003f0
692 1.1 christos #define AR_PHY_TPC_5_PD_GAIN_BOUNDARY_1_S 4
693 1.1 christos #define AR_PHY_TPC_5_PD_GAIN_BOUNDARY_2_M 0x0000fc00
694 1.1 christos #define AR_PHY_TPC_5_PD_GAIN_BOUNDARY_2_S 10
695 1.1 christos #define AR_PHY_TPC_5_PD_GAIN_BOUNDARY_3_M 0x003f0000
696 1.1 christos #define AR_PHY_TPC_5_PD_GAIN_BOUNDARY_3_S 16
697 1.1 christos #define AR_PHY_TPC_5_PD_GAIN_BOUNDARY_4_M 0x0fc00000
698 1.1 christos #define AR_PHY_TPC_5_PD_GAIN_BOUNDARY_4_S 22
699 1.1 christos
700 1.1 christos /* Bits for AR_PHY_TPC_6_B(i). */
701 1.1 christos #define AR_PHY_TPC_6_ERROR_EST_MODE_M 0x03000000
702 1.1 christos #define AR_PHY_TPC_6_ERROR_EST_MODE_S 24
703 1.1 christos
704 1.1 christos /* Bits for AR_PHY_TPC_11_B(i). */
705 1.1 christos #define AR_PHY_TPC_11_OLPC_GAIN_DELTA_M 0x00ff0000
706 1.1 christos #define AR_PHY_TPC_11_OLPC_GAIN_DELTA_S 16
707 1.1 christos #define AR_PHY_TPC_11_OLPC_GAIN_DELTA_PAL_ON_M 0xff000000
708 1.1 christos #define AR_PHY_TPC_11_OLPC_GAIN_DELTA_PAL_ON_S 24
709 1.1 christos
710 1.1 christos /* Bits for AR_PHY_TPC_12. */
711 1.1 christos #define AR_PHY_TPC_12_DESIRED_SCALE_HT40_5_M 0x3e000000
712 1.1 christos #define AR_PHY_TPC_12_DESIRED_SCALE_HT40_5_S 25
713 1.1 christos
714 1.1 christos /* Bits for AR_PHY_TPC_18. */
715 1.1 christos #define AR_PHY_TPC_18_THERM_CAL_M 0x000000ff
716 1.1 christos #define AR_PHY_TPC_18_THERM_CAL_S 0
717 1.1 christos #define AR_PHY_TPC_18_VOLT_CAL_M 0x0000ff00
718 1.1 christos #define AR_PHY_TPC_18_VOLT_CAL_S 8
719 1.1 christos
720 1.1 christos /* Bits for AR_PHY_TPC_19. */
721 1.1 christos #define AR_PHY_TPC_19_ALPHA_THERM_M 0x000000ff
722 1.1 christos #define AR_PHY_TPC_19_ALPHA_THERM_S 0
723 1.1 christos #define AR_PHY_TPC_19_ALPHA_VOLT_M 0x001f0000
724 1.1 christos #define AR_PHY_TPC_19_ALPHA_VOLT_S 16
725 1.1 christos
726 1.1 christos /* Bits for AR_PHY_BB_THERM_ADC_1. */
727 1.1 christos #define AR_PHY_BB_THERM_ADC_1_INIT_THERM_M 0x000000ff
728 1.1 christos #define AR_PHY_BB_THERM_ADC_1_INIT_THERM_S 0
729 1.1 christos
730 1.1 christos /* Bits for AR_PHY_BB_THERM_ADC_4. */
731 1.1 christos #define AR_PHY_BB_THERM_ADC_4_LATEST_THERM_M 0x000000ff
732 1.1 christos #define AR_PHY_BB_THERM_ADC_4_LATEST_THERM_S 0
733 1.1 christos #define AR_PHY_BB_THERM_ADC_4_LATEST_VOLT_M 0x0000ff00
734 1.1 christos #define AR_PHY_BB_THERM_ADC_4_LATEST_VOLT_S 8
735 1.1 christos
736 1.1 christos /* Bits for AR_PHY_TX_FORCED_GAIN. */
737 1.1 christos #define AR_PHY_TX_FORCED_GAIN_FORCE_TX_GAIN 0x00000001
738 1.1 christos #define AR_PHY_TX_FORCED_GAIN_TXBB1DBGAIN_M 0x0000000e
739 1.1 christos #define AR_PHY_TX_FORCED_GAIN_TXBB1DBGAIN_S 1
740 1.1 christos #define AR_PHY_TX_FORCED_GAIN_TXBB6DBGAIN_M 0x00000030
741 1.1 christos #define AR_PHY_TX_FORCED_GAIN_TXBB6DBGAIN_S 4
742 1.1 christos #define AR_PHY_TX_FORCED_GAIN_TXMXRGAIN_M 0x000003c0
743 1.1 christos #define AR_PHY_TX_FORCED_GAIN_TXMXRGAIN_S 6
744 1.1 christos #define AR_PHY_TX_FORCED_GAIN_PADRVGNA_M 0x00003c00
745 1.1 christos #define AR_PHY_TX_FORCED_GAIN_PADRVGNA_S 10
746 1.1 christos #define AR_PHY_TX_FORCED_GAIN_PADRVGNB_M 0x0003c000
747 1.1 christos #define AR_PHY_TX_FORCED_GAIN_PADRVGNB_S 14
748 1.1 christos #define AR_PHY_TX_FORCED_GAIN_PADRVGNC_M 0x003c0000
749 1.1 christos #define AR_PHY_TX_FORCED_GAIN_PADRVGNC_S 18
750 1.1 christos #define AR_PHY_TX_FORCED_GAIN_PADRVGND_M 0x00c00000
751 1.1 christos #define AR_PHY_TX_FORCED_GAIN_PADRVGND_S 22
752 1.1 christos #define AR_PHY_TX_FORCED_GAIN_ENABLE_PAL 0x01000000
753 1.1 christos
754 1.1 christos /* Bits for AR_PHY_TXGAIN_TABLE(i). */
755 1.1 christos #define AR_PHY_TXGAIN_TXBB1DBGAIN_M 0x00000007
756 1.1 christos #define AR_PHY_TXGAIN_TXBB1DBGAIN_S 0
757 1.1 christos #define AR_PHY_TXGAIN_TXBB6DBGAIN_M 0x00000018
758 1.1 christos #define AR_PHY_TXGAIN_TXBB6DBGAIN_S 3
759 1.1 christos #define AR_PHY_TXGAIN_TXMXRGAIN_M 0x000001e0
760 1.1 christos #define AR_PHY_TXGAIN_TXMXRGAIN_S 5
761 1.1 christos #define AR_PHY_TXGAIN_PADRVGNA_M 0x00001e00
762 1.1 christos #define AR_PHY_TXGAIN_PADRVGNA_S 9
763 1.1 christos #define AR_PHY_TXGAIN_PADRVGNB_M 0x0001e000
764 1.1 christos #define AR_PHY_TXGAIN_PADRVGNB_S 13
765 1.1 christos #define AR_PHY_TXGAIN_PADRVGNC_M 0x001e0000
766 1.1 christos #define AR_PHY_TXGAIN_PADRVGNC_S 17
767 1.1 christos #define AR_PHY_TXGAIN_PADRVGND_M 0x00600000
768 1.1 christos #define AR_PHY_TXGAIN_PADRVGND_S 21
769 1.1 christos #define AR_PHY_TXGAIN_INDEX_M 0xff000000
770 1.1 christos #define AR_PHY_TXGAIN_INDEX_S 24
771 1.1 christos
772 1.1 christos /* Bits for AR_PHY_TX_IQCAL_CONTROL_1. */
773 1.1 christos #define AR_PHY_TX_IQCAQL_CONTROL_1_IQCORR_I_Q_COFF_DELPT_M 0x01fc0000
774 1.1 christos #define AR_PHY_TX_IQCAQL_CONTROL_1_IQCORR_I_Q_COFF_DELPT_S 18
775 1.1 christos
776 1.1 christos /* Bits for AR_PHY_TX_IQCAL_START. */
777 1.1 christos #define AR_PHY_TX_IQCAL_START_DO_CAL 0x00000001
778 1.1 christos
779 1.1 christos /* Bits for AR_PHY_TX_IQCAL_CORR_COEFF_01_B(i). */
780 1.1 christos #define AR_PHY_TX_IQCAL_CORR_COEFF_01_COEFF_TABLE_M 0x00003fff
781 1.1 christos #define AR_PHY_TX_IQCAL_CORR_COEFF_01_COEFF_TABLE_S 0
782 1.1 christos
783 1.1 christos /* Bits for AR_PHY_TX_IQCAL_STATUS_B(i). */
784 1.1 christos #define AR_PHY_TX_IQCAL_STATUS_FAILED 0x00000001
785 1.1 christos
786 1.1 christos /* Bits for AR_PHY_PAPRD_TRAINER_CNTL1. */
787 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL1_TRAIN_ENABLE 0x00000001
788 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL1_AGC2_SETTLING_M 0x0000007e
789 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL1_AGC2_SETTLING_S 1
790 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL1_IQCORR_ENABLE 0x00000100
791 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL1_RX_BB_GAIN_FORCE 0x00000200
792 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL1_TX_GAIN_FORCE 0x00000400
793 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL1_LB_ENABLE 0x00000800
794 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL1_LB_SKIP_M 0x0003f000
795 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL1_LB_SKIP_S 12
796 1.1 christos
797 1.1 christos /* Bits for AR_PHY_PAPRD_TRAINER_CNTL3. */
798 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL3_ADC_DESIRED_SIZE_M 0x0000003f
799 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL3_ADC_DESIRED_SIZE_S 0
800 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL3_QUICK_DROP_M 0x00000fc0
801 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL3_QUICK_DROP_S 6
802 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL3_MIN_LOOPBACK_DEL_M 0x0001f000
803 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL3_MIN_LOOPBACK_DEL_S 12
804 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL3_NUM_CORR_STAGES_M 0x000e0000
805 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL3_NUM_CORR_STAGES_S 17
806 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL3_COARSE_CORR_LEN_M 0x00f00000
807 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL3_COARSE_CORR_LEN_S 20
808 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL3_FINE_CORR_LEN_M 0x0f000000
809 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL3_FINE_CORR_LEN_S 24
810 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL3_BBTXMIX_DISABLE 0x20000000
811 1.1 christos
812 1.1 christos /* Bits for AR_PHY_PAPRD_TRAINER_CNTL4. */
813 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL4_MIN_CORR_M 0x00000fff
814 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL4_MIN_CORR_S 0
815 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL4_SAFETY_DELTA_M 0x0000f000
816 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL4_SAFETY_DELTA_S 12
817 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL4_NUM_TRAIN_SAMPLES_M 0x03ff0000
818 1.1 christos #define AR_PHY_PAPRD_TRAINER_CNTL4_NUM_TRAIN_SAMPLES_S 16
819 1.1 christos
820 1.1 christos /* Bits for AR_PHY_PAPRD_TRAINER_STAT1. */
821 1.1 christos #define AR_PHY_PAPRD_TRAINER_STAT1_TRAIN_DONE 0x00000001
822 1.1 christos #define AR_PHY_PAPRD_TRAINER_STAT1_TRAIN_INCOMPLETE 0x00000002
823 1.1 christos #define AR_PHY_PAPRD_TRAINER_STAT1_CORR_ERR 0x00000004
824 1.1 christos #define AR_PHY_PAPRD_TRAINER_STAT1_TRAIN_ACTIVE 0x00000008
825 1.1 christos #define AR_PHY_PAPRD_TRAINER_STAT1_RX_GAIN_IDX_M 0x000001f0
826 1.1 christos #define AR_PHY_PAPRD_TRAINER_STAT1_RX_GAIN_IDX_S 4
827 1.1 christos #define AR_PHY_PAPRD_TRAINER_STAT1_AGC2_PWR_M 0x0001fe00
828 1.1 christos #define AR_PHY_PAPRD_TRAINER_STAT1_AGC2_PWR_S 9
829 1.1 christos
830 1.1 christos /* Bits for AR_PHY_PAPRD_TRAINER_STAT2. */
831 1.1 christos #define AR_PHY_PAPRD_TRAINER_STAT2_FINE_VAL_M 0x0000ffff
832 1.1 christos #define AR_PHY_PAPRD_TRAINER_STAT2_FINE_VAL_S 0
833 1.1 christos #define AR_PHY_PAPRD_TRAINER_STAT2_COARSE_IDX_M 0x001f0000
834 1.1 christos #define AR_PHY_PAPRD_TRAINER_STAT2_COARSE_IDX_S 16
835 1.1 christos #define AR_PHY_PAPRD_TRAINER_STAT2_FINE_IDX_M 0x00600000
836 1.1 christos #define AR_PHY_PAPRD_TRAINER_STAT2_FINE_IDX_S 21
837 1.1 christos
838 1.1 christos /* Bits for AR_PHY_PAPRD_TRAINER_STAT3. */
839 1.1 christos #define AR_PHY_PAPRD_TRAINER_STAT3_TRAIN_SAMPLES_CNT_M 0x000fffff
840 1.1 christos #define AR_PHY_PAPRD_TRAINER_STAT3_TRAIN_SAMPLES_CNT_S 0
841 1.1 christos
842 1.1 christos /* Bits for AR_PHY_65NM_CH0_SYNTH4. */
843 1.1 christos #define AR_PHY_SYNTH4_LONG_SHIFT_SELECT 0x00000002
844 1.1 christos
845 1.1 christos /* Bits for AR_PHY_65NM_CH0_SYNTH7. */
846 1.1 christos #define AR9380_FRACMODE 0x40000000
847 1.1 christos #define AR9380_LOAD_SYNTH 0x80000000
848 1.1 christos
849 1.1 christos /* Bits for AR_PHY_65NM_CH0_BIAS1. */
850 1.1 christos #define AR_PHY_65NM_CH0_BIAS1_0_M 0x000001c0
851 1.1 christos #define AR_PHY_65NM_CH0_BIAS1_0_S 6
852 1.1 christos #define AR_PHY_65NM_CH0_BIAS1_1_M 0x00000e00
853 1.1 christos #define AR_PHY_65NM_CH0_BIAS1_1_S 9
854 1.1 christos #define AR_PHY_65NM_CH0_BIAS1_2_M 0x00007000
855 1.1 christos #define AR_PHY_65NM_CH0_BIAS1_2_S 12
856 1.1 christos #define AR_PHY_65NM_CH0_BIAS1_3_M 0x00038000
857 1.1 christos #define AR_PHY_65NM_CH0_BIAS1_3_S 15
858 1.1 christos #define AR_PHY_65NM_CH0_BIAS1_4_M 0x001c0000
859 1.1 christos #define AR_PHY_65NM_CH0_BIAS1_4_S 18
860 1.1 christos #define AR_PHY_65NM_CH0_BIAS1_5_M 0x00e00000
861 1.1 christos #define AR_PHY_65NM_CH0_BIAS1_5_S 21
862 1.1 christos
863 1.1 christos /* Bits for AR_PHY_65NM_CH0_BIAS2. */
864 1.1 christos #define AR_PHY_65NM_CH0_BIAS2_0_M 0x000000e0
865 1.1 christos #define AR_PHY_65NM_CH0_BIAS2_0_S 5
866 1.1 christos #define AR_PHY_65NM_CH0_BIAS2_1_M 0x00000700
867 1.1 christos #define AR_PHY_65NM_CH0_BIAS2_1_S 8
868 1.1 christos #define AR_PHY_65NM_CH0_BIAS2_2_M 0x00003800
869 1.1 christos #define AR_PHY_65NM_CH0_BIAS2_2_S 11
870 1.1 christos #define AR_PHY_65NM_CH0_BIAS2_3_M 0x0001c000
871 1.1 christos #define AR_PHY_65NM_CH0_BIAS2_3_S 14
872 1.1 christos #define AR_PHY_65NM_CH0_BIAS2_4_M 0x000e0000
873 1.1 christos #define AR_PHY_65NM_CH0_BIAS2_4_S 17
874 1.1 christos #define AR_PHY_65NM_CH0_BIAS2_5_M 0x00700000
875 1.1 christos #define AR_PHY_65NM_CH0_BIAS2_5_S 20
876 1.1 christos #define AR_PHY_65NM_CH0_BIAS2_6_M 0x03800000
877 1.1 christos #define AR_PHY_65NM_CH0_BIAS2_6_S 23
878 1.1 christos #define AR_PHY_65NM_CH0_BIAS2_7_M 0x1c000000
879 1.1 christos #define AR_PHY_65NM_CH0_BIAS2_7_S 26
880 1.1 christos #define AR_PHY_65NM_CH0_BIAS2_8_M 0xe0000000
881 1.1 christos #define AR_PHY_65NM_CH0_BIAS2_8_S 29
882 1.1 christos
883 1.1 christos /* Bits for AR_PHY_65NM_CH0_BIAS4. */
884 1.1 christos #define AR_PHY_65NM_CH0_BIAS4_0_M 0x03800000
885 1.1 christos #define AR_PHY_65NM_CH0_BIAS4_0_S 23
886 1.1 christos #define AR_PHY_65NM_CH0_BIAS4_1_M 0x1c000000
887 1.1 christos #define AR_PHY_65NM_CH0_BIAS4_1_S 26
888 1.1 christos #define AR_PHY_65NM_CH0_BIAS4_2_M 0xe0000000
889 1.1 christos #define AR_PHY_65NM_CH0_BIAS4_2_S 29
890 1.1 christos
891 1.1 christos /* Bits for AR_PHY_65NM_CH0_RXTX4. */
892 1.1 christos #define AR_PHY_65NM_CH0_RXTX4_THERM_ON 0x10000000
893 1.1 christos
894 1.1 christos /* Bits for AR9485_PHY_65NM_CH0_TOP2. */
895 1.1 christos #define AR9485_PHY_65NM_CH0_TOP2_XPABIASLVL_M 0x0000f000
896 1.1 christos #define AR9485_PHY_65NM_CH0_TOP2_XPABIASLVL_S 12
897 1.1 christos
898 1.1 christos /* Bits for AR_PHY_65NM_CH0_TOP. */
899 1.1 christos #define AR_PHY_65NM_CH0_TOP_XPABIASLVL_M 0x00000300
900 1.1 christos #define AR_PHY_65NM_CH0_TOP_XPABIASLVL_S 8
901 1.1 christos
902 1.1 christos /* Bits for AR_PHY_65NM_CH0_THERM. */
903 1.1 christos #define AR_PHY_65NM_CH0_THERM_XPABIASLVL_MSB_M 0x00000003
904 1.1 christos #define AR_PHY_65NM_CH0_THERM_XPABIASLVL_MSB_S 0
905 1.1 christos #define AR_PHY_65NM_CH0_THERM_XPASHORT2GND 0x00000004
906 1.1 christos #define AR_PHY_65NM_CH0_THERM_SAR_ADC_OUT_M 0x0000ff00
907 1.1 christos #define AR_PHY_65NM_CH0_THERM_SAR_ADC_OUT_S 8
908 1.1 christos #define AR_PHY_65NM_CH0_THERM_START 0x20000000
909 1.1 christos #define AR_PHY_65NM_CH0_THERM_LOCAL 0x80000000
910 1.1 christos
911 1.1 christos /* Bits for AR9485_PHY_CH0_XTAL. */
912 1.1 christos #define AR9485_PHY_CH0_XTAL_CAPINDAC_M 0x7f000000
913 1.1 christos #define AR9485_PHY_CH0_XTAL_CAPINDAC_S 24
914 1.1 christos #define AR9485_PHY_CH0_XTAL_CAPOUTDAC_M 0x00fe0000
915 1.1 christos #define AR9485_PHY_CH0_XTAL_CAPOUTDAC_S 17
916 1.1 christos
917 1.1 christos /* Bits for AR_PHY_PMU1. */
918 1.1 christos #define AR_PHY_PMU1_PWD 0x00000001
919 1.1 christos
920 1.1 christos /* Bits for AR_PHY_PMU2. */
921 1.1 christos #define AR_PHY_PMU2_PGM 0x00200000
922 1.1 christos
923 1.1 christos /*
924 1.1 christos * OTP registers.
925 1.1 christos */
926 1.1 christos #define AR_OTP_BASE(i) (0x14000 + (i) * 4)
927 1.1 christos #define AR_OTP_STATUS 0x15f18
928 1.1 christos #define AR_OTP_READ_DATA 0x15f1c
929 1.1 christos
930 1.1 christos /* Bits for AR_OTP_STATUS. */
931 1.1 christos #define AR_OTP_STATUS_TYPE_M 0x00000007
932 1.1 christos #define AR_OTP_STATUS_TYPE_S 0
933 1.1 christos #define AR_OTP_STATUS_SM_BUSY 0x1
934 1.1 christos #define AR_OTP_STATUS_ACCESS_BUSY 0x2
935 1.1 christos #define AR_OTP_STATUS_VALID 0x4
936 1.1 christos
937 1.1 christos
938 1.1 christos #define AR9003_MAX_CHAINS 3
939 1.1 christos
940 1.1 christos #define AR9003_TX_QDEPTH 8
941 1.1 christos #define AR9003_RX_LP_QDEPTH 128
942 1.1 christos #define AR9003_RX_HP_QDEPTH 16
943 1.1 christos
944 1.1 christos #define AR9003_NTXSTATUS 64
945 1.1 christos
946 1.1 christos /* Maximum number of DMA segments per Tx descriptor. */
947 1.1 christos #define AR9003_MAX_SCATTER 4
948 1.1 christos
949 1.1 christos /*
950 1.1 christos * Tx DMA descriptor.
951 1.1 christos */
952 1.1 christos struct ar_tx_desc {
953 1.1 christos uint32_t ds_info;
954 1.1 christos uint32_t ds_link;
955 1.1 christos struct {
956 1.1 christos uint32_t ds_data;
957 1.1 christos uint32_t ds_ctl;
958 1.1 christos } __packed ds_segs[AR9003_MAX_SCATTER];
959 1.1 christos uint32_t ds_ctl10;
960 1.1 christos uint32_t ds_ctl11;
961 1.1 christos uint32_t ds_ctl12;
962 1.1 christos uint32_t ds_ctl13;
963 1.1 christos uint32_t ds_ctl14;
964 1.1 christos uint32_t ds_ctl15;
965 1.1 christos uint32_t ds_ctl16;
966 1.1 christos uint32_t ds_ctl17;
967 1.1 christos uint32_t ds_ctl18;
968 1.1 christos uint32_t ds_ctl19;
969 1.1 christos uint32_t ds_ctl20;
970 1.1 christos uint32_t ds_ctl21;
971 1.1 christos uint32_t ds_ctl22;
972 1.1 christos /*
973 1.1 christos * Padding to make Tx descriptors 128 bytes such that they will
974 1.1 christos * not cross a 4KB boundary.
975 1.1 christos */
976 1.1 christos uint32_t pad[9];
977 1.1 christos } __packed __attribute__((aligned(4)));
978 1.1 christos
979 1.1 christos /* Bits for ds_info. */
980 1.1 christos #define AR_TXI_DESC_NDWORDS_M 0x000000ff
981 1.1 christos #define AR_TXI_DESC_NDWORDS_S 0
982 1.1 christos #define AR_TXI_QCU_NUM_M 0x00000f00
983 1.1 christos #define AR_TXI_QCU_NUM_S 8
984 1.1 christos #define AR_TXI_CTRL_STAT 0x00004000
985 1.1 christos #define AR_TXI_DESC_TX 0x00008000
986 1.1 christos #define AR_TXI_DESC_ID_M 0xffff0000
987 1.1 christos #define AR_TXI_DESC_ID_S 16
988 1.1 christos #define AR_VENDOR_ATHEROS 0x168c /* NB: PCI_VENDOR_ATHEROS */
989 1.1 christos
990 1.1 christos /* Bits for ds_ctl. */
991 1.1 christos #define AR_TXC_BUF_LEN_M 0x0fff0000
992 1.1 christos #define AR_TXC_BUF_LEN_S 16
993 1.1 christos
994 1.1 christos /* Bits for ds_ctl10. */
995 1.1 christos #define AR_TXC10_PTR_CHK_SUM_M 0x0000ffff
996 1.1 christos #define AR_TXC10_PTR_CHK_SUM_S 0
997 1.1 christos
998 1.1 christos /* Bits for ds_ctl11. */
999 1.1 christos #define AR_TXC11_FRAME_LEN_M 0x00000fff
1000 1.1 christos #define AR_TXC11_FRAME_LEN_S 0
1001 1.1 christos #define AR_TXC11_XMIT_POWER_M 0x003f0000
1002 1.1 christos #define AR_TXC11_XMIT_POWER_S 16
1003 1.1 christos #define AR_TXC11_RTS_ENABLE 0x00400000
1004 1.1 christos #define AR_TXC11_CLR_DEST_MASK 0x01000000
1005 1.1 christos #define AR_TXC11_DEST_IDX_VALID 0x40000000
1006 1.1 christos #define AR_TXC11_CTS_ENABLE 0x80000000
1007 1.1 christos
1008 1.1 christos /* Bits for ds_ctl12. */
1009 1.1 christos #define AR_TXC12_PAPRD_CHAIN_MASK_M 0x00000e00
1010 1.1 christos #define AR_TXC12_PAPRD_CHAIN_MASK_S 9
1011 1.1 christos #define AR_TXC12_DEST_IDX_M 0x000fe000
1012 1.1 christos #define AR_TXC12_DEST_IDX_S 13
1013 1.1 christos #define AR_TXC12_FRAME_TYPE_M 0x00f00000
1014 1.1 christos #define AR_TXC12_FRAME_TYPE_S 20
1015 1.1 christos #define AR_FRAME_TYPE_NORMAL 0
1016 1.1 christos #define AR_FRAME_TYPE_ATIM 1
1017 1.1 christos #define AR_FRAME_TYPE_PSPOLL 2
1018 1.1 christos #define AR_FRAME_TYPE_BEACON 3
1019 1.1 christos #define AR_FRAME_TYPE_PROBE_RESP 4
1020 1.1 christos #define AR_TXC12_NO_ACK 0x01000000
1021 1.1 christos
1022 1.1 christos /* Bits for ds_ctl13. */
1023 1.1 christos #define AR_TXC13_BURST_DUR_M 0x00007fff
1024 1.1 christos #define AR_TXC13_BURST_DUR_S 0
1025 1.1 christos #define AR_TXC13_DUR_UPDATE_ENA 0x00008000
1026 1.1 christos #define AR_TXC13_XMIT_DATA_TRIES0_M 0x000f0000
1027 1.1 christos #define AR_TXC13_XMIT_DATA_TRIES0_S 16
1028 1.1 christos #define AR_TXC13_XMIT_DATA_TRIES1_M 0x00f00000
1029 1.1 christos #define AR_TXC13_XMIT_DATA_TRIES1_S 20
1030 1.1 christos #define AR_TXC13_XMIT_DATA_TRIES2_M 0x0f000000
1031 1.1 christos #define AR_TXC13_XMIT_DATA_TRIES2_S 24
1032 1.1 christos #define AR_TXC13_XMIT_DATA_TRIES3_M 0xf0000000
1033 1.1 christos #define AR_TXC13_XMIT_DATA_TRIES3_S 28
1034 1.1 christos
1035 1.1 christos /* Bits for ds_ctl14. */
1036 1.1 christos #define AR_TXC14_XMIT_RATE0_M 0x000000ff
1037 1.1 christos #define AR_TXC14_XMIT_RATE0_S 0
1038 1.1 christos #define AR_TXC14_XMIT_RATE1_M 0x0000ff00
1039 1.1 christos #define AR_TXC14_XMIT_RATE1_S 8
1040 1.1 christos #define AR_TXC14_XMIT_RATE2_M 0x00ff0000
1041 1.1 christos #define AR_TXC14_XMIT_RATE2_S 16
1042 1.1 christos #define AR_TXC14_XMIT_RATE3_M 0xff000000
1043 1.1 christos #define AR_TXC14_XMIT_RATE3_S 24
1044 1.1 christos
1045 1.1 christos /* Bits for ds_ctl15. */
1046 1.1 christos #define AR_TXC15_PACKET_DUR0_M 0x00007fff
1047 1.1 christos #define AR_TXC15_PACKET_DUR0_S 0
1048 1.1 christos #define AR_TXC15_RTSCTS_QUAL0 0x00008000
1049 1.1 christos #define AR_TXC15_PACKET_DUR1_M 0x7fff0000
1050 1.1 christos #define AR_TXC15_PACKET_DUR1_S 16
1051 1.1 christos #define AR_TXC15_RTSCTS_QUAL1 0x80000000
1052 1.1 christos /* Shortcut. */
1053 1.1 christos #define AR_TXC15_RTSCTS_QUAL01 \
1054 1.1 christos (AR_TXC15_RTSCTS_QUAL0 | AR_TXC15_RTSCTS_QUAL1)
1055 1.1 christos
1056 1.1 christos /* Bits for ds_ctl16. */
1057 1.1 christos #define AR_TXC16_PACKET_DUR2_M 0x00007fff
1058 1.1 christos #define AR_TXC16_PACKET_DUR2_S 0
1059 1.1 christos #define AR_TXC16_RTSCTS_QUAL2 0x00008000
1060 1.1 christos #define AR_TXC16_PACKET_DUR3_M 0x7fff0000
1061 1.1 christos #define AR_TXC16_PACKET_DUR3_S 16
1062 1.1 christos #define AR_TXC16_RTSCTS_QUAL3 0x80000000
1063 1.1 christos /* Shortcut. */
1064 1.1 christos #define AR_TXC16_RTSCTS_QUAL23 \
1065 1.1 christos (AR_TXC16_RTSCTS_QUAL2 | AR_TXC16_RTSCTS_QUAL3)
1066 1.1 christos
1067 1.1 christos /* Bits for ds_ctl17. */
1068 1.1 christos #define AR_TXC17_ENCR_TYPE_M 0x0c000000
1069 1.1 christos #define AR_TXC17_ENCR_TYPE_S 26
1070 1.1 christos #define AR_ENCR_TYPE_CLEAR 0
1071 1.1 christos #define AR_ENCR_TYPE_WEP 1
1072 1.1 christos #define AR_ENCR_TYPE_AES 2
1073 1.1 christos #define AR_ENCR_TYPE_TKIP 3
1074 1.1 christos
1075 1.1 christos /* Bits for ds_ctl18. */
1076 1.1 christos #define AR_TXC18_2040_0 0x00000001
1077 1.1 christos #define AR_TXC18_GI0 0x00000002
1078 1.1 christos #define AR_TXC18_CHAIN_SEL0_M 0x0000001c
1079 1.1 christos #define AR_TXC18_CHAIN_SEL0_S 2
1080 1.1 christos #define AR_TXC18_2040_1 0x00000020
1081 1.1 christos #define AR_TXC18_GI1 0x00000040
1082 1.1 christos #define AR_TXC18_CHAIN_SEL1_M 0x00000380
1083 1.1 christos #define AR_TXC18_CHAIN_SEL1_S 7
1084 1.1 christos #define AR_TXC18_2040_2 0x00000400
1085 1.1 christos #define AR_TXC18_GI2 0x00000800
1086 1.1 christos #define AR_TXC18_CHAIN_SEL2_M 0x00007000
1087 1.1 christos #define AR_TXC18_CHAIN_SEL2_S 12
1088 1.1 christos #define AR_TXC18_2040_3 0x00008000
1089 1.1 christos #define AR_TXC18_GI3 0x00010000
1090 1.1 christos #define AR_TXC18_CHAIN_SEL3_M 0x000e0000
1091 1.1 christos #define AR_TXC18_CHAIN_SEL3_S 17
1092 1.1 christos #define AR_TXC18_RTSCTS_RATE_M 0x0ff00000
1093 1.1 christos #define AR_TXC18_RTSCTS_RATE_S 20
1094 1.1 christos /* Shortcuts. */
1095 1.1 christos #define AR_TXC18_2040_0123 \
1096 1.1 christos (AR_TXC18_2040_0 | AR_TXC18_2040_1 | AR_TXC18_2040_2 | AR_TXC18_2040_3)
1097 1.1 christos #define AR_TXC18_GI0123 \
1098 1.1 christos (AR_TXC18_GI0 | AR_TXC18_GI1 | AR_TXC18_GI2 | AR_TXC18_GI3)
1099 1.1 christos
1100 1.1 christos /* Bits for ds_ctl19. */
1101 1.1 christos #define AR_TXC19_NOT_SOUNDING 0x20000000
1102 1.1 christos
1103 1.1 christos /*
1104 1.1 christos * Tx status DMA descriptor.
1105 1.1 christos */
1106 1.1 christos struct ar_tx_status {
1107 1.1 christos uint32_t ds_info;
1108 1.1 christos uint32_t ds_status1;
1109 1.1 christos uint32_t ds_status2;
1110 1.1 christos uint32_t ds_status3;
1111 1.1 christos uint32_t ds_status4;
1112 1.1 christos uint32_t ds_status5;
1113 1.1 christos uint32_t ds_status6;
1114 1.1 christos uint32_t ds_status7;
1115 1.1 christos uint32_t ds_status8;
1116 1.1 christos } __packed __attribute__((aligned(4)));
1117 1.1 christos
1118 1.1 christos /* Bits for ds_status3. */
1119 1.1 christos #define AR_TXS3_EXCESSIVE_RETRIES 0x00000002
1120 1.1 christos #define AR_TXS3_FIFO_UNDERRUN 0x00000004
1121 1.1 christos #define AR_TXS3_RTS_FAIL_CNT_M 0x000000f0
1122 1.1 christos #define AR_TXS3_RTS_FAIL_CNT_S 4
1123 1.1 christos #define AR_TXS3_DATA_FAIL_CNT_M 0x00000f00
1124 1.1 christos #define AR_TXS3_DATA_FAIL_CNT_S 8
1125 1.1 christos #define AR_TXS3_TX_DELIM_UNDERRUN 0x00010000
1126 1.1 christos #define AR_TXS3_TX_DATA_UNDERRUN 0x00020000
1127 1.1 christos /* Shortcut. */
1128 1.1 christos #define AR_TXS3_UNDERRUN \
1129 1.1 christos (AR_TXS3_FIFO_UNDERRUN | \
1130 1.1 christos AR_TXS3_TX_DELIM_UNDERRUN | \
1131 1.1 christos AR_TXS3_TX_DATA_UNDERRUN)
1132 1.1 christos
1133 1.1 christos /* Bits for ds_status8. */
1134 1.1 christos #define AR_TXS8_DONE 0x00000001
1135 1.1 christos #define AR_TXS8_FINAL_IDX_M 0x00600000
1136 1.1 christos #define AR_TXS8_FINAL_IDX_S 21
1137 1.1 christos
1138 1.1 christos /*
1139 1.1 christos * Rx status DMA descriptor.
1140 1.1 christos */
1141 1.1 christos struct ar_rx_status {
1142 1.1 christos uint32_t ds_info;
1143 1.1 christos uint32_t ds_status1;
1144 1.1 christos uint32_t ds_status2;
1145 1.1 christos uint32_t ds_status3;
1146 1.1 christos uint32_t ds_status4;
1147 1.1 christos uint32_t ds_status5;
1148 1.1 christos uint32_t ds_status6;
1149 1.1 christos uint32_t ds_status7;
1150 1.1 christos uint32_t ds_status8;
1151 1.1 christos uint32_t ds_status9;
1152 1.1 christos uint32_t ds_status10;
1153 1.1 christos uint32_t ds_status11;
1154 1.1 christos } __packed __attribute__((aligned(4)));
1155 1.1 christos
1156 1.1 christos /* Bits for ds_info. */
1157 1.1 christos #define AR_RXI_CTRL_STAT 0x00004000
1158 1.1 christos #define AR_RXI_DESC_TX 0x00008000
1159 1.1 christos #define AR_RXI_DESC_ID_M 0xffff0000
1160 1.1 christos #define AR_RXI_DESC_ID_S 16
1161 1.1 christos
1162 1.1 christos /* Bits for ds_status1. */
1163 1.1 christos #define AR_RXS1_DONE 0x00000001
1164 1.1 christos #define AR_RXS1_RATE_M 0x000003fc
1165 1.1 christos #define AR_RXS1_RATE_S 2
1166 1.1 christos
1167 1.1 christos /* Bits for ds_status2. */
1168 1.1 christos #define AR_RXS2_DATA_LEN_M 0x00000fff
1169 1.1 christos #define AR_RXS2_DATA_LEN_S 0
1170 1.1 christos
1171 1.1 christos /* Bits for ds_status4. */
1172 1.1 christos #define AR_RXS4_GI 0x00000001
1173 1.1 christos #define AR_RXS4_ANTENNA_M 0xffffff00
1174 1.1 christos #define AR_RXS4_ANTENNA_S 8
1175 1.1 christos
1176 1.1 christos /* Bits for ds_status5. */
1177 1.1 christos #define AR_RXS5_RSSI_COMBINED_M 0xff000000
1178 1.1 christos #define AR_RXS5_RSSI_COMBINED_S 24
1179 1.1 christos
1180 1.1 christos /* Bits for ds_status11. */
1181 1.1 christos #define AR_RXS11_FRAME_OK 0x00000002
1182 1.1 christos #define AR_RXS11_CRC_ERR 0x00000004
1183 1.1 christos #define AR_RXS11_DECRYPT_CRC_ERR 0x00000008
1184 1.1 christos #define AR_RXS11_PHY_ERR 0x00000010
1185 1.1 christos #define AR_RXS11_PHY_ERR_CODE_M 0x0000ff00
1186 1.1 christos #define AR_RXS11_PHY_ERR_CODE_S 8
1187 1.1 christos #define AR_RXS11_MICHAEL_ERR 0x00000020
1188 1.1 christos
1189 1.1 christos /*
1190 1.1 christos * AR9003 family common ROM structures.
1191 1.1 christos */
1192 1.1 christos #define AR_EEP_COMPRESS_NONE 0
1193 1.1 christos #define AR_EEP_COMPRESS_LZMA 1
1194 1.1 christos #define AR_EEP_COMPRESS_PAIRS 2
1195 1.1 christos #define AR_EEP_COMPRESS_BLOCK 3
1196 1.1 christos
1197 1.1 christos struct ar_cal_target_power_leg {
1198 1.1 christos uint8_t tPow2x[4];
1199 1.1 christos } __packed;
1200 1.1 christos
1201 1.1 christos struct ar_cal_target_power_ht {
1202 1.1 christos uint8_t tPow2x[14];
1203 1.1 christos } __packed;
1204 1.1 christos
1205 1.1 christos #endif /* _ARN9003REG_H_ */
1206