arn9285reg.h revision 1.1.12.2 1 1.1.12.2 yamt /* $NetBSD: arn9285reg.h,v 1.1.12.2 2014/05/22 11:40:21 yamt Exp $ */
2 1.1.12.2 yamt /* $OpenBSD: ar9285reg.h,v 1.7 2011/01/06 07:27:15 damien Exp $ */
3 1.1.12.2 yamt
4 1.1.12.2 yamt /*-
5 1.1.12.2 yamt * Copyright (c) 2009 Damien Bergamini <damien.bergamini (at) free.fr>
6 1.1.12.2 yamt * Copyright (c) 2008-2009 Atheros Communications Inc.
7 1.1.12.2 yamt *
8 1.1.12.2 yamt * Permission to use, copy, modify, and/or distribute this software for any
9 1.1.12.2 yamt * purpose with or without fee is hereby granted, provided that the above
10 1.1.12.2 yamt * copyright notice and this permission notice appear in all copies.
11 1.1.12.2 yamt *
12 1.1.12.2 yamt * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
13 1.1.12.2 yamt * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
14 1.1.12.2 yamt * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
15 1.1.12.2 yamt * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
16 1.1.12.2 yamt * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
17 1.1.12.2 yamt * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
18 1.1.12.2 yamt * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19 1.1.12.2 yamt */
20 1.1.12.2 yamt
21 1.1.12.2 yamt #ifndef _ARN9285REG_H_
22 1.1.12.2 yamt #define _ARN9285REG_H_
23 1.1.12.2 yamt
24 1.1.12.2 yamt #define AR9285_MAX_CHAINS 1
25 1.1.12.2 yamt
26 1.1.12.2 yamt #define AR9285_PHY_CCA_MAX_GOOD_VALUE (-118)
27 1.1.12.2 yamt
28 1.1.12.2 yamt #define AR9285_CL_CAL_REDO_THRESH 1
29 1.1.12.2 yamt
30 1.1.12.2 yamt /*
31 1.1.12.2 yamt * Analog registers.
32 1.1.12.2 yamt */
33 1.1.12.2 yamt #define AR9285_AN_RF2G1 0x7820
34 1.1.12.2 yamt #define AR9285_AN_RF2G2 0x7824
35 1.1.12.2 yamt #define AR9285_AN_RF2G3 0x7828
36 1.1.12.2 yamt #define AR9285_AN_RF2G4 0x782c
37 1.1.12.2 yamt #define AR9285_AN_RF2G5 0x7830
38 1.1.12.2 yamt #define AR9285_AN_RF2G6 0x7834
39 1.1.12.2 yamt #define AR9285_AN_RF2G7 0x7838
40 1.1.12.2 yamt #define AR9285_AN_RF2G8 0x783c
41 1.1.12.2 yamt #define AR9285_AN_RF2G9 0x7840
42 1.1.12.2 yamt #define AR9285_AN_RXTXBB1 0x7854
43 1.1.12.2 yamt #define AR9285_AN_TOP2 0x7868
44 1.1.12.2 yamt #define AR9285_AN_TOP3 0x786c
45 1.1.12.2 yamt #define AR9285_AN_TOP4 0x7870
46 1.1.12.2 yamt
47 1.1.12.2 yamt /* Bits for AR9285_AN_RF2G1. */
48 1.1.12.2 yamt #define AR9285_AN_RF2G1_ENPACAL 0x00000800
49 1.1.12.2 yamt #define AR9285_AN_RF2G1_PDPAOUT 0x00800000
50 1.1.12.2 yamt #define AR9285_AN_RF2G1_PDPADRV2 0x01000000
51 1.1.12.2 yamt #define AR9285_AN_RF2G1_PDPADRV1 0x02000000
52 1.1.12.2 yamt
53 1.1.12.2 yamt /* Bits for AR9285_AN_RF2G2. */
54 1.1.12.2 yamt #define AR9285_AN_RF2G2_OFFCAL 0x00001000
55 1.1.12.2 yamt
56 1.1.12.2 yamt /* Bits for AR9285_AN_RF2G3. */
57 1.1.12.2 yamt #define AR9285_AN_RF2G3_DB1_2_M 0x00000007
58 1.1.12.2 yamt #define AR9285_AN_RF2G3_DB1_2_S 0
59 1.1.12.2 yamt #define AR9285_AN_RF2G3_DB1_1_M 0x00000038
60 1.1.12.2 yamt #define AR9285_AN_RF2G3_DB1_1_S 3
61 1.1.12.2 yamt #define AR9285_AN_RF2G3_DB1_0_M 0x000001c0
62 1.1.12.2 yamt #define AR9285_AN_RF2G3_DB1_0_S 6
63 1.1.12.2 yamt #define AR9285_AN_RF2G3_OB_4_M 0x00000e00
64 1.1.12.2 yamt #define AR9285_AN_RF2G3_OB_4_S 9
65 1.1.12.2 yamt #define AR9285_AN_RF2G3_OB_3_M 0x00007000
66 1.1.12.2 yamt #define AR9285_AN_RF2G3_OB_3_S 12
67 1.1.12.2 yamt #define AR9285_AN_RF2G3_OB_2_M 0x00038000
68 1.1.12.2 yamt #define AR9285_AN_RF2G3_OB_2_S 15
69 1.1.12.2 yamt #define AR9285_AN_RF2G3_OB_1_M 0x001c0000
70 1.1.12.2 yamt #define AR9285_AN_RF2G3_OB_1_S 18
71 1.1.12.2 yamt #define AR9285_AN_RF2G3_OB_0_M 0x00e00000
72 1.1.12.2 yamt #define AR9285_AN_RF2G3_OB_0_S 21
73 1.1.12.2 yamt #define AR9285_AN_RF2G3_PDVCCOMP 0x02000000
74 1.1.12.2 yamt #define AR9271_AN_RF2G3_CCOMP_M 0x00000fff
75 1.1.12.2 yamt #define AR9271_AN_RF2G3_CCOMP_S 0
76 1.1.12.2 yamt #define AR9271_AN_RF2G3_OB_QAM_M 0x00007000
77 1.1.12.2 yamt #define AR9271_AN_RF2G3_OB_QAM_S 12
78 1.1.12.2 yamt #define AR9271_AN_RF2G3_OB_PSK_M 0x00038000
79 1.1.12.2 yamt #define AR9271_AN_RF2G3_OB_PSK_S 15
80 1.1.12.2 yamt #define AR9271_AN_RF2G3_OB_CCK_M 0x001c0000
81 1.1.12.2 yamt #define AR9271_AN_RF2G3_OB_CCK_S 18
82 1.1.12.2 yamt #define AR9271_AN_RF2G3_DB1_M 0x00e00000
83 1.1.12.2 yamt #define AR9271_AN_RF2G3_DB1_S 21
84 1.1.12.2 yamt
85 1.1.12.2 yamt /* Bits for AR9285_AN_RF2G4. */
86 1.1.12.2 yamt #define AR9285_AN_RF2G4_DB2_4_M 0x00003800
87 1.1.12.2 yamt #define AR9285_AN_RF2G4_DB2_4_S 11
88 1.1.12.2 yamt #define AR9285_AN_RF2G4_DB2_3_M 0x0001c000
89 1.1.12.2 yamt #define AR9285_AN_RF2G4_DB2_3_S 14
90 1.1.12.2 yamt #define AR9285_AN_RF2G4_DB2_2_M 0x000e0000
91 1.1.12.2 yamt #define AR9285_AN_RF2G4_DB2_2_S 17
92 1.1.12.2 yamt #define AR9285_AN_RF2G4_DB2_1_M 0x00700000
93 1.1.12.2 yamt #define AR9285_AN_RF2G4_DB2_1_S 20
94 1.1.12.2 yamt #define AR9285_AN_RF2G4_DB2_0_M 0x03800000
95 1.1.12.2 yamt #define AR9285_AN_RF2G4_DB2_0_S 23
96 1.1.12.2 yamt #define AR9285_AN_RF2G4_DB1_4_M 0x1c000000
97 1.1.12.2 yamt #define AR9285_AN_RF2G4_DB1_4_S 26
98 1.1.12.2 yamt #define AR9285_AN_RF2G4_DB1_3_M 0xe0000000
99 1.1.12.2 yamt #define AR9285_AN_RF2G4_DB1_3_S 29
100 1.1.12.2 yamt #define AR9271_AN_RF2G4_DB2_M 0xe0000000
101 1.1.12.2 yamt #define AR9271_AN_RF2G4_DB2_S 29
102 1.1.12.2 yamt
103 1.1.12.2 yamt /* Bits for AR9285_AN_RF2G5. */
104 1.1.12.2 yamt #define AR9285_AN_RF2G5_IC50TX_M 0x00000700
105 1.1.12.2 yamt #define AR9285_AN_RF2G5_IC50TX_S 8
106 1.1.12.2 yamt
107 1.1.12.2 yamt /* Bits for AR9285_AN_RF2G6. */
108 1.1.12.2 yamt #define AR9285_AN_RF2G6_CCOMP_M 0x00007800
109 1.1.12.2 yamt #define AR9285_AN_RF2G6_CCOMP_S 11
110 1.1.12.2 yamt #define AR9285_AN_RF2G6_OFFS_6_1 0x03f00000
111 1.1.12.2 yamt #define AR9285_AN_RF2G6_OFFS(i) (1 << (19 + (i)))
112 1.1.12.2 yamt #define AR9271_AN_RF2G6_OFFS_6_0 0x07f00000
113 1.1.12.2 yamt #define AR9271_AN_RF2G6_OFFS(i) (1 << (20 + (i)))
114 1.1.12.2 yamt
115 1.1.12.2 yamt /* Bits for AR9285_AN_RF2G7. */
116 1.1.12.2 yamt #define AR9285_AN_RF2G7_PWDDB 0x00000002
117 1.1.12.2 yamt #define AR9285_AN_RF2G7_PADRVGN2TAB0_M 0xe0000000
118 1.1.12.2 yamt #define AR9285_AN_RF2G7_PADRVGN2TAB0_S 29
119 1.1.12.2 yamt
120 1.1.12.2 yamt /* Bits for AR9285_AN_RF2G8. */
121 1.1.12.2 yamt #define AR9285_AN_RF2G8_PADRVGN2TAB0_M 0x0001c000
122 1.1.12.2 yamt #define AR9285_AN_RF2G8_PADRVGN2TAB0_S 14
123 1.1.12.2 yamt
124 1.1.12.2 yamt /* Bits for AR9285_AN_RXTXBB1. */
125 1.1.12.2 yamt #define AR9285_AN_RXTXBB1_SPARE9 0x00000001
126 1.1.12.2 yamt #define AR9285_AN_RXTXBB1_PDRXTXBB1 0x00000020
127 1.1.12.2 yamt #define AR9285_AN_RXTXBB1_PDV2I 0x00000080
128 1.1.12.2 yamt #define AR9285_AN_RXTXBB1_PDDACIF 0x00000100
129 1.1.12.2 yamt
130 1.1.12.2 yamt /* Bits for AR9285_AN_TOP2. */
131 1.1.12.2 yamt #define AR9285_AN_TOP2_DEFAULT 0xca0358a0 /* XXX magic */
132 1.1.12.2 yamt
133 1.1.12.2 yamt /* Bits for AR9285_AN_TOP3. */
134 1.1.12.2 yamt #define AR9285_AN_TOP3_XPABIAS_LVL_M 0x0000000c
135 1.1.12.2 yamt #define AR9285_AN_TOP3_XPABIAS_LVL_S 2
136 1.1.12.2 yamt #define AR9285_AN_TOP3_PWDDAC 0x00800000
137 1.1.12.2 yamt
138 1.1.12.2 yamt /* Bits for AR9285_AN_TOP4. */
139 1.1.12.2 yamt #define AR9285_AN_TOP4_DEFAULT 0x10142c00 /* XXX magic */
140 1.1.12.2 yamt #define AR9285_AN_TOP4_UNLOCKED 0x10142c14 /* XXX magic */
141 1.1.12.2 yamt
142 1.1.12.2 yamt /* Bits for AR_PHY_MULTICHAIN_GAIN_CTL. */
143 1.1.12.2 yamt #define AR9285_PHY_ANT_DIV_CTL_ALL_M 0x7f000000
144 1.1.12.2 yamt #define AR9285_PHY_ANT_DIV_CTL_ALL_S 24
145 1.1.12.2 yamt #define AR9285_PHY_ANT_DIV_CTL_M 0x01000000
146 1.1.12.2 yamt #define AR9285_PHY_ANT_DIV_CTL_S 24
147 1.1.12.2 yamt #define AR9285_PHY_ANT_DIV_ALT_LNACONF_M 0x06000000
148 1.1.12.2 yamt #define AR9285_PHY_ANT_DIV_ALT_LNACONF_S 25
149 1.1.12.2 yamt #define AR9285_PHY_ANT_DIV_MAIN_LNACONF_M 0x18000000
150 1.1.12.2 yamt #define AR9285_PHY_ANT_DIV_MAIN_LNACONF_S 27
151 1.1.12.2 yamt #define AR9285_PHY_ANT_DIV_ALT_GAINTB_M 0x20000000
152 1.1.12.2 yamt #define AR9285_PHY_ANT_DIV_ALT_GAINTB_S 29
153 1.1.12.2 yamt #define AR9285_PHY_ANT_DIV_MAIN_GAINTB_M 0x40000000
154 1.1.12.2 yamt #define AR9285_PHY_ANT_DIV_MAIN_GAINTB_S 30
155 1.1.12.2 yamt
156 1.1.12.2 yamt /*
157 1.1.12.2 yamt * ROM layout used by AR9285 (single-stream, 2GHz only).
158 1.1.12.2 yamt */
159 1.1.12.2 yamt #define AR9285_EEP_START_LOC 64
160 1.1.12.2 yamt #define AR9285_NUM_2G_CAL_PIERS 3
161 1.1.12.2 yamt #define AR9285_NUM_2G_CCK_TARGET_POWERS 3
162 1.1.12.2 yamt #define AR9285_NUM_2G_20_TARGET_POWERS 3
163 1.1.12.2 yamt #define AR9285_NUM_2G_40_TARGET_POWERS 3
164 1.1.12.2 yamt #define AR9285_NUM_CTLS 12
165 1.1.12.2 yamt #define AR9285_NUM_BAND_EDGES 4
166 1.1.12.2 yamt #define AR9285_NUM_PD_GAINS 2
167 1.1.12.2 yamt #define AR9285_PD_GAINS_IN_MASK 4
168 1.1.12.2 yamt #define AR9285_PD_GAIN_ICEPTS 5
169 1.1.12.2 yamt
170 1.1.12.2 yamt struct ar9285_base_eep_header {
171 1.1.12.2 yamt uint16_t length;
172 1.1.12.2 yamt uint16_t checksum;
173 1.1.12.2 yamt uint16_t version;
174 1.1.12.2 yamt uint8_t opCapFlags;
175 1.1.12.2 yamt uint8_t eepMisc;
176 1.1.12.2 yamt uint16_t regDmn[2];
177 1.1.12.2 yamt uint8_t macAddr[6];
178 1.1.12.2 yamt uint8_t rxMask;
179 1.1.12.2 yamt uint8_t txMask;
180 1.1.12.2 yamt uint16_t rfSilent;
181 1.1.12.2 yamt uint16_t blueToothOptions;
182 1.1.12.2 yamt uint16_t deviceCap;
183 1.1.12.2 yamt uint32_t binBuildNumber;
184 1.1.12.2 yamt uint8_t deviceType;
185 1.1.12.2 yamt /* End of common header. */
186 1.1.12.2 yamt uint8_t txGainType;
187 1.1.12.2 yamt } __packed;
188 1.1.12.2 yamt
189 1.1.12.2 yamt struct ar9285_modal_eep_header {
190 1.1.12.2 yamt uint32_t antCtrlChain;
191 1.1.12.2 yamt uint32_t antCtrlCommon;
192 1.1.12.2 yamt uint8_t antennaGain;
193 1.1.12.2 yamt uint8_t switchSettling;
194 1.1.12.2 yamt uint8_t txRxAtten;
195 1.1.12.2 yamt uint8_t rxTxMargin;
196 1.1.12.2 yamt uint8_t adcDesiredSize;
197 1.1.12.2 yamt uint8_t pgaDesiredSize;
198 1.1.12.2 yamt uint8_t xlnaGain;
199 1.1.12.2 yamt uint8_t txEndToXpaOff;
200 1.1.12.2 yamt uint8_t txEndToRxOn;
201 1.1.12.2 yamt uint8_t txFrameToXpaOn;
202 1.1.12.2 yamt uint8_t thresh62;
203 1.1.12.2 yamt uint8_t noiseFloorThresh;
204 1.1.12.2 yamt uint8_t xpdGain;
205 1.1.12.2 yamt uint8_t xpd;
206 1.1.12.2 yamt uint8_t iqCalI;
207 1.1.12.2 yamt uint8_t iqCalQ;
208 1.1.12.2 yamt uint8_t pdGainOverlap;
209 1.1.12.2 yamt uint8_t ob_01;
210 1.1.12.2 yamt uint8_t db1_01;
211 1.1.12.2 yamt uint8_t xpaBiasLvl;
212 1.1.12.2 yamt uint8_t txFrameToDataStart;
213 1.1.12.2 yamt uint8_t txFrameToPaOn;
214 1.1.12.2 yamt uint8_t ht40PowerIncForPdadc;
215 1.1.12.2 yamt uint8_t bswAtten;
216 1.1.12.2 yamt uint8_t bswMargin;
217 1.1.12.2 yamt uint8_t swSettleHt40;
218 1.1.12.2 yamt uint8_t xatten2Db;
219 1.1.12.2 yamt uint8_t xatten2Margin;
220 1.1.12.2 yamt uint8_t db2_01;
221 1.1.12.2 yamt uint8_t version;
222 1.1.12.2 yamt uint16_t ob_234;
223 1.1.12.2 yamt uint16_t db1_234;
224 1.1.12.2 yamt uint16_t db2_234;
225 1.1.12.2 yamt uint8_t futureModal[4];
226 1.1.12.2 yamt struct ar_spur_chan spurChans[AR_EEPROM_MODAL_SPURS];
227 1.1.12.2 yamt } __packed;
228 1.1.12.2 yamt
229 1.1.12.2 yamt struct ar9285_cal_data_per_freq {
230 1.1.12.2 yamt uint8_t pwrPdg[AR9285_NUM_PD_GAINS][AR9285_PD_GAIN_ICEPTS];
231 1.1.12.2 yamt uint8_t vpdPdg[AR9285_NUM_PD_GAINS][AR9285_PD_GAIN_ICEPTS];
232 1.1.12.2 yamt } __packed;
233 1.1.12.2 yamt
234 1.1.12.2 yamt struct ar9285_cal_ctl_data {
235 1.1.12.2 yamt struct ar_cal_ctl_edges ctlEdges[AR9285_NUM_BAND_EDGES];
236 1.1.12.2 yamt } __packed;
237 1.1.12.2 yamt
238 1.1.12.2 yamt struct ar9285_eeprom {
239 1.1.12.2 yamt struct ar9285_base_eep_header baseEepHeader;
240 1.1.12.2 yamt uint8_t custData[20];
241 1.1.12.2 yamt struct ar9285_modal_eep_header modalHeader;
242 1.1.12.2 yamt uint8_t calFreqPier2G[AR9285_NUM_2G_CAL_PIERS];
243 1.1.12.2 yamt struct ar9285_cal_data_per_freq
244 1.1.12.2 yamt calPierData2G[AR9285_NUM_2G_CAL_PIERS];
245 1.1.12.2 yamt struct ar_cal_target_power_leg
246 1.1.12.2 yamt calTargetPowerCck[AR9285_NUM_2G_CCK_TARGET_POWERS];
247 1.1.12.2 yamt struct ar_cal_target_power_leg
248 1.1.12.2 yamt calTargetPower2G[AR9285_NUM_2G_20_TARGET_POWERS];
249 1.1.12.2 yamt struct ar_cal_target_power_ht
250 1.1.12.2 yamt calTargetPower2GHT20[AR9285_NUM_2G_20_TARGET_POWERS];
251 1.1.12.2 yamt struct ar_cal_target_power_ht
252 1.1.12.2 yamt calTargetPower2GHT40[AR9285_NUM_2G_40_TARGET_POWERS];
253 1.1.12.2 yamt uint8_t ctlIndex[AR9285_NUM_CTLS];
254 1.1.12.2 yamt struct ar9285_cal_ctl_data ctlData[AR9285_NUM_CTLS];
255 1.1.12.2 yamt uint8_t padding;
256 1.1.12.2 yamt } __packed;
257 1.1.12.2 yamt
258 1.1.12.2 yamt /* Macro to "pack" registers to 16-bit to save some .rodata space. */
259 1.1.12.2 yamt #define P(x) (x)
260 1.1.12.2 yamt
261 1.1.12.2 yamt /*
262 1.1.12.2 yamt * AR9285 1.2 initialization values.
263 1.1.12.2 yamt */
264 1.1.12.2 yamt static const uint16_t ar9285_1_2_regs[] = {
265 1.1.12.2 yamt P(0x01030), P(0x01070), P(0x010b0), P(0x010f0), P(0x08014),
266 1.1.12.2 yamt P(0x0801c), P(0x08318), P(0x09804), P(0x09820), P(0x09824),
267 1.1.12.2 yamt P(0x09828), P(0x09834), P(0x09838), P(0x09840), P(0x09844),
268 1.1.12.2 yamt P(0x09848), P(0x0a848), P(0x09850), P(0x09858), P(0x0985c),
269 1.1.12.2 yamt P(0x09860), P(0x09864), P(0x09868), P(0x0986c), P(0x09914),
270 1.1.12.2 yamt P(0x09918), P(0x09924), P(0x09944), P(0x09960), P(0x09964),
271 1.1.12.2 yamt P(0x099b8), P(0x099bc), P(0x099c0), P(0x099c4), P(0x099c8),
272 1.1.12.2 yamt P(0x099cc), P(0x099d0), P(0x099d4), P(0x099d8), P(0x09a00),
273 1.1.12.2 yamt P(0x09a04), P(0x09a08), P(0x09a0c), P(0x09a10), P(0x09a14),
274 1.1.12.2 yamt P(0x09a18), P(0x09a1c), P(0x09a20), P(0x09a24), P(0x09a28),
275 1.1.12.2 yamt P(0x09a2c), P(0x09a30), P(0x09a34), P(0x09a38), P(0x09a3c),
276 1.1.12.2 yamt P(0x09a40), P(0x09a44), P(0x09a48), P(0x09a4c), P(0x09a50),
277 1.1.12.2 yamt P(0x09a54), P(0x09a58), P(0x09a5c), P(0x09a60), P(0x09a64),
278 1.1.12.2 yamt P(0x09a68), P(0x09a6c), P(0x09a70), P(0x09a74), P(0x09a78),
279 1.1.12.2 yamt P(0x09a7c), P(0x09a80), P(0x09a84), P(0x09a88), P(0x09a8c),
280 1.1.12.2 yamt P(0x09a90), P(0x09a94), P(0x09a98), P(0x09a9c), P(0x09aa0),
281 1.1.12.2 yamt P(0x09aa4), P(0x09aa8), P(0x09aac), P(0x09ab0), P(0x09ab4),
282 1.1.12.2 yamt P(0x09ab8), P(0x09abc), P(0x09ac0), P(0x09ac4), P(0x09ac8),
283 1.1.12.2 yamt P(0x09acc), P(0x09ad0), P(0x09ad4), P(0x09ad8), P(0x09adc),
284 1.1.12.2 yamt P(0x09ae0), P(0x09ae4), P(0x09ae8), P(0x09aec), P(0x09af0),
285 1.1.12.2 yamt P(0x09af4), P(0x09af8), P(0x09afc), P(0x09b00), P(0x09b04),
286 1.1.12.2 yamt P(0x09b08), P(0x09b0c), P(0x09b10), P(0x09b14), P(0x09b18),
287 1.1.12.2 yamt P(0x09b1c), P(0x09b20), P(0x09b24), P(0x09b28), P(0x09b2c),
288 1.1.12.2 yamt P(0x09b30), P(0x09b34), P(0x09b38), P(0x09b3c), P(0x09b40),
289 1.1.12.2 yamt P(0x09b44), P(0x09b48), P(0x09b4c), P(0x09b50), P(0x09b54),
290 1.1.12.2 yamt P(0x09b58), P(0x09b5c), P(0x09b60), P(0x09b64), P(0x09b68),
291 1.1.12.2 yamt P(0x09b6c), P(0x09b70), P(0x09b74), P(0x09b78), P(0x09b7c),
292 1.1.12.2 yamt P(0x09b80), P(0x09b84), P(0x09b88), P(0x09b8c), P(0x09b90),
293 1.1.12.2 yamt P(0x09b94), P(0x09b98), P(0x09b9c), P(0x09ba0), P(0x09ba4),
294 1.1.12.2 yamt P(0x09ba8), P(0x09bac), P(0x09bb0), P(0x09bb4), P(0x09bb8),
295 1.1.12.2 yamt P(0x09bbc), P(0x09bc0), P(0x09bc4), P(0x09bc8), P(0x09bcc),
296 1.1.12.2 yamt P(0x09bd0), P(0x09bd4), P(0x09bd8), P(0x09bdc), P(0x09be0),
297 1.1.12.2 yamt P(0x09be4), P(0x09be8), P(0x09bec), P(0x09bf0), P(0x09bf4),
298 1.1.12.2 yamt P(0x09bf8), P(0x09bfc), P(0x0aa00), P(0x0aa04), P(0x0aa08),
299 1.1.12.2 yamt P(0x0aa0c), P(0x0aa10), P(0x0aa14), P(0x0aa18), P(0x0aa1c),
300 1.1.12.2 yamt P(0x0aa20), P(0x0aa24), P(0x0aa28), P(0x0aa2c), P(0x0aa30),
301 1.1.12.2 yamt P(0x0aa34), P(0x0aa38), P(0x0aa3c), P(0x0aa40), P(0x0aa44),
302 1.1.12.2 yamt P(0x0aa48), P(0x0aa4c), P(0x0aa50), P(0x0aa54), P(0x0aa58),
303 1.1.12.2 yamt P(0x0aa5c), P(0x0aa60), P(0x0aa64), P(0x0aa68), P(0x0aa6c),
304 1.1.12.2 yamt P(0x0aa70), P(0x0aa74), P(0x0aa78), P(0x0aa7c), P(0x0aa80),
305 1.1.12.2 yamt P(0x0aa84), P(0x0aa88), P(0x0aa8c), P(0x0aa90), P(0x0aa94),
306 1.1.12.2 yamt P(0x0aa98), P(0x0aa9c), P(0x0aaa0), P(0x0aaa4), P(0x0aaa8),
307 1.1.12.2 yamt P(0x0aaac), P(0x0aab0), P(0x0aab4), P(0x0aab8), P(0x0aabc),
308 1.1.12.2 yamt P(0x0aac0), P(0x0aac4), P(0x0aac8), P(0x0aacc), P(0x0aad0),
309 1.1.12.2 yamt P(0x0aad4), P(0x0aad8), P(0x0aadc), P(0x0aae0), P(0x0aae4),
310 1.1.12.2 yamt P(0x0aae8), P(0x0aaec), P(0x0aaf0), P(0x0aaf4), P(0x0aaf8),
311 1.1.12.2 yamt P(0x0aafc), P(0x0ab00), P(0x0ab04), P(0x0ab08), P(0x0ab0c),
312 1.1.12.2 yamt P(0x0ab10), P(0x0ab14), P(0x0ab18), P(0x0ab1c), P(0x0ab20),
313 1.1.12.2 yamt P(0x0ab24), P(0x0ab28), P(0x0ab2c), P(0x0ab30), P(0x0ab34),
314 1.1.12.2 yamt P(0x0ab38), P(0x0ab3c), P(0x0ab40), P(0x0ab44), P(0x0ab48),
315 1.1.12.2 yamt P(0x0ab4c), P(0x0ab50), P(0x0ab54), P(0x0ab58), P(0x0ab5c),
316 1.1.12.2 yamt P(0x0ab60), P(0x0ab64), P(0x0ab68), P(0x0ab6c), P(0x0ab70),
317 1.1.12.2 yamt P(0x0ab74), P(0x0ab78), P(0x0ab7c), P(0x0ab80), P(0x0ab84),
318 1.1.12.2 yamt P(0x0ab88), P(0x0ab8c), P(0x0ab90), P(0x0ab94), P(0x0ab98),
319 1.1.12.2 yamt P(0x0ab9c), P(0x0aba0), P(0x0aba4), P(0x0aba8), P(0x0abac),
320 1.1.12.2 yamt P(0x0abb0), P(0x0abb4), P(0x0abb8), P(0x0abbc), P(0x0abc0),
321 1.1.12.2 yamt P(0x0abc4), P(0x0abc8), P(0x0abcc), P(0x0abd0), P(0x0abd4),
322 1.1.12.2 yamt P(0x0abd8), P(0x0abdc), P(0x0abe0), P(0x0abe4), P(0x0abe8),
323 1.1.12.2 yamt P(0x0abec), P(0x0abf0), P(0x0abf4), P(0x0abf8), P(0x0abfc),
324 1.1.12.2 yamt P(0x0a204), P(0x0a20c), P(0x0b20c), P(0x0a21c), P(0x0a230),
325 1.1.12.2 yamt P(0x0a250), P(0x0a358)
326 1.1.12.2 yamt };
327 1.1.12.2 yamt
328 1.1.12.2 yamt #ifndef IEEE80211_NO_HT
329 1.1.12.2 yamt static const uint32_t ar9285_1_2_vals_2g40[] = {
330 1.1.12.2 yamt 0x000002c0, 0x00000318, 0x00007c70, 0x00000000, 0x10801600,
331 1.1.12.2 yamt 0x12e00057, 0x00006880, 0x000003c4, 0x02020200, 0x01000e0e,
332 1.1.12.2 yamt 0x0a020001, 0x00000e0e, 0x00000007, 0x206a012e, 0x03721620,
333 1.1.12.2 yamt 0x00001053, 0x00001053, 0x6d4000e2, 0x7ec84d2e, 0x3137605e,
334 1.1.12.2 yamt 0x00058d20, 0x0001ce00, 0x5ac640d0, 0x06903881, 0x00001130,
335 1.1.12.2 yamt 0x00000016, 0xd00a800d, 0xffbc1020, 0x00000000, 0x00000000,
336 1.1.12.2 yamt 0x0000421c, 0x00000c00, 0x05eea6d4, 0x06336f77, 0x6af6532f,
337 1.1.12.2 yamt 0x08f186c8, 0x00046384, 0x00000000, 0x00000000, 0x00058084,
338 1.1.12.2 yamt 0x00058088, 0x0005808c, 0x00058100, 0x00058104, 0x00058108,
339 1.1.12.2 yamt 0x0005810c, 0x00058110, 0x00058114, 0x00058180, 0x00058184,
340 1.1.12.2 yamt 0x00058188, 0x0005818c, 0x00058190, 0x00058194, 0x000581a0,
341 1.1.12.2 yamt 0x0005820c, 0x000581a8, 0x00058284, 0x00058288, 0x00058224,
342 1.1.12.2 yamt 0x00058290, 0x00058300, 0x00058304, 0x00058308, 0x0005830c,
343 1.1.12.2 yamt 0x00058380, 0x00058384, 0x00068700, 0x00068704, 0x00068708,
344 1.1.12.2 yamt 0x0006870c, 0x00068780, 0x00068784, 0x00078b00, 0x00078b04,
345 1.1.12.2 yamt 0x00078b08, 0x00078b0c, 0x00078b80, 0x00078b84, 0x00078b88,
346 1.1.12.2 yamt 0x00078b8c, 0x00078b90, 0x000caf80, 0x000caf84, 0x000caf88,
347 1.1.12.2 yamt 0x000caf8c, 0x000caf90, 0x000db30c, 0x000db310, 0x000db384,
348 1.1.12.2 yamt 0x000db388, 0x000db324, 0x000eb704, 0x000eb6a4, 0x000eb6a8,
349 1.1.12.2 yamt 0x000eb710, 0x000eb714, 0x000eb720, 0x000eb724, 0x000eb728,
350 1.1.12.2 yamt 0x000eb72c, 0x000eb7a0, 0x000eb7a4, 0x000eb7a8, 0x000eb7b0,
351 1.1.12.2 yamt 0x000eb7b4, 0x000eb7b8, 0x000eb7a5, 0x000eb7a9, 0x000eb7ad,
352 1.1.12.2 yamt 0x000eb7b1, 0x000eb7b5, 0x000eb7b9, 0x000eb7c5, 0x000eb7c9,
353 1.1.12.2 yamt 0x000eb7d1, 0x000eb7d5, 0x000eb7d9, 0x000eb7c6, 0x000eb7ca,
354 1.1.12.2 yamt 0x000eb7ce, 0x000eb7d2, 0x000eb7d6, 0x000eb7c3, 0x000eb7c7,
355 1.1.12.2 yamt 0x000eb7cb, 0x000eb7cf, 0x000eb7d7, 0x000eb7db, 0x000eb7db,
356 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
357 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
358 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
359 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
360 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
361 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
362 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
363 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x00058084, 0x00058088, 0x0005808c,
364 1.1.12.2 yamt 0x00058100, 0x00058104, 0x00058108, 0x0005810c, 0x00058110,
365 1.1.12.2 yamt 0x00058114, 0x00058180, 0x00058184, 0x00058188, 0x0005818c,
366 1.1.12.2 yamt 0x00058190, 0x00058194, 0x000581a0, 0x0005820c, 0x000581a8,
367 1.1.12.2 yamt 0x00058284, 0x00058288, 0x00058224, 0x00058290, 0x00058300,
368 1.1.12.2 yamt 0x00058304, 0x00058308, 0x0005830c, 0x00058380, 0x00058384,
369 1.1.12.2 yamt 0x00068700, 0x00068704, 0x00068708, 0x0006870c, 0x00068780,
370 1.1.12.2 yamt 0x00068784, 0x00078b00, 0x00078b04, 0x00078b08, 0x00078b0c,
371 1.1.12.2 yamt 0x00078b80, 0x00078b84, 0x00078b88, 0x00078b8c, 0x00078b90,
372 1.1.12.2 yamt 0x000caf80, 0x000caf84, 0x000caf88, 0x000caf8c, 0x000caf90,
373 1.1.12.2 yamt 0x000db30c, 0x000db310, 0x000db384, 0x000db388, 0x000db324,
374 1.1.12.2 yamt 0x000eb704, 0x000eb6a4, 0x000eb6a8, 0x000eb710, 0x000eb714,
375 1.1.12.2 yamt 0x000eb720, 0x000eb724, 0x000eb728, 0x000eb72c, 0x000eb7a0,
376 1.1.12.2 yamt 0x000eb7a4, 0x000eb7a8, 0x000eb7b0, 0x000eb7b4, 0x000eb7b8,
377 1.1.12.2 yamt 0x000eb7a5, 0x000eb7a9, 0x000eb7ad, 0x000eb7b1, 0x000eb7b5,
378 1.1.12.2 yamt 0x000eb7b9, 0x000eb7c5, 0x000eb7c9, 0x000eb7d1, 0x000eb7d5,
379 1.1.12.2 yamt 0x000eb7d9, 0x000eb7c6, 0x000eb7ca, 0x000eb7ce, 0x000eb7d2,
380 1.1.12.2 yamt 0x000eb7d6, 0x000eb7c3, 0x000eb7c7, 0x000eb7cb, 0x000eb7cf,
381 1.1.12.2 yamt 0x000eb7d7, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
382 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
383 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
384 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
385 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
386 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
387 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
388 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
389 1.1.12.2 yamt 0x00000004, 0x0001f000, 0x0001f000, 0x1883800a, 0x00000210,
390 1.1.12.2 yamt 0x0004a000, 0x7999aa0e
391 1.1.12.2 yamt };
392 1.1.12.2 yamt #endif
393 1.1.12.2 yamt
394 1.1.12.2 yamt static const uint32_t ar9285_1_2_vals_2g20[] = {
395 1.1.12.2 yamt 0x00000160, 0x0000018c, 0x00003e38, 0x00000000, 0x08400b00,
396 1.1.12.2 yamt 0x12e0002b, 0x00003440, 0x00000300, 0x02020200, 0x01000e0e,
397 1.1.12.2 yamt 0x0a020001, 0x00000e0e, 0x00000007, 0x206a012e, 0x03721620,
398 1.1.12.2 yamt 0x00001053, 0x00001053, 0x6d4000e2, 0x7ec84d2e, 0x3137605e,
399 1.1.12.2 yamt 0x00058d20, 0x0001ce00, 0x5ac640d0, 0x06903881, 0x00000898,
400 1.1.12.2 yamt 0x0000000b, 0xd00a800d, 0xffbc1020, 0x00000000, 0x00000000,
401 1.1.12.2 yamt 0x0000421c, 0x00000c00, 0x05eea6d4, 0x06336f77, 0x6af6532f,
402 1.1.12.2 yamt 0x08f186c8, 0x00046384, 0x00000000, 0x00000000, 0x00058084,
403 1.1.12.2 yamt 0x00058088, 0x0005808c, 0x00058100, 0x00058104, 0x00058108,
404 1.1.12.2 yamt 0x0005810c, 0x00058110, 0x00058114, 0x00058180, 0x00058184,
405 1.1.12.2 yamt 0x00058188, 0x0005818c, 0x00058190, 0x00058194, 0x000581a0,
406 1.1.12.2 yamt 0x0005820c, 0x000581a8, 0x00058284, 0x00058288, 0x00058224,
407 1.1.12.2 yamt 0x00058290, 0x00058300, 0x00058304, 0x00058308, 0x0005830c,
408 1.1.12.2 yamt 0x00058380, 0x00058384, 0x00068700, 0x00068704, 0x00068708,
409 1.1.12.2 yamt 0x0006870c, 0x00068780, 0x00068784, 0x00078b00, 0x00078b04,
410 1.1.12.2 yamt 0x00078b08, 0x00078b0c, 0x00078b80, 0x00078b84, 0x00078b88,
411 1.1.12.2 yamt 0x00078b8c, 0x00078b90, 0x000caf80, 0x000caf84, 0x000caf88,
412 1.1.12.2 yamt 0x000caf8c, 0x000caf90, 0x000db30c, 0x000db310, 0x000db384,
413 1.1.12.2 yamt 0x000db388, 0x000db324, 0x000eb704, 0x000eb6a4, 0x000eb6a8,
414 1.1.12.2 yamt 0x000eb710, 0x000eb714, 0x000eb720, 0x000eb724, 0x000eb728,
415 1.1.12.2 yamt 0x000eb72c, 0x000eb7a0, 0x000eb7a4, 0x000eb7a8, 0x000eb7b0,
416 1.1.12.2 yamt 0x000eb7b4, 0x000eb7b8, 0x000eb7a5, 0x000eb7a9, 0x000eb7ad,
417 1.1.12.2 yamt 0x000eb7b1, 0x000eb7b5, 0x000eb7b9, 0x000eb7c5, 0x000eb7c9,
418 1.1.12.2 yamt 0x000eb7d1, 0x000eb7d5, 0x000eb7d9, 0x000eb7c6, 0x000eb7ca,
419 1.1.12.2 yamt 0x000eb7ce, 0x000eb7d2, 0x000eb7d6, 0x000eb7c3, 0x000eb7c7,
420 1.1.12.2 yamt 0x000eb7cb, 0x000eb7cf, 0x000eb7d7, 0x000eb7db, 0x000eb7db,
421 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
422 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
423 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
424 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
425 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
426 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
427 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
428 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x00058084, 0x00058088, 0x0005808c,
429 1.1.12.2 yamt 0x00058100, 0x00058104, 0x00058108, 0x0005810c, 0x00058110,
430 1.1.12.2 yamt 0x00058114, 0x00058180, 0x00058184, 0x00058188, 0x0005818c,
431 1.1.12.2 yamt 0x00058190, 0x00058194, 0x000581a0, 0x0005820c, 0x000581a8,
432 1.1.12.2 yamt 0x00058284, 0x00058288, 0x00058224, 0x00058290, 0x00058300,
433 1.1.12.2 yamt 0x00058304, 0x00058308, 0x0005830c, 0x00058380, 0x00058384,
434 1.1.12.2 yamt 0x00068700, 0x00068704, 0x00068708, 0x0006870c, 0x00068780,
435 1.1.12.2 yamt 0x00068784, 0x00078b00, 0x00078b04, 0x00078b08, 0x00078b0c,
436 1.1.12.2 yamt 0x00078b80, 0x00078b84, 0x00078b88, 0x00078b8c, 0x00078b90,
437 1.1.12.2 yamt 0x000caf80, 0x000caf84, 0x000caf88, 0x000caf8c, 0x000caf90,
438 1.1.12.2 yamt 0x000db30c, 0x000db310, 0x000db384, 0x000db388, 0x000db324,
439 1.1.12.2 yamt 0x000eb704, 0x000eb6a4, 0x000eb6a8, 0x000eb710, 0x000eb714,
440 1.1.12.2 yamt 0x000eb720, 0x000eb724, 0x000eb728, 0x000eb72c, 0x000eb7a0,
441 1.1.12.2 yamt 0x000eb7a4, 0x000eb7a8, 0x000eb7b0, 0x000eb7b4, 0x000eb7b8,
442 1.1.12.2 yamt 0x000eb7a5, 0x000eb7a9, 0x000eb7ad, 0x000eb7b1, 0x000eb7b5,
443 1.1.12.2 yamt 0x000eb7b9, 0x000eb7c5, 0x000eb7c9, 0x000eb7d1, 0x000eb7d5,
444 1.1.12.2 yamt 0x000eb7d9, 0x000eb7c6, 0x000eb7ca, 0x000eb7ce, 0x000eb7d2,
445 1.1.12.2 yamt 0x000eb7d6, 0x000eb7c3, 0x000eb7c7, 0x000eb7cb, 0x000eb7cf,
446 1.1.12.2 yamt 0x000eb7d7, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
447 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
448 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
449 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
450 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
451 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
452 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
453 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
454 1.1.12.2 yamt 0x00000004, 0x0001f000, 0x0001f000, 0x1883800a, 0x00000108,
455 1.1.12.2 yamt 0x0004a000, 0x7999aa0e
456 1.1.12.2 yamt };
457 1.1.12.2 yamt
458 1.1.12.2 yamt static const uint16_t ar9285_1_2_cm_regs[] = {
459 1.1.12.2 yamt P(0x0000c), P(0x00030), P(0x00034), P(0x00040), P(0x00044),
460 1.1.12.2 yamt P(0x00048), P(0x0004c), P(0x00050), P(0x00054), P(0x00800),
461 1.1.12.2 yamt P(0x00804), P(0x00808), P(0x0080c), P(0x00810), P(0x00814),
462 1.1.12.2 yamt P(0x00818), P(0x0081c), P(0x00820), P(0x00824), P(0x01040),
463 1.1.12.2 yamt P(0x01044), P(0x01048), P(0x0104c), P(0x01050), P(0x01054),
464 1.1.12.2 yamt P(0x01058), P(0x0105c), P(0x01060), P(0x01064), P(0x01230),
465 1.1.12.2 yamt P(0x01270), P(0x01038), P(0x01078), P(0x010b8), P(0x010f8),
466 1.1.12.2 yamt P(0x01138), P(0x01178), P(0x011b8), P(0x011f8), P(0x01238),
467 1.1.12.2 yamt P(0x01278), P(0x012b8), P(0x012f8), P(0x01338), P(0x01378),
468 1.1.12.2 yamt P(0x013b8), P(0x013f8), P(0x01438), P(0x01478), P(0x014b8),
469 1.1.12.2 yamt P(0x014f8), P(0x01538), P(0x01578), P(0x015b8), P(0x015f8),
470 1.1.12.2 yamt P(0x01638), P(0x01678), P(0x016b8), P(0x016f8), P(0x01738),
471 1.1.12.2 yamt P(0x01778), P(0x017b8), P(0x017f8), P(0x0103c), P(0x0107c),
472 1.1.12.2 yamt P(0x010bc), P(0x010fc), P(0x0113c), P(0x0117c), P(0x011bc),
473 1.1.12.2 yamt P(0x011fc), P(0x0123c), P(0x0127c), P(0x012bc), P(0x012fc),
474 1.1.12.2 yamt P(0x0133c), P(0x0137c), P(0x013bc), P(0x013fc), P(0x0143c),
475 1.1.12.2 yamt P(0x0147c), P(0x04030), P(0x0403c), P(0x04024), P(0x04060),
476 1.1.12.2 yamt P(0x04064), P(0x07010), P(0x07034), P(0x07038), P(0x08004),
477 1.1.12.2 yamt P(0x08008), P(0x0800c), P(0x08018), P(0x08020), P(0x08038),
478 1.1.12.2 yamt P(0x0803c), P(0x08048), P(0x08054), P(0x08058), P(0x0805c),
479 1.1.12.2 yamt P(0x08060), P(0x08064), P(0x08070), P(0x080c0), P(0x080c4),
480 1.1.12.2 yamt P(0x080c8), P(0x080cc), P(0x080d0), P(0x080d4), P(0x080d8),
481 1.1.12.2 yamt P(0x080e0), P(0x080e4), P(0x080e8), P(0x080ec), P(0x080f0),
482 1.1.12.2 yamt P(0x080f4), P(0x080f8), P(0x080fc), P(0x08100), P(0x08104),
483 1.1.12.2 yamt P(0x08108), P(0x0810c), P(0x08110), P(0x08118), P(0x0811c),
484 1.1.12.2 yamt P(0x08120), P(0x08124), P(0x08128), P(0x0812c), P(0x08130),
485 1.1.12.2 yamt P(0x08134), P(0x08138), P(0x0813c), P(0x08144), P(0x08168),
486 1.1.12.2 yamt P(0x0816c), P(0x08170), P(0x08174), P(0x08178), P(0x0817c),
487 1.1.12.2 yamt P(0x081c0), P(0x081d0), P(0x081ec), P(0x081f0), P(0x081f4),
488 1.1.12.2 yamt P(0x081f8), P(0x081fc), P(0x08200), P(0x08204), P(0x08208),
489 1.1.12.2 yamt P(0x0820c), P(0x08210), P(0x08214), P(0x08218), P(0x0821c),
490 1.1.12.2 yamt P(0x08220), P(0x08224), P(0x08228), P(0x0822c), P(0x08230),
491 1.1.12.2 yamt P(0x08234), P(0x08238), P(0x0823c), P(0x08240), P(0x08244),
492 1.1.12.2 yamt P(0x08248), P(0x0824c), P(0x08250), P(0x08254), P(0x08258),
493 1.1.12.2 yamt P(0x0825c), P(0x08260), P(0x08264), P(0x08270), P(0x08274),
494 1.1.12.2 yamt P(0x08278), P(0x0827c), P(0x08284), P(0x08288), P(0x0828c),
495 1.1.12.2 yamt P(0x08294), P(0x08298), P(0x0829c), P(0x08300), P(0x08314),
496 1.1.12.2 yamt P(0x08328), P(0x0832c), P(0x08330), P(0x08334), P(0x08338),
497 1.1.12.2 yamt P(0x0833c), P(0x08340), P(0x08344), P(0x09808), P(0x0980c),
498 1.1.12.2 yamt P(0x09810), P(0x09814), P(0x0981c), P(0x0982c), P(0x09830),
499 1.1.12.2 yamt P(0x0983c), P(0x0984c), P(0x09854), P(0x09900), P(0x09904),
500 1.1.12.2 yamt P(0x09908), P(0x0990c), P(0x09910), P(0x0991c), P(0x09920),
501 1.1.12.2 yamt P(0x09928), P(0x0992c), P(0x09934), P(0x09938), P(0x0993c),
502 1.1.12.2 yamt P(0x09940), P(0x09948), P(0x0994c), P(0x09954), P(0x09958),
503 1.1.12.2 yamt P(0x09968), P(0x09970), P(0x09974), P(0x09978), P(0x0997c),
504 1.1.12.2 yamt P(0x09980), P(0x09984), P(0x09988), P(0x0998c), P(0x09990),
505 1.1.12.2 yamt P(0x09994), P(0x09998), P(0x0999c), P(0x099a0), P(0x099a4),
506 1.1.12.2 yamt P(0x099a8), P(0x099ac), P(0x099b0), P(0x099b4), P(0x099dc),
507 1.1.12.2 yamt P(0x099e0), P(0x099e4), P(0x099e8), P(0x099ec), P(0x099f0),
508 1.1.12.2 yamt P(0x0a208), P(0x0a210), P(0x0a214), P(0x0a218), P(0x0a220),
509 1.1.12.2 yamt P(0x0a224), P(0x0a228), P(0x0a22c), P(0x0a234), P(0x0a238),
510 1.1.12.2 yamt P(0x0a244), P(0x0a248), P(0x0a24c), P(0x0a254), P(0x0a258),
511 1.1.12.2 yamt P(0x0a25c), P(0x0a260), P(0x0a268), P(0x0a26c), P(0x0d270),
512 1.1.12.2 yamt P(0x0d35c), P(0x0d360), P(0x0d364), P(0x0d368), P(0x0d36c),
513 1.1.12.2 yamt P(0x0d370), P(0x0d374), P(0x0d378), P(0x0d37c), P(0x0d380),
514 1.1.12.2 yamt P(0x0d384), P(0x0a388), P(0x0a38c), P(0x0a390), P(0x0a39c),
515 1.1.12.2 yamt P(0x0a3a0), P(0x0a3a4), P(0x0a3a8), P(0x0a3ac), P(0x0a3b0),
516 1.1.12.2 yamt P(0x0a3b4), P(0x0a3b8), P(0x0a3bc), P(0x0a3c0), P(0x0a3c4),
517 1.1.12.2 yamt P(0x0a3cc), P(0x0a3d0), P(0x0a3d4), P(0x0a3e4), P(0x0a3e8),
518 1.1.12.2 yamt P(0x0a3ec), P(0x07800), P(0x07804), P(0x07808), P(0x0780c),
519 1.1.12.2 yamt P(0x07810), P(0x0781c), P(0x07824), P(0x0782c), P(0x07834),
520 1.1.12.2 yamt P(0x07844), P(0x07848), P(0x0784c), P(0x07850), P(0x07854),
521 1.1.12.2 yamt P(0x07858), P(0x0785c), P(0x07860), P(0x07864), P(0x07868),
522 1.1.12.2 yamt P(0x07870)
523 1.1.12.2 yamt };
524 1.1.12.2 yamt
525 1.1.12.2 yamt static const uint32_t ar9285_1_2_cm_vals[] = {
526 1.1.12.2 yamt 0x00000000, 0x00020045, 0x00000005, 0x00000000, 0x00000008,
527 1.1.12.2 yamt 0x00000008, 0x00000010, 0x00000000, 0x0000001f, 0x00000000,
528 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
529 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x002ffc0f,
530 1.1.12.2 yamt 0x002ffc0f, 0x002ffc0f, 0x002ffc0f, 0x002ffc0f, 0x002ffc0f,
531 1.1.12.2 yamt 0x002ffc0f, 0x002ffc0f, 0x002ffc0f, 0x002ffc0f, 0x00000000,
532 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
533 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
534 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
535 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
536 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
537 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
538 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
539 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
540 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
541 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
542 1.1.12.2 yamt 0x00000000, 0x00000002, 0x00000002, 0x0000001f, 0x00000000,
543 1.1.12.2 yamt 0x00000000, 0x00000031, 0x00000002, 0x000004c2, 0x00000000,
544 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000700, 0x00000000, 0x00000000,
545 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000fc78f,
546 1.1.12.2 yamt 0x0000000f, 0x00000000, 0x00000000, 0x2a80001a, 0x05dc01e0,
547 1.1.12.2 yamt 0x1f402710, 0x01f40000, 0x00001e00, 0x00000000, 0x00400000,
548 1.1.12.2 yamt 0xffffffff, 0x0000ffff, 0x003f3f3f, 0x00000000, 0x00000000,
549 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00020000, 0x00020000, 0x00000001,
550 1.1.12.2 yamt 0x00000052, 0x00000000, 0x00000168, 0x000100aa, 0x00003210,
551 1.1.12.2 yamt 0x08f04810, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
552 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000,
553 1.1.12.2 yamt 0x00000000, 0x32143320, 0xfaa4fa50, 0x00000100, 0x00000000,
554 1.1.12.2 yamt 0x00000000, 0x0000320a, 0x00000000, 0x00000000, 0x00000000,
555 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
556 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
557 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
558 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00100000, 0x0010f400,
559 1.1.12.2 yamt 0x00000100, 0x0001e800, 0x00000000, 0x00000000, 0x00000000,
560 1.1.12.2 yamt 0x400000ff, 0x00080922, 0x88a00010, 0x00000000, 0x40000000,
561 1.1.12.2 yamt 0x003e4180, 0x00000000, 0x0000002c, 0x0000002c, 0x00000000,
562 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000040, 0x00000000,
563 1.1.12.2 yamt 0x00000000, 0x00000001, 0x00000302, 0x00000e00, 0x00ff0000,
564 1.1.12.2 yamt 0x00000000, 0x00010380, 0x00481043, 0x00000000, 0xafe68e30,
565 1.1.12.2 yamt 0xfd14e000, 0x9c0a9f6b, 0x00000000, 0x0000a000, 0x00000000,
566 1.1.12.2 yamt 0x00200400, 0x0040233c, 0x00000044, 0x00000000, 0x00000000,
567 1.1.12.2 yamt 0x00000000, 0x00000000, 0x01002310, 0x10000fff, 0x04900000,
568 1.1.12.2 yamt 0x00000001, 0x00000004, 0x1e1f2022, 0x0a0b0c0d, 0x00000000,
569 1.1.12.2 yamt 0x14750604, 0x9280c00a, 0x00020028, 0x5f3ca3de, 0x2108ecff,
570 1.1.12.2 yamt 0x000003ce, 0x192bb514, 0x00000000, 0x00000001, 0x00000000,
571 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
572 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001,
573 1.1.12.2 yamt 0x201fff00, 0x2def0400, 0x03051000, 0x00000820, 0x00000000,
574 1.1.12.2 yamt 0x00000000, 0xaaaaaaaa, 0x3c466478, 0x0cc80caa, 0x00000000,
575 1.1.12.2 yamt 0x803e68c8, 0x4080a333, 0x00206c10, 0x009c4060, 0x01834061,
576 1.1.12.2 yamt 0x00000400, 0x000003b5, 0x00000000, 0x20202020, 0x20202020,
577 1.1.12.2 yamt 0x00000000, 0xfffffffc, 0x00000000, 0x00000000, 0x0ccb5380,
578 1.1.12.2 yamt 0x15151501, 0xdfa90f01, 0x00000000, 0x0ebae9e6, 0x0d820820,
579 1.1.12.2 yamt 0x07ffffef, 0x0fffffe7, 0x17ffffe5, 0x1fffffe4, 0x37ffffe3,
580 1.1.12.2 yamt 0x3fffffe3, 0x57ffffe3, 0x5fffffe2, 0x7fffffe2, 0x7f3c7bba,
581 1.1.12.2 yamt 0xf3307ff0, 0x0c000000, 0x20202020, 0x20202020, 0x00000001,
582 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
583 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
584 1.1.12.2 yamt 0x20202020, 0x20202020, 0x20202020, 0x00000000, 0x18c43433,
585 1.1.12.2 yamt 0x00f70081, 0x00140000, 0x0e4548d8, 0x54214514, 0x02025830,
586 1.1.12.2 yamt 0x71c0d388, 0x00000000, 0x00d86fff, 0x6e36d97b, 0x71400087,
587 1.1.12.2 yamt 0x000c0db6, 0x6db6246f, 0x6d9b66db, 0x6d8c6dba, 0x00040000,
588 1.1.12.2 yamt 0xdb003012, 0x04924914, 0x21084210, 0xf7d7ffde, 0xc2034080,
589 1.1.12.2 yamt 0x10142c00
590 1.1.12.2 yamt };
591 1.1.12.2 yamt
592 1.1.12.2 yamt static const struct athn_ini ar9285_1_2_ini = {
593 1.1.12.2 yamt .nregs = __arraycount(ar9285_1_2_regs),
594 1.1.12.2 yamt .regs = ar9285_1_2_regs,
595 1.1.12.2 yamt .vals_5g20 = NULL, /* 2GHz only. */
596 1.1.12.2 yamt #ifndef IEEE80211_NO_HT
597 1.1.12.2 yamt .vals_5g40 = NULL, /* 2GHz only. */
598 1.1.12.2 yamt .vals_2g40 = ar9285_1_2_vals_2g40,
599 1.1.12.2 yamt #endif
600 1.1.12.2 yamt .vals_2g20 = ar9285_1_2_vals_2g20,
601 1.1.12.2 yamt .ncmregs = __arraycount(ar9285_1_2_cm_regs),
602 1.1.12.2 yamt .cmregs = ar9285_1_2_cm_regs,
603 1.1.12.2 yamt .cmvals = ar9285_1_2_cm_vals,
604 1.1.12.2 yamt };
605 1.1.12.2 yamt
606 1.1.12.2 yamt #if NATHN_USB > 0
607 1.1.12.2 yamt /*
608 1.1.12.2 yamt * AR9271 programming.
609 1.1.12.2 yamt */
610 1.1.12.2 yamt static const uint16_t ar9271_regs[] = {
611 1.1.12.2 yamt P(0x01030), P(0x01070), P(0x010b0), P(0x010f0), P(0x08014),
612 1.1.12.2 yamt P(0x0801c), P(0x08318), P(0x09804), P(0x09820), P(0x09824),
613 1.1.12.2 yamt P(0x09828), P(0x09834), P(0x09838), P(0x09840), P(0x09844),
614 1.1.12.2 yamt P(0x09848), P(0x0a848), P(0x09850), P(0x09858), P(0x0985c),
615 1.1.12.2 yamt P(0x09860), P(0x09864), P(0x09868), P(0x0986c), P(0x09910),
616 1.1.12.2 yamt P(0x09914), P(0x09918), P(0x09924), P(0x09944), P(0x09960),
617 1.1.12.2 yamt P(0x09964), P(0x099b8), P(0x099bc), P(0x099c0), P(0x099c4),
618 1.1.12.2 yamt P(0x099c8), P(0x099cc), P(0x099d0), P(0x099d4), P(0x099d8),
619 1.1.12.2 yamt P(0x09a00), P(0x09a04), P(0x09a08), P(0x09a0c), P(0x09a10),
620 1.1.12.2 yamt P(0x09a14), P(0x09a18), P(0x09a1c), P(0x09a20), P(0x09a24),
621 1.1.12.2 yamt P(0x09a28), P(0x09a2c), P(0x09a30), P(0x09a34), P(0x09a38),
622 1.1.12.2 yamt P(0x09a3c), P(0x09a40), P(0x09a44), P(0x09a48), P(0x09a4c),
623 1.1.12.2 yamt P(0x09a50), P(0x09a54), P(0x09a58), P(0x09a5c), P(0x09a60),
624 1.1.12.2 yamt P(0x09a64), P(0x09a68), P(0x09a6c), P(0x09a70), P(0x09a74),
625 1.1.12.2 yamt P(0x09a78), P(0x09a7c), P(0x09a80), P(0x09a84), P(0x09a88),
626 1.1.12.2 yamt P(0x09a8c), P(0x09a90), P(0x09a94), P(0x09a98), P(0x09a9c),
627 1.1.12.2 yamt P(0x09aa0), P(0x09aa4), P(0x09aa8), P(0x09aac), P(0x09ab0),
628 1.1.12.2 yamt P(0x09ab4), P(0x09ab8), P(0x09abc), P(0x09ac0), P(0x09ac4),
629 1.1.12.2 yamt P(0x09ac8), P(0x09acc), P(0x09ad0), P(0x09ad4), P(0x09ad8),
630 1.1.12.2 yamt P(0x09adc), P(0x09ae0), P(0x09ae4), P(0x09ae8), P(0x09aec),
631 1.1.12.2 yamt P(0x09af0), P(0x09af4), P(0x09af8), P(0x09afc), P(0x09b00),
632 1.1.12.2 yamt P(0x09b04), P(0x09b08), P(0x09b0c), P(0x09b10), P(0x09b14),
633 1.1.12.2 yamt P(0x09b18), P(0x09b1c), P(0x09b20), P(0x09b24), P(0x09b28),
634 1.1.12.2 yamt P(0x09b2c), P(0x09b30), P(0x09b34), P(0x09b38), P(0x09b3c),
635 1.1.12.2 yamt P(0x09b40), P(0x09b44), P(0x09b48), P(0x09b4c), P(0x09b50),
636 1.1.12.2 yamt P(0x09b54), P(0x09b58), P(0x09b5c), P(0x09b60), P(0x09b64),
637 1.1.12.2 yamt P(0x09b68), P(0x09b6c), P(0x09b70), P(0x09b74), P(0x09b78),
638 1.1.12.2 yamt P(0x09b7c), P(0x09b80), P(0x09b84), P(0x09b88), P(0x09b8c),
639 1.1.12.2 yamt P(0x09b90), P(0x09b94), P(0x09b98), P(0x09b9c), P(0x09ba0),
640 1.1.12.2 yamt P(0x09ba4), P(0x09ba8), P(0x09bac), P(0x09bb0), P(0x09bb4),
641 1.1.12.2 yamt P(0x09bb8), P(0x09bbc), P(0x09bc0), P(0x09bc4), P(0x09bc8),
642 1.1.12.2 yamt P(0x09bcc), P(0x09bd0), P(0x09bd4), P(0x09bd8), P(0x09bdc),
643 1.1.12.2 yamt P(0x09be0), P(0x09be4), P(0x09be8), P(0x09bec), P(0x09bf0),
644 1.1.12.2 yamt P(0x09bf4), P(0x09bf8), P(0x09bfc), P(0x0aa00), P(0x0aa04),
645 1.1.12.2 yamt P(0x0aa08), P(0x0aa0c), P(0x0aa10), P(0x0aa14), P(0x0aa18),
646 1.1.12.2 yamt P(0x0aa1c), P(0x0aa20), P(0x0aa24), P(0x0aa28), P(0x0aa2c),
647 1.1.12.2 yamt P(0x0aa30), P(0x0aa34), P(0x0aa38), P(0x0aa3c), P(0x0aa40),
648 1.1.12.2 yamt P(0x0aa44), P(0x0aa48), P(0x0aa4c), P(0x0aa50), P(0x0aa54),
649 1.1.12.2 yamt P(0x0aa58), P(0x0aa5c), P(0x0aa60), P(0x0aa64), P(0x0aa68),
650 1.1.12.2 yamt P(0x0aa6c), P(0x0aa70), P(0x0aa74), P(0x0aa78), P(0x0aa7c),
651 1.1.12.2 yamt P(0x0aa80), P(0x0aa84), P(0x0aa88), P(0x0aa8c), P(0x0aa90),
652 1.1.12.2 yamt P(0x0aa94), P(0x0aa98), P(0x0aa9c), P(0x0aaa0), P(0x0aaa4),
653 1.1.12.2 yamt P(0x0aaa8), P(0x0aaac), P(0x0aab0), P(0x0aab4), P(0x0aab8),
654 1.1.12.2 yamt P(0x0aabc), P(0x0aac0), P(0x0aac4), P(0x0aac8), P(0x0aacc),
655 1.1.12.2 yamt P(0x0aad0), P(0x0aad4), P(0x0aad8), P(0x0aadc), P(0x0aae0),
656 1.1.12.2 yamt P(0x0aae4), P(0x0aae8), P(0x0aaec), P(0x0aaf0), P(0x0aaf4),
657 1.1.12.2 yamt P(0x0aaf8), P(0x0aafc), P(0x0ab00), P(0x0ab04), P(0x0ab08),
658 1.1.12.2 yamt P(0x0ab0c), P(0x0ab10), P(0x0ab14), P(0x0ab18), P(0x0ab1c),
659 1.1.12.2 yamt P(0x0ab20), P(0x0ab24), P(0x0ab28), P(0x0ab2c), P(0x0ab30),
660 1.1.12.2 yamt P(0x0ab34), P(0x0ab38), P(0x0ab3c), P(0x0ab40), P(0x0ab44),
661 1.1.12.2 yamt P(0x0ab48), P(0x0ab4c), P(0x0ab50), P(0x0ab54), P(0x0ab58),
662 1.1.12.2 yamt P(0x0ab5c), P(0x0ab60), P(0x0ab64), P(0x0ab68), P(0x0ab6c),
663 1.1.12.2 yamt P(0x0ab70), P(0x0ab74), P(0x0ab78), P(0x0ab7c), P(0x0ab80),
664 1.1.12.2 yamt P(0x0ab84), P(0x0ab88), P(0x0ab8c), P(0x0ab90), P(0x0ab94),
665 1.1.12.2 yamt P(0x0ab98), P(0x0ab9c), P(0x0aba0), P(0x0aba4), P(0x0aba8),
666 1.1.12.2 yamt P(0x0abac), P(0x0abb0), P(0x0abb4), P(0x0abb8), P(0x0abbc),
667 1.1.12.2 yamt P(0x0abc0), P(0x0abc4), P(0x0abc8), P(0x0abcc), P(0x0abd0),
668 1.1.12.2 yamt P(0x0abd4), P(0x0abd8), P(0x0abdc), P(0x0abe0), P(0x0abe4),
669 1.1.12.2 yamt P(0x0abe8), P(0x0abec), P(0x0abf0), P(0x0abf4), P(0x0abf8),
670 1.1.12.2 yamt P(0x0abfc), P(0x0a204), P(0x0a20c), P(0x0b20c), P(0x0a21c),
671 1.1.12.2 yamt P(0x0a230), P(0x0a250), P(0x0a358)
672 1.1.12.2 yamt };
673 1.1.12.2 yamt
674 1.1.12.2 yamt #ifndef IEEE80211_NO_HT
675 1.1.12.2 yamt static const uint32_t ar9271_vals_2g40[] = {
676 1.1.12.2 yamt 0x000002c0, 0x00000318, 0x00007c70, 0x00000000, 0x10801600,
677 1.1.12.2 yamt 0x12e00057, 0x00006880, 0x000003c4, 0x02020200, 0x01000e0e,
678 1.1.12.2 yamt 0x3a020001, 0x00000e0e, 0x00000007, 0x206a012e, 0x03721620,
679 1.1.12.2 yamt 0x00001053, 0x00001053, 0x6d4000e2, 0x7ec84d2e, 0x3137605e,
680 1.1.12.2 yamt 0x00058d18, 0x0001ce00, 0x5ac640d0, 0x06903881, 0x30002310,
681 1.1.12.2 yamt 0x00001130, 0x00000016, 0xd00a800d, 0xffbc1020, 0x00000000,
682 1.1.12.2 yamt 0x00000000, 0x0000421c, 0x00000c00, 0x05eea6d4, 0x06336f77,
683 1.1.12.2 yamt 0x6af6532f, 0x08f186c8, 0x00046384, 0x00000000, 0x00000000,
684 1.1.12.2 yamt 0x00058084, 0x00058088, 0x0005808c, 0x00058100, 0x00058104,
685 1.1.12.2 yamt 0x00058108, 0x0005810c, 0x00058110, 0x00058114, 0x00058180,
686 1.1.12.2 yamt 0x00058184, 0x00058188, 0x0005818c, 0x00058190, 0x00058194,
687 1.1.12.2 yamt 0x000581a0, 0x0005820c, 0x000581a8, 0x00058284, 0x00058288,
688 1.1.12.2 yamt 0x00058224, 0x00058290, 0x00058300, 0x00058304, 0x00058308,
689 1.1.12.2 yamt 0x0005830c, 0x00058380, 0x00058384, 0x00068700, 0x00068704,
690 1.1.12.2 yamt 0x00068708, 0x0006870c, 0x00068780, 0x00068784, 0x00078b00,
691 1.1.12.2 yamt 0x00078b04, 0x00078b08, 0x00078b0c, 0x00078b80, 0x00078b84,
692 1.1.12.2 yamt 0x00078b88, 0x00078b8c, 0x00078b90, 0x000caf80, 0x000caf84,
693 1.1.12.2 yamt 0x000caf88, 0x000caf8c, 0x000caf90, 0x000db30c, 0x000db310,
694 1.1.12.2 yamt 0x000db384, 0x000db388, 0x000db324, 0x000eb704, 0x000eb6a4,
695 1.1.12.2 yamt 0x000eb6a8, 0x000eb710, 0x000eb714, 0x000eb720, 0x000eb724,
696 1.1.12.2 yamt 0x000eb728, 0x000eb72c, 0x000eb7a0, 0x000eb7a4, 0x000eb7a8,
697 1.1.12.2 yamt 0x000eb7b0, 0x000eb7b4, 0x000eb7b8, 0x000eb7a5, 0x000eb7a9,
698 1.1.12.2 yamt 0x000eb7ad, 0x000eb7b1, 0x000eb7b5, 0x000eb7b9, 0x000eb7c5,
699 1.1.12.2 yamt 0x000eb7c9, 0x000eb7d1, 0x000eb7d5, 0x000eb7d9, 0x000eb7c6,
700 1.1.12.2 yamt 0x000eb7ca, 0x000eb7ce, 0x000eb7d2, 0x000eb7d6, 0x000eb7c3,
701 1.1.12.2 yamt 0x000eb7c7, 0x000eb7cb, 0x000eb7cf, 0x000eb7d7, 0x000eb7db,
702 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
703 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
704 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
705 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
706 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
707 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
708 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
709 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x00058084, 0x00058088,
710 1.1.12.2 yamt 0x0005808c, 0x00058100, 0x00058104, 0x00058108, 0x0005810c,
711 1.1.12.2 yamt 0x00058110, 0x00058114, 0x00058180, 0x00058184, 0x00058188,
712 1.1.12.2 yamt 0x0005818c, 0x00058190, 0x00058194, 0x000581a0, 0x0005820c,
713 1.1.12.2 yamt 0x000581a8, 0x00058284, 0x00058288, 0x00058224, 0x00058290,
714 1.1.12.2 yamt 0x00058300, 0x00058304, 0x00058308, 0x0005830c, 0x00058380,
715 1.1.12.2 yamt 0x00058384, 0x00068700, 0x00068704, 0x00068708, 0x0006870c,
716 1.1.12.2 yamt 0x00068780, 0x00068784, 0x00078b00, 0x00078b04, 0x00078b08,
717 1.1.12.2 yamt 0x00078b0c, 0x00078b80, 0x00078b84, 0x00078b88, 0x00078b8c,
718 1.1.12.2 yamt 0x00078b90, 0x000caf80, 0x000caf84, 0x000caf88, 0x000caf8c,
719 1.1.12.2 yamt 0x000caf90, 0x000db30c, 0x000db310, 0x000db384, 0x000db388,
720 1.1.12.2 yamt 0x000db324, 0x000eb704, 0x000eb6a4, 0x000eb6a8, 0x000eb710,
721 1.1.12.2 yamt 0x000eb714, 0x000eb720, 0x000eb724, 0x000eb728, 0x000eb72c,
722 1.1.12.2 yamt 0x000eb7a0, 0x000eb7a4, 0x000eb7a8, 0x000eb7b0, 0x000eb7b4,
723 1.1.12.2 yamt 0x000eb7b8, 0x000eb7a5, 0x000eb7a9, 0x000eb7ad, 0x000eb7b1,
724 1.1.12.2 yamt 0x000eb7b5, 0x000eb7b9, 0x000eb7c5, 0x000eb7c9, 0x000eb7d1,
725 1.1.12.2 yamt 0x000eb7d5, 0x000eb7d9, 0x000eb7c6, 0x000eb7ca, 0x000eb7ce,
726 1.1.12.2 yamt 0x000eb7d2, 0x000eb7d6, 0x000eb7c3, 0x000eb7c7, 0x000eb7cb,
727 1.1.12.2 yamt 0x000eb7cf, 0x000eb7d7, 0x000eb7db, 0x000eb7db, 0x000eb7db,
728 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
729 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
730 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
731 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
732 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
733 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
734 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
735 1.1.12.2 yamt 0x000eb7db, 0x00000004, 0x0001f000, 0x0001f000, 0x1883800a,
736 1.1.12.2 yamt 0x00000210, 0x0004a000, 0x7999aa0e
737 1.1.12.2 yamt };
738 1.1.12.2 yamt #endif
739 1.1.12.2 yamt
740 1.1.12.2 yamt static const uint32_t ar9271_vals_2g20[] = {
741 1.1.12.2 yamt 0x00000160, 0x0000018c, 0x00003e38, 0x00000000, 0x08400b00,
742 1.1.12.2 yamt 0x12e0002b, 0x00003440, 0x00000300, 0x02020200, 0x01000e0e,
743 1.1.12.2 yamt 0x3a020001, 0x00000e0e, 0x00000007, 0x206a012e, 0x03721620,
744 1.1.12.2 yamt 0x00001053, 0x00001053, 0x6d4000e2, 0x7ec84d2e, 0x3137605e,
745 1.1.12.2 yamt 0x00058d18, 0x0001ce00, 0x5ac640d0, 0x06903881, 0x30002310,
746 1.1.12.2 yamt 0x00000898, 0x0000000b, 0xd00a800d, 0xffbc1020, 0x00000000,
747 1.1.12.2 yamt 0x00000000, 0x0000421c, 0x00000c00, 0x05eea6d4, 0x06336f77,
748 1.1.12.2 yamt 0x6af6532f, 0x08f186c8, 0x00046384, 0x00000000, 0x00000000,
749 1.1.12.2 yamt 0x00058084, 0x00058088, 0x0005808c, 0x00058100, 0x00058104,
750 1.1.12.2 yamt 0x00058108, 0x0005810c, 0x00058110, 0x00058114, 0x00058180,
751 1.1.12.2 yamt 0x00058184, 0x00058188, 0x0005818c, 0x00058190, 0x00058194,
752 1.1.12.2 yamt 0x000581a0, 0x0005820c, 0x000581a8, 0x00058284, 0x00058288,
753 1.1.12.2 yamt 0x00058224, 0x00058290, 0x00058300, 0x00058304, 0x00058308,
754 1.1.12.2 yamt 0x0005830c, 0x00058380, 0x00058384, 0x00068700, 0x00068704,
755 1.1.12.2 yamt 0x00068708, 0x0006870c, 0x00068780, 0x00068784, 0x00078b00,
756 1.1.12.2 yamt 0x00078b04, 0x00078b08, 0x00078b0c, 0x00078b80, 0x00078b84,
757 1.1.12.2 yamt 0x00078b88, 0x00078b8c, 0x00078b90, 0x000caf80, 0x000caf84,
758 1.1.12.2 yamt 0x000caf88, 0x000caf8c, 0x000caf90, 0x000db30c, 0x000db310,
759 1.1.12.2 yamt 0x000db384, 0x000db388, 0x000db324, 0x000eb704, 0x000eb6a4,
760 1.1.12.2 yamt 0x000eb6a8, 0x000eb710, 0x000eb714, 0x000eb720, 0x000eb724,
761 1.1.12.2 yamt 0x000eb728, 0x000eb72c, 0x000eb7a0, 0x000eb7a4, 0x000eb7a8,
762 1.1.12.2 yamt 0x000eb7b0, 0x000eb7b4, 0x000eb7b8, 0x000eb7a5, 0x000eb7a9,
763 1.1.12.2 yamt 0x000eb7ad, 0x000eb7b1, 0x000eb7b5, 0x000eb7b9, 0x000eb7c5,
764 1.1.12.2 yamt 0x000eb7c9, 0x000eb7d1, 0x000eb7d5, 0x000eb7d9, 0x000eb7c6,
765 1.1.12.2 yamt 0x000eb7ca, 0x000eb7ce, 0x000eb7d2, 0x000eb7d6, 0x000eb7c3,
766 1.1.12.2 yamt 0x000eb7c7, 0x000eb7cb, 0x000eb7cf, 0x000eb7d7, 0x000eb7db,
767 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
768 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
769 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
770 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
771 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
772 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
773 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
774 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x00058084, 0x00058088,
775 1.1.12.2 yamt 0x0005808c, 0x00058100, 0x00058104, 0x00058108, 0x0005810c,
776 1.1.12.2 yamt 0x00058110, 0x00058114, 0x00058180, 0x00058184, 0x00058188,
777 1.1.12.2 yamt 0x0005818c, 0x00058190, 0x00058194, 0x000581a0, 0x0005820c,
778 1.1.12.2 yamt 0x000581a8, 0x00058284, 0x00058288, 0x00058224, 0x00058290,
779 1.1.12.2 yamt 0x00058300, 0x00058304, 0x00058308, 0x0005830c, 0x00058380,
780 1.1.12.2 yamt 0x00058384, 0x00068700, 0x00068704, 0x00068708, 0x0006870c,
781 1.1.12.2 yamt 0x00068780, 0x00068784, 0x00078b00, 0x00078b04, 0x00078b08,
782 1.1.12.2 yamt 0x00078b0c, 0x00078b80, 0x00078b84, 0x00078b88, 0x00078b8c,
783 1.1.12.2 yamt 0x00078b90, 0x000caf80, 0x000caf84, 0x000caf88, 0x000caf8c,
784 1.1.12.2 yamt 0x000caf90, 0x000db30c, 0x000db310, 0x000db384, 0x000db388,
785 1.1.12.2 yamt 0x000db324, 0x000eb704, 0x000eb6a4, 0x000eb6a8, 0x000eb710,
786 1.1.12.2 yamt 0x000eb714, 0x000eb720, 0x000eb724, 0x000eb728, 0x000eb72c,
787 1.1.12.2 yamt 0x000eb7a0, 0x000eb7a4, 0x000eb7a8, 0x000eb7b0, 0x000eb7b4,
788 1.1.12.2 yamt 0x000eb7b8, 0x000eb7a5, 0x000eb7a9, 0x000eb7ad, 0x000eb7b1,
789 1.1.12.2 yamt 0x000eb7b5, 0x000eb7b9, 0x000eb7c5, 0x000eb7c9, 0x000eb7d1,
790 1.1.12.2 yamt 0x000eb7d5, 0x000eb7d9, 0x000eb7c6, 0x000eb7ca, 0x000eb7ce,
791 1.1.12.2 yamt 0x000eb7d2, 0x000eb7d6, 0x000eb7c3, 0x000eb7c7, 0x000eb7cb,
792 1.1.12.2 yamt 0x000eb7cf, 0x000eb7d7, 0x000eb7db, 0x000eb7db, 0x000eb7db,
793 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
794 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
795 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
796 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
797 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
798 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
799 1.1.12.2 yamt 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db, 0x000eb7db,
800 1.1.12.2 yamt 0x000eb7db, 0x00000004, 0x0001f000, 0x0001f000, 0x1883800a,
801 1.1.12.2 yamt 0x00000108, 0x0004a000, 0x7999aa0e
802 1.1.12.2 yamt };
803 1.1.12.2 yamt
804 1.1.12.2 yamt static const uint16_t ar9271_cm_regs[] = {
805 1.1.12.2 yamt P(0x0000c), P(0x00030), P(0x00034), P(0x00040), P(0x00044),
806 1.1.12.2 yamt P(0x00048), P(0x0004c), P(0x00050), P(0x00054), P(0x00800),
807 1.1.12.2 yamt P(0x00804), P(0x00808), P(0x0080c), P(0x00810), P(0x00814),
808 1.1.12.2 yamt P(0x00818), P(0x0081c), P(0x00820), P(0x00824), P(0x01040),
809 1.1.12.2 yamt P(0x01044), P(0x01048), P(0x0104c), P(0x01050), P(0x01054),
810 1.1.12.2 yamt P(0x01058), P(0x0105c), P(0x01060), P(0x01064), P(0x01230),
811 1.1.12.2 yamt P(0x01270), P(0x01038), P(0x01078), P(0x010b8), P(0x010f8),
812 1.1.12.2 yamt P(0x01138), P(0x01178), P(0x011b8), P(0x011f8), P(0x01238),
813 1.1.12.2 yamt P(0x01278), P(0x012b8), P(0x012f8), P(0x01338), P(0x01378),
814 1.1.12.2 yamt P(0x013b8), P(0x013f8), P(0x01438), P(0x01478), P(0x014b8),
815 1.1.12.2 yamt P(0x014f8), P(0x01538), P(0x01578), P(0x015b8), P(0x015f8),
816 1.1.12.2 yamt P(0x01638), P(0x01678), P(0x016b8), P(0x016f8), P(0x01738),
817 1.1.12.2 yamt P(0x01778), P(0x017b8), P(0x017f8), P(0x0103c), P(0x0107c),
818 1.1.12.2 yamt P(0x010bc), P(0x010fc), P(0x0113c), P(0x0117c), P(0x011bc),
819 1.1.12.2 yamt P(0x011fc), P(0x0123c), P(0x0127c), P(0x012bc), P(0x012fc),
820 1.1.12.2 yamt P(0x0133c), P(0x0137c), P(0x013bc), P(0x013fc), P(0x0143c),
821 1.1.12.2 yamt P(0x0147c), P(0x04030), P(0x0403c), P(0x04024), P(0x04060),
822 1.1.12.2 yamt P(0x04064), P(0x08004), P(0x08008), P(0x0800c), P(0x08018),
823 1.1.12.2 yamt P(0x08020), P(0x08038), P(0x0803c), P(0x08048), P(0x08054),
824 1.1.12.2 yamt P(0x08058), P(0x0805c), P(0x08060), P(0x08064), P(0x08070),
825 1.1.12.2 yamt P(0x080b0), P(0x080b4), P(0x080b8), P(0x080bc), P(0x080c0),
826 1.1.12.2 yamt P(0x080c4), P(0x080c8), P(0x080cc), P(0x080d0), P(0x080d4),
827 1.1.12.2 yamt P(0x080d8), P(0x080e0), P(0x080e4), P(0x080e8), P(0x080ec),
828 1.1.12.2 yamt P(0x080f0), P(0x080f4), P(0x080f8), P(0x080fc), P(0x08100),
829 1.1.12.2 yamt P(0x08104), P(0x08108), P(0x0810c), P(0x08110), P(0x08118),
830 1.1.12.2 yamt P(0x0811c), P(0x08120), P(0x08124), P(0x08128), P(0x0812c),
831 1.1.12.2 yamt P(0x08130), P(0x08134), P(0x08138), P(0x0813c), P(0x08144),
832 1.1.12.2 yamt P(0x08168), P(0x0816c), P(0x08170), P(0x08174), P(0x08178),
833 1.1.12.2 yamt P(0x0817c), P(0x081c0), P(0x081d0), P(0x081ec), P(0x081f0),
834 1.1.12.2 yamt P(0x081f4), P(0x081f8), P(0x081fc), P(0x08200), P(0x08204),
835 1.1.12.2 yamt P(0x08208), P(0x0820c), P(0x08210), P(0x08214), P(0x08218),
836 1.1.12.2 yamt P(0x0821c), P(0x08220), P(0x08224), P(0x08228), P(0x0822c),
837 1.1.12.2 yamt P(0x08230), P(0x08234), P(0x08238), P(0x0823c), P(0x08240),
838 1.1.12.2 yamt P(0x08244), P(0x08248), P(0x0824c), P(0x08250), P(0x08254),
839 1.1.12.2 yamt P(0x08258), P(0x0825c), P(0x08260), P(0x08264), P(0x08270),
840 1.1.12.2 yamt P(0x08274), P(0x08278), P(0x0827c), P(0x08284), P(0x08288),
841 1.1.12.2 yamt P(0x0828c), P(0x08294), P(0x08298), P(0x0829c), P(0x08300),
842 1.1.12.2 yamt P(0x08314), P(0x08328), P(0x0832c), P(0x08330), P(0x08334),
843 1.1.12.2 yamt P(0x08338), P(0x0833c), P(0x08340), P(0x08344), P(0x07010),
844 1.1.12.2 yamt P(0x07034), P(0x07038), P(0x07800), P(0x07804), P(0x07808),
845 1.1.12.2 yamt P(0x0780c), P(0x07810), P(0x07814), P(0x0781c), P(0x07828),
846 1.1.12.2 yamt P(0x0782c), P(0x07830), P(0x07834), P(0x0783c), P(0x07840),
847 1.1.12.2 yamt P(0x07844), P(0x07848), P(0x0784c), P(0x07850), P(0x07854),
848 1.1.12.2 yamt P(0x07858), P(0x0785c), P(0x07860), P(0x07864), P(0x07868),
849 1.1.12.2 yamt P(0x07870), P(0x09808), P(0x0980c), P(0x09810), P(0x09814),
850 1.1.12.2 yamt P(0x0981c), P(0x0982c), P(0x09830), P(0x0983c), P(0x0984c),
851 1.1.12.2 yamt P(0x09854), P(0x09900), P(0x09904), P(0x09908), P(0x0990c),
852 1.1.12.2 yamt P(0x0991c), P(0x09920), P(0x09928), P(0x0992c), P(0x09934),
853 1.1.12.2 yamt P(0x09938), P(0x0993c), P(0x09940), P(0x09948), P(0x0994c),
854 1.1.12.2 yamt P(0x09954), P(0x09958), P(0x09968), P(0x09970), P(0x09974),
855 1.1.12.2 yamt P(0x09978), P(0x0997c), P(0x09980), P(0x09984), P(0x09988),
856 1.1.12.2 yamt P(0x0998c), P(0x09990), P(0x09994), P(0x09998), P(0x0999c),
857 1.1.12.2 yamt P(0x099a0), P(0x099a4), P(0x099a8), P(0x099ac), P(0x099b0),
858 1.1.12.2 yamt P(0x099b4), P(0x099dc), P(0x099e0), P(0x099e4), P(0x099e8),
859 1.1.12.2 yamt P(0x099ec), P(0x099f0), P(0x0a208), P(0x0a210), P(0x0a214),
860 1.1.12.2 yamt P(0x0a218), P(0x0a220), P(0x0a224), P(0x0a228), P(0x0a22c),
861 1.1.12.2 yamt P(0x0a234), P(0x0a238), P(0x0a244), P(0x0a248), P(0x0a24c),
862 1.1.12.2 yamt P(0x0a254), P(0x0a258), P(0x0a25c), P(0x0a260), P(0x0a268),
863 1.1.12.2 yamt P(0x0a26c), P(0x0a388), P(0x0a38c), P(0x0a390), P(0x0a39c),
864 1.1.12.2 yamt P(0x0a3a0), P(0x0a3a4), P(0x0a3a8), P(0x0a3ac), P(0x0a3b0),
865 1.1.12.2 yamt P(0x0a3b4), P(0x0a3b8), P(0x0a3bc), P(0x0a3c0), P(0x0a3c4),
866 1.1.12.2 yamt P(0x0a3cc), P(0x0a3d0), P(0x0a3d4), P(0x0a3e4), P(0x0a3e8),
867 1.1.12.2 yamt P(0x0a3ec), P(0x0a3f0), P(0x0a3f4), P(0x0d270), P(0x0d35c),
868 1.1.12.2 yamt P(0x0d360), P(0x0d364), P(0x0d368), P(0x0d36c), P(0x0d370),
869 1.1.12.2 yamt P(0x0d374), P(0x0d378), P(0x0d37c), P(0x0d380), P(0x0d384)
870 1.1.12.2 yamt };
871 1.1.12.2 yamt
872 1.1.12.2 yamt static const uint32_t ar9271_cm_vals[] = {
873 1.1.12.2 yamt 0x00000000, 0x00020045, 0x00000005, 0x00000000, 0x00000008,
874 1.1.12.2 yamt 0x00000008, 0x00000010, 0x00000000, 0x0000001f, 0x00000000,
875 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
876 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x002ffc0f,
877 1.1.12.2 yamt 0x002ffc0f, 0x002ffc0f, 0x002ffc0f, 0x002ffc0f, 0x002ffc0f,
878 1.1.12.2 yamt 0x002ffc0f, 0x002ffc0f, 0x002ffc0f, 0x002ffc0f, 0x00000000,
879 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
880 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
881 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
882 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
883 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
884 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
885 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
886 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
887 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
888 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
889 1.1.12.2 yamt 0x00000000, 0x00000002, 0x00000002, 0x0000001f, 0x00000000,
890 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000700,
891 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
892 1.1.12.2 yamt 0x00000000, 0x000fc78f, 0x0000000f, 0x00000000, 0x00000000,
893 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x2a80001a,
894 1.1.12.2 yamt 0x05dc01e0, 0x1f402710, 0x01f40000, 0x00001e00, 0x00000000,
895 1.1.12.2 yamt 0x00400000, 0xffffffff, 0x0000ffff, 0x003f3f3f, 0x00000000,
896 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00020000, 0x00020000,
897 1.1.12.2 yamt 0x00000001, 0x00000052, 0x00000000, 0x00000168, 0x000100aa,
898 1.1.12.2 yamt 0x00003210, 0x08f04810, 0x00000000, 0x00000000, 0x00000000,
899 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff,
900 1.1.12.2 yamt 0x00000000, 0x00000000, 0x32143320, 0xfaa4fa50, 0x00000100,
901 1.1.12.2 yamt 0x00000000, 0x00000000, 0x0000320a, 0x00000000, 0x00000000,
902 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
903 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
904 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
905 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00100000,
906 1.1.12.2 yamt 0x0010f400, 0x00000100, 0x0001e800, 0x00000000, 0x00000000,
907 1.1.12.2 yamt 0x00000000, 0x400000ff, 0x00080922, 0x88a00010, 0x00000000,
908 1.1.12.2 yamt 0x40000000, 0x003e4180, 0x00000000, 0x0000002c, 0x0000002c,
909 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000040,
910 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000001, 0x00000302, 0x00000e00,
911 1.1.12.2 yamt 0x00ff0000, 0x00000000, 0x00010380, 0x00581043, 0x00000030,
912 1.1.12.2 yamt 0x00000002, 0x000004c2, 0x00140000, 0x0e4548d8, 0x54214514,
913 1.1.12.2 yamt 0x02025820, 0x71c0d388, 0x924934a8, 0x00000000, 0x66964300,
914 1.1.12.2 yamt 0x8db6d961, 0x8db6d96c, 0x6140008b, 0x72ee0a72, 0xbbfffffc,
915 1.1.12.2 yamt 0x000c0db6, 0x6db6246f, 0x6d9b66db, 0x6d8c6dba, 0x00040000,
916 1.1.12.2 yamt 0xdb003012, 0x04924914, 0x21084210, 0xf7d7ffde, 0xc2034080,
917 1.1.12.2 yamt 0x10142c00, 0x00000000, 0xafe68e30, 0xfd14e000, 0x9c0a9f6b,
918 1.1.12.2 yamt 0x00000000, 0x0000a000, 0x00000000, 0x00200400, 0x0040233c,
919 1.1.12.2 yamt 0x00000044, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
920 1.1.12.2 yamt 0x10000fff, 0x04900000, 0x00000001, 0x00000004, 0x1e1f2022,
921 1.1.12.2 yamt 0x0a0b0c0d, 0x00000000, 0x14750604, 0x9280c00a, 0x00020028,
922 1.1.12.2 yamt 0x5f3ca3de, 0x0108ecff, 0x000003ce, 0x192bb514, 0x00000000,
923 1.1.12.2 yamt 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
924 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
925 1.1.12.2 yamt 0x00000000, 0x00000001, 0x201fff00, 0x2def0400, 0x03051000,
926 1.1.12.2 yamt 0x00000820, 0x00000000, 0x00000000, 0xaaaaaaaa, 0x3c466478,
927 1.1.12.2 yamt 0x0cc80caa, 0x00000000, 0x803e68c8, 0x4080a333, 0x00206c10,
928 1.1.12.2 yamt 0x009c4060, 0x01834061, 0x00000400, 0x000003b5, 0x00000000,
929 1.1.12.2 yamt 0x20202020, 0x20202020, 0x00000000, 0xfffffffc, 0x00000000,
930 1.1.12.2 yamt 0x00000000, 0x0ccb5380, 0x15151501, 0xdfa90f01, 0x00000000,
931 1.1.12.2 yamt 0x0ebae9e6, 0x0c000000, 0x20202020, 0x20202020, 0x00000001,
932 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
933 1.1.12.2 yamt 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
934 1.1.12.2 yamt 0x20202020, 0x20202020, 0x20202020, 0x00000000, 0x18c43433,
935 1.1.12.2 yamt 0x00f70081, 0x01036a2f, 0x00000000, 0x0d820820, 0x07ffffef,
936 1.1.12.2 yamt 0x0fffffe7, 0x17ffffe5, 0x1fffffe4, 0x37ffffe3, 0x3fffffe3,
937 1.1.12.2 yamt 0x57ffffe3, 0x5fffffe2, 0x7fffffe2, 0x7f3c7bba, 0xf3307ff0
938 1.1.12.2 yamt };
939 1.1.12.2 yamt
940 1.1.12.2 yamt static const struct athn_ini ar9271_ini = {
941 1.1.12.2 yamt .nregs = __arraycount(ar9271_regs),
942 1.1.12.2 yamt .regs = ar9271_regs,
943 1.1.12.2 yamt .vals_5g20 = NULL, /* 2GHz only. */
944 1.1.12.2 yamt #ifndef IEEE80211_NO_HT
945 1.1.12.2 yamt .vals_5g40 = NULL, /* 2GHz only. */
946 1.1.12.2 yamt .vals_2g40 = ar9271_vals_2g40,
947 1.1.12.2 yamt #endif
948 1.1.12.2 yamt .vals_2g20 = ar9271_vals_2g20,
949 1.1.12.2 yamt .ncmregs = __arraycount(ar9271_cm_regs),
950 1.1.12.2 yamt .cmregs = ar9271_cm_regs,
951 1.1.12.2 yamt .cmvals = ar9271_cm_vals,
952 1.1.12.2 yamt };
953 1.1.12.2 yamt #endif /* NATHN_USB */
954 1.1.12.2 yamt
955 1.1.12.2 yamt /*
956 1.1.12.2 yamt * AR9285 1.2 Tx gains.
957 1.1.12.2 yamt */
958 1.1.12.2 yamt static const uint16_t ar9285_1_2_tx_gain_regs[] = {
959 1.1.12.2 yamt P(0x0a300), P(0x0a304), P(0x0a308), P(0x0a30c), P(0x0a310),
960 1.1.12.2 yamt P(0x0a314), P(0x0a318), P(0x0a31c), P(0x0a320), P(0x0a324),
961 1.1.12.2 yamt P(0x0a328), P(0x0a32c), P(0x0a330), P(0x0a334), P(0x0a338),
962 1.1.12.2 yamt P(0x0a33c), P(0x0a340), P(0x0a344), P(0x0a348), P(0x0a34c),
963 1.1.12.2 yamt P(0x0a350), P(0x0a354), P(0x07814), P(0x07828), P(0x07830),
964 1.1.12.2 yamt P(0x07838), P(0x0783c), P(0x07840), P(0x0786c), P(0x07820),
965 1.1.12.2 yamt P(0x0a274), P(0x0a278), P(0x0a27c), P(0x0a394), P(0x0a398),
966 1.1.12.2 yamt P(0x0a3dc), P(0x0a3e0)
967 1.1.12.2 yamt };
968 1.1.12.2 yamt
969 1.1.12.2 yamt static const uint32_t ar9285_1_2_tx_gain_vals_2g[] = {
970 1.1.12.2 yamt 0x00000000, 0x00009200, 0x00010208, 0x00019608, 0x00022618,
971 1.1.12.2 yamt 0x0002a6c9, 0x00031710, 0x00035718, 0x00038758, 0x0003c75a,
972 1.1.12.2 yamt 0x0004075c, 0x0004475e, 0x0004679f, 0x000487df, 0x0003891e,
973 1.1.12.2 yamt 0x0003a95e, 0x0003e9df, 0x0003e9df, 0x0003e9df, 0x0003e9df,
974 1.1.12.2 yamt 0x0003e9df, 0x0003e9df, 0x924934a8, 0x26d2491b, 0xedb6d96e,
975 1.1.12.2 yamt 0xfac68801, 0x0001fffe, 0xffeb1a20, 0x48609eb4, 0x00000c04,
976 1.1.12.2 yamt 0x0a21a652, 0x39ce739c, 0x050e039c, 0x39ce739c, 0x0000039c,
977 1.1.12.2 yamt 0x39ce739c, 0x0000039c
978 1.1.12.2 yamt };
979 1.1.12.2 yamt
980 1.1.12.2 yamt static const struct athn_gain ar9285_1_2_tx_gain = {
981 1.1.12.2 yamt __arraycount(ar9285_1_2_tx_gain_regs),
982 1.1.12.2 yamt ar9285_1_2_tx_gain_regs,
983 1.1.12.2 yamt NULL, /* 2GHz only. */
984 1.1.12.2 yamt ar9285_1_2_tx_gain_vals_2g
985 1.1.12.2 yamt };
986 1.1.12.2 yamt
987 1.1.12.2 yamt static const uint32_t ar9285_1_2_tx_gain_high_power_vals_2g[] = {
988 1.1.12.2 yamt 0x00000000, 0x00006200, 0x00008201, 0x0000b240, 0x0000d241,
989 1.1.12.2 yamt 0x0000f600, 0x00012800, 0x00016802, 0x0001b805, 0x00021a80,
990 1.1.12.2 yamt 0x00028b00, 0x0002ab40, 0x0002cd80, 0x00033d82, 0x0003891e,
991 1.1.12.2 yamt 0x0003a95e, 0x0003e9df, 0x0003e9df, 0x0003e9df, 0x0003e9df,
992 1.1.12.2 yamt 0x0003e9df, 0x0003e9df, 0x924934a8, 0x26d2491b, 0xedb6d96e,
993 1.1.12.2 yamt 0xfac68803, 0x0001fffe, 0xffeb1a20, 0x08609ebe, 0x00000c00,
994 1.1.12.2 yamt 0x0a216652, 0x0e739ce7, 0x050380e7, 0x0e739ce7, 0x000000e7,
995 1.1.12.2 yamt 0x0e739ce7, 0x000000e7
996 1.1.12.2 yamt };
997 1.1.12.2 yamt
998 1.1.12.2 yamt static const struct athn_gain ar9285_1_2_tx_gain_high_power = {
999 1.1.12.2 yamt __arraycount(ar9285_1_2_tx_gain_regs),
1000 1.1.12.2 yamt ar9285_1_2_tx_gain_regs,
1001 1.1.12.2 yamt NULL, /* 2GHz only. */
1002 1.1.12.2 yamt ar9285_1_2_tx_gain_high_power_vals_2g
1003 1.1.12.2 yamt };
1004 1.1.12.2 yamt
1005 1.1.12.2 yamt /*
1006 1.1.12.2 yamt * AR9285 XE 2.0 Tx gains.
1007 1.1.12.2 yamt */
1008 1.1.12.2 yamt static const uint32_t ar9285_2_0_tx_gain_vals_2g[] = {
1009 1.1.12.2 yamt 0x00000000, 0x00009200, 0x00010208, 0x00019608, 0x00022618,
1010 1.1.12.2 yamt 0x0002a6c9, 0x00031710, 0x00035718, 0x00038758, 0x0003c75a,
1011 1.1.12.2 yamt 0x0004075c, 0x0004475e, 0x0004679f, 0x000487df, 0x0003891e,
1012 1.1.12.2 yamt 0x0003a95e, 0x0003e9df, 0x0003e9df, 0x0003e9df, 0x0003e9df,
1013 1.1.12.2 yamt 0x0003e9df, 0x0003e9df, 0x92497ca8, 0x2ad2491b, 0xedb6da6e,
1014 1.1.12.2 yamt 0xdac71441, 0x2481f6fe, 0xba5f638c, 0x48609eb4, 0x00000c04,
1015 1.1.12.2 yamt 0x0a21a652, 0x39ce739c, 0x050e039c, 0x39ce739c, 0x0000039c,
1016 1.1.12.2 yamt 0x39ce739c, 0x0000039c
1017 1.1.12.2 yamt };
1018 1.1.12.2 yamt
1019 1.1.12.2 yamt static const struct athn_gain ar9285_2_0_tx_gain = {
1020 1.1.12.2 yamt __arraycount(ar9285_1_2_tx_gain_regs),
1021 1.1.12.2 yamt ar9285_1_2_tx_gain_regs,
1022 1.1.12.2 yamt NULL, /* 2GHz only. */
1023 1.1.12.2 yamt ar9285_2_0_tx_gain_vals_2g
1024 1.1.12.2 yamt };
1025 1.1.12.2 yamt
1026 1.1.12.2 yamt static const uint32_t ar9285_2_0_tx_gain_high_power_vals_2g[] = {
1027 1.1.12.2 yamt 0x00000000, 0x00006200, 0x00008201, 0x0000b240, 0x0000d241,
1028 1.1.12.2 yamt 0x0000f600, 0x00012800, 0x00016802, 0x0001b805, 0x00021a80,
1029 1.1.12.2 yamt 0x00028b00, 0x0002ab40, 0x0002cd80, 0x00033d82, 0x0003891e,
1030 1.1.12.2 yamt 0x0003a95e, 0x0003e9df, 0x0003e9df, 0x0003e9df, 0x0003e9df,
1031 1.1.12.2 yamt 0x0003e9df, 0x0003e9df, 0x92497ca8, 0x2ad2491b, 0xedb6da6e,
1032 1.1.12.2 yamt 0xdac71443, 0x2481f6fe, 0xba5f638c, 0x08609ebe, 0x00000c00,
1033 1.1.12.2 yamt 0x0a216652, 0x0e739ce7, 0x050380e7, 0x0e739ce7, 0x000000e7,
1034 1.1.12.2 yamt 0x0e739ce7, 0x000000e7
1035 1.1.12.2 yamt };
1036 1.1.12.2 yamt
1037 1.1.12.2 yamt static const struct athn_gain ar9285_2_0_tx_gain_high_power = {
1038 1.1.12.2 yamt __arraycount(ar9285_1_2_tx_gain_regs),
1039 1.1.12.2 yamt ar9285_1_2_tx_gain_regs,
1040 1.1.12.2 yamt NULL, /* 2GHz only. */
1041 1.1.12.2 yamt ar9285_2_0_tx_gain_high_power_vals_2g
1042 1.1.12.2 yamt };
1043 1.1.12.2 yamt
1044 1.1.12.2 yamt #if NATHN_USB > 0
1045 1.1.12.2 yamt /*
1046 1.1.12.2 yamt * AR9271 Tx gains.
1047 1.1.12.2 yamt */
1048 1.1.12.2 yamt static const uint16_t ar9271_tx_gain_regs[] = {
1049 1.1.12.2 yamt P(0x0a300), P(0x0a304), P(0x0a308), P(0x0a30c), P(0x0a310),
1050 1.1.12.2 yamt P(0x0a314), P(0x0a318), P(0x0a31c), P(0x0a320), P(0x0a324),
1051 1.1.12.2 yamt P(0x0a328), P(0x0a32c), P(0x0a330), P(0x0a334), P(0x0a338),
1052 1.1.12.2 yamt P(0x0a33c), P(0x0a340), P(0x0a344), P(0x0a348), P(0x0a34c),
1053 1.1.12.2 yamt P(0x0a350), P(0x0a354), P(0x07838), P(0x07824), P(0x0786c),
1054 1.1.12.2 yamt P(0x07820), P(0x0a274), P(0x0a278), P(0x0a27c), P(0x0a394),
1055 1.1.12.2 yamt P(0x0a398), P(0x0a3dc), P(0x0a3e0)
1056 1.1.12.2 yamt };
1057 1.1.12.2 yamt
1058 1.1.12.2 yamt static const uint32_t ar9271_tx_gain_vals_2g[] = {
1059 1.1.12.2 yamt 0x00000000, 0x00009200, 0x00010208, 0x00019608, 0x0001e610,
1060 1.1.12.2 yamt 0x0002d6d0, 0x00039758, 0x0003b759, 0x0003d75a, 0x0004175c,
1061 1.1.12.2 yamt 0x0004575e, 0x0004979f, 0x0004d7df, 0x000368de, 0x0003891e,
1062 1.1.12.2 yamt 0x0003a95e, 0x0003e9df, 0x0003e9df, 0x0003e9df, 0x0003e9df,
1063 1.1.12.2 yamt 0x0003e9df, 0x0003e9df, 0x00000029, 0x00d8abff, 0x48609eb4,
1064 1.1.12.2 yamt 0x00000c04, 0x0a218652, 0x3bdef7bd, 0x050e83bd, 0x3bdef7bd,
1065 1.1.12.2 yamt 0x000003bd, 0x3bdef7bd, 0x000003bd
1066 1.1.12.2 yamt };
1067 1.1.12.2 yamt
1068 1.1.12.2 yamt static const struct athn_gain ar9271_tx_gain = {
1069 1.1.12.2 yamt __arraycount(ar9271_tx_gain_regs),
1070 1.1.12.2 yamt ar9271_tx_gain_regs,
1071 1.1.12.2 yamt NULL, /* 2GHz only. */
1072 1.1.12.2 yamt ar9271_tx_gain_vals_2g
1073 1.1.12.2 yamt };
1074 1.1.12.2 yamt
1075 1.1.12.2 yamt static const uint32_t ar9271_tx_gain_high_power_vals_2g[] = {
1076 1.1.12.2 yamt 0x00010000, 0x00016200, 0x00018201, 0x0001b240, 0x0001d241,
1077 1.1.12.2 yamt 0x0001f600, 0x00022800, 0x00026802, 0x0002b805, 0x0002ea41,
1078 1.1.12.2 yamt 0x00038b00, 0x0003ab40, 0x0003cd80, 0x000368de, 0x0003891e,
1079 1.1.12.2 yamt 0x0003a95e, 0x0003e9df, 0x0003e9df, 0x0003e9df, 0x0003e9df,
1080 1.1.12.2 yamt 0x0003e9df, 0x0003e9df, 0x0000002b, 0x00d8a7ff, 0x08609eba,
1081 1.1.12.2 yamt 0x00000c00, 0x0a214652, 0x0e739ce7, 0x05018063, 0x06318c63,
1082 1.1.12.2 yamt 0x00000063, 0x06318c63, 0x00000063
1083 1.1.12.2 yamt };
1084 1.1.12.2 yamt
1085 1.1.12.2 yamt static const struct athn_gain ar9271_tx_gain_high_power = {
1086 1.1.12.2 yamt __arraycount(ar9271_tx_gain_regs),
1087 1.1.12.2 yamt ar9271_tx_gain_regs,
1088 1.1.12.2 yamt NULL, /* 2GHz only. */
1089 1.1.12.2 yamt ar9271_tx_gain_high_power_vals_2g
1090 1.1.12.2 yamt };
1091 1.1.12.2 yamt #endif /* NATHN_USB */
1092 1.1.12.2 yamt
1093 1.1.12.2 yamt #endif /* _ARN9285REG_H_ */
1094