Staging: brcm80211: s/int8/s8/
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / drivers / staging / brcm80211 / phy / wlc_phy_n.c
blob446d22054f6d607cf684dc2fa3d6c42096a1c97d
1 /*
2 * Copyright (c) 2010 Broadcom Corporation
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
11 * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
13 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
14 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 #include <wlc_cfg.h>
18 #include <typedefs.h>
19 #include <linux/kernel.h>
20 #include <linux/string.h>
21 #include <linuxver.h>
22 #include <osl.h>
23 #include <siutils.h>
24 #include <sbchipc.h>
25 #include <bitfuncs.h>
26 #include <hndpmu.h>
27 #include <bcmendian.h>
29 #include <wlc_phy_radio.h>
30 #include <wlc_phy_int.h>
31 #include <wlc_phyreg_n.h>
32 #include <wlc_phytbl_n.h>
34 #define READ_RADIO_REG2(pi, radio_type, jspace, core, reg_name) \
35 read_radio_reg(pi, radio_type##_##jspace##_##reg_name | \
36 ((core == PHY_CORE_0) ? radio_type##_##jspace##0 : radio_type##_##jspace##1))
37 #define WRITE_RADIO_REG2(pi, radio_type, jspace, core, reg_name, value) \
38 write_radio_reg(pi, radio_type##_##jspace##_##reg_name | \
39 ((core == PHY_CORE_0) ? radio_type##_##jspace##0 : radio_type##_##jspace##1), value);
40 #define WRITE_RADIO_SYN(pi, radio_type, reg_name, value) \
41 write_radio_reg(pi, radio_type##_##SYN##_##reg_name, value);
43 #define READ_RADIO_REG3(pi, radio_type, jspace, core, reg_name) \
44 read_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##jspace##0##_##reg_name : \
45 radio_type##_##jspace##1##_##reg_name));
46 #define WRITE_RADIO_REG3(pi, radio_type, jspace, core, reg_name, value) \
47 write_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##jspace##0##_##reg_name : \
48 radio_type##_##jspace##1##_##reg_name), value);
49 #define READ_RADIO_REG4(pi, radio_type, jspace, core, reg_name) \
50 read_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##reg_name##_##jspace##0 : \
51 radio_type##_##reg_name##_##jspace##1));
52 #define WRITE_RADIO_REG4(pi, radio_type, jspace, core, reg_name, value) \
53 write_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##reg_name##_##jspace##0 : \
54 radio_type##_##reg_name##_##jspace##1), value);
56 #define NPHY_ACI_MAX_UNDETECT_WINDOW_SZ 40
57 #define NPHY_ACI_CHANNEL_DELTA 5
58 #define NPHY_ACI_CHANNEL_SKIP 4
59 #define NPHY_ACI_40MHZ_CHANNEL_DELTA 6
60 #define NPHY_ACI_40MHZ_CHANNEL_SKIP 5
61 #define NPHY_ACI_40MHZ_CHANNEL_DELTA_GE_REV3 6
62 #define NPHY_ACI_40MHZ_CHANNEL_SKIP_GE_REV3 5
63 #define NPHY_ACI_CHANNEL_DELTA_GE_REV3 4
64 #define NPHY_ACI_CHANNEL_SKIP_GE_REV3 3
66 #define NPHY_NOISE_NOASSOC_GLITCH_TH_UP 2
68 #define NPHY_NOISE_NOASSOC_GLITCH_TH_DN 8
70 #define NPHY_NOISE_ASSOC_GLITCH_TH_UP 2
72 #define NPHY_NOISE_ASSOC_GLITCH_TH_DN 8
74 #define NPHY_NOISE_ASSOC_ACI_GLITCH_TH_UP 2
76 #define NPHY_NOISE_ASSOC_ACI_GLITCH_TH_DN 8
78 #define NPHY_NOISE_NOASSOC_ENTER_TH 400
80 #define NPHY_NOISE_ASSOC_ENTER_TH 400
82 #define NPHY_NOISE_ASSOC_RX_GLITCH_BADPLCP_ENTER_TH 400
84 #define NPHY_NOISE_CRSMINPWR_ARRAY_MAX_INDEX 44
85 #define NPHY_NOISE_CRSMINPWR_ARRAY_MAX_INDEX_REV_7 56
87 #define NPHY_NOISE_NOASSOC_CRSIDX_INCR 16
89 #define NPHY_NOISE_ASSOC_CRSIDX_INCR 8
91 #define NPHY_IS_SROM_REINTERPRET NREV_GE(pi->pubpi.phy_rev, 5)
93 #define NPHY_RSSICAL_MAXREAD 31
95 #define NPHY_RSSICAL_NPOLL 8
96 #define NPHY_RSSICAL_MAXD (1<<20)
97 #define NPHY_MIN_RXIQ_PWR 2
99 #define NPHY_RSSICAL_W1_TARGET 25
100 #define NPHY_RSSICAL_W2_TARGET NPHY_RSSICAL_W1_TARGET
101 #define NPHY_RSSICAL_NB_TARGET 0
103 #define NPHY_RSSICAL_W1_TARGET_REV3 29
104 #define NPHY_RSSICAL_W2_TARGET_REV3 NPHY_RSSICAL_W1_TARGET_REV3
106 #define NPHY_CALSANITY_RSSI_NB_MAX_POS 9
107 #define NPHY_CALSANITY_RSSI_NB_MAX_NEG -9
108 #define NPHY_CALSANITY_RSSI_W1_MAX_POS 12
109 #define NPHY_CALSANITY_RSSI_W1_MAX_NEG (NPHY_RSSICAL_W1_TARGET - NPHY_RSSICAL_MAXREAD)
110 #define NPHY_CALSANITY_RSSI_W2_MAX_POS NPHY_CALSANITY_RSSI_W1_MAX_POS
111 #define NPHY_CALSANITY_RSSI_W2_MAX_NEG (NPHY_RSSICAL_W2_TARGET - NPHY_RSSICAL_MAXREAD)
112 #define NPHY_RSSI_SXT(x) ((s8) (-((x) & 0x20) + ((x) & 0x1f)))
113 #define NPHY_RSSI_NB_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_NB_MAX_POS) || \
114 ((x) < NPHY_CALSANITY_RSSI_NB_MAX_NEG))
115 #define NPHY_RSSI_W1_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_W1_MAX_POS) || \
116 ((x) < NPHY_CALSANITY_RSSI_W1_MAX_NEG))
117 #define NPHY_RSSI_W2_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_W2_MAX_POS) || \
118 ((x) < NPHY_CALSANITY_RSSI_W2_MAX_NEG))
120 #define NPHY_IQCAL_NUMGAINS 9
121 #define NPHY_N_GCTL 0x66
123 #define NPHY_PAPD_EPS_TBL_SIZE 64
124 #define NPHY_PAPD_SCL_TBL_SIZE 64
125 #define NPHY_NUM_DIG_FILT_COEFFS 15
127 #define NPHY_PAPD_COMP_OFF 0
128 #define NPHY_PAPD_COMP_ON 1
130 #define NPHY_SROM_TEMPSHIFT 32
131 #define NPHY_SROM_MAXTEMPOFFSET 16
132 #define NPHY_SROM_MINTEMPOFFSET -16
134 #define NPHY_CAL_MAXTEMPDELTA 64
136 #define NPHY_NOISEVAR_TBLLEN40 256
137 #define NPHY_NOISEVAR_TBLLEN20 128
139 #define NPHY_ANARXLPFBW_REDUCTIONFACT 7
141 #define NPHY_ADJUSTED_MINCRSPOWER 0x1e
143 typedef struct _nphy_iqcal_params {
144 uint16 txlpf;
145 uint16 txgm;
146 uint16 pga;
147 uint16 pad;
148 uint16 ipa;
149 uint16 cal_gain;
150 uint16 ncorr[5];
151 } nphy_iqcal_params_t;
153 typedef struct _nphy_txiqcal_ladder {
154 u8 percent;
155 u8 g_env;
156 } nphy_txiqcal_ladder_t;
158 typedef struct {
159 nphy_txgains_t gains;
160 bool useindex;
161 u8 index;
162 } nphy_ipa_txcalgains_t;
164 typedef struct nphy_papd_restore_state_t {
165 uint16 fbmix[2];
166 uint16 vga_master[2];
167 uint16 intpa_master[2];
168 uint16 afectrl[2];
169 uint16 afeoverride[2];
170 uint16 pwrup[2];
171 uint16 atten[2];
172 uint16 mm;
173 } nphy_papd_restore_state;
175 typedef struct _nphy_ipa_txrxgain {
176 uint16 hpvga;
177 uint16 lpf_biq1;
178 uint16 lpf_biq0;
179 uint16 lna2;
180 uint16 lna1;
181 s8 txpwrindex;
182 } nphy_ipa_txrxgain_t;
184 #define NPHY_IPA_RXCAL_MAXGAININDEX (6 - 1)
186 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_5GHz[] = { {0, 0, 0, 0, 0, 100},
187 {0, 0, 0, 0, 0, 50},
188 {0, 0, 0, 0, 0, -1},
189 {0, 0, 0, 3, 0, -1},
190 {0, 0, 3, 3, 0, -1},
191 {0, 2, 3, 3, 0, -1}
194 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_2GHz[] = { {0, 0, 0, 0, 0, 128},
195 {0, 0, 0, 0, 0, 70},
196 {0, 0, 0, 0, 0, 20},
197 {0, 0, 0, 3, 0, 20},
198 {0, 0, 3, 3, 0, 20},
199 {0, 2, 3, 3, 0, 20}
202 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_5GHz_rev7[] = { {0, 0, 0, 0, 0, 100},
203 {0, 0, 0, 0, 0, 50},
204 {0, 0, 0, 0, 0, -1},
205 {0, 0, 0, 3, 0, -1},
206 {0, 0, 3, 3, 0, -1},
207 {0, 0, 5, 3, 0, -1}
210 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_2GHz_rev7[] = { {0, 0, 0, 0, 0, 10},
211 {0, 0, 0, 1, 0, 10},
212 {0, 0, 1, 2, 0, 10},
213 {0, 0, 1, 3, 0, 10},
214 {0, 0, 4, 3, 0, 10},
215 {0, 0, 6, 3, 0, 10}
218 #define NPHY_RXCAL_TONEAMP 181
219 #define NPHY_RXCAL_TONEFREQ_40MHz 4000
220 #define NPHY_RXCAL_TONEFREQ_20MHz 2000
222 enum {
223 NPHY_RXCAL_GAIN_INIT = 0,
224 NPHY_RXCAL_GAIN_UP,
225 NPHY_RXCAL_GAIN_DOWN
228 #define wlc_phy_get_papd_nphy(pi) \
229 (read_phy_reg((pi), 0x1e7) & \
230 ((0x1 << 15) | \
231 (0x1 << 14) | \
232 (0x1 << 13)))
234 #define TXFILT_SHAPING_OFDM20 0
235 #define TXFILT_SHAPING_OFDM40 1
236 #define TXFILT_SHAPING_CCK 2
237 #define TXFILT_DEFAULT_OFDM20 3
238 #define TXFILT_DEFAULT_OFDM40 4
240 uint16 NPHY_IPA_REV4_txdigi_filtcoeffs[][NPHY_NUM_DIG_FILT_COEFFS] = {
241 {-377, 137, -407, 208, -1527, 956, 93, 186, 93,
242 230, -44, 230, 201, -191, 201},
243 {-77, 20, -98, 49, -93, 60, 56, 111, 56, 26, -5,
244 26, 34, -32, 34},
245 {-360, 164, -376, 164, -1533, 576, 308, -314, 308,
246 121, -73, 121, 91, 124, 91},
247 {-295, 200, -363, 142, -1391, 826, 151, 301, 151,
248 151, 301, 151, 602, -752, 602},
249 {-92, 58, -96, 49, -104, 44, 17, 35, 17,
250 12, 25, 12, 13, 27, 13},
251 {-375, 136, -399, 209, -1479, 949, 130, 260, 130,
252 230, -44, 230, 201, -191, 201},
253 {0xed9, 0xc8, 0xe95, 0x8e, 0xa91, 0x33a, 0x97, 0x12d, 0x97,
254 0x97, 0x12d, 0x97, 0x25a, 0xd10, 0x25a}
257 typedef struct _chan_info_nphy_2055 {
258 uint16 chan;
259 uint16 freq;
260 uint unknown;
261 u8 RF_pll_ref;
262 u8 RF_rf_pll_mod1;
263 u8 RF_rf_pll_mod0;
264 u8 RF_vco_cap_tail;
265 u8 RF_vco_cal1;
266 u8 RF_vco_cal2;
267 u8 RF_pll_lf_c1;
268 u8 RF_pll_lf_r1;
269 u8 RF_pll_lf_c2;
270 u8 RF_lgbuf_cen_buf;
271 u8 RF_lgen_tune1;
272 u8 RF_lgen_tune2;
273 u8 RF_core1_lgbuf_a_tune;
274 u8 RF_core1_lgbuf_g_tune;
275 u8 RF_core1_rxrf_reg1;
276 u8 RF_core1_tx_pga_pad_tn;
277 u8 RF_core1_tx_mx_bgtrim;
278 u8 RF_core2_lgbuf_a_tune;
279 u8 RF_core2_lgbuf_g_tune;
280 u8 RF_core2_rxrf_reg1;
281 u8 RF_core2_tx_pga_pad_tn;
282 u8 RF_core2_tx_mx_bgtrim;
283 uint16 PHY_BW1a;
284 uint16 PHY_BW2;
285 uint16 PHY_BW3;
286 uint16 PHY_BW4;
287 uint16 PHY_BW5;
288 uint16 PHY_BW6;
289 } chan_info_nphy_2055_t;
291 typedef struct _chan_info_nphy_radio205x {
292 uint16 chan;
293 uint16 freq;
294 u8 RF_SYN_pll_vcocal1;
295 u8 RF_SYN_pll_vcocal2;
296 u8 RF_SYN_pll_refdiv;
297 u8 RF_SYN_pll_mmd2;
298 u8 RF_SYN_pll_mmd1;
299 u8 RF_SYN_pll_loopfilter1;
300 u8 RF_SYN_pll_loopfilter2;
301 u8 RF_SYN_pll_loopfilter3;
302 u8 RF_SYN_pll_loopfilter4;
303 u8 RF_SYN_pll_loopfilter5;
304 u8 RF_SYN_reserved_addr27;
305 u8 RF_SYN_reserved_addr28;
306 u8 RF_SYN_reserved_addr29;
307 u8 RF_SYN_logen_VCOBUF1;
308 u8 RF_SYN_logen_MIXER2;
309 u8 RF_SYN_logen_BUF3;
310 u8 RF_SYN_logen_BUF4;
311 u8 RF_RX0_lnaa_tune;
312 u8 RF_RX0_lnag_tune;
313 u8 RF_TX0_intpaa_boost_tune;
314 u8 RF_TX0_intpag_boost_tune;
315 u8 RF_TX0_pada_boost_tune;
316 u8 RF_TX0_padg_boost_tune;
317 u8 RF_TX0_pgaa_boost_tune;
318 u8 RF_TX0_pgag_boost_tune;
319 u8 RF_TX0_mixa_boost_tune;
320 u8 RF_TX0_mixg_boost_tune;
321 u8 RF_RX1_lnaa_tune;
322 u8 RF_RX1_lnag_tune;
323 u8 RF_TX1_intpaa_boost_tune;
324 u8 RF_TX1_intpag_boost_tune;
325 u8 RF_TX1_pada_boost_tune;
326 u8 RF_TX1_padg_boost_tune;
327 u8 RF_TX1_pgaa_boost_tune;
328 u8 RF_TX1_pgag_boost_tune;
329 u8 RF_TX1_mixa_boost_tune;
330 u8 RF_TX1_mixg_boost_tune;
331 uint16 PHY_BW1a;
332 uint16 PHY_BW2;
333 uint16 PHY_BW3;
334 uint16 PHY_BW4;
335 uint16 PHY_BW5;
336 uint16 PHY_BW6;
337 } chan_info_nphy_radio205x_t;
339 typedef struct _chan_info_nphy_radio2057 {
340 uint16 chan;
341 uint16 freq;
342 u8 RF_vcocal_countval0;
343 u8 RF_vcocal_countval1;
344 u8 RF_rfpll_refmaster_sparextalsize;
345 u8 RF_rfpll_loopfilter_r1;
346 u8 RF_rfpll_loopfilter_c2;
347 u8 RF_rfpll_loopfilter_c1;
348 u8 RF_cp_kpd_idac;
349 u8 RF_rfpll_mmd0;
350 u8 RF_rfpll_mmd1;
351 u8 RF_vcobuf_tune;
352 u8 RF_logen_mx2g_tune;
353 u8 RF_logen_mx5g_tune;
354 u8 RF_logen_indbuf2g_tune;
355 u8 RF_logen_indbuf5g_tune;
356 u8 RF_txmix2g_tune_boost_pu_core0;
357 u8 RF_pad2g_tune_pus_core0;
358 u8 RF_pga_boost_tune_core0;
359 u8 RF_txmix5g_boost_tune_core0;
360 u8 RF_pad5g_tune_misc_pus_core0;
361 u8 RF_lna2g_tune_core0;
362 u8 RF_lna5g_tune_core0;
363 u8 RF_txmix2g_tune_boost_pu_core1;
364 u8 RF_pad2g_tune_pus_core1;
365 u8 RF_pga_boost_tune_core1;
366 u8 RF_txmix5g_boost_tune_core1;
367 u8 RF_pad5g_tune_misc_pus_core1;
368 u8 RF_lna2g_tune_core1;
369 u8 RF_lna5g_tune_core1;
370 uint16 PHY_BW1a;
371 uint16 PHY_BW2;
372 uint16 PHY_BW3;
373 uint16 PHY_BW4;
374 uint16 PHY_BW5;
375 uint16 PHY_BW6;
376 } chan_info_nphy_radio2057_t;
378 typedef struct _chan_info_nphy_radio2057_rev5 {
379 uint16 chan;
380 uint16 freq;
381 u8 RF_vcocal_countval0;
382 u8 RF_vcocal_countval1;
383 u8 RF_rfpll_refmaster_sparextalsize;
384 u8 RF_rfpll_loopfilter_r1;
385 u8 RF_rfpll_loopfilter_c2;
386 u8 RF_rfpll_loopfilter_c1;
387 u8 RF_cp_kpd_idac;
388 u8 RF_rfpll_mmd0;
389 u8 RF_rfpll_mmd1;
390 u8 RF_vcobuf_tune;
391 u8 RF_logen_mx2g_tune;
392 u8 RF_logen_indbuf2g_tune;
393 u8 RF_txmix2g_tune_boost_pu_core0;
394 u8 RF_pad2g_tune_pus_core0;
395 u8 RF_lna2g_tune_core0;
396 u8 RF_txmix2g_tune_boost_pu_core1;
397 u8 RF_pad2g_tune_pus_core1;
398 u8 RF_lna2g_tune_core1;
399 uint16 PHY_BW1a;
400 uint16 PHY_BW2;
401 uint16 PHY_BW3;
402 uint16 PHY_BW4;
403 uint16 PHY_BW5;
404 uint16 PHY_BW6;
405 } chan_info_nphy_radio2057_rev5_t;
407 typedef struct nphy_sfo_cfg {
408 uint16 PHY_BW1a;
409 uint16 PHY_BW2;
410 uint16 PHY_BW3;
411 uint16 PHY_BW4;
412 uint16 PHY_BW5;
413 uint16 PHY_BW6;
414 } nphy_sfo_cfg_t;
416 static chan_info_nphy_2055_t chan_info_nphy_2055[] = {
418 184, 4920, 3280, 0x71, 0x01, 0xEC, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
419 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
420 0x0F, 0x8F, 0x7B4, 0x7B0, 0x7AC, 0x214, 0x215, 0x216},
422 186, 4930, 3287, 0x71, 0x01, 0xED, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
423 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
424 0x0F, 0x8F, 0x7B8, 0x7B4, 0x7B0, 0x213, 0x214, 0x215},
426 188, 4940, 3293, 0x71, 0x01, 0xEE, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
427 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
428 0x0F, 0x8F, 0x7BC, 0x7B8, 0x7B4, 0x212, 0x213, 0x214},
430 190, 4950, 3300, 0x71, 0x01, 0xEF, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
431 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
432 0x0F, 0x8F, 0x7C0, 0x7BC, 0x7B8, 0x211, 0x212, 0x213},
434 192, 4960, 3307, 0x71, 0x01, 0xF0, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
435 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
436 0x0F, 0x8F, 0x7C4, 0x7C0, 0x7BC, 0x20F, 0x211, 0x212},
438 194, 4970, 3313, 0x71, 0x01, 0xF1, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
439 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
440 0x0F, 0x8F, 0x7C8, 0x7C4, 0x7C0, 0x20E, 0x20F, 0x211},
442 196, 4980, 3320, 0x71, 0x01, 0xF2, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
443 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
444 0x0F, 0x8F, 0x7CC, 0x7C8, 0x7C4, 0x20D, 0x20E, 0x20F},
446 198, 4990, 3327, 0x71, 0x01, 0xF3, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
447 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
448 0x0F, 0x8F, 0x7D0, 0x7CC, 0x7C8, 0x20C, 0x20D, 0x20E},
450 200, 5000, 3333, 0x71, 0x01, 0xF4, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
451 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
452 0x0F, 0x8F, 0x7D4, 0x7D0, 0x7CC, 0x20B, 0x20C, 0x20D},
454 202, 5010, 3340, 0x71, 0x01, 0xF5, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
455 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
456 0x0F, 0x8F, 0x7D8, 0x7D4, 0x7D0, 0x20A, 0x20B, 0x20C},
458 204, 5020, 3347, 0x71, 0x01, 0xF6, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
459 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
460 0x0F, 0x8F, 0x7DC, 0x7D8, 0x7D4, 0x209, 0x20A, 0x20B},
462 206, 5030, 3353, 0x71, 0x01, 0xF7, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
463 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
464 0x0F, 0x8F, 0x7E0, 0x7DC, 0x7D8, 0x208, 0x209, 0x20A},
466 208, 5040, 3360, 0x71, 0x01, 0xF8, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
467 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
468 0x0F, 0x8F, 0x7E4, 0x7E0, 0x7DC, 0x207, 0x208, 0x209},
470 210, 5050, 3367, 0x71, 0x01, 0xF9, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
471 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
472 0x0F, 0x8F, 0x7E8, 0x7E4, 0x7E0, 0x206, 0x207, 0x208},
474 212, 5060, 3373, 0x71, 0x01, 0xFA, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
475 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, 0x8E, 0xFF, 0x00, 0x0E,
476 0x0F, 0x8E, 0x7EC, 0x7E8, 0x7E4, 0x205, 0x206, 0x207},
478 214, 5070, 3380, 0x71, 0x01, 0xFB, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
479 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, 0x8E, 0xFF, 0x00, 0x0E,
480 0x0F, 0x8E, 0x7F0, 0x7EC, 0x7E8, 0x204, 0x205, 0x206},
482 216, 5080, 3387, 0x71, 0x01, 0xFC, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
483 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, 0x8D, 0xEE, 0x00, 0x0E,
484 0x0F, 0x8D, 0x7F4, 0x7F0, 0x7EC, 0x203, 0x204, 0x205},
486 218, 5090, 3393, 0x71, 0x01, 0xFD, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
487 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, 0x8D, 0xEE, 0x00, 0x0E,
488 0x0F, 0x8D, 0x7F8, 0x7F4, 0x7F0, 0x202, 0x203, 0x204},
490 220, 5100, 3400, 0x71, 0x01, 0xFE, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
491 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, 0x8D, 0xEE, 0x00, 0x0D,
492 0x0F, 0x8D, 0x7FC, 0x7F8, 0x7F4, 0x201, 0x202, 0x203},
494 222, 5110, 3407, 0x71, 0x01, 0xFF, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
495 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, 0x8D, 0xEE, 0x00, 0x0D,
496 0x0F, 0x8D, 0x800, 0x7FC, 0x7F8, 0x200, 0x201, 0x202},
498 224, 5120, 3413, 0x71, 0x02, 0x00, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
499 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, 0x8C, 0xDD, 0x00, 0x0D,
500 0x0F, 0x8C, 0x804, 0x800, 0x7FC, 0x1FF, 0x200, 0x201},
502 226, 5130, 3420, 0x71, 0x02, 0x01, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
503 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, 0x8C, 0xDD, 0x00, 0x0D,
504 0x0F, 0x8C, 0x808, 0x804, 0x800, 0x1FE, 0x1FF, 0x200},
506 228, 5140, 3427, 0x71, 0x02, 0x02, 0x0C, 0xC6, 0x01, 0x04, 0x0A,
507 0x00, 0x8D, 0x99, 0x99, 0xDD, 0x00, 0x0C, 0x0E, 0x8B, 0xDD, 0x00, 0x0C,
508 0x0E, 0x8B, 0x80C, 0x808, 0x804, 0x1FD, 0x1FE, 0x1FF},
510 32, 5160, 3440, 0x71, 0x02, 0x04, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
511 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, 0x8A, 0xCC, 0x00, 0x0B,
512 0x0D, 0x8A, 0x814, 0x810, 0x80C, 0x1FB, 0x1FC, 0x1FD},
514 34, 5170, 3447, 0x71, 0x02, 0x05, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
515 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, 0x8A, 0xCC, 0x00, 0x0B,
516 0x0D, 0x8A, 0x818, 0x814, 0x810, 0x1FA, 0x1FB, 0x1FC},
518 36, 5180, 3453, 0x71, 0x02, 0x06, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
519 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, 0x89, 0xCC, 0x00, 0x0B,
520 0x0C, 0x89, 0x81C, 0x818, 0x814, 0x1F9, 0x1FA, 0x1FB},
522 38, 5190, 3460, 0x71, 0x02, 0x07, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
523 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, 0x89, 0xCC, 0x00, 0x0B,
524 0x0C, 0x89, 0x820, 0x81C, 0x818, 0x1F8, 0x1F9, 0x1FA},
526 40, 5200, 3467, 0x71, 0x02, 0x08, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
527 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, 0x89, 0xBB, 0x00, 0x0A,
528 0x0B, 0x89, 0x824, 0x820, 0x81C, 0x1F7, 0x1F8, 0x1F9},
530 42, 5210, 3473, 0x71, 0x02, 0x09, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
531 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, 0x89, 0xBB, 0x00, 0x0A,
532 0x0B, 0x89, 0x828, 0x824, 0x820, 0x1F6, 0x1F7, 0x1F8},
534 44, 5220, 3480, 0x71, 0x02, 0x0A, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
535 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, 0x88, 0xBB, 0x00, 0x09,
536 0x0A, 0x88, 0x82C, 0x828, 0x824, 0x1F5, 0x1F6, 0x1F7},
538 46, 5230, 3487, 0x71, 0x02, 0x0B, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
539 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, 0x88, 0xBB, 0x00, 0x09,
540 0x0A, 0x88, 0x830, 0x82C, 0x828, 0x1F4, 0x1F5, 0x1F6},
542 48, 5240, 3493, 0x71, 0x02, 0x0C, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
543 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, 0x87, 0xAA, 0x00, 0x09,
544 0x0A, 0x87, 0x834, 0x830, 0x82C, 0x1F3, 0x1F4, 0x1F5},
546 50, 5250, 3500, 0x71, 0x02, 0x0D, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
547 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, 0x87, 0xAA, 0x00, 0x09,
548 0x0A, 0x87, 0x838, 0x834, 0x830, 0x1F2, 0x1F3, 0x1F4},
550 52, 5260, 3507, 0x71, 0x02, 0x0E, 0x0A, 0x98, 0x01, 0x04, 0x0A,
551 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, 0x87, 0xAA, 0x00, 0x08,
552 0x09, 0x87, 0x83C, 0x838, 0x834, 0x1F1, 0x1F2, 0x1F3},
554 54, 5270, 3513, 0x71, 0x02, 0x0F, 0x0A, 0x98, 0x01, 0x04, 0x0A,
555 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, 0x87, 0xAA, 0x00, 0x08,
556 0x09, 0x87, 0x840, 0x83C, 0x838, 0x1F0, 0x1F1, 0x1F2},
558 56, 5280, 3520, 0x71, 0x02, 0x10, 0x09, 0x91, 0x01, 0x04, 0x0A,
559 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, 0x86, 0x99, 0x00, 0x08,
560 0x08, 0x86, 0x844, 0x840, 0x83C, 0x1F0, 0x1F0, 0x1F1},
562 58, 5290, 3527, 0x71, 0x02, 0x11, 0x09, 0x91, 0x01, 0x04, 0x0A,
563 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, 0x86, 0x99, 0x00, 0x08,
564 0x08, 0x86, 0x848, 0x844, 0x840, 0x1EF, 0x1F0, 0x1F0},
566 60, 5300, 3533, 0x71, 0x02, 0x12, 0x09, 0x8A, 0x01, 0x04, 0x0A,
567 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, 0x85, 0x99, 0x00, 0x08,
568 0x07, 0x85, 0x84C, 0x848, 0x844, 0x1EE, 0x1EF, 0x1F0},
570 62, 5310, 3540, 0x71, 0x02, 0x13, 0x09, 0x8A, 0x01, 0x04, 0x0A,
571 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, 0x85, 0x99, 0x00, 0x08,
572 0x07, 0x85, 0x850, 0x84C, 0x848, 0x1ED, 0x1EE, 0x1EF},
574 64, 5320, 3547, 0x71, 0x02, 0x14, 0x09, 0x83, 0x01, 0x04, 0x0A,
575 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, 0x84, 0x88, 0x00, 0x07,
576 0x07, 0x84, 0x854, 0x850, 0x84C, 0x1EC, 0x1ED, 0x1EE},
578 66, 5330, 3553, 0x71, 0x02, 0x15, 0x09, 0x83, 0x01, 0x04, 0x0A,
579 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, 0x84, 0x88, 0x00, 0x07,
580 0x07, 0x84, 0x858, 0x854, 0x850, 0x1EB, 0x1EC, 0x1ED},
582 68, 5340, 3560, 0x71, 0x02, 0x16, 0x08, 0x7C, 0x01, 0x04, 0x0A,
583 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, 0x84, 0x88, 0x00, 0x07,
584 0x06, 0x84, 0x85C, 0x858, 0x854, 0x1EA, 0x1EB, 0x1EC},
586 70, 5350, 3567, 0x71, 0x02, 0x17, 0x08, 0x7C, 0x01, 0x04, 0x0A,
587 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, 0x84, 0x88, 0x00, 0x07,
588 0x06, 0x84, 0x860, 0x85C, 0x858, 0x1E9, 0x1EA, 0x1EB},
590 72, 5360, 3573, 0x71, 0x02, 0x18, 0x08, 0x75, 0x01, 0x04, 0x0A,
591 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, 0x83, 0x77, 0x00, 0x06,
592 0x05, 0x83, 0x864, 0x860, 0x85C, 0x1E8, 0x1E9, 0x1EA},
594 74, 5370, 3580, 0x71, 0x02, 0x19, 0x08, 0x75, 0x01, 0x04, 0x0A,
595 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, 0x83, 0x77, 0x00, 0x06,
596 0x05, 0x83, 0x868, 0x864, 0x860, 0x1E7, 0x1E8, 0x1E9},
598 76, 5380, 3587, 0x71, 0x02, 0x1A, 0x08, 0x6E, 0x01, 0x04, 0x0A,
599 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, 0x82, 0x77, 0x00, 0x06,
600 0x04, 0x82, 0x86C, 0x868, 0x864, 0x1E6, 0x1E7, 0x1E8},
602 78, 5390, 3593, 0x71, 0x02, 0x1B, 0x08, 0x6E, 0x01, 0x04, 0x0A,
603 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, 0x82, 0x77, 0x00, 0x06,
604 0x04, 0x82, 0x870, 0x86C, 0x868, 0x1E5, 0x1E6, 0x1E7},
606 80, 5400, 3600, 0x71, 0x02, 0x1C, 0x07, 0x67, 0x01, 0x04, 0x0A,
607 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, 0x81, 0x66, 0x00, 0x05,
608 0x04, 0x81, 0x874, 0x870, 0x86C, 0x1E5, 0x1E5, 0x1E6},
610 82, 5410, 3607, 0x71, 0x02, 0x1D, 0x07, 0x67, 0x01, 0x04, 0x0A,
611 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, 0x81, 0x66, 0x00, 0x05,
612 0x04, 0x81, 0x878, 0x874, 0x870, 0x1E4, 0x1E5, 0x1E5},
614 84, 5420, 3613, 0x71, 0x02, 0x1E, 0x07, 0x61, 0x01, 0x04, 0x0A,
615 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, 0x80, 0x66, 0x00, 0x05,
616 0x03, 0x80, 0x87C, 0x878, 0x874, 0x1E3, 0x1E4, 0x1E5},
618 86, 5430, 3620, 0x71, 0x02, 0x1F, 0x07, 0x61, 0x01, 0x04, 0x0A,
619 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, 0x80, 0x66, 0x00, 0x05,
620 0x03, 0x80, 0x880, 0x87C, 0x878, 0x1E2, 0x1E3, 0x1E4},
622 88, 5440, 3627, 0x71, 0x02, 0x20, 0x07, 0x5A, 0x01, 0x04, 0x0A,
623 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, 0x80, 0x55, 0x00, 0x04,
624 0x02, 0x80, 0x884, 0x880, 0x87C, 0x1E1, 0x1E2, 0x1E3},
626 90, 5450, 3633, 0x71, 0x02, 0x21, 0x07, 0x5A, 0x01, 0x04, 0x0A,
627 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, 0x80, 0x55, 0x00, 0x04,
628 0x02, 0x80, 0x888, 0x884, 0x880, 0x1E0, 0x1E1, 0x1E2},
630 92, 5460, 3640, 0x71, 0x02, 0x22, 0x06, 0x53, 0x01, 0x04, 0x0A,
631 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, 0x80, 0x55, 0x00, 0x04,
632 0x01, 0x80, 0x88C, 0x888, 0x884, 0x1DF, 0x1E0, 0x1E1},
634 94, 5470, 3647, 0x71, 0x02, 0x23, 0x06, 0x53, 0x01, 0x04, 0x0A,
635 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, 0x80, 0x55, 0x00, 0x04,
636 0x01, 0x80, 0x890, 0x88C, 0x888, 0x1DE, 0x1DF, 0x1E0},
638 96, 5480, 3653, 0x71, 0x02, 0x24, 0x06, 0x4D, 0x01, 0x04, 0x0A,
639 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
640 0x00, 0x80, 0x894, 0x890, 0x88C, 0x1DD, 0x1DE, 0x1DF},
642 98, 5490, 3660, 0x71, 0x02, 0x25, 0x06, 0x4D, 0x01, 0x04, 0x0A,
643 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
644 0x00, 0x80, 0x898, 0x894, 0x890, 0x1DD, 0x1DD, 0x1DE},
646 100, 5500, 3667, 0x71, 0x02, 0x26, 0x06, 0x47, 0x01, 0x04, 0x0A,
647 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
648 0x00, 0x80, 0x89C, 0x898, 0x894, 0x1DC, 0x1DD, 0x1DD},
650 102, 5510, 3673, 0x71, 0x02, 0x27, 0x06, 0x47, 0x01, 0x04, 0x0A,
651 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
652 0x00, 0x80, 0x8A0, 0x89C, 0x898, 0x1DB, 0x1DC, 0x1DD},
654 104, 5520, 3680, 0x71, 0x02, 0x28, 0x05, 0x40, 0x01, 0x04, 0x0A,
655 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
656 0x00, 0x80, 0x8A4, 0x8A0, 0x89C, 0x1DA, 0x1DB, 0x1DC},
658 106, 5530, 3687, 0x71, 0x02, 0x29, 0x05, 0x40, 0x01, 0x04, 0x0A,
659 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
660 0x00, 0x80, 0x8A8, 0x8A4, 0x8A0, 0x1D9, 0x1DA, 0x1DB},
662 108, 5540, 3693, 0x71, 0x02, 0x2A, 0x05, 0x3A, 0x01, 0x04, 0x0A,
663 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
664 0x00, 0x80, 0x8AC, 0x8A8, 0x8A4, 0x1D8, 0x1D9, 0x1DA},
666 110, 5550, 3700, 0x71, 0x02, 0x2B, 0x05, 0x3A, 0x01, 0x04, 0x0A,
667 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
668 0x00, 0x80, 0x8B0, 0x8AC, 0x8A8, 0x1D7, 0x1D8, 0x1D9},
670 112, 5560, 3707, 0x71, 0x02, 0x2C, 0x05, 0x34, 0x01, 0x04, 0x0A,
671 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
672 0x00, 0x80, 0x8B4, 0x8B0, 0x8AC, 0x1D7, 0x1D7, 0x1D8},
674 114, 5570, 3713, 0x71, 0x02, 0x2D, 0x05, 0x34, 0x01, 0x04, 0x0A,
675 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
676 0x00, 0x80, 0x8B8, 0x8B4, 0x8B0, 0x1D6, 0x1D7, 0x1D7},
678 116, 5580, 3720, 0x71, 0x02, 0x2E, 0x04, 0x2E, 0x01, 0x04, 0x0A,
679 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
680 0x00, 0x80, 0x8BC, 0x8B8, 0x8B4, 0x1D5, 0x1D6, 0x1D7},
682 118, 5590, 3727, 0x71, 0x02, 0x2F, 0x04, 0x2E, 0x01, 0x04, 0x0A,
683 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
684 0x00, 0x80, 0x8C0, 0x8BC, 0x8B8, 0x1D4, 0x1D5, 0x1D6},
686 120, 5600, 3733, 0x71, 0x02, 0x30, 0x04, 0x28, 0x01, 0x04, 0x0A,
687 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x80, 0x11, 0x00, 0x01,
688 0x00, 0x80, 0x8C4, 0x8C0, 0x8BC, 0x1D3, 0x1D4, 0x1D5},
690 122, 5610, 3740, 0x71, 0x02, 0x31, 0x04, 0x28, 0x01, 0x04, 0x0A,
691 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x80, 0x11, 0x00, 0x01,
692 0x00, 0x80, 0x8C8, 0x8C4, 0x8C0, 0x1D2, 0x1D3, 0x1D4},
694 124, 5620, 3747, 0x71, 0x02, 0x32, 0x04, 0x21, 0x01, 0x04, 0x0A,
695 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00,
696 0x00, 0x80, 0x8CC, 0x8C8, 0x8C4, 0x1D2, 0x1D2, 0x1D3},
698 126, 5630, 3753, 0x71, 0x02, 0x33, 0x04, 0x21, 0x01, 0x04, 0x0A,
699 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00,
700 0x00, 0x80, 0x8D0, 0x8CC, 0x8C8, 0x1D1, 0x1D2, 0x1D2},
702 128, 5640, 3760, 0x71, 0x02, 0x34, 0x03, 0x1C, 0x01, 0x04, 0x0A,
703 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
704 0x00, 0x80, 0x8D4, 0x8D0, 0x8CC, 0x1D0, 0x1D1, 0x1D2},
706 130, 5650, 3767, 0x71, 0x02, 0x35, 0x03, 0x1C, 0x01, 0x04, 0x0A,
707 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
708 0x00, 0x80, 0x8D8, 0x8D4, 0x8D0, 0x1CF, 0x1D0, 0x1D1},
710 132, 5660, 3773, 0x71, 0x02, 0x36, 0x03, 0x16, 0x01, 0x04, 0x0A,
711 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
712 0x00, 0x80, 0x8DC, 0x8D8, 0x8D4, 0x1CE, 0x1CF, 0x1D0},
714 134, 5670, 3780, 0x71, 0x02, 0x37, 0x03, 0x16, 0x01, 0x04, 0x0A,
715 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
716 0x00, 0x80, 0x8E0, 0x8DC, 0x8D8, 0x1CE, 0x1CE, 0x1CF},
718 136, 5680, 3787, 0x71, 0x02, 0x38, 0x03, 0x10, 0x01, 0x04, 0x0A,
719 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
720 0x00, 0x80, 0x8E4, 0x8E0, 0x8DC, 0x1CD, 0x1CE, 0x1CE},
722 138, 5690, 3793, 0x71, 0x02, 0x39, 0x03, 0x10, 0x01, 0x04, 0x0A,
723 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
724 0x00, 0x80, 0x8E8, 0x8E4, 0x8E0, 0x1CC, 0x1CD, 0x1CE},
726 140, 5700, 3800, 0x71, 0x02, 0x3A, 0x02, 0x0A, 0x01, 0x04, 0x0A,
727 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
728 0x00, 0x80, 0x8EC, 0x8E8, 0x8E4, 0x1CB, 0x1CC, 0x1CD},
730 142, 5710, 3807, 0x71, 0x02, 0x3B, 0x02, 0x0A, 0x01, 0x04, 0x0A,
731 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
732 0x00, 0x80, 0x8F0, 0x8EC, 0x8E8, 0x1CA, 0x1CB, 0x1CC},
734 144, 5720, 3813, 0x71, 0x02, 0x3C, 0x02, 0x0A, 0x01, 0x04, 0x0A,
735 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
736 0x00, 0x80, 0x8F4, 0x8F0, 0x8EC, 0x1C9, 0x1CA, 0x1CB},
738 145, 5725, 3817, 0x72, 0x04, 0x79, 0x02, 0x03, 0x01, 0x03, 0x14,
739 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
740 0x00, 0x80, 0x8F6, 0x8F2, 0x8EE, 0x1C9, 0x1CA, 0x1CB},
742 146, 5730, 3820, 0x71, 0x02, 0x3D, 0x02, 0x0A, 0x01, 0x04, 0x0A,
743 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
744 0x00, 0x80, 0x8F8, 0x8F4, 0x8F0, 0x1C9, 0x1C9, 0x1CA},
746 147, 5735, 3823, 0x72, 0x04, 0x7B, 0x02, 0x03, 0x01, 0x03, 0x14,
747 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
748 0x00, 0x80, 0x8FA, 0x8F6, 0x8F2, 0x1C8, 0x1C9, 0x1CA},
750 148, 5740, 3827, 0x71, 0x02, 0x3E, 0x02, 0x0A, 0x01, 0x04, 0x0A,
751 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
752 0x00, 0x80, 0x8FC, 0x8F8, 0x8F4, 0x1C8, 0x1C9, 0x1C9},
754 149, 5745, 3830, 0x72, 0x04, 0x7D, 0x02, 0xFE, 0x00, 0x03, 0x14,
755 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
756 0x00, 0x80, 0x8FE, 0x8FA, 0x8F6, 0x1C8, 0x1C8, 0x1C9},
758 150, 5750, 3833, 0x71, 0x02, 0x3F, 0x02, 0x0A, 0x01, 0x04, 0x0A,
759 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
760 0x00, 0x80, 0x900, 0x8FC, 0x8F8, 0x1C7, 0x1C8, 0x1C9},
762 151, 5755, 3837, 0x72, 0x04, 0x7F, 0x02, 0xFE, 0x00, 0x03, 0x14,
763 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
764 0x00, 0x80, 0x902, 0x8FE, 0x8FA, 0x1C7, 0x1C8, 0x1C8},
766 152, 5760, 3840, 0x71, 0x02, 0x40, 0x02, 0x0A, 0x01, 0x04, 0x0A,
767 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
768 0x00, 0x80, 0x904, 0x900, 0x8FC, 0x1C6, 0x1C7, 0x1C8},
770 153, 5765, 3843, 0x72, 0x04, 0x81, 0x02, 0xF8, 0x00, 0x03, 0x14,
771 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
772 0x00, 0x80, 0x906, 0x902, 0x8FE, 0x1C6, 0x1C7, 0x1C8},
774 154, 5770, 3847, 0x71, 0x02, 0x41, 0x02, 0x0A, 0x01, 0x04, 0x0A,
775 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
776 0x00, 0x80, 0x908, 0x904, 0x900, 0x1C6, 0x1C6, 0x1C7},
778 155, 5775, 3850, 0x72, 0x04, 0x83, 0x02, 0xF8, 0x00, 0x03, 0x14,
779 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
780 0x00, 0x80, 0x90A, 0x906, 0x902, 0x1C5, 0x1C6, 0x1C7},
782 156, 5780, 3853, 0x71, 0x02, 0x42, 0x02, 0x0A, 0x01, 0x04, 0x0A,
783 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
784 0x00, 0x80, 0x90C, 0x908, 0x904, 0x1C5, 0x1C6, 0x1C6},
786 157, 5785, 3857, 0x72, 0x04, 0x85, 0x02, 0xF2, 0x00, 0x03, 0x14,
787 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
788 0x00, 0x80, 0x90E, 0x90A, 0x906, 0x1C4, 0x1C5, 0x1C6},
790 158, 5790, 3860, 0x71, 0x02, 0x43, 0x02, 0x0A, 0x01, 0x04, 0x0A,
791 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
792 0x00, 0x80, 0x910, 0x90C, 0x908, 0x1C4, 0x1C5, 0x1C6},
794 159, 5795, 3863, 0x72, 0x04, 0x87, 0x02, 0xF2, 0x00, 0x03, 0x14,
795 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
796 0x00, 0x80, 0x912, 0x90E, 0x90A, 0x1C4, 0x1C4, 0x1C5},
798 160, 5800, 3867, 0x71, 0x02, 0x44, 0x01, 0x0A, 0x01, 0x04, 0x0A,
799 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
800 0x00, 0x80, 0x914, 0x910, 0x90C, 0x1C3, 0x1C4, 0x1C5},
802 161, 5805, 3870, 0x72, 0x04, 0x89, 0x01, 0xED, 0x00, 0x03, 0x14,
803 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
804 0x00, 0x80, 0x916, 0x912, 0x90E, 0x1C3, 0x1C4, 0x1C4},
806 162, 5810, 3873, 0x71, 0x02, 0x45, 0x01, 0x0A, 0x01, 0x04, 0x0A,
807 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
808 0x00, 0x80, 0x918, 0x914, 0x910, 0x1C2, 0x1C3, 0x1C4},
810 163, 5815, 3877, 0x72, 0x04, 0x8B, 0x01, 0xED, 0x00, 0x03, 0x14,
811 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
812 0x00, 0x80, 0x91A, 0x916, 0x912, 0x1C2, 0x1C3, 0x1C4},
814 164, 5820, 3880, 0x71, 0x02, 0x46, 0x01, 0x0A, 0x01, 0x04, 0x0A,
815 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
816 0x00, 0x80, 0x91C, 0x918, 0x914, 0x1C2, 0x1C2, 0x1C3},
818 165, 5825, 3883, 0x72, 0x04, 0x8D, 0x01, 0xED, 0x00, 0x03, 0x14,
819 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
820 0x00, 0x80, 0x91E, 0x91A, 0x916, 0x1C1, 0x1C2, 0x1C3},
822 166, 5830, 3887, 0x71, 0x02, 0x47, 0x01, 0x0A, 0x01, 0x04, 0x0A,
823 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
824 0x00, 0x80, 0x920, 0x91C, 0x918, 0x1C1, 0x1C2, 0x1C2},
826 168, 5840, 3893, 0x71, 0x02, 0x48, 0x01, 0x0A, 0x01, 0x04, 0x0A,
827 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
828 0x00, 0x80, 0x924, 0x920, 0x91C, 0x1C0, 0x1C1, 0x1C2},
830 170, 5850, 3900, 0x71, 0x02, 0x49, 0x01, 0xE0, 0x00, 0x04, 0x0A,
831 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
832 0x00, 0x80, 0x928, 0x924, 0x920, 0x1BF, 0x1C0, 0x1C1},
834 172, 5860, 3907, 0x71, 0x02, 0x4A, 0x01, 0xDE, 0x00, 0x04, 0x0A,
835 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
836 0x00, 0x80, 0x92C, 0x928, 0x924, 0x1BF, 0x1BF, 0x1C0},
838 174, 5870, 3913, 0x71, 0x02, 0x4B, 0x00, 0xDB, 0x00, 0x04, 0x0A,
839 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
840 0x00, 0x80, 0x930, 0x92C, 0x928, 0x1BE, 0x1BF, 0x1BF},
842 176, 5880, 3920, 0x71, 0x02, 0x4C, 0x00, 0xD8, 0x00, 0x04, 0x0A,
843 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
844 0x00, 0x80, 0x934, 0x930, 0x92C, 0x1BD, 0x1BE, 0x1BF},
846 178, 5890, 3927, 0x71, 0x02, 0x4D, 0x00, 0xD6, 0x00, 0x04, 0x0A,
847 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
848 0x00, 0x80, 0x938, 0x934, 0x930, 0x1BC, 0x1BD, 0x1BE},
850 180, 5900, 3933, 0x71, 0x02, 0x4E, 0x00, 0xD3, 0x00, 0x04, 0x0A,
851 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
852 0x00, 0x80, 0x93C, 0x938, 0x934, 0x1BC, 0x1BC, 0x1BD},
854 182, 5910, 3940, 0x71, 0x02, 0x4F, 0x00, 0xD6, 0x00, 0x04, 0x0A,
855 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
856 0x00, 0x80, 0x940, 0x93C, 0x938, 0x1BB, 0x1BC, 0x1BC},
858 1, 2412, 3216, 0x73, 0x09, 0x6C, 0x0F, 0x00, 0x01, 0x07, 0x15,
859 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0D, 0x0C, 0x80, 0xFF, 0x88, 0x0D,
860 0x0C, 0x80, 0x3C9, 0x3C5, 0x3C1, 0x43A, 0x43F, 0x443},
862 2, 2417, 3223, 0x73, 0x09, 0x71, 0x0F, 0x00, 0x01, 0x07, 0x15,
863 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0B, 0x80, 0xFF, 0x88, 0x0C,
864 0x0B, 0x80, 0x3CB, 0x3C7, 0x3C3, 0x438, 0x43D, 0x441},
866 3, 2422, 3229, 0x73, 0x09, 0x76, 0x0F, 0x00, 0x01, 0x07, 0x15,
867 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, 0x80, 0xFF, 0x88, 0x0C,
868 0x0A, 0x80, 0x3CD, 0x3C9, 0x3C5, 0x436, 0x43A, 0x43F},
870 4, 2427, 3236, 0x73, 0x09, 0x7B, 0x0F, 0x00, 0x01, 0x07, 0x15,
871 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, 0x80, 0xFF, 0x88, 0x0C,
872 0x0A, 0x80, 0x3CF, 0x3CB, 0x3C7, 0x434, 0x438, 0x43D},
874 5, 2432, 3243, 0x73, 0x09, 0x80, 0x0F, 0x00, 0x01, 0x07, 0x15,
875 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x09, 0x80, 0xFF, 0x88, 0x0C,
876 0x09, 0x80, 0x3D1, 0x3CD, 0x3C9, 0x431, 0x436, 0x43A},
878 6, 2437, 3249, 0x73, 0x09, 0x85, 0x0F, 0x00, 0x01, 0x07, 0x15,
879 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0B, 0x08, 0x80, 0xFF, 0x88, 0x0B,
880 0x08, 0x80, 0x3D3, 0x3CF, 0x3CB, 0x42F, 0x434, 0x438},
882 7, 2442, 3256, 0x73, 0x09, 0x8A, 0x0F, 0x00, 0x01, 0x07, 0x15,
883 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x07, 0x80, 0xFF, 0x88, 0x0A,
884 0x07, 0x80, 0x3D5, 0x3D1, 0x3CD, 0x42D, 0x431, 0x436},
886 8, 2447, 3263, 0x73, 0x09, 0x8F, 0x0F, 0x00, 0x01, 0x07, 0x15,
887 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x06, 0x80, 0xFF, 0x88, 0x0A,
888 0x06, 0x80, 0x3D7, 0x3D3, 0x3CF, 0x42B, 0x42F, 0x434},
890 9, 2452, 3269, 0x73, 0x09, 0x94, 0x0F, 0x00, 0x01, 0x07, 0x15,
891 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x09, 0x06, 0x80, 0xFF, 0x88, 0x09,
892 0x06, 0x80, 0x3D9, 0x3D5, 0x3D1, 0x429, 0x42D, 0x431},
894 10, 2457, 3276, 0x73, 0x09, 0x99, 0x0F, 0x00, 0x01, 0x07, 0x15,
895 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x05, 0x80, 0xFF, 0x88, 0x08,
896 0x05, 0x80, 0x3DB, 0x3D7, 0x3D3, 0x427, 0x42B, 0x42F},
898 11, 2462, 3283, 0x73, 0x09, 0x9E, 0x0F, 0x00, 0x01, 0x07, 0x15,
899 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x04, 0x80, 0xFF, 0x88, 0x08,
900 0x04, 0x80, 0x3DD, 0x3D9, 0x3D5, 0x424, 0x429, 0x42D},
902 12, 2467, 3289, 0x73, 0x09, 0xA3, 0x0F, 0x00, 0x01, 0x07, 0x15,
903 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x03, 0x80, 0xFF, 0x88, 0x08,
904 0x03, 0x80, 0x3DF, 0x3DB, 0x3D7, 0x422, 0x427, 0x42B},
906 13, 2472, 3296, 0x73, 0x09, 0xA8, 0x0F, 0x00, 0x01, 0x07, 0x15,
907 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x03, 0x80, 0xFF, 0x88, 0x07,
908 0x03, 0x80, 0x3E1, 0x3DD, 0x3D9, 0x420, 0x424, 0x429},
910 14, 2484, 3312, 0x73, 0x09, 0xB4, 0x0F, 0xFF, 0x01, 0x07, 0x15,
911 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x01, 0x80, 0xFF, 0x88, 0x07,
912 0x01, 0x80, 0x3E6, 0x3E2, 0x3DE, 0x41B, 0x41F, 0x424}
915 static chan_info_nphy_radio205x_t chan_info_nphyrev3_2056[] = {
917 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
918 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
919 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
920 0x00, 0xff, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
922 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
923 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
924 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
925 0x00, 0xff, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
927 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
928 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
929 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
930 0x00, 0xff, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
932 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
933 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
934 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
935 0x00, 0xff, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
937 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
938 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
939 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
940 0x00, 0xff, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
942 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
943 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
944 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
945 0x00, 0xff, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
947 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
948 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
949 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
950 0x00, 0xff, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
952 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
953 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
954 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
955 0x00, 0xff, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
957 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
958 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
959 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
960 0x00, 0xff, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
962 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
963 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
964 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
965 0x00, 0xff, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
967 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
968 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
969 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
970 0x00, 0xff, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
972 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
973 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
974 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
975 0x00, 0xff, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
977 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
978 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
979 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
980 0x00, 0xff, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
982 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
983 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
984 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
985 0x00, 0xff, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
987 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
988 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
989 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
990 0x00, 0xff, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
992 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
993 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
994 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
995 0x00, 0xff, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
997 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
998 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
999 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1000 0x00, 0xff, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
1002 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
1003 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1004 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1005 0x00, 0xff, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
1007 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
1008 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1009 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1010 0x00, 0xff, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
1012 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
1013 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1014 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1015 0x00, 0xfc, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
1017 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
1018 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1019 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1020 0x00, 0xfc, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
1022 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
1023 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1024 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1025 0x00, 0xfc, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
1027 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
1028 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1029 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1030 0x00, 0xfc, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
1032 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
1033 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1034 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1035 0x00, 0xfc, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
1037 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
1038 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1039 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1040 0x00, 0xfc, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
1042 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
1043 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x07, 0x00, 0x7f,
1044 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1045 0x00, 0xfc, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
1047 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
1048 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x07, 0x00, 0x7f,
1049 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1050 0x00, 0xfc, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
1052 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
1053 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x06, 0x00, 0x7f,
1054 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1055 0x00, 0xfc, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
1057 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
1058 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1059 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1060 0x00, 0xfc, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
1062 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1063 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1064 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1065 0x00, 0xfc, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
1067 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1068 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1069 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1070 0x00, 0xfc, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
1072 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1073 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1074 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1075 0x00, 0xfc, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
1077 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1078 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1079 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1080 0x00, 0xfc, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
1082 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1083 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1084 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1085 0x00, 0xfc, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
1087 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1088 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1089 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1090 0x00, 0xfc, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
1092 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
1093 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x06, 0x00, 0x7f,
1094 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1095 0x00, 0xfc, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
1097 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
1098 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x06, 0x00, 0x7f,
1099 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1100 0x00, 0xfc, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
1102 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
1103 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1104 0x00, 0x09, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1105 0x00, 0xfc, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
1107 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
1108 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1109 0x00, 0x09, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1110 0x00, 0xfa, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
1112 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
1113 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1114 0x00, 0x09, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1115 0x00, 0xfa, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
1117 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
1118 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x05, 0x00, 0x7f,
1119 0x00, 0x09, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1120 0x00, 0xfa, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
1122 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
1123 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x05, 0x00, 0x7f,
1124 0x00, 0x09, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1125 0x00, 0xfa, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
1127 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
1128 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1129 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1130 0x00, 0xfa, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
1132 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
1133 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1134 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1135 0x00, 0xfa, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
1137 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
1138 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1139 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1140 0x00, 0xfa, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
1142 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1143 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1144 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1145 0x00, 0xfa, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
1147 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1148 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x8f, 0x00, 0x05, 0x00, 0x7f,
1149 0x00, 0x09, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1150 0x00, 0xfa, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
1152 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1153 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x04, 0x00, 0x7f,
1154 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1155 0x00, 0xfa, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
1157 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1158 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x04, 0x00, 0x7f,
1159 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1160 0x00, 0xfa, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
1162 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1163 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x04, 0x00, 0x7f,
1164 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1165 0x00, 0xfa, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
1167 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1168 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x04, 0x00, 0x7f,
1169 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1170 0x00, 0xfa, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
1172 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
1173 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7e, 0x00, 0x04, 0x00, 0x7f,
1174 0x00, 0x08, 0x00, 0xfa, 0x00, 0x7e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1175 0x00, 0xfa, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
1177 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
1178 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7d, 0x00, 0x04, 0x00, 0x7f,
1179 0x00, 0x08, 0x00, 0xfa, 0x00, 0x7d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1180 0x00, 0xfa, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
1182 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
1183 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x04, 0x00, 0x7f,
1184 0x00, 0x08, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1185 0x00, 0xf8, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
1187 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
1188 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x04, 0x00, 0x7f,
1189 0x00, 0x08, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1190 0x00, 0xf8, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
1192 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
1193 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5d, 0x00, 0x04, 0x00, 0x7f,
1194 0x00, 0x08, 0x00, 0xf8, 0x00, 0x5d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1195 0x00, 0xf8, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
1197 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
1198 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5c, 0x00, 0x04, 0x00, 0x7f,
1199 0x00, 0x08, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1200 0x00, 0xf8, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
1202 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
1203 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x5c, 0x00, 0x03, 0x00, 0x7f,
1204 0x00, 0x07, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1205 0x00, 0xf8, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
1207 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
1208 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x03, 0x00, 0x7f,
1209 0x00, 0x07, 0x00, 0xf8, 0x00, 0x4c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1210 0x00, 0xf8, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
1212 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
1213 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x03, 0x00, 0x7f,
1214 0x00, 0x07, 0x00, 0xf8, 0x00, 0x4c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1215 0x00, 0xf8, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
1217 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
1218 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1219 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1220 0x00, 0xf8, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
1222 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1223 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1224 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1225 0x00, 0xf8, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
1227 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1228 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1229 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1230 0x00, 0xf8, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
1232 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1233 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2b, 0x00, 0x03, 0x00, 0x7f,
1234 0x00, 0x07, 0x00, 0xf8, 0x00, 0x2b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1235 0x00, 0xf8, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
1237 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1238 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2a, 0x00, 0x03, 0x00, 0x7f,
1239 0x00, 0x07, 0x00, 0xf8, 0x00, 0x2a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1240 0x00, 0xf8, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
1242 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1243 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1244 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1245 0x00, 0xf8, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
1247 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1248 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1249 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1250 0x00, 0xf8, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
1252 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
1253 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1254 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1255 0x00, 0xf8, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
1257 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
1258 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x03, 0x00, 0x7f,
1259 0x00, 0x07, 0x00, 0xf8, 0x00, 0x19, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1260 0x00, 0xf8, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
1262 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
1263 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x03, 0x00, 0x7f,
1264 0x00, 0x07, 0x00, 0xf8, 0x00, 0x19, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1265 0x00, 0xf8, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
1267 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
1268 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x03, 0x00, 0x7f,
1269 0x00, 0x07, 0x00, 0xf8, 0x00, 0x09, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1270 0x00, 0xf8, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
1272 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
1273 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x03, 0x00, 0x7f,
1274 0x00, 0x07, 0x00, 0xf8, 0x00, 0x09, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1275 0x00, 0xf8, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
1277 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
1278 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1279 0x00, 0x07, 0x00, 0xf8, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1280 0x00, 0xf8, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
1282 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
1283 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1284 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1285 0x00, 0xf6, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
1287 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
1288 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1289 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1290 0x00, 0xf6, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
1292 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
1293 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1294 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1295 0x00, 0xf6, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
1297 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
1298 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x07, 0x00, 0x03, 0x00, 0x7f,
1299 0x00, 0x07, 0x00, 0xf6, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1300 0x00, 0xf6, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
1302 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1303 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1304 0x00, 0x06, 0x00, 0xf6, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1305 0x00, 0xf6, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
1307 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1308 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1309 0x00, 0x06, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1310 0x00, 0xf4, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
1312 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1313 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1314 0x00, 0x06, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1315 0x00, 0xf4, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
1317 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
1318 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1319 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1320 0x00, 0xf4, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
1322 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1323 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1324 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1325 0x00, 0xf4, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
1327 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
1328 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1329 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1330 0x00, 0xf4, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
1332 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1333 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1334 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1335 0x00, 0xf4, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
1337 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
1338 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1339 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1340 0x00, 0xf4, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
1342 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1343 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1344 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1345 0x00, 0xf4, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
1347 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
1348 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1349 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1350 0x00, 0xf4, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
1352 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
1353 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1354 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1355 0x00, 0xf4, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
1357 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
1358 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1359 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1360 0x00, 0xf4, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
1362 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
1363 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1364 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1365 0x00, 0xf4, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
1367 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
1368 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1369 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1370 0x00, 0xf4, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
1372 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
1373 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1374 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1375 0x00, 0xf4, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
1377 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
1378 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1379 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1380 0x00, 0xf4, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
1382 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
1383 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1384 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1385 0x00, 0xf4, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
1387 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
1388 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1389 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1390 0x00, 0xf4, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
1392 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
1393 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1394 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1395 0x00, 0xf4, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
1397 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
1398 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1399 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1400 0x00, 0xf4, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
1402 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
1403 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1404 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1405 0x00, 0xf4, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
1407 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
1408 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1409 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1410 0x00, 0xf4, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
1412 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
1413 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1414 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1415 0x00, 0xf4, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
1417 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
1418 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1419 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1420 0x00, 0xf4, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
1422 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
1423 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1424 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1425 0x00, 0xf4, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
1427 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
1428 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1429 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1430 0x00, 0xf4, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
1432 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
1433 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1434 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1435 0x00, 0xf4, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
1437 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1438 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1439 0x00, 0x06, 0x00, 0xf2, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1440 0x00, 0xf2, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
1442 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1443 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1444 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1445 0x00, 0xf2, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
1447 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1448 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1449 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1450 0x00, 0xf2, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
1452 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1453 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1454 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1455 0x00, 0xf2, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
1457 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1458 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f,
1459 0x00, 0x05, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x05,
1460 0x00, 0xf2, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
1462 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1463 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f,
1464 0x00, 0x05, 0x00, 0xf2, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x05,
1465 0x00, 0xf2, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
1467 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
1468 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1469 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1470 0x0f, 0x00, 0x0f, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
1472 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
1473 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1474 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1475 0x0f, 0x00, 0x0f, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
1477 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
1478 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1479 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1480 0x0f, 0x00, 0x0f, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
1482 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
1483 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x05, 0x00,
1484 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfd, 0x00, 0x05, 0x00, 0x70, 0x00,
1485 0x0f, 0x00, 0x0f, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
1487 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
1488 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x05, 0x00,
1489 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfb, 0x00, 0x05, 0x00, 0x70, 0x00,
1490 0x0f, 0x00, 0x0f, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
1492 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
1493 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x05, 0x00,
1494 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x05, 0x00, 0x70, 0x00,
1495 0x0f, 0x00, 0x0f, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
1497 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
1498 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x05, 0x00,
1499 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x05, 0x00, 0x70, 0x00,
1500 0x0f, 0x00, 0x0f, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
1502 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
1503 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x05, 0x00,
1504 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf7, 0x00, 0x05, 0x00, 0x70, 0x00,
1505 0x0f, 0x00, 0x0f, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
1507 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
1508 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x05, 0x00,
1509 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf6, 0x00, 0x05, 0x00, 0x70, 0x00,
1510 0x0f, 0x00, 0x0f, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
1512 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
1513 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x05, 0x00,
1514 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf5, 0x00, 0x05, 0x00, 0x70, 0x00,
1515 0x0f, 0x00, 0x0d, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
1517 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
1518 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x05, 0x00,
1519 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x70, 0x00,
1520 0x0f, 0x00, 0x0d, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
1522 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
1523 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x05, 0x00,
1524 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf3, 0x00, 0x05, 0x00, 0x70, 0x00,
1525 0x0f, 0x00, 0x0d, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
1527 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
1528 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x05, 0x00,
1529 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x70, 0x00,
1530 0x0f, 0x00, 0x0d, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
1532 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
1533 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x05, 0x00,
1534 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf0, 0x00, 0x05, 0x00, 0x70, 0x00,
1535 0x0f, 0x00, 0x0d, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
1538 static chan_info_nphy_radio205x_t chan_info_nphyrev4_2056_A1[] = {
1540 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
1541 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1542 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1543 0x00, 0xff, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
1545 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
1546 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1547 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1548 0x00, 0xff, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
1550 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
1551 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1552 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1553 0x00, 0xff, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
1555 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
1556 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1557 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1558 0x00, 0xff, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
1560 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
1561 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1562 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1563 0x00, 0xff, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
1565 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
1566 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1567 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1568 0x00, 0xff, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
1570 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
1571 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1572 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1573 0x00, 0xff, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
1575 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
1576 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1577 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1578 0x00, 0xff, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
1580 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
1581 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1582 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1583 0x00, 0xff, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
1585 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
1586 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1587 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1588 0x00, 0xff, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
1590 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
1591 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1592 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1593 0x00, 0xff, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
1595 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
1596 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1597 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1598 0x00, 0xff, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
1600 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
1601 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1602 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1603 0x00, 0xff, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
1605 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
1606 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1607 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1608 0x00, 0xff, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
1610 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
1611 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1612 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1613 0x00, 0xff, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
1615 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
1616 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1617 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1618 0x00, 0xff, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
1620 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
1621 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1622 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1623 0x00, 0xff, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
1625 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
1626 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1627 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1628 0x00, 0xff, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
1630 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
1631 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1632 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1633 0x00, 0xfe, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
1635 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
1636 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1637 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1638 0x00, 0xfe, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
1640 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
1641 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1642 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1643 0x00, 0xfe, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
1645 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
1646 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1647 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1648 0x00, 0xfe, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
1650 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
1651 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1652 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1653 0x00, 0xfe, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
1655 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
1656 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1657 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1658 0x00, 0xfe, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
1660 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
1661 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1662 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1663 0x00, 0xfe, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
1665 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
1666 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0c, 0x00, 0x7f,
1667 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xef, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1668 0x00, 0xfe, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
1670 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
1671 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0c, 0x00, 0x7f,
1672 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xef, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1673 0x00, 0xfe, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
1675 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
1676 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0a, 0x00, 0x7f,
1677 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1678 0x00, 0xfc, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
1680 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
1681 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1682 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1683 0x00, 0xfc, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
1685 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1686 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1687 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1688 0x00, 0xfc, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
1690 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1691 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1692 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1693 0x00, 0xfc, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
1695 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1696 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1697 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1698 0x00, 0xfc, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
1700 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1701 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1702 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1703 0x00, 0xfc, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
1705 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1706 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1707 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1708 0x00, 0xfc, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
1710 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1711 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1712 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1713 0x00, 0xfc, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
1715 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
1716 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x0a, 0x00, 0x7f,
1717 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1718 0x00, 0xfc, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
1720 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
1721 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x0a, 0x00, 0x7f,
1722 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1723 0x00, 0xfc, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
1725 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
1726 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1727 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1728 0x00, 0xfa, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
1730 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
1731 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1732 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1733 0x00, 0xfa, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
1735 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
1736 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1737 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1738 0x00, 0xfa, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
1740 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
1741 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x08, 0x00, 0x7f,
1742 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1743 0x00, 0xfa, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
1745 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
1746 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x08, 0x00, 0x7f,
1747 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1748 0x00, 0xfa, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
1750 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
1751 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1752 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1753 0x00, 0xfa, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
1755 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
1756 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1757 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1758 0x00, 0xfa, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
1760 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
1761 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1762 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1763 0x00, 0xfa, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
1765 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1766 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1767 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1768 0x00, 0xfa, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
1770 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1771 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x8f, 0x00, 0x08, 0x00, 0x7f,
1772 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1773 0x00, 0xfa, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
1775 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1776 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x07, 0x00, 0x7f,
1777 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8f, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1778 0x00, 0xf8, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
1780 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1781 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x07, 0x00, 0x7f,
1782 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8f, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1783 0x00, 0xf8, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
1785 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1786 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x07, 0x00, 0x7f,
1787 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1788 0x00, 0xf8, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
1790 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1791 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x07, 0x00, 0x7f,
1792 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1793 0x00, 0xf8, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
1795 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
1796 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7e, 0x00, 0x07, 0x00, 0x7f,
1797 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x7e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1798 0x00, 0xf8, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
1800 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
1801 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7d, 0x00, 0x07, 0x00, 0x7f,
1802 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x7d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1803 0x00, 0xf8, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
1805 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
1806 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x07, 0x00, 0x7f,
1807 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1808 0x00, 0xf8, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
1810 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
1811 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x07, 0x00, 0x7f,
1812 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1813 0x00, 0xf8, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
1815 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
1816 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5d, 0x00, 0x07, 0x00, 0x7f,
1817 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x5d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1818 0x00, 0xf8, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
1820 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
1821 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5c, 0x00, 0x07, 0x00, 0x7f,
1822 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1823 0x00, 0xf8, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
1825 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
1826 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x5c, 0x00, 0x06, 0x00, 0x7f,
1827 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x5c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1828 0x00, 0xf6, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
1830 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
1831 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x06, 0x00, 0x7f,
1832 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x4c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1833 0x00, 0xf6, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
1835 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
1836 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x06, 0x00, 0x7f,
1837 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x4c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1838 0x00, 0xf6, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
1840 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
1841 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1842 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1843 0x00, 0xf6, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
1845 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1846 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1847 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1848 0x00, 0xf6, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
1850 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1851 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1852 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1853 0x00, 0xf6, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
1855 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1856 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2b, 0x00, 0x06, 0x00, 0x7f,
1857 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x2b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1858 0x00, 0xf6, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
1860 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1861 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2a, 0x00, 0x06, 0x00, 0x7f,
1862 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x2a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1863 0x00, 0xf6, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
1865 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1866 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x06, 0x00, 0x7f,
1867 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1868 0x00, 0xf6, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
1870 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1871 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x06, 0x00, 0x7f,
1872 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1873 0x00, 0xf6, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
1875 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
1876 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x1a, 0x00, 0x04, 0x00, 0x7f,
1877 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x1a, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1878 0x00, 0xf4, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
1880 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
1881 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x04, 0x00, 0x7f,
1882 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x19, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1883 0x00, 0xf4, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
1885 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
1886 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x04, 0x00, 0x7f,
1887 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x19, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1888 0x00, 0xf4, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
1890 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
1891 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x04, 0x00, 0x7f,
1892 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x09, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1893 0x00, 0xf4, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
1895 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
1896 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x04, 0x00, 0x7f,
1897 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x09, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1898 0x00, 0xf4, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
1900 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
1901 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1902 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1903 0x00, 0xf4, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
1905 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
1906 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1907 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1908 0x00, 0xf4, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
1910 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
1911 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1912 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1913 0x00, 0xf4, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
1915 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
1916 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1917 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1918 0x00, 0xf4, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
1920 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
1921 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x07, 0x00, 0x04, 0x00, 0x7f,
1922 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1923 0x00, 0xf4, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
1925 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1926 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1927 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1928 0x00, 0xf2, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
1930 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1931 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1932 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1933 0x00, 0xf2, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
1935 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1936 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1937 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1938 0x00, 0xf2, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
1940 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
1941 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1942 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1943 0x00, 0xf2, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
1945 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1946 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1947 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1948 0x00, 0xf2, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
1950 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
1951 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1952 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1953 0x00, 0xf2, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
1955 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1956 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1957 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1958 0x00, 0xf2, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
1960 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
1961 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1962 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1963 0x00, 0xf2, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
1965 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1966 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1967 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1968 0x00, 0xf2, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
1970 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
1971 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1972 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1973 0x00, 0xf2, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
1975 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
1976 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1977 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1978 0x00, 0xf2, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
1980 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
1981 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1982 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1983 0x00, 0xf2, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
1985 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
1986 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1987 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1988 0x00, 0xf2, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
1990 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
1991 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1992 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1993 0x00, 0xf2, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
1995 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
1996 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1997 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1998 0x00, 0xf2, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
2000 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
2001 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2002 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2003 0x00, 0xf2, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
2005 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
2006 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2007 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2008 0x00, 0xf2, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
2010 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
2011 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2012 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2013 0x00, 0xf2, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
2015 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
2016 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2017 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2018 0x00, 0xf0, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
2020 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
2021 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2022 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2023 0x00, 0xf0, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
2025 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
2026 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2027 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2028 0x00, 0xf0, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
2030 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
2031 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2032 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2033 0x00, 0xf0, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
2035 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
2036 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2037 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2038 0x00, 0xf0, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
2040 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
2041 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2042 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2043 0x00, 0xf0, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
2045 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
2046 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2047 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2048 0x00, 0xf0, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
2050 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
2051 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2052 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2053 0x00, 0xf0, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
2055 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
2056 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2057 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2058 0x00, 0xf0, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
2060 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2061 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2062 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2063 0x00, 0xf0, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
2065 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2066 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2067 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2068 0x00, 0xf0, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
2070 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2071 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2072 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2073 0x00, 0xf0, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
2075 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2076 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2077 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2078 0x00, 0xf0, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
2080 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2081 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f,
2082 0x00, 0x07, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x07,
2083 0x00, 0xf0, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
2085 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2086 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f,
2087 0x00, 0x07, 0x00, 0xf0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x07,
2088 0x00, 0xf0, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
2090 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
2091 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2092 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2093 0x0f, 0x00, 0x0e, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
2095 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
2096 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2097 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2098 0x0f, 0x00, 0x0e, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
2100 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
2101 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2102 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2103 0x0f, 0x00, 0x0e, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
2105 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
2106 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x04, 0x00,
2107 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfd, 0x00, 0x04, 0x00, 0x70, 0x00,
2108 0x0f, 0x00, 0x0e, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
2110 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
2111 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x04, 0x00,
2112 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfb, 0x00, 0x04, 0x00, 0x70, 0x00,
2113 0x0f, 0x00, 0x0e, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
2115 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
2116 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00,
2117 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x70, 0x00,
2118 0x0f, 0x00, 0x0e, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
2120 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
2121 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x04, 0x00,
2122 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf8, 0x00, 0x04, 0x00, 0x70, 0x00,
2123 0x0f, 0x00, 0x0e, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
2125 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
2126 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x04, 0x00,
2127 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf7, 0x00, 0x04, 0x00, 0x70, 0x00,
2128 0x0f, 0x00, 0x0e, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
2130 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
2131 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x04, 0x00,
2132 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf6, 0x00, 0x04, 0x00, 0x70, 0x00,
2133 0x0f, 0x00, 0x0e, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
2135 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
2136 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x04, 0x00,
2137 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf5, 0x00, 0x04, 0x00, 0x70, 0x00,
2138 0x0f, 0x00, 0x0e, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
2140 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
2141 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x04, 0x00,
2142 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x70, 0x00,
2143 0x0f, 0x00, 0x0e, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
2145 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
2146 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x04, 0x00,
2147 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf3, 0x00, 0x04, 0x00, 0x70, 0x00,
2148 0x0f, 0x00, 0x0e, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
2150 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
2151 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x04, 0x00,
2152 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x70, 0x00,
2153 0x0f, 0x00, 0x0e, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
2155 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
2156 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x04, 0x00,
2157 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x70, 0x00,
2158 0x0f, 0x00, 0x0e, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
2161 static chan_info_nphy_radio205x_t chan_info_nphyrev5_2056v5[] = {
2163 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
2164 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2165 0x00, 0x0f, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0f,
2166 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
2168 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
2169 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2170 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2171 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
2173 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
2174 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2175 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2176 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
2178 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
2179 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2180 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2181 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
2183 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
2184 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2185 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0e,
2186 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
2188 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
2189 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2190 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2191 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
2193 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
2194 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2195 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2196 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
2198 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
2199 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2200 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2201 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
2203 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
2204 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2205 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2206 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
2208 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
2209 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2210 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2211 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
2213 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
2214 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
2215 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0d,
2216 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
2218 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
2219 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
2220 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2221 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
2223 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
2224 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
2225 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2226 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
2228 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
2229 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
2230 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2231 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
2233 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
2234 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x70,
2235 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2236 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
2238 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
2239 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x70,
2240 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2241 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
2243 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
2244 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2245 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2246 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
2248 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
2249 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2250 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2251 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
2253 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
2254 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2255 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2256 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
2258 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
2259 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2260 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2261 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
2263 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
2264 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2265 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2266 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
2268 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
2269 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x70,
2270 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0a,
2271 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
2273 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
2274 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
2275 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x0a,
2276 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
2278 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
2279 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
2280 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x09,
2281 0x00, 0x6e, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
2283 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
2284 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x06, 0x00, 0x70,
2285 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2286 0x00, 0x6e, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
2288 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
2289 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2290 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2291 0x00, 0x6e, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
2293 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
2294 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2295 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2296 0x00, 0x6e, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
2298 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
2299 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2300 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2301 0x00, 0x6e, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
2303 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
2304 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2305 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2306 0x00, 0x6e, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
2308 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2309 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2310 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2311 0x00, 0x6e, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
2313 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2314 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xea, 0x00, 0x06, 0x00, 0x70,
2315 0x00, 0x08, 0x00, 0x9e, 0x00, 0xea, 0x00, 0x06, 0x00, 0x70, 0x00, 0x08,
2316 0x00, 0x6e, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
2318 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2319 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xe9, 0x00, 0x05, 0x00, 0x70,
2320 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2321 0x00, 0x6d, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
2323 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2324 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xe9, 0x00, 0x05, 0x00, 0x70,
2325 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2326 0x00, 0x6d, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
2328 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2329 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xd9, 0x00, 0x05, 0x00, 0x70,
2330 0x00, 0x08, 0x00, 0x9d, 0x00, 0xd9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2331 0x00, 0x6d, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
2333 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2334 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xd8, 0x00, 0x04, 0x00, 0x70,
2335 0x00, 0x07, 0x00, 0x9c, 0x00, 0xd8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2336 0x00, 0x6c, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
2338 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
2339 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2340 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2341 0x00, 0x6c, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
2343 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
2344 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2345 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2346 0x00, 0x6c, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
2348 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
2349 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2350 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2351 0x00, 0x6c, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
2353 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
2354 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2355 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2356 0x00, 0x6c, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
2358 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
2359 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb8, 0x00, 0x04, 0x00, 0x70,
2360 0x00, 0x07, 0x00, 0x9c, 0x00, 0xb8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2361 0x00, 0x6c, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
2363 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
2364 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb7, 0x00, 0x04, 0x00, 0x70,
2365 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2366 0x00, 0x6b, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
2368 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
2369 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb7, 0x00, 0x03, 0x00, 0x70,
2370 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x07,
2371 0x00, 0x6b, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
2373 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
2374 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa7, 0x00, 0x03, 0x00, 0x70,
2375 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2376 0x00, 0x6b, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
2378 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
2379 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa6, 0x00, 0x03, 0x00, 0x70,
2380 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2381 0x00, 0x6b, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
2383 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
2384 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa6, 0x00, 0x03, 0x00, 0x70,
2385 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2386 0x00, 0x5b, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
2388 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2389 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x96, 0x00, 0x03, 0x00, 0x70,
2390 0x00, 0x06, 0x00, 0x9a, 0x00, 0x96, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2391 0x00, 0x5a, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
2393 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2394 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x95, 0x00, 0x03, 0x00, 0x70,
2395 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2396 0x00, 0x5a, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
2398 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2399 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2400 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2401 0x00, 0x5a, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
2403 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2404 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2405 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
2406 0x00, 0x5a, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
2408 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2409 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2410 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
2411 0x00, 0x5a, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
2413 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2414 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x85, 0x00, 0x02, 0x00, 0x70,
2415 0x00, 0x05, 0x00, 0x99, 0x00, 0x85, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2416 0x00, 0x59, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
2418 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
2419 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2420 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2421 0x00, 0x59, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
2423 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
2424 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2425 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2426 0x00, 0x59, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
2428 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
2429 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2430 0x00, 0x04, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x04,
2431 0x00, 0x69, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
2433 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
2434 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x74, 0x00, 0x01, 0x00, 0x70,
2435 0x00, 0x04, 0x00, 0x99, 0x00, 0x74, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2436 0x00, 0x69, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
2438 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
2439 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x73, 0x00, 0x01, 0x00, 0x70,
2440 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2441 0x00, 0x68, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
2443 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
2444 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x73, 0x00, 0x01, 0x00, 0x70,
2445 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2446 0x00, 0x68, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
2448 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
2449 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2450 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2451 0x00, 0x78, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
2453 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
2454 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2455 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2456 0x00, 0x78, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
2458 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
2459 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2460 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2461 0x00, 0x78, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
2463 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
2464 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x63, 0x00, 0x01, 0x00, 0x70,
2465 0x00, 0x03, 0x00, 0x98, 0x00, 0x63, 0x00, 0x01, 0x00, 0x70, 0x00, 0x03,
2466 0x00, 0x78, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
2468 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2469 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2470 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2471 0x00, 0x77, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
2473 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2474 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2475 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2476 0x00, 0x77, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
2478 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2479 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2480 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2481 0x00, 0x77, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
2483 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2484 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x52, 0x00, 0x00, 0x00, 0x70,
2485 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2486 0x00, 0x76, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
2488 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2489 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x52, 0x00, 0x00, 0x00, 0x70,
2490 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2491 0x00, 0x76, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
2493 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2494 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x51, 0x00, 0x00, 0x00, 0x70,
2495 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2496 0x00, 0x76, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
2498 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
2499 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2500 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2501 0x00, 0x76, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
2503 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
2504 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2505 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2506 0x00, 0x76, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
2508 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
2509 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2510 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2511 0x00, 0x76, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
2513 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
2514 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2515 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2516 0x00, 0x76, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
2518 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
2519 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2520 0x00, 0x02, 0x00, 0x95, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2521 0x00, 0x75, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
2523 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
2524 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x50, 0x00, 0x00, 0x00, 0x70,
2525 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2526 0x00, 0x75, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
2528 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
2529 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x50, 0x00, 0x00, 0x00, 0x70,
2530 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2531 0x00, 0x75, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
2533 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
2534 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2535 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2536 0x00, 0x74, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
2538 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
2539 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2540 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2541 0x00, 0x74, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
2543 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
2544 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2545 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2546 0x00, 0x74, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
2548 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2549 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2550 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2551 0x00, 0x74, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
2553 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2554 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2555 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2556 0x00, 0x74, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
2558 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2559 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2560 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2561 0x00, 0x74, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
2563 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
2564 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2565 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2566 0x00, 0x74, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
2568 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2569 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2570 0x00, 0x01, 0x00, 0x94, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2571 0x00, 0x84, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
2573 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
2574 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2575 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2576 0x00, 0x83, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
2578 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2579 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2580 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2581 0x00, 0x83, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
2583 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
2584 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2585 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2586 0x00, 0x83, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
2588 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2589 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2590 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2591 0x00, 0x83, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
2593 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
2594 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2595 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2596 0x00, 0x83, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
2598 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
2599 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2600 0x00, 0x00, 0x00, 0x93, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2601 0x00, 0x83, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
2603 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
2604 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2605 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2606 0x00, 0x82, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
2608 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
2609 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2610 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2611 0x00, 0x82, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
2613 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
2614 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2615 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2616 0x00, 0x82, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
2618 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
2619 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2620 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2621 0x00, 0x82, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
2623 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
2624 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2625 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2626 0x00, 0x82, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
2628 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
2629 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2630 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2631 0x00, 0x82, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
2633 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
2634 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2635 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2636 0x00, 0x82, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
2638 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
2639 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2640 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2641 0x00, 0x82, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
2643 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
2644 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2645 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2646 0x00, 0x82, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
2648 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
2649 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2650 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2651 0x00, 0x82, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
2653 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
2654 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2655 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2656 0x00, 0x82, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
2658 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
2659 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2660 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2661 0x00, 0x82, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
2663 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
2664 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2665 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2666 0x00, 0x82, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
2668 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
2669 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2670 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2671 0x00, 0x72, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
2673 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
2674 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2675 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2676 0x00, 0x72, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
2678 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
2679 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2680 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2681 0x00, 0x72, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
2683 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2684 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2685 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2686 0x00, 0x72, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
2688 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2689 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2690 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2691 0x00, 0x71, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
2693 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2694 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2695 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2696 0x00, 0x71, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
2698 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2699 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2700 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2701 0x00, 0x71, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
2703 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2704 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
2705 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2706 0x00, 0x71, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
2708 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2709 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
2710 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2711 0x00, 0x71, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
2713 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
2714 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x03, 0x00,
2715 0x70, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x03, 0x00, 0x70, 0x00,
2716 0x0f, 0x00, 0x0b, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
2718 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
2719 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x03, 0x00,
2720 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x1f, 0x00, 0x03, 0x00, 0x70, 0x00,
2721 0x0f, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
2723 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
2724 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00,
2725 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x70, 0x00,
2726 0x0f, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
2728 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
2729 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x03, 0x00,
2730 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x03, 0x00, 0x70, 0x00,
2731 0x0e, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
2733 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
2734 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x03, 0x00,
2735 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0c, 0x00, 0x03, 0x00, 0x70, 0x00,
2736 0x0e, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
2738 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
2739 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x03, 0x00,
2740 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x03, 0x00, 0x70, 0x00,
2741 0x0e, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
2743 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
2744 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x09, 0x00, 0x03, 0x00,
2745 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x03, 0x00, 0x70, 0x00,
2746 0x0e, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
2748 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
2749 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00,
2750 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x08, 0x00, 0x02, 0x00, 0x70, 0x00,
2751 0x0e, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
2753 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
2754 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x07, 0x00, 0x02, 0x00,
2755 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x07, 0x00, 0x02, 0x00, 0x70, 0x00,
2756 0x0e, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
2758 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
2759 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00,
2760 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x06, 0x00, 0x02, 0x00, 0x70, 0x00,
2761 0x0d, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
2763 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
2764 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x05, 0x00, 0x02, 0x00,
2765 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x05, 0x00, 0x02, 0x00, 0x70, 0x00,
2766 0x0d, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
2768 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
2769 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00,
2770 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x70, 0x00,
2771 0x0d, 0x00, 0x08, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
2773 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
2774 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x00,
2775 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x03, 0x00, 0x02, 0x00, 0x70, 0x00,
2776 0x0d, 0x00, 0x08, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
2778 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
2779 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
2780 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
2781 0x0d, 0x00, 0x08, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
2784 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v6[] = {
2786 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
2787 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2788 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2789 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
2791 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
2792 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2793 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2794 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
2796 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
2797 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2798 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2799 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
2801 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
2802 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2803 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2804 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
2806 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
2807 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2808 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2809 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
2811 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
2812 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2813 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2814 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
2816 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
2817 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2818 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2819 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
2821 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
2822 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2823 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2824 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
2826 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
2827 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2828 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2829 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
2831 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
2832 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2833 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2834 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
2836 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
2837 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2838 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2839 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
2841 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
2842 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2843 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2844 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
2846 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
2847 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2848 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2849 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
2851 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
2852 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2853 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2854 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
2856 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
2857 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2858 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2859 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
2861 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
2862 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2863 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2864 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
2866 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
2867 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2868 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2869 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
2871 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
2872 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2873 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2874 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
2876 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
2877 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
2878 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2879 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
2881 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
2882 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2883 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2884 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
2886 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
2887 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2888 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2889 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
2891 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
2892 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2893 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2894 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
2896 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
2897 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
2898 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2899 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
2901 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
2902 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
2903 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
2904 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
2906 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
2907 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
2908 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
2909 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
2911 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
2912 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
2913 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
2914 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
2916 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
2917 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
2918 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
2919 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
2921 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
2922 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
2923 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2924 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
2926 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
2927 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
2928 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2929 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
2931 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2932 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
2933 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2934 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
2936 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2937 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
2938 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2939 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
2941 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2942 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
2943 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2944 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
2946 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2947 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
2948 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2949 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
2951 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2952 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
2953 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
2954 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
2956 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2957 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
2958 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
2959 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
2961 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
2962 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2963 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2964 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
2966 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
2967 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2968 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2969 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
2971 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
2972 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2973 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2974 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
2976 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
2977 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2978 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2979 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
2981 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
2982 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
2983 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2984 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
2986 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
2987 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
2988 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
2989 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
2991 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
2992 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
2993 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
2994 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
2996 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
2997 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
2998 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
2999 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
3001 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
3002 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
3003 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3004 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
3006 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
3007 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
3008 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3009 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
3011 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3012 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
3013 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3014 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
3016 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3017 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
3018 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3019 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
3021 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3022 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
3023 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3024 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
3026 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3027 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
3028 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3029 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
3031 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3032 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
3033 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3034 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
3036 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3037 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
3038 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3039 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
3041 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
3042 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
3043 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
3044 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
3046 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
3047 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
3048 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3049 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
3051 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
3052 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
3053 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3054 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
3056 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
3057 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
3058 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3059 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
3061 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
3062 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
3063 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3064 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
3066 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
3067 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
3068 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3069 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
3071 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
3072 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
3073 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3074 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
3076 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
3077 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
3078 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3079 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
3081 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
3082 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
3083 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3084 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
3086 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
3087 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
3088 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3089 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
3091 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3092 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
3093 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3094 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
3096 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3097 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
3098 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3099 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
3101 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3102 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
3103 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3104 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
3106 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3107 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
3108 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3109 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
3111 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3112 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
3113 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3114 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
3116 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3117 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
3118 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3119 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
3121 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
3122 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
3123 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3124 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
3126 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
3127 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
3128 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3129 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
3131 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
3132 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
3133 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3134 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
3136 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
3137 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
3138 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3139 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
3141 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
3142 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
3143 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3144 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
3146 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
3147 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
3148 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3149 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
3151 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
3152 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
3153 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3154 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
3156 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
3157 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
3158 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3159 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
3161 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
3162 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3163 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3164 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
3166 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
3167 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3168 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3169 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
3171 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3172 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3173 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3174 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
3176 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3177 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3178 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3179 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
3181 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3182 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3183 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3184 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
3186 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
3187 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3188 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3189 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
3191 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3192 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3193 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3194 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
3196 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
3197 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3198 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3199 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
3201 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3202 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3203 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3204 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
3206 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
3207 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3208 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3209 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
3211 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3212 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
3213 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3214 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
3216 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
3217 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
3218 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3219 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
3221 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
3222 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
3223 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3224 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
3226 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
3227 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3228 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3229 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
3231 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
3232 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3233 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3234 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
3236 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
3237 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3238 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3239 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
3241 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
3242 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3243 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3244 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
3246 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
3247 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
3248 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3249 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
3251 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
3252 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
3253 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3254 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
3256 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
3257 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3258 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3259 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
3261 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
3262 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3263 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3264 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
3266 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
3267 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3268 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3269 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
3271 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
3272 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3273 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3274 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
3276 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
3277 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3278 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3279 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
3281 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
3282 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3283 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3284 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
3286 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
3287 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3288 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3289 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
3291 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
3292 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3293 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3294 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
3296 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
3297 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3298 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3299 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
3301 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
3302 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3303 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3304 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
3306 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3307 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3308 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3309 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
3311 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3312 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3313 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3314 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
3316 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3317 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3318 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3319 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
3321 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3322 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3323 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3324 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
3326 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3327 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3328 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3329 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
3331 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3332 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3333 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3334 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
3336 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
3337 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3338 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3339 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
3341 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
3342 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3343 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3344 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
3346 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
3347 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
3348 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x67, 0x00, 0x03, 0x00, 0x70, 0x00,
3349 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
3351 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
3352 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
3353 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x57, 0x00, 0x03, 0x00, 0x70, 0x00,
3354 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
3356 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
3357 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
3358 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x56, 0x00, 0x03, 0x00, 0x70, 0x00,
3359 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
3361 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
3362 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
3363 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x46, 0x00, 0x03, 0x00, 0x70, 0x00,
3364 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
3366 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
3367 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
3368 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
3369 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
3371 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
3372 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
3373 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
3374 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
3376 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
3377 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
3378 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x23, 0x00, 0x02, 0x00, 0x70, 0x00,
3379 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
3381 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
3382 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
3383 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x12, 0x00, 0x02, 0x00, 0x70, 0x00,
3384 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
3386 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
3387 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
3388 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x02, 0x00, 0x02, 0x00, 0x70, 0x00,
3389 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
3391 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
3392 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
3393 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00,
3394 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
3396 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
3397 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
3398 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00,
3399 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
3401 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
3402 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
3403 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
3404 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
3407 static chan_info_nphy_radio205x_t chan_info_nphyrev5n6_2056v7[] = {
3409 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
3410 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3411 0x00, 0x0f, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0f,
3412 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
3414 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
3415 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3416 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3417 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
3419 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
3420 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3421 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3422 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
3424 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
3425 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3426 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3427 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
3429 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
3430 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3431 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0e,
3432 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
3434 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
3435 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3436 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3437 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
3439 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
3440 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3441 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3442 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
3444 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
3445 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3446 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3447 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
3449 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
3450 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3451 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3452 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
3454 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
3455 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3456 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3457 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
3459 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
3460 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
3461 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0d,
3462 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
3464 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
3465 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
3466 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3467 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
3469 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
3470 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
3471 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3472 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
3474 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
3475 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
3476 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3477 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
3479 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
3480 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x70,
3481 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3482 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
3484 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
3485 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x70,
3486 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3487 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
3489 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
3490 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3491 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3492 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
3494 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
3495 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3496 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3497 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
3499 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
3500 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3501 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3502 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
3504 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
3505 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3506 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3507 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
3509 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
3510 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3511 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3512 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
3514 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
3515 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x70,
3516 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0a,
3517 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
3519 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
3520 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
3521 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x0a,
3522 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
3524 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
3525 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
3526 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x09,
3527 0x00, 0x6e, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
3529 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
3530 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x06, 0x00, 0x70,
3531 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3532 0x00, 0x6e, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
3534 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
3535 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3536 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3537 0x00, 0x6e, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
3539 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
3540 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3541 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3542 0x00, 0x6e, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
3544 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
3545 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3546 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3547 0x00, 0x6e, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
3549 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
3550 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3551 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3552 0x00, 0x6e, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
3554 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3555 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xfa, 0x00, 0x06, 0x00, 0x70,
3556 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3557 0x00, 0x6e, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
3559 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3560 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xea, 0x00, 0x06, 0x00, 0x70,
3561 0x00, 0x08, 0x00, 0x9e, 0x00, 0xea, 0x00, 0x06, 0x00, 0x70, 0x00, 0x08,
3562 0x00, 0x6e, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
3564 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3565 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xe9, 0x00, 0x05, 0x00, 0x70,
3566 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3567 0x00, 0x6d, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
3569 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3570 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xe9, 0x00, 0x05, 0x00, 0x70,
3571 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3572 0x00, 0x6d, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
3574 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3575 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xd9, 0x00, 0x05, 0x00, 0x70,
3576 0x00, 0x08, 0x00, 0x9d, 0x00, 0xd9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3577 0x00, 0x6d, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
3579 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3580 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xd8, 0x00, 0x04, 0x00, 0x70,
3581 0x00, 0x07, 0x00, 0x9c, 0x00, 0xd8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3582 0x00, 0x6c, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
3584 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
3585 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3586 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3587 0x00, 0x6c, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
3589 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
3590 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3591 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3592 0x00, 0x6c, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
3594 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
3595 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3596 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3597 0x00, 0x6c, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
3599 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
3600 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3601 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3602 0x00, 0x6c, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
3604 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
3605 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb8, 0x00, 0x04, 0x00, 0x70,
3606 0x00, 0x07, 0x00, 0x9c, 0x00, 0xb8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3607 0x00, 0x6c, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
3609 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
3610 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xb7, 0x00, 0x04, 0x00, 0x70,
3611 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3612 0x00, 0x6b, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
3614 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
3615 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xb7, 0x00, 0x03, 0x00, 0x70,
3616 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x07,
3617 0x00, 0x6b, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
3619 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
3620 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa7, 0x00, 0x03, 0x00, 0x70,
3621 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3622 0x00, 0x6b, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
3624 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
3625 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0xa6, 0x00, 0x03, 0x00, 0x70,
3626 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3627 0x00, 0x6b, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
3629 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
3630 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0xa6, 0x00, 0x03, 0x00, 0x70,
3631 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3632 0x00, 0x7b, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
3634 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3635 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x96, 0x00, 0x03, 0x00, 0x70,
3636 0x00, 0x06, 0x00, 0x9a, 0x00, 0x96, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3637 0x00, 0x7a, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
3639 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3640 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x70,
3641 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3642 0x00, 0x7a, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
3644 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3645 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x70,
3646 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3647 0x00, 0x7a, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
3649 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3650 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x95, 0x00, 0x03, 0x00, 0x70,
3651 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
3652 0x00, 0x7a, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
3654 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3655 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x95, 0x00, 0x03, 0x00, 0x70,
3656 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
3657 0x00, 0x7a, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
3659 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3660 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x85, 0x00, 0x02, 0x00, 0x70,
3661 0x00, 0x05, 0x00, 0x99, 0x00, 0x85, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3662 0x00, 0x79, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
3664 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
3665 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x70,
3666 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3667 0x00, 0x79, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
3669 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
3670 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x02, 0x00, 0x70,
3671 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3672 0x00, 0x79, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
3674 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
3675 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x02, 0x00, 0x70,
3676 0x00, 0x04, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x04,
3677 0x00, 0x79, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
3679 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
3680 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x74, 0x00, 0x01, 0x00, 0x70,
3681 0x00, 0x04, 0x00, 0x99, 0x00, 0x74, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3682 0x00, 0x79, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
3684 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
3685 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
3686 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3687 0x00, 0x78, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
3689 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
3690 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x01, 0x00, 0x70,
3691 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3692 0x00, 0x78, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
3694 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
3695 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x01, 0x00, 0x70,
3696 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3697 0x00, 0x78, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
3699 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
3700 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x01, 0x00, 0x70,
3701 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3702 0x00, 0x78, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
3704 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
3705 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x01, 0x00, 0x70,
3706 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3707 0x00, 0x78, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
3709 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
3710 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x63, 0x00, 0x01, 0x00, 0x70,
3711 0x00, 0x03, 0x00, 0x98, 0x00, 0x63, 0x00, 0x01, 0x00, 0x70, 0x00, 0x03,
3712 0x00, 0x78, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
3714 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3715 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x62, 0x00, 0x00, 0x00, 0x70,
3716 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3717 0x00, 0x77, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
3719 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3720 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x70,
3721 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3722 0x00, 0x77, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
3724 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3725 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x70,
3726 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3727 0x00, 0x77, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
3729 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3730 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x52, 0x00, 0x00, 0x00, 0x70,
3731 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3732 0x00, 0x76, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
3734 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3735 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x52, 0x00, 0x00, 0x00, 0x70,
3736 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3737 0x00, 0x86, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
3739 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3740 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3741 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3742 0x00, 0x86, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
3744 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
3745 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3746 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3747 0x00, 0x86, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
3749 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
3750 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3751 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3752 0x00, 0x86, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
3754 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
3755 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3756 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3757 0x00, 0x86, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
3759 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
3760 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3761 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3762 0x00, 0x86, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
3764 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
3765 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x51, 0x00, 0x00, 0x00, 0x70,
3766 0x00, 0x02, 0x00, 0x95, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3767 0x00, 0x85, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
3769 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
3770 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x70,
3771 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3772 0x00, 0x85, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
3774 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
3775 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x70,
3776 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3777 0x00, 0x85, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
3779 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
3780 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
3781 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3782 0x00, 0x84, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
3784 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
3785 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3786 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3787 0x00, 0x84, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
3789 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
3790 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3791 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3792 0x00, 0x94, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
3794 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3795 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3796 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3797 0x00, 0x94, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
3799 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3800 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3801 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3802 0x00, 0x94, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
3804 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3805 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3806 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3807 0x00, 0x94, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
3809 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
3810 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3811 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3812 0x00, 0x94, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
3814 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3815 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3816 0x00, 0x01, 0x00, 0x94, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3817 0x00, 0x94, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
3819 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
3820 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3821 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3822 0x00, 0x93, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
3824 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3825 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3826 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3827 0x00, 0x93, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
3829 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
3830 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3831 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3832 0x00, 0x93, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
3834 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3835 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3836 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3837 0x00, 0x93, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
3839 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
3840 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x30, 0x00, 0x00, 0x00, 0x70,
3841 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3842 0x00, 0x93, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
3844 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
3845 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3846 0x00, 0x00, 0x00, 0x93, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3847 0x00, 0x93, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
3849 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
3850 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3851 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3852 0x00, 0x92, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
3854 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
3855 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3856 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3857 0x00, 0x92, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
3859 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
3860 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3861 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3862 0x00, 0x92, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
3864 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
3865 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x70,
3866 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3867 0x00, 0x92, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
3869 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
3870 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3871 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3872 0x00, 0x92, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
3874 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
3875 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3876 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3877 0x00, 0x92, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
3879 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
3880 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3881 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3882 0x00, 0x92, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
3884 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
3885 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3886 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3887 0x00, 0x92, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
3889 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
3890 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3891 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3892 0x00, 0x92, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
3894 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
3895 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3896 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3897 0x00, 0x92, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
3899 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
3900 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3901 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3902 0x00, 0x92, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
3904 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
3905 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3906 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3907 0x00, 0x92, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
3909 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
3910 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3911 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3912 0x00, 0x92, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
3914 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
3915 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3916 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3917 0x00, 0x92, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
3919 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
3920 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3921 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3922 0x00, 0x92, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
3924 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
3925 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3926 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3927 0x00, 0x92, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
3929 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3930 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3931 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3932 0x00, 0x92, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
3934 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3935 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3936 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3937 0x00, 0x91, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
3939 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3940 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3941 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3942 0x00, 0x91, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
3944 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3945 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3946 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3947 0x00, 0x91, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
3949 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3950 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3951 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3952 0x00, 0x91, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
3954 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3955 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3956 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3957 0x00, 0x91, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
3959 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
3960 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3961 0x70, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3962 0x0f, 0x00, 0x0b, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
3964 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
3965 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3966 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3967 0x0f, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
3969 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
3970 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3971 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3972 0x0f, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
3974 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
3975 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3976 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3977 0x0e, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
3979 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
3980 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x03, 0x00,
3981 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
3982 0x0e, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
3984 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
3985 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x76, 0x00, 0x03, 0x00,
3986 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
3987 0x0e, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
3989 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
3990 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x66, 0x00, 0x03, 0x00,
3991 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x03, 0x00, 0x70, 0x00,
3992 0x0e, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
3994 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
3995 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x55, 0x00, 0x02, 0x00,
3996 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
3997 0x0e, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
3999 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
4000 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
4001 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
4002 0x0e, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
4004 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
4005 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
4006 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
4007 0x0d, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
4009 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
4010 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
4011 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
4012 0x0d, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
4014 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
4015 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x22, 0x00, 0x02, 0x00,
4016 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
4017 0x0d, 0x00, 0x08, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
4019 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
4020 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00,
4021 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
4022 0x0d, 0x00, 0x08, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
4024 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
4025 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
4026 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
4027 0x0d, 0x00, 0x08, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
4030 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v8[] = {
4032 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
4033 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4034 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4035 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
4037 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
4038 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4039 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4040 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
4042 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
4043 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4044 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4045 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
4047 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
4048 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4049 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4050 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
4052 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
4053 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4054 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4055 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
4057 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
4058 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4059 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4060 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
4062 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
4063 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4064 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4065 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
4067 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
4068 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4069 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4070 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
4072 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
4073 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4074 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4075 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
4077 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
4078 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4079 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4080 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
4082 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
4083 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4084 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4085 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
4087 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
4088 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4089 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4090 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
4092 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
4093 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4094 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4095 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
4097 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
4098 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4099 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4100 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
4102 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
4103 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4104 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4105 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
4107 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
4108 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4109 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4110 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
4112 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
4113 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4114 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4115 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
4117 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
4118 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4119 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4120 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
4122 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
4123 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
4124 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4125 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
4127 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
4128 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4129 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4130 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
4132 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
4133 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4134 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4135 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
4137 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
4138 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4139 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4140 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
4142 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
4143 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
4144 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4145 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
4147 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
4148 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4149 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4150 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
4152 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
4153 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4154 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4155 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
4157 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
4158 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4159 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
4160 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
4162 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
4163 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4164 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
4165 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
4167 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
4168 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4169 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4170 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
4172 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
4173 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4174 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4175 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
4177 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4178 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
4179 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4180 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
4182 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4183 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
4184 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4185 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
4187 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4188 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
4189 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4190 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
4192 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4193 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
4194 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4195 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
4197 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4198 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4199 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
4200 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
4202 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4203 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4204 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
4205 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
4207 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
4208 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4209 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4210 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
4212 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
4213 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4214 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4215 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
4217 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
4218 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4219 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4220 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
4222 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
4223 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4224 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4225 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
4227 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
4228 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
4229 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4230 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
4232 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
4233 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
4234 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4235 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
4237 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
4238 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4239 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4240 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
4242 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
4243 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4244 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4245 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
4247 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
4248 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4249 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4250 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
4252 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
4253 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4254 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4255 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
4257 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4258 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
4259 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4260 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
4262 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4263 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4264 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4265 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
4267 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4268 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4269 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4270 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
4272 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4273 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
4274 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4275 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
4277 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4278 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
4279 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4280 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
4282 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4283 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4284 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4285 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
4287 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
4288 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4289 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
4290 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
4292 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
4293 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4294 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4295 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
4297 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
4298 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4299 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4300 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
4302 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
4303 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
4304 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4305 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
4307 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
4308 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
4309 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4310 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
4312 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
4313 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
4314 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4315 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
4317 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
4318 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4319 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4320 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
4322 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
4323 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4324 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4325 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
4327 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
4328 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4329 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4330 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
4332 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
4333 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4334 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4335 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
4337 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4338 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
4339 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4340 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
4342 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4343 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4344 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4345 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
4347 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4348 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4349 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4350 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
4352 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4353 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
4354 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4355 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
4357 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4358 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
4359 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4360 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
4362 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4363 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
4364 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4365 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
4367 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
4368 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4369 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4370 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
4372 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
4373 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4374 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4375 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
4377 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
4378 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
4379 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4380 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
4382 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
4383 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
4384 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4385 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
4387 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
4388 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
4389 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4390 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
4392 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
4393 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
4394 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4395 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
4397 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
4398 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
4399 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4400 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
4402 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
4403 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
4404 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4405 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
4407 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
4408 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4409 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4410 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
4412 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
4413 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4414 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4415 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
4417 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4418 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4419 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4420 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
4422 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4423 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4424 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4425 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
4427 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4428 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4429 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4430 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
4432 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
4433 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4434 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4435 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
4437 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4438 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4439 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4440 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
4442 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
4443 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4444 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4445 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
4447 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4448 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4449 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4450 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
4452 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
4453 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4454 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4455 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
4457 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4458 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
4459 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4460 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
4462 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
4463 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
4464 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4465 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
4467 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
4468 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
4469 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4470 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
4472 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
4473 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4474 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4475 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
4477 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
4478 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4479 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4480 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
4482 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
4483 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4484 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4485 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
4487 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
4488 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4489 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4490 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
4492 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
4493 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
4494 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4495 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
4497 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
4498 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
4499 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4500 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
4502 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
4503 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4504 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4505 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
4507 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
4508 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4509 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4510 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
4512 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
4513 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4514 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4515 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
4517 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
4518 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4519 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4520 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
4522 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
4523 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4524 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4525 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
4527 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
4528 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4529 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4530 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
4532 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
4533 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4534 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4535 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
4537 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
4538 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4539 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4540 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
4542 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
4543 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4544 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4545 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
4547 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
4548 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4549 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4550 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
4552 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4553 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4554 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4555 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
4557 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4558 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4559 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4560 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
4562 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4563 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4564 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4565 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
4567 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4568 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4569 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4570 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
4572 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4573 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4574 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4575 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
4577 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4578 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4579 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4580 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
4582 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
4583 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
4584 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4585 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
4587 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
4588 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
4589 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4590 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
4592 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
4593 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
4594 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4595 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
4597 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
4598 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
4599 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
4600 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
4602 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
4603 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
4604 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
4605 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
4607 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
4608 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
4609 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
4610 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
4612 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
4613 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
4614 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x02, 0x00, 0x70, 0x00,
4615 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
4617 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
4618 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
4619 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
4620 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
4622 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
4623 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
4624 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
4625 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
4627 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
4628 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
4629 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
4630 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
4632 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
4633 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
4634 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
4635 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
4637 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
4638 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
4639 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
4640 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
4642 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
4643 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
4644 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
4645 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
4647 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
4648 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
4649 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
4650 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
4653 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v11[] = {
4655 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x02, 0x0c, 0x01,
4656 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4657 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4658 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
4660 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x02, 0x0c, 0x01,
4661 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4662 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4663 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
4665 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x02, 0x0c, 0x01,
4666 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4667 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4668 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
4670 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x02, 0x0c, 0x01,
4671 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4672 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4673 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
4675 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x02, 0x0c, 0x01,
4676 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4677 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4678 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
4680 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x02, 0x0c, 0x01,
4681 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4682 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4683 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
4685 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x02, 0x0c, 0x01,
4686 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4687 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4688 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
4690 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x02, 0x0c, 0x01,
4691 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4692 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4693 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
4695 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x02, 0x0c, 0x01,
4696 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4697 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4698 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
4700 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x02, 0x0c, 0x01,
4701 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4702 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4703 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
4705 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x02, 0x0c, 0x01,
4706 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4707 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4708 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
4710 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x02, 0x0c, 0x01,
4711 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4712 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4713 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
4715 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x02, 0x0c, 0x01,
4716 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4717 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4718 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
4720 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x02, 0x0c, 0x01,
4721 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4722 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4723 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
4725 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x02, 0x0c, 0x01,
4726 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4727 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4728 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
4730 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x02, 0x0c, 0x01,
4731 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4732 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4733 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
4735 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x02, 0x0c, 0x01,
4736 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4737 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4738 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
4740 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x02, 0x0c, 0x01,
4741 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4742 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4743 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
4745 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x02, 0x0c, 0x01,
4746 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
4747 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4748 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
4750 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x02, 0x0c, 0x01,
4751 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4752 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4753 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
4755 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x02, 0x0c, 0x01,
4756 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4757 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4758 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
4760 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x02, 0x0c, 0x01,
4761 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4762 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4763 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
4765 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x02, 0x0c, 0x01,
4766 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
4767 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4768 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
4770 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x02, 0x0c, 0x01,
4771 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4772 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4773 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
4775 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x02, 0x0c, 0x01,
4776 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4777 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4778 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
4780 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x02, 0x0c, 0x01,
4781 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4782 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
4783 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
4785 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x02, 0x0c, 0x01,
4786 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4787 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
4788 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
4790 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x02, 0x0c, 0x01,
4791 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4792 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4793 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
4795 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x02, 0x0c, 0x01,
4796 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4797 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4798 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
4800 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4801 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
4802 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4803 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
4805 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4806 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
4807 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4808 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
4810 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4811 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
4812 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4813 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
4815 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4816 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
4817 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4818 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
4820 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4821 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4822 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
4823 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
4825 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4826 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4827 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
4828 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
4830 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x02, 0x0c, 0x01,
4831 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4832 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4833 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
4835 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x02, 0x0c, 0x01,
4836 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4837 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4838 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
4840 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x02, 0x0c, 0x01,
4841 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4842 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4843 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
4845 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x02, 0x0c, 0x01,
4846 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4847 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4848 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
4850 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x02, 0x0c, 0x01,
4851 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
4852 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4853 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
4855 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x02, 0x0c, 0x01,
4856 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
4857 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4858 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
4860 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x02, 0x0c, 0x01,
4861 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4862 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4863 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
4865 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x02, 0x0c, 0x01,
4866 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4867 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4868 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
4870 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x02, 0x0c, 0x01,
4871 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4872 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4873 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
4875 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x02, 0x0c, 0x01,
4876 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4877 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4878 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
4880 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4881 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
4882 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4883 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
4885 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4886 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4887 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4888 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
4890 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4891 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4892 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4893 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
4895 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4896 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
4897 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4898 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
4900 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4901 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
4902 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4903 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
4905 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4906 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4907 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4908 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
4910 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x02, 0x0c, 0x01,
4911 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4912 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
4913 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
4915 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x02, 0x0c, 0x01,
4916 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4917 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4918 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
4920 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x02, 0x0c, 0x01,
4921 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4922 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4923 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
4925 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x02, 0x0c, 0x01,
4926 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
4927 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4928 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
4930 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x02, 0x0c, 0x01,
4931 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
4932 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4933 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
4935 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x02, 0x0c, 0x01,
4936 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
4937 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4938 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
4940 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x02, 0x0c, 0x01,
4941 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4942 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4943 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
4945 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x02, 0x0c, 0x01,
4946 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4947 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4948 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
4950 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x02, 0x0c, 0x01,
4951 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4952 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4953 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
4955 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x02, 0x0c, 0x01,
4956 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4957 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4958 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
4960 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4961 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
4962 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4963 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
4965 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4966 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4967 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4968 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
4970 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4971 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4972 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4973 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
4975 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4976 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
4977 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4978 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
4980 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4981 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
4982 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4983 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
4985 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4986 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
4987 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4988 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
4990 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x02, 0x0c, 0x01,
4991 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4992 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4993 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
4995 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x02, 0x0c, 0x01,
4996 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4997 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4998 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
5000 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x02, 0x0c, 0x01,
5001 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
5002 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5003 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
5005 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x02, 0x0c, 0x01,
5006 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
5007 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5008 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
5010 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x02, 0x0c, 0x01,
5011 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
5012 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5013 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
5015 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x02, 0x0c, 0x01,
5016 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
5017 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5018 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
5020 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x02, 0x0c, 0x01,
5021 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
5022 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5023 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
5025 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x02, 0x0c, 0x01,
5026 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
5027 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5028 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
5030 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x02, 0x0c, 0x01,
5031 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5032 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5033 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
5035 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x02, 0x0c, 0x01,
5036 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5037 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5038 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
5040 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x02, 0x0c, 0x01,
5041 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5042 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5043 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
5045 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x02, 0x0c, 0x01,
5046 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5047 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5048 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
5050 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x02, 0x0c, 0x01,
5051 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5052 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5053 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
5055 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x05, 0x05, 0x02, 0x15, 0x01,
5056 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5057 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5058 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
5060 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x02, 0x0c, 0x01,
5061 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5062 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5063 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
5065 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x05, 0x05, 0x02, 0x15, 0x01,
5066 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5067 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5068 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
5070 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x02, 0x0c, 0x01,
5071 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5072 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5073 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
5075 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x05, 0x05, 0x02, 0x15, 0x01,
5076 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5077 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5078 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
5080 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x02, 0x0c, 0x01,
5081 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
5082 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5083 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
5085 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x05, 0x05, 0x02, 0x15, 0x01,
5086 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
5087 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5088 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
5090 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x02, 0x0c, 0x01,
5091 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
5092 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5093 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
5095 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x05, 0x05, 0x02, 0x15, 0x01,
5096 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5097 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5098 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
5100 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x02, 0x0c, 0x01,
5101 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5102 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5103 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
5105 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x05, 0x05, 0x02, 0x15, 0x01,
5106 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5107 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5108 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
5110 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x02, 0x0c, 0x01,
5111 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5112 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5113 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
5115 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x05, 0x05, 0x02, 0x15, 0x01,
5116 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
5117 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5118 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
5120 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x02, 0x0c, 0x01,
5121 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
5122 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5123 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
5125 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x05, 0x05, 0x02, 0x15, 0x01,
5126 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5127 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5128 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
5130 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x02, 0x0c, 0x01,
5131 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5132 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5133 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
5135 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x05, 0x05, 0x02, 0x15, 0x01,
5136 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5137 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5138 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
5140 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x02, 0x0c, 0x01,
5141 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5142 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5143 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
5145 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x05, 0x05, 0x02, 0x15, 0x01,
5146 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5147 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5148 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
5150 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x02, 0x0c, 0x01,
5151 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5152 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5153 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
5155 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x05, 0x05, 0x02, 0x15, 0x01,
5156 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5157 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5158 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
5160 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x02, 0x0c, 0x01,
5161 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5162 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5163 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
5165 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x02, 0x0c, 0x01,
5166 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5167 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5168 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
5170 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x02, 0x0c, 0x01,
5171 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5172 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5173 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
5175 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x02, 0x0c, 0x01,
5176 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5177 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5178 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
5180 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x02, 0x0c, 0x01,
5181 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5182 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5183 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
5185 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x02, 0x0c, 0x01,
5186 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5187 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5188 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
5190 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x02, 0x0c, 0x01,
5191 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5192 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5193 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
5195 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x02, 0x0c, 0x01,
5196 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5197 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5198 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
5200 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x02, 0x0c, 0x01,
5201 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5202 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5203 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
5205 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x06, 0x06, 0x04, 0x2b, 0x01,
5206 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
5207 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5208 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
5210 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x06, 0x06, 0x04, 0x2b, 0x01,
5211 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
5212 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5213 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
5215 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x06, 0x06, 0x04, 0x2b, 0x01,
5216 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
5217 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5218 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
5220 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x06, 0x06, 0x04, 0x2b, 0x01,
5221 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
5222 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
5223 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
5225 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x06, 0x06, 0x04, 0x2b, 0x01,
5226 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
5227 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
5228 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
5230 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x06, 0x06, 0x04, 0x2b, 0x01,
5231 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
5232 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
5233 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
5235 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x06, 0x06, 0x04, 0x2b, 0x01,
5236 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
5237 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x02, 0x00, 0x70, 0x00,
5238 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
5240 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x06, 0x06, 0x04, 0x2b, 0x01,
5241 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
5242 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
5243 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
5245 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x06, 0x06, 0x04, 0x2b, 0x01,
5246 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
5247 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
5248 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
5250 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x06, 0x06, 0x04, 0x2b, 0x01,
5251 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
5252 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
5253 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
5255 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x06, 0x06, 0x04, 0x2b, 0x01,
5256 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
5257 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
5258 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
5260 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x06, 0x06, 0x04, 0x2b, 0x01,
5261 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
5262 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
5263 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
5265 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x06, 0x06, 0x04, 0x2b, 0x01,
5266 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
5267 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
5268 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
5270 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x06, 0x06, 0x04, 0x2b, 0x01,
5271 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
5272 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
5273 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
5276 static chan_info_nphy_radio2057_t chan_info_nphyrev7_2057_rev4[] = {
5278 184, 4920, 0x68, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xec, 0x01, 0x0f,
5279 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5280 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07b4, 0x07b0, 0x07ac, 0x0214,
5281 0x0215,
5282 0x0216,
5285 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
5286 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5287 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07b8, 0x07b4, 0x07b0, 0x0213,
5288 0x0214,
5289 0x0215,
5292 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
5293 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5294 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07bc, 0x07b8, 0x07b4, 0x0212,
5295 0x0213,
5296 0x0214,
5299 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
5300 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5301 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c0, 0x07bc, 0x07b8, 0x0211,
5302 0x0212,
5303 0x0213,
5306 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
5307 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5308 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c4, 0x07c0, 0x07bc, 0x020f,
5309 0x0211,
5310 0x0212,
5313 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
5314 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5315 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c8, 0x07c4, 0x07c0, 0x020e,
5316 0x020f,
5317 0x0211,
5320 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
5321 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5322 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07cc, 0x07c8, 0x07c4, 0x020d,
5323 0x020e,
5324 0x020f,
5327 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
5328 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5329 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d0, 0x07cc, 0x07c8, 0x020c,
5330 0x020d,
5331 0x020e,
5334 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
5335 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5336 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d4, 0x07d0, 0x07cc, 0x020b,
5337 0x020c,
5338 0x020d,
5341 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
5342 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5343 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d8, 0x07d4, 0x07d0, 0x020a,
5344 0x020b,
5345 0x020c,
5348 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
5349 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5350 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07dc, 0x07d8, 0x07d4, 0x0209,
5351 0x020a,
5352 0x020b,
5355 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
5356 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5357 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e0, 0x07dc, 0x07d8, 0x0208,
5358 0x0209,
5359 0x020a,
5362 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
5363 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5364 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e4, 0x07e0, 0x07dc, 0x0207,
5365 0x0208,
5366 0x0209,
5369 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
5370 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5371 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e8, 0x07e4, 0x07e0, 0x0206,
5372 0x0207,
5373 0x0208,
5376 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
5377 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5378 0x00, 0x0f, 0x0f, 0xe3, 0x00, 0xef, 0x07ec, 0x07e8, 0x07e4, 0x0205,
5379 0x0206,
5380 0x0207,
5383 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
5384 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5385 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x07f0, 0x07ec, 0x07e8, 0x0204,
5386 0x0205,
5387 0x0206,
5390 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
5391 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5392 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x07f4, 0x07f0, 0x07ec, 0x0203,
5393 0x0204,
5394 0x0205,
5397 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
5398 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5399 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x07f8, 0x07f4, 0x07f0, 0x0202,
5400 0x0203,
5401 0x0204,
5404 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
5405 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5406 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x07fc, 0x07f8, 0x07f4, 0x0201,
5407 0x0202,
5408 0x0203,
5411 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
5412 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5413 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0800, 0x07fc, 0x07f8, 0x0200,
5414 0x0201,
5415 0x0202,
5418 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
5419 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5420 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0804, 0x0800, 0x07fc, 0x01ff,
5421 0x0200,
5422 0x0201,
5425 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
5426 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5427 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0808, 0x0804, 0x0800, 0x01fe,
5428 0x01ff,
5429 0x0200,
5432 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
5433 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5434 0x00, 0x0e, 0x0e, 0xe3, 0x00, 0xd6, 0x080c, 0x0808, 0x0804, 0x01fd,
5435 0x01fe,
5436 0x01ff,
5439 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
5440 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5441 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x0814, 0x0810, 0x080c, 0x01fb,
5442 0x01fc,
5443 0x01fd,
5446 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
5447 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5448 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x0818, 0x0814, 0x0810, 0x01fa,
5449 0x01fb,
5450 0x01fc,
5453 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
5454 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5455 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x081c, 0x0818, 0x0814, 0x01f9,
5456 0x01fa,
5457 0x01fb,
5460 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
5461 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5462 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0820, 0x081c, 0x0818, 0x01f8,
5463 0x01f9,
5464 0x01fa,
5467 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
5468 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5469 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0824, 0x0820, 0x081c, 0x01f7,
5470 0x01f8,
5471 0x01f9,
5474 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
5475 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5476 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0828, 0x0824, 0x0820, 0x01f6,
5477 0x01f7,
5478 0x01f8,
5481 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
5482 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5483 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x082c, 0x0828, 0x0824, 0x01f5,
5484 0x01f6,
5485 0x01f7,
5488 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
5489 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5490 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0830, 0x082c, 0x0828, 0x01f4,
5491 0x01f5,
5492 0x01f6,
5495 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
5496 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5497 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0834, 0x0830, 0x082c, 0x01f3,
5498 0x01f4,
5499 0x01f5,
5502 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
5503 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5504 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0838, 0x0834, 0x0830, 0x01f2,
5505 0x01f3,
5506 0x01f4,
5509 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
5510 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x00,
5511 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x083c, 0x0838, 0x0834, 0x01f1,
5512 0x01f2,
5513 0x01f3,
5516 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
5517 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x00,
5518 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x0840, 0x083c, 0x0838, 0x01f0,
5519 0x01f1,
5520 0x01f2,
5523 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
5524 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5525 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x0844, 0x0840, 0x083c, 0x01f0,
5526 0x01f0,
5527 0x01f1,
5530 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
5531 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5532 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x0848, 0x0844, 0x0840, 0x01ef,
5533 0x01f0,
5534 0x01f0,
5537 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
5538 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5539 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x084c, 0x0848, 0x0844, 0x01ee,
5540 0x01ef,
5541 0x01f0,
5544 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
5545 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5546 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0850, 0x084c, 0x0848, 0x01ed,
5547 0x01ee,
5548 0x01ef,
5551 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
5552 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5553 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0854, 0x0850, 0x084c, 0x01ec,
5554 0x01ed,
5555 0x01ee,
5558 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
5559 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5560 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0858, 0x0854, 0x0850, 0x01eb,
5561 0x01ec,
5562 0x01ed,
5565 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
5566 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0c, 0xc3, 0x00, 0xa1, 0x00,
5567 0x00, 0x0a, 0x0c, 0xc3, 0x00, 0xa1, 0x085c, 0x0858, 0x0854, 0x01ea,
5568 0x01eb,
5569 0x01ec,
5572 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
5573 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5574 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0860, 0x085c, 0x0858, 0x01e9,
5575 0x01ea,
5576 0x01eb,
5579 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
5580 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5581 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0864, 0x0860, 0x085c, 0x01e8,
5582 0x01e9,
5583 0x01ea,
5586 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
5587 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5588 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0868, 0x0864, 0x0860, 0x01e7,
5589 0x01e8,
5590 0x01e9,
5593 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
5594 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5595 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x086c, 0x0868, 0x0864, 0x01e6,
5596 0x01e7,
5597 0x01e8,
5600 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
5601 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0a, 0xa3, 0x00, 0xa1, 0x00,
5602 0x00, 0x0a, 0x0a, 0xa3, 0x00, 0xa1, 0x0870, 0x086c, 0x0868, 0x01e5,
5603 0x01e6,
5604 0x01e7,
5607 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
5608 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x00,
5609 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x0874, 0x0870, 0x086c, 0x01e5,
5610 0x01e5,
5611 0x01e6,
5614 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
5615 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x00,
5616 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x0878, 0x0874, 0x0870, 0x01e4,
5617 0x01e5,
5618 0x01e5,
5621 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
5622 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0xa3, 0x00, 0x90, 0x00,
5623 0x00, 0x09, 0x09, 0xa3, 0x00, 0x90, 0x087c, 0x0878, 0x0874, 0x01e3,
5624 0x01e4,
5625 0x01e5,
5628 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
5629 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5630 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0880, 0x087c, 0x0878, 0x01e2,
5631 0x01e3,
5632 0x01e4,
5635 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
5636 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5637 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0884, 0x0880, 0x087c, 0x01e1,
5638 0x01e2,
5639 0x01e3,
5642 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
5643 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5644 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0888, 0x0884, 0x0880, 0x01e0,
5645 0x01e1,
5646 0x01e2,
5649 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
5650 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x08, 0x93, 0x00, 0x90, 0x00,
5651 0x00, 0x08, 0x08, 0x93, 0x00, 0x90, 0x088c, 0x0888, 0x0884, 0x01df,
5652 0x01e0,
5653 0x01e1,
5656 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
5657 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x08, 0x93, 0x00, 0x60, 0x00,
5658 0x00, 0x08, 0x08, 0x93, 0x00, 0x60, 0x0890, 0x088c, 0x0888, 0x01de,
5659 0x01df,
5660 0x01e0,
5663 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
5664 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5665 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x0894, 0x0890, 0x088c, 0x01dd,
5666 0x01de,
5667 0x01df,
5670 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
5671 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5672 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x0898, 0x0894, 0x0890, 0x01dd,
5673 0x01dd,
5674 0x01de,
5677 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
5678 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5679 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x089c, 0x0898, 0x0894, 0x01dc,
5680 0x01dd,
5681 0x01dd,
5684 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
5685 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5686 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x08a0, 0x089c, 0x0898, 0x01db,
5687 0x01dc,
5688 0x01dd,
5691 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
5692 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5693 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08a4, 0x08a0, 0x089c, 0x01da,
5694 0x01db,
5695 0x01dc,
5698 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
5699 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5700 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
5701 0x01da,
5702 0x01db,
5705 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
5706 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5707 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
5708 0x01d9,
5709 0x01da,
5712 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
5713 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5714 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
5715 0x01d8,
5716 0x01d9,
5719 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
5720 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5721 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
5722 0x01d7,
5723 0x01d8,
5726 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
5727 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5728 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
5729 0x01d7,
5730 0x01d7,
5733 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
5734 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x05, 0x83, 0x00, 0x60, 0x00,
5735 0x00, 0x07, 0x05, 0x83, 0x00, 0x60, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
5736 0x01d6,
5737 0x01d7,
5740 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
5741 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x04, 0x83, 0x00, 0x60, 0x00,
5742 0x00, 0x07, 0x04, 0x83, 0x00, 0x60, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
5743 0x01d5,
5744 0x01d6,
5747 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
5748 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x04, 0x73, 0x00, 0x30, 0x00,
5749 0x00, 0x07, 0x04, 0x73, 0x00, 0x30, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
5750 0x01d4,
5751 0x01d5,
5754 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
5755 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5756 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
5757 0x01d3,
5758 0x01d4,
5761 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
5762 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5763 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
5764 0x01d2,
5765 0x01d3,
5768 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
5769 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5770 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
5771 0x01d2,
5772 0x01d2,
5775 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
5776 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5777 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
5778 0x01d1,
5779 0x01d2,
5782 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
5783 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x00,
5784 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
5785 0x01d0,
5786 0x01d1,
5789 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
5790 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x00,
5791 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
5792 0x01cf,
5793 0x01d0,
5796 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
5797 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x03, 0x63, 0x00, 0x00, 0x00,
5798 0x00, 0x05, 0x03, 0x63, 0x00, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
5799 0x01ce,
5800 0x01cf,
5803 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
5804 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5805 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
5806 0x01ce,
5807 0x01ce,
5810 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
5811 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5812 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
5813 0x01cd,
5814 0x01ce,
5817 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
5818 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5819 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
5820 0x01cc,
5821 0x01cd,
5824 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
5825 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5826 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
5827 0x01cb,
5828 0x01cc,
5831 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
5832 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5833 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
5834 0x01ca,
5835 0x01cb,
5838 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
5839 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x05, 0x01, 0x53, 0x00, 0x00, 0x00,
5840 0x00, 0x05, 0x01, 0x53, 0x00, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
5841 0x01ca,
5842 0x01cb,
5845 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
5846 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5847 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
5848 0x01c9,
5849 0x01ca,
5852 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
5853 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5854 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
5855 0x01c9,
5856 0x01ca,
5859 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
5860 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5861 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
5862 0x01c9,
5863 0x01c9,
5866 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
5867 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5868 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
5869 0x01c8,
5870 0x01c9,
5873 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
5874 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5875 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
5876 0x01c8,
5877 0x01c9,
5880 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
5881 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5882 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
5883 0x01c8,
5884 0x01c8,
5887 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
5888 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5889 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
5890 0x01c7,
5891 0x01c8,
5894 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
5895 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5896 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
5897 0x01c7,
5898 0x01c8,
5901 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
5902 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5903 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
5904 0x01c6,
5905 0x01c7,
5908 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
5909 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5910 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
5911 0x01c6,
5912 0x01c7,
5915 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
5916 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x03, 0x01, 0x43, 0x00, 0x00, 0x00,
5917 0x00, 0x03, 0x01, 0x43, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
5918 0x01c6,
5919 0x01c6,
5922 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
5923 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5924 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
5925 0x01c5,
5926 0x01c6,
5929 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
5930 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5931 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
5932 0x01c5,
5933 0x01c6,
5936 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
5937 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5938 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
5939 0x01c4,
5940 0x01c5,
5943 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
5944 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5945 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
5946 0x01c4,
5947 0x01c5,
5950 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
5951 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5952 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
5953 0x01c4,
5954 0x01c4,
5957 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
5958 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5959 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
5960 0x01c3,
5961 0x01c4,
5964 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
5965 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5966 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
5967 0x01c3,
5968 0x01c4,
5971 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
5972 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5973 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
5974 0x01c2,
5975 0x01c3,
5978 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
5979 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5980 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
5981 0x01c2,
5982 0x01c3,
5985 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
5986 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5987 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
5988 0x01c2,
5989 0x01c2,
5992 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
5993 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5994 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
5995 0x01c1,
5996 0x01c2,
5999 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
6000 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6001 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
6002 0x01c0,
6003 0x01c1,
6006 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
6007 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6008 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
6009 0x01bf,
6010 0x01c0,
6013 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
6014 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6015 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
6016 0x01bf,
6017 0x01bf,
6020 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
6021 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6022 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
6023 0x01be,
6024 0x01bf,
6027 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
6028 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6029 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
6030 0x01bd,
6031 0x01be,
6034 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
6035 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6036 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
6037 0x01bc,
6038 0x01bd,
6041 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
6042 0x0a, 0x00, 0x0a, 0x00, 0x71, 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6043 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
6044 0x043f,
6045 0x0443,
6048 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
6049 0x0a, 0x00, 0x0a, 0x00, 0x71, 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6050 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
6051 0x043d,
6052 0x0441,
6055 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
6056 0x09, 0x00, 0x09, 0x00, 0x71, 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6057 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
6058 0x043a,
6059 0x043f,
6062 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
6063 0x09, 0x00, 0x09, 0x00, 0x71, 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6064 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
6065 0x0438,
6066 0x043d,
6069 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
6070 0x08, 0x00, 0x08, 0x00, 0x51, 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6071 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
6072 0x0436,
6073 0x043a,
6076 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
6077 0x08, 0x00, 0x08, 0x00, 0x51, 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6078 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
6079 0x0434,
6080 0x0438,
6083 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
6084 0x07, 0x00, 0x07, 0x00, 0x51, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6085 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
6086 0x0431,
6087 0x0436,
6090 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
6091 0x07, 0x00, 0x07, 0x00, 0x31, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6092 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
6093 0x042f,
6094 0x0434,
6097 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
6098 0x07, 0x00, 0x07, 0x00, 0x31, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6099 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
6100 0x042d,
6101 0x0431,
6104 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
6105 0x06, 0x00, 0x06, 0x00, 0x31, 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6106 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
6107 0x042b,
6108 0x042f,
6111 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
6112 0x06, 0x00, 0x06, 0x00, 0x31, 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6113 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
6114 0x0429,
6115 0x042d,
6118 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
6119 0x05, 0x00, 0x05, 0x00, 0x11, 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x11,
6120 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
6121 0x0427,
6122 0x042b,
6125 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
6126 0x05, 0x00, 0x05, 0x00, 0x11, 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x11,
6127 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
6128 0x0424,
6129 0x0429,
6132 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
6133 0x04, 0x00, 0x04, 0x00, 0x11, 0x43, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x11,
6134 0x43, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
6135 0x041f,
6136 0x0424}
6139 static chan_info_nphy_radio2057_rev5_t chan_info_nphyrev8_2057_rev5[] = {
6141 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0d,
6142 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03c9, 0x03c5, 0x03c1,
6143 0x043a, 0x043f, 0x0443},
6145 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0d,
6146 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03cb, 0x03c7, 0x03c3,
6147 0x0438, 0x043d, 0x0441},
6149 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0d,
6150 0x08, 0x0e, 0x61, 0x03, 0xef, 0x61, 0x03, 0xef, 0x03cd, 0x03c9, 0x03c5,
6151 0x0436, 0x043a, 0x043f},
6153 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0c,
6154 0x08, 0x0e, 0x61, 0x03, 0xdf, 0x61, 0x03, 0xdf, 0x03cf, 0x03cb, 0x03c7,
6155 0x0434, 0x0438, 0x043d},
6157 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0c,
6158 0x07, 0x0d, 0x61, 0x03, 0xcf, 0x61, 0x03, 0xcf, 0x03d1, 0x03cd, 0x03c9,
6159 0x0431, 0x0436, 0x043a},
6161 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0c,
6162 0x07, 0x0d, 0x61, 0x03, 0xbf, 0x61, 0x03, 0xbf, 0x03d3, 0x03cf, 0x03cb,
6163 0x042f, 0x0434, 0x0438},
6165 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0b,
6166 0x07, 0x0d, 0x61, 0x03, 0xaf, 0x61, 0x03, 0xaf, 0x03d5, 0x03d1, 0x03cd,
6167 0x042d, 0x0431, 0x0436},
6169 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0b,
6170 0x07, 0x0d, 0x61, 0x03, 0x9f, 0x61, 0x03, 0x9f, 0x03d7, 0x03d3, 0x03cf,
6171 0x042b, 0x042f, 0x0434},
6173 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0b,
6174 0x07, 0x0d, 0x61, 0x03, 0x8f, 0x61, 0x03, 0x8f, 0x03d9, 0x03d5, 0x03d1,
6175 0x0429, 0x042d, 0x0431},
6177 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0b,
6178 0x07, 0x0c, 0x61, 0x03, 0x7f, 0x61, 0x03, 0x7f, 0x03db, 0x03d7, 0x03d3,
6179 0x0427, 0x042b, 0x042f},
6181 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0b,
6182 0x07, 0x0c, 0x61, 0x03, 0x6f, 0x61, 0x03, 0x6f, 0x03dd, 0x03d9, 0x03d5,
6183 0x0424, 0x0429, 0x042d},
6185 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0b,
6186 0x06, 0x0c, 0x61, 0x03, 0x5f, 0x61, 0x03, 0x5f, 0x03df, 0x03db, 0x03d7,
6187 0x0422, 0x0427, 0x042b},
6189 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0a,
6190 0x06, 0x0b, 0x61, 0x03, 0x4f, 0x61, 0x03, 0x4f, 0x03e1, 0x03dd, 0x03d9,
6191 0x0420, 0x0424, 0x0429},
6193 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0a,
6194 0x06, 0x0b, 0x61, 0x03, 0x3f, 0x61, 0x03, 0x3f, 0x03e6, 0x03e2, 0x03de,
6195 0x041b, 0x041f, 0x0424}
6198 static chan_info_nphy_radio2057_rev5_t chan_info_nphyrev9_2057_rev5v1[] = {
6200 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0d,
6201 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03c9, 0x03c5, 0x03c1,
6202 0x043a, 0x043f, 0x0443},
6204 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0d,
6205 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03cb, 0x03c7, 0x03c3,
6206 0x0438, 0x043d, 0x0441},
6208 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0d,
6209 0x08, 0x0e, 0x61, 0x03, 0xef, 0x61, 0x03, 0xef, 0x03cd, 0x03c9, 0x03c5,
6210 0x0436, 0x043a, 0x043f},
6212 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0c,
6213 0x08, 0x0e, 0x61, 0x03, 0xdf, 0x61, 0x03, 0xdf, 0x03cf, 0x03cb, 0x03c7,
6214 0x0434, 0x0438, 0x043d},
6216 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0c,
6217 0x07, 0x0d, 0x61, 0x03, 0xcf, 0x61, 0x03, 0xcf, 0x03d1, 0x03cd, 0x03c9,
6218 0x0431, 0x0436, 0x043a},
6220 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0c,
6221 0x07, 0x0d, 0x61, 0x03, 0xbf, 0x61, 0x03, 0xbf, 0x03d3, 0x03cf, 0x03cb,
6222 0x042f, 0x0434, 0x0438},
6224 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0b,
6225 0x07, 0x0d, 0x61, 0x03, 0xaf, 0x61, 0x03, 0xaf, 0x03d5, 0x03d1, 0x03cd,
6226 0x042d, 0x0431, 0x0436},
6228 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0b,
6229 0x07, 0x0d, 0x61, 0x03, 0x9f, 0x61, 0x03, 0x9f, 0x03d7, 0x03d3, 0x03cf,
6230 0x042b, 0x042f, 0x0434},
6232 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0b,
6233 0x07, 0x0d, 0x61, 0x03, 0x8f, 0x61, 0x03, 0x8f, 0x03d9, 0x03d5, 0x03d1,
6234 0x0429, 0x042d, 0x0431},
6236 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0b,
6237 0x07, 0x0c, 0x61, 0x03, 0x7f, 0x61, 0x03, 0x7f, 0x03db, 0x03d7, 0x03d3,
6238 0x0427, 0x042b, 0x042f},
6240 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0b,
6241 0x07, 0x0c, 0x61, 0x03, 0x6f, 0x61, 0x03, 0x6f, 0x03dd, 0x03d9, 0x03d5,
6242 0x0424, 0x0429, 0x042d},
6244 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0b,
6245 0x06, 0x0c, 0x61, 0x03, 0x5f, 0x61, 0x03, 0x5f, 0x03df, 0x03db, 0x03d7,
6246 0x0422, 0x0427, 0x042b},
6248 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0a,
6249 0x06, 0x0b, 0x61, 0x03, 0x4f, 0x61, 0x03, 0x4f, 0x03e1, 0x03dd, 0x03d9,
6250 0x0420, 0x0424, 0x0429},
6252 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0a,
6253 0x06, 0x0b, 0x61, 0x03, 0x3f, 0x61, 0x03, 0x3f, 0x03e6, 0x03e2, 0x03de,
6254 0x041b, 0x041f, 0x0424}
6257 static chan_info_nphy_radio2057_t chan_info_nphyrev8_2057_rev7[] = {
6259 184, 4920, 0x68, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xec, 0x01, 0x0f,
6260 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6261 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b4, 0x07b0, 0x07ac, 0x0214,
6262 0x0215,
6263 0x0216},
6265 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
6266 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6267 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b8, 0x07b4, 0x07b0, 0x0213,
6268 0x0214,
6269 0x0215},
6271 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
6272 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6273 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07bc, 0x07b8, 0x07b4, 0x0212,
6274 0x0213,
6275 0x0214},
6277 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
6278 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6279 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c0, 0x07bc, 0x07b8, 0x0211,
6280 0x0212,
6281 0x0213},
6283 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
6284 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6285 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c4, 0x07c0, 0x07bc, 0x020f,
6286 0x0211,
6287 0x0212},
6289 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
6290 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6291 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c8, 0x07c4, 0x07c0, 0x020e,
6292 0x020f,
6293 0x0211},
6295 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
6296 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6297 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07cc, 0x07c8, 0x07c4, 0x020d,
6298 0x020e,
6299 0x020f},
6301 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
6302 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6303 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07d0, 0x07cc, 0x07c8, 0x020c,
6304 0x020d,
6305 0x020e},
6307 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
6308 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6309 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d4, 0x07d0, 0x07cc, 0x020b,
6310 0x020c,
6311 0x020d},
6313 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
6314 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6315 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d8, 0x07d4, 0x07d0, 0x020a,
6316 0x020b,
6317 0x020c},
6319 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
6320 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6321 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07dc, 0x07d8, 0x07d4, 0x0209,
6322 0x020a,
6323 0x020b},
6325 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
6326 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6327 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e0, 0x07dc, 0x07d8, 0x0208,
6328 0x0209,
6329 0x020a},
6331 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
6332 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6333 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e4, 0x07e0, 0x07dc, 0x0207,
6334 0x0208,
6335 0x0209},
6337 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
6338 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6339 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e8, 0x07e4, 0x07e0, 0x0206,
6340 0x0207,
6341 0x0208},
6343 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
6344 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6345 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07ec, 0x07e8, 0x07e4, 0x0205,
6346 0x0206,
6347 0x0207},
6349 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
6350 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6351 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f0, 0x07ec, 0x07e8, 0x0204,
6352 0x0205,
6353 0x0206},
6355 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
6356 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6357 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f4, 0x07f0, 0x07ec, 0x0203,
6358 0x0204,
6359 0x0205},
6361 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
6362 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6363 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f8, 0x07f4, 0x07f0, 0x0202,
6364 0x0203,
6365 0x0204},
6367 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
6368 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6369 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x07fc, 0x07f8, 0x07f4, 0x0201,
6370 0x0202,
6371 0x0203},
6373 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
6374 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6375 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0800, 0x07fc, 0x07f8, 0x0200,
6376 0x0201,
6377 0x0202},
6379 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
6380 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6381 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0804, 0x0800, 0x07fc, 0x01ff,
6382 0x0200,
6383 0x0201},
6385 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
6386 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6387 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0808, 0x0804, 0x0800, 0x01fe,
6388 0x01ff,
6389 0x0200},
6391 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
6392 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6393 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x080c, 0x0808, 0x0804, 0x01fd,
6394 0x01fe,
6395 0x01ff},
6397 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
6398 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6399 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0814, 0x0810, 0x080c, 0x01fb,
6400 0x01fc,
6401 0x01fd},
6403 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
6404 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6405 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0818, 0x0814, 0x0810, 0x01fa,
6406 0x01fb,
6407 0x01fc},
6409 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
6410 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6411 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x081c, 0x0818, 0x0814, 0x01f9,
6412 0x01fa,
6413 0x01fb},
6415 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
6416 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6417 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0820, 0x081c, 0x0818, 0x01f8,
6418 0x01f9,
6419 0x01fa},
6421 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
6422 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6423 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0824, 0x0820, 0x081c, 0x01f7,
6424 0x01f8,
6425 0x01f9},
6427 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
6428 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6429 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0828, 0x0824, 0x0820, 0x01f6,
6430 0x01f7,
6431 0x01f8},
6433 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
6434 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6435 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x082c, 0x0828, 0x0824, 0x01f5,
6436 0x01f6,
6437 0x01f7},
6439 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
6440 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6441 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0830, 0x082c, 0x0828, 0x01f4,
6442 0x01f5,
6443 0x01f6},
6445 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
6446 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6447 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0834, 0x0830, 0x082c, 0x01f3,
6448 0x01f4,
6449 0x01f5},
6451 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
6452 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6453 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0838, 0x0834, 0x0830, 0x01f2,
6454 0x01f3,
6455 0x01f4},
6457 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
6458 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6459 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x083c, 0x0838, 0x0834, 0x01f1,
6460 0x01f2,
6461 0x01f3},
6463 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
6464 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6465 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0840, 0x083c, 0x0838, 0x01f0,
6466 0x01f1,
6467 0x01f2},
6469 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
6470 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6471 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0844, 0x0840, 0x083c, 0x01f0,
6472 0x01f0,
6473 0x01f1},
6475 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
6476 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6477 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0848, 0x0844, 0x0840, 0x01ef,
6478 0x01f0,
6479 0x01f0},
6481 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
6482 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6483 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x084c, 0x0848, 0x0844, 0x01ee,
6484 0x01ef,
6485 0x01f0},
6487 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
6488 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6489 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0850, 0x084c, 0x0848, 0x01ed,
6490 0x01ee,
6491 0x01ef},
6493 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
6494 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6495 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0854, 0x0850, 0x084c, 0x01ec,
6496 0x01ed,
6497 0x01ee},
6499 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
6500 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6501 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0858, 0x0854, 0x0850, 0x01eb,
6502 0x01ec,
6503 0x01ed},
6505 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
6506 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6507 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x085c, 0x0858, 0x0854, 0x01ea,
6508 0x01eb,
6509 0x01ec},
6511 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
6512 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6513 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0860, 0x085c, 0x0858, 0x01e9,
6514 0x01ea,
6515 0x01eb},
6517 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
6518 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6519 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0864, 0x0860, 0x085c, 0x01e8,
6520 0x01e9,
6521 0x01ea},
6523 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
6524 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6525 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0868, 0x0864, 0x0860, 0x01e7,
6526 0x01e8,
6527 0x01e9},
6529 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
6530 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6531 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x086c, 0x0868, 0x0864, 0x01e6,
6532 0x01e7,
6533 0x01e8},
6535 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
6536 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6537 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0870, 0x086c, 0x0868, 0x01e5,
6538 0x01e6,
6539 0x01e7},
6541 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
6542 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6543 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0874, 0x0870, 0x086c, 0x01e5,
6544 0x01e5,
6545 0x01e6},
6547 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
6548 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6549 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0878, 0x0874, 0x0870, 0x01e4,
6550 0x01e5,
6551 0x01e5},
6553 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
6554 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6555 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x087c, 0x0878, 0x0874, 0x01e3,
6556 0x01e4,
6557 0x01e5},
6559 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
6560 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6561 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0880, 0x087c, 0x0878, 0x01e2,
6562 0x01e3,
6563 0x01e4},
6565 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
6566 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6567 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0884, 0x0880, 0x087c, 0x01e1,
6568 0x01e2,
6569 0x01e3},
6571 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
6572 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6573 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0888, 0x0884, 0x0880, 0x01e0,
6574 0x01e1,
6575 0x01e2},
6577 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
6578 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6579 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x088c, 0x0888, 0x0884, 0x01df,
6580 0x01e0,
6581 0x01e1},
6583 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
6584 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6585 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0890, 0x088c, 0x0888, 0x01de,
6586 0x01df,
6587 0x01e0},
6589 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
6590 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6591 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0894, 0x0890, 0x088c, 0x01dd,
6592 0x01de,
6593 0x01df},
6595 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
6596 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6597 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0898, 0x0894, 0x0890, 0x01dd,
6598 0x01dd,
6599 0x01de},
6601 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
6602 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6603 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x089c, 0x0898, 0x0894, 0x01dc,
6604 0x01dd,
6605 0x01dd},
6607 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
6608 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6609 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a0, 0x089c, 0x0898, 0x01db,
6610 0x01dc,
6611 0x01dd},
6613 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
6614 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6615 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a4, 0x08a0, 0x089c, 0x01da,
6616 0x01db,
6617 0x01dc},
6619 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
6620 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6621 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
6622 0x01da,
6623 0x01db},
6625 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
6626 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6627 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
6628 0x01d9,
6629 0x01da},
6631 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
6632 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6633 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
6634 0x01d8,
6635 0x01d9},
6637 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
6638 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6639 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
6640 0x01d7,
6641 0x01d8},
6643 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
6644 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6645 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
6646 0x01d7,
6647 0x01d7},
6649 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
6650 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6651 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
6652 0x01d6,
6653 0x01d7},
6655 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
6656 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6657 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
6658 0x01d5,
6659 0x01d6},
6661 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
6662 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6663 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
6664 0x01d4,
6665 0x01d5},
6667 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
6668 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6669 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
6670 0x01d3,
6671 0x01d4},
6673 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
6674 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6675 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
6676 0x01d2,
6677 0x01d3},
6679 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
6680 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6681 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
6682 0x01d2,
6683 0x01d2},
6685 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
6686 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6687 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
6688 0x01d1,
6689 0x01d2},
6691 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
6692 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6693 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
6694 0x01d0,
6695 0x01d1},
6697 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
6698 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6699 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
6700 0x01cf,
6701 0x01d0},
6703 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
6704 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6705 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
6706 0x01ce,
6707 0x01cf},
6709 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
6710 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
6711 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
6712 0x01ce,
6713 0x01ce},
6715 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
6716 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
6717 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
6718 0x01cd,
6719 0x01ce},
6721 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
6722 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6723 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
6724 0x01cc,
6725 0x01cd},
6727 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
6728 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6729 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
6730 0x01cb,
6731 0x01cc},
6733 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
6734 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6735 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
6736 0x01ca,
6737 0x01cb},
6739 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
6740 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6741 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
6742 0x01ca,
6743 0x01cb},
6745 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
6746 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6747 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
6748 0x01c9,
6749 0x01ca},
6751 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
6752 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6753 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
6754 0x01c9,
6755 0x01ca},
6757 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
6758 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6759 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
6760 0x01c9,
6761 0x01c9},
6763 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
6764 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6765 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
6766 0x01c8,
6767 0x01c9},
6769 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
6770 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6771 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
6772 0x01c8,
6773 0x01c9},
6775 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
6776 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6777 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
6778 0x01c8,
6779 0x01c8},
6781 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
6782 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6783 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
6784 0x01c7,
6785 0x01c8},
6787 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
6788 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6789 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
6790 0x01c7,
6791 0x01c8},
6793 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
6794 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6795 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
6796 0x01c6,
6797 0x01c7},
6799 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
6800 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6801 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
6802 0x01c6,
6803 0x01c7},
6805 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
6806 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6807 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
6808 0x01c6,
6809 0x01c6},
6811 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
6812 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6813 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
6814 0x01c5,
6815 0x01c6},
6817 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
6818 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6819 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
6820 0x01c5,
6821 0x01c6},
6823 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
6824 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6825 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
6826 0x01c4,
6827 0x01c5},
6829 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
6830 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x00,
6831 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
6832 0x01c4,
6833 0x01c5},
6835 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
6836 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6837 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
6838 0x01c4,
6839 0x01c4},
6841 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
6842 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6843 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
6844 0x01c3,
6845 0x01c4},
6847 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
6848 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6849 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
6850 0x01c3,
6851 0x01c4},
6853 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
6854 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6855 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
6856 0x01c2,
6857 0x01c3},
6859 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
6860 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6861 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
6862 0x01c2,
6863 0x01c3},
6865 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
6866 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6867 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
6868 0x01c2,
6869 0x01c2},
6871 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
6872 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6873 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
6874 0x01c1,
6875 0x01c2},
6877 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
6878 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6879 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
6880 0x01c0,
6881 0x01c1},
6883 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
6884 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6885 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
6886 0x01bf,
6887 0x01c0},
6889 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
6890 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6891 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
6892 0x01bf,
6893 0x01bf},
6895 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
6896 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6897 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
6898 0x01be,
6899 0x01bf},
6901 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
6902 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6903 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
6904 0x01bd,
6905 0x01be},
6907 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
6908 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6909 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
6910 0x01bc,
6911 0x01bd},
6913 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
6914 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6915 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
6916 0x043f,
6917 0x0443},
6919 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
6920 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6921 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
6922 0x043d,
6923 0x0441},
6925 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
6926 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6927 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
6928 0x043a,
6929 0x043f},
6931 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
6932 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6933 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
6934 0x0438,
6935 0x043d},
6937 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
6938 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6939 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
6940 0x0436,
6941 0x043a},
6943 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
6944 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6945 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
6946 0x0434,
6947 0x0438},
6949 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
6950 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6951 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
6952 0x0431,
6953 0x0436},
6955 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
6956 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6957 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
6958 0x042f,
6959 0x0434},
6961 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
6962 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6963 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
6964 0x042d,
6965 0x0431},
6967 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
6968 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6969 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
6970 0x042b,
6971 0x042f},
6973 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
6974 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6975 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
6976 0x0429,
6977 0x042d},
6979 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
6980 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6981 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
6982 0x0427,
6983 0x042b},
6985 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
6986 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6987 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
6988 0x0424,
6989 0x0429},
6991 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
6992 0x04, 0x00, 0x04, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x61,
6993 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
6994 0x041f,
6995 0x0424}
6998 static chan_info_nphy_radio2057_t chan_info_nphyrev8_2057_rev8[] = {
7000 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
7001 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7002 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b8, 0x07b4, 0x07b0, 0x0213,
7003 0x0214,
7004 0x0215},
7006 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
7007 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7008 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07bc, 0x07b8, 0x07b4, 0x0212,
7009 0x0213,
7010 0x0214},
7012 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
7013 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7014 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c0, 0x07bc, 0x07b8, 0x0211,
7015 0x0212,
7016 0x0213},
7018 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
7019 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7020 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c4, 0x07c0, 0x07bc, 0x020f,
7021 0x0211,
7022 0x0212},
7024 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
7025 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7026 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c8, 0x07c4, 0x07c0, 0x020e,
7027 0x020f,
7028 0x0211},
7030 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
7031 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7032 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07cc, 0x07c8, 0x07c4, 0x020d,
7033 0x020e,
7034 0x020f},
7036 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
7037 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7038 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07d0, 0x07cc, 0x07c8, 0x020c,
7039 0x020d,
7040 0x020e},
7042 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
7043 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7044 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d4, 0x07d0, 0x07cc, 0x020b,
7045 0x020c,
7046 0x020d},
7048 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
7049 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7050 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d8, 0x07d4, 0x07d0, 0x020a,
7051 0x020b,
7052 0x020c},
7054 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
7055 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7056 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07dc, 0x07d8, 0x07d4, 0x0209,
7057 0x020a,
7058 0x020b},
7060 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
7061 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7062 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e0, 0x07dc, 0x07d8, 0x0208,
7063 0x0209,
7064 0x020a},
7066 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
7067 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7068 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e4, 0x07e0, 0x07dc, 0x0207,
7069 0x0208,
7070 0x0209},
7072 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
7073 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7074 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e8, 0x07e4, 0x07e0, 0x0206,
7075 0x0207,
7076 0x0208},
7078 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
7079 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7080 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07ec, 0x07e8, 0x07e4, 0x0205,
7081 0x0206,
7082 0x0207},
7084 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
7085 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7086 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f0, 0x07ec, 0x07e8, 0x0204,
7087 0x0205,
7088 0x0206},
7090 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
7091 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7092 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f4, 0x07f0, 0x07ec, 0x0203,
7093 0x0204,
7094 0x0205},
7096 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
7097 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7098 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f8, 0x07f4, 0x07f0, 0x0202,
7099 0x0203,
7100 0x0204},
7102 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
7103 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7104 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x07fc, 0x07f8, 0x07f4, 0x0201,
7105 0x0202,
7106 0x0203},
7108 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
7109 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7110 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0800, 0x07fc, 0x07f8, 0x0200,
7111 0x0201,
7112 0x0202},
7114 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
7115 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7116 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0804, 0x0800, 0x07fc, 0x01ff,
7117 0x0200,
7118 0x0201},
7120 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
7121 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7122 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0808, 0x0804, 0x0800, 0x01fe,
7123 0x01ff,
7124 0x0200},
7126 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
7127 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7128 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x080c, 0x0808, 0x0804, 0x01fd,
7129 0x01fe,
7130 0x01ff},
7132 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
7133 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7134 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0814, 0x0810, 0x080c, 0x01fb,
7135 0x01fc,
7136 0x01fd},
7138 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
7139 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7140 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0818, 0x0814, 0x0810, 0x01fa,
7141 0x01fb,
7142 0x01fc},
7144 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
7145 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7146 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x081c, 0x0818, 0x0814, 0x01f9,
7147 0x01fa,
7148 0x01fb},
7150 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
7151 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7152 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0820, 0x081c, 0x0818, 0x01f8,
7153 0x01f9,
7154 0x01fa},
7156 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
7157 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7158 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0824, 0x0820, 0x081c, 0x01f7,
7159 0x01f8,
7160 0x01f9},
7162 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
7163 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7164 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0828, 0x0824, 0x0820, 0x01f6,
7165 0x01f7,
7166 0x01f8},
7168 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
7169 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7170 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x082c, 0x0828, 0x0824, 0x01f5,
7171 0x01f6,
7172 0x01f7},
7174 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
7175 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7176 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0830, 0x082c, 0x0828, 0x01f4,
7177 0x01f5,
7178 0x01f6},
7180 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
7181 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7182 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0834, 0x0830, 0x082c, 0x01f3,
7183 0x01f4,
7184 0x01f5},
7186 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
7187 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7188 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0838, 0x0834, 0x0830, 0x01f2,
7189 0x01f3,
7190 0x01f4},
7192 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
7193 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7194 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x083c, 0x0838, 0x0834, 0x01f1,
7195 0x01f2,
7196 0x01f3},
7198 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
7199 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7200 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0840, 0x083c, 0x0838, 0x01f0,
7201 0x01f1,
7202 0x01f2},
7204 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
7205 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7206 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0844, 0x0840, 0x083c, 0x01f0,
7207 0x01f0,
7208 0x01f1},
7210 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
7211 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7212 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0848, 0x0844, 0x0840, 0x01ef,
7213 0x01f0,
7214 0x01f0},
7216 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
7217 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7218 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x084c, 0x0848, 0x0844, 0x01ee,
7219 0x01ef,
7220 0x01f0},
7222 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
7223 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7224 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0850, 0x084c, 0x0848, 0x01ed,
7225 0x01ee,
7226 0x01ef},
7228 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
7229 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7230 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0854, 0x0850, 0x084c, 0x01ec,
7231 0x01ed,
7232 0x01ee},
7234 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
7235 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7236 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0858, 0x0854, 0x0850, 0x01eb,
7237 0x01ec,
7238 0x01ed},
7240 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
7241 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7242 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x085c, 0x0858, 0x0854, 0x01ea,
7243 0x01eb,
7244 0x01ec},
7246 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
7247 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7248 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0860, 0x085c, 0x0858, 0x01e9,
7249 0x01ea,
7250 0x01eb},
7252 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
7253 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7254 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0864, 0x0860, 0x085c, 0x01e8,
7255 0x01e9,
7256 0x01ea},
7258 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
7259 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7260 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0868, 0x0864, 0x0860, 0x01e7,
7261 0x01e8,
7262 0x01e9},
7264 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
7265 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7266 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x086c, 0x0868, 0x0864, 0x01e6,
7267 0x01e7,
7268 0x01e8},
7270 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
7271 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7272 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0870, 0x086c, 0x0868, 0x01e5,
7273 0x01e6,
7274 0x01e7},
7276 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
7277 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7278 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0874, 0x0870, 0x086c, 0x01e5,
7279 0x01e5,
7280 0x01e6},
7282 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
7283 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7284 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0878, 0x0874, 0x0870, 0x01e4,
7285 0x01e5,
7286 0x01e5},
7288 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
7289 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7290 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x087c, 0x0878, 0x0874, 0x01e3,
7291 0x01e4,
7292 0x01e5},
7294 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
7295 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7296 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0880, 0x087c, 0x0878, 0x01e2,
7297 0x01e3,
7298 0x01e4},
7300 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
7301 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7302 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0884, 0x0880, 0x087c, 0x01e1,
7303 0x01e2,
7304 0x01e3},
7306 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
7307 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7308 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0888, 0x0884, 0x0880, 0x01e0,
7309 0x01e1,
7310 0x01e2},
7312 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
7313 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7314 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x088c, 0x0888, 0x0884, 0x01df,
7315 0x01e0,
7316 0x01e1},
7318 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
7319 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7320 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0890, 0x088c, 0x0888, 0x01de,
7321 0x01df,
7322 0x01e0},
7324 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
7325 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7326 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0894, 0x0890, 0x088c, 0x01dd,
7327 0x01de,
7328 0x01df},
7330 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
7331 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7332 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0898, 0x0894, 0x0890, 0x01dd,
7333 0x01dd,
7334 0x01de},
7336 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
7337 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7338 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x089c, 0x0898, 0x0894, 0x01dc,
7339 0x01dd,
7340 0x01dd},
7342 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
7343 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7344 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a0, 0x089c, 0x0898, 0x01db,
7345 0x01dc,
7346 0x01dd},
7348 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
7349 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7350 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a4, 0x08a0, 0x089c, 0x01da,
7351 0x01db,
7352 0x01dc},
7354 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
7355 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7356 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
7357 0x01da,
7358 0x01db},
7360 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
7361 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7362 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
7363 0x01d9,
7364 0x01da},
7366 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
7367 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7368 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
7369 0x01d8,
7370 0x01d9},
7372 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
7373 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7374 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
7375 0x01d7,
7376 0x01d8},
7378 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
7379 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7380 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
7381 0x01d7,
7382 0x01d7},
7384 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
7385 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7386 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
7387 0x01d6,
7388 0x01d7},
7390 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
7391 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7392 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
7393 0x01d5,
7394 0x01d6},
7396 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
7397 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7398 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
7399 0x01d4,
7400 0x01d5},
7402 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
7403 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7404 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
7405 0x01d3,
7406 0x01d4},
7408 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
7409 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7410 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
7411 0x01d2,
7412 0x01d3},
7414 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
7415 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7416 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
7417 0x01d2,
7418 0x01d2},
7420 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
7421 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7422 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
7423 0x01d1,
7424 0x01d2},
7426 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
7427 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7428 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
7429 0x01d0,
7430 0x01d1},
7432 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
7433 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7434 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
7435 0x01cf,
7436 0x01d0},
7438 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
7439 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7440 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
7441 0x01ce,
7442 0x01cf},
7444 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
7445 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
7446 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
7447 0x01ce,
7448 0x01ce},
7450 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
7451 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
7452 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
7453 0x01cd,
7454 0x01ce},
7456 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
7457 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7458 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
7459 0x01cc,
7460 0x01cd},
7462 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
7463 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7464 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
7465 0x01cb,
7466 0x01cc},
7468 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
7469 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7470 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
7471 0x01ca,
7472 0x01cb},
7474 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
7475 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7476 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
7477 0x01ca,
7478 0x01cb},
7480 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
7481 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7482 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
7483 0x01c9,
7484 0x01ca},
7486 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
7487 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7488 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
7489 0x01c9,
7490 0x01ca},
7492 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
7493 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7494 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
7495 0x01c9,
7496 0x01c9},
7498 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
7499 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7500 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
7501 0x01c8,
7502 0x01c9},
7504 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
7505 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7506 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
7507 0x01c8,
7508 0x01c9},
7510 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
7511 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7512 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
7513 0x01c8,
7514 0x01c8},
7516 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
7517 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7518 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
7519 0x01c7,
7520 0x01c8},
7522 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
7523 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7524 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
7525 0x01c7,
7526 0x01c8},
7528 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
7529 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7530 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
7531 0x01c6,
7532 0x01c7},
7534 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
7535 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7536 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
7537 0x01c6,
7538 0x01c7},
7540 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
7541 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7542 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
7543 0x01c6,
7544 0x01c6},
7546 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
7547 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7548 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
7549 0x01c5,
7550 0x01c6},
7552 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
7553 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7554 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
7555 0x01c5,
7556 0x01c6},
7558 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
7559 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7560 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
7561 0x01c4,
7562 0x01c5},
7564 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
7565 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x00,
7566 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
7567 0x01c4,
7568 0x01c5},
7570 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
7571 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7572 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
7573 0x01c4,
7574 0x01c4},
7576 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
7577 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7578 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
7579 0x01c3,
7580 0x01c4},
7582 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
7583 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7584 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
7585 0x01c3,
7586 0x01c4},
7588 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
7589 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7590 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
7591 0x01c2,
7592 0x01c3},
7594 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
7595 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7596 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
7597 0x01c2,
7598 0x01c3},
7600 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
7601 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7602 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
7603 0x01c2,
7604 0x01c2},
7606 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
7607 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7608 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
7609 0x01c1,
7610 0x01c2},
7612 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
7613 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7614 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
7615 0x01c0,
7616 0x01c1},
7618 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
7619 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7620 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
7621 0x01bf,
7622 0x01c0},
7624 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
7625 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7626 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
7627 0x01bf,
7628 0x01bf},
7630 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
7631 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7632 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
7633 0x01be,
7634 0x01bf},
7636 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
7637 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7638 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
7639 0x01bd,
7640 0x01be},
7642 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
7643 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7644 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
7645 0x01bc,
7646 0x01bd},
7648 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
7649 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7650 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
7651 0x043f,
7652 0x0443},
7654 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
7655 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7656 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
7657 0x043d,
7658 0x0441},
7660 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
7661 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7662 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
7663 0x043a,
7664 0x043f},
7666 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
7667 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7668 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
7669 0x0438,
7670 0x043d},
7672 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
7673 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7674 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
7675 0x0436,
7676 0x043a},
7678 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
7679 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7680 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
7681 0x0434,
7682 0x0438},
7684 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
7685 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7686 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
7687 0x0431,
7688 0x0436},
7690 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
7691 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7692 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
7693 0x042f,
7694 0x0434},
7696 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
7697 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7698 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
7699 0x042d,
7700 0x0431},
7702 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
7703 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7704 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
7705 0x042b,
7706 0x042f},
7708 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
7709 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7710 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
7711 0x0429,
7712 0x042d},
7714 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
7715 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7716 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
7717 0x0427,
7718 0x042b},
7720 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
7721 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7722 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
7723 0x0424,
7724 0x0429},
7726 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
7727 0x04, 0x00, 0x04, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x61,
7728 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
7729 0x041f,
7730 0x0424}
7733 radio_regs_t regs_2055[] = {
7734 {0x02, 0x80, 0x80, 0, 0},
7735 {0x03, 0, 0, 0, 0},
7736 {0x04, 0x27, 0x27, 0, 0},
7737 {0x05, 0, 0, 0, 0},
7738 {0x06, 0x27, 0x27, 0, 0},
7739 {0x07, 0x7f, 0x7f, 1, 1},
7740 {0x08, 0x7, 0x7, 1, 1},
7741 {0x09, 0x7f, 0x7f, 1, 1},
7742 {0x0A, 0x7, 0x7, 1, 1},
7743 {0x0B, 0x15, 0x15, 0, 0},
7744 {0x0C, 0x15, 0x15, 0, 0},
7745 {0x0D, 0x4f, 0x4f, 1, 1},
7746 {0x0E, 0x5, 0x5, 1, 1},
7747 {0x0F, 0x4f, 0x4f, 1, 1},
7748 {0x10, 0x5, 0x5, 1, 1},
7749 {0x11, 0xd0, 0xd0, 0, 0},
7750 {0x12, 0x2, 0x2, 0, 0},
7751 {0x13, 0, 0, 0, 0},
7752 {0x14, 0x40, 0x40, 0, 0},
7753 {0x15, 0, 0, 0, 0},
7754 {0x16, 0, 0, 0, 0},
7755 {0x17, 0, 0, 0, 0},
7756 {0x18, 0, 0, 0, 0},
7757 {0x19, 0, 0, 0, 0},
7758 {0x1A, 0, 0, 0, 0},
7759 {0x1B, 0, 0, 0, 0},
7760 {0x1C, 0, 0, 0, 0},
7761 {0x1D, 0xc0, 0xc0, 0, 0},
7762 {0x1E, 0xff, 0xff, 0, 0},
7763 {0x1F, 0xc0, 0xc0, 0, 0},
7764 {0x20, 0xff, 0xff, 0, 0},
7765 {0x21, 0xc0, 0xc0, 0, 0},
7766 {0x22, 0, 0, 0, 0},
7767 {0x23, 0x2c, 0x2c, 0, 0},
7768 {0x24, 0, 0, 0, 0},
7769 {0x25, 0, 0, 0, 0},
7770 {0x26, 0, 0, 0, 0},
7771 {0x27, 0, 0, 0, 0},
7772 {0x28, 0, 0, 0, 0},
7773 {0x29, 0, 0, 0, 0},
7774 {0x2A, 0, 0, 0, 0},
7775 {0x2B, 0, 0, 0, 0},
7776 {0x2C, 0, 0, 0, 0},
7777 {0x2D, 0xa4, 0xa4, 0, 0},
7778 {0x2E, 0x38, 0x38, 0, 0},
7779 {0x2F, 0, 0, 0, 0},
7780 {0x30, 0x4, 0x4, 1, 1},
7781 {0x31, 0, 0, 0, 0},
7782 {0x32, 0xa, 0xa, 0, 0},
7783 {0x33, 0x87, 0x87, 0, 0},
7784 {0x34, 0x9, 0x9, 0, 0},
7785 {0x35, 0x70, 0x70, 0, 0},
7786 {0x36, 0x11, 0x11, 0, 0},
7787 {0x37, 0x18, 0x18, 1, 1},
7788 {0x38, 0x6, 0x6, 0, 0},
7789 {0x39, 0x4, 0x4, 1, 1},
7790 {0x3A, 0x6, 0x6, 0, 0},
7791 {0x3B, 0x9e, 0x9e, 0, 0},
7792 {0x3C, 0x9, 0x9, 0, 0},
7793 {0x3D, 0xc8, 0xc8, 1, 1},
7794 {0x3E, 0x88, 0x88, 0, 0},
7795 {0x3F, 0, 0, 0, 0},
7796 {0x40, 0, 0, 0, 0},
7797 {0x41, 0, 0, 0, 0},
7798 {0x42, 0x1, 0x1, 0, 0},
7799 {0x43, 0x2, 0x2, 0, 0},
7800 {0x44, 0x96, 0x96, 0, 0},
7801 {0x45, 0x3e, 0x3e, 0, 0},
7802 {0x46, 0x3e, 0x3e, 0, 0},
7803 {0x47, 0x13, 0x13, 0, 0},
7804 {0x48, 0x2, 0x2, 0, 0},
7805 {0x49, 0x15, 0x15, 0, 0},
7806 {0x4A, 0x7, 0x7, 0, 0},
7807 {0x4B, 0, 0, 0, 0},
7808 {0x4C, 0, 0, 0, 0},
7809 {0x4D, 0, 0, 0, 0},
7810 {0x4E, 0, 0, 0, 0},
7811 {0x4F, 0, 0, 0, 0},
7812 {0x50, 0x8, 0x8, 0, 0},
7813 {0x51, 0x8, 0x8, 0, 0},
7814 {0x52, 0x6, 0x6, 0, 0},
7815 {0x53, 0x84, 0x84, 1, 1},
7816 {0x54, 0xc3, 0xc3, 0, 0},
7817 {0x55, 0x8f, 0x8f, 0, 0},
7818 {0x56, 0xff, 0xff, 0, 0},
7819 {0x57, 0xff, 0xff, 0, 0},
7820 {0x58, 0x88, 0x88, 0, 0},
7821 {0x59, 0x88, 0x88, 0, 0},
7822 {0x5A, 0, 0, 0, 0},
7823 {0x5B, 0xcc, 0xcc, 0, 0},
7824 {0x5C, 0x6, 0x6, 0, 0},
7825 {0x5D, 0x80, 0x80, 0, 0},
7826 {0x5E, 0x80, 0x80, 0, 0},
7827 {0x5F, 0xf8, 0xf8, 0, 0},
7828 {0x60, 0x88, 0x88, 0, 0},
7829 {0x61, 0x88, 0x88, 0, 0},
7830 {0x62, 0x88, 0x8, 1, 1},
7831 {0x63, 0x88, 0x88, 0, 0},
7832 {0x64, 0, 0, 0, 0},
7833 {0x65, 0x1, 0x1, 1, 1},
7834 {0x66, 0x8a, 0x8a, 0, 0},
7835 {0x67, 0x8, 0x8, 0, 0},
7836 {0x68, 0x83, 0x83, 0, 0},
7837 {0x69, 0x6, 0x6, 0, 0},
7838 {0x6A, 0xa0, 0xa0, 0, 0},
7839 {0x6B, 0xa, 0xa, 0, 0},
7840 {0x6C, 0x87, 0x87, 1, 1},
7841 {0x6D, 0x2a, 0x2a, 0, 0},
7842 {0x6E, 0x2a, 0x2a, 0, 0},
7843 {0x6F, 0x2a, 0x2a, 0, 0},
7844 {0x70, 0x2a, 0x2a, 0, 0},
7845 {0x71, 0x18, 0x18, 0, 0},
7846 {0x72, 0x6a, 0x6a, 1, 1},
7847 {0x73, 0xab, 0xab, 1, 1},
7848 {0x74, 0x13, 0x13, 1, 1},
7849 {0x75, 0xc1, 0xc1, 1, 1},
7850 {0x76, 0xaa, 0xaa, 1, 1},
7851 {0x77, 0x87, 0x87, 1, 1},
7852 {0x78, 0, 0, 0, 0},
7853 {0x79, 0x6, 0x6, 0, 0},
7854 {0x7A, 0x7, 0x7, 0, 0},
7855 {0x7B, 0x7, 0x7, 0, 0},
7856 {0x7C, 0x15, 0x15, 0, 0},
7857 {0x7D, 0x55, 0x55, 0, 0},
7858 {0x7E, 0x97, 0x97, 1, 1},
7859 {0x7F, 0x8, 0x8, 0, 0},
7860 {0x80, 0x14, 0x14, 1, 1},
7861 {0x81, 0x33, 0x33, 0, 0},
7862 {0x82, 0x88, 0x88, 0, 0},
7863 {0x83, 0x6, 0x6, 0, 0},
7864 {0x84, 0x3, 0x3, 1, 1},
7865 {0x85, 0xa, 0xa, 0, 0},
7866 {0x86, 0x3, 0x3, 1, 1},
7867 {0x87, 0x2a, 0x2a, 0, 0},
7868 {0x88, 0xa4, 0xa4, 0, 0},
7869 {0x89, 0x18, 0x18, 0, 0},
7870 {0x8A, 0x28, 0x28, 0, 0},
7871 {0x8B, 0, 0, 0, 0},
7872 {0x8C, 0x4a, 0x4a, 0, 0},
7873 {0x8D, 0, 0, 0, 0},
7874 {0x8E, 0xf8, 0xf8, 0, 0},
7875 {0x8F, 0x88, 0x88, 0, 0},
7876 {0x90, 0x88, 0x88, 0, 0},
7877 {0x91, 0x88, 0x8, 1, 1},
7878 {0x92, 0x88, 0x88, 0, 0},
7879 {0x93, 0, 0, 0, 0},
7880 {0x94, 0x1, 0x1, 1, 1},
7881 {0x95, 0x8a, 0x8a, 0, 0},
7882 {0x96, 0x8, 0x8, 0, 0},
7883 {0x97, 0x83, 0x83, 0, 0},
7884 {0x98, 0x6, 0x6, 0, 0},
7885 {0x99, 0xa0, 0xa0, 0, 0},
7886 {0x9A, 0xa, 0xa, 0, 0},
7887 {0x9B, 0x87, 0x87, 1, 1},
7888 {0x9C, 0x2a, 0x2a, 0, 0},
7889 {0x9D, 0x2a, 0x2a, 0, 0},
7890 {0x9E, 0x2a, 0x2a, 0, 0},
7891 {0x9F, 0x2a, 0x2a, 0, 0},
7892 {0xA0, 0x18, 0x18, 0, 0},
7893 {0xA1, 0x6a, 0x6a, 1, 1},
7894 {0xA2, 0xab, 0xab, 1, 1},
7895 {0xA3, 0x13, 0x13, 1, 1},
7896 {0xA4, 0xc1, 0xc1, 1, 1},
7897 {0xA5, 0xaa, 0xaa, 1, 1},
7898 {0xA6, 0x87, 0x87, 1, 1},
7899 {0xA7, 0, 0, 0, 0},
7900 {0xA8, 0x6, 0x6, 0, 0},
7901 {0xA9, 0x7, 0x7, 0, 0},
7902 {0xAA, 0x7, 0x7, 0, 0},
7903 {0xAB, 0x15, 0x15, 0, 0},
7904 {0xAC, 0x55, 0x55, 0, 0},
7905 {0xAD, 0x97, 0x97, 1, 1},
7906 {0xAE, 0x8, 0x8, 0, 0},
7907 {0xAF, 0x14, 0x14, 1, 1},
7908 {0xB0, 0x33, 0x33, 0, 0},
7909 {0xB1, 0x88, 0x88, 0, 0},
7910 {0xB2, 0x6, 0x6, 0, 0},
7911 {0xB3, 0x3, 0x3, 1, 1},
7912 {0xB4, 0xa, 0xa, 0, 0},
7913 {0xB5, 0x3, 0x3, 1, 1},
7914 {0xB6, 0x2a, 0x2a, 0, 0},
7915 {0xB7, 0xa4, 0xa4, 0, 0},
7916 {0xB8, 0x18, 0x18, 0, 0},
7917 {0xB9, 0x28, 0x28, 0, 0},
7918 {0xBA, 0, 0, 0, 0},
7919 {0xBB, 0x4a, 0x4a, 0, 0},
7920 {0xBC, 0, 0, 0, 0},
7921 {0xBD, 0x71, 0x71, 0, 0},
7922 {0xBE, 0x72, 0x72, 0, 0},
7923 {0xBF, 0x73, 0x73, 0, 0},
7924 {0xC0, 0x74, 0x74, 0, 0},
7925 {0xC1, 0x75, 0x75, 0, 0},
7926 {0xC2, 0x76, 0x76, 0, 0},
7927 {0xC3, 0x77, 0x77, 0, 0},
7928 {0xC4, 0x78, 0x78, 0, 0},
7929 {0xC5, 0x79, 0x79, 0, 0},
7930 {0xC6, 0x7a, 0x7a, 0, 0},
7931 {0xC7, 0, 0, 0, 0},
7932 {0xC8, 0, 0, 0, 0},
7933 {0xC9, 0, 0, 0, 0},
7934 {0xCA, 0, 0, 0, 0},
7935 {0xCB, 0, 0, 0, 0},
7936 {0xCC, 0, 0, 0, 0},
7937 {0xCD, 0, 0, 0, 0},
7938 {0xCE, 0x6, 0x6, 0, 0},
7939 {0xCF, 0, 0, 0, 0},
7940 {0xD0, 0, 0, 0, 0},
7941 {0xD1, 0x18, 0x18, 0, 0},
7942 {0xD2, 0x88, 0x88, 0, 0},
7943 {0xD3, 0, 0, 0, 0},
7944 {0xD4, 0, 0, 0, 0},
7945 {0xD5, 0, 0, 0, 0},
7946 {0xD6, 0, 0, 0, 0},
7947 {0xD7, 0, 0, 0, 0},
7948 {0xD8, 0, 0, 0, 0},
7949 {0xD9, 0, 0, 0, 0},
7950 {0xDA, 0x6, 0x6, 0, 0},
7951 {0xDB, 0, 0, 0, 0},
7952 {0xDC, 0, 0, 0, 0},
7953 {0xDD, 0x18, 0x18, 0, 0},
7954 {0xDE, 0x88, 0x88, 0, 0},
7955 {0xDF, 0, 0, 0, 0},
7956 {0xE0, 0, 0, 0, 0},
7957 {0xE1, 0, 0, 0, 0},
7958 {0xE2, 0, 0, 0, 0},
7959 {0xFFFF, 0, 0, 0, 0},
7962 radio_regs_t regs_SYN_2056[] = {
7963 {0x02, 0, 0, 0, 0},
7964 {0x03, 0, 0, 0, 0},
7965 {0x04, 0, 0, 0, 0},
7966 {0x05, 0, 0, 0, 0},
7967 {0x06, 0, 0, 0, 0},
7968 {0x07, 0, 0, 0, 0},
7969 {0x08, 0, 0, 0, 0},
7970 {0x09, 0x1, 0x1, 0, 0},
7971 {0x0A, 0, 0, 0, 0},
7972 {0x0B, 0, 0, 0, 0},
7973 {0x0C, 0, 0, 0, 0},
7974 {0x0D, 0, 0, 0, 0},
7975 {0x0E, 0, 0, 0, 0},
7976 {0x0F, 0, 0, 0, 0},
7977 {0x10, 0, 0, 0, 0},
7978 {0x11, 0, 0, 0, 0},
7979 {0x12, 0, 0, 0, 0},
7980 {0x13, 0, 0, 0, 0},
7981 {0x14, 0, 0, 0, 0},
7982 {0x15, 0, 0, 0, 0},
7983 {0x16, 0, 0, 0, 0},
7984 {0x17, 0, 0, 0, 0},
7985 {0x18, 0, 0, 0, 0},
7986 {0x19, 0, 0, 0, 0},
7987 {0x1A, 0, 0, 0, 0},
7988 {0x1B, 0, 0, 0, 0},
7989 {0x1C, 0, 0, 0, 0},
7990 {0x1D, 0, 0, 0, 0},
7991 {0x1E, 0, 0, 0, 0},
7992 {0x1F, 0, 0, 0, 0},
7993 {0x20, 0, 0, 0, 0},
7994 {0x21, 0, 0, 0, 0},
7995 {0x22, 0x60, 0x60, 0, 0},
7996 {0x23, 0x6, 0x6, 0, 0},
7997 {0x24, 0xc, 0xc, 0, 0},
7998 {0x25, 0, 0, 0, 0},
7999 {0x26, 0, 0, 0, 0},
8000 {0x27, 0, 0, 0, 0},
8001 {0x28, 0x1, 0x1, 0, 0},
8002 {0x29, 0, 0, 0, 0},
8003 {0x2A, 0, 0, 0, 0},
8004 {0x2B, 0, 0, 0, 0},
8005 {0x2C, 0, 0, 0, 0},
8006 {0x2D, 0, 0, 0, 0},
8007 {0x2E, 0xd, 0xd, 0, 0},
8008 {0x2F, 0x1f, 0x1f, 0, 0},
8009 {0x30, 0x15, 0x15, 0, 0},
8010 {0x31, 0xf, 0xf, 0, 0},
8011 {0x32, 0, 0, 0, 0},
8012 {0x33, 0, 0, 0, 0},
8013 {0x34, 0, 0, 0, 0},
8014 {0x35, 0, 0, 0, 0},
8015 {0x36, 0, 0, 0, 0},
8016 {0x37, 0, 0, 0, 0},
8017 {0x38, 0, 0, 0, 0},
8018 {0x39, 0, 0, 0, 0},
8019 {0x3A, 0, 0, 0, 0},
8020 {0x3B, 0, 0, 0, 0},
8021 {0x3C, 0x13, 0x13, 0, 0},
8022 {0x3D, 0xf, 0xf, 0, 0},
8023 {0x3E, 0x18, 0x18, 0, 0},
8024 {0x3F, 0, 0, 0, 0},
8025 {0x40, 0, 0, 0, 0},
8026 {0x41, 0x20, 0x20, 0, 0},
8027 {0x42, 0x20, 0x20, 0, 0},
8028 {0x43, 0, 0, 0, 0},
8029 {0x44, 0x77, 0x77, 0, 0},
8030 {0x45, 0x7, 0x7, 0, 0},
8031 {0x46, 0x1, 0x1, 0, 0},
8032 {0x47, 0x4, 0x4, 0, 0},
8033 {0x48, 0xf, 0xf, 0, 0},
8034 {0x49, 0x30, 0x30, 0, 0},
8035 {0x4A, 0x32, 0x32, 0, 0},
8036 {0x4B, 0xd, 0xd, 0, 0},
8037 {0x4C, 0xd, 0xd, 0, 0},
8038 {0x4D, 0x4, 0x4, 0, 0},
8039 {0x4E, 0x6, 0x6, 0, 0},
8040 {0x4F, 0x1, 0x1, 0, 0},
8041 {0x50, 0x1c, 0x1c, 0, 0},
8042 {0x51, 0x2, 0x2, 0, 0},
8043 {0x52, 0x2, 0x2, 0, 0},
8044 {0x53, 0xf7, 0xf7, 1, 1},
8045 {0x54, 0xb4, 0xb4, 0, 0},
8046 {0x55, 0xd2, 0xd2, 0, 0},
8047 {0x56, 0, 0, 0, 0},
8048 {0x57, 0, 0, 0, 0},
8049 {0x58, 0x4, 0x4, 0, 0},
8050 {0x59, 0x96, 0x96, 0, 0},
8051 {0x5A, 0x3e, 0x3e, 0, 0},
8052 {0x5B, 0x3e, 0x3e, 0, 0},
8053 {0x5C, 0x13, 0x13, 0, 0},
8054 {0x5D, 0x2, 0x2, 0, 0},
8055 {0x5E, 0, 0, 0, 0},
8056 {0x5F, 0x7, 0x7, 0, 0},
8057 {0x60, 0x7, 0x7, 1, 1},
8058 {0x61, 0x8, 0x8, 0, 0},
8059 {0x62, 0x3, 0x3, 0, 0},
8060 {0x63, 0, 0, 0, 0},
8061 {0x64, 0, 0, 0, 0},
8062 {0x65, 0, 0, 0, 0},
8063 {0x66, 0, 0, 0, 0},
8064 {0x67, 0, 0, 0, 0},
8065 {0x68, 0x40, 0x40, 0, 0},
8066 {0x69, 0, 0, 0, 0},
8067 {0x6A, 0, 0, 0, 0},
8068 {0x6B, 0, 0, 0, 0},
8069 {0x6C, 0, 0, 0, 0},
8070 {0x6D, 0x1, 0x1, 0, 0},
8071 {0x6E, 0, 0, 0, 0},
8072 {0x6F, 0, 0, 0, 0},
8073 {0x70, 0x60, 0x60, 0, 0},
8074 {0x71, 0x66, 0x66, 0, 0},
8075 {0x72, 0xc, 0xc, 0, 0},
8076 {0x73, 0x66, 0x66, 0, 0},
8077 {0x74, 0x8f, 0x8f, 1, 1},
8078 {0x75, 0, 0, 0, 0},
8079 {0x76, 0xcc, 0xcc, 0, 0},
8080 {0x77, 0x1, 0x1, 0, 0},
8081 {0x78, 0x66, 0x66, 0, 0},
8082 {0x79, 0x66, 0x66, 0, 0},
8083 {0x7A, 0, 0, 0, 0},
8084 {0x7B, 0, 0, 0, 0},
8085 {0x7C, 0, 0, 0, 0},
8086 {0x7D, 0, 0, 0, 0},
8087 {0x7E, 0, 0, 0, 0},
8088 {0x7F, 0, 0, 0, 0},
8089 {0x80, 0, 0, 0, 0},
8090 {0x81, 0, 0, 0, 0},
8091 {0x82, 0, 0, 0, 0},
8092 {0x83, 0, 0, 0, 0},
8093 {0x84, 0, 0, 0, 0},
8094 {0x85, 0xff, 0xff, 0, 0},
8095 {0x86, 0, 0, 0, 0},
8096 {0x87, 0, 0, 0, 0},
8097 {0x88, 0, 0, 0, 0},
8098 {0x89, 0, 0, 0, 0},
8099 {0x8A, 0, 0, 0, 0},
8100 {0x8B, 0, 0, 0, 0},
8101 {0x8C, 0, 0, 0, 0},
8102 {0x8D, 0, 0, 0, 0},
8103 {0x8E, 0, 0, 0, 0},
8104 {0x8F, 0, 0, 0, 0},
8105 {0x90, 0, 0, 0, 0},
8106 {0x91, 0, 0, 0, 0},
8107 {0x92, 0, 0, 0, 0},
8108 {0x93, 0, 0, 0, 0},
8109 {0x94, 0, 0, 0, 0},
8110 {0x95, 0, 0, 0, 0},
8111 {0x96, 0, 0, 0, 0},
8112 {0x97, 0, 0, 0, 0},
8113 {0x98, 0, 0, 0, 0},
8114 {0x99, 0, 0, 0, 0},
8115 {0x9A, 0, 0, 0, 0},
8116 {0x9B, 0, 0, 0, 0},
8117 {0x9C, 0, 0, 0, 0},
8118 {0x9D, 0, 0, 0, 0},
8119 {0x9E, 0, 0, 0, 0},
8120 {0x9F, 0x6, 0x6, 0, 0},
8121 {0xA0, 0x66, 0x66, 0, 0},
8122 {0xA1, 0x66, 0x66, 0, 0},
8123 {0xA2, 0x66, 0x66, 0, 0},
8124 {0xA3, 0x66, 0x66, 0, 0},
8125 {0xA4, 0x66, 0x66, 0, 0},
8126 {0xA5, 0x66, 0x66, 0, 0},
8127 {0xA6, 0x66, 0x66, 0, 0},
8128 {0xA7, 0x66, 0x66, 0, 0},
8129 {0xA8, 0x66, 0x66, 0, 0},
8130 {0xA9, 0x66, 0x66, 0, 0},
8131 {0xAA, 0x66, 0x66, 0, 0},
8132 {0xAB, 0x66, 0x66, 0, 0},
8133 {0xAC, 0x66, 0x66, 0, 0},
8134 {0xAD, 0x66, 0x66, 0, 0},
8135 {0xAE, 0x66, 0x66, 0, 0},
8136 {0xAF, 0x66, 0x66, 0, 0},
8137 {0xB0, 0x66, 0x66, 0, 0},
8138 {0xB1, 0x66, 0x66, 0, 0},
8139 {0xB2, 0x66, 0x66, 0, 0},
8140 {0xB3, 0xa, 0xa, 0, 0},
8141 {0xB4, 0, 0, 0, 0},
8142 {0xB5, 0, 0, 0, 0},
8143 {0xB6, 0, 0, 0, 0},
8144 {0xFFFF, 0, 0, 0, 0}
8147 radio_regs_t regs_TX_2056[] = {
8148 {0x02, 0, 0, 0, 0},
8149 {0x03, 0, 0, 0, 0},
8150 {0x04, 0, 0, 0, 0},
8151 {0x05, 0, 0, 0, 0},
8152 {0x06, 0, 0, 0, 0},
8153 {0x07, 0, 0, 0, 0},
8154 {0x08, 0, 0, 0, 0},
8155 {0x09, 0, 0, 0, 0},
8156 {0x0A, 0, 0, 0, 0},
8157 {0x0B, 0, 0, 0, 0},
8158 {0x0C, 0, 0, 0, 0},
8159 {0x0D, 0, 0, 0, 0},
8160 {0x0E, 0, 0, 0, 0},
8161 {0x0F, 0, 0, 0, 0},
8162 {0x10, 0, 0, 0, 0},
8163 {0x11, 0, 0, 0, 0},
8164 {0x12, 0, 0, 0, 0},
8165 {0x13, 0, 0, 0, 0},
8166 {0x14, 0, 0, 0, 0},
8167 {0x15, 0, 0, 0, 0},
8168 {0x16, 0, 0, 0, 0},
8169 {0x17, 0, 0, 0, 0},
8170 {0x18, 0, 0, 0, 0},
8171 {0x19, 0, 0, 0, 0},
8172 {0x1A, 0, 0, 0, 0},
8173 {0x1B, 0, 0, 0, 0},
8174 {0x1C, 0, 0, 0, 0},
8175 {0x1D, 0, 0, 0, 0},
8176 {0x1E, 0, 0, 0, 0},
8177 {0x1F, 0, 0, 0, 0},
8178 {0x20, 0, 0, 0, 0},
8179 {0x21, 0x88, 0x88, 0, 0},
8180 {0x22, 0x88, 0x88, 0, 0},
8181 {0x23, 0x88, 0x88, 0, 0},
8182 {0x24, 0x88, 0x88, 0, 0},
8183 {0x25, 0xc, 0xc, 0, 0},
8184 {0x26, 0, 0, 0, 0},
8185 {0x27, 0x3, 0x3, 0, 0},
8186 {0x28, 0, 0, 0, 0},
8187 {0x29, 0x3, 0x3, 0, 0},
8188 {0x2A, 0x37, 0x37, 0, 0},
8189 {0x2B, 0x3, 0x3, 0, 0},
8190 {0x2C, 0, 0, 0, 0},
8191 {0x2D, 0, 0, 0, 0},
8192 {0x2E, 0x1, 0x1, 0, 0},
8193 {0x2F, 0x1, 0x1, 0, 0},
8194 {0x30, 0, 0, 0, 0},
8195 {0x31, 0, 0, 0, 0},
8196 {0x32, 0, 0, 0, 0},
8197 {0x33, 0x11, 0x11, 0, 0},
8198 {0x34, 0x11, 0x11, 0, 0},
8199 {0x35, 0, 0, 0, 0},
8200 {0x36, 0, 0, 0, 0},
8201 {0x37, 0x3, 0x3, 0, 0},
8202 {0x38, 0xf, 0xf, 0, 0},
8203 {0x39, 0, 0, 0, 0},
8204 {0x3A, 0x2d, 0x2d, 0, 0},
8205 {0x3B, 0, 0, 0, 0},
8206 {0x3C, 0x6e, 0x6e, 0, 0},
8207 {0x3D, 0xf0, 0xf0, 1, 1},
8208 {0x3E, 0, 0, 0, 0},
8209 {0x3F, 0, 0, 0, 0},
8210 {0x40, 0, 0, 0, 0},
8211 {0x41, 0x3, 0x3, 0, 0},
8212 {0x42, 0x3, 0x3, 0, 0},
8213 {0x43, 0, 0, 0, 0},
8214 {0x44, 0x1e, 0x1e, 0, 0},
8215 {0x45, 0, 0, 0, 0},
8216 {0x46, 0x6e, 0x6e, 0, 0},
8217 {0x47, 0xf0, 0xf0, 1, 1},
8218 {0x48, 0, 0, 0, 0},
8219 {0x49, 0x2, 0x2, 0, 0},
8220 {0x4A, 0xff, 0xff, 1, 1},
8221 {0x4B, 0xc, 0xc, 0, 0},
8222 {0x4C, 0, 0, 0, 0},
8223 {0x4D, 0x38, 0x38, 0, 0},
8224 {0x4E, 0x70, 0x70, 1, 1},
8225 {0x4F, 0x2, 0x2, 0, 0},
8226 {0x50, 0x88, 0x88, 0, 0},
8227 {0x51, 0xc, 0xc, 0, 0},
8228 {0x52, 0, 0, 0, 0},
8229 {0x53, 0x8, 0x8, 0, 0},
8230 {0x54, 0x70, 0x70, 1, 1},
8231 {0x55, 0x2, 0x2, 0, 0},
8232 {0x56, 0xff, 0xff, 1, 1},
8233 {0x57, 0, 0, 0, 0},
8234 {0x58, 0x83, 0x83, 0, 0},
8235 {0x59, 0x77, 0x77, 1, 1},
8236 {0x5A, 0, 0, 0, 0},
8237 {0x5B, 0x2, 0x2, 0, 0},
8238 {0x5C, 0x88, 0x88, 0, 0},
8239 {0x5D, 0, 0, 0, 0},
8240 {0x5E, 0x8, 0x8, 0, 0},
8241 {0x5F, 0x77, 0x77, 1, 1},
8242 {0x60, 0x1, 0x1, 0, 0},
8243 {0x61, 0, 0, 0, 0},
8244 {0x62, 0x7, 0x7, 0, 0},
8245 {0x63, 0, 0, 0, 0},
8246 {0x64, 0x7, 0x7, 0, 0},
8247 {0x65, 0, 0, 0, 0},
8248 {0x66, 0, 0, 0, 0},
8249 {0x67, 0x74, 0x74, 1, 1},
8250 {0x68, 0, 0, 0, 0},
8251 {0x69, 0xa, 0xa, 0, 0},
8252 {0x6A, 0, 0, 0, 0},
8253 {0x6B, 0, 0, 0, 0},
8254 {0x6C, 0, 0, 0, 0},
8255 {0x6D, 0, 0, 0, 0},
8256 {0x6E, 0, 0, 0, 0},
8257 {0x6F, 0, 0, 0, 0},
8258 {0x70, 0, 0, 0, 0},
8259 {0x71, 0x2, 0x2, 0, 0},
8260 {0x72, 0, 0, 0, 0},
8261 {0x73, 0, 0, 0, 0},
8262 {0x74, 0xe, 0xe, 0, 0},
8263 {0x75, 0xe, 0xe, 0, 0},
8264 {0x76, 0xe, 0xe, 0, 0},
8265 {0x77, 0x13, 0x13, 0, 0},
8266 {0x78, 0x13, 0x13, 0, 0},
8267 {0x79, 0x1b, 0x1b, 0, 0},
8268 {0x7A, 0x1b, 0x1b, 0, 0},
8269 {0x7B, 0x55, 0x55, 0, 0},
8270 {0x7C, 0x5b, 0x5b, 0, 0},
8271 {0x7D, 0, 0, 0, 0},
8272 {0x7E, 0, 0, 0, 0},
8273 {0x7F, 0, 0, 0, 0},
8274 {0x80, 0, 0, 0, 0},
8275 {0x81, 0, 0, 0, 0},
8276 {0x82, 0, 0, 0, 0},
8277 {0x83, 0, 0, 0, 0},
8278 {0x84, 0, 0, 0, 0},
8279 {0x85, 0, 0, 0, 0},
8280 {0x86, 0, 0, 0, 0},
8281 {0x87, 0, 0, 0, 0},
8282 {0x88, 0, 0, 0, 0},
8283 {0x89, 0, 0, 0, 0},
8284 {0x8A, 0, 0, 0, 0},
8285 {0x8B, 0, 0, 0, 0},
8286 {0x8C, 0, 0, 0, 0},
8287 {0x8D, 0, 0, 0, 0},
8288 {0x8E, 0, 0, 0, 0},
8289 {0x8F, 0, 0, 0, 0},
8290 {0x90, 0, 0, 0, 0},
8291 {0x91, 0, 0, 0, 0},
8292 {0x92, 0, 0, 0, 0},
8293 {0xFFFF, 0, 0, 0, 0}
8296 radio_regs_t regs_RX_2056[] = {
8297 {0x02, 0, 0, 0, 0},
8298 {0x03, 0, 0, 0, 0},
8299 {0x04, 0, 0, 0, 0},
8300 {0x05, 0, 0, 0, 0},
8301 {0x06, 0, 0, 0, 0},
8302 {0x07, 0, 0, 0, 0},
8303 {0x08, 0, 0, 0, 0},
8304 {0x09, 0, 0, 0, 0},
8305 {0x0A, 0, 0, 0, 0},
8306 {0x0B, 0, 0, 0, 0},
8307 {0x0C, 0, 0, 0, 0},
8308 {0x0D, 0, 0, 0, 0},
8309 {0x0E, 0, 0, 0, 0},
8310 {0x0F, 0, 0, 0, 0},
8311 {0x10, 0, 0, 0, 0},
8312 {0x11, 0, 0, 0, 0},
8313 {0x12, 0, 0, 0, 0},
8314 {0x13, 0, 0, 0, 0},
8315 {0x14, 0, 0, 0, 0},
8316 {0x15, 0, 0, 0, 0},
8317 {0x16, 0, 0, 0, 0},
8318 {0x17, 0, 0, 0, 0},
8319 {0x18, 0, 0, 0, 0},
8320 {0x19, 0, 0, 0, 0},
8321 {0x1A, 0, 0, 0, 0},
8322 {0x1B, 0, 0, 0, 0},
8323 {0x1C, 0, 0, 0, 0},
8324 {0x1D, 0, 0, 0, 0},
8325 {0x1E, 0, 0, 0, 0},
8326 {0x1F, 0, 0, 0, 0},
8327 {0x20, 0x3, 0x3, 0, 0},
8328 {0x21, 0, 0, 0, 0},
8329 {0x22, 0, 0, 0, 0},
8330 {0x23, 0x90, 0x90, 0, 0},
8331 {0x24, 0x55, 0x55, 0, 0},
8332 {0x25, 0x15, 0x15, 0, 0},
8333 {0x26, 0x5, 0x5, 0, 0},
8334 {0x27, 0x15, 0x15, 0, 0},
8335 {0x28, 0x5, 0x5, 0, 0},
8336 {0x29, 0x20, 0x20, 0, 0},
8337 {0x2A, 0x11, 0x11, 0, 0},
8338 {0x2B, 0x90, 0x90, 0, 0},
8339 {0x2C, 0, 0, 0, 0},
8340 {0x2D, 0x88, 0x88, 0, 0},
8341 {0x2E, 0x32, 0x32, 0, 0},
8342 {0x2F, 0x77, 0x77, 0, 0},
8343 {0x30, 0x17, 0x17, 1, 1},
8344 {0x31, 0xff, 0xff, 1, 1},
8345 {0x32, 0x20, 0x20, 0, 0},
8346 {0x33, 0, 0, 0, 0},
8347 {0x34, 0x88, 0x88, 0, 0},
8348 {0x35, 0x32, 0x32, 0, 0},
8349 {0x36, 0x77, 0x77, 0, 0},
8350 {0x37, 0x17, 0x17, 1, 1},
8351 {0x38, 0xf0, 0xf0, 1, 1},
8352 {0x39, 0x20, 0x20, 0, 0},
8353 {0x3A, 0x8, 0x8, 0, 0},
8354 {0x3B, 0x99, 0x99, 0, 0},
8355 {0x3C, 0, 0, 0, 0},
8356 {0x3D, 0x44, 0x44, 1, 1},
8357 {0x3E, 0, 0, 0, 0},
8358 {0x3F, 0x44, 0x44, 0, 0},
8359 {0x40, 0xf, 0xf, 1, 1},
8360 {0x41, 0x6, 0x6, 0, 0},
8361 {0x42, 0x4, 0x4, 0, 0},
8362 {0x43, 0x50, 0x50, 1, 1},
8363 {0x44, 0x8, 0x8, 0, 0},
8364 {0x45, 0x99, 0x99, 0, 0},
8365 {0x46, 0, 0, 0, 0},
8366 {0x47, 0x11, 0x11, 0, 0},
8367 {0x48, 0, 0, 0, 0},
8368 {0x49, 0x44, 0x44, 0, 0},
8369 {0x4A, 0x7, 0x7, 0, 0},
8370 {0x4B, 0x6, 0x6, 0, 0},
8371 {0x4C, 0x4, 0x4, 0, 0},
8372 {0x4D, 0, 0, 0, 0},
8373 {0x4E, 0, 0, 0, 0},
8374 {0x4F, 0x66, 0x66, 0, 0},
8375 {0x50, 0x66, 0x66, 0, 0},
8376 {0x51, 0x57, 0x57, 0, 0},
8377 {0x52, 0x57, 0x57, 0, 0},
8378 {0x53, 0x44, 0x44, 0, 0},
8379 {0x54, 0, 0, 0, 0},
8380 {0x55, 0, 0, 0, 0},
8381 {0x56, 0x8, 0x8, 0, 0},
8382 {0x57, 0x8, 0x8, 0, 0},
8383 {0x58, 0x7, 0x7, 0, 0},
8384 {0x59, 0x22, 0x22, 0, 0},
8385 {0x5A, 0x22, 0x22, 0, 0},
8386 {0x5B, 0x2, 0x2, 0, 0},
8387 {0x5C, 0x23, 0x23, 0, 0},
8388 {0x5D, 0x7, 0x7, 0, 0},
8389 {0x5E, 0x55, 0x55, 0, 0},
8390 {0x5F, 0x23, 0x23, 0, 0},
8391 {0x60, 0x41, 0x41, 0, 0},
8392 {0x61, 0x1, 0x1, 0, 0},
8393 {0x62, 0xa, 0xa, 0, 0},
8394 {0x63, 0, 0, 0, 0},
8395 {0x64, 0, 0, 0, 0},
8396 {0x65, 0, 0, 0, 0},
8397 {0x66, 0, 0, 0, 0},
8398 {0x67, 0, 0, 0, 0},
8399 {0x68, 0, 0, 0, 0},
8400 {0x69, 0, 0, 0, 0},
8401 {0x6A, 0, 0, 0, 0},
8402 {0x6B, 0xc, 0xc, 0, 0},
8403 {0x6C, 0, 0, 0, 0},
8404 {0x6D, 0, 0, 0, 0},
8405 {0x6E, 0, 0, 0, 0},
8406 {0x6F, 0, 0, 0, 0},
8407 {0x70, 0, 0, 0, 0},
8408 {0x71, 0, 0, 0, 0},
8409 {0x72, 0x22, 0x22, 0, 0},
8410 {0x73, 0x22, 0x22, 0, 0},
8411 {0x74, 0x2, 0x2, 0, 0},
8412 {0x75, 0xa, 0xa, 0, 0},
8413 {0x76, 0x1, 0x1, 0, 0},
8414 {0x77, 0x22, 0x22, 0, 0},
8415 {0x78, 0x30, 0x30, 0, 0},
8416 {0x79, 0, 0, 0, 0},
8417 {0x7A, 0, 0, 0, 0},
8418 {0x7B, 0, 0, 0, 0},
8419 {0x7C, 0, 0, 0, 0},
8420 {0x7D, 0, 0, 0, 0},
8421 {0x7E, 0, 0, 0, 0},
8422 {0x7F, 0, 0, 0, 0},
8423 {0x80, 0, 0, 0, 0},
8424 {0x81, 0, 0, 0, 0},
8425 {0x82, 0, 0, 0, 0},
8426 {0x83, 0, 0, 0, 0},
8427 {0x84, 0, 0, 0, 0},
8428 {0x85, 0, 0, 0, 0},
8429 {0x86, 0, 0, 0, 0},
8430 {0x87, 0, 0, 0, 0},
8431 {0x88, 0, 0, 0, 0},
8432 {0x89, 0, 0, 0, 0},
8433 {0x8A, 0, 0, 0, 0},
8434 {0x8B, 0, 0, 0, 0},
8435 {0x8C, 0, 0, 0, 0},
8436 {0x8D, 0, 0, 0, 0},
8437 {0x8E, 0, 0, 0, 0},
8438 {0x8F, 0, 0, 0, 0},
8439 {0x90, 0, 0, 0, 0},
8440 {0x91, 0, 0, 0, 0},
8441 {0x92, 0, 0, 0, 0},
8442 {0x93, 0, 0, 0, 0},
8443 {0x94, 0, 0, 0, 0},
8444 {0xFFFF, 0, 0, 0, 0}
8447 radio_regs_t regs_SYN_2056_A1[] = {
8448 {0x02, 0, 0, 0, 0},
8449 {0x03, 0, 0, 0, 0},
8450 {0x04, 0, 0, 0, 0},
8451 {0x05, 0, 0, 0, 0},
8452 {0x06, 0, 0, 0, 0},
8453 {0x07, 0, 0, 0, 0},
8454 {0x08, 0, 0, 0, 0},
8455 {0x09, 0x1, 0x1, 0, 0},
8456 {0x0A, 0, 0, 0, 0},
8457 {0x0B, 0, 0, 0, 0},
8458 {0x0C, 0, 0, 0, 0},
8459 {0x0D, 0, 0, 0, 0},
8460 {0x0E, 0, 0, 0, 0},
8461 {0x0F, 0, 0, 0, 0},
8462 {0x10, 0, 0, 0, 0},
8463 {0x11, 0, 0, 0, 0},
8464 {0x12, 0, 0, 0, 0},
8465 {0x13, 0, 0, 0, 0},
8466 {0x14, 0, 0, 0, 0},
8467 {0x15, 0, 0, 0, 0},
8468 {0x16, 0, 0, 0, 0},
8469 {0x17, 0, 0, 0, 0},
8470 {0x18, 0, 0, 0, 0},
8471 {0x19, 0, 0, 0, 0},
8472 {0x1A, 0, 0, 0, 0},
8473 {0x1B, 0, 0, 0, 0},
8474 {0x1C, 0, 0, 0, 0},
8475 {0x1D, 0, 0, 0, 0},
8476 {0x1E, 0, 0, 0, 0},
8477 {0x1F, 0, 0, 0, 0},
8478 {0x20, 0, 0, 0, 0},
8479 {0x21, 0, 0, 0, 0},
8480 {0x22, 0x60, 0x60, 0, 0},
8481 {0x23, 0x6, 0x6, 0, 0},
8482 {0x24, 0xc, 0xc, 0, 0},
8483 {0x25, 0, 0, 0, 0},
8484 {0x26, 0, 0, 0, 0},
8485 {0x27, 0, 0, 0, 0},
8486 {0x28, 0x1, 0x1, 0, 0},
8487 {0x29, 0, 0, 0, 0},
8488 {0x2A, 0, 0, 0, 0},
8489 {0x2B, 0, 0, 0, 0},
8490 {0x2C, 0, 0, 0, 0},
8491 {0x2D, 0, 0, 0, 0},
8492 {0x2E, 0xd, 0xd, 0, 0},
8493 {0x2F, 0x1f, 0x1f, 0, 0},
8494 {0x30, 0x15, 0x15, 0, 0},
8495 {0x31, 0xf, 0xf, 0, 0},
8496 {0x32, 0, 0, 0, 0},
8497 {0x33, 0, 0, 0, 0},
8498 {0x34, 0, 0, 0, 0},
8499 {0x35, 0, 0, 0, 0},
8500 {0x36, 0, 0, 0, 0},
8501 {0x37, 0, 0, 0, 0},
8502 {0x38, 0, 0, 0, 0},
8503 {0x39, 0, 0, 0, 0},
8504 {0x3A, 0, 0, 0, 0},
8505 {0x3B, 0, 0, 0, 0},
8506 {0x3C, 0x13, 0x13, 0, 0},
8507 {0x3D, 0xf, 0xf, 0, 0},
8508 {0x3E, 0x18, 0x18, 0, 0},
8509 {0x3F, 0, 0, 0, 0},
8510 {0x40, 0, 0, 0, 0},
8511 {0x41, 0x20, 0x20, 0, 0},
8512 {0x42, 0x20, 0x20, 0, 0},
8513 {0x43, 0, 0, 0, 0},
8514 {0x44, 0x77, 0x77, 0, 0},
8515 {0x45, 0x7, 0x7, 0, 0},
8516 {0x46, 0x1, 0x1, 0, 0},
8517 {0x47, 0x4, 0x4, 0, 0},
8518 {0x48, 0xf, 0xf, 0, 0},
8519 {0x49, 0x30, 0x30, 0, 0},
8520 {0x4A, 0x32, 0x32, 0, 0},
8521 {0x4B, 0xd, 0xd, 0, 0},
8522 {0x4C, 0xd, 0xd, 0, 0},
8523 {0x4D, 0x4, 0x4, 0, 0},
8524 {0x4E, 0x6, 0x6, 0, 0},
8525 {0x4F, 0x1, 0x1, 0, 0},
8526 {0x50, 0x1c, 0x1c, 0, 0},
8527 {0x51, 0x2, 0x2, 0, 0},
8528 {0x52, 0x2, 0x2, 0, 0},
8529 {0x53, 0xf7, 0xf7, 1, 1},
8530 {0x54, 0xb4, 0xb4, 0, 0},
8531 {0x55, 0xd2, 0xd2, 0, 0},
8532 {0x56, 0, 0, 0, 0},
8533 {0x57, 0, 0, 0, 0},
8534 {0x58, 0x4, 0x4, 0, 0},
8535 {0x59, 0x96, 0x96, 0, 0},
8536 {0x5A, 0x3e, 0x3e, 0, 0},
8537 {0x5B, 0x3e, 0x3e, 0, 0},
8538 {0x5C, 0x13, 0x13, 0, 0},
8539 {0x5D, 0x2, 0x2, 0, 0},
8540 {0x5E, 0, 0, 0, 0},
8541 {0x5F, 0x7, 0x7, 0, 0},
8542 {0x60, 0x7, 0x7, 1, 1},
8543 {0x61, 0x8, 0x8, 0, 0},
8544 {0x62, 0x3, 0x3, 0, 0},
8545 {0x63, 0, 0, 0, 0},
8546 {0x64, 0, 0, 0, 0},
8547 {0x65, 0, 0, 0, 0},
8548 {0x66, 0, 0, 0, 0},
8549 {0x67, 0, 0, 0, 0},
8550 {0x68, 0x40, 0x40, 0, 0},
8551 {0x69, 0, 0, 0, 0},
8552 {0x6A, 0, 0, 0, 0},
8553 {0x6B, 0, 0, 0, 0},
8554 {0x6C, 0, 0, 0, 0},
8555 {0x6D, 0x1, 0x1, 0, 0},
8556 {0x6E, 0, 0, 0, 0},
8557 {0x6F, 0, 0, 0, 0},
8558 {0x70, 0x60, 0x60, 0, 0},
8559 {0x71, 0x66, 0x66, 0, 0},
8560 {0x72, 0xc, 0xc, 0, 0},
8561 {0x73, 0x66, 0x66, 0, 0},
8562 {0x74, 0x8f, 0x8f, 1, 1},
8563 {0x75, 0, 0, 0, 0},
8564 {0x76, 0xcc, 0xcc, 0, 0},
8565 {0x77, 0x1, 0x1, 0, 0},
8566 {0x78, 0x66, 0x66, 0, 0},
8567 {0x79, 0x66, 0x66, 0, 0},
8568 {0x7A, 0, 0, 0, 0},
8569 {0x7B, 0, 0, 0, 0},
8570 {0x7C, 0, 0, 0, 0},
8571 {0x7D, 0, 0, 0, 0},
8572 {0x7E, 0, 0, 0, 0},
8573 {0x7F, 0, 0, 0, 0},
8574 {0x80, 0, 0, 0, 0},
8575 {0x81, 0, 0, 0, 0},
8576 {0x82, 0, 0, 0, 0},
8577 {0x83, 0, 0, 0, 0},
8578 {0x84, 0, 0, 0, 0},
8579 {0x85, 0xff, 0xff, 0, 0},
8580 {0x86, 0, 0, 0, 0},
8581 {0x87, 0, 0, 0, 0},
8582 {0x88, 0, 0, 0, 0},
8583 {0x89, 0, 0, 0, 0},
8584 {0x8A, 0, 0, 0, 0},
8585 {0x8B, 0, 0, 0, 0},
8586 {0x8C, 0, 0, 0, 0},
8587 {0x8D, 0, 0, 0, 0},
8588 {0x8E, 0, 0, 0, 0},
8589 {0x8F, 0, 0, 0, 0},
8590 {0x90, 0, 0, 0, 0},
8591 {0x91, 0, 0, 0, 0},
8592 {0x92, 0, 0, 0, 0},
8593 {0x93, 0, 0, 0, 0},
8594 {0x94, 0, 0, 0, 0},
8595 {0x95, 0, 0, 0, 0},
8596 {0x96, 0, 0, 0, 0},
8597 {0x97, 0, 0, 0, 0},
8598 {0x98, 0, 0, 0, 0},
8599 {0x99, 0, 0, 0, 0},
8600 {0x9A, 0, 0, 0, 0},
8601 {0x9B, 0, 0, 0, 0},
8602 {0x9C, 0, 0, 0, 0},
8603 {0x9D, 0, 0, 0, 0},
8604 {0x9E, 0, 0, 0, 0},
8605 {0x9F, 0x6, 0x6, 0, 0},
8606 {0xA0, 0x66, 0x66, 0, 0},
8607 {0xA1, 0x66, 0x66, 0, 0},
8608 {0xA2, 0x66, 0x66, 0, 0},
8609 {0xA3, 0x66, 0x66, 0, 0},
8610 {0xA4, 0x66, 0x66, 0, 0},
8611 {0xA5, 0x66, 0x66, 0, 0},
8612 {0xA6, 0x66, 0x66, 0, 0},
8613 {0xA7, 0x66, 0x66, 0, 0},
8614 {0xA8, 0x66, 0x66, 0, 0},
8615 {0xA9, 0x66, 0x66, 0, 0},
8616 {0xAA, 0x66, 0x66, 0, 0},
8617 {0xAB, 0x66, 0x66, 0, 0},
8618 {0xAC, 0x66, 0x66, 0, 0},
8619 {0xAD, 0x66, 0x66, 0, 0},
8620 {0xAE, 0x66, 0x66, 0, 0},
8621 {0xAF, 0x66, 0x66, 0, 0},
8622 {0xB0, 0x66, 0x66, 0, 0},
8623 {0xB1, 0x66, 0x66, 0, 0},
8624 {0xB2, 0x66, 0x66, 0, 0},
8625 {0xB3, 0xa, 0xa, 0, 0},
8626 {0xB4, 0, 0, 0, 0},
8627 {0xB5, 0, 0, 0, 0},
8628 {0xB6, 0, 0, 0, 0},
8629 {0xFFFF, 0, 0, 0, 0}
8632 radio_regs_t regs_TX_2056_A1[] = {
8633 {0x02, 0, 0, 0, 0},
8634 {0x03, 0, 0, 0, 0},
8635 {0x04, 0, 0, 0, 0},
8636 {0x05, 0, 0, 0, 0},
8637 {0x06, 0, 0, 0, 0},
8638 {0x07, 0, 0, 0, 0},
8639 {0x08, 0, 0, 0, 0},
8640 {0x09, 0, 0, 0, 0},
8641 {0x0A, 0, 0, 0, 0},
8642 {0x0B, 0, 0, 0, 0},
8643 {0x0C, 0, 0, 0, 0},
8644 {0x0D, 0, 0, 0, 0},
8645 {0x0E, 0, 0, 0, 0},
8646 {0x0F, 0, 0, 0, 0},
8647 {0x10, 0, 0, 0, 0},
8648 {0x11, 0, 0, 0, 0},
8649 {0x12, 0, 0, 0, 0},
8650 {0x13, 0, 0, 0, 0},
8651 {0x14, 0, 0, 0, 0},
8652 {0x15, 0, 0, 0, 0},
8653 {0x16, 0, 0, 0, 0},
8654 {0x17, 0, 0, 0, 0},
8655 {0x18, 0, 0, 0, 0},
8656 {0x19, 0, 0, 0, 0},
8657 {0x1A, 0, 0, 0, 0},
8658 {0x1B, 0, 0, 0, 0},
8659 {0x1C, 0, 0, 0, 0},
8660 {0x1D, 0, 0, 0, 0},
8661 {0x1E, 0, 0, 0, 0},
8662 {0x1F, 0, 0, 0, 0},
8663 {0x20, 0, 0, 0, 0},
8664 {0x21, 0x88, 0x88, 0, 0},
8665 {0x22, 0x88, 0x88, 0, 0},
8666 {0x23, 0x88, 0x88, 0, 0},
8667 {0x24, 0x88, 0x88, 0, 0},
8668 {0x25, 0xc, 0xc, 0, 0},
8669 {0x26, 0, 0, 0, 0},
8670 {0x27, 0x3, 0x3, 0, 0},
8671 {0x28, 0, 0, 0, 0},
8672 {0x29, 0x3, 0x3, 0, 0},
8673 {0x2A, 0x37, 0x37, 0, 0},
8674 {0x2B, 0x3, 0x3, 0, 0},
8675 {0x2C, 0, 0, 0, 0},
8676 {0x2D, 0, 0, 0, 0},
8677 {0x2E, 0x1, 0x1, 0, 0},
8678 {0x2F, 0x1, 0x1, 0, 0},
8679 {0x30, 0, 0, 0, 0},
8680 {0x31, 0, 0, 0, 0},
8681 {0x32, 0, 0, 0, 0},
8682 {0x33, 0x11, 0x11, 0, 0},
8683 {0x34, 0x11, 0x11, 0, 0},
8684 {0x35, 0, 0, 0, 0},
8685 {0x36, 0, 0, 0, 0},
8686 {0x37, 0x3, 0x3, 0, 0},
8687 {0x38, 0xf, 0xf, 0, 0},
8688 {0x39, 0, 0, 0, 0},
8689 {0x3A, 0x2d, 0x2d, 0, 0},
8690 {0x3B, 0, 0, 0, 0},
8691 {0x3C, 0x6e, 0x6e, 0, 0},
8692 {0x3D, 0xf0, 0xf0, 1, 1},
8693 {0x3E, 0, 0, 0, 0},
8694 {0x3F, 0, 0, 0, 0},
8695 {0x40, 0, 0, 0, 0},
8696 {0x41, 0x3, 0x3, 0, 0},
8697 {0x42, 0x3, 0x3, 0, 0},
8698 {0x43, 0, 0, 0, 0},
8699 {0x44, 0x1e, 0x1e, 0, 0},
8700 {0x45, 0, 0, 0, 0},
8701 {0x46, 0x6e, 0x6e, 0, 0},
8702 {0x47, 0xf0, 0xf0, 1, 1},
8703 {0x48, 0, 0, 0, 0},
8704 {0x49, 0x2, 0x2, 0, 0},
8705 {0x4A, 0xff, 0xff, 1, 1},
8706 {0x4B, 0xc, 0xc, 0, 0},
8707 {0x4C, 0, 0, 0, 0},
8708 {0x4D, 0x38, 0x38, 0, 0},
8709 {0x4E, 0x70, 0x70, 1, 1},
8710 {0x4F, 0x2, 0x2, 0, 0},
8711 {0x50, 0x88, 0x88, 0, 0},
8712 {0x51, 0xc, 0xc, 0, 0},
8713 {0x52, 0, 0, 0, 0},
8714 {0x53, 0x8, 0x8, 0, 0},
8715 {0x54, 0x70, 0x70, 1, 1},
8716 {0x55, 0x2, 0x2, 0, 0},
8717 {0x56, 0xff, 0xff, 1, 1},
8718 {0x57, 0, 0, 0, 0},
8719 {0x58, 0x83, 0x83, 0, 0},
8720 {0x59, 0x77, 0x77, 1, 1},
8721 {0x5A, 0, 0, 0, 0},
8722 {0x5B, 0x2, 0x2, 0, 0},
8723 {0x5C, 0x88, 0x88, 0, 0},
8724 {0x5D, 0, 0, 0, 0},
8725 {0x5E, 0x8, 0x8, 0, 0},
8726 {0x5F, 0x77, 0x77, 1, 1},
8727 {0x60, 0x1, 0x1, 0, 0},
8728 {0x61, 0, 0, 0, 0},
8729 {0x62, 0x7, 0x7, 0, 0},
8730 {0x63, 0, 0, 0, 0},
8731 {0x64, 0x7, 0x7, 0, 0},
8732 {0x65, 0, 0, 0, 0},
8733 {0x66, 0, 0, 0, 0},
8734 {0x67, 0x72, 0x72, 1, 1},
8735 {0x68, 0, 0, 0, 0},
8736 {0x69, 0xa, 0xa, 0, 0},
8737 {0x6A, 0, 0, 0, 0},
8738 {0x6B, 0, 0, 0, 0},
8739 {0x6C, 0, 0, 0, 0},
8740 {0x6D, 0, 0, 0, 0},
8741 {0x6E, 0, 0, 0, 0},
8742 {0x6F, 0, 0, 0, 0},
8743 {0x70, 0, 0, 0, 0},
8744 {0x71, 0x2, 0x2, 0, 0},
8745 {0x72, 0, 0, 0, 0},
8746 {0x73, 0, 0, 0, 0},
8747 {0x74, 0xe, 0xe, 0, 0},
8748 {0x75, 0xe, 0xe, 0, 0},
8749 {0x76, 0xe, 0xe, 0, 0},
8750 {0x77, 0x13, 0x13, 0, 0},
8751 {0x78, 0x13, 0x13, 0, 0},
8752 {0x79, 0x1b, 0x1b, 0, 0},
8753 {0x7A, 0x1b, 0x1b, 0, 0},
8754 {0x7B, 0x55, 0x55, 0, 0},
8755 {0x7C, 0x5b, 0x5b, 0, 0},
8756 {0x7D, 0, 0, 0, 0},
8757 {0x7E, 0, 0, 0, 0},
8758 {0x7F, 0, 0, 0, 0},
8759 {0x80, 0, 0, 0, 0},
8760 {0x81, 0, 0, 0, 0},
8761 {0x82, 0, 0, 0, 0},
8762 {0x83, 0, 0, 0, 0},
8763 {0x84, 0, 0, 0, 0},
8764 {0x85, 0, 0, 0, 0},
8765 {0x86, 0, 0, 0, 0},
8766 {0x87, 0, 0, 0, 0},
8767 {0x88, 0, 0, 0, 0},
8768 {0x89, 0, 0, 0, 0},
8769 {0x8A, 0, 0, 0, 0},
8770 {0x8B, 0, 0, 0, 0},
8771 {0x8C, 0, 0, 0, 0},
8772 {0x8D, 0, 0, 0, 0},
8773 {0x8E, 0, 0, 0, 0},
8774 {0x8F, 0, 0, 0, 0},
8775 {0x90, 0, 0, 0, 0},
8776 {0x91, 0, 0, 0, 0},
8777 {0x92, 0, 0, 0, 0},
8778 {0xFFFF, 0, 0, 0, 0}
8781 radio_regs_t regs_RX_2056_A1[] = {
8782 {0x02, 0, 0, 0, 0},
8783 {0x03, 0, 0, 0, 0},
8784 {0x04, 0, 0, 0, 0},
8785 {0x05, 0, 0, 0, 0},
8786 {0x06, 0, 0, 0, 0},
8787 {0x07, 0, 0, 0, 0},
8788 {0x08, 0, 0, 0, 0},
8789 {0x09, 0, 0, 0, 0},
8790 {0x0A, 0, 0, 0, 0},
8791 {0x0B, 0, 0, 0, 0},
8792 {0x0C, 0, 0, 0, 0},
8793 {0x0D, 0, 0, 0, 0},
8794 {0x0E, 0, 0, 0, 0},
8795 {0x0F, 0, 0, 0, 0},
8796 {0x10, 0, 0, 0, 0},
8797 {0x11, 0, 0, 0, 0},
8798 {0x12, 0, 0, 0, 0},
8799 {0x13, 0, 0, 0, 0},
8800 {0x14, 0, 0, 0, 0},
8801 {0x15, 0, 0, 0, 0},
8802 {0x16, 0, 0, 0, 0},
8803 {0x17, 0, 0, 0, 0},
8804 {0x18, 0, 0, 0, 0},
8805 {0x19, 0, 0, 0, 0},
8806 {0x1A, 0, 0, 0, 0},
8807 {0x1B, 0, 0, 0, 0},
8808 {0x1C, 0, 0, 0, 0},
8809 {0x1D, 0, 0, 0, 0},
8810 {0x1E, 0, 0, 0, 0},
8811 {0x1F, 0, 0, 0, 0},
8812 {0x20, 0x3, 0x3, 0, 0},
8813 {0x21, 0, 0, 0, 0},
8814 {0x22, 0, 0, 0, 0},
8815 {0x23, 0x90, 0x90, 0, 0},
8816 {0x24, 0x55, 0x55, 0, 0},
8817 {0x25, 0x15, 0x15, 0, 0},
8818 {0x26, 0x5, 0x5, 0, 0},
8819 {0x27, 0x15, 0x15, 0, 0},
8820 {0x28, 0x5, 0x5, 0, 0},
8821 {0x29, 0x20, 0x20, 0, 0},
8822 {0x2A, 0x11, 0x11, 0, 0},
8823 {0x2B, 0x90, 0x90, 0, 0},
8824 {0x2C, 0, 0, 0, 0},
8825 {0x2D, 0x88, 0x88, 0, 0},
8826 {0x2E, 0x32, 0x32, 0, 0},
8827 {0x2F, 0x77, 0x77, 0, 0},
8828 {0x30, 0x17, 0x17, 1, 1},
8829 {0x31, 0xff, 0xff, 1, 1},
8830 {0x32, 0x20, 0x20, 0, 0},
8831 {0x33, 0, 0, 0, 0},
8832 {0x34, 0x88, 0x88, 0, 0},
8833 {0x35, 0x32, 0x32, 0, 0},
8834 {0x36, 0x77, 0x77, 0, 0},
8835 {0x37, 0x17, 0x17, 1, 1},
8836 {0x38, 0xf0, 0xf0, 1, 1},
8837 {0x39, 0x20, 0x20, 0, 0},
8838 {0x3A, 0x8, 0x8, 0, 0},
8839 {0x3B, 0x55, 0x55, 1, 1},
8840 {0x3C, 0, 0, 0, 0},
8841 {0x3D, 0x44, 0x44, 1, 1},
8842 {0x3E, 0, 0, 0, 0},
8843 {0x3F, 0x44, 0x44, 0, 0},
8844 {0x40, 0xf, 0xf, 1, 1},
8845 {0x41, 0x6, 0x6, 0, 0},
8846 {0x42, 0x4, 0x4, 0, 0},
8847 {0x43, 0x50, 0x50, 1, 1},
8848 {0x44, 0x8, 0x8, 0, 0},
8849 {0x45, 0x55, 0x55, 1, 1},
8850 {0x46, 0, 0, 0, 0},
8851 {0x47, 0x11, 0x11, 0, 0},
8852 {0x48, 0, 0, 0, 0},
8853 {0x49, 0x44, 0x44, 0, 0},
8854 {0x4A, 0x7, 0x7, 0, 0},
8855 {0x4B, 0x6, 0x6, 0, 0},
8856 {0x4C, 0x4, 0x4, 0, 0},
8857 {0x4D, 0, 0, 0, 0},
8858 {0x4E, 0, 0, 0, 0},
8859 {0x4F, 0x26, 0x26, 1, 1},
8860 {0x50, 0x26, 0x26, 1, 1},
8861 {0x51, 0xf, 0xf, 1, 1},
8862 {0x52, 0xf, 0xf, 1, 1},
8863 {0x53, 0x44, 0x44, 0, 0},
8864 {0x54, 0, 0, 0, 0},
8865 {0x55, 0, 0, 0, 0},
8866 {0x56, 0x8, 0x8, 0, 0},
8867 {0x57, 0x8, 0x8, 0, 0},
8868 {0x58, 0x7, 0x7, 0, 0},
8869 {0x59, 0x22, 0x22, 0, 0},
8870 {0x5A, 0x22, 0x22, 0, 0},
8871 {0x5B, 0x2, 0x2, 0, 0},
8872 {0x5C, 0x2f, 0x2f, 1, 1},
8873 {0x5D, 0x7, 0x7, 0, 0},
8874 {0x5E, 0x55, 0x55, 0, 0},
8875 {0x5F, 0x23, 0x23, 0, 0},
8876 {0x60, 0x41, 0x41, 0, 0},
8877 {0x61, 0x1, 0x1, 0, 0},
8878 {0x62, 0xa, 0xa, 0, 0},
8879 {0x63, 0, 0, 0, 0},
8880 {0x64, 0, 0, 0, 0},
8881 {0x65, 0, 0, 0, 0},
8882 {0x66, 0, 0, 0, 0},
8883 {0x67, 0, 0, 0, 0},
8884 {0x68, 0, 0, 0, 0},
8885 {0x69, 0, 0, 0, 0},
8886 {0x6A, 0, 0, 0, 0},
8887 {0x6B, 0xc, 0xc, 0, 0},
8888 {0x6C, 0, 0, 0, 0},
8889 {0x6D, 0, 0, 0, 0},
8890 {0x6E, 0, 0, 0, 0},
8891 {0x6F, 0, 0, 0, 0},
8892 {0x70, 0, 0, 0, 0},
8893 {0x71, 0, 0, 0, 0},
8894 {0x72, 0x22, 0x22, 0, 0},
8895 {0x73, 0x22, 0x22, 0, 0},
8896 {0x74, 0, 0, 1, 1},
8897 {0x75, 0xa, 0xa, 0, 0},
8898 {0x76, 0x1, 0x1, 0, 0},
8899 {0x77, 0x22, 0x22, 0, 0},
8900 {0x78, 0x30, 0x30, 0, 0},
8901 {0x79, 0, 0, 0, 0},
8902 {0x7A, 0, 0, 0, 0},
8903 {0x7B, 0, 0, 0, 0},
8904 {0x7C, 0, 0, 0, 0},
8905 {0x7D, 0, 0, 0, 0},
8906 {0x7E, 0, 0, 0, 0},
8907 {0x7F, 0, 0, 0, 0},
8908 {0x80, 0, 0, 0, 0},
8909 {0x81, 0, 0, 0, 0},
8910 {0x82, 0, 0, 0, 0},
8911 {0x83, 0, 0, 0, 0},
8912 {0x84, 0, 0, 0, 0},
8913 {0x85, 0, 0, 0, 0},
8914 {0x86, 0, 0, 0, 0},
8915 {0x87, 0, 0, 0, 0},
8916 {0x88, 0, 0, 0, 0},
8917 {0x89, 0, 0, 0, 0},
8918 {0x8A, 0, 0, 0, 0},
8919 {0x8B, 0, 0, 0, 0},
8920 {0x8C, 0, 0, 0, 0},
8921 {0x8D, 0, 0, 0, 0},
8922 {0x8E, 0, 0, 0, 0},
8923 {0x8F, 0, 0, 0, 0},
8924 {0x90, 0, 0, 0, 0},
8925 {0x91, 0, 0, 0, 0},
8926 {0x92, 0, 0, 0, 0},
8927 {0x93, 0, 0, 0, 0},
8928 {0x94, 0, 0, 0, 0},
8929 {0xFFFF, 0, 0, 0, 0}
8932 radio_regs_t regs_SYN_2056_rev5[] = {
8933 {0x02, 0, 0, 0, 0},
8934 {0x03, 0, 0, 0, 0},
8935 {0x04, 0, 0, 0, 0},
8936 {0x05, 0, 0, 0, 0},
8937 {0x06, 0, 0, 0, 0},
8938 {0x07, 0, 0, 0, 0},
8939 {0x08, 0, 0, 0, 0},
8940 {0x09, 0x1, 0x1, 0, 0},
8941 {0x0A, 0, 0, 0, 0},
8942 {0x0B, 0, 0, 0, 0},
8943 {0x0C, 0, 0, 0, 0},
8944 {0x0D, 0, 0, 0, 0},
8945 {0x0E, 0, 0, 0, 0},
8946 {0x0F, 0, 0, 0, 0},
8947 {0x10, 0, 0, 0, 0},
8948 {0x11, 0, 0, 0, 0},
8949 {0x12, 0, 0, 0, 0},
8950 {0x13, 0, 0, 0, 0},
8951 {0x14, 0, 0, 0, 0},
8952 {0x15, 0, 0, 0, 0},
8953 {0x16, 0, 0, 0, 0},
8954 {0x17, 0, 0, 0, 0},
8955 {0x18, 0, 0, 0, 0},
8956 {0x19, 0, 0, 0, 0},
8957 {0x1A, 0, 0, 0, 0},
8958 {0x1B, 0, 0, 0, 0},
8959 {0x1C, 0, 0, 0, 0},
8960 {0x1D, 0, 0, 0, 0},
8961 {0x1E, 0, 0, 0, 0},
8962 {0x1F, 0, 0, 0, 0},
8963 {0x20, 0, 0, 0, 0},
8964 {0x21, 0, 0, 0, 0},
8965 {0x22, 0x60, 0x60, 0, 0},
8966 {0x23, 0x6, 0x6, 0, 0},
8967 {0x24, 0xc, 0xc, 0, 0},
8968 {0x25, 0, 0, 0, 0},
8969 {0x26, 0, 0, 0, 0},
8970 {0x27, 0, 0, 0, 0},
8971 {0x28, 0x1, 0x1, 0, 0},
8972 {0x29, 0, 0, 0, 0},
8973 {0x2A, 0, 0, 0, 0},
8974 {0x2B, 0, 0, 0, 0},
8975 {0x2C, 0, 0, 0, 0},
8976 {0x2D, 0, 0, 0, 0},
8977 {0x2E, 0, 0, 0, 0},
8978 {0x2F, 0x1f, 0x1f, 0, 0},
8979 {0x30, 0x15, 0x15, 0, 0},
8980 {0x31, 0xf, 0xf, 0, 0},
8981 {0x32, 0, 0, 0, 0},
8982 {0x33, 0, 0, 0, 0},
8983 {0x34, 0, 0, 0, 0},
8984 {0x35, 0, 0, 0, 0},
8985 {0x36, 0, 0, 0, 0},
8986 {0x37, 0, 0, 0, 0},
8987 {0x38, 0, 0, 0, 0},
8988 {0x39, 0, 0, 0, 0},
8989 {0x3A, 0, 0, 0, 0},
8990 {0x3B, 0, 0, 0, 0},
8991 {0x3C, 0x13, 0x13, 0, 0},
8992 {0x3D, 0xf, 0xf, 0, 0},
8993 {0x3E, 0x18, 0x18, 0, 0},
8994 {0x3F, 0, 0, 0, 0},
8995 {0x40, 0, 0, 0, 0},
8996 {0x41, 0x20, 0x20, 0, 0},
8997 {0x42, 0x20, 0x20, 0, 0},
8998 {0x43, 0, 0, 0, 0},
8999 {0x44, 0x77, 0x77, 0, 0},
9000 {0x45, 0x7, 0x7, 0, 0},
9001 {0x46, 0x1, 0x1, 0, 0},
9002 {0x47, 0x4, 0x4, 0, 0},
9003 {0x48, 0xf, 0xf, 0, 0},
9004 {0x49, 0x30, 0x30, 0, 0},
9005 {0x4A, 0x32, 0x32, 0, 0},
9006 {0x4B, 0xd, 0xd, 0, 0},
9007 {0x4C, 0xd, 0xd, 0, 0},
9008 {0x4D, 0x4, 0x4, 0, 0},
9009 {0x4E, 0x6, 0x6, 0, 0},
9010 {0x4F, 0x1, 0x1, 0, 0},
9011 {0x50, 0x1c, 0x1c, 0, 0},
9012 {0x51, 0x2, 0x2, 0, 0},
9013 {0x52, 0x2, 0x2, 0, 0},
9014 {0x53, 0xf7, 0xf7, 1, 1},
9015 {0x54, 0xb4, 0xb4, 0, 0},
9016 {0x55, 0xd2, 0xd2, 0, 0},
9017 {0x56, 0, 0, 0, 0},
9018 {0x57, 0, 0, 0, 0},
9019 {0x58, 0x4, 0x4, 0, 0},
9020 {0x59, 0x96, 0x96, 0, 0},
9021 {0x5A, 0x3e, 0x3e, 0, 0},
9022 {0x5B, 0x3e, 0x3e, 0, 0},
9023 {0x5C, 0x13, 0x13, 0, 0},
9024 {0x5D, 0x2, 0x2, 0, 0},
9025 {0x5E, 0, 0, 0, 0},
9026 {0x5F, 0x7, 0x7, 0, 0},
9027 {0x60, 0x7, 0x7, 1, 1},
9028 {0x61, 0x8, 0x8, 0, 0},
9029 {0x62, 0x3, 0x3, 0, 0},
9030 {0x63, 0, 0, 0, 0},
9031 {0x64, 0, 0, 0, 0},
9032 {0x65, 0, 0, 0, 0},
9033 {0x66, 0, 0, 0, 0},
9034 {0x67, 0, 0, 0, 0},
9035 {0x68, 0x40, 0x40, 0, 0},
9036 {0x69, 0, 0, 0, 0},
9037 {0x6A, 0, 0, 0, 0},
9038 {0x6B, 0, 0, 0, 0},
9039 {0x6C, 0, 0, 0, 0},
9040 {0x6D, 0x1, 0x1, 0, 0},
9041 {0x6E, 0, 0, 0, 0},
9042 {0x6F, 0, 0, 0, 0},
9043 {0x70, 0x60, 0x60, 0, 0},
9044 {0x71, 0x66, 0x66, 0, 0},
9045 {0x72, 0xc, 0xc, 0, 0},
9046 {0x73, 0x66, 0x66, 0, 0},
9047 {0x74, 0x8f, 0x8f, 1, 1},
9048 {0x75, 0, 0, 0, 0},
9049 {0x76, 0xcc, 0xcc, 0, 0},
9050 {0x77, 0x1, 0x1, 0, 0},
9051 {0x78, 0x66, 0x66, 0, 0},
9052 {0x79, 0x66, 0x66, 0, 0},
9053 {0x7A, 0, 0, 0, 0},
9054 {0x7B, 0, 0, 0, 0},
9055 {0x7C, 0, 0, 0, 0},
9056 {0x7D, 0, 0, 0, 0},
9057 {0x7E, 0, 0, 0, 0},
9058 {0x7F, 0, 0, 0, 0},
9059 {0x80, 0, 0, 0, 0},
9060 {0x81, 0, 0, 0, 0},
9061 {0x82, 0, 0, 0, 0},
9062 {0x83, 0, 0, 0, 0},
9063 {0x84, 0, 0, 0, 0},
9064 {0x85, 0xff, 0xff, 0, 0},
9065 {0x86, 0, 0, 0, 0},
9066 {0x87, 0, 0, 0, 0},
9067 {0x88, 0, 0, 0, 0},
9068 {0x89, 0, 0, 0, 0},
9069 {0x8A, 0, 0, 0, 0},
9070 {0x8B, 0, 0, 0, 0},
9071 {0x8C, 0, 0, 0, 0},
9072 {0x8D, 0, 0, 0, 0},
9073 {0x8E, 0, 0, 0, 0},
9074 {0x8F, 0, 0, 0, 0},
9075 {0x90, 0, 0, 0, 0},
9076 {0x91, 0, 0, 0, 0},
9077 {0x92, 0, 0, 0, 0},
9078 {0x93, 0, 0, 0, 0},
9079 {0x94, 0, 0, 0, 0},
9080 {0x95, 0, 0, 0, 0},
9081 {0x96, 0, 0, 0, 0},
9082 {0x97, 0, 0, 0, 0},
9083 {0x98, 0, 0, 0, 0},
9084 {0x99, 0, 0, 0, 0},
9085 {0x9A, 0, 0, 0, 0},
9086 {0x9B, 0, 0, 0, 0},
9087 {0x9C, 0, 0, 0, 0},
9088 {0x9D, 0, 0, 0, 0},
9089 {0x9E, 0, 0, 0, 0},
9090 {0x9F, 0x6, 0x6, 0, 0},
9091 {0xA0, 0x66, 0x66, 0, 0},
9092 {0xA1, 0x66, 0x66, 0, 0},
9093 {0xA2, 0x66, 0x66, 0, 0},
9094 {0xA3, 0x66, 0x66, 0, 0},
9095 {0xA4, 0x66, 0x66, 0, 0},
9096 {0xA5, 0x66, 0x66, 0, 0},
9097 {0xA6, 0x66, 0x66, 0, 0},
9098 {0xA7, 0x66, 0x66, 0, 0},
9099 {0xA8, 0x66, 0x66, 0, 0},
9100 {0xA9, 0x66, 0x66, 0, 0},
9101 {0xAA, 0x66, 0x66, 0, 0},
9102 {0xAB, 0x66, 0x66, 0, 0},
9103 {0xAC, 0x66, 0x66, 0, 0},
9104 {0xAD, 0x66, 0x66, 0, 0},
9105 {0xAE, 0x66, 0x66, 0, 0},
9106 {0xAF, 0x66, 0x66, 0, 0},
9107 {0xB0, 0x66, 0x66, 0, 0},
9108 {0xB1, 0x66, 0x66, 0, 0},
9109 {0xB2, 0x66, 0x66, 0, 0},
9110 {0xB3, 0xa, 0xa, 0, 0},
9111 {0xB4, 0, 0, 0, 0},
9112 {0xB5, 0, 0, 0, 0},
9113 {0xB6, 0, 0, 0, 0},
9114 {0xFFFF, 0, 0, 0, 0}
9117 radio_regs_t regs_TX_2056_rev5[] = {
9118 {0x02, 0, 0, 0, 0},
9119 {0x03, 0, 0, 0, 0},
9120 {0x04, 0, 0, 0, 0},
9121 {0x05, 0, 0, 0, 0},
9122 {0x06, 0, 0, 0, 0},
9123 {0x07, 0, 0, 0, 0},
9124 {0x08, 0, 0, 0, 0},
9125 {0x09, 0, 0, 0, 0},
9126 {0x0A, 0, 0, 0, 0},
9127 {0x0B, 0, 0, 0, 0},
9128 {0x0C, 0, 0, 0, 0},
9129 {0x0D, 0, 0, 0, 0},
9130 {0x0E, 0, 0, 0, 0},
9131 {0x0F, 0, 0, 0, 0},
9132 {0x10, 0, 0, 0, 0},
9133 {0x11, 0, 0, 0, 0},
9134 {0x12, 0, 0, 0, 0},
9135 {0x13, 0, 0, 0, 0},
9136 {0x14, 0, 0, 0, 0},
9137 {0x15, 0, 0, 0, 0},
9138 {0x16, 0, 0, 0, 0},
9139 {0x17, 0, 0, 0, 0},
9140 {0x18, 0, 0, 0, 0},
9141 {0x19, 0, 0, 0, 0},
9142 {0x1A, 0, 0, 0, 0},
9143 {0x1B, 0, 0, 0, 0},
9144 {0x1C, 0, 0, 0, 0},
9145 {0x1D, 0, 0, 0, 0},
9146 {0x1E, 0, 0, 0, 0},
9147 {0x1F, 0, 0, 0, 0},
9148 {0x20, 0, 0, 0, 0},
9149 {0x21, 0x88, 0x88, 0, 0},
9150 {0x22, 0x88, 0x88, 0, 0},
9151 {0x23, 0x88, 0x88, 0, 0},
9152 {0x24, 0x88, 0x88, 0, 0},
9153 {0x25, 0xc, 0xc, 0, 0},
9154 {0x26, 0, 0, 0, 0},
9155 {0x27, 0x3, 0x3, 0, 0},
9156 {0x28, 0, 0, 0, 0},
9157 {0x29, 0x3, 0x3, 0, 0},
9158 {0x2A, 0x37, 0x37, 0, 0},
9159 {0x2B, 0x3, 0x3, 0, 0},
9160 {0x2C, 0, 0, 0, 0},
9161 {0x2D, 0, 0, 0, 0},
9162 {0x2E, 0x1, 0x1, 0, 0},
9163 {0x2F, 0x1, 0x1, 0, 0},
9164 {0x30, 0, 0, 0, 0},
9165 {0x31, 0, 0, 0, 0},
9166 {0x32, 0, 0, 0, 0},
9167 {0x33, 0x11, 0x11, 0, 0},
9168 {0x34, 0x11, 0x11, 0, 0},
9169 {0x35, 0, 0, 0, 0},
9170 {0x36, 0, 0, 0, 0},
9171 {0x37, 0x3, 0x3, 0, 0},
9172 {0x38, 0xf, 0xf, 0, 0},
9173 {0x39, 0, 0, 0, 0},
9174 {0x3A, 0x2d, 0x2d, 0, 0},
9175 {0x3B, 0, 0, 0, 0},
9176 {0x3C, 0x6e, 0x6e, 0, 0},
9177 {0x3D, 0xf0, 0xf0, 1, 1},
9178 {0x3E, 0, 0, 0, 0},
9179 {0x3F, 0, 0, 0, 0},
9180 {0x40, 0, 0, 0, 0},
9181 {0x41, 0x3, 0x3, 0, 0},
9182 {0x42, 0x3, 0x3, 0, 0},
9183 {0x43, 0, 0, 0, 0},
9184 {0x44, 0x1e, 0x1e, 0, 0},
9185 {0x45, 0, 0, 0, 0},
9186 {0x46, 0x6e, 0x6e, 0, 0},
9187 {0x47, 0xf0, 0xf0, 1, 1},
9188 {0x48, 0, 0, 0, 0},
9189 {0x49, 0x2, 0x2, 0, 0},
9190 {0x4A, 0xff, 0xff, 1, 1},
9191 {0x4B, 0xc, 0xc, 0, 0},
9192 {0x4C, 0, 0, 0, 0},
9193 {0x4D, 0x38, 0x38, 0, 0},
9194 {0x4E, 0x70, 0x70, 1, 1},
9195 {0x4F, 0x2, 0x2, 0, 0},
9196 {0x50, 0x88, 0x88, 0, 0},
9197 {0x51, 0xc, 0xc, 0, 0},
9198 {0x52, 0, 0, 0, 0},
9199 {0x53, 0x8, 0x8, 0, 0},
9200 {0x54, 0x70, 0x70, 1, 1},
9201 {0x55, 0x2, 0x2, 0, 0},
9202 {0x56, 0xff, 0xff, 1, 1},
9203 {0x57, 0, 0, 0, 0},
9204 {0x58, 0x83, 0x83, 0, 0},
9205 {0x59, 0x77, 0x77, 1, 1},
9206 {0x5A, 0, 0, 0, 0},
9207 {0x5B, 0x2, 0x2, 0, 0},
9208 {0x5C, 0x88, 0x88, 0, 0},
9209 {0x5D, 0, 0, 0, 0},
9210 {0x5E, 0x8, 0x8, 0, 0},
9211 {0x5F, 0x77, 0x77, 1, 1},
9212 {0x60, 0x1, 0x1, 0, 0},
9213 {0x61, 0, 0, 0, 0},
9214 {0x62, 0x7, 0x7, 0, 0},
9215 {0x63, 0, 0, 0, 0},
9216 {0x64, 0x7, 0x7, 0, 0},
9217 {0x65, 0, 0, 0, 0},
9218 {0x66, 0, 0, 0, 0},
9219 {0x67, 0, 0, 1, 1},
9220 {0x68, 0, 0, 0, 0},
9221 {0x69, 0xa, 0xa, 0, 0},
9222 {0x6A, 0, 0, 0, 0},
9223 {0x6B, 0, 0, 0, 0},
9224 {0x6C, 0, 0, 0, 0},
9225 {0x6D, 0, 0, 0, 0},
9226 {0x6E, 0, 0, 0, 0},
9227 {0x6F, 0, 0, 0, 0},
9228 {0x70, 0, 0, 0, 0},
9229 {0x71, 0x2, 0x2, 0, 0},
9230 {0x72, 0, 0, 0, 0},
9231 {0x73, 0, 0, 0, 0},
9232 {0x74, 0xe, 0xe, 0, 0},
9233 {0x75, 0xe, 0xe, 0, 0},
9234 {0x76, 0xe, 0xe, 0, 0},
9235 {0x77, 0x13, 0x13, 0, 0},
9236 {0x78, 0x13, 0x13, 0, 0},
9237 {0x79, 0x1b, 0x1b, 0, 0},
9238 {0x7A, 0x1b, 0x1b, 0, 0},
9239 {0x7B, 0x55, 0x55, 0, 0},
9240 {0x7C, 0x5b, 0x5b, 0, 0},
9241 {0x7D, 0, 0, 0, 0},
9242 {0x7E, 0, 0, 0, 0},
9243 {0x7F, 0, 0, 0, 0},
9244 {0x80, 0, 0, 0, 0},
9245 {0x81, 0, 0, 0, 0},
9246 {0x82, 0, 0, 0, 0},
9247 {0x83, 0, 0, 0, 0},
9248 {0x84, 0, 0, 0, 0},
9249 {0x85, 0, 0, 0, 0},
9250 {0x86, 0, 0, 0, 0},
9251 {0x87, 0, 0, 0, 0},
9252 {0x88, 0, 0, 0, 0},
9253 {0x89, 0, 0, 0, 0},
9254 {0x8A, 0, 0, 0, 0},
9255 {0x8B, 0, 0, 0, 0},
9256 {0x8C, 0, 0, 0, 0},
9257 {0x8D, 0, 0, 0, 0},
9258 {0x8E, 0, 0, 0, 0},
9259 {0x8F, 0, 0, 0, 0},
9260 {0x90, 0, 0, 0, 0},
9261 {0x91, 0, 0, 0, 0},
9262 {0x92, 0, 0, 0, 0},
9263 {0x93, 0x70, 0x70, 0, 0},
9264 {0x94, 0x70, 0x70, 0, 0},
9265 {0x95, 0x71, 0x71, 1, 1},
9266 {0x96, 0x71, 0x71, 1, 1},
9267 {0x97, 0x72, 0x72, 1, 1},
9268 {0x98, 0x73, 0x73, 1, 1},
9269 {0x99, 0x74, 0x74, 1, 1},
9270 {0x9A, 0x75, 0x75, 1, 1},
9271 {0xFFFF, 0, 0, 0, 0}
9274 radio_regs_t regs_RX_2056_rev5[] = {
9275 {0x02, 0, 0, 0, 0},
9276 {0x03, 0, 0, 0, 0},
9277 {0x04, 0, 0, 0, 0},
9278 {0x05, 0, 0, 0, 0},
9279 {0x06, 0, 0, 0, 0},
9280 {0x07, 0, 0, 0, 0},
9281 {0x08, 0, 0, 0, 0},
9282 {0x09, 0, 0, 0, 0},
9283 {0x0A, 0, 0, 0, 0},
9284 {0x0B, 0, 0, 0, 0},
9285 {0x0C, 0, 0, 0, 0},
9286 {0x0D, 0, 0, 0, 0},
9287 {0x0E, 0, 0, 0, 0},
9288 {0x0F, 0, 0, 0, 0},
9289 {0x10, 0, 0, 0, 0},
9290 {0x11, 0, 0, 0, 0},
9291 {0x12, 0, 0, 0, 0},
9292 {0x13, 0, 0, 0, 0},
9293 {0x14, 0, 0, 0, 0},
9294 {0x15, 0, 0, 0, 0},
9295 {0x16, 0, 0, 0, 0},
9296 {0x17, 0, 0, 0, 0},
9297 {0x18, 0, 0, 0, 0},
9298 {0x19, 0, 0, 0, 0},
9299 {0x1A, 0, 0, 0, 0},
9300 {0x1B, 0, 0, 0, 0},
9301 {0x1C, 0, 0, 0, 0},
9302 {0x1D, 0, 0, 0, 0},
9303 {0x1E, 0, 0, 0, 0},
9304 {0x1F, 0, 0, 0, 0},
9305 {0x20, 0x3, 0x3, 0, 0},
9306 {0x21, 0, 0, 0, 0},
9307 {0x22, 0, 0, 0, 0},
9308 {0x23, 0x90, 0x90, 0, 0},
9309 {0x24, 0x55, 0x55, 0, 0},
9310 {0x25, 0x15, 0x15, 0, 0},
9311 {0x26, 0x5, 0x5, 0, 0},
9312 {0x27, 0x15, 0x15, 0, 0},
9313 {0x28, 0x5, 0x5, 0, 0},
9314 {0x29, 0x20, 0x20, 0, 0},
9315 {0x2A, 0x11, 0x11, 0, 0},
9316 {0x2B, 0x90, 0x90, 0, 0},
9317 {0x2C, 0, 0, 0, 0},
9318 {0x2D, 0x88, 0x88, 0, 0},
9319 {0x2E, 0x32, 0x32, 0, 0},
9320 {0x2F, 0x77, 0x77, 0, 0},
9321 {0x30, 0x17, 0x17, 1, 1},
9322 {0x31, 0xff, 0xff, 1, 1},
9323 {0x32, 0x20, 0x20, 0, 0},
9324 {0x33, 0, 0, 0, 0},
9325 {0x34, 0x88, 0x88, 0, 0},
9326 {0x35, 0x32, 0x32, 0, 0},
9327 {0x36, 0x77, 0x77, 0, 0},
9328 {0x37, 0x17, 0x17, 1, 1},
9329 {0x38, 0xf0, 0xf0, 1, 1},
9330 {0x39, 0x20, 0x20, 0, 0},
9331 {0x3A, 0x8, 0x8, 0, 0},
9332 {0x3B, 0x55, 0x55, 1, 1},
9333 {0x3C, 0, 0, 0, 0},
9334 {0x3D, 0x88, 0x88, 1, 1},
9335 {0x3E, 0, 0, 0, 0},
9336 {0x3F, 0, 0, 1, 1},
9337 {0x40, 0x7, 0x7, 1, 1},
9338 {0x41, 0x6, 0x6, 0, 0},
9339 {0x42, 0x4, 0x4, 0, 0},
9340 {0x43, 0, 0, 0, 0},
9341 {0x44, 0x8, 0x8, 0, 0},
9342 {0x45, 0x55, 0x55, 1, 1},
9343 {0x46, 0, 0, 0, 0},
9344 {0x47, 0x11, 0x11, 0, 0},
9345 {0x48, 0, 0, 0, 0},
9346 {0x49, 0, 0, 1, 1},
9347 {0x4A, 0x7, 0x7, 0, 0},
9348 {0x4B, 0x6, 0x6, 0, 0},
9349 {0x4C, 0x4, 0x4, 0, 0},
9350 {0x4D, 0, 0, 0, 0},
9351 {0x4E, 0, 0, 0, 0},
9352 {0x4F, 0x26, 0x26, 1, 1},
9353 {0x50, 0x26, 0x26, 1, 1},
9354 {0x51, 0xf, 0xf, 1, 1},
9355 {0x52, 0xf, 0xf, 1, 1},
9356 {0x53, 0x44, 0x44, 0, 0},
9357 {0x54, 0, 0, 0, 0},
9358 {0x55, 0, 0, 0, 0},
9359 {0x56, 0x8, 0x8, 0, 0},
9360 {0x57, 0x8, 0x8, 0, 0},
9361 {0x58, 0x7, 0x7, 0, 0},
9362 {0x59, 0x22, 0x22, 0, 0},
9363 {0x5A, 0x22, 0x22, 0, 0},
9364 {0x5B, 0x2, 0x2, 0, 0},
9365 {0x5C, 0x4, 0x4, 1, 1},
9366 {0x5D, 0x7, 0x7, 0, 0},
9367 {0x5E, 0x55, 0x55, 0, 0},
9368 {0x5F, 0x23, 0x23, 0, 0},
9369 {0x60, 0x41, 0x41, 0, 0},
9370 {0x61, 0x1, 0x1, 0, 0},
9371 {0x62, 0xa, 0xa, 0, 0},
9372 {0x63, 0, 0, 0, 0},
9373 {0x64, 0, 0, 0, 0},
9374 {0x65, 0, 0, 0, 0},
9375 {0x66, 0, 0, 0, 0},
9376 {0x67, 0, 0, 0, 0},
9377 {0x68, 0, 0, 0, 0},
9378 {0x69, 0, 0, 0, 0},
9379 {0x6A, 0, 0, 0, 0},
9380 {0x6B, 0xc, 0xc, 0, 0},
9381 {0x6C, 0, 0, 0, 0},
9382 {0x6D, 0, 0, 0, 0},
9383 {0x6E, 0, 0, 0, 0},
9384 {0x6F, 0, 0, 0, 0},
9385 {0x70, 0, 0, 0, 0},
9386 {0x71, 0, 0, 0, 0},
9387 {0x72, 0x22, 0x22, 0, 0},
9388 {0x73, 0x22, 0x22, 0, 0},
9389 {0x74, 0, 0, 1, 1},
9390 {0x75, 0xa, 0xa, 0, 0},
9391 {0x76, 0x1, 0x1, 0, 0},
9392 {0x77, 0x22, 0x22, 0, 0},
9393 {0x78, 0x30, 0x30, 0, 0},
9394 {0x79, 0, 0, 0, 0},
9395 {0x7A, 0, 0, 0, 0},
9396 {0x7B, 0, 0, 0, 0},
9397 {0x7C, 0, 0, 0, 0},
9398 {0x7D, 0, 0, 0, 0},
9399 {0x7E, 0, 0, 0, 0},
9400 {0x7F, 0, 0, 0, 0},
9401 {0x80, 0, 0, 0, 0},
9402 {0x81, 0, 0, 0, 0},
9403 {0x82, 0, 0, 0, 0},
9404 {0x83, 0, 0, 0, 0},
9405 {0x84, 0, 0, 0, 0},
9406 {0x85, 0, 0, 0, 0},
9407 {0x86, 0, 0, 0, 0},
9408 {0x87, 0, 0, 0, 0},
9409 {0x88, 0, 0, 0, 0},
9410 {0x89, 0, 0, 0, 0},
9411 {0x8A, 0, 0, 0, 0},
9412 {0x8B, 0, 0, 0, 0},
9413 {0x8C, 0, 0, 0, 0},
9414 {0x8D, 0, 0, 0, 0},
9415 {0x8E, 0, 0, 0, 0},
9416 {0x8F, 0, 0, 0, 0},
9417 {0x90, 0, 0, 0, 0},
9418 {0x91, 0, 0, 0, 0},
9419 {0x92, 0, 0, 0, 0},
9420 {0x93, 0, 0, 0, 0},
9421 {0x94, 0, 0, 0, 0},
9422 {0xFFFF, 0, 0, 0, 0}
9425 radio_regs_t regs_SYN_2056_rev6[] = {
9426 {0x02, 0, 0, 0, 0},
9427 {0x03, 0, 0, 0, 0},
9428 {0x04, 0, 0, 0, 0},
9429 {0x05, 0, 0, 0, 0},
9430 {0x06, 0, 0, 0, 0},
9431 {0x07, 0, 0, 0, 0},
9432 {0x08, 0, 0, 0, 0},
9433 {0x09, 0x1, 0x1, 0, 0},
9434 {0x0A, 0, 0, 0, 0},
9435 {0x0B, 0, 0, 0, 0},
9436 {0x0C, 0, 0, 0, 0},
9437 {0x0D, 0, 0, 0, 0},
9438 {0x0E, 0, 0, 0, 0},
9439 {0x0F, 0, 0, 0, 0},
9440 {0x10, 0, 0, 0, 0},
9441 {0x11, 0, 0, 0, 0},
9442 {0x12, 0, 0, 0, 0},
9443 {0x13, 0, 0, 0, 0},
9444 {0x14, 0, 0, 0, 0},
9445 {0x15, 0, 0, 0, 0},
9446 {0x16, 0, 0, 0, 0},
9447 {0x17, 0, 0, 0, 0},
9448 {0x18, 0, 0, 0, 0},
9449 {0x19, 0, 0, 0, 0},
9450 {0x1A, 0, 0, 0, 0},
9451 {0x1B, 0, 0, 0, 0},
9452 {0x1C, 0, 0, 0, 0},
9453 {0x1D, 0, 0, 0, 0},
9454 {0x1E, 0, 0, 0, 0},
9455 {0x1F, 0, 0, 0, 0},
9456 {0x20, 0, 0, 0, 0},
9457 {0x21, 0, 0, 0, 0},
9458 {0x22, 0x60, 0x60, 0, 0},
9459 {0x23, 0x6, 0x6, 0, 0},
9460 {0x24, 0xc, 0xc, 0, 0},
9461 {0x25, 0, 0, 0, 0},
9462 {0x26, 0, 0, 0, 0},
9463 {0x27, 0, 0, 0, 0},
9464 {0x28, 0x1, 0x1, 0, 0},
9465 {0x29, 0, 0, 0, 0},
9466 {0x2A, 0, 0, 0, 0},
9467 {0x2B, 0, 0, 0, 0},
9468 {0x2C, 0, 0, 0, 0},
9469 {0x2D, 0, 0, 0, 0},
9470 {0x2E, 0, 0, 0, 0},
9471 {0x2F, 0x1f, 0x1f, 0, 0},
9472 {0x30, 0x15, 0x15, 0, 0},
9473 {0x31, 0xf, 0xf, 0, 0},
9474 {0x32, 0, 0, 0, 0},
9475 {0x33, 0, 0, 0, 0},
9476 {0x34, 0, 0, 0, 0},
9477 {0x35, 0, 0, 0, 0},
9478 {0x36, 0, 0, 0, 0},
9479 {0x37, 0, 0, 0, 0},
9480 {0x38, 0, 0, 0, 0},
9481 {0x39, 0, 0, 0, 0},
9482 {0x3A, 0, 0, 0, 0},
9483 {0x3B, 0, 0, 0, 0},
9484 {0x3C, 0x13, 0x13, 0, 0},
9485 {0x3D, 0xf, 0xf, 0, 0},
9486 {0x3E, 0x18, 0x18, 0, 0},
9487 {0x3F, 0, 0, 0, 0},
9488 {0x40, 0, 0, 0, 0},
9489 {0x41, 0x20, 0x20, 0, 0},
9490 {0x42, 0x20, 0x20, 0, 0},
9491 {0x43, 0, 0, 0, 0},
9492 {0x44, 0x77, 0x77, 0, 0},
9493 {0x45, 0x7, 0x7, 0, 0},
9494 {0x46, 0x1, 0x1, 0, 0},
9495 {0x47, 0x4, 0x4, 0, 0},
9496 {0x48, 0xf, 0xf, 0, 0},
9497 {0x49, 0x30, 0x30, 0, 0},
9498 {0x4A, 0x32, 0x32, 0, 0},
9499 {0x4B, 0xd, 0xd, 0, 0},
9500 {0x4C, 0xd, 0xd, 0, 0},
9501 {0x4D, 0x4, 0x4, 0, 0},
9502 {0x4E, 0x6, 0x6, 0, 0},
9503 {0x4F, 0x1, 0x1, 0, 0},
9504 {0x50, 0x1c, 0x1c, 0, 0},
9505 {0x51, 0x2, 0x2, 0, 0},
9506 {0x52, 0x2, 0x2, 0, 0},
9507 {0x53, 0xf7, 0xf7, 1, 1},
9508 {0x54, 0xb4, 0xb4, 0, 0},
9509 {0x55, 0xd2, 0xd2, 0, 0},
9510 {0x56, 0, 0, 0, 0},
9511 {0x57, 0, 0, 0, 0},
9512 {0x58, 0x4, 0x4, 0, 0},
9513 {0x59, 0x96, 0x96, 0, 0},
9514 {0x5A, 0x3e, 0x3e, 0, 0},
9515 {0x5B, 0x3e, 0x3e, 0, 0},
9516 {0x5C, 0x13, 0x13, 0, 0},
9517 {0x5D, 0x2, 0x2, 0, 0},
9518 {0x5E, 0, 0, 0, 0},
9519 {0x5F, 0x7, 0x7, 0, 0},
9520 {0x60, 0x7, 0x7, 1, 1},
9521 {0x61, 0x8, 0x8, 0, 0},
9522 {0x62, 0x3, 0x3, 0, 0},
9523 {0x63, 0, 0, 0, 0},
9524 {0x64, 0, 0, 0, 0},
9525 {0x65, 0, 0, 0, 0},
9526 {0x66, 0, 0, 0, 0},
9527 {0x67, 0, 0, 0, 0},
9528 {0x68, 0x40, 0x40, 0, 0},
9529 {0x69, 0, 0, 0, 0},
9530 {0x6A, 0, 0, 0, 0},
9531 {0x6B, 0, 0, 0, 0},
9532 {0x6C, 0, 0, 0, 0},
9533 {0x6D, 0x1, 0x1, 0, 0},
9534 {0x6E, 0, 0, 0, 0},
9535 {0x6F, 0, 0, 0, 0},
9536 {0x70, 0x60, 0x60, 0, 0},
9537 {0x71, 0x66, 0x66, 0, 0},
9538 {0x72, 0xc, 0xc, 0, 0},
9539 {0x73, 0x66, 0x66, 0, 0},
9540 {0x74, 0x8f, 0x8f, 1, 1},
9541 {0x75, 0, 0, 0, 0},
9542 {0x76, 0xcc, 0xcc, 0, 0},
9543 {0x77, 0x1, 0x1, 0, 0},
9544 {0x78, 0x66, 0x66, 0, 0},
9545 {0x79, 0x66, 0x66, 0, 0},
9546 {0x7A, 0, 0, 0, 0},
9547 {0x7B, 0, 0, 0, 0},
9548 {0x7C, 0, 0, 0, 0},
9549 {0x7D, 0, 0, 0, 0},
9550 {0x7E, 0, 0, 0, 0},
9551 {0x7F, 0, 0, 0, 0},
9552 {0x80, 0, 0, 0, 0},
9553 {0x81, 0, 0, 0, 0},
9554 {0x82, 0, 0, 0, 0},
9555 {0x83, 0, 0, 0, 0},
9556 {0x84, 0, 0, 0, 0},
9557 {0x85, 0xff, 0xff, 0, 0},
9558 {0x86, 0, 0, 0, 0},
9559 {0x87, 0, 0, 0, 0},
9560 {0x88, 0, 0, 0, 0},
9561 {0x89, 0, 0, 0, 0},
9562 {0x8A, 0, 0, 0, 0},
9563 {0x8B, 0, 0, 0, 0},
9564 {0x8C, 0, 0, 0, 0},
9565 {0x8D, 0, 0, 0, 0},
9566 {0x8E, 0, 0, 0, 0},
9567 {0x8F, 0, 0, 0, 0},
9568 {0x90, 0, 0, 0, 0},
9569 {0x91, 0, 0, 0, 0},
9570 {0x92, 0, 0, 0, 0},
9571 {0x93, 0, 0, 0, 0},
9572 {0x94, 0, 0, 0, 0},
9573 {0x95, 0, 0, 0, 0},
9574 {0x96, 0, 0, 0, 0},
9575 {0x97, 0, 0, 0, 0},
9576 {0x98, 0, 0, 0, 0},
9577 {0x99, 0, 0, 0, 0},
9578 {0x9A, 0, 0, 0, 0},
9579 {0x9B, 0, 0, 0, 0},
9580 {0x9C, 0, 0, 0, 0},
9581 {0x9D, 0, 0, 0, 0},
9582 {0x9E, 0, 0, 0, 0},
9583 {0x9F, 0x6, 0x6, 0, 0},
9584 {0xA0, 0x66, 0x66, 0, 0},
9585 {0xA1, 0x66, 0x66, 0, 0},
9586 {0xA2, 0x66, 0x66, 0, 0},
9587 {0xA3, 0x66, 0x66, 0, 0},
9588 {0xA4, 0x66, 0x66, 0, 0},
9589 {0xA5, 0x66, 0x66, 0, 0},
9590 {0xA6, 0x66, 0x66, 0, 0},
9591 {0xA7, 0x66, 0x66, 0, 0},
9592 {0xA8, 0x66, 0x66, 0, 0},
9593 {0xA9, 0x66, 0x66, 0, 0},
9594 {0xAA, 0x66, 0x66, 0, 0},
9595 {0xAB, 0x66, 0x66, 0, 0},
9596 {0xAC, 0x66, 0x66, 0, 0},
9597 {0xAD, 0x66, 0x66, 0, 0},
9598 {0xAE, 0x66, 0x66, 0, 0},
9599 {0xAF, 0x66, 0x66, 0, 0},
9600 {0xB0, 0x66, 0x66, 0, 0},
9601 {0xB1, 0x66, 0x66, 0, 0},
9602 {0xB2, 0x66, 0x66, 0, 0},
9603 {0xB3, 0xa, 0xa, 0, 0},
9604 {0xB4, 0, 0, 0, 0},
9605 {0xB5, 0, 0, 0, 0},
9606 {0xB6, 0, 0, 0, 0},
9607 {0xFFFF, 0, 0, 0, 0}
9610 radio_regs_t regs_TX_2056_rev6[] = {
9611 {0x02, 0, 0, 0, 0},
9612 {0x03, 0, 0, 0, 0},
9613 {0x04, 0, 0, 0, 0},
9614 {0x05, 0, 0, 0, 0},
9615 {0x06, 0, 0, 0, 0},
9616 {0x07, 0, 0, 0, 0},
9617 {0x08, 0, 0, 0, 0},
9618 {0x09, 0, 0, 0, 0},
9619 {0x0A, 0, 0, 0, 0},
9620 {0x0B, 0, 0, 0, 0},
9621 {0x0C, 0, 0, 0, 0},
9622 {0x0D, 0, 0, 0, 0},
9623 {0x0E, 0, 0, 0, 0},
9624 {0x0F, 0, 0, 0, 0},
9625 {0x10, 0, 0, 0, 0},
9626 {0x11, 0, 0, 0, 0},
9627 {0x12, 0, 0, 0, 0},
9628 {0x13, 0, 0, 0, 0},
9629 {0x14, 0, 0, 0, 0},
9630 {0x15, 0, 0, 0, 0},
9631 {0x16, 0, 0, 0, 0},
9632 {0x17, 0, 0, 0, 0},
9633 {0x18, 0, 0, 0, 0},
9634 {0x19, 0, 0, 0, 0},
9635 {0x1A, 0, 0, 0, 0},
9636 {0x1B, 0, 0, 0, 0},
9637 {0x1C, 0, 0, 0, 0},
9638 {0x1D, 0, 0, 0, 0},
9639 {0x1E, 0, 0, 0, 0},
9640 {0x1F, 0, 0, 0, 0},
9641 {0x20, 0, 0, 0, 0},
9642 {0x21, 0x88, 0x88, 0, 0},
9643 {0x22, 0x88, 0x88, 0, 0},
9644 {0x23, 0x88, 0x88, 0, 0},
9645 {0x24, 0x88, 0x88, 0, 0},
9646 {0x25, 0xc, 0xc, 0, 0},
9647 {0x26, 0, 0, 0, 0},
9648 {0x27, 0x3, 0x3, 0, 0},
9649 {0x28, 0, 0, 0, 0},
9650 {0x29, 0x3, 0x3, 0, 0},
9651 {0x2A, 0x37, 0x37, 0, 0},
9652 {0x2B, 0x3, 0x3, 0, 0},
9653 {0x2C, 0, 0, 0, 0},
9654 {0x2D, 0, 0, 0, 0},
9655 {0x2E, 0x1, 0x1, 0, 0},
9656 {0x2F, 0x1, 0x1, 0, 0},
9657 {0x30, 0, 0, 0, 0},
9658 {0x31, 0, 0, 0, 0},
9659 {0x32, 0, 0, 0, 0},
9660 {0x33, 0x11, 0x11, 0, 0},
9661 {0x34, 0xee, 0xee, 1, 1},
9662 {0x35, 0, 0, 0, 0},
9663 {0x36, 0, 0, 0, 0},
9664 {0x37, 0x3, 0x3, 0, 0},
9665 {0x38, 0x50, 0x50, 1, 1},
9666 {0x39, 0, 0, 0, 0},
9667 {0x3A, 0x50, 0x50, 1, 1},
9668 {0x3B, 0, 0, 0, 0},
9669 {0x3C, 0x6e, 0x6e, 0, 0},
9670 {0x3D, 0xf0, 0xf0, 1, 1},
9671 {0x3E, 0, 0, 0, 0},
9672 {0x3F, 0, 0, 0, 0},
9673 {0x40, 0, 0, 0, 0},
9674 {0x41, 0x3, 0x3, 0, 0},
9675 {0x42, 0x3, 0x3, 0, 0},
9676 {0x43, 0, 0, 0, 0},
9677 {0x44, 0x1e, 0x1e, 0, 0},
9678 {0x45, 0, 0, 0, 0},
9679 {0x46, 0x6e, 0x6e, 0, 0},
9680 {0x47, 0xf0, 0xf0, 1, 1},
9681 {0x48, 0, 0, 0, 0},
9682 {0x49, 0x2, 0x2, 0, 0},
9683 {0x4A, 0xff, 0xff, 1, 1},
9684 {0x4B, 0xc, 0xc, 0, 0},
9685 {0x4C, 0, 0, 0, 0},
9686 {0x4D, 0x38, 0x38, 0, 0},
9687 {0x4E, 0x70, 0x70, 1, 1},
9688 {0x4F, 0x2, 0x2, 0, 0},
9689 {0x50, 0x88, 0x88, 0, 0},
9690 {0x51, 0xc, 0xc, 0, 0},
9691 {0x52, 0, 0, 0, 0},
9692 {0x53, 0x8, 0x8, 0, 0},
9693 {0x54, 0x70, 0x70, 1, 1},
9694 {0x55, 0x2, 0x2, 0, 0},
9695 {0x56, 0xff, 0xff, 1, 1},
9696 {0x57, 0, 0, 0, 0},
9697 {0x58, 0x83, 0x83, 0, 0},
9698 {0x59, 0x77, 0x77, 1, 1},
9699 {0x5A, 0, 0, 0, 0},
9700 {0x5B, 0x2, 0x2, 0, 0},
9701 {0x5C, 0x88, 0x88, 0, 0},
9702 {0x5D, 0, 0, 0, 0},
9703 {0x5E, 0x8, 0x8, 0, 0},
9704 {0x5F, 0x77, 0x77, 1, 1},
9705 {0x60, 0x1, 0x1, 0, 0},
9706 {0x61, 0, 0, 0, 0},
9707 {0x62, 0x7, 0x7, 0, 0},
9708 {0x63, 0, 0, 0, 0},
9709 {0x64, 0x7, 0x7, 0, 0},
9710 {0x65, 0, 0, 0, 0},
9711 {0x66, 0, 0, 0, 0},
9712 {0x67, 0, 0, 1, 1},
9713 {0x68, 0, 0, 0, 0},
9714 {0x69, 0xa, 0xa, 0, 0},
9715 {0x6A, 0, 0, 0, 0},
9716 {0x6B, 0, 0, 0, 0},
9717 {0x6C, 0, 0, 0, 0},
9718 {0x6D, 0, 0, 0, 0},
9719 {0x6E, 0, 0, 0, 0},
9720 {0x6F, 0, 0, 0, 0},
9721 {0x70, 0, 0, 0, 0},
9722 {0x71, 0x2, 0x2, 0, 0},
9723 {0x72, 0, 0, 0, 0},
9724 {0x73, 0, 0, 0, 0},
9725 {0x74, 0xe, 0xe, 0, 0},
9726 {0x75, 0xe, 0xe, 0, 0},
9727 {0x76, 0xe, 0xe, 0, 0},
9728 {0x77, 0x13, 0x13, 0, 0},
9729 {0x78, 0x13, 0x13, 0, 0},
9730 {0x79, 0x1b, 0x1b, 0, 0},
9731 {0x7A, 0x1b, 0x1b, 0, 0},
9732 {0x7B, 0x55, 0x55, 0, 0},
9733 {0x7C, 0x5b, 0x5b, 0, 0},
9734 {0x7D, 0x30, 0x30, 1, 1},
9735 {0x7E, 0, 0, 0, 0},
9736 {0x7F, 0, 0, 0, 0},
9737 {0x80, 0, 0, 0, 0},
9738 {0x81, 0, 0, 0, 0},
9739 {0x82, 0, 0, 0, 0},
9740 {0x83, 0, 0, 0, 0},
9741 {0x84, 0, 0, 0, 0},
9742 {0x85, 0, 0, 0, 0},
9743 {0x86, 0, 0, 0, 0},
9744 {0x87, 0, 0, 0, 0},
9745 {0x88, 0, 0, 0, 0},
9746 {0x89, 0, 0, 0, 0},
9747 {0x8A, 0, 0, 0, 0},
9748 {0x8B, 0, 0, 0, 0},
9749 {0x8C, 0, 0, 0, 0},
9750 {0x8D, 0, 0, 0, 0},
9751 {0x8E, 0, 0, 0, 0},
9752 {0x8F, 0, 0, 0, 0},
9753 {0x90, 0, 0, 0, 0},
9754 {0x91, 0, 0, 0, 0},
9755 {0x92, 0, 0, 0, 0},
9756 {0x93, 0x70, 0x70, 0, 0},
9757 {0x94, 0x70, 0x70, 0, 0},
9758 {0x95, 0x70, 0x70, 0, 0},
9759 {0x96, 0x70, 0x70, 0, 0},
9760 {0x97, 0x70, 0x70, 0, 0},
9761 {0x98, 0x70, 0x70, 0, 0},
9762 {0x99, 0x70, 0x70, 0, 0},
9763 {0x9A, 0x70, 0x70, 0, 0},
9764 {0xFFFF, 0, 0, 0, 0}
9767 radio_regs_t regs_RX_2056_rev6[] = {
9768 {0x02, 0, 0, 0, 0},
9769 {0x03, 0, 0, 0, 0},
9770 {0x04, 0, 0, 0, 0},
9771 {0x05, 0, 0, 0, 0},
9772 {0x06, 0, 0, 0, 0},
9773 {0x07, 0, 0, 0, 0},
9774 {0x08, 0, 0, 0, 0},
9775 {0x09, 0, 0, 0, 0},
9776 {0x0A, 0, 0, 0, 0},
9777 {0x0B, 0, 0, 0, 0},
9778 {0x0C, 0, 0, 0, 0},
9779 {0x0D, 0, 0, 0, 0},
9780 {0x0E, 0, 0, 0, 0},
9781 {0x0F, 0, 0, 0, 0},
9782 {0x10, 0, 0, 0, 0},
9783 {0x11, 0, 0, 0, 0},
9784 {0x12, 0, 0, 0, 0},
9785 {0x13, 0, 0, 0, 0},
9786 {0x14, 0, 0, 0, 0},
9787 {0x15, 0, 0, 0, 0},
9788 {0x16, 0, 0, 0, 0},
9789 {0x17, 0, 0, 0, 0},
9790 {0x18, 0, 0, 0, 0},
9791 {0x19, 0, 0, 0, 0},
9792 {0x1A, 0, 0, 0, 0},
9793 {0x1B, 0, 0, 0, 0},
9794 {0x1C, 0, 0, 0, 0},
9795 {0x1D, 0, 0, 0, 0},
9796 {0x1E, 0, 0, 0, 0},
9797 {0x1F, 0, 0, 0, 0},
9798 {0x20, 0x3, 0x3, 0, 0},
9799 {0x21, 0, 0, 0, 0},
9800 {0x22, 0, 0, 0, 0},
9801 {0x23, 0x90, 0x90, 0, 0},
9802 {0x24, 0x55, 0x55, 0, 0},
9803 {0x25, 0x15, 0x15, 0, 0},
9804 {0x26, 0x5, 0x5, 0, 0},
9805 {0x27, 0x15, 0x15, 0, 0},
9806 {0x28, 0x5, 0x5, 0, 0},
9807 {0x29, 0x20, 0x20, 0, 0},
9808 {0x2A, 0x11, 0x11, 0, 0},
9809 {0x2B, 0x90, 0x90, 0, 0},
9810 {0x2C, 0, 0, 0, 0},
9811 {0x2D, 0x88, 0x88, 0, 0},
9812 {0x2E, 0x32, 0x32, 0, 0},
9813 {0x2F, 0x77, 0x77, 0, 0},
9814 {0x30, 0x17, 0x17, 1, 1},
9815 {0x31, 0xff, 0xff, 1, 1},
9816 {0x32, 0x20, 0x20, 0, 0},
9817 {0x33, 0, 0, 0, 0},
9818 {0x34, 0x88, 0x88, 0, 0},
9819 {0x35, 0x32, 0x32, 0, 0},
9820 {0x36, 0x77, 0x77, 0, 0},
9821 {0x37, 0x17, 0x17, 1, 1},
9822 {0x38, 0xf0, 0xf0, 1, 1},
9823 {0x39, 0x20, 0x20, 0, 0},
9824 {0x3A, 0x8, 0x8, 0, 0},
9825 {0x3B, 0x55, 0x55, 1, 1},
9826 {0x3C, 0, 0, 0, 0},
9827 {0x3D, 0x88, 0x88, 1, 1},
9828 {0x3E, 0, 0, 0, 0},
9829 {0x3F, 0x44, 0x44, 0, 0},
9830 {0x40, 0x7, 0x7, 1, 1},
9831 {0x41, 0x6, 0x6, 0, 0},
9832 {0x42, 0x4, 0x4, 0, 0},
9833 {0x43, 0, 0, 0, 0},
9834 {0x44, 0x8, 0x8, 0, 0},
9835 {0x45, 0x55, 0x55, 1, 1},
9836 {0x46, 0, 0, 0, 0},
9837 {0x47, 0x11, 0x11, 0, 0},
9838 {0x48, 0, 0, 0, 0},
9839 {0x49, 0x44, 0x44, 0, 0},
9840 {0x4A, 0x7, 0x7, 0, 0},
9841 {0x4B, 0x6, 0x6, 0, 0},
9842 {0x4C, 0x4, 0x4, 0, 0},
9843 {0x4D, 0, 0, 0, 0},
9844 {0x4E, 0, 0, 0, 0},
9845 {0x4F, 0x26, 0x26, 1, 1},
9846 {0x50, 0x26, 0x26, 1, 1},
9847 {0x51, 0xf, 0xf, 1, 1},
9848 {0x52, 0xf, 0xf, 1, 1},
9849 {0x53, 0x44, 0x44, 0, 0},
9850 {0x54, 0, 0, 0, 0},
9851 {0x55, 0, 0, 0, 0},
9852 {0x56, 0x8, 0x8, 0, 0},
9853 {0x57, 0x8, 0x8, 0, 0},
9854 {0x58, 0x7, 0x7, 0, 0},
9855 {0x59, 0x22, 0x22, 0, 0},
9856 {0x5A, 0x22, 0x22, 0, 0},
9857 {0x5B, 0x2, 0x2, 0, 0},
9858 {0x5C, 0x4, 0x4, 1, 1},
9859 {0x5D, 0x7, 0x7, 0, 0},
9860 {0x5E, 0x55, 0x55, 0, 0},
9861 {0x5F, 0x23, 0x23, 0, 0},
9862 {0x60, 0x41, 0x41, 0, 0},
9863 {0x61, 0x1, 0x1, 0, 0},
9864 {0x62, 0xa, 0xa, 0, 0},
9865 {0x63, 0, 0, 0, 0},
9866 {0x64, 0, 0, 0, 0},
9867 {0x65, 0, 0, 0, 0},
9868 {0x66, 0, 0, 0, 0},
9869 {0x67, 0, 0, 0, 0},
9870 {0x68, 0, 0, 0, 0},
9871 {0x69, 0, 0, 0, 0},
9872 {0x6A, 0, 0, 0, 0},
9873 {0x6B, 0xc, 0xc, 0, 0},
9874 {0x6C, 0, 0, 0, 0},
9875 {0x6D, 0, 0, 0, 0},
9876 {0x6E, 0, 0, 0, 0},
9877 {0x6F, 0, 0, 0, 0},
9878 {0x70, 0, 0, 0, 0},
9879 {0x71, 0, 0, 0, 0},
9880 {0x72, 0x22, 0x22, 0, 0},
9881 {0x73, 0x22, 0x22, 0, 0},
9882 {0x74, 0, 0, 1, 1},
9883 {0x75, 0xa, 0xa, 0, 0},
9884 {0x76, 0x1, 0x1, 0, 0},
9885 {0x77, 0x22, 0x22, 0, 0},
9886 {0x78, 0x30, 0x30, 0, 0},
9887 {0x79, 0, 0, 0, 0},
9888 {0x7A, 0, 0, 0, 0},
9889 {0x7B, 0, 0, 0, 0},
9890 {0x7C, 0, 0, 0, 0},
9891 {0x7D, 0x5, 0x5, 1, 1},
9892 {0x7E, 0, 0, 0, 0},
9893 {0x7F, 0, 0, 0, 0},
9894 {0x80, 0, 0, 0, 0},
9895 {0x81, 0, 0, 0, 0},
9896 {0x82, 0, 0, 0, 0},
9897 {0x83, 0, 0, 0, 0},
9898 {0x84, 0, 0, 0, 0},
9899 {0x85, 0, 0, 0, 0},
9900 {0x86, 0, 0, 0, 0},
9901 {0x87, 0, 0, 0, 0},
9902 {0x88, 0, 0, 0, 0},
9903 {0x89, 0, 0, 0, 0},
9904 {0x8A, 0, 0, 0, 0},
9905 {0x8B, 0, 0, 0, 0},
9906 {0x8C, 0, 0, 0, 0},
9907 {0x8D, 0, 0, 0, 0},
9908 {0x8E, 0, 0, 0, 0},
9909 {0x8F, 0, 0, 0, 0},
9910 {0x90, 0, 0, 0, 0},
9911 {0x91, 0, 0, 0, 0},
9912 {0x92, 0, 0, 0, 0},
9913 {0x93, 0, 0, 0, 0},
9914 {0x94, 0, 0, 0, 0},
9915 {0xFFFF, 0, 0, 0, 0}
9918 radio_regs_t regs_SYN_2056_rev7[] = {
9919 {0x02, 0, 0, 0, 0},
9920 {0x03, 0, 0, 0, 0},
9921 {0x04, 0, 0, 0, 0},
9922 {0x05, 0, 0, 0, 0},
9923 {0x06, 0, 0, 0, 0},
9924 {0x07, 0, 0, 0, 0},
9925 {0x08, 0, 0, 0, 0},
9926 {0x09, 0x1, 0x1, 0, 0},
9927 {0x0A, 0, 0, 0, 0},
9928 {0x0B, 0, 0, 0, 0},
9929 {0x0C, 0, 0, 0, 0},
9930 {0x0D, 0, 0, 0, 0},
9931 {0x0E, 0, 0, 0, 0},
9932 {0x0F, 0, 0, 0, 0},
9933 {0x10, 0, 0, 0, 0},
9934 {0x11, 0, 0, 0, 0},
9935 {0x12, 0, 0, 0, 0},
9936 {0x13, 0, 0, 0, 0},
9937 {0x14, 0, 0, 0, 0},
9938 {0x15, 0, 0, 0, 0},
9939 {0x16, 0, 0, 0, 0},
9940 {0x17, 0, 0, 0, 0},
9941 {0x18, 0, 0, 0, 0},
9942 {0x19, 0, 0, 0, 0},
9943 {0x1A, 0, 0, 0, 0},
9944 {0x1B, 0, 0, 0, 0},
9945 {0x1C, 0, 0, 0, 0},
9946 {0x1D, 0, 0, 0, 0},
9947 {0x1E, 0, 0, 0, 0},
9948 {0x1F, 0, 0, 0, 0},
9949 {0x20, 0, 0, 0, 0},
9950 {0x21, 0, 0, 0, 0},
9951 {0x22, 0x60, 0x60, 0, 0},
9952 {0x23, 0x6, 0x6, 0, 0},
9953 {0x24, 0xc, 0xc, 0, 0},
9954 {0x25, 0, 0, 0, 0},
9955 {0x26, 0, 0, 0, 0},
9956 {0x27, 0, 0, 0, 0},
9957 {0x28, 0x1, 0x1, 0, 0},
9958 {0x29, 0, 0, 0, 0},
9959 {0x2A, 0, 0, 0, 0},
9960 {0x2B, 0, 0, 0, 0},
9961 {0x2C, 0, 0, 0, 0},
9962 {0x2D, 0, 0, 0, 0},
9963 {0x2E, 0, 0, 0, 0},
9964 {0x2F, 0x1f, 0x1f, 0, 0},
9965 {0x30, 0x15, 0x15, 0, 0},
9966 {0x31, 0xf, 0xf, 0, 0},
9967 {0x32, 0, 0, 0, 0},
9968 {0x33, 0, 0, 0, 0},
9969 {0x34, 0, 0, 0, 0},
9970 {0x35, 0, 0, 0, 0},
9971 {0x36, 0, 0, 0, 0},
9972 {0x37, 0, 0, 0, 0},
9973 {0x38, 0, 0, 0, 0},
9974 {0x39, 0, 0, 0, 0},
9975 {0x3A, 0, 0, 0, 0},
9976 {0x3B, 0, 0, 0, 0},
9977 {0x3C, 0x13, 0x13, 0, 0},
9978 {0x3D, 0xf, 0xf, 0, 0},
9979 {0x3E, 0x18, 0x18, 0, 0},
9980 {0x3F, 0, 0, 0, 0},
9981 {0x40, 0, 0, 0, 0},
9982 {0x41, 0x20, 0x20, 0, 0},
9983 {0x42, 0x20, 0x20, 0, 0},
9984 {0x43, 0, 0, 0, 0},
9985 {0x44, 0x77, 0x77, 0, 0},
9986 {0x45, 0x7, 0x7, 0, 0},
9987 {0x46, 0x1, 0x1, 0, 0},
9988 {0x47, 0x4, 0x4, 0, 0},
9989 {0x48, 0xf, 0xf, 0, 0},
9990 {0x49, 0x30, 0x30, 0, 0},
9991 {0x4A, 0x32, 0x32, 0, 0},
9992 {0x4B, 0xd, 0xd, 0, 0},
9993 {0x4C, 0xd, 0xd, 0, 0},
9994 {0x4D, 0x4, 0x4, 0, 0},
9995 {0x4E, 0x6, 0x6, 0, 0},
9996 {0x4F, 0x1, 0x1, 0, 0},
9997 {0x50, 0x1c, 0x1c, 0, 0},
9998 {0x51, 0x2, 0x2, 0, 0},
9999 {0x52, 0x2, 0x2, 0, 0},
10000 {0x53, 0xf7, 0xf7, 1, 1},
10001 {0x54, 0xb4, 0xb4, 0, 0},
10002 {0x55, 0xd2, 0xd2, 0, 0},
10003 {0x56, 0, 0, 0, 0},
10004 {0x57, 0, 0, 0, 0},
10005 {0x58, 0x4, 0x4, 0, 0},
10006 {0x59, 0x96, 0x96, 0, 0},
10007 {0x5A, 0x3e, 0x3e, 0, 0},
10008 {0x5B, 0x3e, 0x3e, 0, 0},
10009 {0x5C, 0x13, 0x13, 0, 0},
10010 {0x5D, 0x2, 0x2, 0, 0},
10011 {0x5E, 0, 0, 0, 0},
10012 {0x5F, 0x7, 0x7, 0, 0},
10013 {0x60, 0x7, 0x7, 1, 1},
10014 {0x61, 0x8, 0x8, 0, 0},
10015 {0x62, 0x3, 0x3, 0, 0},
10016 {0x63, 0, 0, 0, 0},
10017 {0x64, 0, 0, 0, 0},
10018 {0x65, 0, 0, 0, 0},
10019 {0x66, 0, 0, 0, 0},
10020 {0x67, 0, 0, 0, 0},
10021 {0x68, 0x40, 0x40, 0, 0},
10022 {0x69, 0, 0, 0, 0},
10023 {0x6A, 0, 0, 0, 0},
10024 {0x6B, 0, 0, 0, 0},
10025 {0x6C, 0, 0, 0, 0},
10026 {0x6D, 0x1, 0x1, 0, 0},
10027 {0x6E, 0, 0, 0, 0},
10028 {0x6F, 0, 0, 0, 0},
10029 {0x70, 0x60, 0x60, 0, 0},
10030 {0x71, 0x66, 0x66, 0, 0},
10031 {0x72, 0xc, 0xc, 0, 0},
10032 {0x73, 0x66, 0x66, 0, 0},
10033 {0x74, 0x8f, 0x8f, 1, 1},
10034 {0x75, 0, 0, 0, 0},
10035 {0x76, 0xcc, 0xcc, 0, 0},
10036 {0x77, 0x1, 0x1, 0, 0},
10037 {0x78, 0x66, 0x66, 0, 0},
10038 {0x79, 0x66, 0x66, 0, 0},
10039 {0x7A, 0, 0, 0, 0},
10040 {0x7B, 0, 0, 0, 0},
10041 {0x7C, 0, 0, 0, 0},
10042 {0x7D, 0, 0, 0, 0},
10043 {0x7E, 0, 0, 0, 0},
10044 {0x7F, 0, 0, 0, 0},
10045 {0x80, 0, 0, 0, 0},
10046 {0x81, 0, 0, 0, 0},
10047 {0x82, 0, 0, 0, 0},
10048 {0x83, 0, 0, 0, 0},
10049 {0x84, 0, 0, 0, 0},
10050 {0x85, 0xff, 0xff, 0, 0},
10051 {0x86, 0, 0, 0, 0},
10052 {0x87, 0, 0, 0, 0},
10053 {0x88, 0, 0, 0, 0},
10054 {0x89, 0, 0, 0, 0},
10055 {0x8A, 0, 0, 0, 0},
10056 {0x8B, 0, 0, 0, 0},
10057 {0x8C, 0, 0, 0, 0},
10058 {0x8D, 0, 0, 0, 0},
10059 {0x8E, 0, 0, 0, 0},
10060 {0x8F, 0, 0, 0, 0},
10061 {0x90, 0, 0, 0, 0},
10062 {0x91, 0, 0, 0, 0},
10063 {0x92, 0, 0, 0, 0},
10064 {0x93, 0, 0, 0, 0},
10065 {0x94, 0, 0, 0, 0},
10066 {0x95, 0, 0, 0, 0},
10067 {0x96, 0, 0, 0, 0},
10068 {0x97, 0, 0, 0, 0},
10069 {0x98, 0, 0, 0, 0},
10070 {0x99, 0, 0, 0, 0},
10071 {0x9A, 0, 0, 0, 0},
10072 {0x9B, 0, 0, 0, 0},
10073 {0x9C, 0, 0, 0, 0},
10074 {0x9D, 0, 0, 0, 0},
10075 {0x9E, 0, 0, 0, 0},
10076 {0x9F, 0x6, 0x6, 0, 0},
10077 {0xA0, 0x66, 0x66, 0, 0},
10078 {0xA1, 0x66, 0x66, 0, 0},
10079 {0xA2, 0x66, 0x66, 0, 0},
10080 {0xA3, 0x66, 0x66, 0, 0},
10081 {0xA4, 0x66, 0x66, 0, 0},
10082 {0xA5, 0x66, 0x66, 0, 0},
10083 {0xA6, 0x66, 0x66, 0, 0},
10084 {0xA7, 0x66, 0x66, 0, 0},
10085 {0xA8, 0x66, 0x66, 0, 0},
10086 {0xA9, 0x66, 0x66, 0, 0},
10087 {0xAA, 0x66, 0x66, 0, 0},
10088 {0xAB, 0x66, 0x66, 0, 0},
10089 {0xAC, 0x66, 0x66, 0, 0},
10090 {0xAD, 0x66, 0x66, 0, 0},
10091 {0xAE, 0x66, 0x66, 0, 0},
10092 {0xAF, 0x66, 0x66, 0, 0},
10093 {0xB0, 0x66, 0x66, 0, 0},
10094 {0xB1, 0x66, 0x66, 0, 0},
10095 {0xB2, 0x66, 0x66, 0, 0},
10096 {0xB3, 0xa, 0xa, 0, 0},
10097 {0xB4, 0, 0, 0, 0},
10098 {0xB5, 0, 0, 0, 0},
10099 {0xB6, 0, 0, 0, 0},
10100 {0xFFFF, 0, 0, 0, 0},
10103 radio_regs_t regs_TX_2056_rev7[] = {
10104 {0x02, 0, 0, 0, 0},
10105 {0x03, 0, 0, 0, 0},
10106 {0x04, 0, 0, 0, 0},
10107 {0x05, 0, 0, 0, 0},
10108 {0x06, 0, 0, 0, 0},
10109 {0x07, 0, 0, 0, 0},
10110 {0x08, 0, 0, 0, 0},
10111 {0x09, 0, 0, 0, 0},
10112 {0x0A, 0, 0, 0, 0},
10113 {0x0B, 0, 0, 0, 0},
10114 {0x0C, 0, 0, 0, 0},
10115 {0x0D, 0, 0, 0, 0},
10116 {0x0E, 0, 0, 0, 0},
10117 {0x0F, 0, 0, 0, 0},
10118 {0x10, 0, 0, 0, 0},
10119 {0x11, 0, 0, 0, 0},
10120 {0x12, 0, 0, 0, 0},
10121 {0x13, 0, 0, 0, 0},
10122 {0x14, 0, 0, 0, 0},
10123 {0x15, 0, 0, 0, 0},
10124 {0x16, 0, 0, 0, 0},
10125 {0x17, 0, 0, 0, 0},
10126 {0x18, 0, 0, 0, 0},
10127 {0x19, 0, 0, 0, 0},
10128 {0x1A, 0, 0, 0, 0},
10129 {0x1B, 0, 0, 0, 0},
10130 {0x1C, 0, 0, 0, 0},
10131 {0x1D, 0, 0, 0, 0},
10132 {0x1E, 0, 0, 0, 0},
10133 {0x1F, 0, 0, 0, 0},
10134 {0x20, 0, 0, 0, 0},
10135 {0x21, 0x88, 0x88, 0, 0},
10136 {0x22, 0x88, 0x88, 0, 0},
10137 {0x23, 0x88, 0x88, 0, 0},
10138 {0x24, 0x88, 0x88, 0, 0},
10139 {0x25, 0xc, 0xc, 0, 0},
10140 {0x26, 0, 0, 0, 0},
10141 {0x27, 0x3, 0x3, 0, 0},
10142 {0x28, 0, 0, 0, 0},
10143 {0x29, 0x3, 0x3, 0, 0},
10144 {0x2A, 0x37, 0x37, 0, 0},
10145 {0x2B, 0x3, 0x3, 0, 0},
10146 {0x2C, 0, 0, 0, 0},
10147 {0x2D, 0, 0, 0, 0},
10148 {0x2E, 0x1, 0x1, 0, 0},
10149 {0x2F, 0x1, 0x1, 0, 0},
10150 {0x30, 0, 0, 0, 0},
10151 {0x31, 0, 0, 0, 0},
10152 {0x32, 0, 0, 0, 0},
10153 {0x33, 0x11, 0x11, 0, 0},
10154 {0x34, 0xee, 0xee, 1, 1},
10155 {0x35, 0, 0, 0, 0},
10156 {0x36, 0, 0, 0, 0},
10157 {0x37, 0x3, 0x3, 0, 0},
10158 {0x38, 0x50, 0x50, 1, 1},
10159 {0x39, 0, 0, 0, 0},
10160 {0x3A, 0x50, 0x50, 1, 1},
10161 {0x3B, 0, 0, 0, 0},
10162 {0x3C, 0x6e, 0x6e, 0, 0},
10163 {0x3D, 0xf0, 0xf0, 1, 1},
10164 {0x3E, 0, 0, 0, 0},
10165 {0x3F, 0, 0, 0, 0},
10166 {0x40, 0, 0, 0, 0},
10167 {0x41, 0x3, 0x3, 0, 0},
10168 {0x42, 0x3, 0x3, 0, 0},
10169 {0x43, 0, 0, 0, 0},
10170 {0x44, 0x1e, 0x1e, 0, 0},
10171 {0x45, 0, 0, 0, 0},
10172 {0x46, 0x6e, 0x6e, 0, 0},
10173 {0x47, 0xf0, 0xf0, 1, 1},
10174 {0x48, 0, 0, 0, 0},
10175 {0x49, 0x2, 0x2, 0, 0},
10176 {0x4A, 0xff, 0xff, 1, 1},
10177 {0x4B, 0xc, 0xc, 0, 0},
10178 {0x4C, 0, 0, 0, 0},
10179 {0x4D, 0x38, 0x38, 0, 0},
10180 {0x4E, 0x70, 0x70, 1, 1},
10181 {0x4F, 0x2, 0x2, 0, 0},
10182 {0x50, 0x88, 0x88, 0, 0},
10183 {0x51, 0xc, 0xc, 0, 0},
10184 {0x52, 0, 0, 0, 0},
10185 {0x53, 0x8, 0x8, 0, 0},
10186 {0x54, 0x70, 0x70, 1, 1},
10187 {0x55, 0x2, 0x2, 0, 0},
10188 {0x56, 0xff, 0xff, 1, 1},
10189 {0x57, 0, 0, 0, 0},
10190 {0x58, 0x83, 0x83, 0, 0},
10191 {0x59, 0x77, 0x77, 1, 1},
10192 {0x5A, 0, 0, 0, 0},
10193 {0x5B, 0x2, 0x2, 0, 0},
10194 {0x5C, 0x88, 0x88, 0, 0},
10195 {0x5D, 0, 0, 0, 0},
10196 {0x5E, 0x8, 0x8, 0, 0},
10197 {0x5F, 0x77, 0x77, 1, 1},
10198 {0x60, 0x1, 0x1, 0, 0},
10199 {0x61, 0, 0, 0, 0},
10200 {0x62, 0x7, 0x7, 0, 0},
10201 {0x63, 0, 0, 0, 0},
10202 {0x64, 0x7, 0x7, 0, 0},
10203 {0x65, 0, 0, 0, 0},
10204 {0x66, 0, 0, 0, 0},
10205 {0x67, 0, 0, 1, 1},
10206 {0x68, 0, 0, 0, 0},
10207 {0x69, 0xa, 0xa, 0, 0},
10208 {0x6A, 0, 0, 0, 0},
10209 {0x6B, 0, 0, 0, 0},
10210 {0x6C, 0, 0, 0, 0},
10211 {0x6D, 0, 0, 0, 0},
10212 {0x6E, 0, 0, 0, 0},
10213 {0x6F, 0, 0, 0, 0},
10214 {0x70, 0, 0, 0, 0},
10215 {0x71, 0x2, 0x2, 0, 0},
10216 {0x72, 0, 0, 0, 0},
10217 {0x73, 0, 0, 0, 0},
10218 {0x74, 0xe, 0xe, 0, 0},
10219 {0x75, 0xe, 0xe, 0, 0},
10220 {0x76, 0xe, 0xe, 0, 0},
10221 {0x77, 0x13, 0x13, 0, 0},
10222 {0x78, 0x13, 0x13, 0, 0},
10223 {0x79, 0x1b, 0x1b, 0, 0},
10224 {0x7A, 0x1b, 0x1b, 0, 0},
10225 {0x7B, 0x55, 0x55, 0, 0},
10226 {0x7C, 0x5b, 0x5b, 0, 0},
10227 {0x7D, 0x30, 0x30, 1, 1},
10228 {0x7E, 0, 0, 0, 0},
10229 {0x7F, 0, 0, 0, 0},
10230 {0x80, 0, 0, 0, 0},
10231 {0x81, 0, 0, 0, 0},
10232 {0x82, 0, 0, 0, 0},
10233 {0x83, 0, 0, 0, 0},
10234 {0x84, 0, 0, 0, 0},
10235 {0x85, 0, 0, 0, 0},
10236 {0x86, 0, 0, 0, 0},
10237 {0x87, 0, 0, 0, 0},
10238 {0x88, 0, 0, 0, 0},
10239 {0x89, 0, 0, 0, 0},
10240 {0x8A, 0, 0, 0, 0},
10241 {0x8B, 0, 0, 0, 0},
10242 {0x8C, 0, 0, 0, 0},
10243 {0x8D, 0, 0, 0, 0},
10244 {0x8E, 0, 0, 0, 0},
10245 {0x8F, 0, 0, 0, 0},
10246 {0x90, 0, 0, 0, 0},
10247 {0x91, 0, 0, 0, 0},
10248 {0x92, 0, 0, 0, 0},
10249 {0x93, 0x70, 0x70, 0, 0},
10250 {0x94, 0x70, 0x70, 0, 0},
10251 {0x95, 0x71, 0x71, 1, 1},
10252 {0x96, 0x71, 0x71, 1, 1},
10253 {0x97, 0x72, 0x72, 1, 1},
10254 {0x98, 0x73, 0x73, 1, 1},
10255 {0x99, 0x74, 0x74, 1, 1},
10256 {0x9A, 0x75, 0x75, 1, 1},
10257 {0xFFFF, 0, 0, 0, 0},
10260 radio_regs_t regs_RX_2056_rev7[] = {
10261 {0x02, 0, 0, 0, 0},
10262 {0x03, 0, 0, 0, 0},
10263 {0x04, 0, 0, 0, 0},
10264 {0x05, 0, 0, 0, 0},
10265 {0x06, 0, 0, 0, 0},
10266 {0x07, 0, 0, 0, 0},
10267 {0x08, 0, 0, 0, 0},
10268 {0x09, 0, 0, 0, 0},
10269 {0x0A, 0, 0, 0, 0},
10270 {0x0B, 0, 0, 0, 0},
10271 {0x0C, 0, 0, 0, 0},
10272 {0x0D, 0, 0, 0, 0},
10273 {0x0E, 0, 0, 0, 0},
10274 {0x0F, 0, 0, 0, 0},
10275 {0x10, 0, 0, 0, 0},
10276 {0x11, 0, 0, 0, 0},
10277 {0x12, 0, 0, 0, 0},
10278 {0x13, 0, 0, 0, 0},
10279 {0x14, 0, 0, 0, 0},
10280 {0x15, 0, 0, 0, 0},
10281 {0x16, 0, 0, 0, 0},
10282 {0x17, 0, 0, 0, 0},
10283 {0x18, 0, 0, 0, 0},
10284 {0x19, 0, 0, 0, 0},
10285 {0x1A, 0, 0, 0, 0},
10286 {0x1B, 0, 0, 0, 0},
10287 {0x1C, 0, 0, 0, 0},
10288 {0x1D, 0, 0, 0, 0},
10289 {0x1E, 0, 0, 0, 0},
10290 {0x1F, 0, 0, 0, 0},
10291 {0x20, 0x3, 0x3, 0, 0},
10292 {0x21, 0, 0, 0, 0},
10293 {0x22, 0, 0, 0, 0},
10294 {0x23, 0x90, 0x90, 0, 0},
10295 {0x24, 0x55, 0x55, 0, 0},
10296 {0x25, 0x15, 0x15, 0, 0},
10297 {0x26, 0x5, 0x5, 0, 0},
10298 {0x27, 0x15, 0x15, 0, 0},
10299 {0x28, 0x5, 0x5, 0, 0},
10300 {0x29, 0x20, 0x20, 0, 0},
10301 {0x2A, 0x11, 0x11, 0, 0},
10302 {0x2B, 0x90, 0x90, 0, 0},
10303 {0x2C, 0, 0, 0, 0},
10304 {0x2D, 0x88, 0x88, 0, 0},
10305 {0x2E, 0x32, 0x32, 0, 0},
10306 {0x2F, 0x77, 0x77, 0, 0},
10307 {0x30, 0x17, 0x17, 1, 1},
10308 {0x31, 0xff, 0xff, 1, 1},
10309 {0x32, 0x20, 0x20, 0, 0},
10310 {0x33, 0, 0, 0, 0},
10311 {0x34, 0x88, 0x88, 0, 0},
10312 {0x35, 0x32, 0x32, 0, 0},
10313 {0x36, 0x77, 0x77, 0, 0},
10314 {0x37, 0x17, 0x17, 1, 1},
10315 {0x38, 0xf0, 0xf0, 1, 1},
10316 {0x39, 0x20, 0x20, 0, 0},
10317 {0x3A, 0x8, 0x8, 0, 0},
10318 {0x3B, 0x55, 0x55, 1, 1},
10319 {0x3C, 0, 0, 0, 0},
10320 {0x3D, 0x88, 0x88, 1, 1},
10321 {0x3E, 0, 0, 0, 0},
10322 {0x3F, 0, 0, 1, 1},
10323 {0x40, 0x7, 0x7, 1, 1},
10324 {0x41, 0x6, 0x6, 0, 0},
10325 {0x42, 0x4, 0x4, 0, 0},
10326 {0x43, 0, 0, 0, 0},
10327 {0x44, 0x8, 0x8, 0, 0},
10328 {0x45, 0x55, 0x55, 1, 1},
10329 {0x46, 0, 0, 0, 0},
10330 {0x47, 0x11, 0x11, 0, 0},
10331 {0x48, 0, 0, 0, 0},
10332 {0x49, 0, 0, 1, 1},
10333 {0x4A, 0x7, 0x7, 0, 0},
10334 {0x4B, 0x6, 0x6, 0, 0},
10335 {0x4C, 0x4, 0x4, 0, 0},
10336 {0x4D, 0, 0, 0, 0},
10337 {0x4E, 0, 0, 0, 0},
10338 {0x4F, 0x26, 0x26, 1, 1},
10339 {0x50, 0x26, 0x26, 1, 1},
10340 {0x51, 0xf, 0xf, 1, 1},
10341 {0x52, 0xf, 0xf, 1, 1},
10342 {0x53, 0x44, 0x44, 0, 0},
10343 {0x54, 0, 0, 0, 0},
10344 {0x55, 0, 0, 0, 0},
10345 {0x56, 0x8, 0x8, 0, 0},
10346 {0x57, 0x8, 0x8, 0, 0},
10347 {0x58, 0x7, 0x7, 0, 0},
10348 {0x59, 0x22, 0x22, 0, 0},
10349 {0x5A, 0x22, 0x22, 0, 0},
10350 {0x5B, 0x2, 0x2, 0, 0},
10351 {0x5C, 0x4, 0x4, 1, 1},
10352 {0x5D, 0x7, 0x7, 0, 0},
10353 {0x5E, 0x55, 0x55, 0, 0},
10354 {0x5F, 0x23, 0x23, 0, 0},
10355 {0x60, 0x41, 0x41, 0, 0},
10356 {0x61, 0x1, 0x1, 0, 0},
10357 {0x62, 0xa, 0xa, 0, 0},
10358 {0x63, 0, 0, 0, 0},
10359 {0x64, 0, 0, 0, 0},
10360 {0x65, 0, 0, 0, 0},
10361 {0x66, 0, 0, 0, 0},
10362 {0x67, 0, 0, 0, 0},
10363 {0x68, 0, 0, 0, 0},
10364 {0x69, 0, 0, 0, 0},
10365 {0x6A, 0, 0, 0, 0},
10366 {0x6B, 0xc, 0xc, 0, 0},
10367 {0x6C, 0, 0, 0, 0},
10368 {0x6D, 0, 0, 0, 0},
10369 {0x6E, 0, 0, 0, 0},
10370 {0x6F, 0, 0, 0, 0},
10371 {0x70, 0, 0, 0, 0},
10372 {0x71, 0, 0, 0, 0},
10373 {0x72, 0x22, 0x22, 0, 0},
10374 {0x73, 0x22, 0x22, 0, 0},
10375 {0x74, 0, 0, 1, 1},
10376 {0x75, 0xa, 0xa, 0, 0},
10377 {0x76, 0x1, 0x1, 0, 0},
10378 {0x77, 0x22, 0x22, 0, 0},
10379 {0x78, 0x30, 0x30, 0, 0},
10380 {0x79, 0, 0, 0, 0},
10381 {0x7A, 0, 0, 0, 0},
10382 {0x7B, 0, 0, 0, 0},
10383 {0x7C, 0, 0, 0, 0},
10384 {0x7D, 0, 0, 0, 0},
10385 {0x7E, 0, 0, 0, 0},
10386 {0x7F, 0, 0, 0, 0},
10387 {0x80, 0, 0, 0, 0},
10388 {0x81, 0, 0, 0, 0},
10389 {0x82, 0, 0, 0, 0},
10390 {0x83, 0, 0, 0, 0},
10391 {0x84, 0, 0, 0, 0},
10392 {0x85, 0, 0, 0, 0},
10393 {0x86, 0, 0, 0, 0},
10394 {0x87, 0, 0, 0, 0},
10395 {0x88, 0, 0, 0, 0},
10396 {0x89, 0, 0, 0, 0},
10397 {0x8A, 0, 0, 0, 0},
10398 {0x8B, 0, 0, 0, 0},
10399 {0x8C, 0, 0, 0, 0},
10400 {0x8D, 0, 0, 0, 0},
10401 {0x8E, 0, 0, 0, 0},
10402 {0x8F, 0, 0, 0, 0},
10403 {0x90, 0, 0, 0, 0},
10404 {0x91, 0, 0, 0, 0},
10405 {0x92, 0, 0, 0, 0},
10406 {0x93, 0, 0, 0, 0},
10407 {0x94, 0, 0, 0, 0},
10408 {0xFFFF, 0, 0, 0, 0},
10411 radio_regs_t regs_SYN_2056_rev8[] = {
10412 {0x02, 0, 0, 0, 0},
10413 {0x03, 0, 0, 0, 0},
10414 {0x04, 0, 0, 0, 0},
10415 {0x05, 0, 0, 0, 0},
10416 {0x06, 0, 0, 0, 0},
10417 {0x07, 0, 0, 0, 0},
10418 {0x08, 0, 0, 0, 0},
10419 {0x09, 0x1, 0x1, 0, 0},
10420 {0x0A, 0, 0, 0, 0},
10421 {0x0B, 0, 0, 0, 0},
10422 {0x0C, 0, 0, 0, 0},
10423 {0x0D, 0, 0, 0, 0},
10424 {0x0E, 0, 0, 0, 0},
10425 {0x0F, 0, 0, 0, 0},
10426 {0x10, 0, 0, 0, 0},
10427 {0x11, 0, 0, 0, 0},
10428 {0x12, 0, 0, 0, 0},
10429 {0x13, 0, 0, 0, 0},
10430 {0x14, 0, 0, 0, 0},
10431 {0x15, 0, 0, 0, 0},
10432 {0x16, 0, 0, 0, 0},
10433 {0x17, 0, 0, 0, 0},
10434 {0x18, 0, 0, 0, 0},
10435 {0x19, 0, 0, 0, 0},
10436 {0x1A, 0, 0, 0, 0},
10437 {0x1B, 0, 0, 0, 0},
10438 {0x1C, 0, 0, 0, 0},
10439 {0x1D, 0, 0, 0, 0},
10440 {0x1E, 0, 0, 0, 0},
10441 {0x1F, 0, 0, 0, 0},
10442 {0x20, 0, 0, 0, 0},
10443 {0x21, 0, 0, 0, 0},
10444 {0x22, 0x60, 0x60, 0, 0},
10445 {0x23, 0x6, 0x6, 0, 0},
10446 {0x24, 0xc, 0xc, 0, 0},
10447 {0x25, 0, 0, 0, 0},
10448 {0x26, 0, 0, 0, 0},
10449 {0x27, 0, 0, 0, 0},
10450 {0x28, 0x1, 0x1, 0, 0},
10451 {0x29, 0, 0, 0, 0},
10452 {0x2A, 0, 0, 0, 0},
10453 {0x2B, 0, 0, 0, 0},
10454 {0x2C, 0, 0, 0, 0},
10455 {0x2D, 0, 0, 0, 0},
10456 {0x2E, 0, 0, 0, 0},
10457 {0x2F, 0x1f, 0x1f, 0, 0},
10458 {0x30, 0x15, 0x15, 0, 0},
10459 {0x31, 0xf, 0xf, 0, 0},
10460 {0x32, 0, 0, 0, 0},
10461 {0x33, 0, 0, 0, 0},
10462 {0x34, 0, 0, 0, 0},
10463 {0x35, 0, 0, 0, 0},
10464 {0x36, 0, 0, 0, 0},
10465 {0x37, 0, 0, 0, 0},
10466 {0x38, 0, 0, 0, 0},
10467 {0x39, 0, 0, 0, 0},
10468 {0x3A, 0, 0, 0, 0},
10469 {0x3B, 0, 0, 0, 0},
10470 {0x3C, 0x13, 0x13, 0, 0},
10471 {0x3D, 0xf, 0xf, 0, 0},
10472 {0x3E, 0x18, 0x18, 0, 0},
10473 {0x3F, 0, 0, 0, 0},
10474 {0x40, 0, 0, 0, 0},
10475 {0x41, 0x20, 0x20, 0, 0},
10476 {0x42, 0x20, 0x20, 0, 0},
10477 {0x43, 0, 0, 0, 0},
10478 {0x44, 0x77, 0x77, 0, 0},
10479 {0x45, 0x7, 0x7, 0, 0},
10480 {0x46, 0x1, 0x1, 0, 0},
10481 {0x47, 0x4, 0x4, 0, 0},
10482 {0x48, 0xf, 0xf, 0, 0},
10483 {0x49, 0x30, 0x30, 0, 0},
10484 {0x4A, 0x32, 0x32, 0, 0},
10485 {0x4B, 0xd, 0xd, 0, 0},
10486 {0x4C, 0xd, 0xd, 0, 0},
10487 {0x4D, 0x4, 0x4, 0, 0},
10488 {0x4E, 0x6, 0x6, 0, 0},
10489 {0x4F, 0x1, 0x1, 0, 0},
10490 {0x50, 0x1c, 0x1c, 0, 0},
10491 {0x51, 0x2, 0x2, 0, 0},
10492 {0x52, 0x2, 0x2, 0, 0},
10493 {0x53, 0xf7, 0xf7, 1, 1},
10494 {0x54, 0xb4, 0xb4, 0, 0},
10495 {0x55, 0xd2, 0xd2, 0, 0},
10496 {0x56, 0, 0, 0, 0},
10497 {0x57, 0, 0, 0, 0},
10498 {0x58, 0x4, 0x4, 0, 0},
10499 {0x59, 0x96, 0x96, 0, 0},
10500 {0x5A, 0x3e, 0x3e, 0, 0},
10501 {0x5B, 0x3e, 0x3e, 0, 0},
10502 {0x5C, 0x13, 0x13, 0, 0},
10503 {0x5D, 0x2, 0x2, 0, 0},
10504 {0x5E, 0, 0, 0, 0},
10505 {0x5F, 0x7, 0x7, 0, 0},
10506 {0x60, 0x7, 0x7, 1, 1},
10507 {0x61, 0x8, 0x8, 0, 0},
10508 {0x62, 0x3, 0x3, 0, 0},
10509 {0x63, 0, 0, 0, 0},
10510 {0x64, 0, 0, 0, 0},
10511 {0x65, 0, 0, 0, 0},
10512 {0x66, 0, 0, 0, 0},
10513 {0x67, 0, 0, 0, 0},
10514 {0x68, 0x40, 0x40, 0, 0},
10515 {0x69, 0, 0, 0, 0},
10516 {0x6A, 0, 0, 0, 0},
10517 {0x6B, 0, 0, 0, 0},
10518 {0x6C, 0, 0, 0, 0},
10519 {0x6D, 0x1, 0x1, 0, 0},
10520 {0x6E, 0, 0, 0, 0},
10521 {0x6F, 0, 0, 0, 0},
10522 {0x70, 0x60, 0x60, 0, 0},
10523 {0x71, 0x66, 0x66, 0, 0},
10524 {0x72, 0xc, 0xc, 0, 0},
10525 {0x73, 0x66, 0x66, 0, 0},
10526 {0x74, 0x8f, 0x8f, 1, 1},
10527 {0x75, 0, 0, 0, 0},
10528 {0x76, 0xcc, 0xcc, 0, 0},
10529 {0x77, 0x1, 0x1, 0, 0},
10530 {0x78, 0x66, 0x66, 0, 0},
10531 {0x79, 0x66, 0x66, 0, 0},
10532 {0x7A, 0, 0, 0, 0},
10533 {0x7B, 0, 0, 0, 0},
10534 {0x7C, 0, 0, 0, 0},
10535 {0x7D, 0, 0, 0, 0},
10536 {0x7E, 0, 0, 0, 0},
10537 {0x7F, 0, 0, 0, 0},
10538 {0x80, 0, 0, 0, 0},
10539 {0x81, 0, 0, 0, 0},
10540 {0x82, 0, 0, 0, 0},
10541 {0x83, 0, 0, 0, 0},
10542 {0x84, 0, 0, 0, 0},
10543 {0x85, 0xff, 0xff, 0, 0},
10544 {0x86, 0, 0, 0, 0},
10545 {0x87, 0, 0, 0, 0},
10546 {0x88, 0, 0, 0, 0},
10547 {0x89, 0, 0, 0, 0},
10548 {0x8A, 0, 0, 0, 0},
10549 {0x8B, 0, 0, 0, 0},
10550 {0x8C, 0, 0, 0, 0},
10551 {0x8D, 0, 0, 0, 0},
10552 {0x8E, 0, 0, 0, 0},
10553 {0x8F, 0, 0, 0, 0},
10554 {0x90, 0, 0, 0, 0},
10555 {0x91, 0, 0, 0, 0},
10556 {0x92, 0, 0, 0, 0},
10557 {0x93, 0, 0, 0, 0},
10558 {0x94, 0, 0, 0, 0},
10559 {0x95, 0, 0, 0, 0},
10560 {0x96, 0, 0, 0, 0},
10561 {0x97, 0, 0, 0, 0},
10562 {0x98, 0, 0, 0, 0},
10563 {0x99, 0, 0, 0, 0},
10564 {0x9A, 0, 0, 0, 0},
10565 {0x9B, 0, 0, 0, 0},
10566 {0x9C, 0, 0, 0, 0},
10567 {0x9D, 0, 0, 0, 0},
10568 {0x9E, 0, 0, 0, 0},
10569 {0x9F, 0x6, 0x6, 0, 0},
10570 {0xA0, 0x66, 0x66, 0, 0},
10571 {0xA1, 0x66, 0x66, 0, 0},
10572 {0xA2, 0x66, 0x66, 0, 0},
10573 {0xA3, 0x66, 0x66, 0, 0},
10574 {0xA4, 0x66, 0x66, 0, 0},
10575 {0xA5, 0x66, 0x66, 0, 0},
10576 {0xA6, 0x66, 0x66, 0, 0},
10577 {0xA7, 0x66, 0x66, 0, 0},
10578 {0xA8, 0x66, 0x66, 0, 0},
10579 {0xA9, 0x66, 0x66, 0, 0},
10580 {0xAA, 0x66, 0x66, 0, 0},
10581 {0xAB, 0x66, 0x66, 0, 0},
10582 {0xAC, 0x66, 0x66, 0, 0},
10583 {0xAD, 0x66, 0x66, 0, 0},
10584 {0xAE, 0x66, 0x66, 0, 0},
10585 {0xAF, 0x66, 0x66, 0, 0},
10586 {0xB0, 0x66, 0x66, 0, 0},
10587 {0xB1, 0x66, 0x66, 0, 0},
10588 {0xB2, 0x66, 0x66, 0, 0},
10589 {0xB3, 0xa, 0xa, 0, 0},
10590 {0xB4, 0, 0, 0, 0},
10591 {0xB5, 0, 0, 0, 0},
10592 {0xB6, 0, 0, 0, 0},
10593 {0xFFFF, 0, 0, 0, 0},
10596 radio_regs_t regs_TX_2056_rev8[] = {
10597 {0x02, 0, 0, 0, 0},
10598 {0x03, 0, 0, 0, 0},
10599 {0x04, 0, 0, 0, 0},
10600 {0x05, 0, 0, 0, 0},
10601 {0x06, 0, 0, 0, 0},
10602 {0x07, 0, 0, 0, 0},
10603 {0x08, 0, 0, 0, 0},
10604 {0x09, 0, 0, 0, 0},
10605 {0x0A, 0, 0, 0, 0},
10606 {0x0B, 0, 0, 0, 0},
10607 {0x0C, 0, 0, 0, 0},
10608 {0x0D, 0, 0, 0, 0},
10609 {0x0E, 0, 0, 0, 0},
10610 {0x0F, 0, 0, 0, 0},
10611 {0x10, 0, 0, 0, 0},
10612 {0x11, 0, 0, 0, 0},
10613 {0x12, 0, 0, 0, 0},
10614 {0x13, 0, 0, 0, 0},
10615 {0x14, 0, 0, 0, 0},
10616 {0x15, 0, 0, 0, 0},
10617 {0x16, 0, 0, 0, 0},
10618 {0x17, 0, 0, 0, 0},
10619 {0x18, 0, 0, 0, 0},
10620 {0x19, 0, 0, 0, 0},
10621 {0x1A, 0, 0, 0, 0},
10622 {0x1B, 0, 0, 0, 0},
10623 {0x1C, 0, 0, 0, 0},
10624 {0x1D, 0, 0, 0, 0},
10625 {0x1E, 0, 0, 0, 0},
10626 {0x1F, 0, 0, 0, 0},
10627 {0x20, 0, 0, 0, 0},
10628 {0x21, 0x88, 0x88, 0, 0},
10629 {0x22, 0x88, 0x88, 0, 0},
10630 {0x23, 0x88, 0x88, 0, 0},
10631 {0x24, 0x88, 0x88, 0, 0},
10632 {0x25, 0xc, 0xc, 0, 0},
10633 {0x26, 0, 0, 0, 0},
10634 {0x27, 0x3, 0x3, 0, 0},
10635 {0x28, 0, 0, 0, 0},
10636 {0x29, 0x3, 0x3, 0, 0},
10637 {0x2A, 0x37, 0x37, 0, 0},
10638 {0x2B, 0x3, 0x3, 0, 0},
10639 {0x2C, 0, 0, 0, 0},
10640 {0x2D, 0, 0, 0, 0},
10641 {0x2E, 0x1, 0x1, 0, 0},
10642 {0x2F, 0x1, 0x1, 0, 0},
10643 {0x30, 0, 0, 0, 0},
10644 {0x31, 0, 0, 0, 0},
10645 {0x32, 0, 0, 0, 0},
10646 {0x33, 0x11, 0x11, 0, 0},
10647 {0x34, 0xee, 0xee, 1, 1},
10648 {0x35, 0, 0, 0, 0},
10649 {0x36, 0, 0, 0, 0},
10650 {0x37, 0x3, 0x3, 0, 0},
10651 {0x38, 0x50, 0x50, 1, 1},
10652 {0x39, 0, 0, 0, 0},
10653 {0x3A, 0x50, 0x50, 1, 1},
10654 {0x3B, 0, 0, 0, 0},
10655 {0x3C, 0x6e, 0x6e, 0, 0},
10656 {0x3D, 0xf0, 0xf0, 1, 1},
10657 {0x3E, 0, 0, 0, 0},
10658 {0x3F, 0, 0, 0, 0},
10659 {0x40, 0, 0, 0, 0},
10660 {0x41, 0x3, 0x3, 0, 0},
10661 {0x42, 0x3, 0x3, 0, 0},
10662 {0x43, 0, 0, 0, 0},
10663 {0x44, 0x1e, 0x1e, 0, 0},
10664 {0x45, 0, 0, 0, 0},
10665 {0x46, 0x6e, 0x6e, 0, 0},
10666 {0x47, 0xf0, 0xf0, 1, 1},
10667 {0x48, 0, 0, 0, 0},
10668 {0x49, 0x2, 0x2, 0, 0},
10669 {0x4A, 0xff, 0xff, 1, 1},
10670 {0x4B, 0xc, 0xc, 0, 0},
10671 {0x4C, 0, 0, 0, 0},
10672 {0x4D, 0x38, 0x38, 0, 0},
10673 {0x4E, 0x70, 0x70, 1, 1},
10674 {0x4F, 0x2, 0x2, 0, 0},
10675 {0x50, 0x88, 0x88, 0, 0},
10676 {0x51, 0xc, 0xc, 0, 0},
10677 {0x52, 0, 0, 0, 0},
10678 {0x53, 0x8, 0x8, 0, 0},
10679 {0x54, 0x70, 0x70, 1, 1},
10680 {0x55, 0x2, 0x2, 0, 0},
10681 {0x56, 0xff, 0xff, 1, 1},
10682 {0x57, 0, 0, 0, 0},
10683 {0x58, 0x83, 0x83, 0, 0},
10684 {0x59, 0x77, 0x77, 1, 1},
10685 {0x5A, 0, 0, 0, 0},
10686 {0x5B, 0x2, 0x2, 0, 0},
10687 {0x5C, 0x88, 0x88, 0, 0},
10688 {0x5D, 0, 0, 0, 0},
10689 {0x5E, 0x8, 0x8, 0, 0},
10690 {0x5F, 0x77, 0x77, 1, 1},
10691 {0x60, 0x1, 0x1, 0, 0},
10692 {0x61, 0, 0, 0, 0},
10693 {0x62, 0x7, 0x7, 0, 0},
10694 {0x63, 0, 0, 0, 0},
10695 {0x64, 0x7, 0x7, 0, 0},
10696 {0x65, 0, 0, 0, 0},
10697 {0x66, 0, 0, 0, 0},
10698 {0x67, 0, 0, 1, 1},
10699 {0x68, 0, 0, 0, 0},
10700 {0x69, 0xa, 0xa, 0, 0},
10701 {0x6A, 0, 0, 0, 0},
10702 {0x6B, 0, 0, 0, 0},
10703 {0x6C, 0, 0, 0, 0},
10704 {0x6D, 0, 0, 0, 0},
10705 {0x6E, 0, 0, 0, 0},
10706 {0x6F, 0, 0, 0, 0},
10707 {0x70, 0, 0, 0, 0},
10708 {0x71, 0x2, 0x2, 0, 0},
10709 {0x72, 0, 0, 0, 0},
10710 {0x73, 0, 0, 0, 0},
10711 {0x74, 0xe, 0xe, 0, 0},
10712 {0x75, 0xe, 0xe, 0, 0},
10713 {0x76, 0xe, 0xe, 0, 0},
10714 {0x77, 0x13, 0x13, 0, 0},
10715 {0x78, 0x13, 0x13, 0, 0},
10716 {0x79, 0x1b, 0x1b, 0, 0},
10717 {0x7A, 0x1b, 0x1b, 0, 0},
10718 {0x7B, 0x55, 0x55, 0, 0},
10719 {0x7C, 0x5b, 0x5b, 0, 0},
10720 {0x7D, 0x30, 0x30, 1, 1},
10721 {0x7E, 0, 0, 0, 0},
10722 {0x7F, 0, 0, 0, 0},
10723 {0x80, 0, 0, 0, 0},
10724 {0x81, 0, 0, 0, 0},
10725 {0x82, 0, 0, 0, 0},
10726 {0x83, 0, 0, 0, 0},
10727 {0x84, 0, 0, 0, 0},
10728 {0x85, 0, 0, 0, 0},
10729 {0x86, 0, 0, 0, 0},
10730 {0x87, 0, 0, 0, 0},
10731 {0x88, 0, 0, 0, 0},
10732 {0x89, 0, 0, 0, 0},
10733 {0x8A, 0, 0, 0, 0},
10734 {0x8B, 0, 0, 0, 0},
10735 {0x8C, 0, 0, 0, 0},
10736 {0x8D, 0, 0, 0, 0},
10737 {0x8E, 0, 0, 0, 0},
10738 {0x8F, 0, 0, 0, 0},
10739 {0x90, 0, 0, 0, 0},
10740 {0x91, 0, 0, 0, 0},
10741 {0x92, 0, 0, 0, 0},
10742 {0x93, 0x70, 0x70, 0, 0},
10743 {0x94, 0x70, 0x70, 0, 0},
10744 {0x95, 0x70, 0x70, 0, 0},
10745 {0x96, 0x70, 0x70, 0, 0},
10746 {0x97, 0x70, 0x70, 0, 0},
10747 {0x98, 0x70, 0x70, 0, 0},
10748 {0x99, 0x70, 0x70, 0, 0},
10749 {0x9A, 0x70, 0x70, 0, 0},
10750 {0xFFFF, 0, 0, 0, 0},
10753 radio_regs_t regs_RX_2056_rev8[] = {
10754 {0x02, 0, 0, 0, 0},
10755 {0x03, 0, 0, 0, 0},
10756 {0x04, 0, 0, 0, 0},
10757 {0x05, 0, 0, 0, 0},
10758 {0x06, 0, 0, 0, 0},
10759 {0x07, 0, 0, 0, 0},
10760 {0x08, 0, 0, 0, 0},
10761 {0x09, 0, 0, 0, 0},
10762 {0x0A, 0, 0, 0, 0},
10763 {0x0B, 0, 0, 0, 0},
10764 {0x0C, 0, 0, 0, 0},
10765 {0x0D, 0, 0, 0, 0},
10766 {0x0E, 0, 0, 0, 0},
10767 {0x0F, 0, 0, 0, 0},
10768 {0x10, 0, 0, 0, 0},
10769 {0x11, 0, 0, 0, 0},
10770 {0x12, 0, 0, 0, 0},
10771 {0x13, 0, 0, 0, 0},
10772 {0x14, 0, 0, 0, 0},
10773 {0x15, 0, 0, 0, 0},
10774 {0x16, 0, 0, 0, 0},
10775 {0x17, 0, 0, 0, 0},
10776 {0x18, 0, 0, 0, 0},
10777 {0x19, 0, 0, 0, 0},
10778 {0x1A, 0, 0, 0, 0},
10779 {0x1B, 0, 0, 0, 0},
10780 {0x1C, 0, 0, 0, 0},
10781 {0x1D, 0, 0, 0, 0},
10782 {0x1E, 0, 0, 0, 0},
10783 {0x1F, 0, 0, 0, 0},
10784 {0x20, 0x3, 0x3, 0, 0},
10785 {0x21, 0, 0, 0, 0},
10786 {0x22, 0, 0, 0, 0},
10787 {0x23, 0x90, 0x90, 0, 0},
10788 {0x24, 0x55, 0x55, 0, 0},
10789 {0x25, 0x15, 0x15, 0, 0},
10790 {0x26, 0x5, 0x5, 0, 0},
10791 {0x27, 0x15, 0x15, 0, 0},
10792 {0x28, 0x5, 0x5, 0, 0},
10793 {0x29, 0x20, 0x20, 0, 0},
10794 {0x2A, 0x11, 0x11, 0, 0},
10795 {0x2B, 0x90, 0x90, 0, 0},
10796 {0x2C, 0, 0, 0, 0},
10797 {0x2D, 0x88, 0x88, 0, 0},
10798 {0x2E, 0x32, 0x32, 0, 0},
10799 {0x2F, 0x77, 0x77, 0, 0},
10800 {0x30, 0x17, 0x17, 1, 1},
10801 {0x31, 0xff, 0xff, 1, 1},
10802 {0x32, 0x20, 0x20, 0, 0},
10803 {0x33, 0, 0, 0, 0},
10804 {0x34, 0x88, 0x88, 0, 0},
10805 {0x35, 0x32, 0x32, 0, 0},
10806 {0x36, 0x77, 0x77, 0, 0},
10807 {0x37, 0x17, 0x17, 1, 1},
10808 {0x38, 0xf0, 0xf0, 1, 1},
10809 {0x39, 0x20, 0x20, 0, 0},
10810 {0x3A, 0x8, 0x8, 0, 0},
10811 {0x3B, 0x55, 0x55, 1, 1},
10812 {0x3C, 0, 0, 0, 0},
10813 {0x3D, 0x88, 0x88, 1, 1},
10814 {0x3E, 0, 0, 0, 0},
10815 {0x3F, 0x44, 0x44, 0, 0},
10816 {0x40, 0x7, 0x7, 1, 1},
10817 {0x41, 0x6, 0x6, 0, 0},
10818 {0x42, 0x4, 0x4, 0, 0},
10819 {0x43, 0, 0, 0, 0},
10820 {0x44, 0x8, 0x8, 0, 0},
10821 {0x45, 0x55, 0x55, 1, 1},
10822 {0x46, 0, 0, 0, 0},
10823 {0x47, 0x11, 0x11, 0, 0},
10824 {0x48, 0, 0, 0, 0},
10825 {0x49, 0x44, 0x44, 0, 0},
10826 {0x4A, 0x7, 0x7, 0, 0},
10827 {0x4B, 0x6, 0x6, 0, 0},
10828 {0x4C, 0x4, 0x4, 0, 0},
10829 {0x4D, 0, 0, 0, 0},
10830 {0x4E, 0, 0, 0, 0},
10831 {0x4F, 0x26, 0x26, 1, 1},
10832 {0x50, 0x26, 0x26, 1, 1},
10833 {0x51, 0xf, 0xf, 1, 1},
10834 {0x52, 0xf, 0xf, 1, 1},
10835 {0x53, 0x44, 0x44, 0, 0},
10836 {0x54, 0, 0, 0, 0},
10837 {0x55, 0, 0, 0, 0},
10838 {0x56, 0x8, 0x8, 0, 0},
10839 {0x57, 0x8, 0x8, 0, 0},
10840 {0x58, 0x7, 0x7, 0, 0},
10841 {0x59, 0x22, 0x22, 0, 0},
10842 {0x5A, 0x22, 0x22, 0, 0},
10843 {0x5B, 0x2, 0x2, 0, 0},
10844 {0x5C, 0x4, 0x4, 1, 1},
10845 {0x5D, 0x7, 0x7, 0, 0},
10846 {0x5E, 0x55, 0x55, 0, 0},
10847 {0x5F, 0x23, 0x23, 0, 0},
10848 {0x60, 0x41, 0x41, 0, 0},
10849 {0x61, 0x1, 0x1, 0, 0},
10850 {0x62, 0xa, 0xa, 0, 0},
10851 {0x63, 0, 0, 0, 0},
10852 {0x64, 0, 0, 0, 0},
10853 {0x65, 0, 0, 0, 0},
10854 {0x66, 0, 0, 0, 0},
10855 {0x67, 0, 0, 0, 0},
10856 {0x68, 0, 0, 0, 0},
10857 {0x69, 0, 0, 0, 0},
10858 {0x6A, 0, 0, 0, 0},
10859 {0x6B, 0xc, 0xc, 0, 0},
10860 {0x6C, 0, 0, 0, 0},
10861 {0x6D, 0, 0, 0, 0},
10862 {0x6E, 0, 0, 0, 0},
10863 {0x6F, 0, 0, 0, 0},
10864 {0x70, 0, 0, 0, 0},
10865 {0x71, 0, 0, 0, 0},
10866 {0x72, 0x22, 0x22, 0, 0},
10867 {0x73, 0x22, 0x22, 0, 0},
10868 {0x74, 0, 0, 1, 1},
10869 {0x75, 0xa, 0xa, 0, 0},
10870 {0x76, 0x1, 0x1, 0, 0},
10871 {0x77, 0x22, 0x22, 0, 0},
10872 {0x78, 0x30, 0x30, 0, 0},
10873 {0x79, 0, 0, 0, 0},
10874 {0x7A, 0, 0, 0, 0},
10875 {0x7B, 0, 0, 0, 0},
10876 {0x7C, 0, 0, 0, 0},
10877 {0x7D, 0x5, 0x5, 1, 1},
10878 {0x7E, 0, 0, 0, 0},
10879 {0x7F, 0, 0, 0, 0},
10880 {0x80, 0, 0, 0, 0},
10881 {0x81, 0, 0, 0, 0},
10882 {0x82, 0, 0, 0, 0},
10883 {0x83, 0, 0, 0, 0},
10884 {0x84, 0, 0, 0, 0},
10885 {0x85, 0, 0, 0, 0},
10886 {0x86, 0, 0, 0, 0},
10887 {0x87, 0, 0, 0, 0},
10888 {0x88, 0, 0, 0, 0},
10889 {0x89, 0, 0, 0, 0},
10890 {0x8A, 0, 0, 0, 0},
10891 {0x8B, 0, 0, 0, 0},
10892 {0x8C, 0, 0, 0, 0},
10893 {0x8D, 0, 0, 0, 0},
10894 {0x8E, 0, 0, 0, 0},
10895 {0x8F, 0, 0, 0, 0},
10896 {0x90, 0, 0, 0, 0},
10897 {0x91, 0, 0, 0, 0},
10898 {0x92, 0, 0, 0, 0},
10899 {0x93, 0, 0, 0, 0},
10900 {0x94, 0, 0, 0, 0},
10901 {0xFFFF, 0, 0, 0, 0},
10904 radio_regs_t regs_SYN_2056_rev11[] = {
10905 {0x02, 0, 0, 0, 0},
10906 {0x03, 0, 0, 0, 0},
10907 {0x04, 0, 0, 0, 0},
10908 {0x05, 0, 0, 0, 0},
10909 {0x06, 0, 0, 0, 0},
10910 {0x07, 0, 0, 0, 0},
10911 {0x08, 0, 0, 0, 0},
10912 {0x09, 0x1, 0x1, 0, 0},
10913 {0x0A, 0, 0, 0, 0},
10914 {0x0B, 0, 0, 0, 0},
10915 {0x0C, 0, 0, 0, 0},
10916 {0x0D, 0, 0, 0, 0},
10917 {0x0E, 0, 0, 0, 0},
10918 {0x0F, 0, 0, 0, 0},
10919 {0x10, 0, 0, 0, 0},
10920 {0x11, 0, 0, 0, 0},
10921 {0x12, 0, 0, 0, 0},
10922 {0x13, 0, 0, 0, 0},
10923 {0x14, 0, 0, 0, 0},
10924 {0x15, 0, 0, 0, 0},
10925 {0x16, 0, 0, 0, 0},
10926 {0x17, 0, 0, 0, 0},
10927 {0x18, 0, 0, 0, 0},
10928 {0x19, 0, 0, 0, 0},
10929 {0x1A, 0, 0, 0, 0},
10930 {0x1B, 0, 0, 0, 0},
10931 {0x1C, 0, 0, 0, 0},
10932 {0x1D, 0, 0, 0, 0},
10933 {0x1E, 0, 0, 0, 0},
10934 {0x1F, 0, 0, 0, 0},
10935 {0x20, 0, 0, 0, 0},
10936 {0x21, 0, 0, 0, 0},
10937 {0x22, 0x60, 0x60, 0, 0},
10938 {0x23, 0x6, 0x6, 0, 0},
10939 {0x24, 0xc, 0xc, 0, 0},
10940 {0x25, 0, 0, 0, 0},
10941 {0x26, 0, 0, 0, 0},
10942 {0x27, 0, 0, 0, 0},
10943 {0x28, 0x1, 0x1, 0, 0},
10944 {0x29, 0, 0, 0, 0},
10945 {0x2A, 0, 0, 0, 0},
10946 {0x2B, 0, 0, 0, 0},
10947 {0x2C, 0, 0, 0, 0},
10948 {0x2D, 0, 0, 0, 0},
10949 {0x2E, 0, 0, 0, 0},
10950 {0x2F, 0x1f, 0x1f, 0, 0},
10951 {0x30, 0x15, 0x15, 0, 0},
10952 {0x31, 0xf, 0xf, 0, 0},
10953 {0x32, 0, 0, 0, 0},
10954 {0x33, 0, 0, 0, 0},
10955 {0x34, 0, 0, 0, 0},
10956 {0x35, 0, 0, 0, 0},
10957 {0x36, 0, 0, 0, 0},
10958 {0x37, 0, 0, 0, 0},
10959 {0x38, 0, 0, 0, 0},
10960 {0x39, 0, 0, 0, 0},
10961 {0x3A, 0, 0, 0, 0},
10962 {0x3B, 0, 0, 0, 0},
10963 {0x3C, 0x13, 0x13, 0, 0},
10964 {0x3D, 0xf, 0xf, 0, 0},
10965 {0x3E, 0x18, 0x18, 0, 0},
10966 {0x3F, 0, 0, 0, 0},
10967 {0x40, 0, 0, 0, 0},
10968 {0x41, 0x20, 0x20, 0, 0},
10969 {0x42, 0x20, 0x20, 0, 0},
10970 {0x43, 0, 0, 0, 0},
10971 {0x44, 0x77, 0x77, 0, 0},
10972 {0x45, 0x7, 0x7, 0, 0},
10973 {0x46, 0x1, 0x1, 0, 0},
10974 {0x47, 0x6, 0x6, 1, 1},
10975 {0x48, 0xf, 0xf, 0, 0},
10976 {0x49, 0x3f, 0x3f, 1, 1},
10977 {0x4A, 0x32, 0x32, 0, 0},
10978 {0x4B, 0x6, 0x6, 1, 1},
10979 {0x4C, 0x6, 0x6, 1, 1},
10980 {0x4D, 0x4, 0x4, 0, 0},
10981 {0x4E, 0x2b, 0x2b, 1, 1},
10982 {0x4F, 0x1, 0x1, 0, 0},
10983 {0x50, 0x1c, 0x1c, 0, 0},
10984 {0x51, 0x2, 0x2, 0, 0},
10985 {0x52, 0x2, 0x2, 0, 0},
10986 {0x53, 0xf7, 0xf7, 1, 1},
10987 {0x54, 0xb4, 0xb4, 0, 0},
10988 {0x55, 0xd2, 0xd2, 0, 0},
10989 {0x56, 0, 0, 0, 0},
10990 {0x57, 0, 0, 0, 0},
10991 {0x58, 0x4, 0x4, 0, 0},
10992 {0x59, 0x96, 0x96, 0, 0},
10993 {0x5A, 0x3e, 0x3e, 0, 0},
10994 {0x5B, 0x3e, 0x3e, 0, 0},
10995 {0x5C, 0x13, 0x13, 0, 0},
10996 {0x5D, 0x2, 0x2, 0, 0},
10997 {0x5E, 0, 0, 0, 0},
10998 {0x5F, 0x7, 0x7, 0, 0},
10999 {0x60, 0x7, 0x7, 1, 1},
11000 {0x61, 0x8, 0x8, 0, 0},
11001 {0x62, 0x3, 0x3, 0, 0},
11002 {0x63, 0, 0, 0, 0},
11003 {0x64, 0, 0, 0, 0},
11004 {0x65, 0, 0, 0, 0},
11005 {0x66, 0, 0, 0, 0},
11006 {0x67, 0, 0, 0, 0},
11007 {0x68, 0x40, 0x40, 0, 0},
11008 {0x69, 0, 0, 0, 0},
11009 {0x6A, 0, 0, 0, 0},
11010 {0x6B, 0, 0, 0, 0},
11011 {0x6C, 0, 0, 0, 0},
11012 {0x6D, 0x1, 0x1, 0, 0},
11013 {0x6E, 0, 0, 0, 0},
11014 {0x6F, 0, 0, 0, 0},
11015 {0x70, 0x60, 0x60, 0, 0},
11016 {0x71, 0x66, 0x66, 0, 0},
11017 {0x72, 0xc, 0xc, 0, 0},
11018 {0x73, 0x66, 0x66, 0, 0},
11019 {0x74, 0x8f, 0x8f, 1, 1},
11020 {0x75, 0, 0, 0, 0},
11021 {0x76, 0xcc, 0xcc, 0, 0},
11022 {0x77, 0x1, 0x1, 0, 0},
11023 {0x78, 0x66, 0x66, 0, 0},
11024 {0x79, 0x66, 0x66, 0, 0},
11025 {0x7A, 0, 0, 0, 0},
11026 {0x7B, 0, 0, 0, 0},
11027 {0x7C, 0, 0, 0, 0},
11028 {0x7D, 0, 0, 0, 0},
11029 {0x7E, 0, 0, 0, 0},
11030 {0x7F, 0, 0, 0, 0},
11031 {0x80, 0, 0, 0, 0},
11032 {0x81, 0, 0, 0, 0},
11033 {0x82, 0, 0, 0, 0},
11034 {0x83, 0, 0, 0, 0},
11035 {0x84, 0, 0, 0, 0},
11036 {0x85, 0xff, 0xff, 0, 0},
11037 {0x86, 0, 0, 0, 0},
11038 {0x87, 0, 0, 0, 0},
11039 {0x88, 0, 0, 0, 0},
11040 {0x89, 0, 0, 0, 0},
11041 {0x8A, 0, 0, 0, 0},
11042 {0x8B, 0, 0, 0, 0},
11043 {0x8C, 0, 0, 0, 0},
11044 {0x8D, 0, 0, 0, 0},
11045 {0x8E, 0, 0, 0, 0},
11046 {0x8F, 0, 0, 0, 0},
11047 {0x90, 0, 0, 0, 0},
11048 {0x91, 0, 0, 0, 0},
11049 {0x92, 0, 0, 0, 0},
11050 {0x93, 0, 0, 0, 0},
11051 {0x94, 0, 0, 0, 0},
11052 {0x95, 0, 0, 0, 0},
11053 {0x96, 0, 0, 0, 0},
11054 {0x97, 0, 0, 0, 0},
11055 {0x98, 0, 0, 0, 0},
11056 {0x99, 0, 0, 0, 0},
11057 {0x9A, 0, 0, 0, 0},
11058 {0x9B, 0, 0, 0, 0},
11059 {0x9C, 0, 0, 0, 0},
11060 {0x9D, 0, 0, 0, 0},
11061 {0x9E, 0, 0, 0, 0},
11062 {0x9F, 0x6, 0x6, 0, 0},
11063 {0xA0, 0x66, 0x66, 0, 0},
11064 {0xA1, 0x66, 0x66, 0, 0},
11065 {0xA2, 0x66, 0x66, 0, 0},
11066 {0xA3, 0x66, 0x66, 0, 0},
11067 {0xA4, 0x66, 0x66, 0, 0},
11068 {0xA5, 0x66, 0x66, 0, 0},
11069 {0xA6, 0x66, 0x66, 0, 0},
11070 {0xA7, 0x66, 0x66, 0, 0},
11071 {0xA8, 0x66, 0x66, 0, 0},
11072 {0xA9, 0x66, 0x66, 0, 0},
11073 {0xAA, 0x66, 0x66, 0, 0},
11074 {0xAB, 0x66, 0x66, 0, 0},
11075 {0xAC, 0x66, 0x66, 0, 0},
11076 {0xAD, 0x66, 0x66, 0, 0},
11077 {0xAE, 0x66, 0x66, 0, 0},
11078 {0xAF, 0x66, 0x66, 0, 0},
11079 {0xB0, 0x66, 0x66, 0, 0},
11080 {0xB1, 0x66, 0x66, 0, 0},
11081 {0xB2, 0x66, 0x66, 0, 0},
11082 {0xB3, 0xa, 0xa, 0, 0},
11083 {0xB4, 0, 0, 0, 0},
11084 {0xB5, 0, 0, 0, 0},
11085 {0xB6, 0, 0, 0, 0},
11086 {0xFFFF, 0, 0, 0, 0},
11089 radio_regs_t regs_TX_2056_rev11[] = {
11090 {0x02, 0, 0, 0, 0},
11091 {0x03, 0, 0, 0, 0},
11092 {0x04, 0, 0, 0, 0},
11093 {0x05, 0, 0, 0, 0},
11094 {0x06, 0, 0, 0, 0},
11095 {0x07, 0, 0, 0, 0},
11096 {0x08, 0, 0, 0, 0},
11097 {0x09, 0, 0, 0, 0},
11098 {0x0A, 0, 0, 0, 0},
11099 {0x0B, 0, 0, 0, 0},
11100 {0x0C, 0, 0, 0, 0},
11101 {0x0D, 0, 0, 0, 0},
11102 {0x0E, 0, 0, 0, 0},
11103 {0x0F, 0, 0, 0, 0},
11104 {0x10, 0, 0, 0, 0},
11105 {0x11, 0, 0, 0, 0},
11106 {0x12, 0, 0, 0, 0},
11107 {0x13, 0, 0, 0, 0},
11108 {0x14, 0, 0, 0, 0},
11109 {0x15, 0, 0, 0, 0},
11110 {0x16, 0, 0, 0, 0},
11111 {0x17, 0, 0, 0, 0},
11112 {0x18, 0, 0, 0, 0},
11113 {0x19, 0, 0, 0, 0},
11114 {0x1A, 0, 0, 0, 0},
11115 {0x1B, 0, 0, 0, 0},
11116 {0x1C, 0, 0, 0, 0},
11117 {0x1D, 0, 0, 0, 0},
11118 {0x1E, 0, 0, 0, 0},
11119 {0x1F, 0, 0, 0, 0},
11120 {0x20, 0, 0, 0, 0},
11121 {0x21, 0x88, 0x88, 0, 0},
11122 {0x22, 0x88, 0x88, 0, 0},
11123 {0x23, 0x88, 0x88, 0, 0},
11124 {0x24, 0x88, 0x88, 0, 0},
11125 {0x25, 0xc, 0xc, 0, 0},
11126 {0x26, 0, 0, 0, 0},
11127 {0x27, 0x3, 0x3, 0, 0},
11128 {0x28, 0, 0, 0, 0},
11129 {0x29, 0x3, 0x3, 0, 0},
11130 {0x2A, 0x37, 0x37, 0, 0},
11131 {0x2B, 0x3, 0x3, 0, 0},
11132 {0x2C, 0, 0, 0, 0},
11133 {0x2D, 0, 0, 0, 0},
11134 {0x2E, 0x1, 0x1, 0, 0},
11135 {0x2F, 0x1, 0x1, 0, 0},
11136 {0x30, 0, 0, 0, 0},
11137 {0x31, 0, 0, 0, 0},
11138 {0x32, 0, 0, 0, 0},
11139 {0x33, 0x11, 0x11, 0, 0},
11140 {0x34, 0xee, 0xee, 1, 1},
11141 {0x35, 0, 0, 0, 0},
11142 {0x36, 0, 0, 0, 0},
11143 {0x37, 0x3, 0x3, 0, 0},
11144 {0x38, 0x50, 0x50, 1, 1},
11145 {0x39, 0, 0, 0, 0},
11146 {0x3A, 0x50, 0x50, 1, 1},
11147 {0x3B, 0, 0, 0, 0},
11148 {0x3C, 0x6e, 0x6e, 0, 0},
11149 {0x3D, 0xf0, 0xf0, 1, 1},
11150 {0x3E, 0, 0, 0, 0},
11151 {0x3F, 0, 0, 0, 0},
11152 {0x40, 0, 0, 0, 0},
11153 {0x41, 0x3, 0x3, 0, 0},
11154 {0x42, 0x3, 0x3, 0, 0},
11155 {0x43, 0, 0, 0, 0},
11156 {0x44, 0x1e, 0x1e, 0, 0},
11157 {0x45, 0, 0, 0, 0},
11158 {0x46, 0x6e, 0x6e, 0, 0},
11159 {0x47, 0xf0, 0xf0, 1, 1},
11160 {0x48, 0, 0, 0, 0},
11161 {0x49, 0x2, 0x2, 0, 0},
11162 {0x4A, 0xff, 0xff, 1, 1},
11163 {0x4B, 0xc, 0xc, 0, 0},
11164 {0x4C, 0, 0, 0, 0},
11165 {0x4D, 0x38, 0x38, 0, 0},
11166 {0x4E, 0x70, 0x70, 1, 1},
11167 {0x4F, 0x2, 0x2, 0, 0},
11168 {0x50, 0x88, 0x88, 0, 0},
11169 {0x51, 0xc, 0xc, 0, 0},
11170 {0x52, 0, 0, 0, 0},
11171 {0x53, 0x8, 0x8, 0, 0},
11172 {0x54, 0x70, 0x70, 1, 1},
11173 {0x55, 0x2, 0x2, 0, 0},
11174 {0x56, 0xff, 0xff, 1, 1},
11175 {0x57, 0, 0, 0, 0},
11176 {0x58, 0x83, 0x83, 0, 0},
11177 {0x59, 0x77, 0x77, 1, 1},
11178 {0x5A, 0, 0, 0, 0},
11179 {0x5B, 0x2, 0x2, 0, 0},
11180 {0x5C, 0x88, 0x88, 0, 0},
11181 {0x5D, 0, 0, 0, 0},
11182 {0x5E, 0x8, 0x8, 0, 0},
11183 {0x5F, 0x77, 0x77, 1, 1},
11184 {0x60, 0x1, 0x1, 0, 0},
11185 {0x61, 0, 0, 0, 0},
11186 {0x62, 0x7, 0x7, 0, 0},
11187 {0x63, 0, 0, 0, 0},
11188 {0x64, 0x7, 0x7, 0, 0},
11189 {0x65, 0, 0, 0, 0},
11190 {0x66, 0, 0, 0, 0},
11191 {0x67, 0, 0, 1, 1},
11192 {0x68, 0, 0, 0, 0},
11193 {0x69, 0xa, 0xa, 0, 0},
11194 {0x6A, 0, 0, 0, 0},
11195 {0x6B, 0, 0, 0, 0},
11196 {0x6C, 0, 0, 0, 0},
11197 {0x6D, 0, 0, 0, 0},
11198 {0x6E, 0, 0, 0, 0},
11199 {0x6F, 0, 0, 0, 0},
11200 {0x70, 0, 0, 0, 0},
11201 {0x71, 0x2, 0x2, 0, 0},
11202 {0x72, 0, 0, 0, 0},
11203 {0x73, 0, 0, 0, 0},
11204 {0x74, 0xe, 0xe, 0, 0},
11205 {0x75, 0xe, 0xe, 0, 0},
11206 {0x76, 0xe, 0xe, 0, 0},
11207 {0x77, 0x13, 0x13, 0, 0},
11208 {0x78, 0x13, 0x13, 0, 0},
11209 {0x79, 0x1b, 0x1b, 0, 0},
11210 {0x7A, 0x1b, 0x1b, 0, 0},
11211 {0x7B, 0x55, 0x55, 0, 0},
11212 {0x7C, 0x5b, 0x5b, 0, 0},
11213 {0x7D, 0x30, 0x30, 1, 1},
11214 {0x7E, 0, 0, 0, 0},
11215 {0x7F, 0, 0, 0, 0},
11216 {0x80, 0, 0, 0, 0},
11217 {0x81, 0, 0, 0, 0},
11218 {0x82, 0, 0, 0, 0},
11219 {0x83, 0, 0, 0, 0},
11220 {0x84, 0, 0, 0, 0},
11221 {0x85, 0, 0, 0, 0},
11222 {0x86, 0, 0, 0, 0},
11223 {0x87, 0, 0, 0, 0},
11224 {0x88, 0, 0, 0, 0},
11225 {0x89, 0, 0, 0, 0},
11226 {0x8A, 0, 0, 0, 0},
11227 {0x8B, 0, 0, 0, 0},
11228 {0x8C, 0, 0, 0, 0},
11229 {0x8D, 0, 0, 0, 0},
11230 {0x8E, 0, 0, 0, 0},
11231 {0x8F, 0, 0, 0, 0},
11232 {0x90, 0, 0, 0, 0},
11233 {0x91, 0, 0, 0, 0},
11234 {0x92, 0, 0, 0, 0},
11235 {0x93, 0x70, 0x70, 0, 0},
11236 {0x94, 0x70, 0x70, 0, 0},
11237 {0x95, 0x70, 0x70, 0, 0},
11238 {0x96, 0x70, 0x70, 0, 0},
11239 {0x97, 0x70, 0x70, 0, 0},
11240 {0x98, 0x70, 0x70, 0, 0},
11241 {0x99, 0x70, 0x70, 0, 0},
11242 {0x9A, 0x70, 0x70, 0, 0},
11243 {0xFFFF, 0, 0, 0, 0},
11246 radio_regs_t regs_RX_2056_rev11[] = {
11247 {0x02, 0, 0, 0, 0},
11248 {0x03, 0, 0, 0, 0},
11249 {0x04, 0, 0, 0, 0},
11250 {0x05, 0, 0, 0, 0},
11251 {0x06, 0, 0, 0, 0},
11252 {0x07, 0, 0, 0, 0},
11253 {0x08, 0, 0, 0, 0},
11254 {0x09, 0, 0, 0, 0},
11255 {0x0A, 0, 0, 0, 0},
11256 {0x0B, 0, 0, 0, 0},
11257 {0x0C, 0, 0, 0, 0},
11258 {0x0D, 0, 0, 0, 0},
11259 {0x0E, 0, 0, 0, 0},
11260 {0x0F, 0, 0, 0, 0},
11261 {0x10, 0, 0, 0, 0},
11262 {0x11, 0, 0, 0, 0},
11263 {0x12, 0, 0, 0, 0},
11264 {0x13, 0, 0, 0, 0},
11265 {0x14, 0, 0, 0, 0},
11266 {0x15, 0, 0, 0, 0},
11267 {0x16, 0, 0, 0, 0},
11268 {0x17, 0, 0, 0, 0},
11269 {0x18, 0, 0, 0, 0},
11270 {0x19, 0, 0, 0, 0},
11271 {0x1A, 0, 0, 0, 0},
11272 {0x1B, 0, 0, 0, 0},
11273 {0x1C, 0, 0, 0, 0},
11274 {0x1D, 0, 0, 0, 0},
11275 {0x1E, 0, 0, 0, 0},
11276 {0x1F, 0, 0, 0, 0},
11277 {0x20, 0x3, 0x3, 0, 0},
11278 {0x21, 0, 0, 0, 0},
11279 {0x22, 0, 0, 0, 0},
11280 {0x23, 0x90, 0x90, 0, 0},
11281 {0x24, 0x55, 0x55, 0, 0},
11282 {0x25, 0x15, 0x15, 0, 0},
11283 {0x26, 0x5, 0x5, 0, 0},
11284 {0x27, 0x15, 0x15, 0, 0},
11285 {0x28, 0x5, 0x5, 0, 0},
11286 {0x29, 0x20, 0x20, 0, 0},
11287 {0x2A, 0x11, 0x11, 0, 0},
11288 {0x2B, 0x90, 0x90, 0, 0},
11289 {0x2C, 0, 0, 0, 0},
11290 {0x2D, 0x88, 0x88, 0, 0},
11291 {0x2E, 0x32, 0x32, 0, 0},
11292 {0x2F, 0x77, 0x77, 0, 0},
11293 {0x30, 0x17, 0x17, 1, 1},
11294 {0x31, 0xff, 0xff, 1, 1},
11295 {0x32, 0x20, 0x20, 0, 0},
11296 {0x33, 0, 0, 0, 0},
11297 {0x34, 0x88, 0x88, 0, 0},
11298 {0x35, 0x32, 0x32, 0, 0},
11299 {0x36, 0x77, 0x77, 0, 0},
11300 {0x37, 0x17, 0x17, 1, 1},
11301 {0x38, 0xf0, 0xf0, 1, 1},
11302 {0x39, 0x20, 0x20, 0, 0},
11303 {0x3A, 0x8, 0x8, 0, 0},
11304 {0x3B, 0x55, 0x55, 1, 1},
11305 {0x3C, 0, 0, 0, 0},
11306 {0x3D, 0x88, 0x88, 1, 1},
11307 {0x3E, 0, 0, 0, 0},
11308 {0x3F, 0x44, 0x44, 0, 0},
11309 {0x40, 0x7, 0x7, 1, 1},
11310 {0x41, 0x6, 0x6, 0, 0},
11311 {0x42, 0x4, 0x4, 0, 0},
11312 {0x43, 0, 0, 0, 0},
11313 {0x44, 0x8, 0x8, 0, 0},
11314 {0x45, 0x55, 0x55, 1, 1},
11315 {0x46, 0, 0, 0, 0},
11316 {0x47, 0x11, 0x11, 0, 0},
11317 {0x48, 0, 0, 0, 0},
11318 {0x49, 0x44, 0x44, 0, 0},
11319 {0x4A, 0x7, 0x7, 0, 0},
11320 {0x4B, 0x6, 0x6, 0, 0},
11321 {0x4C, 0x4, 0x4, 0, 0},
11322 {0x4D, 0, 0, 0, 0},
11323 {0x4E, 0, 0, 0, 0},
11324 {0x4F, 0x26, 0x26, 1, 1},
11325 {0x50, 0x26, 0x26, 1, 1},
11326 {0x51, 0xf, 0xf, 1, 1},
11327 {0x52, 0xf, 0xf, 1, 1},
11328 {0x53, 0x44, 0x44, 0, 0},
11329 {0x54, 0, 0, 0, 0},
11330 {0x55, 0, 0, 0, 0},
11331 {0x56, 0x8, 0x8, 0, 0},
11332 {0x57, 0x8, 0x8, 0, 0},
11333 {0x58, 0x7, 0x7, 0, 0},
11334 {0x59, 0x22, 0x22, 0, 0},
11335 {0x5A, 0x22, 0x22, 0, 0},
11336 {0x5B, 0x2, 0x2, 0, 0},
11337 {0x5C, 0x4, 0x4, 1, 1},
11338 {0x5D, 0x7, 0x7, 0, 0},
11339 {0x5E, 0x55, 0x55, 0, 0},
11340 {0x5F, 0x23, 0x23, 0, 0},
11341 {0x60, 0x41, 0x41, 0, 0},
11342 {0x61, 0x1, 0x1, 0, 0},
11343 {0x62, 0xa, 0xa, 0, 0},
11344 {0x63, 0, 0, 0, 0},
11345 {0x64, 0, 0, 0, 0},
11346 {0x65, 0, 0, 0, 0},
11347 {0x66, 0, 0, 0, 0},
11348 {0x67, 0, 0, 0, 0},
11349 {0x68, 0, 0, 0, 0},
11350 {0x69, 0, 0, 0, 0},
11351 {0x6A, 0, 0, 0, 0},
11352 {0x6B, 0xc, 0xc, 0, 0},
11353 {0x6C, 0, 0, 0, 0},
11354 {0x6D, 0, 0, 0, 0},
11355 {0x6E, 0, 0, 0, 0},
11356 {0x6F, 0, 0, 0, 0},
11357 {0x70, 0, 0, 0, 0},
11358 {0x71, 0, 0, 0, 0},
11359 {0x72, 0x22, 0x22, 0, 0},
11360 {0x73, 0x22, 0x22, 0, 0},
11361 {0x74, 0, 0, 1, 1},
11362 {0x75, 0xa, 0xa, 0, 0},
11363 {0x76, 0x1, 0x1, 0, 0},
11364 {0x77, 0x22, 0x22, 0, 0},
11365 {0x78, 0x30, 0x30, 0, 0},
11366 {0x79, 0, 0, 0, 0},
11367 {0x7A, 0, 0, 0, 0},
11368 {0x7B, 0, 0, 0, 0},
11369 {0x7C, 0, 0, 0, 0},
11370 {0x7D, 0x5, 0x5, 1, 1},
11371 {0x7E, 0, 0, 0, 0},
11372 {0x7F, 0, 0, 0, 0},
11373 {0x80, 0, 0, 0, 0},
11374 {0x81, 0, 0, 0, 0},
11375 {0x82, 0, 0, 0, 0},
11376 {0x83, 0, 0, 0, 0},
11377 {0x84, 0, 0, 0, 0},
11378 {0x85, 0, 0, 0, 0},
11379 {0x86, 0, 0, 0, 0},
11380 {0x87, 0, 0, 0, 0},
11381 {0x88, 0, 0, 0, 0},
11382 {0x89, 0, 0, 0, 0},
11383 {0x8A, 0, 0, 0, 0},
11384 {0x8B, 0, 0, 0, 0},
11385 {0x8C, 0, 0, 0, 0},
11386 {0x8D, 0, 0, 0, 0},
11387 {0x8E, 0, 0, 0, 0},
11388 {0x8F, 0, 0, 0, 0},
11389 {0x90, 0, 0, 0, 0},
11390 {0x91, 0, 0, 0, 0},
11391 {0x92, 0, 0, 0, 0},
11392 {0x93, 0, 0, 0, 0},
11393 {0x94, 0, 0, 0, 0},
11394 {0xFFFF, 0, 0, 0, 0},
11397 radio_20xx_regs_t regs_2057_rev4[] = {
11398 {0x00, 0x84, 0},
11399 {0x01, 0, 0},
11400 {0x02, 0x60, 0},
11401 {0x03, 0x1f, 0},
11402 {0x04, 0x4, 0},
11403 {0x05, 0x2, 0},
11404 {0x06, 0x1, 0},
11405 {0x07, 0x1, 0},
11406 {0x08, 0x1, 0},
11407 {0x09, 0x69, 0},
11408 {0x0A, 0x66, 0},
11409 {0x0B, 0x6, 0},
11410 {0x0C, 0x18, 0},
11411 {0x0D, 0x3, 0},
11412 {0x0E, 0x20, 1},
11413 {0x0F, 0x20, 0},
11414 {0x10, 0, 0},
11415 {0x11, 0x7c, 0},
11416 {0x12, 0x42, 0},
11417 {0x13, 0xbd, 0},
11418 {0x14, 0x7, 0},
11419 {0x15, 0xf7, 0},
11420 {0x16, 0x8, 0},
11421 {0x17, 0x17, 0},
11422 {0x18, 0x7, 0},
11423 {0x19, 0, 0},
11424 {0x1A, 0x2, 0},
11425 {0x1B, 0x13, 0},
11426 {0x1C, 0x3e, 0},
11427 {0x1D, 0x3e, 0},
11428 {0x1E, 0x96, 0},
11429 {0x1F, 0x4, 0},
11430 {0x20, 0, 0},
11431 {0x21, 0, 0},
11432 {0x22, 0x17, 0},
11433 {0x23, 0x4, 0},
11434 {0x24, 0x1, 0},
11435 {0x25, 0x6, 0},
11436 {0x26, 0x4, 0},
11437 {0x27, 0xd, 0},
11438 {0x28, 0xd, 0},
11439 {0x29, 0x30, 0},
11440 {0x2A, 0x32, 0},
11441 {0x2B, 0x8, 0},
11442 {0x2C, 0x1c, 0},
11443 {0x2D, 0x2, 0},
11444 {0x2E, 0x4, 0},
11445 {0x2F, 0x7f, 0},
11446 {0x30, 0x27, 0},
11447 {0x31, 0, 1},
11448 {0x32, 0, 1},
11449 {0x33, 0, 1},
11450 {0x34, 0, 0},
11451 {0x35, 0x26, 1},
11452 {0x36, 0x18, 0},
11453 {0x37, 0x7, 0},
11454 {0x38, 0x66, 0},
11455 {0x39, 0x66, 0},
11456 {0x3A, 0x66, 0},
11457 {0x3B, 0x66, 0},
11458 {0x3C, 0xff, 1},
11459 {0x3D, 0xff, 1},
11460 {0x3E, 0xff, 1},
11461 {0x3F, 0xff, 1},
11462 {0x40, 0x16, 0},
11463 {0x41, 0x7, 0},
11464 {0x42, 0x19, 0},
11465 {0x43, 0x7, 0},
11466 {0x44, 0x6, 0},
11467 {0x45, 0x3, 0},
11468 {0x46, 0x1, 0},
11469 {0x47, 0x7, 0},
11470 {0x48, 0x33, 0},
11471 {0x49, 0x5, 0},
11472 {0x4A, 0x77, 0},
11473 {0x4B, 0x66, 0},
11474 {0x4C, 0x66, 0},
11475 {0x4D, 0, 0},
11476 {0x4E, 0x4, 0},
11477 {0x4F, 0xc, 0},
11478 {0x50, 0, 0},
11479 {0x51, 0x75, 0},
11480 {0x56, 0x7, 0},
11481 {0x57, 0, 0},
11482 {0x58, 0, 0},
11483 {0x59, 0xa8, 0},
11484 {0x5A, 0, 0},
11485 {0x5B, 0x1f, 0},
11486 {0x5C, 0x30, 0},
11487 {0x5D, 0x1, 0},
11488 {0x5E, 0x30, 0},
11489 {0x5F, 0x70, 0},
11490 {0x60, 0, 0},
11491 {0x61, 0, 0},
11492 {0x62, 0x33, 1},
11493 {0x63, 0x19, 0},
11494 {0x64, 0x62, 0},
11495 {0x65, 0, 0},
11496 {0x66, 0x11, 0},
11497 {0x69, 0, 0},
11498 {0x6A, 0x7e, 0},
11499 {0x6B, 0x3f, 0},
11500 {0x6C, 0x7f, 0},
11501 {0x6D, 0x78, 0},
11502 {0x6E, 0xc8, 0},
11503 {0x6F, 0x88, 0},
11504 {0x70, 0x8, 0},
11505 {0x71, 0xf, 0},
11506 {0x72, 0xbc, 0},
11507 {0x73, 0x8, 0},
11508 {0x74, 0x60, 0},
11509 {0x75, 0x1e, 0},
11510 {0x76, 0x70, 0},
11511 {0x77, 0, 0},
11512 {0x78, 0, 0},
11513 {0x79, 0, 0},
11514 {0x7A, 0x33, 0},
11515 {0x7B, 0x1e, 0},
11516 {0x7C, 0x62, 0},
11517 {0x7D, 0x11, 0},
11518 {0x80, 0x3c, 0},
11519 {0x81, 0x9c, 0},
11520 {0x82, 0xa, 0},
11521 {0x83, 0x9d, 0},
11522 {0x84, 0xa, 0},
11523 {0x85, 0, 0},
11524 {0x86, 0x40, 0},
11525 {0x87, 0x40, 0},
11526 {0x88, 0x88, 0},
11527 {0x89, 0x10, 0},
11528 {0x8A, 0xf0, 1},
11529 {0x8B, 0x10, 1},
11530 {0x8C, 0xf0, 1},
11531 {0x8D, 0, 0},
11532 {0x8E, 0, 0},
11533 {0x8F, 0x10, 0},
11534 {0x90, 0x55, 0},
11535 {0x91, 0x3f, 1},
11536 {0x92, 0x36, 1},
11537 {0x93, 0, 0},
11538 {0x94, 0, 0},
11539 {0x95, 0, 0},
11540 {0x96, 0x87, 0},
11541 {0x97, 0x11, 0},
11542 {0x98, 0, 0},
11543 {0x99, 0x33, 0},
11544 {0x9A, 0x88, 0},
11545 {0x9B, 0, 0},
11546 {0x9C, 0x87, 0},
11547 {0x9D, 0x11, 0},
11548 {0x9E, 0, 0},
11549 {0x9F, 0x33, 0},
11550 {0xA0, 0x88, 0},
11551 {0xA1, 0xe1, 0},
11552 {0xA2, 0x3f, 0},
11553 {0xA3, 0x44, 0},
11554 {0xA4, 0x8c, 1},
11555 {0xA5, 0x6d, 0},
11556 {0xA6, 0x22, 0},
11557 {0xA7, 0xbe, 0},
11558 {0xA8, 0x55, 1},
11559 {0xA9, 0xc, 0},
11560 {0xAA, 0xc, 0},
11561 {0xAB, 0xaa, 0},
11562 {0xAC, 0x2, 0},
11563 {0xAD, 0, 0},
11564 {0xAE, 0x10, 0},
11565 {0xAF, 0x1, 1},
11566 {0xB0, 0, 0},
11567 {0xB1, 0, 0},
11568 {0xB2, 0x80, 0},
11569 {0xB3, 0x60, 0},
11570 {0xB4, 0x44, 0},
11571 {0xB5, 0x55, 0},
11572 {0xB6, 0x1, 0},
11573 {0xB7, 0x55, 0},
11574 {0xB8, 0x1, 0},
11575 {0xB9, 0x5, 0},
11576 {0xBA, 0x55, 0},
11577 {0xBB, 0x55, 0},
11578 {0xC1, 0, 0},
11579 {0xC2, 0, 0},
11580 {0xC3, 0, 0},
11581 {0xC4, 0, 0},
11582 {0xC5, 0, 0},
11583 {0xC6, 0, 0},
11584 {0xC7, 0, 0},
11585 {0xC8, 0, 0},
11586 {0xC9, 0, 0},
11587 {0xCA, 0, 0},
11588 {0xCB, 0, 0},
11589 {0xCC, 0, 0},
11590 {0xCD, 0, 0},
11591 {0xCE, 0x5e, 0},
11592 {0xCF, 0xc, 0},
11593 {0xD0, 0xc, 0},
11594 {0xD1, 0xc, 0},
11595 {0xD2, 0, 0},
11596 {0xD3, 0x2b, 0},
11597 {0xD4, 0xc, 0},
11598 {0xD5, 0, 0},
11599 {0xD6, 0x75, 0},
11600 {0xDB, 0x7, 0},
11601 {0xDC, 0, 0},
11602 {0xDD, 0, 0},
11603 {0xDE, 0xa8, 0},
11604 {0xDF, 0, 0},
11605 {0xE0, 0x1f, 0},
11606 {0xE1, 0x30, 0},
11607 {0xE2, 0x1, 0},
11608 {0xE3, 0x30, 0},
11609 {0xE4, 0x70, 0},
11610 {0xE5, 0, 0},
11611 {0xE6, 0, 0},
11612 {0xE7, 0x33, 0},
11613 {0xE8, 0x19, 0},
11614 {0xE9, 0x62, 0},
11615 {0xEA, 0, 0},
11616 {0xEB, 0x11, 0},
11617 {0xEE, 0, 0},
11618 {0xEF, 0x7e, 0},
11619 {0xF0, 0x3f, 0},
11620 {0xF1, 0x7f, 0},
11621 {0xF2, 0x78, 0},
11622 {0xF3, 0xc8, 0},
11623 {0xF4, 0x88, 0},
11624 {0xF5, 0x8, 0},
11625 {0xF6, 0xf, 0},
11626 {0xF7, 0xbc, 0},
11627 {0xF8, 0x8, 0},
11628 {0xF9, 0x60, 0},
11629 {0xFA, 0x1e, 0},
11630 {0xFB, 0x70, 0},
11631 {0xFC, 0, 0},
11632 {0xFD, 0, 0},
11633 {0xFE, 0, 0},
11634 {0xFF, 0x33, 0},
11635 {0x100, 0x1e, 0},
11636 {0x101, 0x62, 0},
11637 {0x102, 0x11, 0},
11638 {0x105, 0x3c, 0},
11639 {0x106, 0x9c, 0},
11640 {0x107, 0xa, 0},
11641 {0x108, 0x9d, 0},
11642 {0x109, 0xa, 0},
11643 {0x10A, 0, 0},
11644 {0x10B, 0x40, 0},
11645 {0x10C, 0x40, 0},
11646 {0x10D, 0x88, 0},
11647 {0x10E, 0x10, 0},
11648 {0x10F, 0xf0, 1},
11649 {0x110, 0x10, 1},
11650 {0x111, 0xf0, 1},
11651 {0x112, 0, 0},
11652 {0x113, 0, 0},
11653 {0x114, 0x10, 0},
11654 {0x115, 0x55, 0},
11655 {0x116, 0x3f, 1},
11656 {0x117, 0x36, 1},
11657 {0x118, 0, 0},
11658 {0x119, 0, 0},
11659 {0x11A, 0, 0},
11660 {0x11B, 0x87, 0},
11661 {0x11C, 0x11, 0},
11662 {0x11D, 0, 0},
11663 {0x11E, 0x33, 0},
11664 {0x11F, 0x88, 0},
11665 {0x120, 0, 0},
11666 {0x121, 0x87, 0},
11667 {0x122, 0x11, 0},
11668 {0x123, 0, 0},
11669 {0x124, 0x33, 0},
11670 {0x125, 0x88, 0},
11671 {0x126, 0xe1, 0},
11672 {0x127, 0x3f, 0},
11673 {0x128, 0x44, 0},
11674 {0x129, 0x8c, 1},
11675 {0x12A, 0x6d, 0},
11676 {0x12B, 0x22, 0},
11677 {0x12C, 0xbe, 0},
11678 {0x12D, 0x55, 1},
11679 {0x12E, 0xc, 0},
11680 {0x12F, 0xc, 0},
11681 {0x130, 0xaa, 0},
11682 {0x131, 0x2, 0},
11683 {0x132, 0, 0},
11684 {0x133, 0x10, 0},
11685 {0x134, 0x1, 1},
11686 {0x135, 0, 0},
11687 {0x136, 0, 0},
11688 {0x137, 0x80, 0},
11689 {0x138, 0x60, 0},
11690 {0x139, 0x44, 0},
11691 {0x13A, 0x55, 0},
11692 {0x13B, 0x1, 0},
11693 {0x13C, 0x55, 0},
11694 {0x13D, 0x1, 0},
11695 {0x13E, 0x5, 0},
11696 {0x13F, 0x55, 0},
11697 {0x140, 0x55, 0},
11698 {0x146, 0, 0},
11699 {0x147, 0, 0},
11700 {0x148, 0, 0},
11701 {0x149, 0, 0},
11702 {0x14A, 0, 0},
11703 {0x14B, 0, 0},
11704 {0x14C, 0, 0},
11705 {0x14D, 0, 0},
11706 {0x14E, 0, 0},
11707 {0x14F, 0, 0},
11708 {0x150, 0, 0},
11709 {0x151, 0, 0},
11710 {0x152, 0, 0},
11711 {0x153, 0, 0},
11712 {0x154, 0xc, 0},
11713 {0x155, 0xc, 0},
11714 {0x156, 0xc, 0},
11715 {0x157, 0, 0},
11716 {0x158, 0x2b, 0},
11717 {0x159, 0x84, 0},
11718 {0x15A, 0x15, 0},
11719 {0x15B, 0xf, 0},
11720 {0x15C, 0, 0},
11721 {0x15D, 0, 0},
11722 {0x15E, 0, 1},
11723 {0x15F, 0, 1},
11724 {0x160, 0, 1},
11725 {0x161, 0, 1},
11726 {0x162, 0, 1},
11727 {0x163, 0, 1},
11728 {0x164, 0, 0},
11729 {0x165, 0, 0},
11730 {0x166, 0, 0},
11731 {0x167, 0, 0},
11732 {0x168, 0, 0},
11733 {0x169, 0x2, 1},
11734 {0x16A, 0, 1},
11735 {0x16B, 0, 1},
11736 {0x16C, 0, 1},
11737 {0x16D, 0, 0},
11738 {0x170, 0, 0},
11739 {0x171, 0x77, 0},
11740 {0x172, 0x77, 0},
11741 {0x173, 0x77, 0},
11742 {0x174, 0x77, 0},
11743 {0x175, 0, 0},
11744 {0x176, 0x3, 0},
11745 {0x177, 0x37, 0},
11746 {0x178, 0x3, 0},
11747 {0x179, 0, 0},
11748 {0x17A, 0x21, 0},
11749 {0x17B, 0x21, 0},
11750 {0x17C, 0, 0},
11751 {0x17D, 0xaa, 0},
11752 {0x17E, 0, 0},
11753 {0x17F, 0xaa, 0},
11754 {0x180, 0, 0},
11755 {0x190, 0, 0},
11756 {0x191, 0x77, 0},
11757 {0x192, 0x77, 0},
11758 {0x193, 0x77, 0},
11759 {0x194, 0x77, 0},
11760 {0x195, 0, 0},
11761 {0x196, 0x3, 0},
11762 {0x197, 0x37, 0},
11763 {0x198, 0x3, 0},
11764 {0x199, 0, 0},
11765 {0x19A, 0x21, 0},
11766 {0x19B, 0x21, 0},
11767 {0x19C, 0, 0},
11768 {0x19D, 0xaa, 0},
11769 {0x19E, 0, 0},
11770 {0x19F, 0xaa, 0},
11771 {0x1A0, 0, 0},
11772 {0x1A1, 0x2, 0},
11773 {0x1A2, 0xf, 0},
11774 {0x1A3, 0xf, 0},
11775 {0x1A4, 0, 1},
11776 {0x1A5, 0, 1},
11777 {0x1A6, 0, 1},
11778 {0x1A7, 0x2, 0},
11779 {0x1A8, 0xf, 0},
11780 {0x1A9, 0xf, 0},
11781 {0x1AA, 0, 1},
11782 {0x1AB, 0, 1},
11783 {0x1AC, 0, 1},
11784 {0xFFFF, 0, 0},
11787 radio_20xx_regs_t regs_2057_rev5[] = {
11788 {0x00, 0, 1},
11789 {0x01, 0x57, 1},
11790 {0x02, 0x20, 1},
11791 {0x03, 0x1f, 0},
11792 {0x04, 0x4, 0},
11793 {0x05, 0x2, 0},
11794 {0x06, 0x1, 0},
11795 {0x07, 0x1, 0},
11796 {0x08, 0x1, 0},
11797 {0x09, 0x69, 0},
11798 {0x0A, 0x66, 0},
11799 {0x0B, 0x6, 0},
11800 {0x0C, 0x18, 0},
11801 {0x0D, 0x3, 0},
11802 {0x0E, 0x20, 0},
11803 {0x0F, 0x20, 0},
11804 {0x10, 0, 0},
11805 {0x11, 0x7c, 0},
11806 {0x12, 0x42, 0},
11807 {0x13, 0xbd, 0},
11808 {0x14, 0x7, 0},
11809 {0x15, 0x87, 0},
11810 {0x16, 0x8, 0},
11811 {0x17, 0x17, 0},
11812 {0x18, 0x7, 0},
11813 {0x19, 0, 0},
11814 {0x1A, 0x2, 0},
11815 {0x1B, 0x13, 0},
11816 {0x1C, 0x3e, 0},
11817 {0x1D, 0x3e, 0},
11818 {0x1E, 0x96, 0},
11819 {0x1F, 0x4, 0},
11820 {0x20, 0, 0},
11821 {0x21, 0, 0},
11822 {0x22, 0x17, 0},
11823 {0x23, 0x6, 1},
11824 {0x24, 0x1, 0},
11825 {0x25, 0x6, 0},
11826 {0x26, 0x4, 0},
11827 {0x27, 0xd, 0},
11828 {0x28, 0xd, 0},
11829 {0x29, 0x30, 0},
11830 {0x2A, 0x32, 0},
11831 {0x2B, 0x8, 0},
11832 {0x2C, 0x1c, 0},
11833 {0x2D, 0x2, 0},
11834 {0x2E, 0x4, 0},
11835 {0x2F, 0x7f, 0},
11836 {0x30, 0x27, 0},
11837 {0x31, 0, 1},
11838 {0x32, 0, 1},
11839 {0x33, 0, 1},
11840 {0x34, 0, 0},
11841 {0x35, 0x20, 0},
11842 {0x36, 0x18, 0},
11843 {0x37, 0x7, 0},
11844 {0x38, 0x66, 0},
11845 {0x39, 0x66, 0},
11846 {0x3C, 0xff, 0},
11847 {0x3D, 0xff, 0},
11848 {0x40, 0x16, 0},
11849 {0x41, 0x7, 0},
11850 {0x45, 0x3, 0},
11851 {0x46, 0x1, 0},
11852 {0x47, 0x7, 0},
11853 {0x4B, 0x66, 0},
11854 {0x4C, 0x66, 0},
11855 {0x4D, 0, 0},
11856 {0x4E, 0x4, 0},
11857 {0x4F, 0xc, 0},
11858 {0x50, 0, 0},
11859 {0x51, 0x70, 1},
11860 {0x56, 0x7, 0},
11861 {0x57, 0, 0},
11862 {0x58, 0, 0},
11863 {0x59, 0x88, 1},
11864 {0x5A, 0, 0},
11865 {0x5B, 0x1f, 0},
11866 {0x5C, 0x20, 1},
11867 {0x5D, 0x1, 0},
11868 {0x5E, 0x30, 0},
11869 {0x5F, 0x70, 0},
11870 {0x60, 0, 0},
11871 {0x61, 0, 0},
11872 {0x62, 0x33, 1},
11873 {0x63, 0xf, 1},
11874 {0x64, 0xf, 1},
11875 {0x65, 0, 0},
11876 {0x66, 0x11, 0},
11877 {0x80, 0x3c, 0},
11878 {0x81, 0x1, 1},
11879 {0x82, 0xa, 0},
11880 {0x85, 0, 0},
11881 {0x86, 0x40, 0},
11882 {0x87, 0x40, 0},
11883 {0x88, 0x88, 0},
11884 {0x89, 0x10, 0},
11885 {0x8A, 0xf0, 0},
11886 {0x8B, 0x10, 0},
11887 {0x8C, 0xf0, 0},
11888 {0x8F, 0x10, 0},
11889 {0x90, 0x55, 0},
11890 {0x91, 0x3f, 1},
11891 {0x92, 0x36, 1},
11892 {0x93, 0, 0},
11893 {0x94, 0, 0},
11894 {0x95, 0, 0},
11895 {0x96, 0x87, 0},
11896 {0x97, 0x11, 0},
11897 {0x98, 0, 0},
11898 {0x99, 0x33, 0},
11899 {0x9A, 0x88, 0},
11900 {0xA1, 0x20, 1},
11901 {0xA2, 0x3f, 0},
11902 {0xA3, 0x44, 0},
11903 {0xA4, 0x8c, 0},
11904 {0xA5, 0x6c, 0},
11905 {0xA6, 0x22, 0},
11906 {0xA7, 0xbe, 0},
11907 {0xA8, 0x55, 0},
11908 {0xAA, 0xc, 0},
11909 {0xAB, 0xaa, 0},
11910 {0xAC, 0x2, 0},
11911 {0xAD, 0, 0},
11912 {0xAE, 0x10, 0},
11913 {0xAF, 0x1, 0},
11914 {0xB0, 0, 0},
11915 {0xB1, 0, 0},
11916 {0xB2, 0x80, 0},
11917 {0xB3, 0x60, 0},
11918 {0xB4, 0x44, 0},
11919 {0xB5, 0x55, 0},
11920 {0xB6, 0x1, 0},
11921 {0xB7, 0x55, 0},
11922 {0xB8, 0x1, 0},
11923 {0xB9, 0x5, 0},
11924 {0xBA, 0x55, 0},
11925 {0xBB, 0x55, 0},
11926 {0xC3, 0, 0},
11927 {0xC4, 0, 0},
11928 {0xC5, 0, 0},
11929 {0xC6, 0, 0},
11930 {0xC7, 0, 0},
11931 {0xC8, 0, 0},
11932 {0xC9, 0, 0},
11933 {0xCA, 0, 0},
11934 {0xCB, 0, 0},
11935 {0xCD, 0, 0},
11936 {0xCE, 0x5e, 0},
11937 {0xCF, 0xc, 0},
11938 {0xD0, 0xc, 0},
11939 {0xD1, 0xc, 0},
11940 {0xD2, 0, 0},
11941 {0xD3, 0x2b, 0},
11942 {0xD4, 0xc, 0},
11943 {0xD5, 0, 0},
11944 {0xD6, 0x70, 1},
11945 {0xDB, 0x7, 0},
11946 {0xDC, 0, 0},
11947 {0xDD, 0, 0},
11948 {0xDE, 0x88, 1},
11949 {0xDF, 0, 0},
11950 {0xE0, 0x1f, 0},
11951 {0xE1, 0x20, 1},
11952 {0xE2, 0x1, 0},
11953 {0xE3, 0x30, 0},
11954 {0xE4, 0x70, 0},
11955 {0xE5, 0, 0},
11956 {0xE6, 0, 0},
11957 {0xE7, 0x33, 0},
11958 {0xE8, 0xf, 1},
11959 {0xE9, 0xf, 1},
11960 {0xEA, 0, 0},
11961 {0xEB, 0x11, 0},
11962 {0x105, 0x3c, 0},
11963 {0x106, 0x1, 1},
11964 {0x107, 0xa, 0},
11965 {0x10A, 0, 0},
11966 {0x10B, 0x40, 0},
11967 {0x10C, 0x40, 0},
11968 {0x10D, 0x88, 0},
11969 {0x10E, 0x10, 0},
11970 {0x10F, 0xf0, 0},
11971 {0x110, 0x10, 0},
11972 {0x111, 0xf0, 0},
11973 {0x114, 0x10, 0},
11974 {0x115, 0x55, 0},
11975 {0x116, 0x3f, 1},
11976 {0x117, 0x36, 1},
11977 {0x118, 0, 0},
11978 {0x119, 0, 0},
11979 {0x11A, 0, 0},
11980 {0x11B, 0x87, 0},
11981 {0x11C, 0x11, 0},
11982 {0x11D, 0, 0},
11983 {0x11E, 0x33, 0},
11984 {0x11F, 0x88, 0},
11985 {0x126, 0x20, 1},
11986 {0x127, 0x3f, 0},
11987 {0x128, 0x44, 0},
11988 {0x129, 0x8c, 0},
11989 {0x12A, 0x6c, 0},
11990 {0x12B, 0x22, 0},
11991 {0x12C, 0xbe, 0},
11992 {0x12D, 0x55, 0},
11993 {0x12F, 0xc, 0},
11994 {0x130, 0xaa, 0},
11995 {0x131, 0x2, 0},
11996 {0x132, 0, 0},
11997 {0x133, 0x10, 0},
11998 {0x134, 0x1, 0},
11999 {0x135, 0, 0},
12000 {0x136, 0, 0},
12001 {0x137, 0x80, 0},
12002 {0x138, 0x60, 0},
12003 {0x139, 0x44, 0},
12004 {0x13A, 0x55, 0},
12005 {0x13B, 0x1, 0},
12006 {0x13C, 0x55, 0},
12007 {0x13D, 0x1, 0},
12008 {0x13E, 0x5, 0},
12009 {0x13F, 0x55, 0},
12010 {0x140, 0x55, 0},
12011 {0x148, 0, 0},
12012 {0x149, 0, 0},
12013 {0x14A, 0, 0},
12014 {0x14B, 0, 0},
12015 {0x14C, 0, 0},
12016 {0x14D, 0, 0},
12017 {0x14E, 0, 0},
12018 {0x14F, 0, 0},
12019 {0x150, 0, 0},
12020 {0x154, 0xc, 0},
12021 {0x155, 0xc, 0},
12022 {0x156, 0xc, 0},
12023 {0x157, 0, 0},
12024 {0x158, 0x2b, 0},
12025 {0x159, 0x84, 0},
12026 {0x15A, 0x15, 0},
12027 {0x15B, 0xf, 0},
12028 {0x15C, 0, 0},
12029 {0x15D, 0, 0},
12030 {0x15E, 0, 1},
12031 {0x15F, 0, 1},
12032 {0x160, 0, 1},
12033 {0x161, 0, 1},
12034 {0x162, 0, 1},
12035 {0x163, 0, 1},
12036 {0x164, 0, 0},
12037 {0x165, 0, 0},
12038 {0x166, 0, 0},
12039 {0x167, 0, 0},
12040 {0x168, 0, 0},
12041 {0x169, 0, 0},
12042 {0x16A, 0, 1},
12043 {0x16B, 0, 1},
12044 {0x16C, 0, 1},
12045 {0x16D, 0, 0},
12046 {0x170, 0, 0},
12047 {0x171, 0x77, 0},
12048 {0x172, 0x77, 0},
12049 {0x173, 0x77, 0},
12050 {0x174, 0x77, 0},
12051 {0x175, 0, 0},
12052 {0x176, 0x3, 0},
12053 {0x177, 0x37, 0},
12054 {0x178, 0x3, 0},
12055 {0x179, 0, 0},
12056 {0x17B, 0x21, 0},
12057 {0x17C, 0, 0},
12058 {0x17D, 0xaa, 0},
12059 {0x17E, 0, 0},
12060 {0x190, 0, 0},
12061 {0x191, 0x77, 0},
12062 {0x192, 0x77, 0},
12063 {0x193, 0x77, 0},
12064 {0x194, 0x77, 0},
12065 {0x195, 0, 0},
12066 {0x196, 0x3, 0},
12067 {0x197, 0x37, 0},
12068 {0x198, 0x3, 0},
12069 {0x199, 0, 0},
12070 {0x19B, 0x21, 0},
12071 {0x19C, 0, 0},
12072 {0x19D, 0xaa, 0},
12073 {0x19E, 0, 0},
12074 {0x1A1, 0x2, 0},
12075 {0x1A2, 0xf, 0},
12076 {0x1A3, 0xf, 0},
12077 {0x1A4, 0, 1},
12078 {0x1A5, 0, 1},
12079 {0x1A6, 0, 1},
12080 {0x1A7, 0x2, 0},
12081 {0x1A8, 0xf, 0},
12082 {0x1A9, 0xf, 0},
12083 {0x1AA, 0, 1},
12084 {0x1AB, 0, 1},
12085 {0x1AC, 0, 1},
12086 {0x1AD, 0x84, 0},
12087 {0x1AE, 0x60, 0},
12088 {0x1AF, 0x47, 0},
12089 {0x1B0, 0x47, 0},
12090 {0x1B1, 0, 0},
12091 {0x1B2, 0, 0},
12092 {0x1B3, 0, 0},
12093 {0x1B4, 0, 0},
12094 {0x1B5, 0, 0},
12095 {0x1B6, 0, 0},
12096 {0x1B7, 0xc, 1},
12097 {0x1B8, 0, 0},
12098 {0x1B9, 0, 0},
12099 {0x1BA, 0, 0},
12100 {0x1BB, 0, 0},
12101 {0x1BC, 0, 0},
12102 {0x1BD, 0, 0},
12103 {0x1BE, 0, 0},
12104 {0x1BF, 0, 0},
12105 {0x1C0, 0, 0},
12106 {0x1C1, 0x1, 1},
12107 {0x1C2, 0x80, 1},
12108 {0x1C3, 0, 0},
12109 {0x1C4, 0, 0},
12110 {0x1C5, 0, 0},
12111 {0x1C6, 0, 0},
12112 {0x1C7, 0, 0},
12113 {0x1C8, 0, 0},
12114 {0x1C9, 0, 0},
12115 {0x1CA, 0, 0},
12116 {0xFFFF, 0, 0}
12119 radio_20xx_regs_t regs_2057_rev5v1[] = {
12120 {0x00, 0x15, 1},
12121 {0x01, 0x57, 1},
12122 {0x02, 0x20, 1},
12123 {0x03, 0x1f, 0},
12124 {0x04, 0x4, 0},
12125 {0x05, 0x2, 0},
12126 {0x06, 0x1, 0},
12127 {0x07, 0x1, 0},
12128 {0x08, 0x1, 0},
12129 {0x09, 0x69, 0},
12130 {0x0A, 0x66, 0},
12131 {0x0B, 0x6, 0},
12132 {0x0C, 0x18, 0},
12133 {0x0D, 0x3, 0},
12134 {0x0E, 0x20, 0},
12135 {0x0F, 0x20, 0},
12136 {0x10, 0, 0},
12137 {0x11, 0x7c, 0},
12138 {0x12, 0x42, 0},
12139 {0x13, 0xbd, 0},
12140 {0x14, 0x7, 0},
12141 {0x15, 0x87, 0},
12142 {0x16, 0x8, 0},
12143 {0x17, 0x17, 0},
12144 {0x18, 0x7, 0},
12145 {0x19, 0, 0},
12146 {0x1A, 0x2, 0},
12147 {0x1B, 0x13, 0},
12148 {0x1C, 0x3e, 0},
12149 {0x1D, 0x3e, 0},
12150 {0x1E, 0x96, 0},
12151 {0x1F, 0x4, 0},
12152 {0x20, 0, 0},
12153 {0x21, 0, 0},
12154 {0x22, 0x17, 0},
12155 {0x23, 0x6, 1},
12156 {0x24, 0x1, 0},
12157 {0x25, 0x6, 0},
12158 {0x26, 0x4, 0},
12159 {0x27, 0xd, 0},
12160 {0x28, 0xd, 0},
12161 {0x29, 0x30, 0},
12162 {0x2A, 0x32, 0},
12163 {0x2B, 0x8, 0},
12164 {0x2C, 0x1c, 0},
12165 {0x2D, 0x2, 0},
12166 {0x2E, 0x4, 0},
12167 {0x2F, 0x7f, 0},
12168 {0x30, 0x27, 0},
12169 {0x31, 0, 1},
12170 {0x32, 0, 1},
12171 {0x33, 0, 1},
12172 {0x34, 0, 0},
12173 {0x35, 0x20, 0},
12174 {0x36, 0x18, 0},
12175 {0x37, 0x7, 0},
12176 {0x38, 0x66, 0},
12177 {0x39, 0x66, 0},
12178 {0x3C, 0xff, 0},
12179 {0x3D, 0xff, 0},
12180 {0x40, 0x16, 0},
12181 {0x41, 0x7, 0},
12182 {0x45, 0x3, 0},
12183 {0x46, 0x1, 0},
12184 {0x47, 0x7, 0},
12185 {0x4B, 0x66, 0},
12186 {0x4C, 0x66, 0},
12187 {0x4D, 0, 0},
12188 {0x4E, 0x4, 0},
12189 {0x4F, 0xc, 0},
12190 {0x50, 0, 0},
12191 {0x51, 0x70, 1},
12192 {0x56, 0x7, 0},
12193 {0x57, 0, 0},
12194 {0x58, 0, 0},
12195 {0x59, 0x88, 1},
12196 {0x5A, 0, 0},
12197 {0x5B, 0x1f, 0},
12198 {0x5C, 0x20, 1},
12199 {0x5D, 0x1, 0},
12200 {0x5E, 0x30, 0},
12201 {0x5F, 0x70, 0},
12202 {0x60, 0, 0},
12203 {0x61, 0, 0},
12204 {0x62, 0x33, 1},
12205 {0x63, 0xf, 1},
12206 {0x64, 0xf, 1},
12207 {0x65, 0, 0},
12208 {0x66, 0x11, 0},
12209 {0x80, 0x3c, 0},
12210 {0x81, 0x1, 1},
12211 {0x82, 0xa, 0},
12212 {0x85, 0, 0},
12213 {0x86, 0x40, 0},
12214 {0x87, 0x40, 0},
12215 {0x88, 0x88, 0},
12216 {0x89, 0x10, 0},
12217 {0x8A, 0xf0, 0},
12218 {0x8B, 0x10, 0},
12219 {0x8C, 0xf0, 0},
12220 {0x8F, 0x10, 0},
12221 {0x90, 0x55, 0},
12222 {0x91, 0x3f, 1},
12223 {0x92, 0x36, 1},
12224 {0x93, 0, 0},
12225 {0x94, 0, 0},
12226 {0x95, 0, 0},
12227 {0x96, 0x87, 0},
12228 {0x97, 0x11, 0},
12229 {0x98, 0, 0},
12230 {0x99, 0x33, 0},
12231 {0x9A, 0x88, 0},
12232 {0xA1, 0x20, 1},
12233 {0xA2, 0x3f, 0},
12234 {0xA3, 0x44, 0},
12235 {0xA4, 0x8c, 0},
12236 {0xA5, 0x6c, 0},
12237 {0xA6, 0x22, 0},
12238 {0xA7, 0xbe, 0},
12239 {0xA8, 0x55, 0},
12240 {0xAA, 0xc, 0},
12241 {0xAB, 0xaa, 0},
12242 {0xAC, 0x2, 0},
12243 {0xAD, 0, 0},
12244 {0xAE, 0x10, 0},
12245 {0xAF, 0x1, 0},
12246 {0xB0, 0, 0},
12247 {0xB1, 0, 0},
12248 {0xB2, 0x80, 0},
12249 {0xB3, 0x60, 0},
12250 {0xB4, 0x44, 0},
12251 {0xB5, 0x55, 0},
12252 {0xB6, 0x1, 0},
12253 {0xB7, 0x55, 0},
12254 {0xB8, 0x1, 0},
12255 {0xB9, 0x5, 0},
12256 {0xBA, 0x55, 0},
12257 {0xBB, 0x55, 0},
12258 {0xC3, 0, 0},
12259 {0xC4, 0, 0},
12260 {0xC5, 0, 0},
12261 {0xC6, 0, 0},
12262 {0xC7, 0, 0},
12263 {0xC8, 0, 0},
12264 {0xC9, 0x1, 1},
12265 {0xCA, 0, 0},
12266 {0xCB, 0, 0},
12267 {0xCD, 0, 0},
12268 {0xCE, 0x5e, 0},
12269 {0xCF, 0xc, 0},
12270 {0xD0, 0xc, 0},
12271 {0xD1, 0xc, 0},
12272 {0xD2, 0, 0},
12273 {0xD3, 0x2b, 0},
12274 {0xD4, 0xc, 0},
12275 {0xD5, 0, 0},
12276 {0xD6, 0x70, 1},
12277 {0xDB, 0x7, 0},
12278 {0xDC, 0, 0},
12279 {0xDD, 0, 0},
12280 {0xDE, 0x88, 1},
12281 {0xDF, 0, 0},
12282 {0xE0, 0x1f, 0},
12283 {0xE1, 0x20, 1},
12284 {0xE2, 0x1, 0},
12285 {0xE3, 0x30, 0},
12286 {0xE4, 0x70, 0},
12287 {0xE5, 0, 0},
12288 {0xE6, 0, 0},
12289 {0xE7, 0x33, 0},
12290 {0xE8, 0xf, 1},
12291 {0xE9, 0xf, 1},
12292 {0xEA, 0, 0},
12293 {0xEB, 0x11, 0},
12294 {0x105, 0x3c, 0},
12295 {0x106, 0x1, 1},
12296 {0x107, 0xa, 0},
12297 {0x10A, 0, 0},
12298 {0x10B, 0x40, 0},
12299 {0x10C, 0x40, 0},
12300 {0x10D, 0x88, 0},
12301 {0x10E, 0x10, 0},
12302 {0x10F, 0xf0, 0},
12303 {0x110, 0x10, 0},
12304 {0x111, 0xf0, 0},
12305 {0x114, 0x10, 0},
12306 {0x115, 0x55, 0},
12307 {0x116, 0x3f, 1},
12308 {0x117, 0x36, 1},
12309 {0x118, 0, 0},
12310 {0x119, 0, 0},
12311 {0x11A, 0, 0},
12312 {0x11B, 0x87, 0},
12313 {0x11C, 0x11, 0},
12314 {0x11D, 0, 0},
12315 {0x11E, 0x33, 0},
12316 {0x11F, 0x88, 0},
12317 {0x126, 0x20, 1},
12318 {0x127, 0x3f, 0},
12319 {0x128, 0x44, 0},
12320 {0x129, 0x8c, 0},
12321 {0x12A, 0x6c, 0},
12322 {0x12B, 0x22, 0},
12323 {0x12C, 0xbe, 0},
12324 {0x12D, 0x55, 0},
12325 {0x12F, 0xc, 0},
12326 {0x130, 0xaa, 0},
12327 {0x131, 0x2, 0},
12328 {0x132, 0, 0},
12329 {0x133, 0x10, 0},
12330 {0x134, 0x1, 0},
12331 {0x135, 0, 0},
12332 {0x136, 0, 0},
12333 {0x137, 0x80, 0},
12334 {0x138, 0x60, 0},
12335 {0x139, 0x44, 0},
12336 {0x13A, 0x55, 0},
12337 {0x13B, 0x1, 0},
12338 {0x13C, 0x55, 0},
12339 {0x13D, 0x1, 0},
12340 {0x13E, 0x5, 0},
12341 {0x13F, 0x55, 0},
12342 {0x140, 0x55, 0},
12343 {0x148, 0, 0},
12344 {0x149, 0, 0},
12345 {0x14A, 0, 0},
12346 {0x14B, 0, 0},
12347 {0x14C, 0, 0},
12348 {0x14D, 0, 0},
12349 {0x14E, 0x1, 1},
12350 {0x14F, 0, 0},
12351 {0x150, 0, 0},
12352 {0x154, 0xc, 0},
12353 {0x155, 0xc, 0},
12354 {0x156, 0xc, 0},
12355 {0x157, 0, 0},
12356 {0x158, 0x2b, 0},
12357 {0x159, 0x84, 0},
12358 {0x15A, 0x15, 0},
12359 {0x15B, 0xf, 0},
12360 {0x15C, 0, 0},
12361 {0x15D, 0, 0},
12362 {0x15E, 0, 1},
12363 {0x15F, 0, 1},
12364 {0x160, 0, 1},
12365 {0x161, 0, 1},
12366 {0x162, 0, 1},
12367 {0x163, 0, 1},
12368 {0x164, 0, 0},
12369 {0x165, 0, 0},
12370 {0x166, 0, 0},
12371 {0x167, 0, 0},
12372 {0x168, 0, 0},
12373 {0x169, 0, 0},
12374 {0x16A, 0, 1},
12375 {0x16B, 0, 1},
12376 {0x16C, 0, 1},
12377 {0x16D, 0, 0},
12378 {0x170, 0, 0},
12379 {0x171, 0x77, 0},
12380 {0x172, 0x77, 0},
12381 {0x173, 0x77, 0},
12382 {0x174, 0x77, 0},
12383 {0x175, 0, 0},
12384 {0x176, 0x3, 0},
12385 {0x177, 0x37, 0},
12386 {0x178, 0x3, 0},
12387 {0x179, 0, 0},
12388 {0x17B, 0x21, 0},
12389 {0x17C, 0, 0},
12390 {0x17D, 0xaa, 0},
12391 {0x17E, 0, 0},
12392 {0x190, 0, 0},
12393 {0x191, 0x77, 0},
12394 {0x192, 0x77, 0},
12395 {0x193, 0x77, 0},
12396 {0x194, 0x77, 0},
12397 {0x195, 0, 0},
12398 {0x196, 0x3, 0},
12399 {0x197, 0x37, 0},
12400 {0x198, 0x3, 0},
12401 {0x199, 0, 0},
12402 {0x19B, 0x21, 0},
12403 {0x19C, 0, 0},
12404 {0x19D, 0xaa, 0},
12405 {0x19E, 0, 0},
12406 {0x1A1, 0x2, 0},
12407 {0x1A2, 0xf, 0},
12408 {0x1A3, 0xf, 0},
12409 {0x1A4, 0, 1},
12410 {0x1A5, 0, 1},
12411 {0x1A6, 0, 1},
12412 {0x1A7, 0x2, 0},
12413 {0x1A8, 0xf, 0},
12414 {0x1A9, 0xf, 0},
12415 {0x1AA, 0, 1},
12416 {0x1AB, 0, 1},
12417 {0x1AC, 0, 1},
12418 {0x1AD, 0x84, 0},
12419 {0x1AE, 0x60, 0},
12420 {0x1AF, 0x47, 0},
12421 {0x1B0, 0x47, 0},
12422 {0x1B1, 0, 0},
12423 {0x1B2, 0, 0},
12424 {0x1B3, 0, 0},
12425 {0x1B4, 0, 0},
12426 {0x1B5, 0, 0},
12427 {0x1B6, 0, 0},
12428 {0x1B7, 0xc, 1},
12429 {0x1B8, 0, 0},
12430 {0x1B9, 0, 0},
12431 {0x1BA, 0, 0},
12432 {0x1BB, 0, 0},
12433 {0x1BC, 0, 0},
12434 {0x1BD, 0, 0},
12435 {0x1BE, 0, 0},
12436 {0x1BF, 0, 0},
12437 {0x1C0, 0, 0},
12438 {0x1C1, 0x1, 1},
12439 {0x1C2, 0x80, 1},
12440 {0x1C3, 0, 0},
12441 {0x1C4, 0, 0},
12442 {0x1C5, 0, 0},
12443 {0x1C6, 0, 0},
12444 {0x1C7, 0, 0},
12445 {0x1C8, 0, 0},
12446 {0x1C9, 0, 0},
12447 {0x1CA, 0, 0},
12448 {0xFFFF, 0, 0}
12451 radio_20xx_regs_t regs_2057_rev7[] = {
12452 {0x00, 0, 1},
12453 {0x01, 0x57, 1},
12454 {0x02, 0x20, 1},
12455 {0x03, 0x1f, 0},
12456 {0x04, 0x4, 0},
12457 {0x05, 0x2, 0},
12458 {0x06, 0x1, 0},
12459 {0x07, 0x1, 0},
12460 {0x08, 0x1, 0},
12461 {0x09, 0x69, 0},
12462 {0x0A, 0x66, 0},
12463 {0x0B, 0x6, 0},
12464 {0x0C, 0x18, 0},
12465 {0x0D, 0x3, 0},
12466 {0x0E, 0x20, 0},
12467 {0x0F, 0x20, 0},
12468 {0x10, 0, 0},
12469 {0x11, 0x7c, 0},
12470 {0x12, 0x42, 0},
12471 {0x13, 0xbd, 0},
12472 {0x14, 0x7, 0},
12473 {0x15, 0x87, 0},
12474 {0x16, 0x8, 0},
12475 {0x17, 0x17, 0},
12476 {0x18, 0x7, 0},
12477 {0x19, 0, 0},
12478 {0x1A, 0x2, 0},
12479 {0x1B, 0x13, 0},
12480 {0x1C, 0x3e, 0},
12481 {0x1D, 0x3e, 0},
12482 {0x1E, 0x96, 0},
12483 {0x1F, 0x4, 0},
12484 {0x20, 0, 0},
12485 {0x21, 0, 0},
12486 {0x22, 0x17, 0},
12487 {0x23, 0x6, 0},
12488 {0x24, 0x1, 0},
12489 {0x25, 0x6, 0},
12490 {0x26, 0x4, 0},
12491 {0x27, 0xd, 0},
12492 {0x28, 0xd, 0},
12493 {0x29, 0x30, 0},
12494 {0x2A, 0x32, 0},
12495 {0x2B, 0x8, 0},
12496 {0x2C, 0x1c, 0},
12497 {0x2D, 0x2, 0},
12498 {0x2E, 0x4, 0},
12499 {0x2F, 0x7f, 0},
12500 {0x30, 0x27, 0},
12501 {0x31, 0, 1},
12502 {0x32, 0, 1},
12503 {0x33, 0, 1},
12504 {0x34, 0, 0},
12505 {0x35, 0x20, 0},
12506 {0x36, 0x18, 0},
12507 {0x37, 0x7, 0},
12508 {0x38, 0x66, 0},
12509 {0x39, 0x66, 0},
12510 {0x3A, 0x66, 0},
12511 {0x3B, 0x66, 0},
12512 {0x3C, 0xff, 0},
12513 {0x3D, 0xff, 0},
12514 {0x3E, 0xff, 0},
12515 {0x3F, 0xff, 0},
12516 {0x40, 0x16, 0},
12517 {0x41, 0x7, 0},
12518 {0x42, 0x19, 0},
12519 {0x43, 0x7, 0},
12520 {0x44, 0x6, 0},
12521 {0x45, 0x3, 0},
12522 {0x46, 0x1, 0},
12523 {0x47, 0x7, 0},
12524 {0x48, 0x33, 0},
12525 {0x49, 0x5, 0},
12526 {0x4A, 0x77, 0},
12527 {0x4B, 0x66, 0},
12528 {0x4C, 0x66, 0},
12529 {0x4D, 0, 0},
12530 {0x4E, 0x4, 0},
12531 {0x4F, 0xc, 0},
12532 {0x50, 0, 0},
12533 {0x51, 0x70, 1},
12534 {0x56, 0x7, 0},
12535 {0x57, 0, 0},
12536 {0x58, 0, 0},
12537 {0x59, 0x88, 1},
12538 {0x5A, 0, 0},
12539 {0x5B, 0x1f, 0},
12540 {0x5C, 0x20, 1},
12541 {0x5D, 0x1, 0},
12542 {0x5E, 0x30, 0},
12543 {0x5F, 0x70, 0},
12544 {0x60, 0, 0},
12545 {0x61, 0, 0},
12546 {0x62, 0x33, 1},
12547 {0x63, 0xf, 1},
12548 {0x64, 0x13, 1},
12549 {0x65, 0, 0},
12550 {0x66, 0xee, 1},
12551 {0x69, 0, 0},
12552 {0x6A, 0x7e, 0},
12553 {0x6B, 0x3f, 0},
12554 {0x6C, 0x7f, 0},
12555 {0x6D, 0x78, 0},
12556 {0x6E, 0x58, 1},
12557 {0x6F, 0x88, 0},
12558 {0x70, 0x8, 0},
12559 {0x71, 0xf, 0},
12560 {0x72, 0xbc, 0},
12561 {0x73, 0x8, 0},
12562 {0x74, 0x60, 0},
12563 {0x75, 0x13, 1},
12564 {0x76, 0x70, 0},
12565 {0x77, 0, 0},
12566 {0x78, 0, 0},
12567 {0x79, 0, 0},
12568 {0x7A, 0x33, 0},
12569 {0x7B, 0x13, 1},
12570 {0x7C, 0x14, 1},
12571 {0x7D, 0xee, 1},
12572 {0x80, 0x3c, 0},
12573 {0x81, 0x1, 1},
12574 {0x82, 0xa, 0},
12575 {0x83, 0x9d, 0},
12576 {0x84, 0xa, 0},
12577 {0x85, 0, 0},
12578 {0x86, 0x40, 0},
12579 {0x87, 0x40, 0},
12580 {0x88, 0x88, 0},
12581 {0x89, 0x10, 0},
12582 {0x8A, 0xf0, 0},
12583 {0x8B, 0x10, 0},
12584 {0x8C, 0xf0, 0},
12585 {0x8D, 0, 0},
12586 {0x8E, 0, 0},
12587 {0x8F, 0x10, 0},
12588 {0x90, 0x55, 0},
12589 {0x91, 0x3f, 1},
12590 {0x92, 0x36, 1},
12591 {0x93, 0, 0},
12592 {0x94, 0, 0},
12593 {0x95, 0, 0},
12594 {0x96, 0x87, 0},
12595 {0x97, 0x11, 0},
12596 {0x98, 0, 0},
12597 {0x99, 0x33, 0},
12598 {0x9A, 0x88, 0},
12599 {0x9B, 0, 0},
12600 {0x9C, 0x87, 0},
12601 {0x9D, 0x11, 0},
12602 {0x9E, 0, 0},
12603 {0x9F, 0x33, 0},
12604 {0xA0, 0x88, 0},
12605 {0xA1, 0x20, 1},
12606 {0xA2, 0x3f, 0},
12607 {0xA3, 0x44, 0},
12608 {0xA4, 0x8c, 0},
12609 {0xA5, 0x6c, 0},
12610 {0xA6, 0x22, 0},
12611 {0xA7, 0xbe, 0},
12612 {0xA8, 0x55, 0},
12613 {0xAA, 0xc, 0},
12614 {0xAB, 0xaa, 0},
12615 {0xAC, 0x2, 0},
12616 {0xAD, 0, 0},
12617 {0xAE, 0x10, 0},
12618 {0xAF, 0x1, 0},
12619 {0xB0, 0, 0},
12620 {0xB1, 0, 0},
12621 {0xB2, 0x80, 0},
12622 {0xB3, 0x60, 0},
12623 {0xB4, 0x44, 0},
12624 {0xB5, 0x55, 0},
12625 {0xB6, 0x1, 0},
12626 {0xB7, 0x55, 0},
12627 {0xB8, 0x1, 0},
12628 {0xB9, 0x5, 0},
12629 {0xBA, 0x55, 0},
12630 {0xBB, 0x55, 0},
12631 {0xC1, 0, 0},
12632 {0xC2, 0, 0},
12633 {0xC3, 0, 0},
12634 {0xC4, 0, 0},
12635 {0xC5, 0, 0},
12636 {0xC6, 0, 0},
12637 {0xC7, 0, 0},
12638 {0xC8, 0, 0},
12639 {0xC9, 0, 0},
12640 {0xCA, 0, 0},
12641 {0xCB, 0, 0},
12642 {0xCC, 0, 0},
12643 {0xCD, 0, 0},
12644 {0xCE, 0x5e, 0},
12645 {0xCF, 0xc, 0},
12646 {0xD0, 0xc, 0},
12647 {0xD1, 0xc, 0},
12648 {0xD2, 0, 0},
12649 {0xD3, 0x2b, 0},
12650 {0xD4, 0xc, 0},
12651 {0xD5, 0, 0},
12652 {0xD6, 0x70, 1},
12653 {0xDB, 0x7, 0},
12654 {0xDC, 0, 0},
12655 {0xDD, 0, 0},
12656 {0xDE, 0x88, 1},
12657 {0xDF, 0, 0},
12658 {0xE0, 0x1f, 0},
12659 {0xE1, 0x20, 1},
12660 {0xE2, 0x1, 0},
12661 {0xE3, 0x30, 0},
12662 {0xE4, 0x70, 0},
12663 {0xE5, 0, 0},
12664 {0xE6, 0, 0},
12665 {0xE7, 0x33, 0},
12666 {0xE8, 0xf, 1},
12667 {0xE9, 0x13, 1},
12668 {0xEA, 0, 0},
12669 {0xEB, 0xee, 1},
12670 {0xEE, 0, 0},
12671 {0xEF, 0x7e, 0},
12672 {0xF0, 0x3f, 0},
12673 {0xF1, 0x7f, 0},
12674 {0xF2, 0x78, 0},
12675 {0xF3, 0x58, 1},
12676 {0xF4, 0x88, 0},
12677 {0xF5, 0x8, 0},
12678 {0xF6, 0xf, 0},
12679 {0xF7, 0xbc, 0},
12680 {0xF8, 0x8, 0},
12681 {0xF9, 0x60, 0},
12682 {0xFA, 0x13, 1},
12683 {0xFB, 0x70, 0},
12684 {0xFC, 0, 0},
12685 {0xFD, 0, 0},
12686 {0xFE, 0, 0},
12687 {0xFF, 0x33, 0},
12688 {0x100, 0x13, 1},
12689 {0x101, 0x14, 1},
12690 {0x102, 0xee, 1},
12691 {0x105, 0x3c, 0},
12692 {0x106, 0x1, 1},
12693 {0x107, 0xa, 0},
12694 {0x108, 0x9d, 0},
12695 {0x109, 0xa, 0},
12696 {0x10A, 0, 0},
12697 {0x10B, 0x40, 0},
12698 {0x10C, 0x40, 0},
12699 {0x10D, 0x88, 0},
12700 {0x10E, 0x10, 0},
12701 {0x10F, 0xf0, 0},
12702 {0x110, 0x10, 0},
12703 {0x111, 0xf0, 0},
12704 {0x112, 0, 0},
12705 {0x113, 0, 0},
12706 {0x114, 0x10, 0},
12707 {0x115, 0x55, 0},
12708 {0x116, 0x3f, 1},
12709 {0x117, 0x36, 1},
12710 {0x118, 0, 0},
12711 {0x119, 0, 0},
12712 {0x11A, 0, 0},
12713 {0x11B, 0x87, 0},
12714 {0x11C, 0x11, 0},
12715 {0x11D, 0, 0},
12716 {0x11E, 0x33, 0},
12717 {0x11F, 0x88, 0},
12718 {0x120, 0, 0},
12719 {0x121, 0x87, 0},
12720 {0x122, 0x11, 0},
12721 {0x123, 0, 0},
12722 {0x124, 0x33, 0},
12723 {0x125, 0x88, 0},
12724 {0x126, 0x20, 1},
12725 {0x127, 0x3f, 0},
12726 {0x128, 0x44, 0},
12727 {0x129, 0x8c, 0},
12728 {0x12A, 0x6c, 0},
12729 {0x12B, 0x22, 0},
12730 {0x12C, 0xbe, 0},
12731 {0x12D, 0x55, 0},
12732 {0x12F, 0xc, 0},
12733 {0x130, 0xaa, 0},
12734 {0x131, 0x2, 0},
12735 {0x132, 0, 0},
12736 {0x133, 0x10, 0},
12737 {0x134, 0x1, 0},
12738 {0x135, 0, 0},
12739 {0x136, 0, 0},
12740 {0x137, 0x80, 0},
12741 {0x138, 0x60, 0},
12742 {0x139, 0x44, 0},
12743 {0x13A, 0x55, 0},
12744 {0x13B, 0x1, 0},
12745 {0x13C, 0x55, 0},
12746 {0x13D, 0x1, 0},
12747 {0x13E, 0x5, 0},
12748 {0x13F, 0x55, 0},
12749 {0x140, 0x55, 0},
12750 {0x146, 0, 0},
12751 {0x147, 0, 0},
12752 {0x148, 0, 0},
12753 {0x149, 0, 0},
12754 {0x14A, 0, 0},
12755 {0x14B, 0, 0},
12756 {0x14C, 0, 0},
12757 {0x14D, 0, 0},
12758 {0x14E, 0, 0},
12759 {0x14F, 0, 0},
12760 {0x150, 0, 0},
12761 {0x151, 0, 0},
12762 {0x154, 0xc, 0},
12763 {0x155, 0xc, 0},
12764 {0x156, 0xc, 0},
12765 {0x157, 0, 0},
12766 {0x158, 0x2b, 0},
12767 {0x159, 0x84, 0},
12768 {0x15A, 0x15, 0},
12769 {0x15B, 0xf, 0},
12770 {0x15C, 0, 0},
12771 {0x15D, 0, 0},
12772 {0x15E, 0, 1},
12773 {0x15F, 0, 1},
12774 {0x160, 0, 1},
12775 {0x161, 0, 1},
12776 {0x162, 0, 1},
12777 {0x163, 0, 1},
12778 {0x164, 0, 0},
12779 {0x165, 0, 0},
12780 {0x166, 0, 0},
12781 {0x167, 0, 0},
12782 {0x168, 0, 0},
12783 {0x169, 0, 0},
12784 {0x16A, 0, 1},
12785 {0x16B, 0, 1},
12786 {0x16C, 0, 1},
12787 {0x16D, 0, 0},
12788 {0x170, 0, 0},
12789 {0x171, 0x77, 0},
12790 {0x172, 0x77, 0},
12791 {0x173, 0x77, 0},
12792 {0x174, 0x77, 0},
12793 {0x175, 0, 0},
12794 {0x176, 0x3, 0},
12795 {0x177, 0x37, 0},
12796 {0x178, 0x3, 0},
12797 {0x179, 0, 0},
12798 {0x17A, 0x21, 0},
12799 {0x17B, 0x21, 0},
12800 {0x17C, 0, 0},
12801 {0x17D, 0xaa, 0},
12802 {0x17E, 0, 0},
12803 {0x17F, 0xaa, 0},
12804 {0x180, 0, 0},
12805 {0x190, 0, 0},
12806 {0x191, 0x77, 0},
12807 {0x192, 0x77, 0},
12808 {0x193, 0x77, 0},
12809 {0x194, 0x77, 0},
12810 {0x195, 0, 0},
12811 {0x196, 0x3, 0},
12812 {0x197, 0x37, 0},
12813 {0x198, 0x3, 0},
12814 {0x199, 0, 0},
12815 {0x19A, 0x21, 0},
12816 {0x19B, 0x21, 0},
12817 {0x19C, 0, 0},
12818 {0x19D, 0xaa, 0},
12819 {0x19E, 0, 0},
12820 {0x19F, 0xaa, 0},
12821 {0x1A0, 0, 0},
12822 {0x1A1, 0x2, 0},
12823 {0x1A2, 0xf, 0},
12824 {0x1A3, 0xf, 0},
12825 {0x1A4, 0, 1},
12826 {0x1A5, 0, 1},
12827 {0x1A6, 0, 1},
12828 {0x1A7, 0x2, 0},
12829 {0x1A8, 0xf, 0},
12830 {0x1A9, 0xf, 0},
12831 {0x1AA, 0, 1},
12832 {0x1AB, 0, 1},
12833 {0x1AC, 0, 1},
12834 {0x1AD, 0x84, 0},
12835 {0x1AE, 0x60, 0},
12836 {0x1AF, 0x47, 0},
12837 {0x1B0, 0x47, 0},
12838 {0x1B1, 0, 0},
12839 {0x1B2, 0, 0},
12840 {0x1B3, 0, 0},
12841 {0x1B4, 0, 0},
12842 {0x1B5, 0, 0},
12843 {0x1B6, 0, 0},
12844 {0x1B7, 0x5, 1},
12845 {0x1B8, 0, 0},
12846 {0x1B9, 0, 0},
12847 {0x1BA, 0, 0},
12848 {0x1BB, 0, 0},
12849 {0x1BC, 0, 0},
12850 {0x1BD, 0, 0},
12851 {0x1BE, 0, 0},
12852 {0x1BF, 0, 0},
12853 {0x1C0, 0, 0},
12854 {0x1C1, 0, 0},
12855 {0x1C2, 0xa0, 1},
12856 {0x1C3, 0, 0},
12857 {0x1C4, 0, 0},
12858 {0x1C5, 0, 0},
12859 {0x1C6, 0, 0},
12860 {0x1C7, 0, 0},
12861 {0x1C8, 0, 0},
12862 {0x1C9, 0, 0},
12863 {0x1CA, 0, 0},
12864 {0xFFFF, 0, 0}
12867 radio_20xx_regs_t regs_2057_rev8[] = {
12868 {0x00, 0x8, 1},
12869 {0x01, 0x57, 1},
12870 {0x02, 0x20, 1},
12871 {0x03, 0x1f, 0},
12872 {0x04, 0x4, 0},
12873 {0x05, 0x2, 0},
12874 {0x06, 0x1, 0},
12875 {0x07, 0x1, 0},
12876 {0x08, 0x1, 0},
12877 {0x09, 0x69, 0},
12878 {0x0A, 0x66, 0},
12879 {0x0B, 0x6, 0},
12880 {0x0C, 0x18, 0},
12881 {0x0D, 0x3, 0},
12882 {0x0E, 0x20, 0},
12883 {0x0F, 0x20, 0},
12884 {0x10, 0, 0},
12885 {0x11, 0x7c, 0},
12886 {0x12, 0x42, 0},
12887 {0x13, 0xbd, 0},
12888 {0x14, 0x7, 0},
12889 {0x15, 0x87, 0},
12890 {0x16, 0x8, 0},
12891 {0x17, 0x17, 0},
12892 {0x18, 0x7, 0},
12893 {0x19, 0, 0},
12894 {0x1A, 0x2, 0},
12895 {0x1B, 0x13, 0},
12896 {0x1C, 0x3e, 0},
12897 {0x1D, 0x3e, 0},
12898 {0x1E, 0x96, 0},
12899 {0x1F, 0x4, 0},
12900 {0x20, 0, 0},
12901 {0x21, 0, 0},
12902 {0x22, 0x17, 0},
12903 {0x23, 0x6, 0},
12904 {0x24, 0x1, 0},
12905 {0x25, 0x6, 0},
12906 {0x26, 0x4, 0},
12907 {0x27, 0xd, 0},
12908 {0x28, 0xd, 0},
12909 {0x29, 0x30, 0},
12910 {0x2A, 0x32, 0},
12911 {0x2B, 0x8, 0},
12912 {0x2C, 0x1c, 0},
12913 {0x2D, 0x2, 0},
12914 {0x2E, 0x4, 0},
12915 {0x2F, 0x7f, 0},
12916 {0x30, 0x27, 0},
12917 {0x31, 0, 1},
12918 {0x32, 0, 1},
12919 {0x33, 0, 1},
12920 {0x34, 0, 0},
12921 {0x35, 0x20, 0},
12922 {0x36, 0x18, 0},
12923 {0x37, 0x7, 0},
12924 {0x38, 0x66, 0},
12925 {0x39, 0x66, 0},
12926 {0x3A, 0x66, 0},
12927 {0x3B, 0x66, 0},
12928 {0x3C, 0xff, 0},
12929 {0x3D, 0xff, 0},
12930 {0x3E, 0xff, 0},
12931 {0x3F, 0xff, 0},
12932 {0x40, 0x16, 0},
12933 {0x41, 0x7, 0},
12934 {0x42, 0x19, 0},
12935 {0x43, 0x7, 0},
12936 {0x44, 0x6, 0},
12937 {0x45, 0x3, 0},
12938 {0x46, 0x1, 0},
12939 {0x47, 0x7, 0},
12940 {0x48, 0x33, 0},
12941 {0x49, 0x5, 0},
12942 {0x4A, 0x77, 0},
12943 {0x4B, 0x66, 0},
12944 {0x4C, 0x66, 0},
12945 {0x4D, 0, 0},
12946 {0x4E, 0x4, 0},
12947 {0x4F, 0xc, 0},
12948 {0x50, 0, 0},
12949 {0x51, 0x70, 1},
12950 {0x56, 0x7, 0},
12951 {0x57, 0, 0},
12952 {0x58, 0, 0},
12953 {0x59, 0x88, 1},
12954 {0x5A, 0, 0},
12955 {0x5B, 0x1f, 0},
12956 {0x5C, 0x20, 1},
12957 {0x5D, 0x1, 0},
12958 {0x5E, 0x30, 0},
12959 {0x5F, 0x70, 0},
12960 {0x60, 0, 0},
12961 {0x61, 0, 0},
12962 {0x62, 0x33, 1},
12963 {0x63, 0xf, 1},
12964 {0x64, 0xf, 1},
12965 {0x65, 0, 0},
12966 {0x66, 0x11, 0},
12967 {0x69, 0, 0},
12968 {0x6A, 0x7e, 0},
12969 {0x6B, 0x3f, 0},
12970 {0x6C, 0x7f, 0},
12971 {0x6D, 0x78, 0},
12972 {0x6E, 0x58, 1},
12973 {0x6F, 0x88, 0},
12974 {0x70, 0x8, 0},
12975 {0x71, 0xf, 0},
12976 {0x72, 0xbc, 0},
12977 {0x73, 0x8, 0},
12978 {0x74, 0x60, 0},
12979 {0x75, 0x13, 1},
12980 {0x76, 0x70, 0},
12981 {0x77, 0, 0},
12982 {0x78, 0, 0},
12983 {0x79, 0, 0},
12984 {0x7A, 0x33, 0},
12985 {0x7B, 0x13, 1},
12986 {0x7C, 0xf, 1},
12987 {0x7D, 0xee, 1},
12988 {0x80, 0x3c, 0},
12989 {0x81, 0x1, 1},
12990 {0x82, 0xa, 0},
12991 {0x83, 0x9d, 0},
12992 {0x84, 0xa, 0},
12993 {0x85, 0, 0},
12994 {0x86, 0x40, 0},
12995 {0x87, 0x40, 0},
12996 {0x88, 0x88, 0},
12997 {0x89, 0x10, 0},
12998 {0x8A, 0xf0, 0},
12999 {0x8B, 0x10, 0},
13000 {0x8C, 0xf0, 0},
13001 {0x8D, 0, 0},
13002 {0x8E, 0, 0},
13003 {0x8F, 0x10, 0},
13004 {0x90, 0x55, 0},
13005 {0x91, 0x3f, 1},
13006 {0x92, 0x36, 1},
13007 {0x93, 0, 0},
13008 {0x94, 0, 0},
13009 {0x95, 0, 0},
13010 {0x96, 0x87, 0},
13011 {0x97, 0x11, 0},
13012 {0x98, 0, 0},
13013 {0x99, 0x33, 0},
13014 {0x9A, 0x88, 0},
13015 {0x9B, 0, 0},
13016 {0x9C, 0x87, 0},
13017 {0x9D, 0x11, 0},
13018 {0x9E, 0, 0},
13019 {0x9F, 0x33, 0},
13020 {0xA0, 0x88, 0},
13021 {0xA1, 0x20, 1},
13022 {0xA2, 0x3f, 0},
13023 {0xA3, 0x44, 0},
13024 {0xA4, 0x8c, 0},
13025 {0xA5, 0x6c, 0},
13026 {0xA6, 0x22, 0},
13027 {0xA7, 0xbe, 0},
13028 {0xA8, 0x55, 0},
13029 {0xAA, 0xc, 0},
13030 {0xAB, 0xaa, 0},
13031 {0xAC, 0x2, 0},
13032 {0xAD, 0, 0},
13033 {0xAE, 0x10, 0},
13034 {0xAF, 0x1, 0},
13035 {0xB0, 0, 0},
13036 {0xB1, 0, 0},
13037 {0xB2, 0x80, 0},
13038 {0xB3, 0x60, 0},
13039 {0xB4, 0x44, 0},
13040 {0xB5, 0x55, 0},
13041 {0xB6, 0x1, 0},
13042 {0xB7, 0x55, 0},
13043 {0xB8, 0x1, 0},
13044 {0xB9, 0x5, 0},
13045 {0xBA, 0x55, 0},
13046 {0xBB, 0x55, 0},
13047 {0xC1, 0, 0},
13048 {0xC2, 0, 0},
13049 {0xC3, 0, 0},
13050 {0xC4, 0, 0},
13051 {0xC5, 0, 0},
13052 {0xC6, 0, 0},
13053 {0xC7, 0, 0},
13054 {0xC8, 0, 0},
13055 {0xC9, 0x1, 1},
13056 {0xCA, 0, 0},
13057 {0xCB, 0, 0},
13058 {0xCC, 0, 0},
13059 {0xCD, 0, 0},
13060 {0xCE, 0x5e, 0},
13061 {0xCF, 0xc, 0},
13062 {0xD0, 0xc, 0},
13063 {0xD1, 0xc, 0},
13064 {0xD2, 0, 0},
13065 {0xD3, 0x2b, 0},
13066 {0xD4, 0xc, 0},
13067 {0xD5, 0, 0},
13068 {0xD6, 0x70, 1},
13069 {0xDB, 0x7, 0},
13070 {0xDC, 0, 0},
13071 {0xDD, 0, 0},
13072 {0xDE, 0x88, 1},
13073 {0xDF, 0, 0},
13074 {0xE0, 0x1f, 0},
13075 {0xE1, 0x20, 1},
13076 {0xE2, 0x1, 0},
13077 {0xE3, 0x30, 0},
13078 {0xE4, 0x70, 0},
13079 {0xE5, 0, 0},
13080 {0xE6, 0, 0},
13081 {0xE7, 0x33, 0},
13082 {0xE8, 0xf, 1},
13083 {0xE9, 0xf, 1},
13084 {0xEA, 0, 0},
13085 {0xEB, 0x11, 0},
13086 {0xEE, 0, 0},
13087 {0xEF, 0x7e, 0},
13088 {0xF0, 0x3f, 0},
13089 {0xF1, 0x7f, 0},
13090 {0xF2, 0x78, 0},
13091 {0xF3, 0x58, 1},
13092 {0xF4, 0x88, 0},
13093 {0xF5, 0x8, 0},
13094 {0xF6, 0xf, 0},
13095 {0xF7, 0xbc, 0},
13096 {0xF8, 0x8, 0},
13097 {0xF9, 0x60, 0},
13098 {0xFA, 0x13, 1},
13099 {0xFB, 0x70, 0},
13100 {0xFC, 0, 0},
13101 {0xFD, 0, 0},
13102 {0xFE, 0, 0},
13103 {0xFF, 0x33, 0},
13104 {0x100, 0x13, 1},
13105 {0x101, 0xf, 1},
13106 {0x102, 0xee, 1},
13107 {0x105, 0x3c, 0},
13108 {0x106, 0x1, 1},
13109 {0x107, 0xa, 0},
13110 {0x108, 0x9d, 0},
13111 {0x109, 0xa, 0},
13112 {0x10A, 0, 0},
13113 {0x10B, 0x40, 0},
13114 {0x10C, 0x40, 0},
13115 {0x10D, 0x88, 0},
13116 {0x10E, 0x10, 0},
13117 {0x10F, 0xf0, 0},
13118 {0x110, 0x10, 0},
13119 {0x111, 0xf0, 0},
13120 {0x112, 0, 0},
13121 {0x113, 0, 0},
13122 {0x114, 0x10, 0},
13123 {0x115, 0x55, 0},
13124 {0x116, 0x3f, 1},
13125 {0x117, 0x36, 1},
13126 {0x118, 0, 0},
13127 {0x119, 0, 0},
13128 {0x11A, 0, 0},
13129 {0x11B, 0x87, 0},
13130 {0x11C, 0x11, 0},
13131 {0x11D, 0, 0},
13132 {0x11E, 0x33, 0},
13133 {0x11F, 0x88, 0},
13134 {0x120, 0, 0},
13135 {0x121, 0x87, 0},
13136 {0x122, 0x11, 0},
13137 {0x123, 0, 0},
13138 {0x124, 0x33, 0},
13139 {0x125, 0x88, 0},
13140 {0x126, 0x20, 1},
13141 {0x127, 0x3f, 0},
13142 {0x128, 0x44, 0},
13143 {0x129, 0x8c, 0},
13144 {0x12A, 0x6c, 0},
13145 {0x12B, 0x22, 0},
13146 {0x12C, 0xbe, 0},
13147 {0x12D, 0x55, 0},
13148 {0x12F, 0xc, 0},
13149 {0x130, 0xaa, 0},
13150 {0x131, 0x2, 0},
13151 {0x132, 0, 0},
13152 {0x133, 0x10, 0},
13153 {0x134, 0x1, 0},
13154 {0x135, 0, 0},
13155 {0x136, 0, 0},
13156 {0x137, 0x80, 0},
13157 {0x138, 0x60, 0},
13158 {0x139, 0x44, 0},
13159 {0x13A, 0x55, 0},
13160 {0x13B, 0x1, 0},
13161 {0x13C, 0x55, 0},
13162 {0x13D, 0x1, 0},
13163 {0x13E, 0x5, 0},
13164 {0x13F, 0x55, 0},
13165 {0x140, 0x55, 0},
13166 {0x146, 0, 0},
13167 {0x147, 0, 0},
13168 {0x148, 0, 0},
13169 {0x149, 0, 0},
13170 {0x14A, 0, 0},
13171 {0x14B, 0, 0},
13172 {0x14C, 0, 0},
13173 {0x14D, 0, 0},
13174 {0x14E, 0x1, 1},
13175 {0x14F, 0, 0},
13176 {0x150, 0, 0},
13177 {0x151, 0, 0},
13178 {0x154, 0xc, 0},
13179 {0x155, 0xc, 0},
13180 {0x156, 0xc, 0},
13181 {0x157, 0, 0},
13182 {0x158, 0x2b, 0},
13183 {0x159, 0x84, 0},
13184 {0x15A, 0x15, 0},
13185 {0x15B, 0xf, 0},
13186 {0x15C, 0, 0},
13187 {0x15D, 0, 0},
13188 {0x15E, 0, 1},
13189 {0x15F, 0, 1},
13190 {0x160, 0, 1},
13191 {0x161, 0, 1},
13192 {0x162, 0, 1},
13193 {0x163, 0, 1},
13194 {0x164, 0, 0},
13195 {0x165, 0, 0},
13196 {0x166, 0, 0},
13197 {0x167, 0, 0},
13198 {0x168, 0, 0},
13199 {0x169, 0, 0},
13200 {0x16A, 0, 1},
13201 {0x16B, 0, 1},
13202 {0x16C, 0, 1},
13203 {0x16D, 0, 0},
13204 {0x170, 0, 0},
13205 {0x171, 0x77, 0},
13206 {0x172, 0x77, 0},
13207 {0x173, 0x77, 0},
13208 {0x174, 0x77, 0},
13209 {0x175, 0, 0},
13210 {0x176, 0x3, 0},
13211 {0x177, 0x37, 0},
13212 {0x178, 0x3, 0},
13213 {0x179, 0, 0},
13214 {0x17A, 0x21, 0},
13215 {0x17B, 0x21, 0},
13216 {0x17C, 0, 0},
13217 {0x17D, 0xaa, 0},
13218 {0x17E, 0, 0},
13219 {0x17F, 0xaa, 0},
13220 {0x180, 0, 0},
13221 {0x190, 0, 0},
13222 {0x191, 0x77, 0},
13223 {0x192, 0x77, 0},
13224 {0x193, 0x77, 0},
13225 {0x194, 0x77, 0},
13226 {0x195, 0, 0},
13227 {0x196, 0x3, 0},
13228 {0x197, 0x37, 0},
13229 {0x198, 0x3, 0},
13230 {0x199, 0, 0},
13231 {0x19A, 0x21, 0},
13232 {0x19B, 0x21, 0},
13233 {0x19C, 0, 0},
13234 {0x19D, 0xaa, 0},
13235 {0x19E, 0, 0},
13236 {0x19F, 0xaa, 0},
13237 {0x1A0, 0, 0},
13238 {0x1A1, 0x2, 0},
13239 {0x1A2, 0xf, 0},
13240 {0x1A3, 0xf, 0},
13241 {0x1A4, 0, 1},
13242 {0x1A5, 0, 1},
13243 {0x1A6, 0, 1},
13244 {0x1A7, 0x2, 0},
13245 {0x1A8, 0xf, 0},
13246 {0x1A9, 0xf, 0},
13247 {0x1AA, 0, 1},
13248 {0x1AB, 0, 1},
13249 {0x1AC, 0, 1},
13250 {0x1AD, 0x84, 0},
13251 {0x1AE, 0x60, 0},
13252 {0x1AF, 0x47, 0},
13253 {0x1B0, 0x47, 0},
13254 {0x1B1, 0, 0},
13255 {0x1B2, 0, 0},
13256 {0x1B3, 0, 0},
13257 {0x1B4, 0, 0},
13258 {0x1B5, 0, 0},
13259 {0x1B6, 0, 0},
13260 {0x1B7, 0x5, 1},
13261 {0x1B8, 0, 0},
13262 {0x1B9, 0, 0},
13263 {0x1BA, 0, 0},
13264 {0x1BB, 0, 0},
13265 {0x1BC, 0, 0},
13266 {0x1BD, 0, 0},
13267 {0x1BE, 0, 0},
13268 {0x1BF, 0, 0},
13269 {0x1C0, 0, 0},
13270 {0x1C1, 0, 0},
13271 {0x1C2, 0xa0, 1},
13272 {0x1C3, 0, 0},
13273 {0x1C4, 0, 0},
13274 {0x1C5, 0, 0},
13275 {0x1C6, 0, 0},
13276 {0x1C7, 0, 0},
13277 {0x1C8, 0, 0},
13278 {0x1C9, 0, 0},
13279 {0x1CA, 0, 0},
13280 {0xFFFF, 0, 0}
13283 static int16 nphy_def_lnagains[] = { -2, 10, 19, 25 };
13285 static int32 nphy_lnagain_est0[] = { -315, 40370 };
13286 static int32 nphy_lnagain_est1[] = { -224, 23242 };
13288 static const uint16 tbl_iqcal_gainparams_nphy[2][NPHY_IQCAL_NUMGAINS][8] = {
13290 {0x000, 0, 0, 2, 0x69, 0x69, 0x69, 0x69},
13291 {0x700, 7, 0, 0, 0x69, 0x69, 0x69, 0x69},
13292 {0x710, 7, 1, 0, 0x68, 0x68, 0x68, 0x68},
13293 {0x720, 7, 2, 0, 0x67, 0x67, 0x67, 0x67},
13294 {0x730, 7, 3, 0, 0x66, 0x66, 0x66, 0x66},
13295 {0x740, 7, 4, 0, 0x65, 0x65, 0x65, 0x65},
13296 {0x741, 7, 4, 1, 0x65, 0x65, 0x65, 0x65},
13297 {0x742, 7, 4, 2, 0x65, 0x65, 0x65, 0x65},
13298 {0x743, 7, 4, 3, 0x65, 0x65, 0x65, 0x65}
13301 {0x000, 7, 0, 0, 0x79, 0x79, 0x79, 0x79},
13302 {0x700, 7, 0, 0, 0x79, 0x79, 0x79, 0x79},
13303 {0x710, 7, 1, 0, 0x79, 0x79, 0x79, 0x79},
13304 {0x720, 7, 2, 0, 0x78, 0x78, 0x78, 0x78},
13305 {0x730, 7, 3, 0, 0x78, 0x78, 0x78, 0x78},
13306 {0x740, 7, 4, 0, 0x78, 0x78, 0x78, 0x78},
13307 {0x741, 7, 4, 1, 0x78, 0x78, 0x78, 0x78},
13308 {0x742, 7, 4, 2, 0x78, 0x78, 0x78, 0x78},
13309 {0x743, 7, 4, 3, 0x78, 0x78, 0x78, 0x78}
13313 static const uint32 nphy_tpc_txgain[] = {
13314 0x03cc2b44, 0x03cc2b42, 0x03cc2a44, 0x03cc2a42,
13315 0x03cc2944, 0x03c82b44, 0x03c82b42, 0x03c82a44,
13316 0x03c82a42, 0x03c82944, 0x03c82942, 0x03c82844,
13317 0x03c82842, 0x03c42b44, 0x03c42b42, 0x03c42a44,
13318 0x03c42a42, 0x03c42944, 0x03c42942, 0x03c42844,
13319 0x03c42842, 0x03c42744, 0x03c42742, 0x03c42644,
13320 0x03c42642, 0x03c42544, 0x03c42542, 0x03c42444,
13321 0x03c42442, 0x03c02b44, 0x03c02b42, 0x03c02a44,
13322 0x03c02a42, 0x03c02944, 0x03c02942, 0x03c02844,
13323 0x03c02842, 0x03c02744, 0x03c02742, 0x03b02b44,
13324 0x03b02b42, 0x03b02a44, 0x03b02a42, 0x03b02944,
13325 0x03b02942, 0x03b02844, 0x03b02842, 0x03b02744,
13326 0x03b02742, 0x03b02644, 0x03b02642, 0x03b02544,
13327 0x03b02542, 0x03a02b44, 0x03a02b42, 0x03a02a44,
13328 0x03a02a42, 0x03a02944, 0x03a02942, 0x03a02844,
13329 0x03a02842, 0x03a02744, 0x03a02742, 0x03902b44,
13330 0x03902b42, 0x03902a44, 0x03902a42, 0x03902944,
13331 0x03902942, 0x03902844, 0x03902842, 0x03902744,
13332 0x03902742, 0x03902644, 0x03902642, 0x03902544,
13333 0x03902542, 0x03802b44, 0x03802b42, 0x03802a44,
13334 0x03802a42, 0x03802944, 0x03802942, 0x03802844,
13335 0x03802842, 0x03802744, 0x03802742, 0x03802644,
13336 0x03802642, 0x03802544, 0x03802542, 0x03802444,
13337 0x03802442, 0x03802344, 0x03802342, 0x03802244,
13338 0x03802242, 0x03802144, 0x03802142, 0x03802044,
13339 0x03802042, 0x03801f44, 0x03801f42, 0x03801e44,
13340 0x03801e42, 0x03801d44, 0x03801d42, 0x03801c44,
13341 0x03801c42, 0x03801b44, 0x03801b42, 0x03801a44,
13342 0x03801a42, 0x03801944, 0x03801942, 0x03801844,
13343 0x03801842, 0x03801744, 0x03801742, 0x03801644,
13344 0x03801642, 0x03801544, 0x03801542, 0x03801444,
13345 0x03801442, 0x03801344, 0x03801342, 0x00002b00
13348 static const uint16 nphy_tpc_loscale[] = {
13349 256, 256, 271, 271, 287, 256, 256, 271,
13350 271, 287, 287, 304, 304, 256, 256, 271,
13351 271, 287, 287, 304, 304, 322, 322, 341,
13352 341, 362, 362, 383, 383, 256, 256, 271,
13353 271, 287, 287, 304, 304, 322, 322, 256,
13354 256, 271, 271, 287, 287, 304, 304, 322,
13355 322, 341, 341, 362, 362, 256, 256, 271,
13356 271, 287, 287, 304, 304, 322, 322, 256,
13357 256, 271, 271, 287, 287, 304, 304, 322,
13358 322, 341, 341, 362, 362, 256, 256, 271,
13359 271, 287, 287, 304, 304, 322, 322, 341,
13360 341, 362, 362, 383, 383, 406, 406, 430,
13361 430, 455, 455, 482, 482, 511, 511, 541,
13362 541, 573, 573, 607, 607, 643, 643, 681,
13363 681, 722, 722, 764, 764, 810, 810, 858,
13364 858, 908, 908, 962, 962, 1019, 1019, 256
13367 static uint32 nphy_tpc_txgain_ipa[] = {
13368 0x5ff7002d, 0x5ff7002b, 0x5ff7002a, 0x5ff70029,
13369 0x5ff70028, 0x5ff70027, 0x5ff70026, 0x5ff70025,
13370 0x5ef7002d, 0x5ef7002b, 0x5ef7002a, 0x5ef70029,
13371 0x5ef70028, 0x5ef70027, 0x5ef70026, 0x5ef70025,
13372 0x5df7002d, 0x5df7002b, 0x5df7002a, 0x5df70029,
13373 0x5df70028, 0x5df70027, 0x5df70026, 0x5df70025,
13374 0x5cf7002d, 0x5cf7002b, 0x5cf7002a, 0x5cf70029,
13375 0x5cf70028, 0x5cf70027, 0x5cf70026, 0x5cf70025,
13376 0x5bf7002d, 0x5bf7002b, 0x5bf7002a, 0x5bf70029,
13377 0x5bf70028, 0x5bf70027, 0x5bf70026, 0x5bf70025,
13378 0x5af7002d, 0x5af7002b, 0x5af7002a, 0x5af70029,
13379 0x5af70028, 0x5af70027, 0x5af70026, 0x5af70025,
13380 0x59f7002d, 0x59f7002b, 0x59f7002a, 0x59f70029,
13381 0x59f70028, 0x59f70027, 0x59f70026, 0x59f70025,
13382 0x58f7002d, 0x58f7002b, 0x58f7002a, 0x58f70029,
13383 0x58f70028, 0x58f70027, 0x58f70026, 0x58f70025,
13384 0x57f7002d, 0x57f7002b, 0x57f7002a, 0x57f70029,
13385 0x57f70028, 0x57f70027, 0x57f70026, 0x57f70025,
13386 0x56f7002d, 0x56f7002b, 0x56f7002a, 0x56f70029,
13387 0x56f70028, 0x56f70027, 0x56f70026, 0x56f70025,
13388 0x55f7002d, 0x55f7002b, 0x55f7002a, 0x55f70029,
13389 0x55f70028, 0x55f70027, 0x55f70026, 0x55f70025,
13390 0x54f7002d, 0x54f7002b, 0x54f7002a, 0x54f70029,
13391 0x54f70028, 0x54f70027, 0x54f70026, 0x54f70025,
13392 0x53f7002d, 0x53f7002b, 0x53f7002a, 0x53f70029,
13393 0x53f70028, 0x53f70027, 0x53f70026, 0x53f70025,
13394 0x52f7002d, 0x52f7002b, 0x52f7002a, 0x52f70029,
13395 0x52f70028, 0x52f70027, 0x52f70026, 0x52f70025,
13396 0x51f7002d, 0x51f7002b, 0x51f7002a, 0x51f70029,
13397 0x51f70028, 0x51f70027, 0x51f70026, 0x51f70025,
13398 0x50f7002d, 0x50f7002b, 0x50f7002a, 0x50f70029,
13399 0x50f70028, 0x50f70027, 0x50f70026, 0x50f70025
13402 static uint32 nphy_tpc_txgain_ipa_rev5[] = {
13403 0x1ff7002d, 0x1ff7002b, 0x1ff7002a, 0x1ff70029,
13404 0x1ff70028, 0x1ff70027, 0x1ff70026, 0x1ff70025,
13405 0x1ef7002d, 0x1ef7002b, 0x1ef7002a, 0x1ef70029,
13406 0x1ef70028, 0x1ef70027, 0x1ef70026, 0x1ef70025,
13407 0x1df7002d, 0x1df7002b, 0x1df7002a, 0x1df70029,
13408 0x1df70028, 0x1df70027, 0x1df70026, 0x1df70025,
13409 0x1cf7002d, 0x1cf7002b, 0x1cf7002a, 0x1cf70029,
13410 0x1cf70028, 0x1cf70027, 0x1cf70026, 0x1cf70025,
13411 0x1bf7002d, 0x1bf7002b, 0x1bf7002a, 0x1bf70029,
13412 0x1bf70028, 0x1bf70027, 0x1bf70026, 0x1bf70025,
13413 0x1af7002d, 0x1af7002b, 0x1af7002a, 0x1af70029,
13414 0x1af70028, 0x1af70027, 0x1af70026, 0x1af70025,
13415 0x19f7002d, 0x19f7002b, 0x19f7002a, 0x19f70029,
13416 0x19f70028, 0x19f70027, 0x19f70026, 0x19f70025,
13417 0x18f7002d, 0x18f7002b, 0x18f7002a, 0x18f70029,
13418 0x18f70028, 0x18f70027, 0x18f70026, 0x18f70025,
13419 0x17f7002d, 0x17f7002b, 0x17f7002a, 0x17f70029,
13420 0x17f70028, 0x17f70027, 0x17f70026, 0x17f70025,
13421 0x16f7002d, 0x16f7002b, 0x16f7002a, 0x16f70029,
13422 0x16f70028, 0x16f70027, 0x16f70026, 0x16f70025,
13423 0x15f7002d, 0x15f7002b, 0x15f7002a, 0x15f70029,
13424 0x15f70028, 0x15f70027, 0x15f70026, 0x15f70025,
13425 0x14f7002d, 0x14f7002b, 0x14f7002a, 0x14f70029,
13426 0x14f70028, 0x14f70027, 0x14f70026, 0x14f70025,
13427 0x13f7002d, 0x13f7002b, 0x13f7002a, 0x13f70029,
13428 0x13f70028, 0x13f70027, 0x13f70026, 0x13f70025,
13429 0x12f7002d, 0x12f7002b, 0x12f7002a, 0x12f70029,
13430 0x12f70028, 0x12f70027, 0x12f70026, 0x12f70025,
13431 0x11f7002d, 0x11f7002b, 0x11f7002a, 0x11f70029,
13432 0x11f70028, 0x11f70027, 0x11f70026, 0x11f70025,
13433 0x10f7002d, 0x10f7002b, 0x10f7002a, 0x10f70029,
13434 0x10f70028, 0x10f70027, 0x10f70026, 0x10f70025
13437 static uint32 nphy_tpc_txgain_ipa_rev6[] = {
13438 0x0ff7002d, 0x0ff7002b, 0x0ff7002a, 0x0ff70029,
13439 0x0ff70028, 0x0ff70027, 0x0ff70026, 0x0ff70025,
13440 0x0ef7002d, 0x0ef7002b, 0x0ef7002a, 0x0ef70029,
13441 0x0ef70028, 0x0ef70027, 0x0ef70026, 0x0ef70025,
13442 0x0df7002d, 0x0df7002b, 0x0df7002a, 0x0df70029,
13443 0x0df70028, 0x0df70027, 0x0df70026, 0x0df70025,
13444 0x0cf7002d, 0x0cf7002b, 0x0cf7002a, 0x0cf70029,
13445 0x0cf70028, 0x0cf70027, 0x0cf70026, 0x0cf70025,
13446 0x0bf7002d, 0x0bf7002b, 0x0bf7002a, 0x0bf70029,
13447 0x0bf70028, 0x0bf70027, 0x0bf70026, 0x0bf70025,
13448 0x0af7002d, 0x0af7002b, 0x0af7002a, 0x0af70029,
13449 0x0af70028, 0x0af70027, 0x0af70026, 0x0af70025,
13450 0x09f7002d, 0x09f7002b, 0x09f7002a, 0x09f70029,
13451 0x09f70028, 0x09f70027, 0x09f70026, 0x09f70025,
13452 0x08f7002d, 0x08f7002b, 0x08f7002a, 0x08f70029,
13453 0x08f70028, 0x08f70027, 0x08f70026, 0x08f70025,
13454 0x07f7002d, 0x07f7002b, 0x07f7002a, 0x07f70029,
13455 0x07f70028, 0x07f70027, 0x07f70026, 0x07f70025,
13456 0x06f7002d, 0x06f7002b, 0x06f7002a, 0x06f70029,
13457 0x06f70028, 0x06f70027, 0x06f70026, 0x06f70025,
13458 0x05f7002d, 0x05f7002b, 0x05f7002a, 0x05f70029,
13459 0x05f70028, 0x05f70027, 0x05f70026, 0x05f70025,
13460 0x04f7002d, 0x04f7002b, 0x04f7002a, 0x04f70029,
13461 0x04f70028, 0x04f70027, 0x04f70026, 0x04f70025,
13462 0x03f7002d, 0x03f7002b, 0x03f7002a, 0x03f70029,
13463 0x03f70028, 0x03f70027, 0x03f70026, 0x03f70025,
13464 0x02f7002d, 0x02f7002b, 0x02f7002a, 0x02f70029,
13465 0x02f70028, 0x02f70027, 0x02f70026, 0x02f70025,
13466 0x01f7002d, 0x01f7002b, 0x01f7002a, 0x01f70029,
13467 0x01f70028, 0x01f70027, 0x01f70026, 0x01f70025,
13468 0x00f7002d, 0x00f7002b, 0x00f7002a, 0x00f70029,
13469 0x00f70028, 0x00f70027, 0x00f70026, 0x00f70025
13472 static uint32 nphy_tpc_txgain_ipa_2g_2057rev3[] = {
13473 0x70ff0040, 0x70f7003e, 0x70ef003b, 0x70e70039,
13474 0x70df0037, 0x70d70036, 0x70cf0033, 0x70c70032,
13475 0x70bf0031, 0x70b7002f, 0x70af002e, 0x70a7002d,
13476 0x709f002d, 0x7097002c, 0x708f002c, 0x7087002c,
13477 0x707f002b, 0x7077002c, 0x706f002c, 0x7067002d,
13478 0x705f002e, 0x705f002b, 0x705f0029, 0x7057002a,
13479 0x70570028, 0x704f002a, 0x7047002c, 0x7047002a,
13480 0x70470028, 0x70470026, 0x70470024, 0x70470022,
13481 0x7047001f, 0x70370027, 0x70370024, 0x70370022,
13482 0x70370020, 0x7037001f, 0x7037001d, 0x7037001b,
13483 0x7037001a, 0x70370018, 0x70370017, 0x7027001e,
13484 0x7027001d, 0x7027001a, 0x701f0024, 0x701f0022,
13485 0x701f0020, 0x701f001f, 0x701f001d, 0x701f001b,
13486 0x701f001a, 0x701f0018, 0x701f0017, 0x701f0015,
13487 0x701f0014, 0x701f0013, 0x701f0012, 0x701f0011,
13488 0x70170019, 0x70170018, 0x70170016, 0x70170015,
13489 0x70170014, 0x70170013, 0x70170012, 0x70170010,
13490 0x70170010, 0x7017000f, 0x700f001d, 0x700f001b,
13491 0x700f001a, 0x700f0018, 0x700f0017, 0x700f0015,
13492 0x700f0015, 0x700f0013, 0x700f0013, 0x700f0011,
13493 0x700f0010, 0x700f0010, 0x700f000f, 0x700f000e,
13494 0x700f000d, 0x700f000c, 0x700f000b, 0x700f000b,
13495 0x700f000b, 0x700f000a, 0x700f0009, 0x700f0009,
13496 0x700f0009, 0x700f0008, 0x700f0007, 0x700f0007,
13497 0x700f0006, 0x700f0006, 0x700f0006, 0x700f0006,
13498 0x700f0005, 0x700f0005, 0x700f0005, 0x700f0004,
13499 0x700f0004, 0x700f0004, 0x700f0004, 0x700f0004,
13500 0x700f0004, 0x700f0003, 0x700f0003, 0x700f0003,
13501 0x700f0003, 0x700f0002, 0x700f0002, 0x700f0002,
13502 0x700f0002, 0x700f0002, 0x700f0002, 0x700f0001,
13503 0x700f0001, 0x700f0001, 0x700f0001, 0x700f0001,
13504 0x700f0001, 0x700f0001, 0x700f0001, 0x700f0001
13507 static uint32 nphy_tpc_txgain_ipa_2g_2057rev4n6[] = {
13508 0xf0ff0040, 0xf0f7003e, 0xf0ef003b, 0xf0e70039,
13509 0xf0df0037, 0xf0d70036, 0xf0cf0033, 0xf0c70032,
13510 0xf0bf0031, 0xf0b7002f, 0xf0af002e, 0xf0a7002d,
13511 0xf09f002d, 0xf097002c, 0xf08f002c, 0xf087002c,
13512 0xf07f002b, 0xf077002c, 0xf06f002c, 0xf067002d,
13513 0xf05f002e, 0xf05f002b, 0xf05f0029, 0xf057002a,
13514 0xf0570028, 0xf04f002a, 0xf047002c, 0xf047002a,
13515 0xf0470028, 0xf0470026, 0xf0470024, 0xf0470022,
13516 0xf047001f, 0xf0370027, 0xf0370024, 0xf0370022,
13517 0xf0370020, 0xf037001f, 0xf037001d, 0xf037001b,
13518 0xf037001a, 0xf0370018, 0xf0370017, 0xf027001e,
13519 0xf027001d, 0xf027001a, 0xf01f0024, 0xf01f0022,
13520 0xf01f0020, 0xf01f001f, 0xf01f001d, 0xf01f001b,
13521 0xf01f001a, 0xf01f0018, 0xf01f0017, 0xf01f0015,
13522 0xf01f0014, 0xf01f0013, 0xf01f0012, 0xf01f0011,
13523 0xf0170019, 0xf0170018, 0xf0170016, 0xf0170015,
13524 0xf0170014, 0xf0170013, 0xf0170012, 0xf0170010,
13525 0xf0170010, 0xf017000f, 0xf00f001d, 0xf00f001b,
13526 0xf00f001a, 0xf00f0018, 0xf00f0017, 0xf00f0015,
13527 0xf00f0015, 0xf00f0013, 0xf00f0013, 0xf00f0011,
13528 0xf00f0010, 0xf00f0010, 0xf00f000f, 0xf00f000e,
13529 0xf00f000d, 0xf00f000c, 0xf00f000b, 0xf00f000b,
13530 0xf00f000b, 0xf00f000a, 0xf00f0009, 0xf00f0009,
13531 0xf00f0009, 0xf00f0008, 0xf00f0007, 0xf00f0007,
13532 0xf00f0006, 0xf00f0006, 0xf00f0006, 0xf00f0006,
13533 0xf00f0005, 0xf00f0005, 0xf00f0005, 0xf00f0004,
13534 0xf00f0004, 0xf00f0004, 0xf00f0004, 0xf00f0004,
13535 0xf00f0004, 0xf00f0003, 0xf00f0003, 0xf00f0003,
13536 0xf00f0003, 0xf00f0002, 0xf00f0002, 0xf00f0002,
13537 0xf00f0002, 0xf00f0002, 0xf00f0002, 0xf00f0001,
13538 0xf00f0001, 0xf00f0001, 0xf00f0001, 0xf00f0001,
13539 0xf00f0001, 0xf00f0001, 0xf00f0001, 0xf00f0001
13542 static uint32 nphy_tpc_txgain_ipa_2g_2057rev5[] = {
13543 0x30ff0031, 0x30e70031, 0x30e7002e, 0x30cf002e,
13544 0x30bf002e, 0x30af002e, 0x309f002f, 0x307f0033,
13545 0x307f0031, 0x307f002e, 0x3077002e, 0x306f002e,
13546 0x3067002e, 0x305f002f, 0x30570030, 0x3057002d,
13547 0x304f002e, 0x30470031, 0x3047002e, 0x3047002c,
13548 0x30470029, 0x303f002c, 0x303f0029, 0x3037002d,
13549 0x3037002a, 0x30370028, 0x302f002c, 0x302f002a,
13550 0x302f0028, 0x302f0026, 0x3027002c, 0x30270029,
13551 0x30270027, 0x30270025, 0x30270023, 0x301f002c,
13552 0x301f002a, 0x301f0028, 0x301f0025, 0x301f0024,
13553 0x301f0022, 0x301f001f, 0x3017002d, 0x3017002b,
13554 0x30170028, 0x30170026, 0x30170024, 0x30170022,
13555 0x30170020, 0x3017001e, 0x3017001d, 0x3017001b,
13556 0x3017001a, 0x30170018, 0x30170017, 0x30170015,
13557 0x300f002c, 0x300f0029, 0x300f0027, 0x300f0024,
13558 0x300f0022, 0x300f0021, 0x300f001f, 0x300f001d,
13559 0x300f001b, 0x300f001a, 0x300f0018, 0x300f0017,
13560 0x300f0016, 0x300f0015, 0x300f0115, 0x300f0215,
13561 0x300f0315, 0x300f0415, 0x300f0515, 0x300f0615,
13562 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13563 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13564 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13565 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13566 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13567 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13568 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13569 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13570 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13571 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13572 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13573 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13574 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715
13577 static uint32 nphy_tpc_txgain_ipa_2g_2057rev7[] = {
13578 0x30ff0031, 0x30e70031, 0x30e7002e, 0x30cf002e,
13579 0x30bf002e, 0x30af002e, 0x309f002f, 0x307f0033,
13580 0x307f0031, 0x307f002e, 0x3077002e, 0x306f002e,
13581 0x3067002e, 0x305f002f, 0x30570030, 0x3057002d,
13582 0x304f002e, 0x30470031, 0x3047002e, 0x3047002c,
13583 0x30470029, 0x303f002c, 0x303f0029, 0x3037002d,
13584 0x3037002a, 0x30370028, 0x302f002c, 0x302f002a,
13585 0x302f0028, 0x302f0026, 0x3027002c, 0x30270029,
13586 0x30270027, 0x30270025, 0x30270023, 0x301f002c,
13587 0x301f002a, 0x301f0028, 0x301f0025, 0x301f0024,
13588 0x301f0022, 0x301f001f, 0x3017002d, 0x3017002b,
13589 0x30170028, 0x30170026, 0x30170024, 0x30170022,
13590 0x30170020, 0x3017001e, 0x3017001d, 0x3017001b,
13591 0x3017001a, 0x30170018, 0x30170017, 0x30170015,
13592 0x300f002c, 0x300f0029, 0x300f0027, 0x300f0024,
13593 0x300f0022, 0x300f0021, 0x300f001f, 0x300f001d,
13594 0x300f001b, 0x300f001a, 0x300f0018, 0x300f0017,
13595 0x300f0016, 0x300f0015, 0x300f0115, 0x300f0215,
13596 0x300f0315, 0x300f0415, 0x300f0515, 0x300f0615,
13597 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13598 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13599 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13600 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13601 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13602 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13603 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13604 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13605 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13606 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13607 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13608 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13609 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715
13612 static uint32 nphy_tpc_txgain_ipa_5g[] = {
13613 0x7ff70035, 0x7ff70033, 0x7ff70032, 0x7ff70031,
13614 0x7ff7002f, 0x7ff7002e, 0x7ff7002d, 0x7ff7002b,
13615 0x7ff7002a, 0x7ff70029, 0x7ff70028, 0x7ff70027,
13616 0x7ff70026, 0x7ff70024, 0x7ff70023, 0x7ff70022,
13617 0x7ef70028, 0x7ef70027, 0x7ef70026, 0x7ef70025,
13618 0x7ef70024, 0x7ef70023, 0x7df70028, 0x7df70027,
13619 0x7df70026, 0x7df70025, 0x7df70024, 0x7df70023,
13620 0x7df70022, 0x7cf70029, 0x7cf70028, 0x7cf70027,
13621 0x7cf70026, 0x7cf70025, 0x7cf70023, 0x7cf70022,
13622 0x7bf70029, 0x7bf70028, 0x7bf70026, 0x7bf70025,
13623 0x7bf70024, 0x7bf70023, 0x7bf70022, 0x7bf70021,
13624 0x7af70029, 0x7af70028, 0x7af70027, 0x7af70026,
13625 0x7af70025, 0x7af70024, 0x7af70023, 0x7af70022,
13626 0x79f70029, 0x79f70028, 0x79f70027, 0x79f70026,
13627 0x79f70025, 0x79f70024, 0x79f70023, 0x79f70022,
13628 0x78f70029, 0x78f70028, 0x78f70027, 0x78f70026,
13629 0x78f70025, 0x78f70024, 0x78f70023, 0x78f70022,
13630 0x77f70029, 0x77f70028, 0x77f70027, 0x77f70026,
13631 0x77f70025, 0x77f70024, 0x77f70023, 0x77f70022,
13632 0x76f70029, 0x76f70028, 0x76f70027, 0x76f70026,
13633 0x76f70024, 0x76f70023, 0x76f70022, 0x76f70021,
13634 0x75f70029, 0x75f70028, 0x75f70027, 0x75f70026,
13635 0x75f70025, 0x75f70024, 0x75f70023, 0x74f70029,
13636 0x74f70028, 0x74f70026, 0x74f70025, 0x74f70024,
13637 0x74f70023, 0x74f70022, 0x73f70029, 0x73f70027,
13638 0x73f70026, 0x73f70025, 0x73f70024, 0x73f70023,
13639 0x73f70022, 0x72f70028, 0x72f70027, 0x72f70026,
13640 0x72f70025, 0x72f70024, 0x72f70023, 0x72f70022,
13641 0x71f70028, 0x71f70027, 0x71f70026, 0x71f70025,
13642 0x71f70024, 0x71f70023, 0x70f70028, 0x70f70027,
13643 0x70f70026, 0x70f70024, 0x70f70023, 0x70f70022,
13644 0x70f70021, 0x70f70020, 0x70f70020, 0x70f7001f
13647 static uint32 nphy_tpc_txgain_ipa_5g_2057[] = {
13648 0x7f7f0044, 0x7f7f0040, 0x7f7f003c, 0x7f7f0039,
13649 0x7f7f0036, 0x7e7f003c, 0x7e7f0038, 0x7e7f0035,
13650 0x7d7f003c, 0x7d7f0039, 0x7d7f0036, 0x7d7f0033,
13651 0x7c7f003b, 0x7c7f0037, 0x7c7f0034, 0x7b7f003a,
13652 0x7b7f0036, 0x7b7f0033, 0x7a7f003c, 0x7a7f0039,
13653 0x7a7f0036, 0x7a7f0033, 0x797f003b, 0x797f0038,
13654 0x797f0035, 0x797f0032, 0x787f003b, 0x787f0038,
13655 0x787f0035, 0x787f0032, 0x777f003a, 0x777f0037,
13656 0x777f0034, 0x777f0031, 0x767f003a, 0x767f0036,
13657 0x767f0033, 0x767f0031, 0x757f003a, 0x757f0037,
13658 0x757f0034, 0x747f003c, 0x747f0039, 0x747f0036,
13659 0x747f0033, 0x737f003b, 0x737f0038, 0x737f0035,
13660 0x737f0032, 0x727f0039, 0x727f0036, 0x727f0033,
13661 0x727f0030, 0x717f003a, 0x717f0037, 0x717f0034,
13662 0x707f003b, 0x707f0038, 0x707f0035, 0x707f0032,
13663 0x707f002f, 0x707f002d, 0x707f002a, 0x707f0028,
13664 0x707f0025, 0x707f0023, 0x707f0021, 0x707f0020,
13665 0x707f001e, 0x707f001c, 0x707f001b, 0x707f0019,
13666 0x707f0018, 0x707f0016, 0x707f0015, 0x707f0014,
13667 0x707f0013, 0x707f0012, 0x707f0011, 0x707f0010,
13668 0x707f000f, 0x707f000e, 0x707f000d, 0x707f000d,
13669 0x707f000c, 0x707f000b, 0x707f000b, 0x707f000a,
13670 0x707f0009, 0x707f0009, 0x707f0008, 0x707f0008,
13671 0x707f0007, 0x707f0007, 0x707f0007, 0x707f0006,
13672 0x707f0006, 0x707f0006, 0x707f0005, 0x707f0005,
13673 0x707f0005, 0x707f0004, 0x707f0004, 0x707f0004,
13674 0x707f0004, 0x707f0004, 0x707f0003, 0x707f0003,
13675 0x707f0003, 0x707f0003, 0x707f0003, 0x707f0003,
13676 0x707f0002, 0x707f0002, 0x707f0002, 0x707f0002,
13677 0x707f0002, 0x707f0002, 0x707f0002, 0x707f0002,
13678 0x707f0001, 0x707f0001, 0x707f0001, 0x707f0001,
13679 0x707f0001, 0x707f0001, 0x707f0001, 0x707f0001
13682 static uint32 nphy_tpc_txgain_ipa_5g_2057rev7[] = {
13683 0x6f7f0031, 0x6f7f002e, 0x6f7f002c, 0x6f7f002a,
13684 0x6f7f0027, 0x6e7f002e, 0x6e7f002c, 0x6e7f002a,
13685 0x6d7f0030, 0x6d7f002d, 0x6d7f002a, 0x6d7f0028,
13686 0x6c7f0030, 0x6c7f002d, 0x6c7f002b, 0x6b7f002e,
13687 0x6b7f002c, 0x6b7f002a, 0x6b7f0027, 0x6a7f002e,
13688 0x6a7f002c, 0x6a7f002a, 0x697f0030, 0x697f002e,
13689 0x697f002b, 0x697f0029, 0x687f002f, 0x687f002d,
13690 0x687f002a, 0x687f0027, 0x677f002f, 0x677f002d,
13691 0x677f002a, 0x667f0031, 0x667f002e, 0x667f002c,
13692 0x667f002a, 0x657f0030, 0x657f002e, 0x657f002b,
13693 0x657f0029, 0x647f0030, 0x647f002d, 0x647f002b,
13694 0x647f0029, 0x637f002f, 0x637f002d, 0x637f002a,
13695 0x627f0030, 0x627f002d, 0x627f002b, 0x627f0029,
13696 0x617f0030, 0x617f002e, 0x617f002b, 0x617f0029,
13697 0x607f002f, 0x607f002d, 0x607f002a, 0x607f0027,
13698 0x607f0026, 0x607f0023, 0x607f0021, 0x607f0020,
13699 0x607f001e, 0x607f001c, 0x607f001a, 0x607f0019,
13700 0x607f0018, 0x607f0016, 0x607f0015, 0x607f0014,
13701 0x607f0012, 0x607f0012, 0x607f0011, 0x607f000f,
13702 0x607f000f, 0x607f000e, 0x607f000d, 0x607f000c,
13703 0x607f000c, 0x607f000b, 0x607f000b, 0x607f000a,
13704 0x607f0009, 0x607f0009, 0x607f0008, 0x607f0008,
13705 0x607f0008, 0x607f0007, 0x607f0007, 0x607f0006,
13706 0x607f0006, 0x607f0005, 0x607f0005, 0x607f0005,
13707 0x607f0005, 0x607f0005, 0x607f0004, 0x607f0004,
13708 0x607f0004, 0x607f0004, 0x607f0003, 0x607f0003,
13709 0x607f0003, 0x607f0003, 0x607f0002, 0x607f0002,
13710 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13711 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13712 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13713 0x607f0002, 0x607f0001, 0x607f0001, 0x607f0001,
13714 0x607f0001, 0x607f0001, 0x607f0001, 0x607f0001
13717 static s8 nphy_papd_pga_gain_delta_ipa_2g[] = {
13718 -114, -108, -98, -91, -84, -78, -70, -62,
13719 -54, -46, -39, -31, -23, -15, -8, 0
13722 static s8 nphy_papd_pga_gain_delta_ipa_5g[] = {
13723 -100, -95, -89, -83, -77, -70, -63, -56,
13724 -48, -41, -33, -25, -19, -12, -6, 0
13727 static int16 nphy_papd_padgain_dlt_2g_2057rev3n4[] = {
13728 -159, -113, -86, -72, -62, -54, -48, -43,
13729 -39, -35, -31, -28, -25, -23, -20, -18,
13730 -17, -15, -13, -11, -10, -8, -7, -6,
13731 -5, -4, -3, -3, -2, -1, -1, 0
13734 static int16 nphy_papd_padgain_dlt_2g_2057rev5[] = {
13735 -109, -109, -82, -68, -58, -50, -44, -39,
13736 -35, -31, -28, -26, -23, -21, -19, -17,
13737 -16, -14, -13, -11, -10, -9, -8, -7,
13738 -5, -5, -4, -3, -2, -1, -1, 0
13741 static int16 nphy_papd_padgain_dlt_2g_2057rev7[] = {
13742 -122, -122, -95, -80, -69, -61, -54, -49,
13743 -43, -39, -35, -32, -28, -26, -23, -21,
13744 -18, -16, -15, -13, -11, -10, -8, -7,
13745 -6, -5, -4, -3, -2, -1, -1, 0
13748 static s8 nphy_papd_pgagain_dlt_5g_2057[] = {
13749 -107, -101, -92, -85, -78, -71, -62, -55,
13750 -47, -39, -32, -24, -19, -12, -6, 0
13753 static s8 nphy_papd_pgagain_dlt_5g_2057rev7[] = {
13754 -110, -104, -95, -88, -81, -74, -66, -58,
13755 -50, -44, -36, -28, -23, -15, -8, 0
13758 static u8 pad_gain_codes_used_2057rev5[] = {
13759 20, 19, 18, 17, 16, 15, 14, 13, 12, 11,
13760 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
13763 static u8 pad_gain_codes_used_2057rev7[] = {
13764 15, 14, 13, 12, 11, 10, 9, 8, 7, 6,
13765 5, 4, 3, 2, 1
13768 static u8 pad_all_gain_codes_2057[] = {
13769 31, 30, 29, 28, 27, 26, 25, 24, 23, 22,
13770 21, 20, 19, 18, 17, 16, 15, 14, 13, 12,
13771 11, 10, 9, 8, 7, 6, 5, 4, 3, 2,
13772 1, 0
13775 static u8 pga_all_gain_codes_2057[] = {
13776 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
13779 static uint32 nphy_papd_scaltbl[] = {
13780 0x0ae2002f, 0x0a3b0032, 0x09a70035, 0x09220038,
13781 0x0887003c, 0x081f003f, 0x07a20043, 0x07340047,
13782 0x06d2004b, 0x067a004f, 0x06170054, 0x05bf0059,
13783 0x0571005e, 0x051e0064, 0x04d3006a, 0x04910070,
13784 0x044c0077, 0x040f007e, 0x03d90085, 0x03a1008d,
13785 0x036f0095, 0x033d009e, 0x030b00a8, 0x02e000b2,
13786 0x02b900bc, 0x029200c7, 0x026d00d3, 0x024900e0,
13787 0x022900ed, 0x020a00fb, 0x01ec010a, 0x01d0011a,
13788 0x01b7012a, 0x019e013c, 0x0187014f, 0x01720162,
13789 0x015d0177, 0x0149018e, 0x013701a5, 0x012601be,
13790 0x011501d9, 0x010501f5, 0x00f70212, 0x00e90232,
13791 0x00dc0253, 0x00d00276, 0x00c4029c, 0x00b902c3,
13792 0x00af02ed, 0x00a5031a, 0x009c0349, 0x0093037a,
13793 0x008b03af, 0x008303e7, 0x007c0422, 0x00750461,
13794 0x006e04a3, 0x006804ea, 0x00620534, 0x005d0583,
13795 0x005805d7, 0x0053062f, 0x004e068d, 0x004a06f1
13798 static uint32 nphy_tpc_txgain_rev3[] = {
13799 0x1f410044, 0x1f410042, 0x1f410040, 0x1f41003e,
13800 0x1f41003c, 0x1f41003b, 0x1f410039, 0x1f410037,
13801 0x1e410044, 0x1e410042, 0x1e410040, 0x1e41003e,
13802 0x1e41003c, 0x1e41003b, 0x1e410039, 0x1e410037,
13803 0x1d410044, 0x1d410042, 0x1d410040, 0x1d41003e,
13804 0x1d41003c, 0x1d41003b, 0x1d410039, 0x1d410037,
13805 0x1c410044, 0x1c410042, 0x1c410040, 0x1c41003e,
13806 0x1c41003c, 0x1c41003b, 0x1c410039, 0x1c410037,
13807 0x1b410044, 0x1b410042, 0x1b410040, 0x1b41003e,
13808 0x1b41003c, 0x1b41003b, 0x1b410039, 0x1b410037,
13809 0x1a410044, 0x1a410042, 0x1a410040, 0x1a41003e,
13810 0x1a41003c, 0x1a41003b, 0x1a410039, 0x1a410037,
13811 0x19410044, 0x19410042, 0x19410040, 0x1941003e,
13812 0x1941003c, 0x1941003b, 0x19410039, 0x19410037,
13813 0x18410044, 0x18410042, 0x18410040, 0x1841003e,
13814 0x1841003c, 0x1841003b, 0x18410039, 0x18410037,
13815 0x17410044, 0x17410042, 0x17410040, 0x1741003e,
13816 0x1741003c, 0x1741003b, 0x17410039, 0x17410037,
13817 0x16410044, 0x16410042, 0x16410040, 0x1641003e,
13818 0x1641003c, 0x1641003b, 0x16410039, 0x16410037,
13819 0x15410044, 0x15410042, 0x15410040, 0x1541003e,
13820 0x1541003c, 0x1541003b, 0x15410039, 0x15410037,
13821 0x14410044, 0x14410042, 0x14410040, 0x1441003e,
13822 0x1441003c, 0x1441003b, 0x14410039, 0x14410037,
13823 0x13410044, 0x13410042, 0x13410040, 0x1341003e,
13824 0x1341003c, 0x1341003b, 0x13410039, 0x13410037,
13825 0x12410044, 0x12410042, 0x12410040, 0x1241003e,
13826 0x1241003c, 0x1241003b, 0x12410039, 0x12410037,
13827 0x11410044, 0x11410042, 0x11410040, 0x1141003e,
13828 0x1141003c, 0x1141003b, 0x11410039, 0x11410037,
13829 0x10410044, 0x10410042, 0x10410040, 0x1041003e,
13830 0x1041003c, 0x1041003b, 0x10410039, 0x10410037
13833 static uint32 nphy_tpc_txgain_HiPwrEPA[] = {
13834 0x0f410044, 0x0f410042, 0x0f410040, 0x0f41003e,
13835 0x0f41003c, 0x0f41003b, 0x0f410039, 0x0f410037,
13836 0x0e410044, 0x0e410042, 0x0e410040, 0x0e41003e,
13837 0x0e41003c, 0x0e41003b, 0x0e410039, 0x0e410037,
13838 0x0d410044, 0x0d410042, 0x0d410040, 0x0d41003e,
13839 0x0d41003c, 0x0d41003b, 0x0d410039, 0x0d410037,
13840 0x0c410044, 0x0c410042, 0x0c410040, 0x0c41003e,
13841 0x0c41003c, 0x0c41003b, 0x0c410039, 0x0c410037,
13842 0x0b410044, 0x0b410042, 0x0b410040, 0x0b41003e,
13843 0x0b41003c, 0x0b41003b, 0x0b410039, 0x0b410037,
13844 0x0a410044, 0x0a410042, 0x0a410040, 0x0a41003e,
13845 0x0a41003c, 0x0a41003b, 0x0a410039, 0x0a410037,
13846 0x09410044, 0x09410042, 0x09410040, 0x0941003e,
13847 0x0941003c, 0x0941003b, 0x09410039, 0x09410037,
13848 0x08410044, 0x08410042, 0x08410040, 0x0841003e,
13849 0x0841003c, 0x0841003b, 0x08410039, 0x08410037,
13850 0x07410044, 0x07410042, 0x07410040, 0x0741003e,
13851 0x0741003c, 0x0741003b, 0x07410039, 0x07410037,
13852 0x06410044, 0x06410042, 0x06410040, 0x0641003e,
13853 0x0641003c, 0x0641003b, 0x06410039, 0x06410037,
13854 0x05410044, 0x05410042, 0x05410040, 0x0541003e,
13855 0x0541003c, 0x0541003b, 0x05410039, 0x05410037,
13856 0x04410044, 0x04410042, 0x04410040, 0x0441003e,
13857 0x0441003c, 0x0441003b, 0x04410039, 0x04410037,
13858 0x03410044, 0x03410042, 0x03410040, 0x0341003e,
13859 0x0341003c, 0x0341003b, 0x03410039, 0x03410037,
13860 0x02410044, 0x02410042, 0x02410040, 0x0241003e,
13861 0x0241003c, 0x0241003b, 0x02410039, 0x02410037,
13862 0x01410044, 0x01410042, 0x01410040, 0x0141003e,
13863 0x0141003c, 0x0141003b, 0x01410039, 0x01410037,
13864 0x00410044, 0x00410042, 0x00410040, 0x0041003e,
13865 0x0041003c, 0x0041003b, 0x00410039, 0x00410037
13868 static uint32 nphy_tpc_txgain_epa_2057rev3[] = {
13869 0x80f90040, 0x80e10040, 0x80e1003c, 0x80c9003d,
13870 0x80b9003c, 0x80a9003d, 0x80a1003c, 0x8099003b,
13871 0x8091003b, 0x8089003a, 0x8081003a, 0x80790039,
13872 0x80710039, 0x8069003a, 0x8061003b, 0x8059003d,
13873 0x8051003f, 0x80490042, 0x8049003e, 0x8049003b,
13874 0x8041003e, 0x8041003b, 0x8039003e, 0x8039003b,
13875 0x80390038, 0x80390035, 0x8031003a, 0x80310036,
13876 0x80310033, 0x8029003a, 0x80290037, 0x80290034,
13877 0x80290031, 0x80210039, 0x80210036, 0x80210033,
13878 0x80210030, 0x8019003c, 0x80190039, 0x80190036,
13879 0x80190033, 0x80190030, 0x8019002d, 0x8019002b,
13880 0x80190028, 0x8011003a, 0x80110036, 0x80110033,
13881 0x80110030, 0x8011002e, 0x8011002b, 0x80110029,
13882 0x80110027, 0x80110024, 0x80110022, 0x80110020,
13883 0x8011001f, 0x8011001d, 0x8009003a, 0x80090037,
13884 0x80090034, 0x80090031, 0x8009002e, 0x8009002c,
13885 0x80090029, 0x80090027, 0x80090025, 0x80090023,
13886 0x80090021, 0x8009001f, 0x8009001d, 0x8009011d,
13887 0x8009021d, 0x8009031d, 0x8009041d, 0x8009051d,
13888 0x8009061d, 0x8009071d, 0x8009071d, 0x8009071d,
13889 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13890 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13891 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13892 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13893 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13894 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13895 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13896 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13897 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13898 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13899 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13900 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d
13903 static uint32 nphy_tpc_txgain_epa_2057rev5[] = {
13904 0x10f90040, 0x10e10040, 0x10e1003c, 0x10c9003d,
13905 0x10b9003c, 0x10a9003d, 0x10a1003c, 0x1099003b,
13906 0x1091003b, 0x1089003a, 0x1081003a, 0x10790039,
13907 0x10710039, 0x1069003a, 0x1061003b, 0x1059003d,
13908 0x1051003f, 0x10490042, 0x1049003e, 0x1049003b,
13909 0x1041003e, 0x1041003b, 0x1039003e, 0x1039003b,
13910 0x10390038, 0x10390035, 0x1031003a, 0x10310036,
13911 0x10310033, 0x1029003a, 0x10290037, 0x10290034,
13912 0x10290031, 0x10210039, 0x10210036, 0x10210033,
13913 0x10210030, 0x1019003c, 0x10190039, 0x10190036,
13914 0x10190033, 0x10190030, 0x1019002d, 0x1019002b,
13915 0x10190028, 0x1011003a, 0x10110036, 0x10110033,
13916 0x10110030, 0x1011002e, 0x1011002b, 0x10110029,
13917 0x10110027, 0x10110024, 0x10110022, 0x10110020,
13918 0x1011001f, 0x1011001d, 0x1009003a, 0x10090037,
13919 0x10090034, 0x10090031, 0x1009002e, 0x1009002c,
13920 0x10090029, 0x10090027, 0x10090025, 0x10090023,
13921 0x10090021, 0x1009001f, 0x1009001d, 0x1009001b,
13922 0x1009001a, 0x10090018, 0x10090017, 0x10090016,
13923 0x10090015, 0x10090013, 0x10090012, 0x10090011,
13924 0x10090010, 0x1009000f, 0x1009000f, 0x1009000e,
13925 0x1009000d, 0x1009000c, 0x1009000c, 0x1009000b,
13926 0x1009000a, 0x1009000a, 0x10090009, 0x10090009,
13927 0x10090008, 0x10090008, 0x10090007, 0x10090007,
13928 0x10090007, 0x10090006, 0x10090006, 0x10090005,
13929 0x10090005, 0x10090005, 0x10090005, 0x10090004,
13930 0x10090004, 0x10090004, 0x10090004, 0x10090003,
13931 0x10090003, 0x10090003, 0x10090003, 0x10090003,
13932 0x10090003, 0x10090002, 0x10090002, 0x10090002,
13933 0x10090002, 0x10090002, 0x10090002, 0x10090002,
13934 0x10090002, 0x10090002, 0x10090001, 0x10090001,
13935 0x10090001, 0x10090001, 0x10090001, 0x10090001
13938 static uint32 nphy_tpc_5GHz_txgain_rev3[] = {
13939 0xcff70044, 0xcff70042, 0xcff70040, 0xcff7003e,
13940 0xcff7003c, 0xcff7003b, 0xcff70039, 0xcff70037,
13941 0xcef70044, 0xcef70042, 0xcef70040, 0xcef7003e,
13942 0xcef7003c, 0xcef7003b, 0xcef70039, 0xcef70037,
13943 0xcdf70044, 0xcdf70042, 0xcdf70040, 0xcdf7003e,
13944 0xcdf7003c, 0xcdf7003b, 0xcdf70039, 0xcdf70037,
13945 0xccf70044, 0xccf70042, 0xccf70040, 0xccf7003e,
13946 0xccf7003c, 0xccf7003b, 0xccf70039, 0xccf70037,
13947 0xcbf70044, 0xcbf70042, 0xcbf70040, 0xcbf7003e,
13948 0xcbf7003c, 0xcbf7003b, 0xcbf70039, 0xcbf70037,
13949 0xcaf70044, 0xcaf70042, 0xcaf70040, 0xcaf7003e,
13950 0xcaf7003c, 0xcaf7003b, 0xcaf70039, 0xcaf70037,
13951 0xc9f70044, 0xc9f70042, 0xc9f70040, 0xc9f7003e,
13952 0xc9f7003c, 0xc9f7003b, 0xc9f70039, 0xc9f70037,
13953 0xc8f70044, 0xc8f70042, 0xc8f70040, 0xc8f7003e,
13954 0xc8f7003c, 0xc8f7003b, 0xc8f70039, 0xc8f70037,
13955 0xc7f70044, 0xc7f70042, 0xc7f70040, 0xc7f7003e,
13956 0xc7f7003c, 0xc7f7003b, 0xc7f70039, 0xc7f70037,
13957 0xc6f70044, 0xc6f70042, 0xc6f70040, 0xc6f7003e,
13958 0xc6f7003c, 0xc6f7003b, 0xc6f70039, 0xc6f70037,
13959 0xc5f70044, 0xc5f70042, 0xc5f70040, 0xc5f7003e,
13960 0xc5f7003c, 0xc5f7003b, 0xc5f70039, 0xc5f70037,
13961 0xc4f70044, 0xc4f70042, 0xc4f70040, 0xc4f7003e,
13962 0xc4f7003c, 0xc4f7003b, 0xc4f70039, 0xc4f70037,
13963 0xc3f70044, 0xc3f70042, 0xc3f70040, 0xc3f7003e,
13964 0xc3f7003c, 0xc3f7003b, 0xc3f70039, 0xc3f70037,
13965 0xc2f70044, 0xc2f70042, 0xc2f70040, 0xc2f7003e,
13966 0xc2f7003c, 0xc2f7003b, 0xc2f70039, 0xc2f70037,
13967 0xc1f70044, 0xc1f70042, 0xc1f70040, 0xc1f7003e,
13968 0xc1f7003c, 0xc1f7003b, 0xc1f70039, 0xc1f70037,
13969 0xc0f70044, 0xc0f70042, 0xc0f70040, 0xc0f7003e,
13970 0xc0f7003c, 0xc0f7003b, 0xc0f70039, 0xc0f70037
13973 static uint32 nphy_tpc_5GHz_txgain_rev4[] = {
13974 0x2ff20044, 0x2ff20042, 0x2ff20040, 0x2ff2003e,
13975 0x2ff2003c, 0x2ff2003b, 0x2ff20039, 0x2ff20037,
13976 0x2ef20044, 0x2ef20042, 0x2ef20040, 0x2ef2003e,
13977 0x2ef2003c, 0x2ef2003b, 0x2ef20039, 0x2ef20037,
13978 0x2df20044, 0x2df20042, 0x2df20040, 0x2df2003e,
13979 0x2df2003c, 0x2df2003b, 0x2df20039, 0x2df20037,
13980 0x2cf20044, 0x2cf20042, 0x2cf20040, 0x2cf2003e,
13981 0x2cf2003c, 0x2cf2003b, 0x2cf20039, 0x2cf20037,
13982 0x2bf20044, 0x2bf20042, 0x2bf20040, 0x2bf2003e,
13983 0x2bf2003c, 0x2bf2003b, 0x2bf20039, 0x2bf20037,
13984 0x2af20044, 0x2af20042, 0x2af20040, 0x2af2003e,
13985 0x2af2003c, 0x2af2003b, 0x2af20039, 0x2af20037,
13986 0x29f20044, 0x29f20042, 0x29f20040, 0x29f2003e,
13987 0x29f2003c, 0x29f2003b, 0x29f20039, 0x29f20037,
13988 0x28f20044, 0x28f20042, 0x28f20040, 0x28f2003e,
13989 0x28f2003c, 0x28f2003b, 0x28f20039, 0x28f20037,
13990 0x27f20044, 0x27f20042, 0x27f20040, 0x27f2003e,
13991 0x27f2003c, 0x27f2003b, 0x27f20039, 0x27f20037,
13992 0x26f20044, 0x26f20042, 0x26f20040, 0x26f2003e,
13993 0x26f2003c, 0x26f2003b, 0x26f20039, 0x26f20037,
13994 0x25f20044, 0x25f20042, 0x25f20040, 0x25f2003e,
13995 0x25f2003c, 0x25f2003b, 0x25f20039, 0x25f20037,
13996 0x24f20044, 0x24f20042, 0x24f20040, 0x24f2003e,
13997 0x24f2003c, 0x24f2003b, 0x24f20039, 0x24f20038,
13998 0x23f20041, 0x23f20040, 0x23f2003f, 0x23f2003e,
13999 0x23f2003c, 0x23f2003b, 0x23f20039, 0x23f20037,
14000 0x22f20044, 0x22f20042, 0x22f20040, 0x22f2003e,
14001 0x22f2003c, 0x22f2003b, 0x22f20039, 0x22f20037,
14002 0x21f20044, 0x21f20042, 0x21f20040, 0x21f2003e,
14003 0x21f2003c, 0x21f2003b, 0x21f20039, 0x21f20037,
14004 0x20d20043, 0x20d20041, 0x20d2003e, 0x20d2003c,
14005 0x20d2003a, 0x20d20038, 0x20d20036, 0x20d20034
14008 static uint32 nphy_tpc_5GHz_txgain_rev5[] = {
14009 0x0f62004a, 0x0f620048, 0x0f620046, 0x0f620044,
14010 0x0f620042, 0x0f620040, 0x0f62003e, 0x0f62003c,
14011 0x0e620044, 0x0e620042, 0x0e620040, 0x0e62003e,
14012 0x0e62003c, 0x0e62003d, 0x0e62003b, 0x0e62003a,
14013 0x0d620043, 0x0d620041, 0x0d620040, 0x0d62003e,
14014 0x0d62003d, 0x0d62003c, 0x0d62003b, 0x0d62003a,
14015 0x0c620041, 0x0c620040, 0x0c62003f, 0x0c62003e,
14016 0x0c62003c, 0x0c62003b, 0x0c620039, 0x0c620037,
14017 0x0b620046, 0x0b620044, 0x0b620042, 0x0b620040,
14018 0x0b62003e, 0x0b62003c, 0x0b62003b, 0x0b62003a,
14019 0x0a620041, 0x0a620040, 0x0a62003e, 0x0a62003c,
14020 0x0a62003b, 0x0a62003a, 0x0a620039, 0x0a620038,
14021 0x0962003e, 0x0962003d, 0x0962003c, 0x0962003b,
14022 0x09620039, 0x09620037, 0x09620035, 0x09620033,
14023 0x08620044, 0x08620042, 0x08620040, 0x0862003e,
14024 0x0862003c, 0x0862003b, 0x0862003a, 0x08620039,
14025 0x07620043, 0x07620042, 0x07620040, 0x0762003f,
14026 0x0762003d, 0x0762003b, 0x0762003a, 0x07620039,
14027 0x0662003e, 0x0662003d, 0x0662003c, 0x0662003b,
14028 0x06620039, 0x06620037, 0x06620035, 0x06620033,
14029 0x05620046, 0x05620044, 0x05620042, 0x05620040,
14030 0x0562003e, 0x0562003c, 0x0562003b, 0x05620039,
14031 0x04620044, 0x04620042, 0x04620040, 0x0462003e,
14032 0x0462003c, 0x0462003b, 0x04620039, 0x04620038,
14033 0x0362003c, 0x0362003b, 0x0362003a, 0x03620039,
14034 0x03620038, 0x03620037, 0x03620035, 0x03620033,
14035 0x0262004c, 0x0262004a, 0x02620048, 0x02620047,
14036 0x02620046, 0x02620044, 0x02620043, 0x02620042,
14037 0x0162004a, 0x01620048, 0x01620046, 0x01620044,
14038 0x01620043, 0x01620042, 0x01620041, 0x01620040,
14039 0x00620042, 0x00620040, 0x0062003e, 0x0062003c,
14040 0x0062003b, 0x00620039, 0x00620037, 0x00620035
14043 static uint32 nphy_tpc_5GHz_txgain_HiPwrEPA[] = {
14044 0x2ff10044, 0x2ff10042, 0x2ff10040, 0x2ff1003e,
14045 0x2ff1003c, 0x2ff1003b, 0x2ff10039, 0x2ff10037,
14046 0x2ef10044, 0x2ef10042, 0x2ef10040, 0x2ef1003e,
14047 0x2ef1003c, 0x2ef1003b, 0x2ef10039, 0x2ef10037,
14048 0x2df10044, 0x2df10042, 0x2df10040, 0x2df1003e,
14049 0x2df1003c, 0x2df1003b, 0x2df10039, 0x2df10037,
14050 0x2cf10044, 0x2cf10042, 0x2cf10040, 0x2cf1003e,
14051 0x2cf1003c, 0x2cf1003b, 0x2cf10039, 0x2cf10037,
14052 0x2bf10044, 0x2bf10042, 0x2bf10040, 0x2bf1003e,
14053 0x2bf1003c, 0x2bf1003b, 0x2bf10039, 0x2bf10037,
14054 0x2af10044, 0x2af10042, 0x2af10040, 0x2af1003e,
14055 0x2af1003c, 0x2af1003b, 0x2af10039, 0x2af10037,
14056 0x29f10044, 0x29f10042, 0x29f10040, 0x29f1003e,
14057 0x29f1003c, 0x29f1003b, 0x29f10039, 0x29f10037,
14058 0x28f10044, 0x28f10042, 0x28f10040, 0x28f1003e,
14059 0x28f1003c, 0x28f1003b, 0x28f10039, 0x28f10037,
14060 0x27f10044, 0x27f10042, 0x27f10040, 0x27f1003e,
14061 0x27f1003c, 0x27f1003b, 0x27f10039, 0x27f10037,
14062 0x26f10044, 0x26f10042, 0x26f10040, 0x26f1003e,
14063 0x26f1003c, 0x26f1003b, 0x26f10039, 0x26f10037,
14064 0x25f10044, 0x25f10042, 0x25f10040, 0x25f1003e,
14065 0x25f1003c, 0x25f1003b, 0x25f10039, 0x25f10037,
14066 0x24f10044, 0x24f10042, 0x24f10040, 0x24f1003e,
14067 0x24f1003c, 0x24f1003b, 0x24f10039, 0x24f10038,
14068 0x23f10041, 0x23f10040, 0x23f1003f, 0x23f1003e,
14069 0x23f1003c, 0x23f1003b, 0x23f10039, 0x23f10037,
14070 0x22f10044, 0x22f10042, 0x22f10040, 0x22f1003e,
14071 0x22f1003c, 0x22f1003b, 0x22f10039, 0x22f10037,
14072 0x21f10044, 0x21f10042, 0x21f10040, 0x21f1003e,
14073 0x21f1003c, 0x21f1003b, 0x21f10039, 0x21f10037,
14074 0x20d10043, 0x20d10041, 0x20d1003e, 0x20d1003c,
14075 0x20d1003a, 0x20d10038, 0x20d10036, 0x20d10034
14078 static u8 ant_sw_ctrl_tbl_rev8_2o3[] = { 0x14, 0x18 };
14079 static u8 ant_sw_ctrl_tbl_rev8[] = { 0x4, 0x8, 0x4, 0x8, 0x11, 0x12 };
14080 static u8 ant_sw_ctrl_tbl_rev8_2057v7_core0[] = {
14081 0x09, 0x0a, 0x15, 0x16, 0x09, 0x0a };
14082 static u8 ant_sw_ctrl_tbl_rev8_2057v7_core1[] = {
14083 0x09, 0x0a, 0x09, 0x0a, 0x15, 0x16 };
14085 static bool wlc_phy_chan2freq_nphy(phy_info_t *pi, uint channel, int *f,
14086 chan_info_nphy_radio2057_t **t0,
14087 chan_info_nphy_radio205x_t **t1,
14088 chan_info_nphy_radio2057_rev5_t **t2,
14089 chan_info_nphy_2055_t **t3);
14090 static void wlc_phy_chanspec_nphy_setup(phy_info_t *pi, chanspec_t chans,
14091 const nphy_sfo_cfg_t *c);
14093 static void wlc_phy_adjust_rx_analpfbw_nphy(phy_info_t *pi,
14094 uint16 reduction_factr);
14095 static void wlc_phy_adjust_min_noisevar_nphy(phy_info_t *pi, int ntones, int *,
14096 uint32 *buf);
14097 static void wlc_phy_adjust_crsminpwr_nphy(phy_info_t *pi, u8 minpwr);
14098 static void wlc_phy_txlpfbw_nphy(phy_info_t *pi);
14099 static void wlc_phy_spurwar_nphy(phy_info_t *pi);
14101 static void wlc_phy_radio_preinit_2055(phy_info_t *pi);
14102 static void wlc_phy_radio_init_2055(phy_info_t *pi);
14103 static void wlc_phy_radio_postinit_2055(phy_info_t *pi);
14104 static void wlc_phy_radio_preinit_205x(phy_info_t *pi);
14105 static void wlc_phy_radio_init_2056(phy_info_t *pi);
14106 static void wlc_phy_radio_postinit_2056(phy_info_t *pi);
14107 static void wlc_phy_radio_init_2057(phy_info_t *pi);
14108 static void wlc_phy_radio_postinit_2057(phy_info_t *pi);
14109 static void wlc_phy_workarounds_nphy(phy_info_t *pi);
14110 static void wlc_phy_workarounds_nphy_gainctrl(phy_info_t *pi);
14111 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev5(phy_info_t *pi);
14112 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev6(phy_info_t *pi);
14113 static void wlc_phy_adjust_lnagaintbl_nphy(phy_info_t *pi);
14115 static void wlc_phy_restore_rssical_nphy(phy_info_t *pi);
14116 static void wlc_phy_reapply_txcal_coeffs_nphy(phy_info_t *pi);
14117 static void wlc_phy_tx_iq_war_nphy(phy_info_t *pi);
14118 static int wlc_phy_cal_rxiq_nphy_rev3(phy_info_t *pi, nphy_txgains_t tg,
14119 u8 type, bool d);
14120 static void wlc_phy_rxcal_gainctrl_nphy_rev5(phy_info_t *pi, u8 rxcore,
14121 uint16 *rg, u8 type);
14122 static void wlc_phy_update_mimoconfig_nphy(phy_info_t *pi, int32 preamble);
14123 static void wlc_phy_savecal_nphy(phy_info_t *pi);
14124 static void wlc_phy_restorecal_nphy(phy_info_t *pi);
14125 static void wlc_phy_resetcca_nphy(phy_info_t *pi);
14127 static void wlc_phy_txpwrctrl_config_nphy(phy_info_t *pi);
14128 static void wlc_phy_internal_cal_txgain_nphy(phy_info_t *pi);
14129 static void wlc_phy_precal_txgain_nphy(phy_info_t *pi);
14130 static void wlc_phy_update_txcal_ladder_nphy(phy_info_t *pi, uint16 core);
14132 static void wlc_phy_extpa_set_tx_digi_filts_nphy(phy_info_t *pi);
14133 static void wlc_phy_ipa_set_tx_digi_filts_nphy(phy_info_t *pi);
14134 static void wlc_phy_ipa_restore_tx_digi_filts_nphy(phy_info_t *pi);
14135 static uint16 wlc_phy_ipa_get_bbmult_nphy(phy_info_t *pi);
14136 static void wlc_phy_ipa_set_bbmult_nphy(phy_info_t *pi, u8 m0, u8 m1);
14137 static uint32 *wlc_phy_get_ipa_gaintbl_nphy(phy_info_t *pi);
14139 static void wlc_phy_a1_nphy(phy_info_t *pi, u8 core, uint32 winsz, uint32,
14140 uint32 e);
14141 static u8 wlc_phy_a3_nphy(phy_info_t *pi, u8 start_gain, u8 core);
14142 static void wlc_phy_a2_nphy(phy_info_t *pi, nphy_ipa_txcalgains_t *,
14143 phy_cal_mode_t, u8);
14144 static void wlc_phy_papd_cal_cleanup_nphy(phy_info_t *pi,
14145 nphy_papd_restore_state *state);
14146 static void wlc_phy_papd_cal_setup_nphy(phy_info_t *pi,
14147 nphy_papd_restore_state *state, u8);
14149 static void wlc_phy_clip_det_nphy(phy_info_t *pi, u8 write, uint16 *vals);
14151 static void wlc_phy_set_rfseq_nphy(phy_info_t *pi, u8 cmd, u8 *evts,
14152 u8 *dlys, u8 len);
14154 static uint16 wlc_phy_read_lpf_bw_ctl_nphy(phy_info_t *pi, uint16 offset);
14156 static void
14157 wlc_phy_rfctrl_override_nphy_rev7(phy_info_t *pi, uint16 field, uint16 value,
14158 u8 core_mask, u8 off,
14159 u8 override_id);
14161 static void wlc_phy_rssi_cal_nphy_rev2(phy_info_t *pi, u8 rssi_type);
14162 static void wlc_phy_rssi_cal_nphy_rev3(phy_info_t *pi);
14164 static bool wlc_phy_txpwr_srom_read_nphy(phy_info_t *pi);
14165 static void wlc_phy_txpwr_nphy_srom_convert(u8 *srom_max,
14166 uint16 *pwr_offset,
14167 u8 tmp_max_pwr, u8 rate_start,
14168 u8 rate_end);
14170 static void wlc_phy_txpwr_limit_to_tbl_nphy(phy_info_t *pi);
14171 static void wlc_phy_txpwrctrl_coeff_setup_nphy(phy_info_t *pi);
14172 static void wlc_phy_txpwrctrl_idle_tssi_nphy(phy_info_t *pi);
14173 static void wlc_phy_txpwrctrl_pwr_setup_nphy(phy_info_t *pi);
14175 static bool wlc_phy_txpwr_ison_nphy(phy_info_t *pi);
14176 static u8 wlc_phy_txpwr_idx_cur_get_nphy(phy_info_t *pi, u8 core);
14177 static void wlc_phy_txpwr_idx_cur_set_nphy(phy_info_t *pi, u8 idx0,
14178 u8 idx1);
14179 static void wlc_phy_a4(phy_info_t *pi, bool full_cal);
14181 static uint16 wlc_phy_radio205x_rcal(phy_info_t *pi);
14183 static uint16 wlc_phy_radio2057_rccal(phy_info_t *pi);
14185 static uint16 wlc_phy_gen_load_samples_nphy(phy_info_t *pi, uint32 f_kHz,
14186 uint16 max_val,
14187 u8 dac_test_mode);
14188 static void wlc_phy_loadsampletable_nphy(phy_info_t *pi, cint32 *tone_buf,
14189 uint16 num_samps);
14190 static void wlc_phy_runsamples_nphy(phy_info_t *pi, uint16 n, uint16 lps,
14191 uint16 wait, u8 iq, u8 dac_test_mode,
14192 bool modify_bbmult);
14194 bool wlc_phy_bist_check_phy(wlc_phy_t *pih)
14196 phy_info_t *pi = (phy_info_t *) pih;
14197 uint32 phybist0, phybist1, phybist2, phybist3, phybist4;
14199 if (NREV_GE(pi->pubpi.phy_rev, 16))
14200 return TRUE;
14202 phybist0 = read_phy_reg(pi, 0x0e);
14203 phybist1 = read_phy_reg(pi, 0x0f);
14204 phybist2 = read_phy_reg(pi, 0xea);
14205 phybist3 = read_phy_reg(pi, 0xeb);
14206 phybist4 = read_phy_reg(pi, 0x156);
14208 if ((phybist0 == 0) && (phybist1 == 0x4000) && (phybist2 == 0x1fe0) &&
14209 (phybist3 == 0) && (phybist4 == 0)) {
14210 return TRUE;
14213 return FALSE;
14216 static void WLBANDINITFN(wlc_phy_bphy_init_nphy) (phy_info_t *pi)
14218 uint16 addr, val;
14220 ASSERT(ISNPHY(pi));
14222 val = 0x1e1f;
14223 for (addr = (NPHY_TO_BPHY_OFF + BPHY_RSSI_LUT);
14224 addr <= (NPHY_TO_BPHY_OFF + BPHY_RSSI_LUT_END); addr++) {
14225 write_phy_reg(pi, addr, val);
14226 if (addr == (NPHY_TO_BPHY_OFF + 0x97))
14227 val = 0x3e3f;
14228 else
14229 val -= 0x0202;
14232 if (NORADIO_ENAB(pi->pubpi)) {
14234 write_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_PHYCRSTH, 0x3206);
14236 write_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_RSSI_TRESH, 0x281e);
14238 or_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_LNA_GAIN_RANGE, 0x1a);
14240 } else {
14242 write_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_STEP, 0x668);
14246 void
14247 wlc_phy_table_write_nphy(phy_info_t *pi, uint32 id, uint32 len, uint32 offset,
14248 uint32 width, const void *data)
14250 mimophytbl_info_t tbl;
14252 tbl.tbl_id = id;
14253 tbl.tbl_len = len;
14254 tbl.tbl_offset = offset;
14255 tbl.tbl_width = width;
14256 tbl.tbl_ptr = data;
14257 wlc_phy_write_table_nphy(pi, &tbl);
14260 void
14261 wlc_phy_table_read_nphy(phy_info_t *pi, uint32 id, uint32 len, uint32 offset,
14262 uint32 width, void *data)
14264 mimophytbl_info_t tbl;
14266 tbl.tbl_id = id;
14267 tbl.tbl_len = len;
14268 tbl.tbl_offset = offset;
14269 tbl.tbl_width = width;
14270 tbl.tbl_ptr = data;
14271 wlc_phy_read_table_nphy(pi, &tbl);
14274 static void WLBANDINITFN(wlc_phy_static_table_download_nphy) (phy_info_t *pi)
14276 uint idx;
14278 if (NREV_GE(pi->pubpi.phy_rev, 16)) {
14279 for (idx = 0; idx < mimophytbl_info_sz_rev16; idx++)
14280 wlc_phy_write_table_nphy(pi,
14281 &mimophytbl_info_rev16[idx]);
14282 } else if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14283 for (idx = 0; idx < mimophytbl_info_sz_rev7; idx++)
14284 wlc_phy_write_table_nphy(pi,
14285 &mimophytbl_info_rev7[idx]);
14286 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14287 for (idx = 0; idx < mimophytbl_info_sz_rev3; idx++)
14288 wlc_phy_write_table_nphy(pi,
14289 &mimophytbl_info_rev3[idx]);
14290 } else {
14291 for (idx = 0; idx < mimophytbl_info_sz_rev0; idx++)
14292 wlc_phy_write_table_nphy(pi,
14293 &mimophytbl_info_rev0[idx]);
14297 static void WLBANDINITFN(wlc_phy_tbl_init_nphy) (phy_info_t *pi)
14299 uint idx = 0;
14300 u8 antswctrllut;
14302 if (pi->phy_init_por)
14303 wlc_phy_static_table_download_nphy(pi);
14305 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14307 antswctrllut = CHSPEC_IS2G(pi->radio_chanspec) ?
14308 pi->srom_fem2g.antswctrllut : pi->srom_fem5g.antswctrllut;
14310 switch (antswctrllut) {
14311 case 0:
14313 break;
14315 case 1:
14317 if (pi->aa2g == 7) {
14319 wlc_phy_table_write_nphy(pi,
14320 NPHY_TBL_ID_ANTSWCTRLLUT,
14321 2, 0x21, 8,
14322 &ant_sw_ctrl_tbl_rev8_2o3
14323 [0]);
14324 } else {
14325 wlc_phy_table_write_nphy(pi,
14326 NPHY_TBL_ID_ANTSWCTRLLUT,
14327 2, 0x21, 8,
14328 &ant_sw_ctrl_tbl_rev8
14329 [0]);
14331 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14332 2, 0x25, 8,
14333 &ant_sw_ctrl_tbl_rev8[2]);
14334 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14335 2, 0x29, 8,
14336 &ant_sw_ctrl_tbl_rev8[4]);
14337 break;
14339 case 2:
14341 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14342 2, 0x1, 8,
14343 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14344 [0]);
14345 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14346 2, 0x5, 8,
14347 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14348 [2]);
14349 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14350 2, 0x9, 8,
14351 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14352 [4]);
14354 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14355 2, 0x21, 8,
14356 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14357 [0]);
14358 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14359 2, 0x25, 8,
14360 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14361 [2]);
14362 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14363 2, 0x29, 8,
14364 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14365 [4]);
14366 break;
14368 default:
14370 ASSERT(0);
14371 break;
14374 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14375 for (idx = 0; idx < mimophytbl_info_sz_rev3_volatile; idx++) {
14377 if (idx == ANT_SWCTRL_TBL_REV3_IDX) {
14378 antswctrllut = CHSPEC_IS2G(pi->radio_chanspec) ?
14379 pi->srom_fem2g.antswctrllut : pi->
14380 srom_fem5g.antswctrllut;
14381 switch (antswctrllut) {
14382 case 0:
14383 wlc_phy_write_table_nphy(pi,
14384 &mimophytbl_info_rev3_volatile
14385 [idx]);
14386 break;
14387 case 1:
14388 wlc_phy_write_table_nphy(pi,
14389 &mimophytbl_info_rev3_volatile1
14390 [idx]);
14391 break;
14392 case 2:
14393 wlc_phy_write_table_nphy(pi,
14394 &mimophytbl_info_rev3_volatile2
14395 [idx]);
14396 break;
14397 case 3:
14398 wlc_phy_write_table_nphy(pi,
14399 &mimophytbl_info_rev3_volatile3
14400 [idx]);
14401 break;
14402 default:
14404 ASSERT(0);
14405 break;
14407 } else {
14408 wlc_phy_write_table_nphy(pi,
14409 &mimophytbl_info_rev3_volatile
14410 [idx]);
14413 } else {
14414 for (idx = 0; idx < mimophytbl_info_sz_rev0_volatile; idx++) {
14415 wlc_phy_write_table_nphy(pi,
14416 &mimophytbl_info_rev0_volatile
14417 [idx]);
14422 static void
14423 wlc_phy_write_txmacreg_nphy(phy_info_t *pi, uint16 holdoff, uint16 delay)
14425 write_phy_reg(pi, 0x77, holdoff);
14426 write_phy_reg(pi, 0xb4, delay);
14429 void wlc_phy_nphy_tkip_rifs_war(phy_info_t *pi, u8 rifs)
14431 uint16 holdoff, delay;
14433 if (rifs) {
14435 holdoff = 0x10;
14436 delay = 0x258;
14437 } else {
14439 holdoff = 0x15;
14440 delay = 0x320;
14443 wlc_phy_write_txmacreg_nphy(pi, holdoff, delay);
14445 if (pi && pi->sh && (pi->sh->_rifs_phy != rifs)) {
14446 pi->sh->_rifs_phy = rifs;
14450 bool wlc_phy_attach_nphy(phy_info_t *pi)
14452 uint i;
14454 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 6)) {
14455 pi->phyhang_avoid = TRUE;
14458 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
14460 pi->nphy_gband_spurwar_en = TRUE;
14462 if (pi->sh->boardflags2 & BFL2_SPUR_WAR) {
14463 pi->nphy_aband_spurwar_en = TRUE;
14466 if (NREV_GE(pi->pubpi.phy_rev, 6) && NREV_LT(pi->pubpi.phy_rev, 7)) {
14468 if (pi->sh->boardflags2 & BFL2_2G_SPUR_WAR) {
14469 pi->nphy_gband_spurwar2_en = TRUE;
14473 pi->n_preamble_override = AUTO;
14474 if (NREV_IS(pi->pubpi.phy_rev, 3) || NREV_IS(pi->pubpi.phy_rev, 4))
14475 pi->n_preamble_override = WLC_N_PREAMBLE_MIXEDMODE;
14477 pi->nphy_txrx_chain = AUTO;
14478 pi->phy_scraminit = AUTO;
14480 pi->nphy_rxcalparams = 0x010100B5;
14482 pi->nphy_perical = PHY_PERICAL_MPHASE;
14483 pi->mphase_cal_phase_id = MPHASE_CAL_STATE_IDLE;
14484 pi->mphase_txcal_numcmds = MPHASE_TXCAL_NUMCMDS;
14486 pi->nphy_gain_boost = TRUE;
14487 pi->nphy_elna_gain_config = FALSE;
14488 pi->radio_is_on = FALSE;
14490 for (i = 0; i < pi->pubpi.phy_corenum; i++) {
14491 pi->nphy_txpwrindex[i].index = AUTO;
14494 wlc_phy_txpwrctrl_config_nphy(pi);
14495 if (pi->nphy_txpwrctrl == PHY_TPC_HW_ON)
14496 pi->hwpwrctrl_capable = TRUE;
14498 pi->pi_fptr.init = wlc_phy_init_nphy;
14499 pi->pi_fptr.calinit = wlc_phy_cal_init_nphy;
14500 pi->pi_fptr.chanset = wlc_phy_chanspec_set_nphy;
14501 pi->pi_fptr.txpwrrecalc = wlc_phy_txpower_recalc_target_nphy;
14503 if (!wlc_phy_txpwr_srom_read_nphy(pi))
14504 return FALSE;
14506 return TRUE;
14509 static void BCMATTACHFN(wlc_phy_txpwrctrl_config_nphy) (phy_info_t *pi)
14512 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14513 pi->nphy_txpwrctrl = PHY_TPC_HW_ON;
14514 pi->phy_5g_pwrgain = TRUE;
14515 return;
14518 pi->nphy_txpwrctrl = PHY_TPC_HW_OFF;
14519 pi->phy_5g_pwrgain = FALSE;
14521 if ((pi->sh->boardflags2 & BFL2_TXPWRCTRL_EN) &&
14522 NREV_GE(pi->pubpi.phy_rev, 2) && (pi->sh->sromrev >= 4))
14523 pi->nphy_txpwrctrl = PHY_TPC_HW_ON;
14524 else if ((pi->sh->sromrev >= 4)
14525 && (pi->sh->boardflags2 & BFL2_5G_PWRGAIN))
14526 pi->phy_5g_pwrgain = TRUE;
14529 void WLBANDINITFN(wlc_phy_init_nphy) (phy_info_t *pi)
14531 uint16 val;
14532 uint16 clip1_ths[2];
14533 nphy_txgains_t target_gain;
14534 u8 tx_pwr_ctrl_state;
14535 bool do_nphy_cal = FALSE;
14536 uint core;
14537 uint origidx, intr_val;
14538 d11regs_t *regs;
14539 uint32 d11_clk_ctl_st;
14541 core = 0;
14543 if (!(pi->measure_hold & PHY_HOLD_FOR_SCAN)) {
14544 pi->measure_hold |= PHY_HOLD_FOR_NOT_ASSOC;
14547 if ((ISNPHY(pi)) && (NREV_GE(pi->pubpi.phy_rev, 5)) &&
14548 ((pi->sh->chippkg == BCM4717_PKG_ID) ||
14549 (pi->sh->chippkg == BCM4718_PKG_ID))) {
14550 if ((pi->sh->boardflags & BFL_EXTLNA) &&
14551 (CHSPEC_IS2G(pi->radio_chanspec))) {
14552 si_corereg(pi->sh->sih, SI_CC_IDX,
14553 OFFSETOF(chipcregs_t, chipcontrol), 0x40,
14554 0x40);
14558 if ((!PHY_IPA(pi)) && (CHIPID(pi->sh->chip) == BCM5357_CHIP_ID)) {
14559 si_pmu_chipcontrol(pi->sh->sih, 1, CCTRL5357_EXTPA,
14560 CCTRL5357_EXTPA);
14563 if ((pi->nphy_gband_spurwar2_en) && CHSPEC_IS2G(pi->radio_chanspec) &&
14564 CHSPEC_IS40(pi->radio_chanspec)) {
14566 regs = (d11regs_t *) si_switch_core(pi->sh->sih, D11_CORE_ID,
14567 &origidx, &intr_val);
14568 ASSERT(regs != NULL);
14570 d11_clk_ctl_st = R_REG(pi->sh->osh, &regs->clk_ctl_st);
14571 AND_REG(pi->sh->osh, &regs->clk_ctl_st,
14572 ~(CCS_FORCEHT | CCS_HTAREQ));
14574 W_REG(pi->sh->osh, &regs->clk_ctl_st, d11_clk_ctl_st);
14576 si_restore_core(pi->sh->sih, origidx, intr_val);
14579 pi->use_int_tx_iqlo_cal_nphy =
14580 (PHY_IPA(pi) ||
14581 (NREV_GE(pi->pubpi.phy_rev, 7) ||
14582 (NREV_GE(pi->pubpi.phy_rev, 5)
14583 && pi->sh->boardflags2 & BFL2_INTERNDET_TXIQCAL)));
14585 pi->internal_tx_iqlo_cal_tapoff_intpa_nphy = FALSE;
14587 pi->nphy_deaf_count = 0;
14589 wlc_phy_tbl_init_nphy(pi);
14591 pi->nphy_crsminpwr_adjusted = FALSE;
14592 pi->nphy_noisevars_adjusted = FALSE;
14594 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14595 write_phy_reg(pi, 0xe7, 0);
14596 write_phy_reg(pi, 0xec, 0);
14597 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14598 write_phy_reg(pi, 0x342, 0);
14599 write_phy_reg(pi, 0x343, 0);
14600 write_phy_reg(pi, 0x346, 0);
14601 write_phy_reg(pi, 0x347, 0);
14603 write_phy_reg(pi, 0xe5, 0);
14604 write_phy_reg(pi, 0xe6, 0);
14605 } else {
14606 write_phy_reg(pi, 0xec, 0);
14609 write_phy_reg(pi, 0x91, 0);
14610 write_phy_reg(pi, 0x92, 0);
14611 if (NREV_LT(pi->pubpi.phy_rev, 6)) {
14612 write_phy_reg(pi, 0x93, 0);
14613 write_phy_reg(pi, 0x94, 0);
14616 and_phy_reg(pi, 0xa1, ~3);
14618 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14619 write_phy_reg(pi, 0x8f, 0);
14620 write_phy_reg(pi, 0xa5, 0);
14621 } else {
14622 write_phy_reg(pi, 0xa5, 0);
14625 if (NREV_IS(pi->pubpi.phy_rev, 2))
14626 mod_phy_reg(pi, 0xdc, 0x00ff, 0x3b);
14627 else if (NREV_LT(pi->pubpi.phy_rev, 2))
14628 mod_phy_reg(pi, 0xdc, 0x00ff, 0x40);
14630 write_phy_reg(pi, 0x203, 32);
14631 write_phy_reg(pi, 0x201, 32);
14633 if (pi->sh->boardflags2 & BFL2_SKWRKFEM_BRD)
14634 write_phy_reg(pi, 0x20d, 160);
14635 else
14636 write_phy_reg(pi, 0x20d, 184);
14638 write_phy_reg(pi, 0x13a, 200);
14640 write_phy_reg(pi, 0x70, 80);
14642 write_phy_reg(pi, 0x1ff, 48);
14644 if (NREV_LT(pi->pubpi.phy_rev, 8)) {
14645 wlc_phy_update_mimoconfig_nphy(pi, pi->n_preamble_override);
14648 wlc_phy_stf_chain_upd_nphy(pi);
14650 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
14651 write_phy_reg(pi, 0x180, 0xaa8);
14652 write_phy_reg(pi, 0x181, 0x9a4);
14655 if (PHY_IPA(pi)) {
14656 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
14658 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
14659 0x29b, (0x1 << 0), (1) << 0);
14661 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x298 :
14662 0x29c, (0x1ff << 7),
14663 (pi->nphy_papd_epsilon_offset[core]) << 7);
14667 wlc_phy_ipa_set_tx_digi_filts_nphy(pi);
14668 } else {
14670 if (NREV_GE(pi->pubpi.phy_rev, 5)) {
14671 wlc_phy_extpa_set_tx_digi_filts_nphy(pi);
14675 wlc_phy_workarounds_nphy(pi);
14677 wlapi_bmac_phyclk_fgc(pi->sh->physhim, ON);
14679 val = read_phy_reg(pi, 0x01);
14680 write_phy_reg(pi, 0x01, val | BBCFG_RESETCCA);
14681 write_phy_reg(pi, 0x01, val & (~BBCFG_RESETCCA));
14682 wlapi_bmac_phyclk_fgc(pi->sh->physhim, OFF);
14684 wlapi_bmac_macphyclk_set(pi->sh->physhim, ON);
14686 wlc_phy_pa_override_nphy(pi, OFF);
14687 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX);
14688 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
14689 wlc_phy_pa_override_nphy(pi, ON);
14691 wlc_phy_classifier_nphy(pi, 0, 0);
14692 wlc_phy_clip_det_nphy(pi, 0, clip1_ths);
14694 if (CHSPEC_IS2G(pi->radio_chanspec))
14695 wlc_phy_bphy_init_nphy(pi);
14697 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
14698 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
14700 wlc_phy_txpwr_fixpower_nphy(pi);
14702 wlc_phy_txpwrctrl_idle_tssi_nphy(pi);
14704 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
14706 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14707 uint32 *tx_pwrctrl_tbl = NULL;
14708 uint16 idx;
14709 int16 pga_gn = 0;
14710 int16 pad_gn = 0;
14711 int32 rfpwr_offset = 0;
14713 if (PHY_IPA(pi)) {
14714 tx_pwrctrl_tbl = wlc_phy_get_ipa_gaintbl_nphy(pi);
14715 } else {
14716 if (CHSPEC_IS5G(pi->radio_chanspec)) {
14717 if NREV_IS
14718 (pi->pubpi.phy_rev, 3) {
14719 tx_pwrctrl_tbl =
14720 nphy_tpc_5GHz_txgain_rev3;
14721 } else if NREV_IS
14722 (pi->pubpi.phy_rev, 4) {
14723 tx_pwrctrl_tbl =
14724 (pi->srom_fem5g.extpagain == 3) ?
14725 nphy_tpc_5GHz_txgain_HiPwrEPA :
14726 nphy_tpc_5GHz_txgain_rev4;
14727 } else {
14728 tx_pwrctrl_tbl =
14729 nphy_tpc_5GHz_txgain_rev5;
14732 } else {
14733 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14734 if (pi->pubpi.radiorev == 5) {
14735 tx_pwrctrl_tbl =
14736 nphy_tpc_txgain_epa_2057rev5;
14737 } else if (pi->pubpi.radiorev == 3) {
14738 tx_pwrctrl_tbl =
14739 nphy_tpc_txgain_epa_2057rev3;
14742 } else {
14743 if (NREV_GE(pi->pubpi.phy_rev, 5) &&
14744 (pi->srom_fem2g.extpagain == 3)) {
14745 tx_pwrctrl_tbl =
14746 nphy_tpc_txgain_HiPwrEPA;
14747 } else {
14748 tx_pwrctrl_tbl =
14749 nphy_tpc_txgain_rev3;
14755 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 128,
14756 192, 32, tx_pwrctrl_tbl);
14757 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 128,
14758 192, 32, tx_pwrctrl_tbl);
14760 pi->nphy_gmval = (uint16) ((*tx_pwrctrl_tbl >> 16) & 0x7000);
14762 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14764 for (idx = 0; idx < 128; idx++) {
14765 pga_gn = (tx_pwrctrl_tbl[idx] >> 24) & 0xf;
14766 pad_gn = (tx_pwrctrl_tbl[idx] >> 19) & 0x1f;
14768 if (CHSPEC_IS2G(pi->radio_chanspec)) {
14769 if ((pi->pubpi.radiorev == 3) ||
14770 (pi->pubpi.radiorev == 4) ||
14771 (pi->pubpi.radiorev == 6)) {
14772 rfpwr_offset = (int16)
14773 nphy_papd_padgain_dlt_2g_2057rev3n4
14774 [pad_gn];
14775 } else if (pi->pubpi.radiorev == 5) {
14776 rfpwr_offset = (int16)
14777 nphy_papd_padgain_dlt_2g_2057rev5
14778 [pad_gn];
14779 } else if ((pi->pubpi.radiorev == 7)
14780 || (pi->pubpi.radiorev ==
14781 8)) {
14782 rfpwr_offset = (int16)
14783 nphy_papd_padgain_dlt_2g_2057rev7
14784 [pad_gn];
14785 } else {
14786 ASSERT(0);
14789 } else {
14790 if ((pi->pubpi.radiorev == 3) ||
14791 (pi->pubpi.radiorev == 4) ||
14792 (pi->pubpi.radiorev == 6)) {
14793 rfpwr_offset = (int16)
14794 nphy_papd_pgagain_dlt_5g_2057
14795 [pga_gn];
14796 } else if ((pi->pubpi.radiorev == 7)
14797 || (pi->pubpi.radiorev ==
14798 8)) {
14799 rfpwr_offset = (int16)
14800 nphy_papd_pgagain_dlt_5g_2057rev7
14801 [pga_gn];
14802 } else {
14803 ASSERT(0);
14806 wlc_phy_table_write_nphy(pi,
14807 NPHY_TBL_ID_CORE1TXPWRCTL,
14808 1, 576 + idx, 32,
14809 &rfpwr_offset);
14810 wlc_phy_table_write_nphy(pi,
14811 NPHY_TBL_ID_CORE2TXPWRCTL,
14812 1, 576 + idx, 32,
14813 &rfpwr_offset);
14815 } else {
14817 for (idx = 0; idx < 128; idx++) {
14818 pga_gn = (tx_pwrctrl_tbl[idx] >> 24) & 0xf;
14819 if (CHSPEC_IS2G(pi->radio_chanspec)) {
14820 rfpwr_offset = (int16)
14821 nphy_papd_pga_gain_delta_ipa_2g
14822 [pga_gn];
14823 } else {
14824 rfpwr_offset = (int16)
14825 nphy_papd_pga_gain_delta_ipa_5g
14826 [pga_gn];
14829 wlc_phy_table_write_nphy(pi,
14830 NPHY_TBL_ID_CORE1TXPWRCTL,
14831 1, 576 + idx, 32,
14832 &rfpwr_offset);
14833 wlc_phy_table_write_nphy(pi,
14834 NPHY_TBL_ID_CORE2TXPWRCTL,
14835 1, 576 + idx, 32,
14836 &rfpwr_offset);
14840 } else {
14842 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 128,
14843 192, 32, nphy_tpc_txgain);
14844 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 128,
14845 192, 32, nphy_tpc_txgain);
14848 if (pi->sh->phyrxchain != 0x3) {
14849 wlc_phy_rxcore_setstate_nphy((wlc_phy_t *) pi,
14850 pi->sh->phyrxchain);
14853 if (PHY_PERICAL_MPHASE_PENDING(pi)) {
14854 wlc_phy_cal_perical_mphase_restart(pi);
14857 if (!NORADIO_ENAB(pi->pubpi)) {
14858 bool do_rssi_cal = FALSE;
14860 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14861 do_rssi_cal = (CHSPEC_IS2G(pi->radio_chanspec)) ?
14862 (pi->nphy_rssical_chanspec_2G == 0) :
14863 (pi->nphy_rssical_chanspec_5G == 0);
14865 if (do_rssi_cal) {
14866 wlc_phy_rssi_cal_nphy(pi);
14867 } else {
14868 wlc_phy_restore_rssical_nphy(pi);
14870 } else {
14871 wlc_phy_rssi_cal_nphy(pi);
14874 if (!SCAN_RM_IN_PROGRESS(pi)) {
14875 do_nphy_cal = (CHSPEC_IS2G(pi->radio_chanspec)) ?
14876 (pi->nphy_iqcal_chanspec_2G == 0) :
14877 (pi->nphy_iqcal_chanspec_5G == 0);
14880 if (!pi->do_initcal)
14881 do_nphy_cal = FALSE;
14883 if (do_nphy_cal) {
14885 target_gain = wlc_phy_get_tx_gain_nphy(pi);
14887 if (pi->antsel_type == ANTSEL_2x3)
14888 wlc_phy_antsel_init((wlc_phy_t *) pi, TRUE);
14890 if (pi->nphy_perical != PHY_PERICAL_MPHASE) {
14891 wlc_phy_rssi_cal_nphy(pi);
14893 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14894 pi->nphy_cal_orig_pwr_idx[0] =
14895 pi->nphy_txpwrindex[PHY_CORE_0].
14896 index_internal;
14897 pi->nphy_cal_orig_pwr_idx[1] =
14898 pi->nphy_txpwrindex[PHY_CORE_1].
14899 index_internal;
14901 wlc_phy_precal_txgain_nphy(pi);
14902 target_gain =
14903 wlc_phy_get_tx_gain_nphy(pi);
14906 if (wlc_phy_cal_txiqlo_nphy
14907 (pi, target_gain, TRUE, FALSE) == BCME_OK) {
14908 if (wlc_phy_cal_rxiq_nphy
14909 (pi, target_gain, 2,
14910 FALSE) == BCME_OK) {
14911 wlc_phy_savecal_nphy(pi);
14915 } else if (pi->mphase_cal_phase_id ==
14916 MPHASE_CAL_STATE_IDLE) {
14918 wlc_phy_cal_perical((wlc_phy_t *) pi,
14919 PHY_PERICAL_PHYINIT);
14921 } else {
14922 wlc_phy_restorecal_nphy(pi);
14926 wlc_phy_txpwrctrl_coeff_setup_nphy(pi);
14928 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
14930 wlc_phy_nphy_tkip_rifs_war(pi, pi->sh->_rifs_phy);
14932 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LE(pi->pubpi.phy_rev, 6))
14934 write_phy_reg(pi, 0x70, 50);
14936 wlc_phy_txlpfbw_nphy(pi);
14938 wlc_phy_spurwar_nphy(pi);
14942 static void wlc_phy_update_mimoconfig_nphy(phy_info_t *pi, int32 preamble)
14944 bool gf_preamble = FALSE;
14945 uint16 val;
14947 if (preamble == WLC_N_PREAMBLE_GF) {
14948 gf_preamble = TRUE;
14951 val = read_phy_reg(pi, 0xed);
14953 val |= RX_GF_MM_AUTO;
14954 val &= ~RX_GF_OR_MM;
14955 if (gf_preamble)
14956 val |= RX_GF_OR_MM;
14958 write_phy_reg(pi, 0xed, val);
14961 static void wlc_phy_resetcca_nphy(phy_info_t *pi)
14963 uint16 val;
14965 ASSERT(0 == (R_REG(pi->sh->osh, &pi->regs->maccontrol) & MCTL_EN_MAC));
14967 wlapi_bmac_phyclk_fgc(pi->sh->physhim, ON);
14969 val = read_phy_reg(pi, 0x01);
14970 write_phy_reg(pi, 0x01, val | BBCFG_RESETCCA);
14971 OSL_DELAY(1);
14972 write_phy_reg(pi, 0x01, val & (~BBCFG_RESETCCA));
14974 wlapi_bmac_phyclk_fgc(pi->sh->physhim, OFF);
14976 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
14979 void wlc_phy_pa_override_nphy(phy_info_t *pi, bool en)
14981 uint16 rfctrlintc_override_val;
14983 if (!en) {
14985 pi->rfctrlIntc1_save = read_phy_reg(pi, 0x91);
14986 pi->rfctrlIntc2_save = read_phy_reg(pi, 0x92);
14988 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14989 rfctrlintc_override_val = 0x1480;
14990 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14991 rfctrlintc_override_val =
14992 CHSPEC_IS5G(pi->radio_chanspec) ? 0x600 : 0x480;
14993 } else {
14994 rfctrlintc_override_val =
14995 CHSPEC_IS5G(pi->radio_chanspec) ? 0x180 : 0x120;
14998 write_phy_reg(pi, 0x91, rfctrlintc_override_val);
14999 write_phy_reg(pi, 0x92, rfctrlintc_override_val);
15000 } else {
15002 write_phy_reg(pi, 0x91, pi->rfctrlIntc1_save);
15003 write_phy_reg(pi, 0x92, pi->rfctrlIntc2_save);
15008 void wlc_phy_stf_chain_upd_nphy(phy_info_t *pi)
15011 uint16 txrx_chain =
15012 (NPHY_RfseqCoreActv_TxRxChain0 | NPHY_RfseqCoreActv_TxRxChain1);
15013 bool CoreActv_override = FALSE;
15015 if (pi->nphy_txrx_chain == WLC_N_TXRX_CHAIN0) {
15016 txrx_chain = NPHY_RfseqCoreActv_TxRxChain0;
15017 CoreActv_override = TRUE;
15019 if (NREV_LE(pi->pubpi.phy_rev, 2)) {
15020 and_phy_reg(pi, 0xa0, ~0x20);
15022 } else if (pi->nphy_txrx_chain == WLC_N_TXRX_CHAIN1) {
15023 txrx_chain = NPHY_RfseqCoreActv_TxRxChain1;
15024 CoreActv_override = TRUE;
15026 if (NREV_LE(pi->pubpi.phy_rev, 2)) {
15027 or_phy_reg(pi, 0xa0, 0x20);
15031 mod_phy_reg(pi, 0xa2, ((0xf << 0) | (0xf << 4)), txrx_chain);
15033 if (CoreActv_override) {
15035 pi->nphy_perical = PHY_PERICAL_DISABLE;
15036 or_phy_reg(pi, 0xa1, NPHY_RfseqMode_CoreActv_override);
15037 } else {
15038 pi->nphy_perical = PHY_PERICAL_MPHASE;
15039 and_phy_reg(pi, 0xa1, ~NPHY_RfseqMode_CoreActv_override);
15043 void wlc_phy_rxcore_setstate_nphy(wlc_phy_t *pih, u8 rxcore_bitmask)
15045 uint16 regval;
15046 uint16 tbl_buf[16];
15047 uint i;
15048 phy_info_t *pi = (phy_info_t *) pih;
15049 uint16 tbl_opcode;
15050 bool suspend;
15052 pi->sh->phyrxchain = rxcore_bitmask;
15054 if (!pi->sh->clk)
15055 return;
15057 suspend =
15058 (0 == (R_REG(pi->sh->osh, &pi->regs->maccontrol) & MCTL_EN_MAC));
15059 if (!suspend)
15060 wlapi_suspend_mac_and_wait(pi->sh->physhim);
15062 if (pi->phyhang_avoid)
15063 wlc_phy_stay_in_carriersearch_nphy(pi, TRUE);
15065 regval = read_phy_reg(pi, 0xa2);
15066 regval &= ~(0xf << 4);
15067 regval |= ((uint16) (rxcore_bitmask & 0x3)) << 4;
15068 write_phy_reg(pi, 0xa2, regval);
15070 if ((rxcore_bitmask & 0x3) != 0x3) {
15072 write_phy_reg(pi, 0x20e, 1);
15074 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
15075 if (pi->rx2tx_biasentry == -1) {
15076 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ,
15077 ARRAYSIZE(tbl_buf), 80,
15078 16, tbl_buf);
15080 for (i = 0; i < ARRAYSIZE(tbl_buf); i++) {
15081 if (tbl_buf[i] ==
15082 NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS) {
15084 pi->rx2tx_biasentry = (u8) i;
15085 tbl_opcode =
15086 NPHY_REV3_RFSEQ_CMD_NOP;
15087 wlc_phy_table_write_nphy(pi,
15088 NPHY_TBL_ID_RFSEQ,
15089 1, i,
15091 &tbl_opcode);
15092 break;
15093 } else if (tbl_buf[i] ==
15094 NPHY_REV3_RFSEQ_CMD_END) {
15095 break;
15100 } else {
15102 write_phy_reg(pi, 0x20e, 30);
15104 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
15105 if (pi->rx2tx_biasentry != -1) {
15106 tbl_opcode = NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS;
15107 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15108 1, pi->rx2tx_biasentry,
15109 16, &tbl_opcode);
15110 pi->rx2tx_biasentry = -1;
15115 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
15117 if (pi->phyhang_avoid)
15118 wlc_phy_stay_in_carriersearch_nphy(pi, FALSE);
15120 if (!suspend)
15121 wlapi_enable_mac(pi->sh->physhim);
15124 u8 wlc_phy_rxcore_getstate_nphy(wlc_phy_t *pih)
15126 uint16 regval, rxen_bits;
15127 phy_info_t *pi = (phy_info_t *) pih;
15129 regval = read_phy_reg(pi, 0xa2);
15130 rxen_bits = (regval >> 4) & 0xf;
15132 return (u8) rxen_bits;
15135 bool wlc_phy_n_txpower_ipa_ison(phy_info_t *pi)
15137 return PHY_IPA(pi);
15140 static void wlc_phy_txpwr_limit_to_tbl_nphy(phy_info_t *pi)
15142 u8 idx, idx2, i, delta_ind;
15144 for (idx = TXP_FIRST_CCK; idx <= TXP_LAST_CCK; idx++) {
15145 pi->adj_pwr_tbl_nphy[idx] = pi->tx_power_offset[idx];
15148 for (i = 0; i < 4; i++) {
15149 idx2 = 0;
15151 delta_ind = 0;
15153 switch (i) {
15154 case 0:
15156 if (CHSPEC_IS40(pi->radio_chanspec)
15157 && NPHY_IS_SROM_REINTERPRET) {
15158 idx = TXP_FIRST_MCS_40_SISO;
15159 } else {
15160 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15161 TXP_FIRST_OFDM_40_SISO : TXP_FIRST_OFDM;
15162 delta_ind = 1;
15164 break;
15166 case 1:
15168 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15169 TXP_FIRST_MCS_40_CDD : TXP_FIRST_MCS_20_CDD;
15170 break;
15172 case 2:
15174 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15175 TXP_FIRST_MCS_40_STBC : TXP_FIRST_MCS_20_STBC;
15176 break;
15178 case 3:
15180 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15181 TXP_FIRST_MCS_40_SDM : TXP_FIRST_MCS_20_SDM;
15182 break;
15185 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15186 pi->tx_power_offset[idx];
15187 idx = idx + delta_ind;
15188 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15189 pi->tx_power_offset[idx];
15190 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15191 pi->tx_power_offset[idx];
15192 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15193 pi->tx_power_offset[idx++];
15195 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15196 pi->tx_power_offset[idx++];
15197 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15198 pi->tx_power_offset[idx];
15199 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15200 pi->tx_power_offset[idx];
15201 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15202 pi->tx_power_offset[idx++];
15204 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15205 pi->tx_power_offset[idx++];
15206 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15207 pi->tx_power_offset[idx];
15208 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15209 pi->tx_power_offset[idx];
15210 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15211 pi->tx_power_offset[idx++];
15213 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15214 pi->tx_power_offset[idx];
15215 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15216 pi->tx_power_offset[idx++];
15217 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15218 pi->tx_power_offset[idx];
15219 idx = idx + 1 - delta_ind;
15220 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15221 pi->tx_power_offset[idx];
15223 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15224 pi->tx_power_offset[idx];
15225 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15226 pi->tx_power_offset[idx];
15227 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15228 pi->tx_power_offset[idx];
15229 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15230 pi->tx_power_offset[idx];
15234 void wlc_phy_cal_init_nphy(phy_info_t *pi)
15238 static void wlc_phy_war_force_trsw_to_R_cliplo_nphy(phy_info_t *pi, u8 core)
15240 if (core == PHY_CORE_0) {
15241 write_phy_reg(pi, 0x38, 0x4);
15242 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15243 write_phy_reg(pi, 0x37, 0x0060);
15244 } else {
15245 write_phy_reg(pi, 0x37, 0x1080);
15247 } else if (core == PHY_CORE_1) {
15248 write_phy_reg(pi, 0x2ae, 0x4);
15249 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15250 write_phy_reg(pi, 0x2ad, 0x0060);
15251 } else {
15252 write_phy_reg(pi, 0x2ad, 0x1080);
15257 static void wlc_phy_war_txchain_upd_nphy(phy_info_t *pi, u8 txchain)
15259 u8 txchain0, txchain1;
15261 txchain0 = txchain & 0x1;
15262 txchain1 = (txchain & 0x2) >> 1;
15263 if (!txchain0) {
15264 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_0);
15267 if (!txchain1) {
15268 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_1);
15272 static void wlc_phy_workarounds_nphy(phy_info_t *pi)
15274 u8 rfseq_rx2tx_events[] = {
15275 NPHY_RFSEQ_CMD_NOP,
15276 NPHY_RFSEQ_CMD_RXG_FBW,
15277 NPHY_RFSEQ_CMD_TR_SWITCH,
15278 NPHY_RFSEQ_CMD_CLR_HIQ_DIS,
15279 NPHY_RFSEQ_CMD_RXPD_TXPD,
15280 NPHY_RFSEQ_CMD_TX_GAIN,
15281 NPHY_RFSEQ_CMD_EXT_PA
15283 u8 rfseq_rx2tx_dlys[] = { 8, 6, 6, 2, 4, 60, 1 };
15284 u8 rfseq_tx2rx_events[] = {
15285 NPHY_RFSEQ_CMD_NOP,
15286 NPHY_RFSEQ_CMD_EXT_PA,
15287 NPHY_RFSEQ_CMD_TX_GAIN,
15288 NPHY_RFSEQ_CMD_RXPD_TXPD,
15289 NPHY_RFSEQ_CMD_TR_SWITCH,
15290 NPHY_RFSEQ_CMD_RXG_FBW,
15291 NPHY_RFSEQ_CMD_CLR_HIQ_DIS
15293 u8 rfseq_tx2rx_dlys[] = { 8, 6, 2, 4, 4, 6, 1 };
15294 u8 rfseq_tx2rx_events_rev3[] = {
15295 NPHY_REV3_RFSEQ_CMD_EXT_PA,
15296 NPHY_REV3_RFSEQ_CMD_INT_PA_PU,
15297 NPHY_REV3_RFSEQ_CMD_TX_GAIN,
15298 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD,
15299 NPHY_REV3_RFSEQ_CMD_TR_SWITCH,
15300 NPHY_REV3_RFSEQ_CMD_RXG_FBW,
15301 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS,
15302 NPHY_REV3_RFSEQ_CMD_END
15304 u8 rfseq_tx2rx_dlys_rev3[] = { 8, 4, 2, 2, 4, 4, 6, 1 };
15305 u8 rfseq_rx2tx_events_rev3[] = {
15306 NPHY_REV3_RFSEQ_CMD_NOP,
15307 NPHY_REV3_RFSEQ_CMD_RXG_FBW,
15308 NPHY_REV3_RFSEQ_CMD_TR_SWITCH,
15309 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS,
15310 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD,
15311 NPHY_REV3_RFSEQ_CMD_TX_GAIN,
15312 NPHY_REV3_RFSEQ_CMD_INT_PA_PU,
15313 NPHY_REV3_RFSEQ_CMD_EXT_PA,
15314 NPHY_REV3_RFSEQ_CMD_END
15316 u8 rfseq_rx2tx_dlys_rev3[] = { 8, 6, 6, 4, 4, 18, 42, 1, 1 };
15318 u8 rfseq_rx2tx_events_rev3_ipa[] = {
15319 NPHY_REV3_RFSEQ_CMD_NOP,
15320 NPHY_REV3_RFSEQ_CMD_RXG_FBW,
15321 NPHY_REV3_RFSEQ_CMD_TR_SWITCH,
15322 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS,
15323 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD,
15324 NPHY_REV3_RFSEQ_CMD_TX_GAIN,
15325 NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS,
15326 NPHY_REV3_RFSEQ_CMD_INT_PA_PU,
15327 NPHY_REV3_RFSEQ_CMD_END
15329 u8 rfseq_rx2tx_dlys_rev3_ipa[] = { 8, 6, 6, 4, 4, 16, 43, 1, 1 };
15330 uint16 rfseq_rx2tx_dacbufpu_rev7[] = { 0x10f, 0x10f };
15332 int16 alpha0, alpha1, alpha2;
15333 int16 beta0, beta1, beta2;
15334 uint32 leg_data_weights, ht_data_weights, nss1_data_weights,
15335 stbc_data_weights;
15336 u8 chan_freq_range = 0;
15337 uint16 dac_control = 0x0002;
15338 uint16 aux_adc_vmid_rev7_core0[] = { 0x8e, 0x96, 0x96, 0x96 };
15339 uint16 aux_adc_vmid_rev7_core1[] = { 0x8f, 0x9f, 0x9f, 0x96 };
15340 uint16 aux_adc_vmid_rev4[] = { 0xa2, 0xb4, 0xb4, 0x89 };
15341 uint16 aux_adc_vmid_rev3[] = { 0xa2, 0xb4, 0xb4, 0x89 };
15342 uint16 *aux_adc_vmid;
15343 uint16 aux_adc_gain_rev7[] = { 0x02, 0x02, 0x02, 0x02 };
15344 uint16 aux_adc_gain_rev4[] = { 0x02, 0x02, 0x02, 0x00 };
15345 uint16 aux_adc_gain_rev3[] = { 0x02, 0x02, 0x02, 0x00 };
15346 uint16 *aux_adc_gain;
15347 uint16 sk_adc_vmid[] = { 0xb4, 0xb4, 0xb4, 0x24 };
15348 uint16 sk_adc_gain[] = { 0x02, 0x02, 0x02, 0x02 };
15349 int32 min_nvar_val = 0x18d;
15350 int32 min_nvar_offset_6mbps = 20;
15351 u8 pdetrange;
15352 u8 triso;
15353 uint16 regval;
15354 uint16 afectrl_adc_ctrl1_rev7 = 0x20;
15355 uint16 afectrl_adc_ctrl2_rev7 = 0x0;
15356 uint16 rfseq_rx2tx_lpf_h_hpc_rev7 = 0x77;
15357 uint16 rfseq_tx2rx_lpf_h_hpc_rev7 = 0x77;
15358 uint16 rfseq_pktgn_lpf_h_hpc_rev7 = 0x77;
15359 uint16 rfseq_htpktgn_lpf_hpc_rev7[] = { 0x77, 0x11, 0x11 };
15360 uint16 rfseq_pktgn_lpf_hpc_rev7[] = { 0x11, 0x11 };
15361 uint16 rfseq_cckpktgn_lpf_hpc_rev7[] = { 0x11, 0x11 };
15362 uint16 ipalvlshift_3p3_war_en = 0;
15363 uint16 rccal_bcap_val, rccal_scap_val;
15364 uint16 rccal_tx20_11b_bcap = 0;
15365 uint16 rccal_tx20_11b_scap = 0;
15366 uint16 rccal_tx20_11n_bcap = 0;
15367 uint16 rccal_tx20_11n_scap = 0;
15368 uint16 rccal_tx40_11n_bcap = 0;
15369 uint16 rccal_tx40_11n_scap = 0;
15370 uint16 rx2tx_lpf_rc_lut_tx20_11b = 0;
15371 uint16 rx2tx_lpf_rc_lut_tx20_11n = 0;
15372 uint16 rx2tx_lpf_rc_lut_tx40_11n = 0;
15373 uint16 tx_lpf_bw_ofdm_20mhz = 0;
15374 uint16 tx_lpf_bw_ofdm_40mhz = 0;
15375 uint16 tx_lpf_bw_11b = 0;
15376 uint16 ipa2g_mainbias, ipa2g_casconv, ipa2g_biasfilt;
15377 uint16 txgm_idac_bleed = 0;
15378 bool rccal_ovrd = FALSE;
15379 uint16 freq;
15380 int coreNum;
15382 if (CHSPEC_IS5G(pi->radio_chanspec)) {
15383 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_cck_en, 0);
15384 } else {
15385 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_cck_en, 1);
15388 if (pi->phyhang_avoid)
15389 wlc_phy_stay_in_carriersearch_nphy(pi, TRUE);
15391 if (!ISSIM_ENAB(pi->sh->sih)) {
15392 or_phy_reg(pi, 0xb1, NPHY_IQFlip_ADC1 | NPHY_IQFlip_ADC2);
15395 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
15397 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
15398 mod_phy_reg(pi, 0x221, (0x1 << 4), (1 << 4));
15400 mod_phy_reg(pi, 0x160, (0x7f << 0), (32 << 0));
15401 mod_phy_reg(pi, 0x160, (0x7f << 8), (39 << 8));
15402 mod_phy_reg(pi, 0x161, (0x7f << 0), (46 << 0));
15403 mod_phy_reg(pi, 0x161, (0x7f << 8), (51 << 8));
15404 mod_phy_reg(pi, 0x162, (0x7f << 0), (55 << 0));
15405 mod_phy_reg(pi, 0x162, (0x7f << 8), (58 << 8));
15406 mod_phy_reg(pi, 0x163, (0x7f << 0), (60 << 0));
15407 mod_phy_reg(pi, 0x163, (0x7f << 8), (62 << 8));
15408 mod_phy_reg(pi, 0x164, (0x7f << 0), (62 << 0));
15409 mod_phy_reg(pi, 0x164, (0x7f << 8), (63 << 8));
15410 mod_phy_reg(pi, 0x165, (0x7f << 0), (63 << 0));
15411 mod_phy_reg(pi, 0x165, (0x7f << 8), (64 << 8));
15412 mod_phy_reg(pi, 0x166, (0x7f << 0), (64 << 0));
15413 mod_phy_reg(pi, 0x166, (0x7f << 8), (64 << 8));
15414 mod_phy_reg(pi, 0x167, (0x7f << 0), (64 << 0));
15415 mod_phy_reg(pi, 0x167, (0x7f << 8), (64 << 8));
15418 if (NREV_LE(pi->pubpi.phy_rev, 8)) {
15419 write_phy_reg(pi, 0x23f, 0x1b0);
15420 write_phy_reg(pi, 0x240, 0x1b0);
15423 if (NREV_GE(pi->pubpi.phy_rev, 8)) {
15424 mod_phy_reg(pi, 0xbd, (0xff << 0), (114 << 0));
15427 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x00, 16,
15428 &dac_control);
15429 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x10, 16,
15430 &dac_control);
15432 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
15433 1, 0, 32, &leg_data_weights);
15434 leg_data_weights = leg_data_weights & 0xffffff;
15435 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
15436 1, 0, 32, &leg_data_weights);
15438 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15439 2, 0x15e, 16,
15440 rfseq_rx2tx_dacbufpu_rev7);
15441 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x16e, 16,
15442 rfseq_rx2tx_dacbufpu_rev7);
15444 if (PHY_IPA(pi)) {
15445 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX,
15446 rfseq_rx2tx_events_rev3_ipa,
15447 rfseq_rx2tx_dlys_rev3_ipa,
15448 sizeof
15449 (rfseq_rx2tx_events_rev3_ipa) /
15450 sizeof
15451 (rfseq_rx2tx_events_rev3_ipa
15452 [0]));
15455 mod_phy_reg(pi, 0x299, (0x3 << 14), (0x1 << 14));
15456 mod_phy_reg(pi, 0x29d, (0x3 << 14), (0x1 << 14));
15458 tx_lpf_bw_ofdm_20mhz = wlc_phy_read_lpf_bw_ctl_nphy(pi, 0x154);
15459 tx_lpf_bw_ofdm_40mhz = wlc_phy_read_lpf_bw_ctl_nphy(pi, 0x159);
15460 tx_lpf_bw_11b = wlc_phy_read_lpf_bw_ctl_nphy(pi, 0x152);
15462 if (PHY_IPA(pi)) {
15464 if (((pi->pubpi.radiorev == 5)
15465 && (CHSPEC_IS40(pi->radio_chanspec) == 1))
15466 || (pi->pubpi.radiorev == 7)
15467 || (pi->pubpi.radiorev == 8)) {
15469 rccal_bcap_val =
15470 read_radio_reg(pi,
15471 RADIO_2057_RCCAL_BCAP_VAL);
15472 rccal_scap_val =
15473 read_radio_reg(pi,
15474 RADIO_2057_RCCAL_SCAP_VAL);
15476 rccal_tx20_11b_bcap = rccal_bcap_val;
15477 rccal_tx20_11b_scap = rccal_scap_val;
15479 if ((pi->pubpi.radiorev == 5) &&
15480 (CHSPEC_IS40(pi->radio_chanspec) == 1)) {
15482 rccal_tx20_11n_bcap = rccal_bcap_val;
15483 rccal_tx20_11n_scap = rccal_scap_val;
15484 rccal_tx40_11n_bcap = 0xc;
15485 rccal_tx40_11n_scap = 0xc;
15487 rccal_ovrd = TRUE;
15489 } else if ((pi->pubpi.radiorev == 7)
15490 || (pi->pubpi.radiorev == 8)) {
15492 tx_lpf_bw_ofdm_20mhz = 4;
15493 tx_lpf_bw_11b = 1;
15495 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15496 rccal_tx20_11n_bcap = 0xc;
15497 rccal_tx20_11n_scap = 0xc;
15498 rccal_tx40_11n_bcap = 0xa;
15499 rccal_tx40_11n_scap = 0xa;
15500 } else {
15501 rccal_tx20_11n_bcap = 0x14;
15502 rccal_tx20_11n_scap = 0x14;
15503 rccal_tx40_11n_bcap = 0xf;
15504 rccal_tx40_11n_scap = 0xf;
15507 rccal_ovrd = TRUE;
15511 } else {
15513 if (pi->pubpi.radiorev == 5) {
15515 tx_lpf_bw_ofdm_20mhz = 1;
15516 tx_lpf_bw_ofdm_40mhz = 3;
15518 rccal_bcap_val =
15519 read_radio_reg(pi,
15520 RADIO_2057_RCCAL_BCAP_VAL);
15521 rccal_scap_val =
15522 read_radio_reg(pi,
15523 RADIO_2057_RCCAL_SCAP_VAL);
15525 rccal_tx20_11b_bcap = rccal_bcap_val;
15526 rccal_tx20_11b_scap = rccal_scap_val;
15528 rccal_tx20_11n_bcap = 0x13;
15529 rccal_tx20_11n_scap = 0x11;
15530 rccal_tx40_11n_bcap = 0x13;
15531 rccal_tx40_11n_scap = 0x11;
15533 rccal_ovrd = TRUE;
15537 if (rccal_ovrd) {
15539 rx2tx_lpf_rc_lut_tx20_11b = (rccal_tx20_11b_bcap << 8) |
15540 (rccal_tx20_11b_scap << 3) | tx_lpf_bw_11b;
15541 rx2tx_lpf_rc_lut_tx20_11n = (rccal_tx20_11n_bcap << 8) |
15542 (rccal_tx20_11n_scap << 3) | tx_lpf_bw_ofdm_20mhz;
15543 rx2tx_lpf_rc_lut_tx40_11n = (rccal_tx40_11n_bcap << 8) |
15544 (rccal_tx40_11n_scap << 3) | tx_lpf_bw_ofdm_40mhz;
15546 for (coreNum = 0; coreNum <= 1; coreNum++) {
15547 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15549 0x152 + coreNum * 0x10,
15551 &rx2tx_lpf_rc_lut_tx20_11b);
15552 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15554 0x153 + coreNum * 0x10,
15556 &rx2tx_lpf_rc_lut_tx20_11n);
15557 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15559 0x154 + coreNum * 0x10,
15561 &rx2tx_lpf_rc_lut_tx20_11n);
15562 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15564 0x155 + coreNum * 0x10,
15566 &rx2tx_lpf_rc_lut_tx40_11n);
15567 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15569 0x156 + coreNum * 0x10,
15571 &rx2tx_lpf_rc_lut_tx40_11n);
15572 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15574 0x157 + coreNum * 0x10,
15576 &rx2tx_lpf_rc_lut_tx40_11n);
15577 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15579 0x158 + coreNum * 0x10,
15581 &rx2tx_lpf_rc_lut_tx40_11n);
15582 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15584 0x159 + coreNum * 0x10,
15586 &rx2tx_lpf_rc_lut_tx40_11n);
15589 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4),
15590 1, 0x3, 0,
15591 NPHY_REV7_RFCTRLOVERRIDE_ID2);
15594 if (!NORADIO_ENAB(pi->pubpi)) {
15595 write_phy_reg(pi, 0x32f, 0x3);
15598 if ((pi->pubpi.radiorev == 4) || (pi->pubpi.radiorev == 6)) {
15599 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
15600 1, 0x3, 0,
15601 NPHY_REV7_RFCTRLOVERRIDE_ID0);
15604 if ((pi->pubpi.radiorev == 3) || (pi->pubpi.radiorev == 4) ||
15605 (pi->pubpi.radiorev == 6)) {
15606 if ((pi->sh->sromrev >= 8)
15607 && (pi->sh->boardflags2 & BFL2_IPALVLSHIFT_3P3))
15608 ipalvlshift_3p3_war_en = 1;
15610 if (ipalvlshift_3p3_war_en) {
15611 write_radio_reg(pi, RADIO_2057_GPAIO_CONFIG,
15612 0x5);
15613 write_radio_reg(pi, RADIO_2057_GPAIO_SEL1,
15614 0x30);
15615 write_radio_reg(pi, RADIO_2057_GPAIO_SEL0, 0x0);
15616 or_radio_reg(pi,
15617 RADIO_2057_RXTXBIAS_CONFIG_CORE0,
15618 0x1);
15619 or_radio_reg(pi,
15620 RADIO_2057_RXTXBIAS_CONFIG_CORE1,
15621 0x1);
15623 ipa2g_mainbias = 0x1f;
15625 ipa2g_casconv = 0x6f;
15627 ipa2g_biasfilt = 0xaa;
15628 } else {
15630 ipa2g_mainbias = 0x2b;
15632 ipa2g_casconv = 0x7f;
15634 ipa2g_biasfilt = 0xee;
15637 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15638 for (coreNum = 0; coreNum <= 1; coreNum++) {
15639 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15640 coreNum, IPA2G_IMAIN,
15641 ipa2g_mainbias);
15642 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15643 coreNum, IPA2G_CASCONV,
15644 ipa2g_casconv);
15645 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15646 coreNum,
15647 IPA2G_BIAS_FILTER,
15648 ipa2g_biasfilt);
15653 if (PHY_IPA(pi)) {
15654 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15655 if ((pi->pubpi.radiorev == 3)
15656 || (pi->pubpi.radiorev == 4)
15657 || (pi->pubpi.radiorev == 6)) {
15659 txgm_idac_bleed = 0x7f;
15662 for (coreNum = 0; coreNum <= 1; coreNum++) {
15663 if (txgm_idac_bleed != 0)
15664 WRITE_RADIO_REG4(pi, RADIO_2057,
15665 CORE, coreNum,
15666 TXGM_IDAC_BLEED,
15667 txgm_idac_bleed);
15670 if (pi->pubpi.radiorev == 5) {
15672 for (coreNum = 0; coreNum <= 1;
15673 coreNum++) {
15674 WRITE_RADIO_REG4(pi, RADIO_2057,
15675 CORE, coreNum,
15676 IPA2G_CASCONV,
15677 0x13);
15678 WRITE_RADIO_REG4(pi, RADIO_2057,
15679 CORE, coreNum,
15680 IPA2G_IMAIN,
15681 0x1f);
15682 WRITE_RADIO_REG4(pi, RADIO_2057,
15683 CORE, coreNum,
15684 IPA2G_BIAS_FILTER,
15685 0xee);
15686 WRITE_RADIO_REG4(pi, RADIO_2057,
15687 CORE, coreNum,
15688 PAD2G_IDACS,
15689 0x8a);
15690 WRITE_RADIO_REG4(pi, RADIO_2057,
15691 CORE, coreNum,
15692 PAD_BIAS_FILTER_BWS,
15693 0x3e);
15696 } else if ((pi->pubpi.radiorev == 7)
15697 || (pi->pubpi.radiorev == 8)) {
15699 if (CHSPEC_IS40(pi->radio_chanspec) ==
15700 0) {
15701 WRITE_RADIO_REG4(pi, RADIO_2057,
15702 CORE, 0,
15703 IPA2G_IMAIN,
15704 0x14);
15705 WRITE_RADIO_REG4(pi, RADIO_2057,
15706 CORE, 1,
15707 IPA2G_IMAIN,
15708 0x12);
15709 } else {
15710 WRITE_RADIO_REG4(pi, RADIO_2057,
15711 CORE, 0,
15712 IPA2G_IMAIN,
15713 0x16);
15714 WRITE_RADIO_REG4(pi, RADIO_2057,
15715 CORE, 1,
15716 IPA2G_IMAIN,
15717 0x16);
15721 } else {
15722 freq =
15723 CHAN5G_FREQ(CHSPEC_CHANNEL
15724 (pi->radio_chanspec));
15725 if (((freq >= 5180) && (freq <= 5230))
15726 || ((freq >= 5745) && (freq <= 5805))) {
15727 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15728 0, IPA5G_BIAS_FILTER,
15729 0xff);
15730 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15731 1, IPA5G_BIAS_FILTER,
15732 0xff);
15735 } else {
15737 if (pi->pubpi.radiorev != 5) {
15738 for (coreNum = 0; coreNum <= 1; coreNum++) {
15739 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15740 coreNum,
15741 TXMIX2G_TUNE_BOOST_PU,
15742 0x61);
15743 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15744 coreNum,
15745 TXGM_IDAC_BLEED, 0x70);
15750 if (pi->pubpi.radiorev == 4) {
15751 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15752 0x05, 16,
15753 &afectrl_adc_ctrl1_rev7);
15754 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15755 0x15, 16,
15756 &afectrl_adc_ctrl1_rev7);
15758 for (coreNum = 0; coreNum <= 1; coreNum++) {
15759 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
15760 AFE_VCM_CAL_MASTER, 0x0);
15761 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
15762 AFE_SET_VCM_I, 0x3f);
15763 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
15764 AFE_SET_VCM_Q, 0x3f);
15766 } else {
15767 mod_phy_reg(pi, 0xa6, (0x1 << 2), (0x1 << 2));
15768 mod_phy_reg(pi, 0x8f, (0x1 << 2), (0x1 << 2));
15769 mod_phy_reg(pi, 0xa7, (0x1 << 2), (0x1 << 2));
15770 mod_phy_reg(pi, 0xa5, (0x1 << 2), (0x1 << 2));
15772 mod_phy_reg(pi, 0xa6, (0x1 << 0), 0);
15773 mod_phy_reg(pi, 0x8f, (0x1 << 0), (0x1 << 0));
15774 mod_phy_reg(pi, 0xa7, (0x1 << 0), 0);
15775 mod_phy_reg(pi, 0xa5, (0x1 << 0), (0x1 << 0));
15777 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15778 0x05, 16,
15779 &afectrl_adc_ctrl2_rev7);
15780 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15781 0x15, 16,
15782 &afectrl_adc_ctrl2_rev7);
15784 mod_phy_reg(pi, 0xa6, (0x1 << 2), 0);
15785 mod_phy_reg(pi, 0x8f, (0x1 << 2), 0);
15786 mod_phy_reg(pi, 0xa7, (0x1 << 2), 0);
15787 mod_phy_reg(pi, 0xa5, (0x1 << 2), 0);
15790 write_phy_reg(pi, 0x6a, 0x2);
15792 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 256, 32,
15793 &min_nvar_offset_6mbps);
15795 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x138, 16,
15796 &rfseq_pktgn_lpf_hpc_rev7);
15798 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1, 0x141, 16,
15799 &rfseq_pktgn_lpf_h_hpc_rev7);
15801 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 3, 0x133, 16,
15802 &rfseq_htpktgn_lpf_hpc_rev7);
15804 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x146, 16,
15805 &rfseq_cckpktgn_lpf_hpc_rev7);
15807 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1, 0x123, 16,
15808 &rfseq_tx2rx_lpf_h_hpc_rev7);
15810 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1, 0x12A, 16,
15811 &rfseq_rx2tx_lpf_h_hpc_rev7);
15813 if (CHSPEC_IS40(pi->radio_chanspec) == 0) {
15814 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
15815 32, &min_nvar_val);
15816 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
15817 127, 32, &min_nvar_val);
15818 } else {
15819 min_nvar_val = noise_var_tbl_rev7[3];
15820 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
15821 32, &min_nvar_val);
15823 min_nvar_val = noise_var_tbl_rev7[127];
15824 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
15825 127, 32, &min_nvar_val);
15828 wlc_phy_workarounds_nphy_gainctrl(pi);
15830 pdetrange =
15831 (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.
15832 pdetrange : pi->srom_fem2g.pdetrange;
15834 if (pdetrange == 0) {
15835 chan_freq_range =
15836 wlc_phy_get_chan_freq_range_nphy(pi, 0);
15837 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
15838 aux_adc_vmid_rev7_core0[3] = 0x70;
15839 aux_adc_vmid_rev7_core1[3] = 0x70;
15840 aux_adc_gain_rev7[3] = 2;
15841 } else {
15842 aux_adc_vmid_rev7_core0[3] = 0x80;
15843 aux_adc_vmid_rev7_core1[3] = 0x80;
15844 aux_adc_gain_rev7[3] = 3;
15846 } else if (pdetrange == 1) {
15847 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
15848 aux_adc_vmid_rev7_core0[3] = 0x7c;
15849 aux_adc_vmid_rev7_core1[3] = 0x7c;
15850 aux_adc_gain_rev7[3] = 2;
15851 } else {
15852 aux_adc_vmid_rev7_core0[3] = 0x8c;
15853 aux_adc_vmid_rev7_core1[3] = 0x8c;
15854 aux_adc_gain_rev7[3] = 1;
15856 } else if (pdetrange == 2) {
15857 if (pi->pubpi.radioid == BCM2057_ID) {
15858 if ((pi->pubpi.radiorev == 5)
15859 || (pi->pubpi.radiorev == 7)
15860 || (pi->pubpi.radiorev == 8)) {
15861 if (chan_freq_range ==
15862 WL_CHAN_FREQ_RANGE_2G) {
15863 aux_adc_vmid_rev7_core0[3] =
15864 0x8c;
15865 aux_adc_vmid_rev7_core1[3] =
15866 0x8c;
15867 aux_adc_gain_rev7[3] = 0;
15868 } else {
15869 aux_adc_vmid_rev7_core0[3] =
15870 0x96;
15871 aux_adc_vmid_rev7_core1[3] =
15872 0x96;
15873 aux_adc_gain_rev7[3] = 0;
15878 } else if (pdetrange == 3) {
15879 if (chan_freq_range == WL_CHAN_FREQ_RANGE_2G) {
15880 aux_adc_vmid_rev7_core0[3] = 0x89;
15881 aux_adc_vmid_rev7_core1[3] = 0x89;
15882 aux_adc_gain_rev7[3] = 0;
15885 } else if (pdetrange == 5) {
15887 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
15888 aux_adc_vmid_rev7_core0[3] = 0x80;
15889 aux_adc_vmid_rev7_core1[3] = 0x80;
15890 aux_adc_gain_rev7[3] = 3;
15891 } else {
15892 aux_adc_vmid_rev7_core0[3] = 0x70;
15893 aux_adc_vmid_rev7_core1[3] = 0x70;
15894 aux_adc_gain_rev7[3] = 2;
15898 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x08, 16,
15899 &aux_adc_vmid_rev7_core0);
15900 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x18, 16,
15901 &aux_adc_vmid_rev7_core1);
15902 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x0c, 16,
15903 &aux_adc_gain_rev7);
15904 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x1c, 16,
15905 &aux_adc_gain_rev7);
15907 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
15909 write_phy_reg(pi, 0x23f, 0x1f8);
15910 write_phy_reg(pi, 0x240, 0x1f8);
15912 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
15913 1, 0, 32, &leg_data_weights);
15914 leg_data_weights = leg_data_weights & 0xffffff;
15915 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
15916 1, 0, 32, &leg_data_weights);
15918 alpha0 = 293;
15919 alpha1 = 435;
15920 alpha2 = 261;
15921 beta0 = 366;
15922 beta1 = 205;
15923 beta2 = 32;
15924 write_phy_reg(pi, 0x145, alpha0);
15925 write_phy_reg(pi, 0x146, alpha1);
15926 write_phy_reg(pi, 0x147, alpha2);
15927 write_phy_reg(pi, 0x148, beta0);
15928 write_phy_reg(pi, 0x149, beta1);
15929 write_phy_reg(pi, 0x14a, beta2);
15931 write_phy_reg(pi, 0x38, 0xC);
15932 write_phy_reg(pi, 0x2ae, 0xC);
15934 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_TX2RX,
15935 rfseq_tx2rx_events_rev3,
15936 rfseq_tx2rx_dlys_rev3,
15937 sizeof(rfseq_tx2rx_events_rev3) /
15938 sizeof(rfseq_tx2rx_events_rev3[0]));
15940 if (PHY_IPA(pi)) {
15941 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX,
15942 rfseq_rx2tx_events_rev3_ipa,
15943 rfseq_rx2tx_dlys_rev3_ipa,
15944 sizeof
15945 (rfseq_rx2tx_events_rev3_ipa) /
15946 sizeof
15947 (rfseq_rx2tx_events_rev3_ipa
15948 [0]));
15951 if ((pi->sh->hw_phyrxchain != 0x3) &&
15952 (pi->sh->hw_phyrxchain != pi->sh->hw_phytxchain)) {
15954 if (PHY_IPA(pi)) {
15955 rfseq_rx2tx_dlys_rev3[5] = 59;
15956 rfseq_rx2tx_dlys_rev3[6] = 1;
15957 rfseq_rx2tx_events_rev3[7] =
15958 NPHY_REV3_RFSEQ_CMD_END;
15961 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX,
15962 rfseq_rx2tx_events_rev3,
15963 rfseq_rx2tx_dlys_rev3,
15964 sizeof(rfseq_rx2tx_events_rev3) /
15965 sizeof(rfseq_rx2tx_events_rev3
15966 [0]));
15969 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15970 write_phy_reg(pi, 0x6a, 0x2);
15971 } else {
15972 write_phy_reg(pi, 0x6a, 0x9c40);
15975 mod_phy_reg(pi, 0x294, (0xf << 8), (7 << 8));
15977 if (CHSPEC_IS40(pi->radio_chanspec) == 0) {
15978 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
15979 32, &min_nvar_val);
15980 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
15981 127, 32, &min_nvar_val);
15982 } else {
15983 min_nvar_val = noise_var_tbl_rev3[3];
15984 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
15985 32, &min_nvar_val);
15987 min_nvar_val = noise_var_tbl_rev3[127];
15988 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
15989 127, 32, &min_nvar_val);
15992 wlc_phy_workarounds_nphy_gainctrl(pi);
15994 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x00, 16,
15995 &dac_control);
15996 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x10, 16,
15997 &dac_control);
15999 pdetrange =
16000 (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.
16001 pdetrange : pi->srom_fem2g.pdetrange;
16003 if (pdetrange == 0) {
16004 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
16005 aux_adc_vmid = aux_adc_vmid_rev4;
16006 aux_adc_gain = aux_adc_gain_rev4;
16007 } else {
16008 aux_adc_vmid = aux_adc_vmid_rev3;
16009 aux_adc_gain = aux_adc_gain_rev3;
16011 chan_freq_range =
16012 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16013 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
16014 switch (chan_freq_range) {
16015 case WL_CHAN_FREQ_RANGE_5GL:
16016 aux_adc_vmid[3] = 0x89;
16017 aux_adc_gain[3] = 0;
16018 break;
16019 case WL_CHAN_FREQ_RANGE_5GM:
16020 aux_adc_vmid[3] = 0x89;
16021 aux_adc_gain[3] = 0;
16022 break;
16023 case WL_CHAN_FREQ_RANGE_5GH:
16024 aux_adc_vmid[3] = 0x89;
16025 aux_adc_gain[3] = 0;
16026 break;
16027 default:
16028 break;
16031 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16032 0x08, 16, aux_adc_vmid);
16033 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16034 0x18, 16, aux_adc_vmid);
16035 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16036 0x0c, 16, aux_adc_gain);
16037 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16038 0x1c, 16, aux_adc_gain);
16039 } else if (pdetrange == 1) {
16040 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16041 0x08, 16, sk_adc_vmid);
16042 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16043 0x18, 16, sk_adc_vmid);
16044 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16045 0x0c, 16, sk_adc_gain);
16046 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16047 0x1c, 16, sk_adc_gain);
16048 } else if (pdetrange == 2) {
16050 uint16 bcm_adc_vmid[] = { 0xa2, 0xb4, 0xb4, 0x74 };
16051 uint16 bcm_adc_gain[] = { 0x02, 0x02, 0x02, 0x04 };
16053 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16054 chan_freq_range =
16055 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16056 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
16057 bcm_adc_vmid[3] = 0x8e;
16058 bcm_adc_gain[3] = 0x03;
16059 } else {
16060 bcm_adc_vmid[3] = 0x94;
16061 bcm_adc_gain[3] = 0x03;
16063 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
16064 bcm_adc_vmid[3] = 0x84;
16065 bcm_adc_gain[3] = 0x02;
16068 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16069 0x08, 16, bcm_adc_vmid);
16070 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16071 0x18, 16, bcm_adc_vmid);
16072 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16073 0x0c, 16, bcm_adc_gain);
16074 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16075 0x1c, 16, bcm_adc_gain);
16076 } else if (pdetrange == 3) {
16077 chan_freq_range =
16078 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16079 if ((NREV_GE(pi->pubpi.phy_rev, 4))
16080 && (chan_freq_range == WL_CHAN_FREQ_RANGE_2G)) {
16082 uint16 auxadc_vmid[] = {
16083 0xa2, 0xb4, 0xb4, 0x270 };
16084 uint16 auxadc_gain[] = {
16085 0x02, 0x02, 0x02, 0x00 };
16087 wlc_phy_table_write_nphy(pi,
16088 NPHY_TBL_ID_AFECTRL, 4,
16089 0x08, 16, auxadc_vmid);
16090 wlc_phy_table_write_nphy(pi,
16091 NPHY_TBL_ID_AFECTRL, 4,
16092 0x18, 16, auxadc_vmid);
16093 wlc_phy_table_write_nphy(pi,
16094 NPHY_TBL_ID_AFECTRL, 4,
16095 0x0c, 16, auxadc_gain);
16096 wlc_phy_table_write_nphy(pi,
16097 NPHY_TBL_ID_AFECTRL, 4,
16098 0x1c, 16, auxadc_gain);
16100 } else if ((pdetrange == 4) || (pdetrange == 5)) {
16101 uint16 bcm_adc_vmid[] = { 0xa2, 0xb4, 0xb4, 0x0 };
16102 uint16 bcm_adc_gain[] = { 0x02, 0x02, 0x02, 0x0 };
16103 uint16 Vmid[2], Av[2];
16105 chan_freq_range =
16106 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16107 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
16108 Vmid[0] = (pdetrange == 4) ? 0x8e : 0x89;
16109 Vmid[1] = (pdetrange == 4) ? 0x96 : 0x89;
16110 Av[0] = (pdetrange == 4) ? 2 : 0;
16111 Av[1] = (pdetrange == 4) ? 2 : 0;
16112 } else {
16113 Vmid[0] = (pdetrange == 4) ? 0x89 : 0x74;
16114 Vmid[1] = (pdetrange == 4) ? 0x8b : 0x70;
16115 Av[0] = (pdetrange == 4) ? 2 : 0;
16116 Av[1] = (pdetrange == 4) ? 2 : 0;
16119 bcm_adc_vmid[3] = Vmid[0];
16120 bcm_adc_gain[3] = Av[0];
16121 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16122 0x08, 16, bcm_adc_vmid);
16123 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16124 0x0c, 16, bcm_adc_gain);
16126 bcm_adc_vmid[3] = Vmid[1];
16127 bcm_adc_gain[3] = Av[1];
16128 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16129 0x18, 16, bcm_adc_vmid);
16130 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16131 0x1c, 16, bcm_adc_gain);
16132 } else {
16133 ASSERT(0);
16136 write_radio_reg(pi,
16137 (RADIO_2056_RX_MIXA_MAST_BIAS | RADIO_2056_RX0),
16138 0x0);
16139 write_radio_reg(pi,
16140 (RADIO_2056_RX_MIXA_MAST_BIAS | RADIO_2056_RX1),
16141 0x0);
16143 write_radio_reg(pi,
16144 (RADIO_2056_RX_MIXA_BIAS_MAIN | RADIO_2056_RX0),
16145 0x6);
16146 write_radio_reg(pi,
16147 (RADIO_2056_RX_MIXA_BIAS_MAIN | RADIO_2056_RX1),
16148 0x6);
16150 write_radio_reg(pi,
16151 (RADIO_2056_RX_MIXA_BIAS_AUX | RADIO_2056_RX0),
16152 0x7);
16153 write_radio_reg(pi,
16154 (RADIO_2056_RX_MIXA_BIAS_AUX | RADIO_2056_RX1),
16155 0x7);
16157 write_radio_reg(pi,
16158 (RADIO_2056_RX_MIXA_LOB_BIAS | RADIO_2056_RX0),
16159 0x88);
16160 write_radio_reg(pi,
16161 (RADIO_2056_RX_MIXA_LOB_BIAS | RADIO_2056_RX1),
16162 0x88);
16164 write_radio_reg(pi,
16165 (RADIO_2056_RX_MIXA_CMFB_IDAC | RADIO_2056_RX0),
16166 0x0);
16167 write_radio_reg(pi,
16168 (RADIO_2056_RX_MIXA_CMFB_IDAC | RADIO_2056_RX1),
16169 0x0);
16171 write_radio_reg(pi,
16172 (RADIO_2056_RX_MIXG_CMFB_IDAC | RADIO_2056_RX0),
16173 0x0);
16174 write_radio_reg(pi,
16175 (RADIO_2056_RX_MIXG_CMFB_IDAC | RADIO_2056_RX1),
16176 0x0);
16178 triso =
16179 (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.
16180 triso : pi->srom_fem2g.triso;
16181 if (triso == 7) {
16182 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_0);
16183 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_1);
16186 wlc_phy_war_txchain_upd_nphy(pi, pi->sh->hw_phytxchain);
16188 if (((pi->sh->boardflags2 & BFL2_APLL_WAR) &&
16189 (CHSPEC_IS5G(pi->radio_chanspec))) ||
16190 (((pi->sh->boardflags2 & BFL2_GPLL_WAR) ||
16191 (pi->sh->boardflags2 & BFL2_GPLL_WAR2)) &&
16192 (CHSPEC_IS2G(pi->radio_chanspec)))) {
16193 nss1_data_weights = 0x00088888;
16194 ht_data_weights = 0x00088888;
16195 stbc_data_weights = 0x00088888;
16196 } else {
16197 nss1_data_weights = 0x88888888;
16198 ht_data_weights = 0x88888888;
16199 stbc_data_weights = 0x88888888;
16201 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
16202 1, 1, 32, &nss1_data_weights);
16203 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
16204 1, 2, 32, &ht_data_weights);
16205 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
16206 1, 3, 32, &stbc_data_weights);
16208 if (NREV_IS(pi->pubpi.phy_rev, 4)) {
16209 if (CHSPEC_IS5G(pi->radio_chanspec)) {
16210 write_radio_reg(pi,
16211 RADIO_2056_TX_GMBB_IDAC |
16212 RADIO_2056_TX0, 0x70);
16213 write_radio_reg(pi,
16214 RADIO_2056_TX_GMBB_IDAC |
16215 RADIO_2056_TX1, 0x70);
16219 if (!pi->edcrs_threshold_lock) {
16220 write_phy_reg(pi, 0x224, 0x3eb);
16221 write_phy_reg(pi, 0x225, 0x3eb);
16222 write_phy_reg(pi, 0x226, 0x341);
16223 write_phy_reg(pi, 0x227, 0x341);
16224 write_phy_reg(pi, 0x228, 0x42b);
16225 write_phy_reg(pi, 0x229, 0x42b);
16226 write_phy_reg(pi, 0x22a, 0x381);
16227 write_phy_reg(pi, 0x22b, 0x381);
16228 write_phy_reg(pi, 0x22c, 0x42b);
16229 write_phy_reg(pi, 0x22d, 0x42b);
16230 write_phy_reg(pi, 0x22e, 0x381);
16231 write_phy_reg(pi, 0x22f, 0x381);
16234 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16236 if (pi->sh->boardflags2 & BFL2_SINGLEANT_CCK) {
16237 wlapi_bmac_mhf(pi->sh->physhim, MHF4,
16238 MHF4_BPHY_TXCORE0,
16239 MHF4_BPHY_TXCORE0, WLC_BAND_ALL);
16242 } else {
16244 if (pi->sh->boardflags2 & BFL2_SKWRKFEM_BRD ||
16245 (pi->sh->boardtype == 0x8b)) {
16246 uint i;
16247 u8 war_dlys[] = { 1, 6, 6, 2, 4, 20, 1 };
16248 for (i = 0; i < ARRAYSIZE(rfseq_rx2tx_dlys); i++)
16249 rfseq_rx2tx_dlys[i] = war_dlys[i];
16252 if (CHSPEC_IS5G(pi->radio_chanspec) && pi->phy_5g_pwrgain) {
16253 and_radio_reg(pi, RADIO_2055_CORE1_TX_RF_SPARE, 0xf7);
16254 and_radio_reg(pi, RADIO_2055_CORE2_TX_RF_SPARE, 0xf7);
16255 } else {
16256 or_radio_reg(pi, RADIO_2055_CORE1_TX_RF_SPARE, 0x8);
16257 or_radio_reg(pi, RADIO_2055_CORE2_TX_RF_SPARE, 0x8);
16260 regval = 0x000a;
16261 wlc_phy_table_write_nphy(pi, 8, 1, 0, 16, &regval);
16262 wlc_phy_table_write_nphy(pi, 8, 1, 0x10, 16, &regval);
16264 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
16265 regval = 0xcdaa;
16266 wlc_phy_table_write_nphy(pi, 8, 1, 0x02, 16, &regval);
16267 wlc_phy_table_write_nphy(pi, 8, 1, 0x12, 16, &regval);
16270 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
16271 regval = 0x0000;
16272 wlc_phy_table_write_nphy(pi, 8, 1, 0x08, 16, &regval);
16273 wlc_phy_table_write_nphy(pi, 8, 1, 0x18, 16, &regval);
16275 regval = 0x7aab;
16276 wlc_phy_table_write_nphy(pi, 8, 1, 0x07, 16, &regval);
16277 wlc_phy_table_write_nphy(pi, 8, 1, 0x17, 16, &regval);
16279 regval = 0x0800;
16280 wlc_phy_table_write_nphy(pi, 8, 1, 0x06, 16, &regval);
16281 wlc_phy_table_write_nphy(pi, 8, 1, 0x16, 16, &regval);
16284 write_phy_reg(pi, 0xf8, 0x02d8);
16285 write_phy_reg(pi, 0xf9, 0x0301);
16286 write_phy_reg(pi, 0xfa, 0x02d8);
16287 write_phy_reg(pi, 0xfb, 0x0301);
16289 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX, rfseq_rx2tx_events,
16290 rfseq_rx2tx_dlys,
16291 sizeof(rfseq_rx2tx_events) /
16292 sizeof(rfseq_rx2tx_events[0]));
16294 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_TX2RX, rfseq_tx2rx_events,
16295 rfseq_tx2rx_dlys,
16296 sizeof(rfseq_tx2rx_events) /
16297 sizeof(rfseq_tx2rx_events[0]));
16299 wlc_phy_workarounds_nphy_gainctrl(pi);
16301 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
16303 if (read_phy_reg(pi, 0xa0) & NPHY_MLenable)
16304 wlapi_bmac_mhf(pi->sh->physhim, MHF3,
16305 MHF3_NPHY_MLADV_WAR,
16306 MHF3_NPHY_MLADV_WAR,
16307 WLC_BAND_ALL);
16309 } else if (NREV_IS(pi->pubpi.phy_rev, 2)) {
16310 write_phy_reg(pi, 0x1e3, 0x0);
16311 write_phy_reg(pi, 0x1e4, 0x0);
16314 if (NREV_LT(pi->pubpi.phy_rev, 2))
16315 mod_phy_reg(pi, 0x90, (0x1 << 7), 0);
16317 alpha0 = 293;
16318 alpha1 = 435;
16319 alpha2 = 261;
16320 beta0 = 366;
16321 beta1 = 205;
16322 beta2 = 32;
16323 write_phy_reg(pi, 0x145, alpha0);
16324 write_phy_reg(pi, 0x146, alpha1);
16325 write_phy_reg(pi, 0x147, alpha2);
16326 write_phy_reg(pi, 0x148, beta0);
16327 write_phy_reg(pi, 0x149, beta1);
16328 write_phy_reg(pi, 0x14a, beta2);
16330 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
16331 mod_phy_reg(pi, 0x142, (0xf << 12), 0);
16333 write_phy_reg(pi, 0x192, 0xb5);
16334 write_phy_reg(pi, 0x193, 0xa4);
16335 write_phy_reg(pi, 0x194, 0x0);
16338 if (NREV_IS(pi->pubpi.phy_rev, 2)) {
16339 mod_phy_reg(pi, 0x221,
16340 NPHY_FORCESIG_DECODEGATEDCLKS,
16341 NPHY_FORCESIG_DECODEGATEDCLKS);
16345 if (pi->phyhang_avoid)
16346 wlc_phy_stay_in_carriersearch_nphy(pi, FALSE);
16349 static void wlc_phy_workarounds_nphy_gainctrl(phy_info_t *pi)
16351 uint16 w1th, hpf_code, currband;
16352 int ctr;
16353 u8 rfseq_updategainu_events[] = {
16354 NPHY_RFSEQ_CMD_RX_GAIN,
16355 NPHY_RFSEQ_CMD_CLR_HIQ_DIS,
16356 NPHY_RFSEQ_CMD_SET_HPF_BW
16358 u8 rfseq_updategainu_dlys[] = { 10, 30, 1 };
16359 s8 lna1G_gain_db[] = { 7, 11, 16, 23 };
16360 s8 lna1G_gain_db_rev4[] = { 8, 12, 17, 25 };
16361 s8 lna1G_gain_db_rev5[] = { 9, 13, 18, 26 };
16362 s8 lna1G_gain_db_rev6[] = { 8, 13, 18, 25 };
16363 s8 lna1G_gain_db_rev6_224B0[] = { 10, 14, 19, 27 };
16364 s8 lna1A_gain_db[] = { 7, 11, 17, 23 };
16365 s8 lna1A_gain_db_rev4[] = { 8, 12, 18, 23 };
16366 s8 lna1A_gain_db_rev5[] = { 6, 10, 16, 21 };
16367 s8 lna1A_gain_db_rev6[] = { 6, 10, 16, 21 };
16368 s8 *lna1_gain_db = NULL;
16369 s8 lna2G_gain_db[] = { -5, 6, 10, 14 };
16370 s8 lna2G_gain_db_rev5[] = { -3, 7, 11, 16 };
16371 s8 lna2G_gain_db_rev6[] = { -5, 6, 10, 14 };
16372 s8 lna2G_gain_db_rev6_224B0[] = { -5, 6, 10, 15 };
16373 s8 lna2A_gain_db[] = { -6, 2, 6, 10 };
16374 s8 lna2A_gain_db_rev4[] = { -5, 2, 6, 10 };
16375 s8 lna2A_gain_db_rev5[] = { -7, 0, 4, 8 };
16376 s8 lna2A_gain_db_rev6[] = { -7, 0, 4, 8 };
16377 s8 *lna2_gain_db = NULL;
16378 s8 tiaG_gain_db[] = {
16379 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A };
16380 s8 tiaA_gain_db[] = {
16381 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13 };
16382 s8 tiaA_gain_db_rev4[] = {
16383 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16384 s8 tiaA_gain_db_rev5[] = {
16385 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16386 s8 tiaA_gain_db_rev6[] = {
16387 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16388 s8 *tia_gain_db;
16389 s8 tiaG_gainbits[] = {
16390 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 };
16391 s8 tiaA_gainbits[] = {
16392 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 };
16393 s8 tiaA_gainbits_rev4[] = {
16394 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16395 s8 tiaA_gainbits_rev5[] = {
16396 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16397 s8 tiaA_gainbits_rev6[] = {
16398 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16399 s8 *tia_gainbits;
16400 s8 lpf_gain_db[] = { 0x00, 0x06, 0x0c, 0x12, 0x12, 0x12 };
16401 s8 lpf_gainbits[] = { 0x00, 0x01, 0x02, 0x03, 0x03, 0x03 };
16402 uint16 rfseqG_init_gain[] = { 0x613f, 0x613f, 0x613f, 0x613f };
16403 uint16 rfseqG_init_gain_rev4[] = { 0x513f, 0x513f, 0x513f, 0x513f };
16404 uint16 rfseqG_init_gain_rev5[] = { 0x413f, 0x413f, 0x413f, 0x413f };
16405 uint16 rfseqG_init_gain_rev5_elna[] = {
16406 0x013f, 0x013f, 0x013f, 0x013f };
16407 uint16 rfseqG_init_gain_rev6[] = { 0x513f, 0x513f };
16408 uint16 rfseqG_init_gain_rev6_224B0[] = { 0x413f, 0x413f };
16409 uint16 rfseqG_init_gain_rev6_elna[] = { 0x113f, 0x113f };
16410 uint16 rfseqA_init_gain[] = { 0x516f, 0x516f, 0x516f, 0x516f };
16411 uint16 rfseqA_init_gain_rev4[] = { 0x614f, 0x614f, 0x614f, 0x614f };
16412 uint16 rfseqA_init_gain_rev4_elna[] = {
16413 0x314f, 0x314f, 0x314f, 0x314f };
16414 uint16 rfseqA_init_gain_rev5[] = { 0x714f, 0x714f, 0x714f, 0x714f };
16415 uint16 rfseqA_init_gain_rev6[] = { 0x714f, 0x714f };
16416 uint16 *rfseq_init_gain;
16417 uint16 initG_gaincode = 0x627e;
16418 uint16 initG_gaincode_rev4 = 0x527e;
16419 uint16 initG_gaincode_rev5 = 0x427e;
16420 uint16 initG_gaincode_rev5_elna = 0x027e;
16421 uint16 initG_gaincode_rev6 = 0x527e;
16422 uint16 initG_gaincode_rev6_224B0 = 0x427e;
16423 uint16 initG_gaincode_rev6_elna = 0x127e;
16424 uint16 initA_gaincode = 0x52de;
16425 uint16 initA_gaincode_rev4 = 0x629e;
16426 uint16 initA_gaincode_rev4_elna = 0x329e;
16427 uint16 initA_gaincode_rev5 = 0x729e;
16428 uint16 initA_gaincode_rev6 = 0x729e;
16429 uint16 init_gaincode;
16430 uint16 clip1hiG_gaincode = 0x107e;
16431 uint16 clip1hiG_gaincode_rev4 = 0x007e;
16432 uint16 clip1hiG_gaincode_rev5 = 0x1076;
16433 uint16 clip1hiG_gaincode_rev6 = 0x007e;
16434 uint16 clip1hiA_gaincode = 0x00de;
16435 uint16 clip1hiA_gaincode_rev4 = 0x029e;
16436 uint16 clip1hiA_gaincode_rev5 = 0x029e;
16437 uint16 clip1hiA_gaincode_rev6 = 0x029e;
16438 uint16 clip1hi_gaincode;
16439 uint16 clip1mdG_gaincode = 0x0066;
16440 uint16 clip1mdA_gaincode = 0x00ca;
16441 uint16 clip1mdA_gaincode_rev4 = 0x1084;
16442 uint16 clip1mdA_gaincode_rev5 = 0x2084;
16443 uint16 clip1mdA_gaincode_rev6 = 0x2084;
16444 uint16 clip1md_gaincode = 0;
16445 uint16 clip1loG_gaincode = 0x0074;
16446 uint16 clip1loG_gaincode_rev5[] = {
16447 0x0062, 0x0064, 0x006a, 0x106a, 0x106c, 0x1074, 0x107c, 0x207c
16449 uint16 clip1loG_gaincode_rev6[] = {
16450 0x106a, 0x106c, 0x1074, 0x107c, 0x007e, 0x107e, 0x207e, 0x307e
16452 uint16 clip1loG_gaincode_rev6_224B0 = 0x1074;
16453 uint16 clip1loA_gaincode = 0x00cc;
16454 uint16 clip1loA_gaincode_rev4 = 0x0086;
16455 uint16 clip1loA_gaincode_rev5 = 0x2086;
16456 uint16 clip1loA_gaincode_rev6 = 0x2086;
16457 uint16 clip1lo_gaincode;
16458 u8 crsminG_th = 0x18;
16459 u8 crsminG_th_rev5 = 0x18;
16460 u8 crsminG_th_rev6 = 0x18;
16461 u8 crsminA_th = 0x1e;
16462 u8 crsminA_th_rev4 = 0x24;
16463 u8 crsminA_th_rev5 = 0x24;
16464 u8 crsminA_th_rev6 = 0x24;
16465 u8 crsmin_th;
16466 u8 crsminlG_th = 0x18;
16467 u8 crsminlG_th_rev5 = 0x18;
16468 u8 crsminlG_th_rev6 = 0x18;
16469 u8 crsminlA_th = 0x1e;
16470 u8 crsminlA_th_rev4 = 0x24;
16471 u8 crsminlA_th_rev5 = 0x24;
16472 u8 crsminlA_th_rev6 = 0x24;
16473 u8 crsminl_th = 0;
16474 u8 crsminuG_th = 0x18;
16475 u8 crsminuG_th_rev5 = 0x18;
16476 u8 crsminuG_th_rev6 = 0x18;
16477 u8 crsminuA_th = 0x1e;
16478 u8 crsminuA_th_rev4 = 0x24;
16479 u8 crsminuA_th_rev5 = 0x24;
16480 u8 crsminuA_th_rev6 = 0x24;
16481 u8 crsminuA_th_rev6_224B0 = 0x2d;
16482 u8 crsminu_th;
16483 uint16 nbclipG_th = 0x20d;
16484 uint16 nbclipG_th_rev4 = 0x1a1;
16485 uint16 nbclipG_th_rev5 = 0x1d0;
16486 uint16 nbclipG_th_rev6 = 0x1d0;
16487 uint16 nbclipA_th = 0x1a1;
16488 uint16 nbclipA_th_rev4 = 0x107;
16489 uint16 nbclipA_th_rev5 = 0x0a9;
16490 uint16 nbclipA_th_rev6 = 0x0f0;
16491 uint16 nbclip_th = 0;
16492 u8 w1clipG_th = 5;
16493 u8 w1clipG_th_rev5 = 9;
16494 u8 w1clipG_th_rev6 = 5;
16495 u8 w1clipA_th = 25, w1clip_th;
16496 u8 rssi_gain_default = 0x50;
16497 u8 rssiG_gain_rev6_224B0 = 0x50;
16498 u8 rssiA_gain_rev5 = 0x90;
16499 u8 rssiA_gain_rev6 = 0x90;
16500 u8 rssi_gain;
16501 uint16 regval[21];
16502 u8 triso;
16504 triso = (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.triso :
16505 pi->srom_fem2g.triso;
16507 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
16508 if (pi->pubpi.radiorev == 5) {
16510 wlc_phy_workarounds_nphy_gainctrl_2057_rev5(pi);
16511 } else if (pi->pubpi.radiorev == 7) {
16512 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi);
16514 mod_phy_reg(pi, 0x283, (0xff << 0), (0x44 << 0));
16515 mod_phy_reg(pi, 0x280, (0xff << 0), (0x44 << 0));
16517 } else if ((pi->pubpi.radiorev == 3)
16518 || (pi->pubpi.radiorev == 8)) {
16519 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi);
16521 if (pi->pubpi.radiorev == 8) {
16522 mod_phy_reg(pi, 0x283,
16523 (0xff << 0), (0x44 << 0));
16524 mod_phy_reg(pi, 0x280,
16525 (0xff << 0), (0x44 << 0));
16527 } else {
16528 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi);
16530 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
16532 mod_phy_reg(pi, 0xa0, (0x1 << 6), (1 << 6));
16534 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
16535 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
16537 currband =
16538 read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand;
16539 if (currband == 0) {
16540 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16541 if (pi->pubpi.radiorev == 11) {
16542 lna1_gain_db = lna1G_gain_db_rev6_224B0;
16543 lna2_gain_db = lna2G_gain_db_rev6_224B0;
16544 rfseq_init_gain =
16545 rfseqG_init_gain_rev6_224B0;
16546 init_gaincode =
16547 initG_gaincode_rev6_224B0;
16548 clip1hi_gaincode =
16549 clip1hiG_gaincode_rev6;
16550 clip1lo_gaincode =
16551 clip1loG_gaincode_rev6_224B0;
16552 nbclip_th = nbclipG_th_rev6;
16553 w1clip_th = w1clipG_th_rev6;
16554 crsmin_th = crsminG_th_rev6;
16555 crsminl_th = crsminlG_th_rev6;
16556 crsminu_th = crsminuG_th_rev6;
16557 rssi_gain = rssiG_gain_rev6_224B0;
16558 } else {
16559 lna1_gain_db = lna1G_gain_db_rev6;
16560 lna2_gain_db = lna2G_gain_db_rev6;
16561 if (pi->sh->boardflags & BFL_EXTLNA) {
16563 rfseq_init_gain =
16564 rfseqG_init_gain_rev6_elna;
16565 init_gaincode =
16566 initG_gaincode_rev6_elna;
16567 } else {
16568 rfseq_init_gain =
16569 rfseqG_init_gain_rev6;
16570 init_gaincode =
16571 initG_gaincode_rev6;
16573 clip1hi_gaincode =
16574 clip1hiG_gaincode_rev6;
16575 switch (triso) {
16576 case 0:
16577 clip1lo_gaincode =
16578 clip1loG_gaincode_rev6[0];
16579 break;
16580 case 1:
16581 clip1lo_gaincode =
16582 clip1loG_gaincode_rev6[1];
16583 break;
16584 case 2:
16585 clip1lo_gaincode =
16586 clip1loG_gaincode_rev6[2];
16587 break;
16588 case 3:
16589 default:
16591 clip1lo_gaincode =
16592 clip1loG_gaincode_rev6[3];
16593 break;
16594 case 4:
16595 clip1lo_gaincode =
16596 clip1loG_gaincode_rev6[4];
16597 break;
16598 case 5:
16599 clip1lo_gaincode =
16600 clip1loG_gaincode_rev6[5];
16601 break;
16602 case 6:
16603 clip1lo_gaincode =
16604 clip1loG_gaincode_rev6[6];
16605 break;
16606 case 7:
16607 clip1lo_gaincode =
16608 clip1loG_gaincode_rev6[7];
16609 break;
16611 nbclip_th = nbclipG_th_rev6;
16612 w1clip_th = w1clipG_th_rev6;
16613 crsmin_th = crsminG_th_rev6;
16614 crsminl_th = crsminlG_th_rev6;
16615 crsminu_th = crsminuG_th_rev6;
16616 rssi_gain = rssi_gain_default;
16618 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
16619 lna1_gain_db = lna1G_gain_db_rev5;
16620 lna2_gain_db = lna2G_gain_db_rev5;
16621 if (pi->sh->boardflags & BFL_EXTLNA) {
16623 rfseq_init_gain =
16624 rfseqG_init_gain_rev5_elna;
16625 init_gaincode =
16626 initG_gaincode_rev5_elna;
16627 } else {
16628 rfseq_init_gain = rfseqG_init_gain_rev5;
16629 init_gaincode = initG_gaincode_rev5;
16631 clip1hi_gaincode = clip1hiG_gaincode_rev5;
16632 switch (triso) {
16633 case 0:
16634 clip1lo_gaincode =
16635 clip1loG_gaincode_rev5[0];
16636 break;
16637 case 1:
16638 clip1lo_gaincode =
16639 clip1loG_gaincode_rev5[1];
16640 break;
16641 case 2:
16642 clip1lo_gaincode =
16643 clip1loG_gaincode_rev5[2];
16644 break;
16645 case 3:
16647 clip1lo_gaincode =
16648 clip1loG_gaincode_rev5[3];
16649 break;
16650 case 4:
16651 clip1lo_gaincode =
16652 clip1loG_gaincode_rev5[4];
16653 break;
16654 case 5:
16655 clip1lo_gaincode =
16656 clip1loG_gaincode_rev5[5];
16657 break;
16658 case 6:
16659 clip1lo_gaincode =
16660 clip1loG_gaincode_rev5[6];
16661 break;
16662 case 7:
16663 clip1lo_gaincode =
16664 clip1loG_gaincode_rev5[7];
16665 break;
16666 default:
16667 clip1lo_gaincode =
16668 clip1loG_gaincode_rev5[3];
16669 break;
16671 nbclip_th = nbclipG_th_rev5;
16672 w1clip_th = w1clipG_th_rev5;
16673 crsmin_th = crsminG_th_rev5;
16674 crsminl_th = crsminlG_th_rev5;
16675 crsminu_th = crsminuG_th_rev5;
16676 rssi_gain = rssi_gain_default;
16677 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
16678 lna1_gain_db = lna1G_gain_db_rev4;
16679 lna2_gain_db = lna2G_gain_db;
16680 rfseq_init_gain = rfseqG_init_gain_rev4;
16681 init_gaincode = initG_gaincode_rev4;
16682 clip1hi_gaincode = clip1hiG_gaincode_rev4;
16683 clip1lo_gaincode = clip1loG_gaincode;
16684 nbclip_th = nbclipG_th_rev4;
16685 w1clip_th = w1clipG_th;
16686 crsmin_th = crsminG_th;
16687 crsminl_th = crsminlG_th;
16688 crsminu_th = crsminuG_th;
16689 rssi_gain = rssi_gain_default;
16690 } else {
16691 lna1_gain_db = lna1G_gain_db;
16692 lna2_gain_db = lna2G_gain_db;
16693 rfseq_init_gain = rfseqG_init_gain;
16694 init_gaincode = initG_gaincode;
16695 clip1hi_gaincode = clip1hiG_gaincode;
16696 clip1lo_gaincode = clip1loG_gaincode;
16697 nbclip_th = nbclipG_th;
16698 w1clip_th = w1clipG_th;
16699 crsmin_th = crsminG_th;
16700 crsminl_th = crsminlG_th;
16701 crsminu_th = crsminuG_th;
16702 rssi_gain = rssi_gain_default;
16704 tia_gain_db = tiaG_gain_db;
16705 tia_gainbits = tiaG_gainbits;
16706 clip1md_gaincode = clip1mdG_gaincode;
16707 } else {
16708 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16709 lna1_gain_db = lna1A_gain_db_rev6;
16710 lna2_gain_db = lna2A_gain_db_rev6;
16711 tia_gain_db = tiaA_gain_db_rev6;
16712 tia_gainbits = tiaA_gainbits_rev6;
16713 rfseq_init_gain = rfseqA_init_gain_rev6;
16714 init_gaincode = initA_gaincode_rev6;
16715 clip1hi_gaincode = clip1hiA_gaincode_rev6;
16716 clip1md_gaincode = clip1mdA_gaincode_rev6;
16717 clip1lo_gaincode = clip1loA_gaincode_rev6;
16718 crsmin_th = crsminA_th_rev6;
16719 crsminl_th = crsminlA_th_rev6;
16720 if ((pi->pubpi.radiorev == 11) &&
16721 (CHSPEC_IS40(pi->radio_chanspec) == 0)) {
16722 crsminu_th = crsminuA_th_rev6_224B0;
16723 } else {
16724 crsminu_th = crsminuA_th_rev6;
16726 nbclip_th = nbclipA_th_rev6;
16727 rssi_gain = rssiA_gain_rev6;
16728 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
16729 lna1_gain_db = lna1A_gain_db_rev5;
16730 lna2_gain_db = lna2A_gain_db_rev5;
16731 tia_gain_db = tiaA_gain_db_rev5;
16732 tia_gainbits = tiaA_gainbits_rev5;
16733 rfseq_init_gain = rfseqA_init_gain_rev5;
16734 init_gaincode = initA_gaincode_rev5;
16735 clip1hi_gaincode = clip1hiA_gaincode_rev5;
16736 clip1md_gaincode = clip1mdA_gaincode_rev5;
16737 clip1lo_gaincode = clip1loA_gaincode_rev5;
16738 crsmin_th = crsminA_th_rev5;
16739 crsminl_th = crsminlA_th_rev5;
16740 crsminu_th = crsminuA_th_rev5;
16741 nbclip_th = nbclipA_th_rev5;
16742 rssi_gain = rssiA_gain_rev5;
16743 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
16744 lna1_gain_db = lna1A_gain_db_rev4;
16745 lna2_gain_db = lna2A_gain_db_rev4;
16746 tia_gain_db = tiaA_gain_db_rev4;
16747 tia_gainbits = tiaA_gainbits_rev4;
16748 if (pi->sh->boardflags & BFL_EXTLNA_5GHz) {
16750 rfseq_init_gain =
16751 rfseqA_init_gain_rev4_elna;
16752 init_gaincode =
16753 initA_gaincode_rev4_elna;
16754 } else {
16755 rfseq_init_gain = rfseqA_init_gain_rev4;
16756 init_gaincode = initA_gaincode_rev4;
16758 clip1hi_gaincode = clip1hiA_gaincode_rev4;
16759 clip1md_gaincode = clip1mdA_gaincode_rev4;
16760 clip1lo_gaincode = clip1loA_gaincode_rev4;
16761 crsmin_th = crsminA_th_rev4;
16762 crsminl_th = crsminlA_th_rev4;
16763 crsminu_th = crsminuA_th_rev4;
16764 nbclip_th = nbclipA_th_rev4;
16765 rssi_gain = rssi_gain_default;
16766 } else {
16767 lna1_gain_db = lna1A_gain_db;
16768 lna2_gain_db = lna2A_gain_db;
16769 tia_gain_db = tiaA_gain_db;
16770 tia_gainbits = tiaA_gainbits;
16771 rfseq_init_gain = rfseqA_init_gain;
16772 init_gaincode = initA_gaincode;
16773 clip1hi_gaincode = clip1hiA_gaincode;
16774 clip1md_gaincode = clip1mdA_gaincode;
16775 clip1lo_gaincode = clip1loA_gaincode;
16776 crsmin_th = crsminA_th;
16777 crsminl_th = crsminlA_th;
16778 crsminu_th = crsminuA_th;
16779 nbclip_th = nbclipA_th;
16780 rssi_gain = rssi_gain_default;
16782 w1clip_th = w1clipA_th;
16785 write_radio_reg(pi,
16786 (RADIO_2056_RX_BIASPOLE_LNAG1_IDAC |
16787 RADIO_2056_RX0), 0x17);
16788 write_radio_reg(pi,
16789 (RADIO_2056_RX_BIASPOLE_LNAG1_IDAC |
16790 RADIO_2056_RX1), 0x17);
16792 write_radio_reg(pi, (RADIO_2056_RX_LNAG2_IDAC | RADIO_2056_RX0),
16793 0xf0);
16794 write_radio_reg(pi, (RADIO_2056_RX_LNAG2_IDAC | RADIO_2056_RX1),
16795 0xf0);
16797 write_radio_reg(pi, (RADIO_2056_RX_RSSI_POLE | RADIO_2056_RX0),
16798 0x0);
16799 write_radio_reg(pi, (RADIO_2056_RX_RSSI_POLE | RADIO_2056_RX1),
16800 0x0);
16802 write_radio_reg(pi, (RADIO_2056_RX_RSSI_GAIN | RADIO_2056_RX0),
16803 rssi_gain);
16804 write_radio_reg(pi, (RADIO_2056_RX_RSSI_GAIN | RADIO_2056_RX1),
16805 rssi_gain);
16807 write_radio_reg(pi,
16808 (RADIO_2056_RX_BIASPOLE_LNAA1_IDAC |
16809 RADIO_2056_RX0), 0x17);
16810 write_radio_reg(pi,
16811 (RADIO_2056_RX_BIASPOLE_LNAA1_IDAC |
16812 RADIO_2056_RX1), 0x17);
16814 write_radio_reg(pi, (RADIO_2056_RX_LNAA2_IDAC | RADIO_2056_RX0),
16815 0xFF);
16816 write_radio_reg(pi, (RADIO_2056_RX_LNAA2_IDAC | RADIO_2056_RX1),
16817 0xFF);
16819 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 8,
16820 8, lna1_gain_db);
16821 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 8,
16822 8, lna1_gain_db);
16824 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x10,
16825 8, lna2_gain_db);
16826 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x10,
16827 8, lna2_gain_db);
16829 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 10, 0x20,
16830 8, tia_gain_db);
16831 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 10, 0x20,
16832 8, tia_gain_db);
16834 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 10, 0x20,
16835 8, tia_gainbits);
16836 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 10, 0x20,
16837 8, tia_gainbits);
16839 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 6, 0x40,
16840 8, &lpf_gain_db);
16841 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 6, 0x40,
16842 8, &lpf_gain_db);
16843 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 6, 0x40,
16844 8, &lpf_gainbits);
16845 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 6, 0x40,
16846 8, &lpf_gainbits);
16848 write_phy_reg(pi, 0x20, init_gaincode);
16849 write_phy_reg(pi, 0x2a7, init_gaincode);
16851 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
16852 pi->pubpi.phy_corenum, 0x106, 16,
16853 rfseq_init_gain);
16855 write_phy_reg(pi, 0x22, clip1hi_gaincode);
16856 write_phy_reg(pi, 0x2a9, clip1hi_gaincode);
16858 write_phy_reg(pi, 0x24, clip1md_gaincode);
16859 write_phy_reg(pi, 0x2ab, clip1md_gaincode);
16861 write_phy_reg(pi, 0x37, clip1lo_gaincode);
16862 write_phy_reg(pi, 0x2ad, clip1lo_gaincode);
16864 mod_phy_reg(pi, 0x27d, (0xff << 0), (crsmin_th << 0));
16865 mod_phy_reg(pi, 0x280, (0xff << 0), (crsminl_th << 0));
16866 mod_phy_reg(pi, 0x283, (0xff << 0), (crsminu_th << 0));
16868 write_phy_reg(pi, 0x2b, nbclip_th);
16869 write_phy_reg(pi, 0x41, nbclip_th);
16871 mod_phy_reg(pi, 0x27, (0x3f << 0), (w1clip_th << 0));
16872 mod_phy_reg(pi, 0x3d, (0x3f << 0), (w1clip_th << 0));
16874 write_phy_reg(pi, 0x150, 0x809c);
16876 } else {
16878 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
16879 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
16881 write_phy_reg(pi, 0x2b, 0x84);
16882 write_phy_reg(pi, 0x41, 0x84);
16884 if (CHSPEC_IS20(pi->radio_chanspec)) {
16885 write_phy_reg(pi, 0x6b, 0x2b);
16886 write_phy_reg(pi, 0x6c, 0x2b);
16887 write_phy_reg(pi, 0x6d, 0x9);
16888 write_phy_reg(pi, 0x6e, 0x9);
16891 w1th = NPHY_RSSICAL_W1_TARGET - 4;
16892 mod_phy_reg(pi, 0x27, (0x3f << 0), (w1th << 0));
16893 mod_phy_reg(pi, 0x3d, (0x3f << 0), (w1th << 0));
16895 if (CHSPEC_IS20(pi->radio_chanspec)) {
16896 mod_phy_reg(pi, 0x1c, (0x1f << 0), (0x1 << 0));
16897 mod_phy_reg(pi, 0x32, (0x1f << 0), (0x1 << 0));
16899 mod_phy_reg(pi, 0x1d, (0x1f << 0), (0x1 << 0));
16900 mod_phy_reg(pi, 0x33, (0x1f << 0), (0x1 << 0));
16903 write_phy_reg(pi, 0x150, 0x809c);
16905 if (pi->nphy_gain_boost)
16906 if ((CHSPEC_IS2G(pi->radio_chanspec)) &&
16907 (CHSPEC_IS40(pi->radio_chanspec)))
16908 hpf_code = 4;
16909 else
16910 hpf_code = 5;
16911 else if (CHSPEC_IS40(pi->radio_chanspec))
16912 hpf_code = 6;
16913 else
16914 hpf_code = 7;
16916 mod_phy_reg(pi, 0x20, (0x1f << 7), (hpf_code << 7));
16917 mod_phy_reg(pi, 0x36, (0x1f << 7), (hpf_code << 7));
16919 for (ctr = 0; ctr < 4; ctr++) {
16920 regval[ctr] = (hpf_code << 8) | 0x7c;
16922 wlc_phy_table_write_nphy(pi, 7, 4, 0x106, 16, regval);
16924 wlc_phy_adjust_lnagaintbl_nphy(pi);
16926 if (pi->nphy_elna_gain_config) {
16927 regval[0] = 0;
16928 regval[1] = 1;
16929 regval[2] = 1;
16930 regval[3] = 1;
16931 wlc_phy_table_write_nphy(pi, 2, 4, 8, 16, regval);
16932 wlc_phy_table_write_nphy(pi, 3, 4, 8, 16, regval);
16934 for (ctr = 0; ctr < 4; ctr++) {
16935 regval[ctr] = (hpf_code << 8) | 0x74;
16937 wlc_phy_table_write_nphy(pi, 7, 4, 0x106, 16, regval);
16940 if (NREV_IS(pi->pubpi.phy_rev, 2)) {
16941 for (ctr = 0; ctr < 21; ctr++) {
16942 regval[ctr] = 3 * ctr;
16944 wlc_phy_table_write_nphy(pi, 0, 21, 32, 16, regval);
16945 wlc_phy_table_write_nphy(pi, 1, 21, 32, 16, regval);
16947 for (ctr = 0; ctr < 21; ctr++) {
16948 regval[ctr] = (uint16) ctr;
16950 wlc_phy_table_write_nphy(pi, 2, 21, 32, 16, regval);
16951 wlc_phy_table_write_nphy(pi, 3, 21, 32, 16, regval);
16954 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_UPDATEGAINU,
16955 rfseq_updategainu_events,
16956 rfseq_updategainu_dlys,
16957 sizeof(rfseq_updategainu_events) /
16958 sizeof(rfseq_updategainu_events[0]));
16960 mod_phy_reg(pi, 0x153, (0xff << 8), (90 << 8));
16962 if (CHSPEC_IS2G(pi->radio_chanspec))
16963 mod_phy_reg(pi,
16964 (NPHY_TO_BPHY_OFF + BPHY_OPTIONAL_MODES),
16965 0x7f, 0x4);
16969 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev5(phy_info_t *pi)
16971 s8 lna1_gain_db[] = { 8, 13, 17, 22 };
16972 s8 lna2_gain_db[] = { -2, 7, 11, 15 };
16973 s8 tia_gain_db[] = { -4, -1, 2, 5, 5, 5, 5, 5, 5, 5 };
16974 s8 tia_gainbits[] = {
16975 0x0, 0x01, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 };
16977 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
16978 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
16980 mod_phy_reg(pi, 0x289, (0xff << 0), (0x46 << 0));
16982 mod_phy_reg(pi, 0x283, (0xff << 0), (0x3c << 0));
16983 mod_phy_reg(pi, 0x280, (0xff << 0), (0x3c << 0));
16985 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x8, 8,
16986 lna1_gain_db);
16987 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x8, 8,
16988 lna1_gain_db);
16990 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x10, 8,
16991 lna2_gain_db);
16992 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x10, 8,
16993 lna2_gain_db);
16995 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 10, 0x20, 8,
16996 tia_gain_db);
16997 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 10, 0x20, 8,
16998 tia_gain_db);
17000 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 10, 0x20, 8,
17001 tia_gainbits);
17002 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 10, 0x20, 8,
17003 tia_gainbits);
17005 write_phy_reg(pi, 0x37, 0x74);
17006 write_phy_reg(pi, 0x2ad, 0x74);
17007 write_phy_reg(pi, 0x38, 0x18);
17008 write_phy_reg(pi, 0x2ae, 0x18);
17010 write_phy_reg(pi, 0x2b, 0xe8);
17011 write_phy_reg(pi, 0x41, 0xe8);
17013 if (CHSPEC_IS20(pi->radio_chanspec)) {
17015 mod_phy_reg(pi, 0x300, (0x3f << 0), (0x12 << 0));
17016 mod_phy_reg(pi, 0x301, (0x3f << 0), (0x12 << 0));
17017 } else {
17019 mod_phy_reg(pi, 0x300, (0x3f << 0), (0x10 << 0));
17020 mod_phy_reg(pi, 0x301, (0x3f << 0), (0x10 << 0));
17024 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev6(phy_info_t *pi)
17026 uint16 currband;
17027 s8 lna1G_gain_db_rev7[] = { 9, 14, 19, 24 };
17028 s8 *lna1_gain_db = NULL;
17029 s8 *lna1_gain_db_2 = NULL;
17030 s8 *lna2_gain_db = NULL;
17031 s8 tiaA_gain_db_rev7[] = { -9, -6, -3, 0, 3, 3, 3, 3, 3, 3 };
17032 s8 *tia_gain_db;
17033 s8 tiaA_gainbits_rev7[] = { 0, 1, 2, 3, 4, 4, 4, 4, 4, 4 };
17034 s8 *tia_gainbits;
17035 uint16 rfseqA_init_gain_rev7[] = { 0x624f, 0x624f };
17036 uint16 *rfseq_init_gain;
17037 uint16 init_gaincode;
17038 uint16 clip1hi_gaincode;
17039 uint16 clip1md_gaincode = 0;
17040 uint16 clip1md_gaincode_B;
17041 uint16 clip1lo_gaincode;
17042 uint16 clip1lo_gaincode_B;
17043 u8 crsminl_th = 0;
17044 u8 crsminu_th;
17045 uint16 nbclip_th = 0;
17046 u8 w1clip_th;
17047 uint16 freq;
17048 s8 nvar_baseline_offset0 = 0, nvar_baseline_offset1 = 0;
17049 u8 chg_nbclip_th = 0;
17051 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
17052 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
17054 currband = read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand;
17055 if (currband == 0) {
17057 lna1_gain_db = lna1G_gain_db_rev7;
17059 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 8, 8,
17060 lna1_gain_db);
17061 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 8, 8,
17062 lna1_gain_db);
17064 mod_phy_reg(pi, 0x283, (0xff << 0), (0x40 << 0));
17066 if (CHSPEC_IS40(pi->radio_chanspec)) {
17067 mod_phy_reg(pi, 0x280, (0xff << 0), (0x3e << 0));
17068 mod_phy_reg(pi, 0x283, (0xff << 0), (0x3e << 0));
17071 mod_phy_reg(pi, 0x289, (0xff << 0), (0x46 << 0));
17073 if (CHSPEC_IS20(pi->radio_chanspec)) {
17074 mod_phy_reg(pi, 0x300, (0x3f << 0), (13 << 0));
17075 mod_phy_reg(pi, 0x301, (0x3f << 0), (13 << 0));
17077 } else {
17079 init_gaincode = 0x9e;
17080 clip1hi_gaincode = 0x9e;
17081 clip1md_gaincode_B = 0x24;
17082 clip1lo_gaincode = 0x8a;
17083 clip1lo_gaincode_B = 8;
17084 rfseq_init_gain = rfseqA_init_gain_rev7;
17086 tia_gain_db = tiaA_gain_db_rev7;
17087 tia_gainbits = tiaA_gainbits_rev7;
17089 freq = CHAN5G_FREQ(CHSPEC_CHANNEL(pi->radio_chanspec));
17090 if (CHSPEC_IS20(pi->radio_chanspec)) {
17092 w1clip_th = 25;
17093 clip1md_gaincode = 0x82;
17095 if ((freq <= 5080) || (freq == 5825)) {
17097 s8 lna1A_gain_db_rev7[] = { 11, 16, 20, 24 };
17098 s8 lna1A_gain_db_2_rev7[] = {
17099 11, 17, 22, 25 };
17100 s8 lna2A_gain_db_rev7[] = { -1, 6, 10, 14 };
17102 crsminu_th = 0x3e;
17103 lna1_gain_db = lna1A_gain_db_rev7;
17104 lna1_gain_db_2 = lna1A_gain_db_2_rev7;
17105 lna2_gain_db = lna2A_gain_db_rev7;
17106 } else if ((freq >= 5500) && (freq <= 5700)) {
17108 s8 lna1A_gain_db_rev7[] = { 11, 17, 21, 25 };
17109 s8 lna1A_gain_db_2_rev7[] = {
17110 12, 18, 22, 26 };
17111 s8 lna2A_gain_db_rev7[] = { 1, 8, 12, 16 };
17113 crsminu_th = 0x45;
17114 clip1md_gaincode_B = 0x14;
17115 nbclip_th = 0xff;
17116 chg_nbclip_th = 1;
17117 lna1_gain_db = lna1A_gain_db_rev7;
17118 lna1_gain_db_2 = lna1A_gain_db_2_rev7;
17119 lna2_gain_db = lna2A_gain_db_rev7;
17120 } else {
17122 s8 lna1A_gain_db_rev7[] = { 12, 18, 22, 26 };
17123 s8 lna1A_gain_db_2_rev7[] = {
17124 12, 18, 22, 26 };
17125 s8 lna2A_gain_db_rev7[] = { -1, 6, 10, 14 };
17127 crsminu_th = 0x41;
17128 lna1_gain_db = lna1A_gain_db_rev7;
17129 lna1_gain_db_2 = lna1A_gain_db_2_rev7;
17130 lna2_gain_db = lna2A_gain_db_rev7;
17133 if (freq <= 4920) {
17134 nvar_baseline_offset0 = 5;
17135 nvar_baseline_offset1 = 5;
17136 } else if ((freq > 4920) && (freq <= 5320)) {
17137 nvar_baseline_offset0 = 3;
17138 nvar_baseline_offset1 = 5;
17139 } else if ((freq > 5320) && (freq <= 5700)) {
17140 nvar_baseline_offset0 = 3;
17141 nvar_baseline_offset1 = 2;
17142 } else {
17143 nvar_baseline_offset0 = 4;
17144 nvar_baseline_offset1 = 0;
17146 } else {
17148 crsminu_th = 0x3a;
17149 crsminl_th = 0x3a;
17150 w1clip_th = 20;
17152 if ((freq >= 4920) && (freq <= 5320)) {
17153 nvar_baseline_offset0 = 4;
17154 nvar_baseline_offset1 = 5;
17155 } else if ((freq > 5320) && (freq <= 5550)) {
17156 nvar_baseline_offset0 = 4;
17157 nvar_baseline_offset1 = 2;
17158 } else {
17159 nvar_baseline_offset0 = 5;
17160 nvar_baseline_offset1 = 3;
17164 write_phy_reg(pi, 0x20, init_gaincode);
17165 write_phy_reg(pi, 0x2a7, init_gaincode);
17167 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
17168 pi->pubpi.phy_corenum, 0x106, 16,
17169 rfseq_init_gain);
17171 write_phy_reg(pi, 0x22, clip1hi_gaincode);
17172 write_phy_reg(pi, 0x2a9, clip1hi_gaincode);
17174 write_phy_reg(pi, 0x36, clip1md_gaincode_B);
17175 write_phy_reg(pi, 0x2ac, clip1md_gaincode_B);
17177 write_phy_reg(pi, 0x37, clip1lo_gaincode);
17178 write_phy_reg(pi, 0x2ad, clip1lo_gaincode);
17179 write_phy_reg(pi, 0x38, clip1lo_gaincode_B);
17180 write_phy_reg(pi, 0x2ae, clip1lo_gaincode_B);
17182 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 10, 0x20, 8,
17183 tia_gain_db);
17184 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 10, 0x20, 8,
17185 tia_gain_db);
17187 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 10, 0x20, 8,
17188 tia_gainbits);
17189 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 10, 0x20, 8,
17190 tia_gainbits);
17192 mod_phy_reg(pi, 0x283, (0xff << 0), (crsminu_th << 0));
17194 if (chg_nbclip_th == 1) {
17195 write_phy_reg(pi, 0x2b, nbclip_th);
17196 write_phy_reg(pi, 0x41, nbclip_th);
17199 mod_phy_reg(pi, 0x300, (0x3f << 0), (w1clip_th << 0));
17200 mod_phy_reg(pi, 0x301, (0x3f << 0), (w1clip_th << 0));
17202 mod_phy_reg(pi, 0x2e4,
17203 (0x3f << 0), (nvar_baseline_offset0 << 0));
17205 mod_phy_reg(pi, 0x2e4,
17206 (0x3f << 6), (nvar_baseline_offset1 << 6));
17208 if (CHSPEC_IS20(pi->radio_chanspec)) {
17210 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 8, 8,
17211 lna1_gain_db);
17212 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 8, 8,
17213 lna1_gain_db_2);
17215 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x10,
17216 8, lna2_gain_db);
17217 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x10,
17218 8, lna2_gain_db);
17220 write_phy_reg(pi, 0x24, clip1md_gaincode);
17221 write_phy_reg(pi, 0x2ab, clip1md_gaincode);
17222 } else {
17223 mod_phy_reg(pi, 0x280, (0xff << 0), (crsminl_th << 0));
17230 static void wlc_phy_adjust_lnagaintbl_nphy(phy_info_t *pi)
17232 uint core;
17233 int ctr;
17234 int16 gain_delta[2];
17235 u8 curr_channel;
17236 uint16 minmax_gain[2];
17237 uint16 regval[4];
17239 if (pi->phyhang_avoid)
17240 wlc_phy_stay_in_carriersearch_nphy(pi, TRUE);
17242 if (pi->nphy_gain_boost) {
17243 if ((CHSPEC_IS2G(pi->radio_chanspec))) {
17245 gain_delta[0] = 6;
17246 gain_delta[1] = 6;
17247 } else {
17249 curr_channel = CHSPEC_CHANNEL(pi->radio_chanspec);
17250 gain_delta[0] =
17251 (int16)
17252 PHY_HW_ROUND(((nphy_lnagain_est0[0] *
17253 curr_channel) +
17254 nphy_lnagain_est0[1]), 13);
17255 gain_delta[1] =
17256 (int16)
17257 PHY_HW_ROUND(((nphy_lnagain_est1[0] *
17258 curr_channel) +
17259 nphy_lnagain_est1[1]), 13);
17261 } else {
17263 gain_delta[0] = 0;
17264 gain_delta[1] = 0;
17267 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
17268 if (pi->nphy_elna_gain_config) {
17270 regval[0] = nphy_def_lnagains[2] + gain_delta[core];
17271 regval[1] = nphy_def_lnagains[3] + gain_delta[core];
17272 regval[2] = nphy_def_lnagains[3] + gain_delta[core];
17273 regval[3] = nphy_def_lnagains[3] + gain_delta[core];
17274 } else {
17275 for (ctr = 0; ctr < 4; ctr++) {
17276 regval[ctr] =
17277 nphy_def_lnagains[ctr] + gain_delta[core];
17280 wlc_phy_table_write_nphy(pi, core, 4, 8, 16, regval);
17282 minmax_gain[core] =
17283 (uint16) (nphy_def_lnagains[2] + gain_delta[core] + 4);
17286 mod_phy_reg(pi, 0x1e, (0xff << 0), (minmax_gain[0] << 0));
17287 mod_phy_reg(pi, 0x34, (0xff << 0), (minmax_gain[1] << 0));
17289 if (pi->phyhang_avoid)
17290 wlc_phy_stay_in_carriersearch_nphy(pi, FALSE);
17293 void wlc_phy_switch_radio_nphy(phy_info_t *pi, bool on)
17295 if (on) {
17296 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
17297 if (!pi->radio_is_on) {
17298 wlc_phy_radio_preinit_205x(pi);
17299 wlc_phy_radio_init_2057(pi);
17300 wlc_phy_radio_postinit_2057(pi);
17303 wlc_phy_chanspec_set((wlc_phy_t *) pi,
17304 pi->radio_chanspec);
17305 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
17306 wlc_phy_radio_preinit_205x(pi);
17307 wlc_phy_radio_init_2056(pi);
17308 wlc_phy_radio_postinit_2056(pi);
17310 wlc_phy_chanspec_set((wlc_phy_t *) pi,
17311 pi->radio_chanspec);
17312 } else {
17313 wlc_phy_radio_preinit_2055(pi);
17314 wlc_phy_radio_init_2055(pi);
17315 wlc_phy_radio_postinit_2055(pi);
17318 pi->radio_is_on = TRUE;
17320 } else {
17322 if (NREV_GE(pi->pubpi.phy_rev, 3)
17323 && NREV_LT(pi->pubpi.phy_rev, 7)) {
17324 and_phy_reg(pi, 0x78, ~RFCC_CHIP0_PU);
17325 mod_radio_reg(pi, RADIO_2056_SYN_COM_PU, 0x2, 0x0);
17327 write_radio_reg(pi,
17328 RADIO_2056_TX_PADA_BOOST_TUNE |
17329 RADIO_2056_TX0, 0);
17330 write_radio_reg(pi,
17331 RADIO_2056_TX_PADG_BOOST_TUNE |
17332 RADIO_2056_TX0, 0);
17333 write_radio_reg(pi,
17334 RADIO_2056_TX_PGAA_BOOST_TUNE |
17335 RADIO_2056_TX0, 0);
17336 write_radio_reg(pi,
17337 RADIO_2056_TX_PGAG_BOOST_TUNE |
17338 RADIO_2056_TX0, 0);
17339 mod_radio_reg(pi,
17340 RADIO_2056_TX_MIXA_BOOST_TUNE |
17341 RADIO_2056_TX0, 0xf0, 0);
17342 write_radio_reg(pi,
17343 RADIO_2056_TX_MIXG_BOOST_TUNE |
17344 RADIO_2056_TX0, 0);
17346 write_radio_reg(pi,
17347 RADIO_2056_TX_PADA_BOOST_TUNE |
17348 RADIO_2056_TX1, 0);
17349 write_radio_reg(pi,
17350 RADIO_2056_TX_PADG_BOOST_TUNE |
17351 RADIO_2056_TX1, 0);
17352 write_radio_reg(pi,
17353 RADIO_2056_TX_PGAA_BOOST_TUNE |
17354 RADIO_2056_TX1, 0);
17355 write_radio_reg(pi,
17356 RADIO_2056_TX_PGAG_BOOST_TUNE |
17357 RADIO_2056_TX1, 0);
17358 mod_radio_reg(pi,
17359 RADIO_2056_TX_MIXA_BOOST_TUNE |
17360 RADIO_2056_TX1, 0xf0, 0);
17361 write_radio_reg(pi,
17362 RADIO_2056_TX_MIXG_BOOST_TUNE |
17363 RADIO_2056_TX1, 0);
17365 pi->radio_is_on = FALSE;
17368 if (NREV_GE(pi->pubpi.phy_rev, 8)) {
17369 and_phy_reg(pi, 0x78, ~RFCC_CHIP0_PU);
17370 pi->radio_is_on = FALSE;
17376 static void wlc_phy_radio_preinit_2055(phy_info_t *pi)
17379 and_phy_reg(pi, 0x78, ~RFCC_POR_FORCE);
17380 or_phy_reg(pi, 0x78, RFCC_CHIP0_PU | RFCC_OE_POR_FORCE);
17382 or_phy_reg(pi, 0x78, RFCC_POR_FORCE);
17385 static void wlc_phy_radio_init_2055(phy_info_t *pi)
17387 wlc_phy_init_radio_regs(pi, regs_2055, RADIO_DEFAULT_CORE);
17390 static void wlc_phy_radio_postinit_2055(phy_info_t *pi)
17393 and_radio_reg(pi, RADIO_2055_MASTER_CNTRL1,
17394 ~(RADIO_2055_JTAGCTRL_MASK | RADIO_2055_JTAGSYNC_MASK));
17396 if (((pi->sh->sromrev >= 4)
17397 && !(pi->sh->boardflags2 & BFL2_RXBB_INT_REG_DIS))
17398 || ((pi->sh->sromrev < 4))) {
17399 and_radio_reg(pi, RADIO_2055_CORE1_RXBB_REGULATOR, 0x7F);
17400 and_radio_reg(pi, RADIO_2055_CORE2_RXBB_REGULATOR, 0x7F);
17403 mod_radio_reg(pi, RADIO_2055_RRCCAL_N_OPT_SEL, 0x3F, 0x2C);
17404 write_radio_reg(pi, RADIO_2055_CAL_MISC, 0x3C);
17406 and_radio_reg(pi, RADIO_2055_CAL_MISC,
17407 ~(RADIO_2055_RRCAL_START | RADIO_2055_RRCAL_RST_N));
17409 or_radio_reg(pi, RADIO_2055_CAL_LPO_CNTRL, RADIO_2055_CAL_LPO_ENABLE);
17411 or_radio_reg(pi, RADIO_2055_CAL_MISC, RADIO_2055_RRCAL_RST_N);
17413 OSL_DELAY(1000);
17415 or_radio_reg(pi, RADIO_2055_CAL_MISC, RADIO_2055_RRCAL_START);
17417 SPINWAIT(((read_radio_reg(pi, RADIO_2055_CAL_COUNTER_OUT2) &
17418 RADIO_2055_RCAL_DONE) != RADIO_2055_RCAL_DONE), 2000);
17420 ASSERT((read_radio_reg(pi, RADIO_2055_CAL_COUNTER_OUT2) &
17421 RADIO_2055_RCAL_DONE) == RADIO_2055_RCAL_DONE);
17423 and_radio_reg(pi, RADIO_2055_CAL_LPO_CNTRL,
17424 ~(RADIO_2055_CAL_LPO_ENABLE));
17426 wlc_phy_chanspec_set((wlc_phy_t *) pi, pi->radio_chanspec);
17428 write_radio_reg(pi, RADIO_2055_CORE1_RXBB_LPF, 9);
17429 write_radio_reg(pi, RADIO_2055_CORE2_RXBB_LPF, 9);
17431 write_radio_reg(pi, RADIO_2055_CORE1_RXBB_MIDAC_HIPAS, 0x83);
17432 write_radio_reg(pi, RADIO_2055_CORE2_RXBB_MIDAC_HIPAS, 0x83);
17434 mod_radio_reg(pi, RADIO_2055_CORE1_LNA_GAINBST,
17435 RADIO_2055_GAINBST_VAL_MASK, RADIO_2055_GAINBST_CODE);
17436 mod_radio_reg(pi, RADIO_2055_CORE2_LNA_GAINBST,
17437 RADIO_2055_GAINBST_VAL_MASK, RADIO_2055_GAINBST_CODE);
17438 if (pi->nphy_gain_boost) {
17439 and_radio_reg(pi, RADIO_2055_CORE1_RXRF_SPC1,
17440 ~(RADIO_2055_GAINBST_DISABLE));
17441 and_radio_reg(pi, RADIO_2055_CORE2_RXRF_SPC1,
17442 ~(RADIO_2055_GAINBST_DISABLE));
17443 } else {
17444 or_radio_reg(pi, RADIO_2055_CORE1_RXRF_SPC1,
17445 RADIO_2055_GAINBST_DISABLE);
17446 or_radio_reg(pi, RADIO_2055_CORE2_RXRF_SPC1,
17447 RADIO_2055_GAINBST_DISABLE);
17450 OSL_DELAY(2);
17453 static void wlc_phy_radio_preinit_205x(phy_info_t *pi)
17456 and_phy_reg(pi, 0x78, ~RFCC_CHIP0_PU);
17457 and_phy_reg(pi, 0x78, RFCC_OE_POR_FORCE);
17459 or_phy_reg(pi, 0x78, ~RFCC_OE_POR_FORCE);
17460 or_phy_reg(pi, 0x78, RFCC_CHIP0_PU);
17464 static void wlc_phy_radio_init_2056(phy_info_t *pi)
17466 radio_regs_t *regs_SYN_2056_ptr = NULL;
17467 radio_regs_t *regs_TX_2056_ptr = NULL;
17468 radio_regs_t *regs_RX_2056_ptr = NULL;
17470 if (NREV_IS(pi->pubpi.phy_rev, 3)) {
17471 regs_SYN_2056_ptr = regs_SYN_2056;
17472 regs_TX_2056_ptr = regs_TX_2056;
17473 regs_RX_2056_ptr = regs_RX_2056;
17474 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
17475 regs_SYN_2056_ptr = regs_SYN_2056_A1;
17476 regs_TX_2056_ptr = regs_TX_2056_A1;
17477 regs_RX_2056_ptr = regs_RX_2056_A1;
17478 } else {
17479 switch (pi->pubpi.radiorev) {
17480 case 5:
17481 regs_SYN_2056_ptr = regs_SYN_2056_rev5;
17482 regs_TX_2056_ptr = regs_TX_2056_rev5;
17483 regs_RX_2056_ptr = regs_RX_2056_rev5;
17484 break;
17486 case 6:
17487 regs_SYN_2056_ptr = regs_SYN_2056_rev6;
17488 regs_TX_2056_ptr = regs_TX_2056_rev6;
17489 regs_RX_2056_ptr = regs_RX_2056_rev6;
17490 break;
17492 case 7:
17493 case 9:
17494 regs_SYN_2056_ptr = regs_SYN_2056_rev7;
17495 regs_TX_2056_ptr = regs_TX_2056_rev7;
17496 regs_RX_2056_ptr = regs_RX_2056_rev7;
17497 break;
17499 case 8:
17500 regs_SYN_2056_ptr = regs_SYN_2056_rev8;
17501 regs_TX_2056_ptr = regs_TX_2056_rev8;
17502 regs_RX_2056_ptr = regs_RX_2056_rev8;
17503 break;
17505 case 11:
17506 regs_SYN_2056_ptr = regs_SYN_2056_rev11;
17507 regs_TX_2056_ptr = regs_TX_2056_rev11;
17508 regs_RX_2056_ptr = regs_RX_2056_rev11;
17509 break;
17511 default:
17512 ASSERT(0);
17513 break;
17517 wlc_phy_init_radio_regs(pi, regs_SYN_2056_ptr, (uint16) RADIO_2056_SYN);
17519 wlc_phy_init_radio_regs(pi, regs_TX_2056_ptr, (uint16) RADIO_2056_TX0);
17521 wlc_phy_init_radio_regs(pi, regs_TX_2056_ptr, (uint16) RADIO_2056_TX1);
17523 wlc_phy_init_radio_regs(pi, regs_RX_2056_ptr, (uint16) RADIO_2056_RX0);
17525 wlc_phy_init_radio_regs(pi, regs_RX_2056_ptr, (uint16) RADIO_2056_RX1);
17528 static void wlc_phy_radio_postinit_2056(phy_info_t *pi)
17530 mod_radio_reg(pi, RADIO_2056_SYN_COM_CTRL, 0xb, 0xb);
17532 mod_radio_reg(pi, RADIO_2056_SYN_COM_PU, 0x2, 0x2);
17533 mod_radio_reg(pi, RADIO_2056_SYN_COM_RESET, 0x2, 0x2);
17534 OSL_DELAY(1000);
17535 mod_radio_reg(pi, RADIO_2056_SYN_COM_RESET, 0x2, 0x0);
17537 if ((pi->sh->boardflags2 & BFL2_LEGACY)
17538 || (pi->sh->boardflags2 & BFL2_XTALBUFOUTEN)) {
17540 mod_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2, 0xf4, 0x0);
17541 } else {
17543 mod_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2, 0xfc, 0x0);
17546 mod_radio_reg(pi, RADIO_2056_SYN_RCCAL_CTRL0, 0x1, 0x0);
17548 if (pi->phy_init_por) {
17549 wlc_phy_radio205x_rcal(pi);
17553 static void wlc_phy_radio_init_2057(phy_info_t *pi)
17555 radio_20xx_regs_t *regs_2057_ptr = NULL;
17557 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
17559 regs_2057_ptr = regs_2057_rev4;
17560 } else if (NREV_IS(pi->pubpi.phy_rev, 8)
17561 || NREV_IS(pi->pubpi.phy_rev, 9)) {
17562 switch (pi->pubpi.radiorev) {
17563 case 5:
17565 if (pi->pubpi.radiover == 0x0) {
17567 regs_2057_ptr = regs_2057_rev5;
17569 } else if (pi->pubpi.radiover == 0x1) {
17571 regs_2057_ptr = regs_2057_rev5v1;
17572 } else {
17573 ASSERT(0);
17574 break;
17577 case 7:
17579 regs_2057_ptr = regs_2057_rev7;
17580 break;
17582 case 8:
17584 regs_2057_ptr = regs_2057_rev8;
17585 break;
17587 default:
17588 ASSERT(0);
17589 break;
17591 } else {
17592 ASSERT(0);
17595 wlc_phy_init_radio_regs_allbands(pi, regs_2057_ptr);
17598 static void wlc_phy_radio_postinit_2057(phy_info_t *pi)
17601 mod_radio_reg(pi, RADIO_2057_XTALPUOVR_PINCTRL, 0x1, 0x1);
17603 if (CHIPID(pi->sh->chip) == !BCM6362_CHIP_ID) {
17605 mod_radio_reg(pi, RADIO_2057_XTALPUOVR_PINCTRL, 0x2, 0x2);
17608 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x78, 0x78);
17609 mod_radio_reg(pi, RADIO_2057_XTAL_CONFIG2, 0x80, 0x80);
17610 OSL_DELAY(2000);
17611 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x78, 0x0);
17612 mod_radio_reg(pi, RADIO_2057_XTAL_CONFIG2, 0x80, 0x0);
17614 if (pi->phy_init_por) {
17615 wlc_phy_radio205x_rcal(pi);
17616 wlc_phy_radio2057_rccal(pi);
17619 mod_radio_reg(pi, RADIO_2057_RFPLL_MASTER, 0x8, 0x0);
17622 static bool
17623 wlc_phy_chan2freq_nphy(phy_info_t *pi, uint channel, int *f,
17624 chan_info_nphy_radio2057_t **t0,
17625 chan_info_nphy_radio205x_t **t1,
17626 chan_info_nphy_radio2057_rev5_t **t2,
17627 chan_info_nphy_2055_t **t3)
17629 uint i;
17630 chan_info_nphy_radio2057_t *chan_info_tbl_p_0 = NULL;
17631 chan_info_nphy_radio205x_t *chan_info_tbl_p_1 = NULL;
17632 chan_info_nphy_radio2057_rev5_t *chan_info_tbl_p_2 = NULL;
17633 uint32 tbl_len = 0;
17635 int freq = 0;
17637 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
17639 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
17641 chan_info_tbl_p_0 = chan_info_nphyrev7_2057_rev4;
17642 tbl_len = ARRAYSIZE(chan_info_nphyrev7_2057_rev4);
17644 } else if (NREV_IS(pi->pubpi.phy_rev, 8)
17645 || NREV_IS(pi->pubpi.phy_rev, 9)) {
17646 switch (pi->pubpi.radiorev) {
17648 case 5:
17650 if (pi->pubpi.radiover == 0x0) {
17652 chan_info_tbl_p_2 =
17653 chan_info_nphyrev8_2057_rev5;
17654 tbl_len =
17655 ARRAYSIZE
17656 (chan_info_nphyrev8_2057_rev5);
17658 } else if (pi->pubpi.radiover == 0x1) {
17660 chan_info_tbl_p_2 =
17661 chan_info_nphyrev9_2057_rev5v1;
17662 tbl_len =
17663 ARRAYSIZE
17664 (chan_info_nphyrev9_2057_rev5v1);
17667 break;
17669 case 7:
17670 chan_info_tbl_p_0 =
17671 chan_info_nphyrev8_2057_rev7;
17672 tbl_len =
17673 ARRAYSIZE(chan_info_nphyrev8_2057_rev7);
17674 break;
17676 case 8:
17677 chan_info_tbl_p_0 =
17678 chan_info_nphyrev8_2057_rev8;
17679 tbl_len =
17680 ARRAYSIZE(chan_info_nphyrev8_2057_rev8);
17681 break;
17683 default:
17684 if (NORADIO_ENAB(pi->pubpi)) {
17685 goto fail;
17687 break;
17689 } else if (NREV_IS(pi->pubpi.phy_rev, 16)) {
17691 chan_info_tbl_p_0 = chan_info_nphyrev8_2057_rev8;
17692 tbl_len = ARRAYSIZE(chan_info_nphyrev8_2057_rev8);
17693 } else {
17694 goto fail;
17697 for (i = 0; i < tbl_len; i++) {
17698 if (pi->pubpi.radiorev == 5) {
17700 if (chan_info_tbl_p_2[i].chan == channel)
17701 break;
17702 } else {
17704 if (chan_info_tbl_p_0[i].chan == channel)
17705 break;
17709 if (i >= tbl_len) {
17710 ASSERT(i < tbl_len);
17711 goto fail;
17713 if (pi->pubpi.radiorev == 5) {
17714 *t2 = &chan_info_tbl_p_2[i];
17715 freq = chan_info_tbl_p_2[i].freq;
17716 } else {
17717 *t0 = &chan_info_tbl_p_0[i];
17718 freq = chan_info_tbl_p_0[i].freq;
17721 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
17722 if (NREV_IS(pi->pubpi.phy_rev, 3)) {
17723 chan_info_tbl_p_1 = chan_info_nphyrev3_2056;
17724 tbl_len = ARRAYSIZE(chan_info_nphyrev3_2056);
17725 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
17726 chan_info_tbl_p_1 = chan_info_nphyrev4_2056_A1;
17727 tbl_len = ARRAYSIZE(chan_info_nphyrev4_2056_A1);
17728 } else if (NREV_IS(pi->pubpi.phy_rev, 5)
17729 || NREV_IS(pi->pubpi.phy_rev, 6)) {
17730 switch (pi->pubpi.radiorev) {
17731 case 5:
17732 chan_info_tbl_p_1 = chan_info_nphyrev5_2056v5;
17733 tbl_len = ARRAYSIZE(chan_info_nphyrev5_2056v5);
17734 break;
17735 case 6:
17736 chan_info_tbl_p_1 = chan_info_nphyrev6_2056v6;
17737 tbl_len = ARRAYSIZE(chan_info_nphyrev6_2056v6);
17738 break;
17739 case 7:
17740 case 9:
17741 chan_info_tbl_p_1 = chan_info_nphyrev5n6_2056v7;
17742 tbl_len =
17743 ARRAYSIZE(chan_info_nphyrev5n6_2056v7);
17744 break;
17745 case 8:
17746 chan_info_tbl_p_1 = chan_info_nphyrev6_2056v8;
17747 tbl_len = ARRAYSIZE(chan_info_nphyrev6_2056v8);
17748 break;
17749 case 11:
17750 chan_info_tbl_p_1 = chan_info_nphyrev6_2056v11;
17751 tbl_len = ARRAYSIZE(chan_info_nphyrev6_2056v11);
17752 break;
17753 default:
17754 if (NORADIO_ENAB(pi->pubpi)) {
17755 goto fail;
17757 break;
17761 for (i = 0; i < tbl_len; i++) {
17762 if (chan_info_tbl_p_1[i].chan == channel)
17763 break;
17766 if (i >= tbl_len) {
17767 ASSERT(i < tbl_len);
17768 goto fail;
17770 *t1 = &chan_info_tbl_p_1[i];
17771 freq = chan_info_tbl_p_1[i].freq;
17773 } else {
17774 for (i = 0; i < ARRAYSIZE(chan_info_nphy_2055); i++)
17775 if (chan_info_nphy_2055[i].chan == channel)
17776 break;
17778 if (i >= ARRAYSIZE(chan_info_nphy_2055)) {
17779 ASSERT(i < ARRAYSIZE(chan_info_nphy_2055));
17780 goto fail;
17782 *t3 = &chan_info_nphy_2055[i];
17783 freq = chan_info_nphy_2055[i].freq;
17786 *f = freq;
17787 return TRUE;
17789 fail:
17790 *f = WL_CHAN_FREQ_RANGE_2G;
17791 return FALSE;
17794 u8 wlc_phy_get_chan_freq_range_nphy(phy_info_t *pi, uint channel)
17796 int freq;
17797 chan_info_nphy_radio2057_t *t0 = NULL;
17798 chan_info_nphy_radio205x_t *t1 = NULL;
17799 chan_info_nphy_radio2057_rev5_t *t2 = NULL;
17800 chan_info_nphy_2055_t *t3 = NULL;
17802 if (NORADIO_ENAB(pi->pubpi))
17803 return WL_CHAN_FREQ_RANGE_2G;
17805 if (channel == 0)
17806 channel = CHSPEC_CHANNEL(pi->radio_chanspec);
17808 wlc_phy_chan2freq_nphy(pi, channel, &freq, &t0, &t1, &t2, &t3);
17810 if (CHSPEC_IS2G(pi->radio_chanspec))
17811 return WL_CHAN_FREQ_RANGE_2G;
17813 if ((freq >= BASE_LOW_5G_CHAN) && (freq < BASE_MID_5G_CHAN)) {
17814 return WL_CHAN_FREQ_RANGE_5GL;
17815 } else if ((freq >= BASE_MID_5G_CHAN) && (freq < BASE_HIGH_5G_CHAN)) {
17816 return WL_CHAN_FREQ_RANGE_5GM;
17817 } else {
17818 return WL_CHAN_FREQ_RANGE_5GH;
17822 static void
17823 wlc_phy_chanspec_radio2055_setup(phy_info_t *pi, chan_info_nphy_2055_t *ci)
17826 write_radio_reg(pi, RADIO_2055_PLL_REF, ci->RF_pll_ref);
17827 write_radio_reg(pi, RADIO_2055_RF_PLL_MOD0, ci->RF_rf_pll_mod0);
17828 write_radio_reg(pi, RADIO_2055_RF_PLL_MOD1, ci->RF_rf_pll_mod1);
17829 write_radio_reg(pi, RADIO_2055_VCO_CAP_TAIL, ci->RF_vco_cap_tail);
17831 WLC_PHY_WAR_PR51571(pi);
17833 write_radio_reg(pi, RADIO_2055_VCO_CAL1, ci->RF_vco_cal1);
17834 write_radio_reg(pi, RADIO_2055_VCO_CAL2, ci->RF_vco_cal2);
17835 write_radio_reg(pi, RADIO_2055_PLL_LF_C1, ci->RF_pll_lf_c1);
17836 write_radio_reg(pi, RADIO_2055_PLL_LF_R1, ci->RF_pll_lf_r1);
17838 WLC_PHY_WAR_PR51571(pi);
17840 write_radio_reg(pi, RADIO_2055_PLL_LF_C2, ci->RF_pll_lf_c2);
17841 write_radio_reg(pi, RADIO_2055_LGBUF_CEN_BUF, ci->RF_lgbuf_cen_buf);
17842 write_radio_reg(pi, RADIO_2055_LGEN_TUNE1, ci->RF_lgen_tune1);
17843 write_radio_reg(pi, RADIO_2055_LGEN_TUNE2, ci->RF_lgen_tune2);
17845 WLC_PHY_WAR_PR51571(pi);
17847 write_radio_reg(pi, RADIO_2055_CORE1_LGBUF_A_TUNE,
17848 ci->RF_core1_lgbuf_a_tune);
17849 write_radio_reg(pi, RADIO_2055_CORE1_LGBUF_G_TUNE,
17850 ci->RF_core1_lgbuf_g_tune);
17851 write_radio_reg(pi, RADIO_2055_CORE1_RXRF_REG1, ci->RF_core1_rxrf_reg1);
17852 write_radio_reg(pi, RADIO_2055_CORE1_TX_PGA_PAD_TN,
17853 ci->RF_core1_tx_pga_pad_tn);
17855 WLC_PHY_WAR_PR51571(pi);
17857 write_radio_reg(pi, RADIO_2055_CORE1_TX_MX_BGTRIM,
17858 ci->RF_core1_tx_mx_bgtrim);
17859 write_radio_reg(pi, RADIO_2055_CORE2_LGBUF_A_TUNE,
17860 ci->RF_core2_lgbuf_a_tune);
17861 write_radio_reg(pi, RADIO_2055_CORE2_LGBUF_G_TUNE,
17862 ci->RF_core2_lgbuf_g_tune);
17863 write_radio_reg(pi, RADIO_2055_CORE2_RXRF_REG1, ci->RF_core2_rxrf_reg1);
17865 WLC_PHY_WAR_PR51571(pi);
17867 write_radio_reg(pi, RADIO_2055_CORE2_TX_PGA_PAD_TN,
17868 ci->RF_core2_tx_pga_pad_tn);
17869 write_radio_reg(pi, RADIO_2055_CORE2_TX_MX_BGTRIM,
17870 ci->RF_core2_tx_mx_bgtrim);
17872 OSL_DELAY(50);
17874 write_radio_reg(pi, RADIO_2055_VCO_CAL10, 0x05);
17875 write_radio_reg(pi, RADIO_2055_VCO_CAL10, 0x45);
17877 WLC_PHY_WAR_PR51571(pi);
17879 write_radio_reg(pi, RADIO_2055_VCO_CAL10, 0x65);
17881 OSL_DELAY(300);
17884 static void
17885 wlc_phy_chanspec_radio2056_setup(phy_info_t *pi,
17886 const chan_info_nphy_radio205x_t *ci)
17888 radio_regs_t *regs_SYN_2056_ptr = NULL;
17890 write_radio_reg(pi,
17891 RADIO_2056_SYN_PLL_VCOCAL1 | RADIO_2056_SYN,
17892 ci->RF_SYN_pll_vcocal1);
17893 write_radio_reg(pi, RADIO_2056_SYN_PLL_VCOCAL2 | RADIO_2056_SYN,
17894 ci->RF_SYN_pll_vcocal2);
17895 write_radio_reg(pi, RADIO_2056_SYN_PLL_REFDIV | RADIO_2056_SYN,
17896 ci->RF_SYN_pll_refdiv);
17897 write_radio_reg(pi, RADIO_2056_SYN_PLL_MMD2 | RADIO_2056_SYN,
17898 ci->RF_SYN_pll_mmd2);
17899 write_radio_reg(pi, RADIO_2056_SYN_PLL_MMD1 | RADIO_2056_SYN,
17900 ci->RF_SYN_pll_mmd1);
17901 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER1 | RADIO_2056_SYN,
17902 ci->RF_SYN_pll_loopfilter1);
17903 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER2 | RADIO_2056_SYN,
17904 ci->RF_SYN_pll_loopfilter2);
17905 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER3 | RADIO_2056_SYN,
17906 ci->RF_SYN_pll_loopfilter3);
17907 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER4 | RADIO_2056_SYN,
17908 ci->RF_SYN_pll_loopfilter4);
17909 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER5 | RADIO_2056_SYN,
17910 ci->RF_SYN_pll_loopfilter5);
17911 write_radio_reg(pi, RADIO_2056_SYN_RESERVED_ADDR27 | RADIO_2056_SYN,
17912 ci->RF_SYN_reserved_addr27);
17913 write_radio_reg(pi, RADIO_2056_SYN_RESERVED_ADDR28 | RADIO_2056_SYN,
17914 ci->RF_SYN_reserved_addr28);
17915 write_radio_reg(pi, RADIO_2056_SYN_RESERVED_ADDR29 | RADIO_2056_SYN,
17916 ci->RF_SYN_reserved_addr29);
17917 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_VCOBUF1 | RADIO_2056_SYN,
17918 ci->RF_SYN_logen_VCOBUF1);
17919 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_MIXER2 | RADIO_2056_SYN,
17920 ci->RF_SYN_logen_MIXER2);
17921 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_BUF3 | RADIO_2056_SYN,
17922 ci->RF_SYN_logen_BUF3);
17923 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_BUF4 | RADIO_2056_SYN,
17924 ci->RF_SYN_logen_BUF4);
17926 write_radio_reg(pi,
17927 RADIO_2056_RX_LNAA_TUNE | RADIO_2056_RX0,
17928 ci->RF_RX0_lnaa_tune);
17929 write_radio_reg(pi, RADIO_2056_RX_LNAG_TUNE | RADIO_2056_RX0,
17930 ci->RF_RX0_lnag_tune);
17931 write_radio_reg(pi, RADIO_2056_TX_INTPAA_BOOST_TUNE | RADIO_2056_TX0,
17932 ci->RF_TX0_intpaa_boost_tune);
17933 write_radio_reg(pi, RADIO_2056_TX_INTPAG_BOOST_TUNE | RADIO_2056_TX0,
17934 ci->RF_TX0_intpag_boost_tune);
17935 write_radio_reg(pi, RADIO_2056_TX_PADA_BOOST_TUNE | RADIO_2056_TX0,
17936 ci->RF_TX0_pada_boost_tune);
17937 write_radio_reg(pi, RADIO_2056_TX_PADG_BOOST_TUNE | RADIO_2056_TX0,
17938 ci->RF_TX0_padg_boost_tune);
17939 write_radio_reg(pi, RADIO_2056_TX_PGAA_BOOST_TUNE | RADIO_2056_TX0,
17940 ci->RF_TX0_pgaa_boost_tune);
17941 write_radio_reg(pi, RADIO_2056_TX_PGAG_BOOST_TUNE | RADIO_2056_TX0,
17942 ci->RF_TX0_pgag_boost_tune);
17943 write_radio_reg(pi, RADIO_2056_TX_MIXA_BOOST_TUNE | RADIO_2056_TX0,
17944 ci->RF_TX0_mixa_boost_tune);
17945 write_radio_reg(pi, RADIO_2056_TX_MIXG_BOOST_TUNE | RADIO_2056_TX0,
17946 ci->RF_TX0_mixg_boost_tune);
17948 write_radio_reg(pi,
17949 RADIO_2056_RX_LNAA_TUNE | RADIO_2056_RX1,
17950 ci->RF_RX1_lnaa_tune);
17951 write_radio_reg(pi, RADIO_2056_RX_LNAG_TUNE | RADIO_2056_RX1,
17952 ci->RF_RX1_lnag_tune);
17953 write_radio_reg(pi, RADIO_2056_TX_INTPAA_BOOST_TUNE | RADIO_2056_TX1,
17954 ci->RF_TX1_intpaa_boost_tune);
17955 write_radio_reg(pi, RADIO_2056_TX_INTPAG_BOOST_TUNE | RADIO_2056_TX1,
17956 ci->RF_TX1_intpag_boost_tune);
17957 write_radio_reg(pi, RADIO_2056_TX_PADA_BOOST_TUNE | RADIO_2056_TX1,
17958 ci->RF_TX1_pada_boost_tune);
17959 write_radio_reg(pi, RADIO_2056_TX_PADG_BOOST_TUNE | RADIO_2056_TX1,
17960 ci->RF_TX1_padg_boost_tune);
17961 write_radio_reg(pi, RADIO_2056_TX_PGAA_BOOST_TUNE | RADIO_2056_TX1,
17962 ci->RF_TX1_pgaa_boost_tune);
17963 write_radio_reg(pi, RADIO_2056_TX_PGAG_BOOST_TUNE | RADIO_2056_TX1,
17964 ci->RF_TX1_pgag_boost_tune);
17965 write_radio_reg(pi, RADIO_2056_TX_MIXA_BOOST_TUNE | RADIO_2056_TX1,
17966 ci->RF_TX1_mixa_boost_tune);
17967 write_radio_reg(pi, RADIO_2056_TX_MIXG_BOOST_TUNE | RADIO_2056_TX1,
17968 ci->RF_TX1_mixg_boost_tune);
17970 if (NREV_IS(pi->pubpi.phy_rev, 3))
17971 regs_SYN_2056_ptr = regs_SYN_2056;
17972 else if (NREV_IS(pi->pubpi.phy_rev, 4))
17973 regs_SYN_2056_ptr = regs_SYN_2056_A1;
17974 else {
17975 switch (pi->pubpi.radiorev) {
17976 case 5:
17977 regs_SYN_2056_ptr = regs_SYN_2056_rev5;
17978 break;
17979 case 6:
17980 regs_SYN_2056_ptr = regs_SYN_2056_rev6;
17981 break;
17982 case 7:
17983 case 9:
17984 regs_SYN_2056_ptr = regs_SYN_2056_rev7;
17985 break;
17986 case 8:
17987 regs_SYN_2056_ptr = regs_SYN_2056_rev8;
17988 break;
17989 case 11:
17990 regs_SYN_2056_ptr = regs_SYN_2056_rev11;
17991 break;
17994 if (CHSPEC_IS2G(pi->radio_chanspec)) {
17995 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 |
17996 RADIO_2056_SYN,
17997 (uint16) regs_SYN_2056_ptr[0x49 - 2].init_g);
17998 } else {
17999 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 |
18000 RADIO_2056_SYN,
18001 (uint16) regs_SYN_2056_ptr[0x49 - 2].init_a);
18004 if (pi->sh->boardflags2 & BFL2_GPLL_WAR) {
18005 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18006 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER1 |
18007 RADIO_2056_SYN, 0x1f);
18008 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER2 |
18009 RADIO_2056_SYN, 0x1f);
18011 if ((CHIPID(pi->sh->chip) == BCM4716_CHIP_ID) ||
18012 (CHIPID(pi->sh->chip) == BCM47162_CHIP_ID)) {
18014 write_radio_reg(pi,
18015 RADIO_2056_SYN_PLL_LOOPFILTER4 |
18016 RADIO_2056_SYN, 0x14);
18017 write_radio_reg(pi,
18018 RADIO_2056_SYN_PLL_CP2 |
18019 RADIO_2056_SYN, 0x00);
18020 } else {
18021 write_radio_reg(pi,
18022 RADIO_2056_SYN_PLL_LOOPFILTER4 |
18023 RADIO_2056_SYN, 0xb);
18024 write_radio_reg(pi,
18025 RADIO_2056_SYN_PLL_CP2 |
18026 RADIO_2056_SYN, 0x14);
18031 if ((pi->sh->boardflags2 & BFL2_GPLL_WAR2) &&
18032 (CHSPEC_IS2G(pi->radio_chanspec))) {
18033 write_radio_reg(pi,
18034 RADIO_2056_SYN_PLL_LOOPFILTER1 | RADIO_2056_SYN,
18035 0x1f);
18036 write_radio_reg(pi,
18037 RADIO_2056_SYN_PLL_LOOPFILTER2 | RADIO_2056_SYN,
18038 0x1f);
18039 write_radio_reg(pi,
18040 RADIO_2056_SYN_PLL_LOOPFILTER4 | RADIO_2056_SYN,
18041 0xb);
18042 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 | RADIO_2056_SYN,
18043 0x20);
18046 if (pi->sh->boardflags2 & BFL2_APLL_WAR) {
18047 if (CHSPEC_IS5G(pi->radio_chanspec)) {
18048 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER1 |
18049 RADIO_2056_SYN, 0x1f);
18050 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER2 |
18051 RADIO_2056_SYN, 0x1f);
18052 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER4 |
18053 RADIO_2056_SYN, 0x5);
18054 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 |
18055 RADIO_2056_SYN, 0xc);
18059 if (PHY_IPA(pi) && CHSPEC_IS2G(pi->radio_chanspec)) {
18060 uint16 pag_boost_tune;
18061 uint16 padg_boost_tune;
18062 uint16 pgag_boost_tune;
18063 uint16 mixg_boost_tune;
18064 uint16 bias, cascbias;
18065 uint core;
18067 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
18069 if (NREV_GE(pi->pubpi.phy_rev, 5)) {
18071 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18072 PADG_IDAC, 0xcc);
18074 if ((CHIPID(pi->sh->chip) == BCM4716_CHIP_ID) ||
18075 (CHIPID(pi->sh->chip) ==
18076 BCM47162_CHIP_ID)) {
18077 bias = 0x40;
18078 cascbias = 0x45;
18079 pag_boost_tune = 0x5;
18080 pgag_boost_tune = 0x33;
18081 padg_boost_tune = 0x77;
18082 mixg_boost_tune = 0x55;
18083 } else {
18084 bias = 0x25;
18085 cascbias = 0x20;
18087 if ((CHIPID(pi->sh->chip) ==
18088 BCM43224_CHIP_ID)
18089 || (CHIPID(pi->sh->chip) ==
18090 BCM43225_CHIP_ID)
18091 || (CHIPID(pi->sh->chip) ==
18092 BCM43421_CHIP_ID)) {
18093 if (pi->sh->chippkg ==
18094 BCM43224_FAB_SMIC) {
18095 bias = 0x2a;
18096 cascbias = 0x38;
18100 pag_boost_tune = 0x4;
18101 pgag_boost_tune = 0x03;
18102 padg_boost_tune = 0x77;
18103 mixg_boost_tune = 0x65;
18106 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18107 INTPAG_IMAIN_STAT, bias);
18108 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18109 INTPAG_IAUX_STAT, bias);
18110 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18111 INTPAG_CASCBIAS, cascbias);
18113 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18114 INTPAG_BOOST_TUNE,
18115 pag_boost_tune);
18116 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18117 PGAG_BOOST_TUNE,
18118 pgag_boost_tune);
18119 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18120 PADG_BOOST_TUNE,
18121 padg_boost_tune);
18122 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18123 MIXG_BOOST_TUNE,
18124 mixg_boost_tune);
18125 } else {
18127 bias = IS40MHZ(pi) ? 0x40 : 0x20;
18129 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18130 INTPAG_IMAIN_STAT, bias);
18131 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18132 INTPAG_IAUX_STAT, bias);
18133 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18134 INTPAG_CASCBIAS, 0x30);
18136 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, PA_SPARE1,
18137 0xee);
18141 if (PHY_IPA(pi) && NREV_IS(pi->pubpi.phy_rev, 6)
18142 && CHSPEC_IS5G(pi->radio_chanspec)) {
18143 uint16 paa_boost_tune;
18144 uint16 pada_boost_tune;
18145 uint16 pgaa_boost_tune;
18146 uint16 mixa_boost_tune;
18147 uint16 freq, pabias, cascbias;
18148 uint core;
18150 freq = CHAN5G_FREQ(CHSPEC_CHANNEL(pi->radio_chanspec));
18152 if (freq < 5150) {
18154 paa_boost_tune = 0xa;
18155 pada_boost_tune = 0x77;
18156 pgaa_boost_tune = 0xf;
18157 mixa_boost_tune = 0xf;
18158 } else if (freq < 5340) {
18160 paa_boost_tune = 0x8;
18161 pada_boost_tune = 0x77;
18162 pgaa_boost_tune = 0xfb;
18163 mixa_boost_tune = 0xf;
18164 } else if (freq < 5650) {
18166 paa_boost_tune = 0x0;
18167 pada_boost_tune = 0x77;
18168 pgaa_boost_tune = 0xb;
18169 mixa_boost_tune = 0xf;
18170 } else {
18172 paa_boost_tune = 0x0;
18173 pada_boost_tune = 0x77;
18174 if (freq != 5825) {
18175 pgaa_boost_tune = -(int)(freq - 18) / 36 + 168;
18176 } else {
18177 pgaa_boost_tune = 6;
18179 mixa_boost_tune = 0xf;
18182 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
18183 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18184 INTPAA_BOOST_TUNE, paa_boost_tune);
18185 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18186 PADA_BOOST_TUNE, pada_boost_tune);
18187 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18188 PGAA_BOOST_TUNE, pgaa_boost_tune);
18189 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18190 MIXA_BOOST_TUNE, mixa_boost_tune);
18192 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18193 TXSPARE1, 0x30);
18194 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18195 PA_SPARE2, 0xee);
18197 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18198 PADA_CASCBIAS, 0x3);
18200 cascbias = 0x30;
18202 if ((CHIPID(pi->sh->chip) == BCM43224_CHIP_ID) ||
18203 (CHIPID(pi->sh->chip) == BCM43225_CHIP_ID) ||
18204 (CHIPID(pi->sh->chip) == BCM43421_CHIP_ID)) {
18205 if (pi->sh->chippkg == BCM43224_FAB_SMIC) {
18206 cascbias = 0x35;
18210 pabias = (pi->phy_pabias == 0) ? 0x30 : pi->phy_pabias;
18212 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18213 INTPAA_IAUX_STAT, pabias);
18214 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18215 INTPAA_IMAIN_STAT, pabias);
18216 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18217 INTPAA_CASCBIAS, cascbias);
18221 OSL_DELAY(50);
18223 wlc_phy_radio205x_vcocal_nphy(pi);
18226 void wlc_phy_radio205x_vcocal_nphy(phy_info_t *pi)
18228 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18229 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_EN, 0x01, 0x0);
18230 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x04, 0x0);
18231 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x04,
18232 (1 << 2));
18233 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_EN, 0x01, 0x01);
18234 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18235 write_radio_reg(pi, RADIO_2056_SYN_PLL_VCOCAL12, 0x0);
18236 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x38);
18237 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x18);
18238 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x38);
18239 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x39);
18242 OSL_DELAY(300);
18245 #define MAX_205x_RCAL_WAITLOOPS 10000
18247 static uint16 wlc_phy_radio205x_rcal(phy_info_t *pi)
18249 uint16 rcal_reg = 0;
18250 int i;
18252 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18254 if (pi->pubpi.radiorev == 5) {
18256 and_phy_reg(pi, 0x342, ~(0x1 << 1));
18258 OSL_DELAY(10);
18260 mod_radio_reg(pi, RADIO_2057_IQTEST_SEL_PU, 0x1, 0x1);
18261 mod_radio_reg(pi, RADIO_2057v7_IQTEST_SEL_PU2, 0x2,
18262 0x1);
18264 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x1, 0x1);
18266 OSL_DELAY(10);
18268 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x3, 0x3);
18270 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18271 rcal_reg = read_radio_reg(pi, RADIO_2057_RCAL_STATUS);
18272 if (rcal_reg & 0x1) {
18273 break;
18275 OSL_DELAY(100);
18278 ASSERT(i < MAX_205x_RCAL_WAITLOOPS);
18280 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x2, 0x0);
18282 rcal_reg = read_radio_reg(pi, RADIO_2057_RCAL_STATUS) & 0x3e;
18284 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x1, 0x0);
18285 if (pi->pubpi.radiorev == 5) {
18287 mod_radio_reg(pi, RADIO_2057_IQTEST_SEL_PU, 0x1, 0x0);
18288 mod_radio_reg(pi, RADIO_2057v7_IQTEST_SEL_PU2, 0x2,
18289 0x0);
18292 if ((pi->pubpi.radiorev <= 4) || (pi->pubpi.radiorev == 6)) {
18294 mod_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG, 0x3c,
18295 rcal_reg);
18296 mod_radio_reg(pi, RADIO_2057_BANDGAP_RCAL_TRIM, 0xf0,
18297 rcal_reg << 2);
18300 } else if (NREV_IS(pi->pubpi.phy_rev, 3)) {
18301 uint16 savereg;
18303 savereg =
18304 read_radio_reg(pi,
18305 RADIO_2056_SYN_PLL_MAST2 | RADIO_2056_SYN);
18306 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2 | RADIO_2056_SYN,
18307 savereg | 0x7);
18308 OSL_DELAY(10);
18310 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18311 0x1);
18312 OSL_DELAY(10);
18314 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18315 0x9);
18317 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18318 rcal_reg = read_radio_reg(pi,
18319 RADIO_2056_SYN_RCAL_CODE_OUT |
18320 RADIO_2056_SYN);
18321 if (rcal_reg & 0x80) {
18322 break;
18324 OSL_DELAY(100);
18327 ASSERT(i < MAX_205x_RCAL_WAITLOOPS);
18329 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18330 0x1);
18332 rcal_reg =
18333 read_radio_reg(pi,
18334 RADIO_2056_SYN_RCAL_CODE_OUT |
18335 RADIO_2056_SYN);
18337 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18338 0x0);
18340 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2 | RADIO_2056_SYN,
18341 savereg);
18343 return rcal_reg & 0x1f;
18345 return rcal_reg & 0x3e;
18348 static void
18349 wlc_phy_chanspec_radio2057_setup(phy_info_t *pi,
18350 const chan_info_nphy_radio2057_t *ci,
18351 const chan_info_nphy_radio2057_rev5_t *ci2)
18353 int coreNum;
18354 uint16 txmix2g_tune_boost_pu = 0;
18355 uint16 pad2g_tune_pus = 0;
18357 if (pi->pubpi.radiorev == 5) {
18359 write_radio_reg(pi,
18360 RADIO_2057_VCOCAL_COUNTVAL0,
18361 ci2->RF_vcocal_countval0);
18362 write_radio_reg(pi, RADIO_2057_VCOCAL_COUNTVAL1,
18363 ci2->RF_vcocal_countval1);
18364 write_radio_reg(pi, RADIO_2057_RFPLL_REFMASTER_SPAREXTALSIZE,
18365 ci2->RF_rfpll_refmaster_sparextalsize);
18366 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18367 ci2->RF_rfpll_loopfilter_r1);
18368 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18369 ci2->RF_rfpll_loopfilter_c2);
18370 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18371 ci2->RF_rfpll_loopfilter_c1);
18372 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC,
18373 ci2->RF_cp_kpd_idac);
18374 write_radio_reg(pi, RADIO_2057_RFPLL_MMD0, ci2->RF_rfpll_mmd0);
18375 write_radio_reg(pi, RADIO_2057_RFPLL_MMD1, ci2->RF_rfpll_mmd1);
18376 write_radio_reg(pi,
18377 RADIO_2057_VCOBUF_TUNE, ci2->RF_vcobuf_tune);
18378 write_radio_reg(pi,
18379 RADIO_2057_LOGEN_MX2G_TUNE,
18380 ci2->RF_logen_mx2g_tune);
18381 write_radio_reg(pi, RADIO_2057_LOGEN_INDBUF2G_TUNE,
18382 ci2->RF_logen_indbuf2g_tune);
18384 write_radio_reg(pi,
18385 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE0,
18386 ci2->RF_txmix2g_tune_boost_pu_core0);
18387 write_radio_reg(pi,
18388 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
18389 ci2->RF_pad2g_tune_pus_core0);
18390 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE0,
18391 ci2->RF_lna2g_tune_core0);
18393 write_radio_reg(pi,
18394 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE1,
18395 ci2->RF_txmix2g_tune_boost_pu_core1);
18396 write_radio_reg(pi,
18397 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
18398 ci2->RF_pad2g_tune_pus_core1);
18399 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE1,
18400 ci2->RF_lna2g_tune_core1);
18402 } else {
18404 write_radio_reg(pi,
18405 RADIO_2057_VCOCAL_COUNTVAL0,
18406 ci->RF_vcocal_countval0);
18407 write_radio_reg(pi, RADIO_2057_VCOCAL_COUNTVAL1,
18408 ci->RF_vcocal_countval1);
18409 write_radio_reg(pi, RADIO_2057_RFPLL_REFMASTER_SPAREXTALSIZE,
18410 ci->RF_rfpll_refmaster_sparextalsize);
18411 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18412 ci->RF_rfpll_loopfilter_r1);
18413 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18414 ci->RF_rfpll_loopfilter_c2);
18415 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18416 ci->RF_rfpll_loopfilter_c1);
18417 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, ci->RF_cp_kpd_idac);
18418 write_radio_reg(pi, RADIO_2057_RFPLL_MMD0, ci->RF_rfpll_mmd0);
18419 write_radio_reg(pi, RADIO_2057_RFPLL_MMD1, ci->RF_rfpll_mmd1);
18420 write_radio_reg(pi, RADIO_2057_VCOBUF_TUNE, ci->RF_vcobuf_tune);
18421 write_radio_reg(pi,
18422 RADIO_2057_LOGEN_MX2G_TUNE,
18423 ci->RF_logen_mx2g_tune);
18424 write_radio_reg(pi, RADIO_2057_LOGEN_MX5G_TUNE,
18425 ci->RF_logen_mx5g_tune);
18426 write_radio_reg(pi, RADIO_2057_LOGEN_INDBUF2G_TUNE,
18427 ci->RF_logen_indbuf2g_tune);
18428 write_radio_reg(pi, RADIO_2057_LOGEN_INDBUF5G_TUNE,
18429 ci->RF_logen_indbuf5g_tune);
18431 write_radio_reg(pi,
18432 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE0,
18433 ci->RF_txmix2g_tune_boost_pu_core0);
18434 write_radio_reg(pi,
18435 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
18436 ci->RF_pad2g_tune_pus_core0);
18437 write_radio_reg(pi, RADIO_2057_PGA_BOOST_TUNE_CORE0,
18438 ci->RF_pga_boost_tune_core0);
18439 write_radio_reg(pi, RADIO_2057_TXMIX5G_BOOST_TUNE_CORE0,
18440 ci->RF_txmix5g_boost_tune_core0);
18441 write_radio_reg(pi, RADIO_2057_PAD5G_TUNE_MISC_PUS_CORE0,
18442 ci->RF_pad5g_tune_misc_pus_core0);
18443 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE0,
18444 ci->RF_lna2g_tune_core0);
18445 write_radio_reg(pi, RADIO_2057_LNA5G_TUNE_CORE0,
18446 ci->RF_lna5g_tune_core0);
18448 write_radio_reg(pi,
18449 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE1,
18450 ci->RF_txmix2g_tune_boost_pu_core1);
18451 write_radio_reg(pi,
18452 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
18453 ci->RF_pad2g_tune_pus_core1);
18454 write_radio_reg(pi, RADIO_2057_PGA_BOOST_TUNE_CORE1,
18455 ci->RF_pga_boost_tune_core1);
18456 write_radio_reg(pi, RADIO_2057_TXMIX5G_BOOST_TUNE_CORE1,
18457 ci->RF_txmix5g_boost_tune_core1);
18458 write_radio_reg(pi, RADIO_2057_PAD5G_TUNE_MISC_PUS_CORE1,
18459 ci->RF_pad5g_tune_misc_pus_core1);
18460 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE1,
18461 ci->RF_lna2g_tune_core1);
18462 write_radio_reg(pi, RADIO_2057_LNA5G_TUNE_CORE1,
18463 ci->RF_lna5g_tune_core1);
18466 if ((pi->pubpi.radiorev <= 4) || (pi->pubpi.radiorev == 6)) {
18468 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18469 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18470 0x3f);
18471 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x3f);
18472 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18473 0x8);
18474 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18475 0x8);
18476 } else {
18477 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18478 0x1f);
18479 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x3f);
18480 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18481 0x8);
18482 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18483 0x8);
18485 } else if ((pi->pubpi.radiorev == 5) || (pi->pubpi.radiorev == 7) ||
18486 (pi->pubpi.radiorev == 8)) {
18488 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18489 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18490 0x1b);
18491 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x30);
18492 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18493 0xa);
18494 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18495 0xa);
18496 } else {
18497 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18498 0x1f);
18499 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x3f);
18500 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18501 0x8);
18502 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18503 0x8);
18508 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18509 if (PHY_IPA(pi)) {
18510 if (pi->pubpi.radiorev == 3) {
18511 txmix2g_tune_boost_pu = 0x6b;
18514 if (pi->pubpi.radiorev == 5)
18515 pad2g_tune_pus = 0x73;
18517 } else {
18518 if (pi->pubpi.radiorev != 5) {
18519 pad2g_tune_pus = 0x3;
18521 txmix2g_tune_boost_pu = 0x61;
18525 for (coreNum = 0; coreNum <= 1; coreNum++) {
18527 if (txmix2g_tune_boost_pu != 0)
18528 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
18529 TXMIX2G_TUNE_BOOST_PU,
18530 txmix2g_tune_boost_pu);
18532 if (pad2g_tune_pus != 0)
18533 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
18534 PAD2G_TUNE_PUS,
18535 pad2g_tune_pus);
18539 OSL_DELAY(50);
18541 wlc_phy_radio205x_vcocal_nphy(pi);
18544 static uint16 wlc_phy_radio2057_rccal(phy_info_t *pi)
18546 uint16 rccal_valid;
18547 int i;
18548 bool chip43226_6362A0;
18550 chip43226_6362A0 = ((pi->pubpi.radiorev == 3)
18551 || (pi->pubpi.radiorev == 4)
18552 || (pi->pubpi.radiorev == 6));
18554 rccal_valid = 0;
18555 if (chip43226_6362A0) {
18556 write_radio_reg(pi, RADIO_2057_RCCAL_MASTER, 0x61);
18557 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xc0);
18558 } else {
18559 write_radio_reg(pi, RADIO_2057v7_RCCAL_MASTER, 0x61);
18561 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xe9);
18563 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x6e);
18564 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x55);
18566 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18567 rccal_valid = read_radio_reg(pi, RADIO_2057_RCCAL_DONE_OSCCAP);
18568 if (rccal_valid & 0x2) {
18569 break;
18571 OSL_DELAY(500);
18574 ASSERT(rccal_valid & 0x2);
18576 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x15);
18578 rccal_valid = 0;
18579 if (chip43226_6362A0) {
18580 write_radio_reg(pi, RADIO_2057_RCCAL_MASTER, 0x69);
18581 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xb0);
18582 } else {
18583 write_radio_reg(pi, RADIO_2057v7_RCCAL_MASTER, 0x69);
18585 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xd5);
18587 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x6e);
18588 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x55);
18590 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18591 rccal_valid = read_radio_reg(pi, RADIO_2057_RCCAL_DONE_OSCCAP);
18592 if (rccal_valid & 0x2) {
18593 break;
18595 OSL_DELAY(500);
18598 ASSERT(rccal_valid & 0x2);
18600 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x15);
18602 rccal_valid = 0;
18603 if (chip43226_6362A0) {
18604 write_radio_reg(pi, RADIO_2057_RCCAL_MASTER, 0x73);
18606 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x28);
18607 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xb0);
18608 } else {
18609 write_radio_reg(pi, RADIO_2057v7_RCCAL_MASTER, 0x73);
18610 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x6e);
18611 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0x99);
18613 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x55);
18615 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18616 rccal_valid = read_radio_reg(pi, RADIO_2057_RCCAL_DONE_OSCCAP);
18617 if (rccal_valid & 0x2) {
18618 break;
18620 OSL_DELAY(500);
18623 ASSERT(rccal_valid & 0x2);
18625 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x15);
18627 return rccal_valid;
18630 static void
18631 wlc_phy_adjust_rx_analpfbw_nphy(phy_info_t *pi, uint16 reduction_factr)
18633 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
18634 if ((CHSPEC_CHANNEL(pi->radio_chanspec) == 11) &&
18635 CHSPEC_IS40(pi->radio_chanspec)) {
18636 if (!pi->nphy_anarxlpf_adjusted) {
18637 write_radio_reg(pi,
18638 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
18639 RADIO_2056_RX0),
18640 ((pi->nphy_rccal_value +
18641 reduction_factr) | 0x80));
18643 pi->nphy_anarxlpf_adjusted = TRUE;
18645 } else {
18646 if (pi->nphy_anarxlpf_adjusted) {
18647 write_radio_reg(pi,
18648 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
18649 RADIO_2056_RX0),
18650 (pi->nphy_rccal_value | 0x80));
18652 pi->nphy_anarxlpf_adjusted = FALSE;
18658 static void
18659 wlc_phy_adjust_min_noisevar_nphy(phy_info_t *pi, int ntones, int *tone_id_buf,
18660 uint32 *noise_var_buf)
18662 int i;
18663 uint32 offset;
18664 int tone_id;
18665 int tbllen =
18666 CHSPEC_IS40(pi->
18667 radio_chanspec) ? NPHY_NOISEVAR_TBLLEN40 :
18668 NPHY_NOISEVAR_TBLLEN20;
18670 if (pi->nphy_noisevars_adjusted) {
18671 for (i = 0; i < pi->nphy_saved_noisevars.bufcount; i++) {
18672 tone_id = pi->nphy_saved_noisevars.tone_id[i];
18673 offset = (tone_id >= 0) ?
18674 ((tone_id * 2) + 1) : (tbllen + (tone_id * 2) + 1);
18675 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
18676 offset, 32,
18677 (void *)&pi->
18678 nphy_saved_noisevars.
18679 min_noise_vars[i]);
18682 pi->nphy_saved_noisevars.bufcount = 0;
18683 pi->nphy_noisevars_adjusted = FALSE;
18686 if ((noise_var_buf != NULL) && (tone_id_buf != NULL)) {
18687 pi->nphy_saved_noisevars.bufcount = 0;
18689 for (i = 0; i < ntones; i++) {
18690 tone_id = tone_id_buf[i];
18691 offset = (tone_id >= 0) ?
18692 ((tone_id * 2) + 1) : (tbllen + (tone_id * 2) + 1);
18693 pi->nphy_saved_noisevars.tone_id[i] = tone_id;
18694 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
18695 offset, 32,
18696 &pi->nphy_saved_noisevars.
18697 min_noise_vars[i]);
18698 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
18699 offset, 32,
18700 (void *)&noise_var_buf[i]);
18701 pi->nphy_saved_noisevars.bufcount++;
18704 pi->nphy_noisevars_adjusted = TRUE;
18708 static void wlc_phy_adjust_crsminpwr_nphy(phy_info_t *pi, u8 minpwr)
18710 uint16 regval;
18712 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18713 if ((CHSPEC_CHANNEL(pi->radio_chanspec) == 11) &&
18714 CHSPEC_IS40(pi->radio_chanspec)) {
18715 if (!pi->nphy_crsminpwr_adjusted) {
18716 regval = read_phy_reg(pi, 0x27d);
18717 pi->nphy_crsminpwr[0] = regval & 0xff;
18718 regval &= 0xff00;
18719 regval |= (uint16) minpwr;
18720 write_phy_reg(pi, 0x27d, regval);
18722 regval = read_phy_reg(pi, 0x280);
18723 pi->nphy_crsminpwr[1] = regval & 0xff;
18724 regval &= 0xff00;
18725 regval |= (uint16) minpwr;
18726 write_phy_reg(pi, 0x280, regval);
18728 regval = read_phy_reg(pi, 0x283);
18729 pi->nphy_crsminpwr[2] = regval & 0xff;
18730 regval &= 0xff00;
18731 regval |= (uint16) minpwr;
18732 write_phy_reg(pi, 0x283, regval);
18734 pi->nphy_crsminpwr_adjusted = TRUE;
18736 } else {
18737 if (pi->nphy_crsminpwr_adjusted) {
18738 regval = read_phy_reg(pi, 0x27d);
18739 regval &= 0xff00;
18740 regval |= pi->nphy_crsminpwr[0];
18741 write_phy_reg(pi, 0x27d, regval);
18743 regval = read_phy_reg(pi, 0x280);
18744 regval &= 0xff00;
18745 regval |= pi->nphy_crsminpwr[1];
18746 write_phy_reg(pi, 0x280, regval);
18748 regval = read_phy_reg(pi, 0x283);
18749 regval &= 0xff00;
18750 regval |= pi->nphy_crsminpwr[2];
18751 write_phy_reg(pi, 0x283, regval);
18753 pi->nphy_crsminpwr_adjusted = FALSE;
18759 static void wlc_phy_txlpfbw_nphy(phy_info_t *pi)
18761 u8 tx_lpf_bw = 0;
18763 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
18764 if (CHSPEC_IS40(pi->radio_chanspec)) {
18765 tx_lpf_bw = 3;
18766 } else {
18767 tx_lpf_bw = 1;
18770 if (PHY_IPA(pi)) {
18771 if (CHSPEC_IS40(pi->radio_chanspec)) {
18772 tx_lpf_bw = 5;
18773 } else {
18774 tx_lpf_bw = 4;
18777 write_phy_reg(pi, 0xe8,
18778 (tx_lpf_bw << 0) |
18779 (tx_lpf_bw << 3) |
18780 (tx_lpf_bw << 6) | (tx_lpf_bw << 9));
18782 if (PHY_IPA(pi)) {
18784 if (CHSPEC_IS40(pi->radio_chanspec)) {
18785 tx_lpf_bw = 4;
18786 } else {
18787 tx_lpf_bw = 1;
18790 write_phy_reg(pi, 0xe9,
18791 (tx_lpf_bw << 0) |
18792 (tx_lpf_bw << 3) |
18793 (tx_lpf_bw << 6) | (tx_lpf_bw << 9));
18798 static void wlc_phy_spurwar_nphy(phy_info_t *pi)
18800 uint16 cur_channel = 0;
18801 int nphy_adj_tone_id_buf[] = { 57, 58 };
18802 uint32 nphy_adj_noise_var_buf[] = { 0x3ff, 0x3ff };
18803 bool isAdjustNoiseVar = FALSE;
18804 uint numTonesAdjust = 0;
18805 uint32 tempval = 0;
18807 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18808 if (pi->phyhang_avoid)
18809 wlc_phy_stay_in_carriersearch_nphy(pi, TRUE);
18811 cur_channel = CHSPEC_CHANNEL(pi->radio_chanspec);
18813 if (pi->nphy_gband_spurwar_en) {
18815 wlc_phy_adjust_rx_analpfbw_nphy(pi,
18816 NPHY_ANARXLPFBW_REDUCTIONFACT);
18818 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18819 if ((cur_channel == 11)
18820 && CHSPEC_IS40(pi->radio_chanspec)) {
18822 wlc_phy_adjust_min_noisevar_nphy(pi, 2,
18823 nphy_adj_tone_id_buf,
18824 nphy_adj_noise_var_buf);
18825 } else {
18827 wlc_phy_adjust_min_noisevar_nphy(pi, 0,
18828 NULL,
18829 NULL);
18832 wlc_phy_adjust_crsminpwr_nphy(pi,
18833 NPHY_ADJUSTED_MINCRSPOWER);
18836 if ((pi->nphy_gband_spurwar2_en)
18837 && CHSPEC_IS2G(pi->radio_chanspec)) {
18839 if (CHSPEC_IS40(pi->radio_chanspec)) {
18840 switch (cur_channel) {
18841 case 3:
18842 nphy_adj_tone_id_buf[0] = 57;
18843 nphy_adj_tone_id_buf[1] = 58;
18844 nphy_adj_noise_var_buf[0] = 0x22f;
18845 nphy_adj_noise_var_buf[1] = 0x25f;
18846 isAdjustNoiseVar = TRUE;
18847 break;
18848 case 4:
18849 nphy_adj_tone_id_buf[0] = 41;
18850 nphy_adj_tone_id_buf[1] = 42;
18851 nphy_adj_noise_var_buf[0] = 0x22f;
18852 nphy_adj_noise_var_buf[1] = 0x25f;
18853 isAdjustNoiseVar = TRUE;
18854 break;
18855 case 5:
18856 nphy_adj_tone_id_buf[0] = 25;
18857 nphy_adj_tone_id_buf[1] = 26;
18858 nphy_adj_noise_var_buf[0] = 0x24f;
18859 nphy_adj_noise_var_buf[1] = 0x25f;
18860 isAdjustNoiseVar = TRUE;
18861 break;
18862 case 6:
18863 nphy_adj_tone_id_buf[0] = 9;
18864 nphy_adj_tone_id_buf[1] = 10;
18865 nphy_adj_noise_var_buf[0] = 0x22f;
18866 nphy_adj_noise_var_buf[1] = 0x24f;
18867 isAdjustNoiseVar = TRUE;
18868 break;
18869 case 7:
18870 nphy_adj_tone_id_buf[0] = 121;
18871 nphy_adj_tone_id_buf[1] = 122;
18872 nphy_adj_noise_var_buf[0] = 0x18f;
18873 nphy_adj_noise_var_buf[1] = 0x24f;
18874 isAdjustNoiseVar = TRUE;
18875 break;
18876 case 8:
18877 nphy_adj_tone_id_buf[0] = 105;
18878 nphy_adj_tone_id_buf[1] = 106;
18879 nphy_adj_noise_var_buf[0] = 0x22f;
18880 nphy_adj_noise_var_buf[1] = 0x25f;
18881 isAdjustNoiseVar = TRUE;
18882 break;
18883 case 9:
18884 nphy_adj_tone_id_buf[0] = 89;
18885 nphy_adj_tone_id_buf[1] = 90;
18886 nphy_adj_noise_var_buf[0] = 0x22f;
18887 nphy_adj_noise_var_buf[1] = 0x24f;
18888 isAdjustNoiseVar = TRUE;
18889 break;
18890 case 10:
18891 nphy_adj_tone_id_buf[0] = 73;
18892 nphy_adj_tone_id_buf[1] = 74;
18893 nphy_adj_noise_var_buf[0] = 0x22f;
18894 nphy_adj_noise_var_buf[1] = 0x24f;
18895 isAdjustNoiseVar = TRUE;
18896 break;
18897 default:
18898 isAdjustNoiseVar = FALSE;
18899 break;
18903 if (isAdjustNoiseVar) {
18904 numTonesAdjust = sizeof(nphy_adj_tone_id_buf) /
18905 sizeof(nphy_adj_tone_id_buf[0]);
18907 wlc_phy_adjust_min_noisevar_nphy(pi,
18908 numTonesAdjust,
18909 nphy_adj_tone_id_buf,
18910 nphy_adj_noise_var_buf);
18912 tempval = 0;
18914 } else {
18916 wlc_phy_adjust_min_noisevar_nphy(pi, 0, NULL,
18917 NULL);
18921 if ((pi->nphy_aband_spurwar_en) &&
18922 (CHSPEC_IS5G(pi->radio_chanspec))) {
18923 switch (cur_channel) {
18924 case 54:
18925 nphy_adj_tone_id_buf[0] = 32;
18926 nphy_adj_noise_var_buf[0] = 0x25f;
18927 break;
18928 case 38:
18929 case 102:
18930 case 118:
18931 if ((CHIPID(pi->sh->chip) == BCM4716_CHIP_ID) &&
18932 (pi->sh->chippkg == BCM4717_PKG_ID)) {
18933 nphy_adj_tone_id_buf[0] = 32;
18934 nphy_adj_noise_var_buf[0] = 0x21f;
18935 } else {
18936 nphy_adj_tone_id_buf[0] = 0;
18937 nphy_adj_noise_var_buf[0] = 0x0;
18939 break;
18940 case 134:
18941 nphy_adj_tone_id_buf[0] = 32;
18942 nphy_adj_noise_var_buf[0] = 0x21f;
18943 break;
18944 case 151:
18945 nphy_adj_tone_id_buf[0] = 16;
18946 nphy_adj_noise_var_buf[0] = 0x23f;
18947 break;
18948 case 153:
18949 case 161:
18950 nphy_adj_tone_id_buf[0] = 48;
18951 nphy_adj_noise_var_buf[0] = 0x23f;
18952 break;
18953 default:
18954 nphy_adj_tone_id_buf[0] = 0;
18955 nphy_adj_noise_var_buf[0] = 0x0;
18956 break;
18959 if (nphy_adj_tone_id_buf[0]
18960 && nphy_adj_noise_var_buf[0]) {
18961 wlc_phy_adjust_min_noisevar_nphy(pi, 1,
18962 nphy_adj_tone_id_buf,
18963 nphy_adj_noise_var_buf);
18964 } else {
18965 wlc_phy_adjust_min_noisevar_nphy(pi, 0, NULL,
18966 NULL);
18970 if (pi->phyhang_avoid)
18971 wlc_phy_stay_in_carriersearch_nphy(pi, FALSE);
18975 static void
18976 wlc_phy_chanspec_nphy_setup(phy_info_t *pi, chanspec_t chanspec,
18977 const nphy_sfo_cfg_t *ci)
18979 uint16 val;
18981 val = read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand;
18982 if (CHSPEC_IS5G(chanspec) && !val) {
18984 val = R_REG(pi->sh->osh, &pi->regs->psm_phy_hdr_param);
18985 W_REG(pi->sh->osh, &pi->regs->psm_phy_hdr_param,
18986 (val | MAC_PHY_FORCE_CLK));
18988 or_phy_reg(pi, (NPHY_TO_BPHY_OFF + BPHY_BB_CONFIG),
18989 (BBCFG_RESETCCA | BBCFG_RESETRX));
18991 W_REG(pi->sh->osh, &pi->regs->psm_phy_hdr_param, val);
18993 or_phy_reg(pi, 0x09, NPHY_BandControl_currentBand);
18994 } else if (!CHSPEC_IS5G(chanspec) && val) {
18996 and_phy_reg(pi, 0x09, ~NPHY_BandControl_currentBand);
18998 val = R_REG(pi->sh->osh, &pi->regs->psm_phy_hdr_param);
18999 W_REG(pi->sh->osh, &pi->regs->psm_phy_hdr_param,
19000 (val | MAC_PHY_FORCE_CLK));
19002 and_phy_reg(pi, (NPHY_TO_BPHY_OFF + BPHY_BB_CONFIG),
19003 (uint16) (~(BBCFG_RESETCCA | BBCFG_RESETRX)));
19005 W_REG(pi->sh->osh, &pi->regs->psm_phy_hdr_param, val);
19008 write_phy_reg(pi, 0x1ce, ci->PHY_BW1a);
19009 write_phy_reg(pi, 0x1cf, ci->PHY_BW2);
19010 write_phy_reg(pi, 0x1d0, ci->PHY_BW3);
19012 write_phy_reg(pi, 0x1d1, ci->PHY_BW4);
19013 write_phy_reg(pi, 0x1d2, ci->PHY_BW5);
19014 write_phy_reg(pi, 0x1d3, ci->PHY_BW6);
19016 if (CHSPEC_CHANNEL(pi->radio_chanspec) == 14) {
19017 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_ofdm_en, 0);
19019 or_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_TEST, 0x800);
19020 } else {
19021 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_ofdm_en,
19022 NPHY_ClassifierCtrl_ofdm_en);
19024 if (CHSPEC_IS2G(chanspec))
19025 and_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_TEST, ~0x840);
19028 if (pi->nphy_txpwrctrl == PHY_TPC_HW_OFF) {
19029 wlc_phy_txpwr_fixpower_nphy(pi);
19032 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
19034 wlc_phy_adjust_lnagaintbl_nphy(pi);
19037 wlc_phy_txlpfbw_nphy(pi);
19039 if (NREV_GE(pi->pubpi.phy_rev, 3)
19040 && (pi->phy_spuravoid != SPURAVOID_DISABLE)) {
19041 u8 spuravoid = 0;
19043 val = CHSPEC_CHANNEL(chanspec);
19044 if (!CHSPEC_IS40(pi->radio_chanspec)) {
19045 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19046 if ((val == 13) || (val == 14) || (val == 153)) {
19047 spuravoid = 1;
19049 } else {
19051 if (((val >= 5) && (val <= 8)) || (val == 13)
19052 || (val == 14)) {
19053 spuravoid = 1;
19056 } else {
19057 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19058 if (val == 54) {
19059 spuravoid = 1;
19061 } else {
19063 if (pi->nphy_aband_spurwar_en &&
19064 ((val == 38) || (val == 102)
19065 || (val == 118))) {
19066 if ((CHIPID(pi->sh->chip) ==
19067 BCM4716_CHIP_ID)
19068 && (pi->sh->chippkg ==
19069 BCM4717_PKG_ID)) {
19070 spuravoid = 0;
19071 } else {
19072 spuravoid = 1;
19078 if (pi->phy_spuravoid == SPURAVOID_FORCEON)
19079 spuravoid = 1;
19081 if ((CHIPID(pi->sh->chip) == BCM4716_CHIP_ID) ||
19082 (CHIPID(pi->sh->chip) == BCM47162_CHIP_ID)) {
19083 si_pmu_spuravoid(pi->sh->sih, pi->sh->osh, spuravoid);
19084 } else {
19085 wlapi_bmac_core_phypll_ctl(pi->sh->physhim, FALSE);
19086 si_pmu_spuravoid(pi->sh->sih, pi->sh->osh, spuravoid);
19087 wlapi_bmac_core_phypll_ctl(pi->sh->physhim, TRUE);
19090 if ((CHIPID(pi->sh->chip) == BCM43224_CHIP_ID) ||
19091 (CHIPID(pi->sh->chip) == BCM43225_CHIP_ID) ||
19092 (CHIPID(pi->sh->chip) == BCM43421_CHIP_ID)) {
19094 if (spuravoid == 1) {
19096 W_REG(pi->sh->osh, &pi->regs->tsf_clk_frac_l,
19097 0x5341);
19098 W_REG(pi->sh->osh, &pi->regs->tsf_clk_frac_h,
19099 0x8);
19100 } else {
19102 W_REG(pi->sh->osh, &pi->regs->tsf_clk_frac_l,
19103 0x8889);
19104 W_REG(pi->sh->osh, &pi->regs->tsf_clk_frac_h,
19105 0x8);
19109 if (!((CHIPID(pi->sh->chip) == BCM4716_CHIP_ID) ||
19110 (CHIPID(pi->sh->chip) == BCM47162_CHIP_ID))) {
19111 wlapi_bmac_core_phypll_reset(pi->sh->physhim);
19114 mod_phy_reg(pi, 0x01, (0x1 << 15),
19115 ((spuravoid > 0) ? (0x1 << 15) : 0));
19117 wlc_phy_resetcca_nphy(pi);
19119 pi->phy_isspuravoid = (spuravoid > 0);
19122 if (NREV_LT(pi->pubpi.phy_rev, 7))
19123 write_phy_reg(pi, 0x17e, 0x3830);
19125 wlc_phy_spurwar_nphy(pi);
19128 void wlc_phy_chanspec_set_nphy(phy_info_t *pi, chanspec_t chanspec)
19130 int freq;
19131 chan_info_nphy_radio2057_t *t0 = NULL;
19132 chan_info_nphy_radio205x_t *t1 = NULL;
19133 chan_info_nphy_radio2057_rev5_t *t2 = NULL;
19134 chan_info_nphy_2055_t *t3 = NULL;
19136 if (NORADIO_ENAB(pi->pubpi)) {
19137 return;
19140 if (!wlc_phy_chan2freq_nphy
19141 (pi, CHSPEC_CHANNEL(chanspec), &freq, &t0, &t1, &t2, &t3))
19142 return;
19144 wlc_phy_chanspec_radio_set((wlc_phy_t *) pi, chanspec);
19146 if (CHSPEC_BW(chanspec) != pi->bw)
19147 wlapi_bmac_bw_set(pi->sh->physhim, CHSPEC_BW(chanspec));
19149 if (CHSPEC_IS40(chanspec)) {
19150 if (CHSPEC_SB_UPPER(chanspec)) {
19151 or_phy_reg(pi, 0xa0, BPHY_BAND_SEL_UP20);
19152 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19153 or_phy_reg(pi, 0x310, PRIM_SEL_UP20);
19155 } else {
19156 and_phy_reg(pi, 0xa0, ~BPHY_BAND_SEL_UP20);
19157 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19158 and_phy_reg(pi, 0x310,
19159 (~PRIM_SEL_UP20 & 0xffff));
19164 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19165 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19167 if ((pi->pubpi.radiorev <= 4)
19168 || (pi->pubpi.radiorev == 6)) {
19169 mod_radio_reg(pi, RADIO_2057_TIA_CONFIG_CORE0,
19170 0x2,
19171 (CHSPEC_IS5G(chanspec) ? (1 << 1)
19172 : 0));
19173 mod_radio_reg(pi, RADIO_2057_TIA_CONFIG_CORE1,
19174 0x2,
19175 (CHSPEC_IS5G(chanspec) ? (1 << 1)
19176 : 0));
19179 wlc_phy_chanspec_radio2057_setup(pi, t0, t2);
19180 wlc_phy_chanspec_nphy_setup(pi, chanspec,
19181 (pi->pubpi.radiorev ==
19182 5) ? (const nphy_sfo_cfg_t
19183 *)&(t2->
19184 PHY_BW1a)
19185 : (const nphy_sfo_cfg_t *)
19186 &(t0->PHY_BW1a));
19188 } else {
19190 mod_radio_reg(pi,
19191 RADIO_2056_SYN_COM_CTRL | RADIO_2056_SYN,
19192 0x4,
19193 (CHSPEC_IS5G(chanspec) ? (0x1 << 2) : 0));
19194 wlc_phy_chanspec_radio2056_setup(pi, t1);
19196 wlc_phy_chanspec_nphy_setup(pi, chanspec,
19197 (const nphy_sfo_cfg_t *)
19198 &(t1->PHY_BW1a));
19201 } else {
19203 mod_radio_reg(pi, RADIO_2055_MASTER_CNTRL1, 0x70,
19204 (CHSPEC_IS5G(chanspec) ? (0x02 << 4)
19205 : (0x05 << 4)));
19207 wlc_phy_chanspec_radio2055_setup(pi, t3);
19208 wlc_phy_chanspec_nphy_setup(pi, chanspec,
19209 (const nphy_sfo_cfg_t *)&(t3->
19210 PHY_BW1a));
19215 static void wlc_phy_savecal_nphy(phy_info_t *pi)
19217 void *tbl_ptr;
19218 int coreNum;
19219 uint16 *txcal_radio_regs = NULL;
19221 if (pi->phyhang_avoid)
19222 wlc_phy_stay_in_carriersearch_nphy(pi, TRUE);
19224 if (CHSPEC_IS2G(pi->radio_chanspec)) {
19226 wlc_phy_rx_iq_coeffs_nphy(pi, 0,
19227 &pi->calibration_cache.
19228 rxcal_coeffs_2G);
19230 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19231 txcal_radio_regs =
19232 pi->calibration_cache.txcal_radio_regs_2G;
19233 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19235 pi->calibration_cache.txcal_radio_regs_2G[0] =
19236 read_radio_reg(pi,
19237 RADIO_2056_TX_LOFT_FINE_I |
19238 RADIO_2056_TX0);
19239 pi->calibration_cache.txcal_radio_regs_2G[1] =
19240 read_radio_reg(pi,
19241 RADIO_2056_TX_LOFT_FINE_Q |
19242 RADIO_2056_TX0);
19243 pi->calibration_cache.txcal_radio_regs_2G[2] =
19244 read_radio_reg(pi,
19245 RADIO_2056_TX_LOFT_FINE_I |
19246 RADIO_2056_TX1);
19247 pi->calibration_cache.txcal_radio_regs_2G[3] =
19248 read_radio_reg(pi,
19249 RADIO_2056_TX_LOFT_FINE_Q |
19250 RADIO_2056_TX1);
19252 pi->calibration_cache.txcal_radio_regs_2G[4] =
19253 read_radio_reg(pi,
19254 RADIO_2056_TX_LOFT_COARSE_I |
19255 RADIO_2056_TX0);
19256 pi->calibration_cache.txcal_radio_regs_2G[5] =
19257 read_radio_reg(pi,
19258 RADIO_2056_TX_LOFT_COARSE_Q |
19259 RADIO_2056_TX0);
19260 pi->calibration_cache.txcal_radio_regs_2G[6] =
19261 read_radio_reg(pi,
19262 RADIO_2056_TX_LOFT_COARSE_I |
19263 RADIO_2056_TX1);
19264 pi->calibration_cache.txcal_radio_regs_2G[7] =
19265 read_radio_reg(pi,
19266 RADIO_2056_TX_LOFT_COARSE_Q |
19267 RADIO_2056_TX1);
19268 } else {
19269 pi->calibration_cache.txcal_radio_regs_2G[0] =
19270 read_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL);
19271 pi->calibration_cache.txcal_radio_regs_2G[1] =
19272 read_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL);
19273 pi->calibration_cache.txcal_radio_regs_2G[2] =
19274 read_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM);
19275 pi->calibration_cache.txcal_radio_regs_2G[3] =
19276 read_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM);
19279 pi->nphy_iqcal_chanspec_2G = pi->radio_chanspec;
19280 tbl_ptr = pi->calibration_cache.txcal_coeffs_2G;
19281 } else {
19283 wlc_phy_rx_iq_coeffs_nphy(pi, 0,
19284 &pi->calibration_cache.
19285 rxcal_coeffs_5G);
19287 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19288 txcal_radio_regs =
19289 pi->calibration_cache.txcal_radio_regs_5G;
19290 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19292 pi->calibration_cache.txcal_radio_regs_5G[0] =
19293 read_radio_reg(pi,
19294 RADIO_2056_TX_LOFT_FINE_I |
19295 RADIO_2056_TX0);
19296 pi->calibration_cache.txcal_radio_regs_5G[1] =
19297 read_radio_reg(pi,
19298 RADIO_2056_TX_LOFT_FINE_Q |
19299 RADIO_2056_TX0);
19300 pi->calibration_cache.txcal_radio_regs_5G[2] =
19301 read_radio_reg(pi,
19302 RADIO_2056_TX_LOFT_FINE_I |
19303 RADIO_2056_TX1);
19304 pi->calibration_cache.txcal_radio_regs_5G[3] =
19305 read_radio_reg(pi,
19306 RADIO_2056_TX_LOFT_FINE_Q |
19307 RADIO_2056_TX1);
19309 pi->calibration_cache.txcal_radio_regs_5G[4] =
19310 read_radio_reg(pi,
19311 RADIO_2056_TX_LOFT_COARSE_I |
19312 RADIO_2056_TX0);
19313 pi->calibration_cache.txcal_radio_regs_5G[5] =
19314 read_radio_reg(pi,
19315 RADIO_2056_TX_LOFT_COARSE_Q |
19316 RADIO_2056_TX0);
19317 pi->calibration_cache.txcal_radio_regs_5G[6] =
19318 read_radio_reg(pi,
19319 RADIO_2056_TX_LOFT_COARSE_I |
19320 RADIO_2056_TX1);
19321 pi->calibration_cache.txcal_radio_regs_5G[7] =
19322 read_radio_reg(pi,
19323 RADIO_2056_TX_LOFT_COARSE_Q |
19324 RADIO_2056_TX1);
19325 } else {
19326 pi->calibration_cache.txcal_radio_regs_5G[0] =
19327 read_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL);
19328 pi->calibration_cache.txcal_radio_regs_5G[1] =
19329 read_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL);
19330 pi->calibration_cache.txcal_radio_regs_5G[2] =
19331 read_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM);
19332 pi->calibration_cache.txcal_radio_regs_5G[3] =
19333 read_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM);
19336 pi->nphy_iqcal_chanspec_5G = pi->radio_chanspec;
19337 tbl_ptr = pi->calibration_cache.txcal_coeffs_5G;
19339 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19340 for (coreNum = 0; coreNum <= 1; coreNum++) {
19342 txcal_radio_regs[2 * coreNum] =
19343 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19344 LOFT_FINE_I);
19345 txcal_radio_regs[2 * coreNum + 1] =
19346 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19347 LOFT_FINE_Q);
19349 txcal_radio_regs[2 * coreNum + 4] =
19350 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19351 LOFT_COARSE_I);
19352 txcal_radio_regs[2 * coreNum + 5] =
19353 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19354 LOFT_COARSE_Q);
19358 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 8, 80, 16, tbl_ptr);
19360 if (pi->phyhang_avoid)
19361 wlc_phy_stay_in_carriersearch_nphy(pi, FALSE);
19364 static void wlc_phy_restorecal_nphy(phy_info_t *pi)
19366 uint16 *loft_comp;
19367 uint16 txcal_coeffs_bphy[4];
19368 uint16 *tbl_ptr;
19369 int coreNum;
19370 uint16 *txcal_radio_regs = NULL;
19372 if (CHSPEC_IS2G(pi->radio_chanspec)) {
19373 if (pi->nphy_iqcal_chanspec_2G == 0)
19374 return;
19376 tbl_ptr = pi->calibration_cache.txcal_coeffs_2G;
19377 loft_comp = &pi->calibration_cache.txcal_coeffs_2G[5];
19378 } else {
19379 if (pi->nphy_iqcal_chanspec_5G == 0)
19380 return;
19382 tbl_ptr = pi->calibration_cache.txcal_coeffs_5G;
19383 loft_comp = &pi->calibration_cache.txcal_coeffs_5G[5];
19386 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 80, 16,
19387 (void *)tbl_ptr);
19389 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19390 txcal_coeffs_bphy[0] = tbl_ptr[0];
19391 txcal_coeffs_bphy[1] = tbl_ptr[1];
19392 txcal_coeffs_bphy[2] = tbl_ptr[2];
19393 txcal_coeffs_bphy[3] = tbl_ptr[3];
19394 } else {
19395 txcal_coeffs_bphy[0] = 0;
19396 txcal_coeffs_bphy[1] = 0;
19397 txcal_coeffs_bphy[2] = 0;
19398 txcal_coeffs_bphy[3] = 0;
19401 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 88, 16,
19402 txcal_coeffs_bphy);
19404 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 85, 16, loft_comp);
19406 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 93, 16, loft_comp);
19408 if (NREV_LT(pi->pubpi.phy_rev, 2))
19409 wlc_phy_tx_iq_war_nphy(pi);
19411 if (CHSPEC_IS2G(pi->radio_chanspec)) {
19412 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19413 txcal_radio_regs =
19414 pi->calibration_cache.txcal_radio_regs_2G;
19415 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19417 write_radio_reg(pi,
19418 RADIO_2056_TX_LOFT_FINE_I |
19419 RADIO_2056_TX0,
19420 pi->calibration_cache.
19421 txcal_radio_regs_2G[0]);
19422 write_radio_reg(pi,
19423 RADIO_2056_TX_LOFT_FINE_Q |
19424 RADIO_2056_TX0,
19425 pi->calibration_cache.
19426 txcal_radio_regs_2G[1]);
19427 write_radio_reg(pi,
19428 RADIO_2056_TX_LOFT_FINE_I |
19429 RADIO_2056_TX1,
19430 pi->calibration_cache.
19431 txcal_radio_regs_2G[2]);
19432 write_radio_reg(pi,
19433 RADIO_2056_TX_LOFT_FINE_Q |
19434 RADIO_2056_TX1,
19435 pi->calibration_cache.
19436 txcal_radio_regs_2G[3]);
19438 write_radio_reg(pi,
19439 RADIO_2056_TX_LOFT_COARSE_I |
19440 RADIO_2056_TX0,
19441 pi->calibration_cache.
19442 txcal_radio_regs_2G[4]);
19443 write_radio_reg(pi,
19444 RADIO_2056_TX_LOFT_COARSE_Q |
19445 RADIO_2056_TX0,
19446 pi->calibration_cache.
19447 txcal_radio_regs_2G[5]);
19448 write_radio_reg(pi,
19449 RADIO_2056_TX_LOFT_COARSE_I |
19450 RADIO_2056_TX1,
19451 pi->calibration_cache.
19452 txcal_radio_regs_2G[6]);
19453 write_radio_reg(pi,
19454 RADIO_2056_TX_LOFT_COARSE_Q |
19455 RADIO_2056_TX1,
19456 pi->calibration_cache.
19457 txcal_radio_regs_2G[7]);
19458 } else {
19459 write_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL,
19460 pi->calibration_cache.
19461 txcal_radio_regs_2G[0]);
19462 write_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL,
19463 pi->calibration_cache.
19464 txcal_radio_regs_2G[1]);
19465 write_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM,
19466 pi->calibration_cache.
19467 txcal_radio_regs_2G[2]);
19468 write_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM,
19469 pi->calibration_cache.
19470 txcal_radio_regs_2G[3]);
19473 wlc_phy_rx_iq_coeffs_nphy(pi, 1,
19474 &pi->calibration_cache.
19475 rxcal_coeffs_2G);
19476 } else {
19477 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19478 txcal_radio_regs =
19479 pi->calibration_cache.txcal_radio_regs_5G;
19480 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19482 write_radio_reg(pi,
19483 RADIO_2056_TX_LOFT_FINE_I |
19484 RADIO_2056_TX0,
19485 pi->calibration_cache.
19486 txcal_radio_regs_5G[0]);
19487 write_radio_reg(pi,
19488 RADIO_2056_TX_LOFT_FINE_Q |
19489 RADIO_2056_TX0,
19490 pi->calibration_cache.
19491 txcal_radio_regs_5G[1]);
19492 write_radio_reg(pi,
19493 RADIO_2056_TX_LOFT_FINE_I |
19494 RADIO_2056_TX1,
19495 pi->calibration_cache.
19496 txcal_radio_regs_5G[2]);
19497 write_radio_reg(pi,
19498 RADIO_2056_TX_LOFT_FINE_Q |
19499 RADIO_2056_TX1,
19500 pi->calibration_cache.
19501 txcal_radio_regs_5G[3]);
19503 write_radio_reg(pi,
19504 RADIO_2056_TX_LOFT_COARSE_I |
19505 RADIO_2056_TX0,
19506 pi->calibration_cache.
19507 txcal_radio_regs_5G[4]);
19508 write_radio_reg(pi,
19509 RADIO_2056_TX_LOFT_COARSE_Q |
19510 RADIO_2056_TX0,
19511 pi->calibration_cache.
19512 txcal_radio_regs_5G[5]);
19513 write_radio_reg(pi,
19514 RADIO_2056_TX_LOFT_COARSE_I |
19515 RADIO_2056_TX1,
19516 pi->calibration_cache.
19517 txcal_radio_regs_5G[6]);
19518 write_radio_reg(pi,
19519 RADIO_2056_TX_LOFT_COARSE_Q |
19520 RADIO_2056_TX1,
19521 pi->calibration_cache.
19522 txcal_radio_regs_5G[7]);
19523 } else {
19524 write_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL,
19525 pi->calibration_cache.
19526 txcal_radio_regs_5G[0]);
19527 write_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL,
19528 pi->calibration_cache.
19529 txcal_radio_regs_5G[1]);
19530 write_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM,
19531 pi->calibration_cache.
19532 txcal_radio_regs_5G[2]);
19533 write_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM,
19534 pi->calibration_cache.
19535 txcal_radio_regs_5G[3]);
19538 wlc_phy_rx_iq_coeffs_nphy(pi, 1,
19539 &pi->calibration_cache.
19540 rxcal_coeffs_5G);
19543 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19544 for (coreNum = 0; coreNum <= 1; coreNum++) {
19546 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19547 LOFT_FINE_I,
19548 txcal_radio_regs[2 * coreNum]);
19549 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19550 LOFT_FINE_Q,
19551 txcal_radio_regs[2 * coreNum + 1]);
19553 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19554 LOFT_COARSE_I,
19555 txcal_radio_regs[2 * coreNum + 4]);
19556 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19557 LOFT_COARSE_Q,
19558 txcal_radio_regs[2 * coreNum + 5]);
19563 void wlc_phy_antsel_init(wlc_phy_t *ppi, bool lut_init)
19565 phy_info_t *pi = (phy_info_t *) ppi;
19566 uint16 mask = 0xfc00;
19567 uint32 mc = 0;
19569 if (NREV_GE(pi->pubpi.phy_rev, 7))
19570 return;
19572 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19573 uint16 v0 = 0x211, v1 = 0x222, v2 = 0x144, v3 = 0x188;
19575 if (lut_init == FALSE)
19576 return;
19578 if (pi->srom_fem2g.antswctrllut == 0) {
19579 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19580 1, 0x02, 16, &v0);
19581 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19582 1, 0x03, 16, &v1);
19583 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19584 1, 0x08, 16, &v2);
19585 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19586 1, 0x0C, 16, &v3);
19587 } else {
19588 ASSERT(0);
19591 if (pi->srom_fem5g.antswctrllut == 0) {
19592 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19593 1, 0x12, 16, &v0);
19594 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19595 1, 0x13, 16, &v1);
19596 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19597 1, 0x18, 16, &v2);
19598 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19599 1, 0x1C, 16, &v3);
19600 } else {
19601 ASSERT(0);
19603 } else {
19605 write_phy_reg(pi, 0xc8, 0x0);
19606 write_phy_reg(pi, 0xc9, 0x0);
19608 si_gpiocontrol(pi->sh->sih, mask, mask, GPIO_DRV_PRIORITY);
19610 mc = R_REG(pi->sh->osh, &pi->regs->maccontrol);
19611 mc &= ~MCTL_GPOUT_SEL_MASK;
19612 W_REG(pi->sh->osh, &pi->regs->maccontrol, mc);
19614 OR_REG(pi->sh->osh, &pi->regs->psm_gpio_oe, mask);
19616 AND_REG(pi->sh->osh, &pi->regs->psm_gpio_out, ~mask);
19618 if (lut_init) {
19619 write_phy_reg(pi, 0xf8, 0x02d8);
19620 write_phy_reg(pi, 0xf9, 0x0301);
19621 write_phy_reg(pi, 0xfa, 0x02d8);
19622 write_phy_reg(pi, 0xfb, 0x0301);
19627 uint16 wlc_phy_classifier_nphy(phy_info_t *pi, uint16 mask, uint16 val)
19629 uint16 curr_ctl, new_ctl;
19630 bool suspended = FALSE;
19632 if (D11REV_IS(pi->sh->corerev, 16)) {
19633 suspended =
19634 (R_REG(pi->sh->osh, &pi->regs->maccontrol) & MCTL_EN_MAC) ?
19635 FALSE : TRUE;
19636 if (!suspended)
19637 wlapi_suspend_mac_and_wait(pi->sh->physhim);
19640 curr_ctl = read_phy_reg(pi, 0xb0) & (0x7 << 0);
19642 new_ctl = (curr_ctl & (~mask)) | (val & mask);
19644 mod_phy_reg(pi, 0xb0, (0x7 << 0), new_ctl);
19646 if (D11REV_IS(pi->sh->corerev, 16) && !suspended)
19647 wlapi_enable_mac(pi->sh->physhim);
19649 return new_ctl;
19652 static void wlc_phy_clip_det_nphy(phy_info_t *pi, u8 write, uint16 *vals)
19655 if (write == 0) {
19656 vals[0] = read_phy_reg(pi, 0x2c);
19657 vals[1] = read_phy_reg(pi, 0x42);
19658 } else {
19659 write_phy_reg(pi, 0x2c, vals[0]);
19660 write_phy_reg(pi, 0x42, vals[1]);
19664 void wlc_phy_force_rfseq_nphy(phy_info_t *pi, u8 cmd)
19666 uint16 trigger_mask, status_mask;
19667 uint16 orig_RfseqCoreActv;
19669 switch (cmd) {
19670 case NPHY_RFSEQ_RX2TX:
19671 trigger_mask = NPHY_RfseqTrigger_rx2tx;
19672 status_mask = NPHY_RfseqStatus_rx2tx;
19673 break;
19674 case NPHY_RFSEQ_TX2RX:
19675 trigger_mask = NPHY_RfseqTrigger_tx2rx;
19676 status_mask = NPHY_RfseqStatus_tx2rx;
19677 break;
19678 case NPHY_RFSEQ_RESET2RX:
19679 trigger_mask = NPHY_RfseqTrigger_reset2rx;
19680 status_mask = NPHY_RfseqStatus_reset2rx;
19681 break;
19682 case NPHY_RFSEQ_UPDATEGAINH:
19683 trigger_mask = NPHY_RfseqTrigger_updategainh;
19684 status_mask = NPHY_RfseqStatus_updategainh;
19685 break;
19686 case NPHY_RFSEQ_UPDATEGAINL:
19687 trigger_mask = NPHY_RfseqTrigger_updategainl;
19688 status_mask = NPHY_RfseqStatus_updategainl;
19689 break;
19690 case NPHY_RFSEQ_UPDATEGAINU:
19691 trigger_mask = NPHY_RfseqTrigger_updategainu;
19692 status_mask = NPHY_RfseqStatus_updategainu;
19693 break;
19694 default:
19695 return;
19698 orig_RfseqCoreActv = read_phy_reg(pi, 0xa1);
19699 or_phy_reg(pi, 0xa1,
19700 (NPHY_RfseqMode_CoreActv_override |
19701 NPHY_RfseqMode_Trigger_override));
19702 or_phy_reg(pi, 0xa3, trigger_mask);
19703 SPINWAIT((read_phy_reg(pi, 0xa4) & status_mask), 200000);
19704 write_phy_reg(pi, 0xa1, orig_RfseqCoreActv);
19706 ASSERT((read_phy_reg(pi, 0xa4) & status_mask) == 0);
19709 static void
19710 wlc_phy_set_rfseq_nphy(phy_info_t *pi, u8 cmd, u8 *events, u8 *dlys,
19711 u8 len)
19713 uint32 t1_offset, t2_offset;
19714 u8 ctr;
19715 u8 end_event =
19716 NREV_GE(pi->pubpi.phy_rev,
19717 3) ? NPHY_REV3_RFSEQ_CMD_END : NPHY_RFSEQ_CMD_END;
19718 u8 end_dly = 1;
19720 ASSERT(len <= 16);
19722 if (pi->phyhang_avoid)
19723 wlc_phy_stay_in_carriersearch_nphy(pi, TRUE);
19725 t1_offset = cmd << 4;
19726 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, len, t1_offset, 8,
19727 events);
19728 t2_offset = t1_offset + 0x080;
19729 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, len, t2_offset, 8,
19730 dlys);
19732 for (ctr = len; ctr < 16; ctr++) {
19733 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1,
19734 t1_offset + ctr, 8, &end_event);
19735 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1,
19736 t2_offset + ctr, 8, &end_dly);
19739 if (pi->phyhang_avoid)
19740 wlc_phy_stay_in_carriersearch_nphy(pi, FALSE);
19743 static uint16 wlc_phy_read_lpf_bw_ctl_nphy(phy_info_t *pi, uint16 offset)
19745 uint16 lpf_bw_ctl_val = 0;
19746 uint16 rx2tx_lpf_rc_lut_offset = 0;
19748 if (offset == 0) {
19749 if (CHSPEC_IS40(pi->radio_chanspec)) {
19750 rx2tx_lpf_rc_lut_offset = 0x159;
19751 } else {
19752 rx2tx_lpf_rc_lut_offset = 0x154;
19754 } else {
19755 rx2tx_lpf_rc_lut_offset = offset;
19757 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 1,
19758 (uint32) rx2tx_lpf_rc_lut_offset, 16,
19759 &lpf_bw_ctl_val);
19761 lpf_bw_ctl_val = lpf_bw_ctl_val & 0x7;
19763 return lpf_bw_ctl_val;
19766 static void
19767 wlc_phy_rfctrl_override_nphy_rev7(phy_info_t *pi, uint16 field, uint16 value,
19768 u8 core_mask, u8 off, u8 override_id)
19770 u8 core_num;
19771 uint16 addr = 0, en_addr = 0, val_addr = 0, en_mask = 0, val_mask = 0;
19772 u8 val_shift = 0;
19774 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19775 en_mask = field;
19776 for (core_num = 0; core_num < 2; core_num++) {
19777 if (override_id == NPHY_REV7_RFCTRLOVERRIDE_ID0) {
19779 switch (field) {
19780 case (0x1 << 2):
19781 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19782 val_addr = (core_num == 0) ? 0x7a :
19783 0x7d;
19784 val_mask = (0x1 << 1);
19785 val_shift = 1;
19786 break;
19787 case (0x1 << 3):
19788 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19789 val_addr = (core_num == 0) ? 0x7a :
19790 0x7d;
19791 val_mask = (0x1 << 2);
19792 val_shift = 2;
19793 break;
19794 case (0x1 << 4):
19795 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19796 val_addr = (core_num == 0) ? 0x7a :
19797 0x7d;
19798 val_mask = (0x1 << 4);
19799 val_shift = 4;
19800 break;
19801 case (0x1 << 5):
19802 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19803 val_addr = (core_num == 0) ? 0x7a :
19804 0x7d;
19805 val_mask = (0x1 << 5);
19806 val_shift = 5;
19807 break;
19808 case (0x1 << 6):
19809 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19810 val_addr = (core_num == 0) ? 0x7a :
19811 0x7d;
19812 val_mask = (0x1 << 6);
19813 val_shift = 6;
19814 break;
19815 case (0x1 << 7):
19816 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19817 val_addr = (core_num == 0) ? 0x7a :
19818 0x7d;
19819 val_mask = (0x1 << 7);
19820 val_shift = 7;
19821 break;
19822 case (0x1 << 10):
19823 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19824 val_addr = (core_num == 0) ? 0xf8 :
19825 0xfa;
19826 val_mask = (0x7 << 4);
19827 val_shift = 4;
19828 break;
19829 case (0x1 << 11):
19830 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19831 val_addr = (core_num == 0) ? 0x7b :
19832 0x7e;
19833 val_mask = (0xffff << 0);
19834 val_shift = 0;
19835 break;
19836 case (0x1 << 12):
19837 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19838 val_addr = (core_num == 0) ? 0x7c :
19839 0x7f;
19840 val_mask = (0xffff << 0);
19841 val_shift = 0;
19842 break;
19843 case (0x3 << 13):
19844 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19845 val_addr = (core_num == 0) ? 0x348 :
19846 0x349;
19847 val_mask = (0xff << 0);
19848 val_shift = 0;
19849 break;
19850 case (0x1 << 13):
19851 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19852 val_addr = (core_num == 0) ? 0x348 :
19853 0x349;
19854 val_mask = (0xf << 0);
19855 val_shift = 0;
19856 break;
19857 default:
19858 addr = 0xffff;
19859 break;
19861 } else if (override_id == NPHY_REV7_RFCTRLOVERRIDE_ID1) {
19863 switch (field) {
19864 case (0x1 << 1):
19865 en_addr = (core_num == 0) ? 0x342 :
19866 0x343;
19867 val_addr = (core_num == 0) ? 0x340 :
19868 0x341;
19869 val_mask = (0x1 << 1);
19870 val_shift = 1;
19871 break;
19872 case (0x1 << 3):
19873 en_addr = (core_num == 0) ? 0x342 :
19874 0x343;
19875 val_addr = (core_num == 0) ? 0x340 :
19876 0x341;
19877 val_mask = (0x1 << 3);
19878 val_shift = 3;
19879 break;
19880 case (0x1 << 5):
19881 en_addr = (core_num == 0) ? 0x342 :
19882 0x343;
19883 val_addr = (core_num == 0) ? 0x340 :
19884 0x341;
19885 val_mask = (0x1 << 5);
19886 val_shift = 5;
19887 break;
19888 case (0x1 << 4):
19889 en_addr = (core_num == 0) ? 0x342 :
19890 0x343;
19891 val_addr = (core_num == 0) ? 0x340 :
19892 0x341;
19893 val_mask = (0x1 << 4);
19894 val_shift = 4;
19895 break;
19896 case (0x1 << 2):
19898 en_addr = (core_num == 0) ? 0x342 :
19899 0x343;
19900 val_addr = (core_num == 0) ? 0x340 :
19901 0x341;
19902 val_mask = (0x1 << 2);
19903 val_shift = 2;
19904 break;
19905 case (0x1 << 7):
19907 en_addr = (core_num == 0) ? 0x342 :
19908 0x343;
19909 val_addr = (core_num == 0) ? 0x340 :
19910 0x341;
19911 val_mask = (0x7 << 8);
19912 val_shift = 8;
19913 break;
19914 case (0x1 << 11):
19915 en_addr = (core_num == 0) ? 0x342 :
19916 0x343;
19917 val_addr = (core_num == 0) ? 0x340 :
19918 0x341;
19919 val_mask = (0x1 << 14);
19920 val_shift = 14;
19921 break;
19922 case (0x1 << 10):
19923 en_addr = (core_num == 0) ? 0x342 :
19924 0x343;
19925 val_addr = (core_num == 0) ? 0x340 :
19926 0x341;
19927 val_mask = (0x1 << 13);
19928 val_shift = 13;
19929 break;
19930 case (0x1 << 9):
19931 en_addr = (core_num == 0) ? 0x342 :
19932 0x343;
19933 val_addr = (core_num == 0) ? 0x340 :
19934 0x341;
19935 val_mask = (0x1 << 12);
19936 val_shift = 12;
19937 break;
19938 case (0x1 << 8):
19939 en_addr = (core_num == 0) ? 0x342 :
19940 0x343;
19941 val_addr = (core_num == 0) ? 0x340 :
19942 0x341;
19943 val_mask = (0x1 << 11);
19944 val_shift = 11;
19945 break;
19946 case (0x1 << 6):
19947 en_addr = (core_num == 0) ? 0x342 :
19948 0x343;
19949 val_addr = (core_num == 0) ? 0x340 :
19950 0x341;
19951 val_mask = (0x1 << 6);
19952 val_shift = 6;
19953 break;
19954 case (0x1 << 0):
19955 en_addr = (core_num == 0) ? 0x342 :
19956 0x343;
19957 val_addr = (core_num == 0) ? 0x340 :
19958 0x341;
19959 val_mask = (0x1 << 0);
19960 val_shift = 0;
19961 break;
19962 default:
19963 addr = 0xffff;
19964 break;
19966 } else if (override_id == NPHY_REV7_RFCTRLOVERRIDE_ID2) {
19968 switch (field) {
19969 case (0x1 << 3):
19970 en_addr = (core_num == 0) ? 0x346 :
19971 0x347;
19972 val_addr = (core_num == 0) ? 0x344 :
19973 0x345;
19974 val_mask = (0x1 << 3);
19975 val_shift = 3;
19976 break;
19977 case (0x1 << 1):
19978 en_addr = (core_num == 0) ? 0x346 :
19979 0x347;
19980 val_addr = (core_num == 0) ? 0x344 :
19981 0x345;
19982 val_mask = (0x1 << 1);
19983 val_shift = 1;
19984 break;
19985 case (0x1 << 0):
19986 en_addr = (core_num == 0) ? 0x346 :
19987 0x347;
19988 val_addr = (core_num == 0) ? 0x344 :
19989 0x345;
19990 val_mask = (0x1 << 0);
19991 val_shift = 0;
19992 break;
19993 case (0x1 << 2):
19994 en_addr = (core_num == 0) ? 0x346 :
19995 0x347;
19996 val_addr = (core_num == 0) ? 0x344 :
19997 0x345;
19998 val_mask = (0x1 << 2);
19999 val_shift = 2;
20000 break;
20001 case (0x1 << 4):
20002 en_addr = (core_num == 0) ? 0x346 :
20003 0x347;
20004 val_addr = (core_num == 0) ? 0x344 :
20005 0x345;
20006 val_mask = (0x1 << 4);
20007 val_shift = 4;
20008 break;
20009 default:
20010 addr = 0xffff;
20011 break;
20015 if (off) {
20016 and_phy_reg(pi, en_addr, ~en_mask);
20017 and_phy_reg(pi, val_addr, ~val_mask);
20018 } else {
20020 if ((core_mask == 0)
20021 || (core_mask & (1 << core_num))) {
20022 or_phy_reg(pi, en_addr, en_mask);
20024 if (addr != 0xffff) {
20025 mod_phy_reg(pi, val_addr,
20026 val_mask,
20027 (value <<
20028 val_shift));
20036 static void
20037 wlc_phy_rfctrl_override_nphy(phy_info_t *pi, uint16 field, uint16 value,
20038 u8 core_mask, u8 off)
20040 u8 core_num;
20041 uint16 addr = 0, mask = 0, en_addr = 0, val_addr = 0, en_mask =
20042 0, val_mask = 0;
20043 u8 shift = 0, val_shift = 0;
20045 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
20047 en_mask = field;
20048 for (core_num = 0; core_num < 2; core_num++) {
20050 switch (field) {
20051 case (0x1 << 1):
20052 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20053 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20054 val_mask = (0x1 << 0);
20055 val_shift = 0;
20056 break;
20057 case (0x1 << 2):
20058 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20059 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20060 val_mask = (0x1 << 1);
20061 val_shift = 1;
20062 break;
20063 case (0x1 << 3):
20064 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20065 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20066 val_mask = (0x1 << 2);
20067 val_shift = 2;
20068 break;
20069 case (0x1 << 4):
20070 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20071 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20072 val_mask = (0x1 << 4);
20073 val_shift = 4;
20074 break;
20075 case (0x1 << 5):
20076 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20077 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20078 val_mask = (0x1 << 5);
20079 val_shift = 5;
20080 break;
20081 case (0x1 << 6):
20082 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20083 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20084 val_mask = (0x1 << 6);
20085 val_shift = 6;
20086 break;
20087 case (0x1 << 7):
20088 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20089 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20090 val_mask = (0x1 << 7);
20091 val_shift = 7;
20092 break;
20093 case (0x1 << 8):
20094 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20095 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20096 val_mask = (0x7 << 8);
20097 val_shift = 8;
20098 break;
20099 case (0x1 << 11):
20100 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20101 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20102 val_mask = (0x7 << 13);
20103 val_shift = 13;
20104 break;
20106 case (0x1 << 9):
20107 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20108 val_addr = (core_num == 0) ? 0xf8 : 0xfa;
20109 val_mask = (0x7 << 0);
20110 val_shift = 0;
20111 break;
20113 case (0x1 << 10):
20114 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20115 val_addr = (core_num == 0) ? 0xf8 : 0xfa;
20116 val_mask = (0x7 << 4);
20117 val_shift = 4;
20118 break;
20120 case (0x1 << 12):
20121 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20122 val_addr = (core_num == 0) ? 0x7b : 0x7e;
20123 val_mask = (0xffff << 0);
20124 val_shift = 0;
20125 break;
20126 case (0x1 << 13):
20127 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20128 val_addr = (core_num == 0) ? 0x7c : 0x7f;
20129 val_mask = (0xffff << 0);
20130 val_shift = 0;
20131 break;
20132 case (0x1 << 14):
20133 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20134 val_addr = (core_num == 0) ? 0xf9 : 0xfb;
20135 val_mask = (0x3 << 6);
20136 val_shift = 6;
20137 break;
20138 case (0x1 << 0):
20139 en_addr = (core_num == 0) ? 0xe5 : 0xe6;
20140 val_addr = (core_num == 0) ? 0xf9 : 0xfb;
20141 val_mask = (0x1 << 15);
20142 val_shift = 15;
20143 break;
20144 default:
20145 addr = 0xffff;
20146 break;
20149 if (off) {
20150 and_phy_reg(pi, en_addr, ~en_mask);
20151 and_phy_reg(pi, val_addr, ~val_mask);
20152 } else {
20154 if ((core_mask == 0)
20155 || (core_mask & (1 << core_num))) {
20156 or_phy_reg(pi, en_addr, en_mask);
20158 if (addr != 0xffff) {
20159 mod_phy_reg(pi, val_addr,
20160 val_mask,
20161 (value <<
20162 val_shift));
20167 } else {
20169 if (off) {
20170 and_phy_reg(pi, 0xec, ~field);
20171 value = 0x0;
20172 } else {
20173 or_phy_reg(pi, 0xec, field);
20176 for (core_num = 0; core_num < 2; core_num++) {
20178 switch (field) {
20179 case (0x1 << 1):
20180 case (0x1 << 9):
20181 case (0x1 << 12):
20182 case (0x1 << 13):
20183 case (0x1 << 14):
20184 addr = 0x78;
20186 core_mask = 0x1;
20187 break;
20188 case (0x1 << 2):
20189 case (0x1 << 3):
20190 case (0x1 << 4):
20191 case (0x1 << 5):
20192 case (0x1 << 6):
20193 case (0x1 << 7):
20194 case (0x1 << 8):
20195 addr = (core_num == 0) ? 0x7a : 0x7d;
20196 break;
20197 case (0x1 << 10):
20198 addr = (core_num == 0) ? 0x7b : 0x7e;
20199 break;
20200 case (0x1 << 11):
20201 addr = (core_num == 0) ? 0x7c : 0x7f;
20202 break;
20203 default:
20204 addr = 0xffff;
20207 switch (field) {
20208 case (0x1 << 1):
20209 mask = (0x7 << 3);
20210 shift = 3;
20211 break;
20212 case (0x1 << 9):
20213 mask = (0x1 << 2);
20214 shift = 2;
20215 break;
20216 case (0x1 << 12):
20217 mask = (0x1 << 8);
20218 shift = 8;
20219 break;
20220 case (0x1 << 13):
20221 mask = (0x1 << 9);
20222 shift = 9;
20223 break;
20224 case (0x1 << 14):
20225 mask = (0xf << 12);
20226 shift = 12;
20227 break;
20228 case (0x1 << 2):
20229 mask = (0x1 << 0);
20230 shift = 0;
20231 break;
20232 case (0x1 << 3):
20233 mask = (0x1 << 1);
20234 shift = 1;
20235 break;
20236 case (0x1 << 4):
20237 mask = (0x1 << 2);
20238 shift = 2;
20239 break;
20240 case (0x1 << 5):
20241 mask = (0x3 << 4);
20242 shift = 4;
20243 break;
20244 case (0x1 << 6):
20245 mask = (0x3 << 6);
20246 shift = 6;
20247 break;
20248 case (0x1 << 7):
20249 mask = (0x1 << 8);
20250 shift = 8;
20251 break;
20252 case (0x1 << 8):
20253 mask = (0x1 << 9);
20254 shift = 9;
20255 break;
20256 case (0x1 << 10):
20257 mask = 0x1fff;
20258 shift = 0x0;
20259 break;
20260 case (0x1 << 11):
20261 mask = 0x1fff;
20262 shift = 0x0;
20263 break;
20264 default:
20265 mask = 0x0;
20266 shift = 0x0;
20267 break;
20270 if ((addr != 0xffff) && (core_mask & (1 << core_num))) {
20271 mod_phy_reg(pi, addr, mask, (value << shift));
20275 or_phy_reg(pi, 0xec, (0x1 << 0));
20276 or_phy_reg(pi, 0x78, (0x1 << 0));
20277 OSL_DELAY(1);
20278 and_phy_reg(pi, 0xec, ~(0x1 << 0));
20282 static void
20283 wlc_phy_rfctrl_override_1tomany_nphy(phy_info_t *pi, uint16 cmd, uint16 value,
20284 u8 core_mask, u8 off)
20286 uint16 rfmxgain = 0, lpfgain = 0;
20287 uint16 tgain = 0;
20289 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
20291 switch (cmd) {
20292 case NPHY_REV7_RfctrlOverride_cmd_rxrf_pu:
20293 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5),
20294 value, core_mask, off,
20295 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20296 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), value,
20297 core_mask, off,
20298 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20299 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), value,
20300 core_mask, off,
20301 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20302 break;
20303 case NPHY_REV7_RfctrlOverride_cmd_rx_pu:
20304 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
20305 value, core_mask, off,
20306 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20307 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), value,
20308 core_mask, off,
20309 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20310 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), value,
20311 core_mask, off,
20312 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20313 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), value,
20314 core_mask, off,
20315 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20316 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 0,
20317 core_mask, off,
20318 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20319 break;
20320 case NPHY_REV7_RfctrlOverride_cmd_tx_pu:
20321 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
20322 value, core_mask, off,
20323 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20324 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), value,
20325 core_mask, off,
20326 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20327 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), value,
20328 core_mask, off,
20329 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20330 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), value,
20331 core_mask, off,
20332 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20333 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 1,
20334 core_mask, off,
20335 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20336 break;
20337 case NPHY_REV7_RfctrlOverride_cmd_rxgain:
20338 rfmxgain = value & 0x000ff;
20339 lpfgain = value & 0x0ff00;
20340 lpfgain = lpfgain >> 8;
20342 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11),
20343 rfmxgain, core_mask,
20344 off,
20345 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20346 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x3 << 13),
20347 lpfgain, core_mask,
20348 off,
20349 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20350 break;
20351 case NPHY_REV7_RfctrlOverride_cmd_txgain:
20352 tgain = value & 0x7fff;
20353 lpfgain = value & 0x8000;
20354 lpfgain = lpfgain >> 14;
20356 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12),
20357 tgain, core_mask, off,
20358 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20359 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 13),
20360 lpfgain, core_mask,
20361 off,
20362 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20363 break;
20368 static void
20369 wlc_phy_scale_offset_rssi_nphy(phy_info_t *pi, uint16 scale, s8 offset,
20370 u8 coresel, u8 rail, u8 rssi_type)
20372 uint16 valuetostuff;
20374 offset = (offset > NPHY_RSSICAL_MAXREAD) ?
20375 NPHY_RSSICAL_MAXREAD : offset;
20376 offset = (offset < (-NPHY_RSSICAL_MAXREAD - 1)) ?
20377 -NPHY_RSSICAL_MAXREAD - 1 : offset;
20379 valuetostuff = ((scale & 0x3f) << 8) | (offset & 0x3f);
20381 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20382 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20383 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_NB)) {
20384 write_phy_reg(pi, 0x1a6, valuetostuff);
20386 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20387 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20388 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_NB)) {
20389 write_phy_reg(pi, 0x1ac, valuetostuff);
20391 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20392 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20393 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_NB)) {
20394 write_phy_reg(pi, 0x1b2, valuetostuff);
20396 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20397 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20398 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_NB)) {
20399 write_phy_reg(pi, 0x1b8, valuetostuff);
20402 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20403 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20404 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W1)) {
20405 write_phy_reg(pi, 0x1a4, valuetostuff);
20407 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20408 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20409 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W1)) {
20410 write_phy_reg(pi, 0x1aa, valuetostuff);
20412 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20413 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20414 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W1)) {
20415 write_phy_reg(pi, 0x1b0, valuetostuff);
20417 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20418 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20419 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W1)) {
20420 write_phy_reg(pi, 0x1b6, valuetostuff);
20423 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20424 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20425 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W2)) {
20426 write_phy_reg(pi, 0x1a5, valuetostuff);
20428 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20429 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20430 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W2)) {
20431 write_phy_reg(pi, 0x1ab, valuetostuff);
20433 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20434 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20435 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W2)) {
20436 write_phy_reg(pi, 0x1b1, valuetostuff);
20438 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20439 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20440 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W2)) {
20441 write_phy_reg(pi, 0x1b7, valuetostuff);
20444 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20445 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20446 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_TBD)) {
20447 write_phy_reg(pi, 0x1a7, valuetostuff);
20449 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20450 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20451 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_TBD)) {
20452 write_phy_reg(pi, 0x1ad, valuetostuff);
20454 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20455 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20456 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_TBD)) {
20457 write_phy_reg(pi, 0x1b3, valuetostuff);
20459 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20460 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20461 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_TBD)) {
20462 write_phy_reg(pi, 0x1b9, valuetostuff);
20465 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20466 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20467 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_IQ)) {
20468 write_phy_reg(pi, 0x1a8, valuetostuff);
20470 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20471 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20472 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_IQ)) {
20473 write_phy_reg(pi, 0x1ae, valuetostuff);
20475 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20476 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20477 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_IQ)) {
20478 write_phy_reg(pi, 0x1b4, valuetostuff);
20480 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20481 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20482 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_IQ)) {
20483 write_phy_reg(pi, 0x1ba, valuetostuff);
20486 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20487 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20488 (rssi_type == NPHY_RSSI_SEL_TSSI_2G)) {
20489 write_phy_reg(pi, 0x1a9, valuetostuff);
20491 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20492 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20493 (rssi_type == NPHY_RSSI_SEL_TSSI_2G)) {
20494 write_phy_reg(pi, 0x1b5, valuetostuff);
20497 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20498 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20499 (rssi_type == NPHY_RSSI_SEL_TSSI_5G)) {
20500 write_phy_reg(pi, 0x1af, valuetostuff);
20502 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20503 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20504 (rssi_type == NPHY_RSSI_SEL_TSSI_5G)) {
20505 write_phy_reg(pi, 0x1bb, valuetostuff);
20509 void wlc_phy_rssisel_nphy(phy_info_t *pi, u8 core_code, u8 rssi_type)
20511 uint16 mask, val;
20512 uint16 afectrlovr_rssi_val, rfctrlcmd_rxen_val, rfctrlcmd_coresel_val,
20513 startseq;
20514 uint16 rfctrlovr_rssi_val, rfctrlovr_rxen_val, rfctrlovr_coresel_val,
20515 rfctrlovr_trigger_val;
20516 uint16 afectrlovr_rssi_mask, rfctrlcmd_mask, rfctrlovr_mask;
20517 uint16 rfctrlcmd_val, rfctrlovr_val;
20518 u8 core;
20520 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
20521 if (core_code == RADIO_MIMO_CORESEL_OFF) {
20522 mod_phy_reg(pi, 0x8f, (0x1 << 9), 0);
20523 mod_phy_reg(pi, 0xa5, (0x1 << 9), 0);
20525 mod_phy_reg(pi, 0xa6, (0x3 << 8), 0);
20526 mod_phy_reg(pi, 0xa7, (0x3 << 8), 0);
20528 mod_phy_reg(pi, 0xe5, (0x1 << 5), 0);
20529 mod_phy_reg(pi, 0xe6, (0x1 << 5), 0);
20531 mask = (0x1 << 2) |
20532 (0x1 << 3) | (0x1 << 4) | (0x1 << 5);
20533 mod_phy_reg(pi, 0xf9, mask, 0);
20534 mod_phy_reg(pi, 0xfb, mask, 0);
20536 } else {
20537 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
20538 if (core_code == RADIO_MIMO_CORESEL_CORE1
20539 && core == PHY_CORE_1)
20540 continue;
20541 else if (core_code == RADIO_MIMO_CORESEL_CORE2
20542 && core == PHY_CORE_0)
20543 continue;
20545 mod_phy_reg(pi, (core == PHY_CORE_0) ?
20546 0x8f : 0xa5, (0x1 << 9), 1 << 9);
20548 if (rssi_type == NPHY_RSSI_SEL_W1 ||
20549 rssi_type == NPHY_RSSI_SEL_W2 ||
20550 rssi_type == NPHY_RSSI_SEL_NB) {
20552 mod_phy_reg(pi,
20553 (core ==
20554 PHY_CORE_0) ? 0xa6 : 0xa7,
20555 (0x3 << 8), 0);
20557 mask = (0x1 << 2) |
20558 (0x1 << 3) |
20559 (0x1 << 4) | (0x1 << 5);
20560 mod_phy_reg(pi,
20561 (core ==
20562 PHY_CORE_0) ? 0xf9 : 0xfb,
20563 mask, 0);
20565 if (rssi_type == NPHY_RSSI_SEL_W1) {
20566 if (CHSPEC_IS5G
20567 (pi->radio_chanspec)) {
20568 mask = (0x1 << 2);
20569 val = 1 << 2;
20570 } else {
20571 mask = (0x1 << 3);
20572 val = 1 << 3;
20574 } else if (rssi_type ==
20575 NPHY_RSSI_SEL_W2) {
20576 mask = (0x1 << 4);
20577 val = 1 << 4;
20578 } else {
20579 mask = (0x1 << 5);
20580 val = 1 << 5;
20582 mod_phy_reg(pi,
20583 (core ==
20584 PHY_CORE_0) ? 0xf9 : 0xfb,
20585 mask, val);
20587 mask = (0x1 << 5);
20588 val = 1 << 5;
20589 mod_phy_reg(pi, (core == PHY_CORE_0) ?
20590 0xe5 : 0xe6, mask, val);
20591 } else {
20592 if (rssi_type == NPHY_RSSI_SEL_TBD) {
20594 mask = (0x3 << 8);
20595 val = 1 << 8;
20596 mod_phy_reg(pi,
20597 (core ==
20598 PHY_CORE_0) ? 0xa6
20599 : 0xa7, mask, val);
20600 mask = (0x3 << 10);
20601 val = 1 << 10;
20602 mod_phy_reg(pi,
20603 (core ==
20604 PHY_CORE_0) ? 0xa6
20605 : 0xa7, mask, val);
20606 } else if (rssi_type ==
20607 NPHY_RSSI_SEL_IQ) {
20609 mask = (0x3 << 8);
20610 val = 2 << 8;
20611 mod_phy_reg(pi,
20612 (core ==
20613 PHY_CORE_0) ? 0xa6
20614 : 0xa7, mask, val);
20615 mask = (0x3 << 10);
20616 val = 2 << 10;
20617 mod_phy_reg(pi,
20618 (core ==
20619 PHY_CORE_0) ? 0xa6
20620 : 0xa7, mask, val);
20621 } else {
20623 mask = (0x3 << 8);
20624 val = 3 << 8;
20625 mod_phy_reg(pi,
20626 (core ==
20627 PHY_CORE_0) ? 0xa6
20628 : 0xa7, mask, val);
20629 mask = (0x3 << 10);
20630 val = 3 << 10;
20631 mod_phy_reg(pi,
20632 (core ==
20633 PHY_CORE_0) ? 0xa6
20634 : 0xa7, mask, val);
20636 if (PHY_IPA(pi)) {
20637 if (NREV_GE
20638 (pi->pubpi.phy_rev,
20639 7)) {
20641 write_radio_reg
20642 (pi,
20643 ((core ==
20644 PHY_CORE_0)
20646 RADIO_2057_TX0_TX_SSI_MUX
20648 RADIO_2057_TX1_TX_SSI_MUX),
20649 (CHSPEC_IS5G
20650 (pi->
20651 radio_chanspec)
20652 ? 0xc :
20653 0xe));
20654 } else {
20655 write_radio_reg
20656 (pi,
20657 RADIO_2056_TX_TX_SSI_MUX
20659 ((core ==
20660 PHY_CORE_0)
20662 RADIO_2056_TX0
20664 RADIO_2056_TX1),
20665 (CHSPEC_IS5G
20666 (pi->
20667 radio_chanspec)
20668 ? 0xc :
20669 0xe));
20671 } else {
20673 if (NREV_GE
20674 (pi->pubpi.phy_rev,
20675 7)) {
20676 write_radio_reg
20677 (pi,
20678 ((core ==
20679 PHY_CORE_0)
20681 RADIO_2057_TX0_TX_SSI_MUX
20683 RADIO_2057_TX1_TX_SSI_MUX),
20684 0x11);
20686 if (pi->pubpi.
20687 radioid ==
20688 BCM2057_ID)
20689 write_radio_reg
20690 (pi,
20691 RADIO_2057_IQTEST_SEL_PU,
20692 0x1);
20694 } else {
20695 write_radio_reg
20696 (pi,
20697 RADIO_2056_TX_TX_SSI_MUX
20699 ((core ==
20700 PHY_CORE_0)
20702 RADIO_2056_TX0
20704 RADIO_2056_TX1),
20705 0x11);
20709 afectrlovr_rssi_val = 1 << 9;
20710 mod_phy_reg(pi,
20711 (core ==
20712 PHY_CORE_0) ? 0x8f
20713 : 0xa5, (0x1 << 9),
20714 afectrlovr_rssi_val);
20719 } else {
20721 if ((rssi_type == NPHY_RSSI_SEL_W1) ||
20722 (rssi_type == NPHY_RSSI_SEL_W2) ||
20723 (rssi_type == NPHY_RSSI_SEL_NB)) {
20725 val = 0x0;
20726 } else if (rssi_type == NPHY_RSSI_SEL_TBD) {
20728 val = 0x1;
20729 } else if (rssi_type == NPHY_RSSI_SEL_IQ) {
20731 val = 0x2;
20732 } else {
20734 val = 0x3;
20736 mask = ((0x3 << 12) | (0x3 << 14));
20737 val = (val << 12) | (val << 14);
20738 mod_phy_reg(pi, 0xa6, mask, val);
20739 mod_phy_reg(pi, 0xa7, mask, val);
20741 if ((rssi_type == NPHY_RSSI_SEL_W1) ||
20742 (rssi_type == NPHY_RSSI_SEL_W2) ||
20743 (rssi_type == NPHY_RSSI_SEL_NB)) {
20744 if (rssi_type == NPHY_RSSI_SEL_W1) {
20745 val = 0x1;
20747 if (rssi_type == NPHY_RSSI_SEL_W2) {
20748 val = 0x2;
20750 if (rssi_type == NPHY_RSSI_SEL_NB) {
20751 val = 0x3;
20753 mask = (0x3 << 4);
20754 val = (val << 4);
20755 mod_phy_reg(pi, 0x7a, mask, val);
20756 mod_phy_reg(pi, 0x7d, mask, val);
20759 if (core_code == RADIO_MIMO_CORESEL_OFF) {
20760 afectrlovr_rssi_val = 0;
20761 rfctrlcmd_rxen_val = 0;
20762 rfctrlcmd_coresel_val = 0;
20763 rfctrlovr_rssi_val = 0;
20764 rfctrlovr_rxen_val = 0;
20765 rfctrlovr_coresel_val = 0;
20766 rfctrlovr_trigger_val = 0;
20767 startseq = 0;
20768 } else {
20769 afectrlovr_rssi_val = 1;
20770 rfctrlcmd_rxen_val = 1;
20771 rfctrlcmd_coresel_val = core_code;
20772 rfctrlovr_rssi_val = 1;
20773 rfctrlovr_rxen_val = 1;
20774 rfctrlovr_coresel_val = 1;
20775 rfctrlovr_trigger_val = 1;
20776 startseq = 1;
20779 afectrlovr_rssi_mask = ((0x1 << 12) | (0x1 << 13));
20780 afectrlovr_rssi_val = (afectrlovr_rssi_val <<
20781 12) | (afectrlovr_rssi_val << 13);
20782 mod_phy_reg(pi, 0xa5, afectrlovr_rssi_mask,
20783 afectrlovr_rssi_val);
20785 if ((rssi_type == NPHY_RSSI_SEL_W1) ||
20786 (rssi_type == NPHY_RSSI_SEL_W2) ||
20787 (rssi_type == NPHY_RSSI_SEL_NB)) {
20788 rfctrlcmd_mask = ((0x1 << 8) | (0x7 << 3));
20789 rfctrlcmd_val = (rfctrlcmd_rxen_val << 8) |
20790 (rfctrlcmd_coresel_val << 3);
20792 rfctrlovr_mask = ((0x1 << 5) |
20793 (0x1 << 12) |
20794 (0x1 << 1) | (0x1 << 0));
20795 rfctrlovr_val = (rfctrlovr_rssi_val <<
20796 5) |
20797 (rfctrlovr_rxen_val << 12) |
20798 (rfctrlovr_coresel_val << 1) |
20799 (rfctrlovr_trigger_val << 0);
20801 mod_phy_reg(pi, 0x78, rfctrlcmd_mask, rfctrlcmd_val);
20802 mod_phy_reg(pi, 0xec, rfctrlovr_mask, rfctrlovr_val);
20804 mod_phy_reg(pi, 0x78, (0x1 << 0), (startseq << 0));
20805 OSL_DELAY(20);
20807 mod_phy_reg(pi, 0xec, (0x1 << 0), 0);
20813 wlc_phy_poll_rssi_nphy(phy_info_t *pi, u8 rssi_type, int32 *rssi_buf,
20814 u8 nsamps)
20816 int16 rssi0, rssi1;
20817 uint16 afectrlCore1_save = 0;
20818 uint16 afectrlCore2_save = 0;
20819 uint16 afectrlOverride1_save = 0;
20820 uint16 afectrlOverride2_save = 0;
20821 uint16 rfctrlOverrideAux0_save = 0;
20822 uint16 rfctrlOverrideAux1_save = 0;
20823 uint16 rfctrlMiscReg1_save = 0;
20824 uint16 rfctrlMiscReg2_save = 0;
20825 uint16 rfctrlcmd_save = 0;
20826 uint16 rfctrloverride_save = 0;
20827 uint16 rfctrlrssiothers1_save = 0;
20828 uint16 rfctrlrssiothers2_save = 0;
20829 s8 tmp_buf[4];
20830 u8 ctr = 0, samp = 0;
20831 int32 rssi_out_val;
20832 uint16 gpiosel_orig;
20834 afectrlCore1_save = read_phy_reg(pi, 0xa6);
20835 afectrlCore2_save = read_phy_reg(pi, 0xa7);
20836 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
20837 rfctrlMiscReg1_save = read_phy_reg(pi, 0xf9);
20838 rfctrlMiscReg2_save = read_phy_reg(pi, 0xfb);
20839 afectrlOverride1_save = read_phy_reg(pi, 0x8f);
20840 afectrlOverride2_save = read_phy_reg(pi, 0xa5);
20841 rfctrlOverrideAux0_save = read_phy_reg(pi, 0xe5);
20842 rfctrlOverrideAux1_save = read_phy_reg(pi, 0xe6);
20843 } else {
20844 afectrlOverride1_save = read_phy_reg(pi, 0xa5);
20845 rfctrlcmd_save = read_phy_reg(pi, 0x78);
20846 rfctrloverride_save = read_phy_reg(pi, 0xec);
20847 rfctrlrssiothers1_save = read_phy_reg(pi, 0x7a);
20848 rfctrlrssiothers2_save = read_phy_reg(pi, 0x7d);
20851 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_ALLRX, rssi_type);
20853 gpiosel_orig = read_phy_reg(pi, 0xca);
20854 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
20855 write_phy_reg(pi, 0xca, 5);
20858 for (ctr = 0; ctr < 4; ctr++) {
20859 rssi_buf[ctr] = 0;
20862 for (samp = 0; samp < nsamps; samp++) {
20863 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
20864 rssi0 = read_phy_reg(pi, 0x1c9);
20865 rssi1 = read_phy_reg(pi, 0x1ca);
20866 } else {
20867 rssi0 = read_phy_reg(pi, 0x219);
20868 rssi1 = read_phy_reg(pi, 0x21a);
20871 ctr = 0;
20872 tmp_buf[ctr++] = ((s8) ((rssi0 & 0x3f) << 2)) >> 2;
20873 tmp_buf[ctr++] = ((s8) (((rssi0 >> 8) & 0x3f) << 2)) >> 2;
20874 tmp_buf[ctr++] = ((s8) ((rssi1 & 0x3f) << 2)) >> 2;
20875 tmp_buf[ctr++] = ((s8) (((rssi1 >> 8) & 0x3f) << 2)) >> 2;
20877 for (ctr = 0; ctr < 4; ctr++) {
20878 rssi_buf[ctr] += tmp_buf[ctr];
20883 rssi_out_val = rssi_buf[3] & 0xff;
20884 rssi_out_val |= (rssi_buf[2] & 0xff) << 8;
20885 rssi_out_val |= (rssi_buf[1] & 0xff) << 16;
20886 rssi_out_val |= (rssi_buf[0] & 0xff) << 24;
20888 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
20889 write_phy_reg(pi, 0xca, gpiosel_orig);
20892 write_phy_reg(pi, 0xa6, afectrlCore1_save);
20893 write_phy_reg(pi, 0xa7, afectrlCore2_save);
20894 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
20895 write_phy_reg(pi, 0xf9, rfctrlMiscReg1_save);
20896 write_phy_reg(pi, 0xfb, rfctrlMiscReg2_save);
20897 write_phy_reg(pi, 0x8f, afectrlOverride1_save);
20898 write_phy_reg(pi, 0xa5, afectrlOverride2_save);
20899 write_phy_reg(pi, 0xe5, rfctrlOverrideAux0_save);
20900 write_phy_reg(pi, 0xe6, rfctrlOverrideAux1_save);
20901 } else {
20902 write_phy_reg(pi, 0xa5, afectrlOverride1_save);
20903 write_phy_reg(pi, 0x78, rfctrlcmd_save);
20904 write_phy_reg(pi, 0xec, rfctrloverride_save);
20905 write_phy_reg(pi, 0x7a, rfctrlrssiothers1_save);
20906 write_phy_reg(pi, 0x7d, rfctrlrssiothers2_save);
20909 return rssi_out_val;
20912 int16 wlc_phy_tempsense_nphy(phy_info_t *pi)
20914 uint16 core1_txrf_iqcal1_save, core1_txrf_iqcal2_save;
20915 uint16 core2_txrf_iqcal1_save, core2_txrf_iqcal2_save;
20916 uint16 pwrdet_rxtx_core1_save;
20917 uint16 pwrdet_rxtx_core2_save;
20918 uint16 afectrlCore1_save;
20919 uint16 afectrlCore2_save;
20920 uint16 afectrlOverride_save;
20921 uint16 afectrlOverride2_save;
20922 uint16 pd_pll_ts_save;
20923 uint16 gpioSel_save;
20924 int32 radio_temp[4];
20925 int32 radio_temp2[4];
20926 uint16 syn_tempprocsense_save;
20927 int16 offset = 0;
20929 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
20930 uint16 auxADC_Vmid, auxADC_Av, auxADC_Vmid_save, auxADC_Av_save;
20931 uint16 auxADC_rssi_ctrlL_save, auxADC_rssi_ctrlH_save;
20932 uint16 auxADC_rssi_ctrlL, auxADC_rssi_ctrlH;
20933 int32 auxADC_Vl;
20934 uint16 RfctrlOverride5_save, RfctrlOverride6_save;
20935 uint16 RfctrlMiscReg5_save, RfctrlMiscReg6_save;
20936 uint16 RSSIMultCoef0QPowerDet_save;
20937 uint16 tempsense_Rcal;
20939 syn_tempprocsense_save =
20940 read_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG);
20942 afectrlCore1_save = read_phy_reg(pi, 0xa6);
20943 afectrlCore2_save = read_phy_reg(pi, 0xa7);
20944 afectrlOverride_save = read_phy_reg(pi, 0x8f);
20945 afectrlOverride2_save = read_phy_reg(pi, 0xa5);
20946 RSSIMultCoef0QPowerDet_save = read_phy_reg(pi, 0x1ae);
20947 RfctrlOverride5_save = read_phy_reg(pi, 0x346);
20948 RfctrlOverride6_save = read_phy_reg(pi, 0x347);
20949 RfctrlMiscReg5_save = read_phy_reg(pi, 0x344);
20950 RfctrlMiscReg6_save = read_phy_reg(pi, 0x345);
20952 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
20953 &auxADC_Vmid_save);
20954 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
20955 &auxADC_Av_save);
20956 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x02, 16,
20957 &auxADC_rssi_ctrlL_save);
20958 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x03, 16,
20959 &auxADC_rssi_ctrlH_save);
20961 write_phy_reg(pi, 0x1ae, 0x0);
20963 auxADC_rssi_ctrlL = 0x0;
20964 auxADC_rssi_ctrlH = 0x20;
20965 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x02, 16,
20966 &auxADC_rssi_ctrlL);
20967 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x03, 16,
20968 &auxADC_rssi_ctrlH);
20970 tempsense_Rcal = syn_tempprocsense_save & 0x1c;
20972 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
20973 tempsense_Rcal | 0x01);
20975 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1),
20976 1, 0, 0,
20977 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20978 mod_phy_reg(pi, 0xa6, (0x1 << 7), 0);
20979 mod_phy_reg(pi, 0xa7, (0x1 << 7), 0);
20980 mod_phy_reg(pi, 0x8f, (0x1 << 7), (0x1 << 7));
20981 mod_phy_reg(pi, 0xa5, (0x1 << 7), (0x1 << 7));
20983 mod_phy_reg(pi, 0xa6, (0x1 << 2), (0x1 << 2));
20984 mod_phy_reg(pi, 0xa7, (0x1 << 2), (0x1 << 2));
20985 mod_phy_reg(pi, 0x8f, (0x1 << 2), (0x1 << 2));
20986 mod_phy_reg(pi, 0xa5, (0x1 << 2), (0x1 << 2));
20987 OSL_DELAY(5);
20988 mod_phy_reg(pi, 0xa6, (0x1 << 2), 0);
20989 mod_phy_reg(pi, 0xa7, (0x1 << 2), 0);
20990 mod_phy_reg(pi, 0xa6, (0x1 << 3), 0);
20991 mod_phy_reg(pi, 0xa7, (0x1 << 3), 0);
20992 mod_phy_reg(pi, 0x8f, (0x1 << 3), (0x1 << 3));
20993 mod_phy_reg(pi, 0xa5, (0x1 << 3), (0x1 << 3));
20994 mod_phy_reg(pi, 0xa6, (0x1 << 6), 0);
20995 mod_phy_reg(pi, 0xa7, (0x1 << 6), 0);
20996 mod_phy_reg(pi, 0x8f, (0x1 << 6), (0x1 << 6));
20997 mod_phy_reg(pi, 0xa5, (0x1 << 6), (0x1 << 6));
20999 auxADC_Vmid = 0xA3;
21000 auxADC_Av = 0x0;
21001 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
21002 &auxADC_Vmid);
21003 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
21004 &auxADC_Av);
21006 OSL_DELAY(3);
21008 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21009 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
21010 tempsense_Rcal | 0x03);
21012 OSL_DELAY(5);
21013 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
21015 auxADC_Av = 0x7;
21016 if (radio_temp[1] + radio_temp2[1] < -30) {
21017 auxADC_Vmid = 0x45;
21018 auxADC_Vl = 263;
21019 } else if (radio_temp[1] + radio_temp2[1] < -9) {
21020 auxADC_Vmid = 0x200;
21021 auxADC_Vl = 467;
21022 } else if (radio_temp[1] + radio_temp2[1] < 11) {
21023 auxADC_Vmid = 0x266;
21024 auxADC_Vl = 634;
21025 } else {
21026 auxADC_Vmid = 0x2D5;
21027 auxADC_Vl = 816;
21030 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
21031 &auxADC_Vmid);
21032 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
21033 &auxADC_Av);
21035 OSL_DELAY(3);
21037 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
21038 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
21039 tempsense_Rcal | 0x01);
21041 OSL_DELAY(5);
21042 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21044 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
21045 syn_tempprocsense_save);
21047 write_phy_reg(pi, 0xa6, afectrlCore1_save);
21048 write_phy_reg(pi, 0xa7, afectrlCore2_save);
21049 write_phy_reg(pi, 0x8f, afectrlOverride_save);
21050 write_phy_reg(pi, 0xa5, afectrlOverride2_save);
21051 write_phy_reg(pi, 0x1ae, RSSIMultCoef0QPowerDet_save);
21052 write_phy_reg(pi, 0x346, RfctrlOverride5_save);
21053 write_phy_reg(pi, 0x347, RfctrlOverride6_save);
21054 write_phy_reg(pi, 0x344, RfctrlMiscReg5_save);
21055 write_phy_reg(pi, 0x345, RfctrlMiscReg5_save);
21057 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
21058 &auxADC_Vmid_save);
21059 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
21060 &auxADC_Av_save);
21061 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x02, 16,
21062 &auxADC_rssi_ctrlL_save);
21063 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x03, 16,
21064 &auxADC_rssi_ctrlH_save);
21066 if (CHIPID(pi->sh->chip) == BCM5357_CHIP_ID) {
21067 radio_temp[0] = (193 * (radio_temp[1] + radio_temp2[1])
21068 + 88 * (auxADC_Vl) - 27111 +
21069 128) / 256;
21070 } else if (CHIPID(pi->sh->chip) == BCM43236_CHIP_ID) {
21071 radio_temp[0] = (198 * (radio_temp[1] + radio_temp2[1])
21072 + 91 * (auxADC_Vl) - 27243 +
21073 128) / 256;
21074 } else {
21075 radio_temp[0] = (179 * (radio_temp[1] + radio_temp2[1])
21076 + 82 * (auxADC_Vl) - 28861 +
21077 128) / 256;
21080 offset = (int16) pi->phy_tempsense_offset;
21082 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
21083 syn_tempprocsense_save =
21084 read_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE);
21086 afectrlCore1_save = read_phy_reg(pi, 0xa6);
21087 afectrlCore2_save = read_phy_reg(pi, 0xa7);
21088 afectrlOverride_save = read_phy_reg(pi, 0x8f);
21089 afectrlOverride2_save = read_phy_reg(pi, 0xa5);
21090 gpioSel_save = read_phy_reg(pi, 0xca);
21092 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE, 0x01);
21094 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21095 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21096 } else {
21097 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE, 0x05);
21100 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
21101 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21102 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG, 0x01);
21103 } else {
21104 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE, 0x01);
21107 radio_temp[0] =
21108 (126 * (radio_temp[1] + radio_temp2[1]) + 3987) / 64;
21110 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE,
21111 syn_tempprocsense_save);
21113 write_phy_reg(pi, 0xca, gpioSel_save);
21114 write_phy_reg(pi, 0xa6, afectrlCore1_save);
21115 write_phy_reg(pi, 0xa7, afectrlCore2_save);
21116 write_phy_reg(pi, 0x8f, afectrlOverride_save);
21117 write_phy_reg(pi, 0xa5, afectrlOverride2_save);
21119 offset = (int16) pi->phy_tempsense_offset;
21120 } else {
21122 pwrdet_rxtx_core1_save =
21123 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1);
21124 pwrdet_rxtx_core2_save =
21125 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2);
21126 core1_txrf_iqcal1_save =
21127 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1);
21128 core1_txrf_iqcal2_save =
21129 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2);
21130 core2_txrf_iqcal1_save =
21131 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1);
21132 core2_txrf_iqcal2_save =
21133 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2);
21134 pd_pll_ts_save = read_radio_reg(pi, RADIO_2055_PD_PLL_TS);
21136 afectrlCore1_save = read_phy_reg(pi, 0xa6);
21137 afectrlCore2_save = read_phy_reg(pi, 0xa7);
21138 afectrlOverride_save = read_phy_reg(pi, 0xa5);
21139 gpioSel_save = read_phy_reg(pi, 0xca);
21141 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1, 0x01);
21142 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1, 0x01);
21143 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2, 0x08);
21144 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2, 0x08);
21145 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1, 0x04);
21146 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2, 0x04);
21147 write_radio_reg(pi, RADIO_2055_PD_PLL_TS, 0x00);
21149 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21150 xor_radio_reg(pi, RADIO_2055_CAL_TS, 0x80);
21152 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21153 xor_radio_reg(pi, RADIO_2055_CAL_TS, 0x80);
21155 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
21156 xor_radio_reg(pi, RADIO_2055_CAL_TS, 0x80);
21158 radio_temp[0] = (radio_temp[0] + radio_temp2[0]);
21159 radio_temp[1] = (radio_temp[1] + radio_temp2[1]);
21160 radio_temp[2] = (radio_temp[2] + radio_temp2[2]);
21161 radio_temp[3] = (radio_temp[3] + radio_temp2[3]);
21163 radio_temp[0] =
21164 (radio_temp[0] + radio_temp[1] + radio_temp[2] +
21165 radio_temp[3]);
21167 radio_temp[0] =
21168 (radio_temp[0] + (8 * 32)) * (950 - 350) / 63 + (350 * 8);
21170 radio_temp[0] = (radio_temp[0] - (8 * 420)) / 38;
21172 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1,
21173 pwrdet_rxtx_core1_save);
21174 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2,
21175 pwrdet_rxtx_core2_save);
21176 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1,
21177 core1_txrf_iqcal1_save);
21178 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1,
21179 core2_txrf_iqcal1_save);
21180 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2,
21181 core1_txrf_iqcal2_save);
21182 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2,
21183 core2_txrf_iqcal2_save);
21184 write_radio_reg(pi, RADIO_2055_PD_PLL_TS, pd_pll_ts_save);
21186 write_phy_reg(pi, 0xca, gpioSel_save);
21187 write_phy_reg(pi, 0xa6, afectrlCore1_save);
21188 write_phy_reg(pi, 0xa7, afectrlCore2_save);
21189 write_phy_reg(pi, 0xa5, afectrlOverride_save);
21192 return (int16) radio_temp[0] + offset;
21195 static void
21196 wlc_phy_set_rssi_2055_vcm(phy_info_t *pi, u8 rssi_type, u8 *vcm_buf)
21198 u8 core;
21200 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
21201 if (rssi_type == NPHY_RSSI_SEL_NB) {
21202 if (core == PHY_CORE_0) {
21203 mod_radio_reg(pi,
21204 RADIO_2055_CORE1_B0_NBRSSI_VCM,
21205 RADIO_2055_NBRSSI_VCM_I_MASK,
21206 vcm_buf[2 *
21207 core] <<
21208 RADIO_2055_NBRSSI_VCM_I_SHIFT);
21209 mod_radio_reg(pi,
21210 RADIO_2055_CORE1_RXBB_RSSI_CTRL5,
21211 RADIO_2055_NBRSSI_VCM_Q_MASK,
21212 vcm_buf[2 * core +
21213 1] <<
21214 RADIO_2055_NBRSSI_VCM_Q_SHIFT);
21215 } else {
21216 mod_radio_reg(pi,
21217 RADIO_2055_CORE2_B0_NBRSSI_VCM,
21218 RADIO_2055_NBRSSI_VCM_I_MASK,
21219 vcm_buf[2 *
21220 core] <<
21221 RADIO_2055_NBRSSI_VCM_I_SHIFT);
21222 mod_radio_reg(pi,
21223 RADIO_2055_CORE2_RXBB_RSSI_CTRL5,
21224 RADIO_2055_NBRSSI_VCM_Q_MASK,
21225 vcm_buf[2 * core +
21226 1] <<
21227 RADIO_2055_NBRSSI_VCM_Q_SHIFT);
21229 } else {
21231 if (core == PHY_CORE_0) {
21232 mod_radio_reg(pi,
21233 RADIO_2055_CORE1_RXBB_RSSI_CTRL5,
21234 RADIO_2055_WBRSSI_VCM_IQ_MASK,
21235 vcm_buf[2 *
21236 core] <<
21237 RADIO_2055_WBRSSI_VCM_IQ_SHIFT);
21238 } else {
21239 mod_radio_reg(pi,
21240 RADIO_2055_CORE2_RXBB_RSSI_CTRL5,
21241 RADIO_2055_WBRSSI_VCM_IQ_MASK,
21242 vcm_buf[2 *
21243 core] <<
21244 RADIO_2055_WBRSSI_VCM_IQ_SHIFT);
21250 void wlc_phy_rssi_cal_nphy(phy_info_t *pi)
21252 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
21254 wlc_phy_rssi_cal_nphy_rev3(pi);
21255 } else {
21256 wlc_phy_rssi_cal_nphy_rev2(pi, NPHY_RSSI_SEL_NB);
21257 wlc_phy_rssi_cal_nphy_rev2(pi, NPHY_RSSI_SEL_W1);
21258 wlc_phy_rssi_cal_nphy_rev2(pi, NPHY_RSSI_SEL_W2);
21262 static void wlc_phy_rssi_cal_nphy_rev2(phy_info_t *pi, u8 rssi_type)
21264 int32 target_code;
21265 uint16 classif_state;
21266 uint16 clip_state[2];
21267 uint16 rssi_ctrl_state[2], pd_state[2];
21268 uint16 rfctrlintc_state[2], rfpdcorerxtx_state[2];
21269 uint16 rfctrlintc_override_val;
21270 uint16 clip_off[] = { 0xffff, 0xffff };
21271 uint16 rf_pd_val, pd_mask, rssi_ctrl_mask;
21272 u8 vcm, min_vcm, vcm_tmp[4];
21273 u8 vcm_final[4] = { 0, 0, 0, 0 };
21274 u8 result_idx, ctr;
21275 int32 poll_results[4][4] = {
21276 {0, 0, 0, 0},
21277 {0, 0, 0, 0},
21278 {0, 0, 0, 0},
21279 {0, 0, 0, 0}
21281 int32 poll_miniq[4][2] = {
21282 {0, 0},
21283 {0, 0},
21284 {0, 0},
21285 {0, 0}
21287 int32 min_d, curr_d;
21288 int32 fine_digital_offset[4];
21289 int32 poll_results_min[4] = { 0, 0, 0, 0 };
21290 int32 min_poll;
21292 switch (rssi_type) {
21293 case NPHY_RSSI_SEL_NB:
21294 target_code = NPHY_RSSICAL_NB_TARGET;
21295 break;
21296 case NPHY_RSSI_SEL_W1:
21297 target_code = NPHY_RSSICAL_W1_TARGET;
21298 break;
21299 case NPHY_RSSI_SEL_W2:
21300 target_code = NPHY_RSSICAL_W2_TARGET;
21301 break;
21302 default:
21303 return;
21304 break;
21307 classif_state = wlc_phy_classifier_nphy(pi, 0, 0);
21308 wlc_phy_classifier_nphy(pi, (0x7 << 0), 4);
21309 wlc_phy_clip_det_nphy(pi, 0, clip_state);
21310 wlc_phy_clip_det_nphy(pi, 1, clip_off);
21312 rf_pd_val = (rssi_type == NPHY_RSSI_SEL_NB) ? 0x6 : 0x4;
21313 rfctrlintc_override_val =
21314 CHSPEC_IS5G(pi->radio_chanspec) ? 0x140 : 0x110;
21316 rfctrlintc_state[0] = read_phy_reg(pi, 0x91);
21317 rfpdcorerxtx_state[0] = read_radio_reg(pi, RADIO_2055_PD_CORE1_RXTX);
21318 write_phy_reg(pi, 0x91, rfctrlintc_override_val);
21319 write_radio_reg(pi, RADIO_2055_PD_CORE1_RXTX, rf_pd_val);
21321 rfctrlintc_state[1] = read_phy_reg(pi, 0x92);
21322 rfpdcorerxtx_state[1] = read_radio_reg(pi, RADIO_2055_PD_CORE2_RXTX);
21323 write_phy_reg(pi, 0x92, rfctrlintc_override_val);
21324 write_radio_reg(pi, RADIO_2055_PD_CORE2_RXTX, rf_pd_val);
21326 pd_mask = RADIO_2055_NBRSSI_PD | RADIO_2055_WBRSSI_G1_PD |
21327 RADIO_2055_WBRSSI_G2_PD;
21328 pd_state[0] =
21329 read_radio_reg(pi, RADIO_2055_PD_CORE1_RSSI_MISC) & pd_mask;
21330 pd_state[1] =
21331 read_radio_reg(pi, RADIO_2055_PD_CORE2_RSSI_MISC) & pd_mask;
21332 mod_radio_reg(pi, RADIO_2055_PD_CORE1_RSSI_MISC, pd_mask, 0);
21333 mod_radio_reg(pi, RADIO_2055_PD_CORE2_RSSI_MISC, pd_mask, 0);
21334 rssi_ctrl_mask = RADIO_2055_NBRSSI_SEL | RADIO_2055_WBRSSI_G1_SEL |
21335 RADIO_2055_WBRSSI_G2_SEL;
21336 rssi_ctrl_state[0] =
21337 read_radio_reg(pi, RADIO_2055_SP_RSSI_CORE1) & rssi_ctrl_mask;
21338 rssi_ctrl_state[1] =
21339 read_radio_reg(pi, RADIO_2055_SP_RSSI_CORE2) & rssi_ctrl_mask;
21340 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_ALLRX, rssi_type);
21342 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0, RADIO_MIMO_CORESEL_ALLRX,
21343 NPHY_RAIL_I, rssi_type);
21344 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0, RADIO_MIMO_CORESEL_ALLRX,
21345 NPHY_RAIL_Q, rssi_type);
21347 for (vcm = 0; vcm < 4; vcm++) {
21349 vcm_tmp[0] = vcm_tmp[1] = vcm_tmp[2] = vcm_tmp[3] = vcm;
21350 if (rssi_type != NPHY_RSSI_SEL_W2) {
21351 wlc_phy_set_rssi_2055_vcm(pi, rssi_type, vcm_tmp);
21354 wlc_phy_poll_rssi_nphy(pi, rssi_type, &poll_results[vcm][0],
21355 NPHY_RSSICAL_NPOLL);
21357 if ((rssi_type == NPHY_RSSI_SEL_W1)
21358 || (rssi_type == NPHY_RSSI_SEL_W2)) {
21359 for (ctr = 0; ctr < 2; ctr++) {
21360 poll_miniq[vcm][ctr] =
21361 MIN(poll_results[vcm][ctr * 2 + 0],
21362 poll_results[vcm][ctr * 2 + 1]);
21367 for (result_idx = 0; result_idx < 4; result_idx++) {
21368 min_d = NPHY_RSSICAL_MAXD;
21369 min_vcm = 0;
21370 min_poll = NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL + 1;
21371 for (vcm = 0; vcm < 4; vcm++) {
21372 curr_d = ABS(((rssi_type == NPHY_RSSI_SEL_NB) ?
21373 poll_results[vcm][result_idx] :
21374 poll_miniq[vcm][result_idx / 2]) -
21375 (target_code * NPHY_RSSICAL_NPOLL));
21376 if (curr_d < min_d) {
21377 min_d = curr_d;
21378 min_vcm = vcm;
21380 if (poll_results[vcm][result_idx] < min_poll) {
21381 min_poll = poll_results[vcm][result_idx];
21384 vcm_final[result_idx] = min_vcm;
21385 poll_results_min[result_idx] = min_poll;
21388 if (rssi_type != NPHY_RSSI_SEL_W2) {
21389 wlc_phy_set_rssi_2055_vcm(pi, rssi_type, vcm_final);
21392 for (result_idx = 0; result_idx < 4; result_idx++) {
21393 fine_digital_offset[result_idx] =
21394 (target_code * NPHY_RSSICAL_NPOLL) -
21395 poll_results[vcm_final[result_idx]][result_idx];
21396 if (fine_digital_offset[result_idx] < 0) {
21397 fine_digital_offset[result_idx] =
21398 ABS(fine_digital_offset[result_idx]);
21399 fine_digital_offset[result_idx] +=
21400 (NPHY_RSSICAL_NPOLL / 2);
21401 fine_digital_offset[result_idx] /= NPHY_RSSICAL_NPOLL;
21402 fine_digital_offset[result_idx] =
21403 -fine_digital_offset[result_idx];
21404 } else {
21405 fine_digital_offset[result_idx] +=
21406 (NPHY_RSSICAL_NPOLL / 2);
21407 fine_digital_offset[result_idx] /= NPHY_RSSICAL_NPOLL;
21410 if (poll_results_min[result_idx] ==
21411 NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL) {
21412 fine_digital_offset[result_idx] =
21413 (target_code - NPHY_RSSICAL_MAXREAD - 1);
21416 wlc_phy_scale_offset_rssi_nphy(pi, 0x0,
21417 (s8)
21418 fine_digital_offset[result_idx],
21419 (result_idx / 2 ==
21420 0) ? RADIO_MIMO_CORESEL_CORE1 :
21421 RADIO_MIMO_CORESEL_CORE2,
21422 (result_idx % 2 ==
21423 0) ? NPHY_RAIL_I : NPHY_RAIL_Q,
21424 rssi_type);
21427 mod_radio_reg(pi, RADIO_2055_PD_CORE1_RSSI_MISC, pd_mask, pd_state[0]);
21428 mod_radio_reg(pi, RADIO_2055_PD_CORE2_RSSI_MISC, pd_mask, pd_state[1]);
21429 if (rssi_ctrl_state[0] == RADIO_2055_NBRSSI_SEL) {
21430 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21431 NPHY_RSSI_SEL_NB);
21432 } else if (rssi_ctrl_state[0] == RADIO_2055_WBRSSI_G1_SEL) {
21433 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21434 NPHY_RSSI_SEL_W1);
21435 } else if (rssi_ctrl_state[0] == RADIO_2055_WBRSSI_G2_SEL) {
21436 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21437 NPHY_RSSI_SEL_W2);
21438 } else {
21439 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21440 NPHY_RSSI_SEL_W2);
21442 if (rssi_ctrl_state[1] == RADIO_2055_NBRSSI_SEL) {
21443 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21444 NPHY_RSSI_SEL_NB);
21445 } else if (rssi_ctrl_state[1] == RADIO_2055_WBRSSI_G1_SEL) {
21446 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21447 NPHY_RSSI_SEL_W1);
21448 } else if (rssi_ctrl_state[1] == RADIO_2055_WBRSSI_G2_SEL) {
21449 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21450 NPHY_RSSI_SEL_W2);
21451 } else {
21452 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21453 NPHY_RSSI_SEL_W2);
21456 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_OFF, rssi_type);
21458 write_phy_reg(pi, 0x91, rfctrlintc_state[0]);
21459 write_radio_reg(pi, RADIO_2055_PD_CORE1_RXTX, rfpdcorerxtx_state[0]);
21460 write_phy_reg(pi, 0x92, rfctrlintc_state[1]);
21461 write_radio_reg(pi, RADIO_2055_PD_CORE2_RXTX, rfpdcorerxtx_state[1]);
21463 wlc_phy_classifier_nphy(pi, (0x7 << 0), classif_state);
21464 wlc_phy_clip_det_nphy(pi, 1, clip_state);
21466 wlc_phy_resetcca_nphy(pi);
21469 int BCMFASTPATH
21470 wlc_phy_rssi_compute_nphy(phy_info_t *pi, wlc_d11rxhdr_t *wlc_rxh)
21472 d11rxhdr_t *rxh = &wlc_rxh->rxhdr;
21473 int16 rxpwr, rxpwr0, rxpwr1;
21474 int16 phyRx0_l, phyRx2_l;
21476 rxpwr = 0;
21477 rxpwr0 = ltoh16(rxh->PhyRxStatus_1) & PRXS1_nphy_PWR0_MASK;
21478 rxpwr1 = (ltoh16(rxh->PhyRxStatus_1) & PRXS1_nphy_PWR1_MASK) >> 8;
21480 if (rxpwr0 > 127)
21481 rxpwr0 -= 256;
21482 if (rxpwr1 > 127)
21483 rxpwr1 -= 256;
21485 phyRx0_l = ltoh16(rxh->PhyRxStatus_0) & 0x00ff;
21486 phyRx2_l = ltoh16(rxh->PhyRxStatus_2) & 0x00ff;
21487 if (phyRx2_l > 127)
21488 phyRx2_l -= 256;
21490 if (((rxpwr0 == 16) || (rxpwr0 == 32))) {
21491 rxpwr0 = rxpwr1;
21492 rxpwr1 = phyRx2_l;
21495 wlc_rxh->rxpwr[0] = (s8) rxpwr0;
21496 wlc_rxh->rxpwr[1] = (s8) rxpwr1;
21497 wlc_rxh->do_rssi_ma = 0;
21499 if (pi->sh->rssi_mode == RSSI_ANT_MERGE_MAX)
21500 rxpwr = (rxpwr0 > rxpwr1) ? rxpwr0 : rxpwr1;
21501 else if (pi->sh->rssi_mode == RSSI_ANT_MERGE_MIN)
21502 rxpwr = (rxpwr0 < rxpwr1) ? rxpwr0 : rxpwr1;
21503 else if (pi->sh->rssi_mode == RSSI_ANT_MERGE_AVG)
21504 rxpwr = (rxpwr0 + rxpwr1) >> 1;
21505 else
21506 ASSERT(0);
21508 return rxpwr;
21511 static void
21512 wlc_phy_rfctrlintc_override_nphy(phy_info_t *pi, u8 field, uint16 value,
21513 u8 core_code)
21515 uint16 mask;
21516 uint16 val;
21517 u8 core;
21519 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
21520 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
21521 if (core_code == RADIO_MIMO_CORESEL_CORE1
21522 && core == PHY_CORE_1)
21523 continue;
21524 else if (core_code == RADIO_MIMO_CORESEL_CORE2
21525 && core == PHY_CORE_0)
21526 continue;
21528 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
21530 mask = (0x1 << 10);
21531 val = 1 << 10;
21532 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x91 :
21533 0x92, mask, val);
21536 if (field == NPHY_RfctrlIntc_override_OFF) {
21538 write_phy_reg(pi, (core == PHY_CORE_0) ? 0x91 :
21539 0x92, 0);
21541 wlc_phy_force_rfseq_nphy(pi,
21542 NPHY_RFSEQ_RESET2RX);
21543 } else if (field == NPHY_RfctrlIntc_override_TRSW) {
21545 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21547 mask = (0x1 << 6) | (0x1 << 7);
21549 val = value << 6;
21550 mod_phy_reg(pi,
21551 (core ==
21552 PHY_CORE_0) ? 0x91 : 0x92,
21553 mask, val);
21555 or_phy_reg(pi,
21556 (core ==
21557 PHY_CORE_0) ? 0x91 : 0x92,
21558 (0x1 << 10));
21560 and_phy_reg(pi, 0x2ff, (uint16)
21561 ~(0x3 << 14));
21562 or_phy_reg(pi, 0x2ff, (0x1 << 13));
21563 or_phy_reg(pi, 0x2ff, (0x1 << 0));
21564 } else {
21566 mask = (0x1 << 6) |
21567 (0x1 << 7) |
21568 (0x1 << 8) | (0x1 << 9);
21569 val = value << 6;
21570 mod_phy_reg(pi,
21571 (core ==
21572 PHY_CORE_0) ? 0x91 : 0x92,
21573 mask, val);
21575 mask = (0x1 << 0);
21576 val = 1 << 0;
21577 mod_phy_reg(pi,
21578 (core ==
21579 PHY_CORE_0) ? 0xe7 : 0xec,
21580 mask, val);
21582 mask = (core == PHY_CORE_0) ? (0x1 << 0)
21583 : (0x1 << 1);
21584 val = 1 << ((core == PHY_CORE_0) ?
21585 0 : 1);
21586 mod_phy_reg(pi, 0x78, mask, val);
21588 SPINWAIT(((read_phy_reg(pi, 0x78) & val)
21589 != 0), 10000);
21590 ASSERT((read_phy_reg(pi, 0x78) & val) ==
21593 mask = (0x1 << 0);
21594 val = 0 << 0;
21595 mod_phy_reg(pi,
21596 (core ==
21597 PHY_CORE_0) ? 0xe7 : 0xec,
21598 mask, val);
21600 } else if (field == NPHY_RfctrlIntc_override_PA) {
21601 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21603 mask = (0x1 << 4) | (0x1 << 5);
21605 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21606 val = value << 5;
21607 } else {
21608 val = value << 4;
21611 mod_phy_reg(pi,
21612 (core ==
21613 PHY_CORE_0) ? 0x91 : 0x92,
21614 mask, val);
21616 or_phy_reg(pi,
21617 (core ==
21618 PHY_CORE_0) ? 0x91 : 0x92,
21619 (0x1 << 12));
21620 } else {
21622 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21623 mask = (0x1 << 5);
21624 val = value << 5;
21625 } else {
21626 mask = (0x1 << 4);
21627 val = value << 4;
21629 mod_phy_reg(pi,
21630 (core ==
21631 PHY_CORE_0) ? 0x91 : 0x92,
21632 mask, val);
21634 } else if (field == NPHY_RfctrlIntc_override_EXT_LNA_PU) {
21635 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21636 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21638 mask = (0x1 << 0);
21639 val = value << 0;
21640 mod_phy_reg(pi,
21641 (core ==
21642 PHY_CORE_0) ? 0x91
21643 : 0x92, mask, val);
21645 mask = (0x1 << 2);
21646 mod_phy_reg(pi,
21647 (core ==
21648 PHY_CORE_0) ? 0x91
21649 : 0x92, mask, 0);
21650 } else {
21652 mask = (0x1 << 2);
21653 val = value << 2;
21654 mod_phy_reg(pi,
21655 (core ==
21656 PHY_CORE_0) ? 0x91
21657 : 0x92, mask, val);
21659 mask = (0x1 << 0);
21660 mod_phy_reg(pi,
21661 (core ==
21662 PHY_CORE_0) ? 0x91
21663 : 0x92, mask, 0);
21666 mask = (0x1 << 11);
21667 val = 1 << 11;
21668 mod_phy_reg(pi,
21669 (core ==
21670 PHY_CORE_0) ? 0x91 : 0x92,
21671 mask, val);
21672 } else {
21674 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21675 mask = (0x1 << 0);
21676 val = value << 0;
21677 } else {
21678 mask = (0x1 << 2);
21679 val = value << 2;
21681 mod_phy_reg(pi,
21682 (core ==
21683 PHY_CORE_0) ? 0x91 : 0x92,
21684 mask, val);
21686 } else if (field ==
21687 NPHY_RfctrlIntc_override_EXT_LNA_GAIN) {
21688 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21689 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21691 mask = (0x1 << 1);
21692 val = value << 1;
21693 mod_phy_reg(pi,
21694 (core ==
21695 PHY_CORE_0) ? 0x91
21696 : 0x92, mask, val);
21698 mask = (0x1 << 3);
21699 mod_phy_reg(pi,
21700 (core ==
21701 PHY_CORE_0) ? 0x91
21702 : 0x92, mask, 0);
21703 } else {
21705 mask = (0x1 << 3);
21706 val = value << 3;
21707 mod_phy_reg(pi,
21708 (core ==
21709 PHY_CORE_0) ? 0x91
21710 : 0x92, mask, val);
21712 mask = (0x1 << 1);
21713 mod_phy_reg(pi,
21714 (core ==
21715 PHY_CORE_0) ? 0x91
21716 : 0x92, mask, 0);
21719 mask = (0x1 << 11);
21720 val = 1 << 11;
21721 mod_phy_reg(pi,
21722 (core ==
21723 PHY_CORE_0) ? 0x91 : 0x92,
21724 mask, val);
21725 } else {
21727 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21728 mask = (0x1 << 1);
21729 val = value << 1;
21730 } else {
21731 mask = (0x1 << 3);
21732 val = value << 3;
21734 mod_phy_reg(pi,
21735 (core ==
21736 PHY_CORE_0) ? 0x91 : 0x92,
21737 mask, val);
21741 } else {
21742 return;
21746 static void wlc_phy_rssi_cal_nphy_rev3(phy_info_t *pi)
21748 uint16 classif_state;
21749 uint16 clip_state[2];
21750 uint16 clip_off[] = { 0xffff, 0xffff };
21751 int32 target_code;
21752 u8 vcm, min_vcm;
21753 u8 vcm_final = 0;
21754 u8 result_idx;
21755 int32 poll_results[8][4] = {
21756 {0, 0, 0, 0},
21757 {0, 0, 0, 0},
21758 {0, 0, 0, 0},
21759 {0, 0, 0, 0},
21760 {0, 0, 0, 0},
21761 {0, 0, 0, 0},
21762 {0, 0, 0, 0},
21763 {0, 0, 0, 0}
21765 int32 poll_result_core[4] = { 0, 0, 0, 0 };
21766 int32 min_d = NPHY_RSSICAL_MAXD, curr_d;
21767 int32 fine_digital_offset[4];
21768 int32 poll_results_min[4] = { 0, 0, 0, 0 };
21769 int32 min_poll;
21770 u8 vcm_level_max;
21771 u8 core;
21772 u8 wb_cnt;
21773 u8 rssi_type;
21774 uint16 NPHY_Rfctrlintc1_save, NPHY_Rfctrlintc2_save;
21775 uint16 NPHY_AfectrlOverride1_save, NPHY_AfectrlOverride2_save;
21776 uint16 NPHY_AfectrlCore1_save, NPHY_AfectrlCore2_save;
21777 uint16 NPHY_RfctrlOverride0_save, NPHY_RfctrlOverride1_save;
21778 uint16 NPHY_RfctrlOverrideAux0_save, NPHY_RfctrlOverrideAux1_save;
21779 uint16 NPHY_RfctrlCmd_save;
21780 uint16 NPHY_RfctrlMiscReg1_save, NPHY_RfctrlMiscReg2_save;
21781 uint16 NPHY_RfctrlRSSIOTHERS1_save, NPHY_RfctrlRSSIOTHERS2_save;
21782 u8 rxcore_state;
21783 uint16 NPHY_REV7_RfctrlOverride3_save, NPHY_REV7_RfctrlOverride4_save;
21784 uint16 NPHY_REV7_RfctrlOverride5_save, NPHY_REV7_RfctrlOverride6_save;
21785 uint16 NPHY_REV7_RfctrlMiscReg3_save, NPHY_REV7_RfctrlMiscReg4_save;
21786 uint16 NPHY_REV7_RfctrlMiscReg5_save, NPHY_REV7_RfctrlMiscReg6_save;
21788 NPHY_REV7_RfctrlOverride3_save = NPHY_REV7_RfctrlOverride4_save =
21789 NPHY_REV7_RfctrlOverride5_save = NPHY_REV7_RfctrlOverride6_save =
21790 NPHY_REV7_RfctrlMiscReg3_save = NPHY_REV7_RfctrlMiscReg4_save =
21791 NPHY_REV7_RfctrlMiscReg5_save = NPHY_REV7_RfctrlMiscReg6_save = 0;
21793 classif_state = wlc_phy_classifier_nphy(pi, 0, 0);
21794 wlc_phy_classifier_nphy(pi, (0x7 << 0), 4);
21795 wlc_phy_clip_det_nphy(pi, 0, clip_state);
21796 wlc_phy_clip_det_nphy(pi, 1, clip_off);
21798 NPHY_Rfctrlintc1_save = read_phy_reg(pi, 0x91);
21799 NPHY_Rfctrlintc2_save = read_phy_reg(pi, 0x92);
21800 NPHY_AfectrlOverride1_save = read_phy_reg(pi, 0x8f);
21801 NPHY_AfectrlOverride2_save = read_phy_reg(pi, 0xa5);
21802 NPHY_AfectrlCore1_save = read_phy_reg(pi, 0xa6);
21803 NPHY_AfectrlCore2_save = read_phy_reg(pi, 0xa7);
21804 NPHY_RfctrlOverride0_save = read_phy_reg(pi, 0xe7);
21805 NPHY_RfctrlOverride1_save = read_phy_reg(pi, 0xec);
21806 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21807 NPHY_REV7_RfctrlOverride3_save = read_phy_reg(pi, 0x342);
21808 NPHY_REV7_RfctrlOverride4_save = read_phy_reg(pi, 0x343);
21809 NPHY_REV7_RfctrlOverride5_save = read_phy_reg(pi, 0x346);
21810 NPHY_REV7_RfctrlOverride6_save = read_phy_reg(pi, 0x347);
21812 NPHY_RfctrlOverrideAux0_save = read_phy_reg(pi, 0xe5);
21813 NPHY_RfctrlOverrideAux1_save = read_phy_reg(pi, 0xe6);
21814 NPHY_RfctrlCmd_save = read_phy_reg(pi, 0x78);
21815 NPHY_RfctrlMiscReg1_save = read_phy_reg(pi, 0xf9);
21816 NPHY_RfctrlMiscReg2_save = read_phy_reg(pi, 0xfb);
21817 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21818 NPHY_REV7_RfctrlMiscReg3_save = read_phy_reg(pi, 0x340);
21819 NPHY_REV7_RfctrlMiscReg4_save = read_phy_reg(pi, 0x341);
21820 NPHY_REV7_RfctrlMiscReg5_save = read_phy_reg(pi, 0x344);
21821 NPHY_REV7_RfctrlMiscReg6_save = read_phy_reg(pi, 0x345);
21823 NPHY_RfctrlRSSIOTHERS1_save = read_phy_reg(pi, 0x7a);
21824 NPHY_RfctrlRSSIOTHERS2_save = read_phy_reg(pi, 0x7d);
21826 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_OFF, 0,
21827 RADIO_MIMO_CORESEL_ALLRXTX);
21828 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_TRSW, 1,
21829 RADIO_MIMO_CORESEL_ALLRXTX);
21831 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21832 wlc_phy_rfctrl_override_1tomany_nphy(pi,
21833 NPHY_REV7_RfctrlOverride_cmd_rxrf_pu,
21834 0, 0, 0);
21835 } else {
21836 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 0), 0, 0, 0);
21839 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21840 wlc_phy_rfctrl_override_1tomany_nphy(pi,
21841 NPHY_REV7_RfctrlOverride_cmd_rx_pu,
21842 1, 0, 0);
21843 } else {
21844 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 1), 1, 0, 0);
21847 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21848 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
21849 1, 0, 0,
21850 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21851 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 6), 1, 0, 0,
21852 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21853 } else {
21854 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 7), 1, 0, 0);
21855 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 6), 1, 0, 0);
21858 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21859 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21860 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5),
21861 0, 0, 0,
21862 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21863 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), 1, 0,
21865 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21866 } else {
21867 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 5), 0, 0, 0);
21868 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 4), 1, 0, 0);
21871 } else {
21872 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21873 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4),
21874 0, 0, 0,
21875 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21876 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5), 1, 0,
21878 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21879 } else {
21880 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 4), 0, 0, 0);
21881 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 5), 1, 0, 0);
21885 rxcore_state = wlc_phy_rxcore_getstate_nphy((wlc_phy_t *) pi);
21887 vcm_level_max = 8;
21889 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
21891 if ((rxcore_state & (1 << core)) == 0)
21892 continue;
21894 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
21895 core ==
21896 PHY_CORE_0 ?
21897 RADIO_MIMO_CORESEL_CORE1 :
21898 RADIO_MIMO_CORESEL_CORE2,
21899 NPHY_RAIL_I, NPHY_RSSI_SEL_NB);
21900 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
21901 core ==
21902 PHY_CORE_0 ?
21903 RADIO_MIMO_CORESEL_CORE1 :
21904 RADIO_MIMO_CORESEL_CORE2,
21905 NPHY_RAIL_Q, NPHY_RSSI_SEL_NB);
21907 for (vcm = 0; vcm < vcm_level_max; vcm++) {
21908 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21910 mod_radio_reg(pi, (core == PHY_CORE_0) ?
21911 RADIO_2057_NB_MASTER_CORE0 :
21912 RADIO_2057_NB_MASTER_CORE1,
21913 RADIO_2057_VCM_MASK, vcm);
21914 } else {
21916 mod_radio_reg(pi, RADIO_2056_RX_RSSI_MISC |
21917 ((core ==
21918 PHY_CORE_0) ? RADIO_2056_RX0 :
21919 RADIO_2056_RX1),
21920 RADIO_2056_VCM_MASK,
21921 vcm << RADIO_2056_RSSI_VCM_SHIFT);
21924 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_NB,
21925 &poll_results[vcm][0],
21926 NPHY_RSSICAL_NPOLL);
21929 for (result_idx = 0; result_idx < 4; result_idx++) {
21930 if ((core == result_idx / 2) && (result_idx % 2 == 0)) {
21932 min_d = NPHY_RSSICAL_MAXD;
21933 min_vcm = 0;
21934 min_poll =
21935 NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL +
21937 for (vcm = 0; vcm < vcm_level_max; vcm++) {
21938 curr_d = poll_results[vcm][result_idx] *
21939 poll_results[vcm][result_idx] +
21940 poll_results[vcm][result_idx + 1] *
21941 poll_results[vcm][result_idx + 1];
21942 if (curr_d < min_d) {
21943 min_d = curr_d;
21944 min_vcm = vcm;
21946 if (poll_results[vcm][result_idx] <
21947 min_poll) {
21948 min_poll =
21949 poll_results[vcm]
21950 [result_idx];
21953 vcm_final = min_vcm;
21954 poll_results_min[result_idx] = min_poll;
21958 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21959 mod_radio_reg(pi, (core == PHY_CORE_0) ?
21960 RADIO_2057_NB_MASTER_CORE0 :
21961 RADIO_2057_NB_MASTER_CORE1,
21962 RADIO_2057_VCM_MASK, vcm_final);
21963 } else {
21964 mod_radio_reg(pi, RADIO_2056_RX_RSSI_MISC |
21965 ((core ==
21966 PHY_CORE_0) ? RADIO_2056_RX0 :
21967 RADIO_2056_RX1), RADIO_2056_VCM_MASK,
21968 vcm_final << RADIO_2056_RSSI_VCM_SHIFT);
21971 for (result_idx = 0; result_idx < 4; result_idx++) {
21972 if (core == result_idx / 2) {
21973 fine_digital_offset[result_idx] =
21974 (NPHY_RSSICAL_NB_TARGET *
21975 NPHY_RSSICAL_NPOLL) -
21976 poll_results[vcm_final][result_idx];
21977 if (fine_digital_offset[result_idx] < 0) {
21978 fine_digital_offset[result_idx] =
21979 ABS(fine_digital_offset
21980 [result_idx]);
21981 fine_digital_offset[result_idx] +=
21982 (NPHY_RSSICAL_NPOLL / 2);
21983 fine_digital_offset[result_idx] /=
21984 NPHY_RSSICAL_NPOLL;
21985 fine_digital_offset[result_idx] =
21986 -fine_digital_offset[result_idx];
21987 } else {
21988 fine_digital_offset[result_idx] +=
21989 (NPHY_RSSICAL_NPOLL / 2);
21990 fine_digital_offset[result_idx] /=
21991 NPHY_RSSICAL_NPOLL;
21994 if (poll_results_min[result_idx] ==
21995 NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL) {
21996 fine_digital_offset[result_idx] =
21997 (NPHY_RSSICAL_NB_TARGET -
21998 NPHY_RSSICAL_MAXREAD - 1);
22001 wlc_phy_scale_offset_rssi_nphy(pi, 0x0,
22002 (s8)
22003 fine_digital_offset
22004 [result_idx],
22005 (result_idx /
22006 2 ==
22007 0) ?
22008 RADIO_MIMO_CORESEL_CORE1
22010 RADIO_MIMO_CORESEL_CORE2,
22011 (result_idx %
22012 2 ==
22013 0) ? NPHY_RAIL_I
22014 : NPHY_RAIL_Q,
22015 NPHY_RSSI_SEL_NB);
22021 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
22023 if ((rxcore_state & (1 << core)) == 0)
22024 continue;
22026 for (wb_cnt = 0; wb_cnt < 2; wb_cnt++) {
22027 if (wb_cnt == 0) {
22028 rssi_type = NPHY_RSSI_SEL_W1;
22029 target_code = NPHY_RSSICAL_W1_TARGET_REV3;
22030 } else {
22031 rssi_type = NPHY_RSSI_SEL_W2;
22032 target_code = NPHY_RSSICAL_W2_TARGET_REV3;
22035 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
22036 core ==
22037 PHY_CORE_0 ?
22038 RADIO_MIMO_CORESEL_CORE1
22040 RADIO_MIMO_CORESEL_CORE2,
22041 NPHY_RAIL_I, rssi_type);
22042 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
22043 core ==
22044 PHY_CORE_0 ?
22045 RADIO_MIMO_CORESEL_CORE1
22047 RADIO_MIMO_CORESEL_CORE2,
22048 NPHY_RAIL_Q, rssi_type);
22050 wlc_phy_poll_rssi_nphy(pi, rssi_type, poll_result_core,
22051 NPHY_RSSICAL_NPOLL);
22053 for (result_idx = 0; result_idx < 4; result_idx++) {
22054 if (core == result_idx / 2) {
22055 fine_digital_offset[result_idx] =
22056 (target_code * NPHY_RSSICAL_NPOLL) -
22057 poll_result_core[result_idx];
22058 if (fine_digital_offset[result_idx] < 0) {
22059 fine_digital_offset[result_idx]
22061 ABS(fine_digital_offset
22062 [result_idx]);
22063 fine_digital_offset[result_idx]
22064 += (NPHY_RSSICAL_NPOLL / 2);
22065 fine_digital_offset[result_idx]
22066 /= NPHY_RSSICAL_NPOLL;
22067 fine_digital_offset[result_idx]
22069 -fine_digital_offset
22070 [result_idx];
22071 } else {
22072 fine_digital_offset[result_idx]
22073 += (NPHY_RSSICAL_NPOLL / 2);
22074 fine_digital_offset[result_idx]
22075 /= NPHY_RSSICAL_NPOLL;
22078 wlc_phy_scale_offset_rssi_nphy(pi, 0x0,
22079 (s8)
22080 fine_digital_offset
22081 [core *
22083 (core ==
22084 PHY_CORE_0)
22086 RADIO_MIMO_CORESEL_CORE1
22088 RADIO_MIMO_CORESEL_CORE2,
22089 (result_idx
22090 % 2 ==
22091 0) ?
22092 NPHY_RAIL_I
22094 NPHY_RAIL_Q,
22095 rssi_type);
22102 write_phy_reg(pi, 0x91, NPHY_Rfctrlintc1_save);
22103 write_phy_reg(pi, 0x92, NPHY_Rfctrlintc2_save);
22105 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
22107 mod_phy_reg(pi, 0xe7, (0x1 << 0), 1 << 0);
22108 mod_phy_reg(pi, 0x78, (0x1 << 0), 1 << 0);
22109 mod_phy_reg(pi, 0xe7, (0x1 << 0), 0);
22111 mod_phy_reg(pi, 0xec, (0x1 << 0), 1 << 0);
22112 mod_phy_reg(pi, 0x78, (0x1 << 1), 1 << 1);
22113 mod_phy_reg(pi, 0xec, (0x1 << 0), 0);
22115 write_phy_reg(pi, 0x8f, NPHY_AfectrlOverride1_save);
22116 write_phy_reg(pi, 0xa5, NPHY_AfectrlOverride2_save);
22117 write_phy_reg(pi, 0xa6, NPHY_AfectrlCore1_save);
22118 write_phy_reg(pi, 0xa7, NPHY_AfectrlCore2_save);
22119 write_phy_reg(pi, 0xe7, NPHY_RfctrlOverride0_save);
22120 write_phy_reg(pi, 0xec, NPHY_RfctrlOverride1_save);
22121 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22122 write_phy_reg(pi, 0x342, NPHY_REV7_RfctrlOverride3_save);
22123 write_phy_reg(pi, 0x343, NPHY_REV7_RfctrlOverride4_save);
22124 write_phy_reg(pi, 0x346, NPHY_REV7_RfctrlOverride5_save);
22125 write_phy_reg(pi, 0x347, NPHY_REV7_RfctrlOverride6_save);
22127 write_phy_reg(pi, 0xe5, NPHY_RfctrlOverrideAux0_save);
22128 write_phy_reg(pi, 0xe6, NPHY_RfctrlOverrideAux1_save);
22129 write_phy_reg(pi, 0x78, NPHY_RfctrlCmd_save);
22130 write_phy_reg(pi, 0xf9, NPHY_RfctrlMiscReg1_save);
22131 write_phy_reg(pi, 0xfb, NPHY_RfctrlMiscReg2_save);
22132 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22133 write_phy_reg(pi, 0x340, NPHY_REV7_RfctrlMiscReg3_save);
22134 write_phy_reg(pi, 0x341, NPHY_REV7_RfctrlMiscReg4_save);
22135 write_phy_reg(pi, 0x344, NPHY_REV7_RfctrlMiscReg5_save);
22136 write_phy_reg(pi, 0x345, NPHY_REV7_RfctrlMiscReg6_save);
22138 write_phy_reg(pi, 0x7a, NPHY_RfctrlRSSIOTHERS1_save);
22139 write_phy_reg(pi, 0x7d, NPHY_RfctrlRSSIOTHERS2_save);
22141 if (CHSPEC_IS2G(pi->radio_chanspec)) {
22142 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22143 pi->rssical_cache.rssical_radio_regs_2G[0] =
22144 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0);
22145 pi->rssical_cache.rssical_radio_regs_2G[1] =
22146 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1);
22147 } else {
22148 pi->rssical_cache.rssical_radio_regs_2G[0] =
22149 read_radio_reg(pi,
22150 RADIO_2056_RX_RSSI_MISC |
22151 RADIO_2056_RX0);
22152 pi->rssical_cache.rssical_radio_regs_2G[1] =
22153 read_radio_reg(pi,
22154 RADIO_2056_RX_RSSI_MISC |
22155 RADIO_2056_RX1);
22158 pi->rssical_cache.rssical_phyregs_2G[0] =
22159 read_phy_reg(pi, 0x1a6);
22160 pi->rssical_cache.rssical_phyregs_2G[1] =
22161 read_phy_reg(pi, 0x1ac);
22162 pi->rssical_cache.rssical_phyregs_2G[2] =
22163 read_phy_reg(pi, 0x1b2);
22164 pi->rssical_cache.rssical_phyregs_2G[3] =
22165 read_phy_reg(pi, 0x1b8);
22166 pi->rssical_cache.rssical_phyregs_2G[4] =
22167 read_phy_reg(pi, 0x1a4);
22168 pi->rssical_cache.rssical_phyregs_2G[5] =
22169 read_phy_reg(pi, 0x1aa);
22170 pi->rssical_cache.rssical_phyregs_2G[6] =
22171 read_phy_reg(pi, 0x1b0);
22172 pi->rssical_cache.rssical_phyregs_2G[7] =
22173 read_phy_reg(pi, 0x1b6);
22174 pi->rssical_cache.rssical_phyregs_2G[8] =
22175 read_phy_reg(pi, 0x1a5);
22176 pi->rssical_cache.rssical_phyregs_2G[9] =
22177 read_phy_reg(pi, 0x1ab);
22178 pi->rssical_cache.rssical_phyregs_2G[10] =
22179 read_phy_reg(pi, 0x1b1);
22180 pi->rssical_cache.rssical_phyregs_2G[11] =
22181 read_phy_reg(pi, 0x1b7);
22183 pi->nphy_rssical_chanspec_2G = pi->radio_chanspec;
22184 } else {
22185 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22186 pi->rssical_cache.rssical_radio_regs_5G[0] =
22187 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0);
22188 pi->rssical_cache.rssical_radio_regs_5G[1] =
22189 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1);
22190 } else {
22191 pi->rssical_cache.rssical_radio_regs_5G[0] =
22192 read_radio_reg(pi,
22193 RADIO_2056_RX_RSSI_MISC |
22194 RADIO_2056_RX0);
22195 pi->rssical_cache.rssical_radio_regs_5G[1] =
22196 read_radio_reg(pi,
22197 RADIO_2056_RX_RSSI_MISC |
22198 RADIO_2056_RX1);
22201 pi->rssical_cache.rssical_phyregs_5G[0] =
22202 read_phy_reg(pi, 0x1a6);
22203 pi->rssical_cache.rssical_phyregs_5G[1] =
22204 read_phy_reg(pi, 0x1ac);
22205 pi->rssical_cache.rssical_phyregs_5G[2] =
22206 read_phy_reg(pi, 0x1b2);
22207 pi->rssical_cache.rssical_phyregs_5G[3] =
22208 read_phy_reg(pi, 0x1b8);
22209 pi->rssical_cache.rssical_phyregs_5G[4] =
22210 read_phy_reg(pi, 0x1a4);
22211 pi->rssical_cache.rssical_phyregs_5G[5] =
22212 read_phy_reg(pi, 0x1aa);
22213 pi->rssical_cache.rssical_phyregs_5G[6] =
22214 read_phy_reg(pi, 0x1b0);
22215 pi->rssical_cache.rssical_phyregs_5G[7] =
22216 read_phy_reg(pi, 0x1b6);
22217 pi->rssical_cache.rssical_phyregs_5G[8] =
22218 read_phy_reg(pi, 0x1a5);
22219 pi->rssical_cache.rssical_phyregs_5G[9] =
22220 read_phy_reg(pi, 0x1ab);
22221 pi->rssical_cache.rssical_phyregs_5G[10] =
22222 read_phy_reg(pi, 0x1b1);
22223 pi->rssical_cache.rssical_phyregs_5G[11] =
22224 read_phy_reg(pi, 0x1b7);
22226 pi->nphy_rssical_chanspec_5G = pi->radio_chanspec;
22229 wlc_phy_classifier_nphy(pi, (0x7 << 0), classif_state);
22230 wlc_phy_clip_det_nphy(pi, 1, clip_state);
22233 static void wlc_phy_restore_rssical_nphy(phy_info_t *pi)
22235 ASSERT(NREV_GE(pi->pubpi.phy_rev, 3));
22237 if (CHSPEC_IS2G(pi->radio_chanspec)) {
22238 if (pi->nphy_rssical_chanspec_2G == 0)
22239 return;
22241 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22242 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0,
22243 RADIO_2057_VCM_MASK,
22244 pi->rssical_cache.
22245 rssical_radio_regs_2G[0]);
22246 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1,
22247 RADIO_2057_VCM_MASK,
22248 pi->rssical_cache.
22249 rssical_radio_regs_2G[1]);
22250 } else {
22251 mod_radio_reg(pi,
22252 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX0,
22253 RADIO_2056_VCM_MASK,
22254 pi->rssical_cache.
22255 rssical_radio_regs_2G[0]);
22256 mod_radio_reg(pi,
22257 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX1,
22258 RADIO_2056_VCM_MASK,
22259 pi->rssical_cache.
22260 rssical_radio_regs_2G[1]);
22263 write_phy_reg(pi, 0x1a6,
22264 pi->rssical_cache.rssical_phyregs_2G[0]);
22265 write_phy_reg(pi, 0x1ac,
22266 pi->rssical_cache.rssical_phyregs_2G[1]);
22267 write_phy_reg(pi, 0x1b2,
22268 pi->rssical_cache.rssical_phyregs_2G[2]);
22269 write_phy_reg(pi, 0x1b8,
22270 pi->rssical_cache.rssical_phyregs_2G[3]);
22271 write_phy_reg(pi, 0x1a4,
22272 pi->rssical_cache.rssical_phyregs_2G[4]);
22273 write_phy_reg(pi, 0x1aa,
22274 pi->rssical_cache.rssical_phyregs_2G[5]);
22275 write_phy_reg(pi, 0x1b0,
22276 pi->rssical_cache.rssical_phyregs_2G[6]);
22277 write_phy_reg(pi, 0x1b6,
22278 pi->rssical_cache.rssical_phyregs_2G[7]);
22279 write_phy_reg(pi, 0x1a5,
22280 pi->rssical_cache.rssical_phyregs_2G[8]);
22281 write_phy_reg(pi, 0x1ab,
22282 pi->rssical_cache.rssical_phyregs_2G[9]);
22283 write_phy_reg(pi, 0x1b1,
22284 pi->rssical_cache.rssical_phyregs_2G[10]);
22285 write_phy_reg(pi, 0x1b7,
22286 pi->rssical_cache.rssical_phyregs_2G[11]);
22288 } else {
22289 if (pi->nphy_rssical_chanspec_5G == 0)
22290 return;
22292 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22293 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0,
22294 RADIO_2057_VCM_MASK,
22295 pi->rssical_cache.
22296 rssical_radio_regs_5G[0]);
22297 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1,
22298 RADIO_2057_VCM_MASK,
22299 pi->rssical_cache.
22300 rssical_radio_regs_5G[1]);
22301 } else {
22302 mod_radio_reg(pi,
22303 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX0,
22304 RADIO_2056_VCM_MASK,
22305 pi->rssical_cache.
22306 rssical_radio_regs_5G[0]);
22307 mod_radio_reg(pi,
22308 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX1,
22309 RADIO_2056_VCM_MASK,
22310 pi->rssical_cache.
22311 rssical_radio_regs_5G[1]);
22314 write_phy_reg(pi, 0x1a6,
22315 pi->rssical_cache.rssical_phyregs_5G[0]);
22316 write_phy_reg(pi, 0x1ac,
22317 pi->rssical_cache.rssical_phyregs_5G[1]);
22318 write_phy_reg(pi, 0x1b2,
22319 pi->rssical_cache.rssical_phyregs_5G[2]);
22320 write_phy_reg(pi, 0x1b8,
22321 pi->rssical_cache.rssical_phyregs_5G[3]);
22322 write_phy_reg(pi, 0x1a4,
22323 pi->rssical_cache.rssical_phyregs_5G[4]);
22324 write_phy_reg(pi, 0x1aa,
22325 pi->rssical_cache.rssical_phyregs_5G[5]);
22326 write_phy_reg(pi, 0x1b0,
22327 pi->rssical_cache.rssical_phyregs_5G[6]);
22328 write_phy_reg(pi, 0x1b6,
22329 pi->rssical_cache.rssical_phyregs_5G[7]);
22330 write_phy_reg(pi, 0x1a5,
22331 pi->rssical_cache.rssical_phyregs_5G[8]);
22332 write_phy_reg(pi, 0x1ab,
22333 pi->rssical_cache.rssical_phyregs_5G[9]);
22334 write_phy_reg(pi, 0x1b1,
22335 pi->rssical_cache.rssical_phyregs_5G[10]);
22336 write_phy_reg(pi, 0x1b7,
22337 pi->rssical_cache.rssical_phyregs_5G[11]);
22341 static uint16
22342 wlc_phy_gen_load_samples_nphy(phy_info_t *pi, uint32 f_kHz, uint16 max_val,
22343 u8 dac_test_mode)
22345 u8 phy_bw, is_phybw40;
22346 uint16 num_samps, t, spur;
22347 fixed theta = 0, rot = 0;
22348 uint32 tbl_len;
22349 cint32 *tone_buf = NULL;
22351 is_phybw40 = CHSPEC_IS40(pi->radio_chanspec);
22352 phy_bw = (is_phybw40 == 1) ? 40 : 20;
22353 tbl_len = (phy_bw << 3);
22355 if (dac_test_mode == 1) {
22356 spur = read_phy_reg(pi, 0x01);
22357 spur = (spur >> 15) & 1;
22358 phy_bw = (spur == 1) ? 82 : 80;
22359 phy_bw = (is_phybw40 == 1) ? (phy_bw << 1) : phy_bw;
22361 tbl_len = (phy_bw << 1);
22364 tone_buf = (cint32 *) MALLOC(pi->sh->osh, sizeof(cint32) * tbl_len);
22365 if (tone_buf == NULL) {
22366 return 0;
22369 num_samps = (uint16) tbl_len;
22370 rot = FIXED((f_kHz * 36) / phy_bw) / 100;
22371 theta = 0;
22373 for (t = 0; t < num_samps; t++) {
22375 wlc_phy_cordic(theta, &tone_buf[t]);
22377 theta += rot;
22379 tone_buf[t].q = (int32) FLOAT(tone_buf[t].q * max_val);
22380 tone_buf[t].i = (int32) FLOAT(tone_buf[t].i * max_val);
22383 wlc_phy_loadsampletable_nphy(pi, tone_buf, num_samps);
22385 if (tone_buf != NULL)
22386 MFREE(pi->sh->osh, tone_buf, sizeof(cint32) * tbl_len);
22388 return num_samps;
22392 wlc_phy_tx_tone_nphy(phy_info_t *pi, uint32 f_kHz, uint16 max_val,
22393 u8 iqmode, u8 dac_test_mode, bool modify_bbmult)
22395 uint16 num_samps;
22396 uint16 loops = 0xffff;
22397 uint16 wait = 0;
22399 num_samps =
22400 wlc_phy_gen_load_samples_nphy(pi, f_kHz, max_val, dac_test_mode);
22401 if (num_samps == 0) {
22402 return BCME_ERROR;
22405 wlc_phy_runsamples_nphy(pi, num_samps, loops, wait, iqmode,
22406 dac_test_mode, modify_bbmult);
22408 return BCME_OK;
22411 static void
22412 wlc_phy_loadsampletable_nphy(phy_info_t *pi, cint32 *tone_buf,
22413 uint16 num_samps)
22415 uint16 t;
22416 uint32 *data_buf = NULL;
22418 data_buf = (uint32 *) MALLOC(pi->sh->osh, sizeof(uint32) * num_samps);
22419 if (data_buf == NULL) {
22420 return;
22423 if (pi->phyhang_avoid)
22424 wlc_phy_stay_in_carriersearch_nphy(pi, TRUE);
22426 for (t = 0; t < num_samps; t++) {
22427 data_buf[t] = ((((unsigned int)tone_buf[t].i) & 0x3ff) << 10) |
22428 (((unsigned int)tone_buf[t].q) & 0x3ff);
22430 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_SAMPLEPLAY, num_samps, 0, 32,
22431 data_buf);
22433 if (data_buf != NULL)
22434 MFREE(pi->sh->osh, data_buf, sizeof(uint32) * num_samps);
22436 if (pi->phyhang_avoid)
22437 wlc_phy_stay_in_carriersearch_nphy(pi, FALSE);
22440 static void
22441 wlc_phy_runsamples_nphy(phy_info_t *pi, uint16 num_samps, uint16 loops,
22442 uint16 wait, u8 iqmode, u8 dac_test_mode,
22443 bool modify_bbmult)
22445 uint16 bb_mult;
22446 u8 phy_bw, sample_cmd;
22447 uint16 orig_RfseqCoreActv;
22448 uint16 lpf_bw_ctl_override3, lpf_bw_ctl_override4, lpf_bw_ctl_miscreg3,
22449 lpf_bw_ctl_miscreg4;
22451 if (pi->phyhang_avoid)
22452 wlc_phy_stay_in_carriersearch_nphy(pi, TRUE);
22454 phy_bw = 20;
22455 if (CHSPEC_IS40(pi->radio_chanspec))
22456 phy_bw = 40;
22458 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22460 lpf_bw_ctl_override3 = read_phy_reg(pi, 0x342) & (0x1 << 7);
22461 lpf_bw_ctl_override4 = read_phy_reg(pi, 0x343) & (0x1 << 7);
22462 if (lpf_bw_ctl_override3 | lpf_bw_ctl_override4) {
22463 lpf_bw_ctl_miscreg3 = read_phy_reg(pi, 0x340) &
22464 (0x7 << 8);
22465 lpf_bw_ctl_miscreg4 = read_phy_reg(pi, 0x341) &
22466 (0x7 << 8);
22467 } else {
22468 wlc_phy_rfctrl_override_nphy_rev7(pi,
22469 (0x1 << 7),
22470 wlc_phy_read_lpf_bw_ctl_nphy
22471 (pi, 0), 0, 0,
22472 NPHY_REV7_RFCTRLOVERRIDE_ID1);
22474 pi->nphy_sample_play_lpf_bw_ctl_ovr = TRUE;
22476 lpf_bw_ctl_miscreg3 = read_phy_reg(pi, 0x340) &
22477 (0x7 << 8);
22478 lpf_bw_ctl_miscreg4 = read_phy_reg(pi, 0x341) &
22479 (0x7 << 8);
22483 if ((pi->nphy_bb_mult_save & BB_MULT_VALID_MASK) == 0) {
22485 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, 87, 16,
22486 &bb_mult);
22487 pi->nphy_bb_mult_save =
22488 BB_MULT_VALID_MASK | (bb_mult & BB_MULT_MASK);
22491 if (modify_bbmult) {
22492 bb_mult = (phy_bw == 20) ? 100 : 71;
22493 bb_mult = (bb_mult << 8) + bb_mult;
22494 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, 87, 16,
22495 &bb_mult);
22498 if (pi->phyhang_avoid)
22499 wlc_phy_stay_in_carriersearch_nphy(pi, FALSE);
22501 write_phy_reg(pi, 0xc6, num_samps - 1);
22503 if (loops != 0xffff) {
22504 write_phy_reg(pi, 0xc4, loops - 1);
22505 } else {
22506 write_phy_reg(pi, 0xc4, loops);
22508 write_phy_reg(pi, 0xc5, wait);
22510 orig_RfseqCoreActv = read_phy_reg(pi, 0xa1);
22511 or_phy_reg(pi, 0xa1, NPHY_RfseqMode_CoreActv_override);
22512 if (iqmode) {
22514 and_phy_reg(pi, 0xc2, 0x7FFF);
22516 or_phy_reg(pi, 0xc2, 0x8000);
22517 } else {
22519 sample_cmd = (dac_test_mode == 1) ? 0x5 : 0x1;
22520 write_phy_reg(pi, 0xc3, sample_cmd);
22523 SPINWAIT(((read_phy_reg(pi, 0xa4) & 0x1) == 1), 1000);
22525 write_phy_reg(pi, 0xa1, orig_RfseqCoreActv);
22528 void wlc_phy_stopplayback_nphy(phy_info_t *pi)
22530 uint16 playback_status;
22531 uint16 bb_mult;
22533 if (pi->phyhang_avoid)
22534 wlc_phy_stay_in_carriersearch_nphy(pi, TRUE);
22536 playback_status = read_phy_reg(pi, 0xc7);
22537 if (playback_status & 0x1) {
22538 or_phy_reg(pi, 0xc3, NPHY_sampleCmd_STOP);
22539 } else if (playback_status & 0x2) {
22541 and_phy_reg(pi, 0xc2,
22542 (uint16) ~NPHY_iqloCalCmdGctl_IQLO_CAL_EN);
22545 and_phy_reg(pi, 0xc3, (uint16) ~(0x1 << 2));
22547 if ((pi->nphy_bb_mult_save & BB_MULT_VALID_MASK) != 0) {
22549 bb_mult = pi->nphy_bb_mult_save & BB_MULT_MASK;
22550 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, 87, 16,
22551 &bb_mult);
22553 pi->nphy_bb_mult_save = 0;
22556 if (NREV_IS(pi->pubpi.phy_rev, 7) || NREV_GE(pi->pubpi.phy_rev, 8)) {
22557 if (pi->nphy_sample_play_lpf_bw_ctl_ovr) {
22558 wlc_phy_rfctrl_override_nphy_rev7(pi,
22559 (0x1 << 7),
22560 0, 0, 1,
22561 NPHY_REV7_RFCTRLOVERRIDE_ID1);
22562 pi->nphy_sample_play_lpf_bw_ctl_ovr = FALSE;
22566 if (pi->phyhang_avoid)
22567 wlc_phy_stay_in_carriersearch_nphy(pi, FALSE);
22570 nphy_txgains_t wlc_phy_get_tx_gain_nphy(phy_info_t *pi)
22572 uint16 base_idx[2], curr_gain[2];
22573 u8 core_no;
22574 nphy_txgains_t target_gain;
22575 uint32 *tx_pwrctrl_tbl = NULL;
22577 if (pi->nphy_txpwrctrl == PHY_TPC_HW_OFF) {
22578 if (pi->phyhang_avoid)
22579 wlc_phy_stay_in_carriersearch_nphy(pi, TRUE);
22581 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
22582 curr_gain);
22584 if (pi->phyhang_avoid)
22585 wlc_phy_stay_in_carriersearch_nphy(pi, FALSE);
22587 for (core_no = 0; core_no < 2; core_no++) {
22588 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22589 target_gain.ipa[core_no] =
22590 curr_gain[core_no] & 0x0007;
22591 target_gain.pad[core_no] =
22592 ((curr_gain[core_no] & 0x00F8) >> 3);
22593 target_gain.pga[core_no] =
22594 ((curr_gain[core_no] & 0x0F00) >> 8);
22595 target_gain.txgm[core_no] =
22596 ((curr_gain[core_no] & 0x7000) >> 12);
22597 target_gain.txlpf[core_no] =
22598 ((curr_gain[core_no] & 0x8000) >> 15);
22599 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22600 target_gain.ipa[core_no] =
22601 curr_gain[core_no] & 0x000F;
22602 target_gain.pad[core_no] =
22603 ((curr_gain[core_no] & 0x00F0) >> 4);
22604 target_gain.pga[core_no] =
22605 ((curr_gain[core_no] & 0x0F00) >> 8);
22606 target_gain.txgm[core_no] =
22607 ((curr_gain[core_no] & 0x7000) >> 12);
22608 } else {
22609 target_gain.ipa[core_no] =
22610 curr_gain[core_no] & 0x0003;
22611 target_gain.pad[core_no] =
22612 ((curr_gain[core_no] & 0x000C) >> 2);
22613 target_gain.pga[core_no] =
22614 ((curr_gain[core_no] & 0x0070) >> 4);
22615 target_gain.txgm[core_no] =
22616 ((curr_gain[core_no] & 0x0380) >> 7);
22619 } else {
22620 base_idx[0] = (read_phy_reg(pi, 0x1ed) >> 8) & 0x7f;
22621 base_idx[1] = (read_phy_reg(pi, 0x1ee) >> 8) & 0x7f;
22622 for (core_no = 0; core_no < 2; core_no++) {
22623 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22624 if (PHY_IPA(pi)) {
22625 tx_pwrctrl_tbl =
22626 wlc_phy_get_ipa_gaintbl_nphy(pi);
22627 } else {
22628 if (CHSPEC_IS5G(pi->radio_chanspec)) {
22629 if NREV_IS
22630 (pi->pubpi.phy_rev, 3) {
22631 tx_pwrctrl_tbl =
22632 nphy_tpc_5GHz_txgain_rev3;
22633 } else if NREV_IS
22634 (pi->pubpi.phy_rev, 4) {
22635 tx_pwrctrl_tbl =
22636 (pi->srom_fem5g.
22637 extpagain ==
22638 3) ?
22639 nphy_tpc_5GHz_txgain_HiPwrEPA
22641 nphy_tpc_5GHz_txgain_rev4;
22642 } else {
22643 tx_pwrctrl_tbl =
22644 nphy_tpc_5GHz_txgain_rev5;
22646 } else {
22647 if (NREV_GE
22648 (pi->pubpi.phy_rev, 7)) {
22649 if (pi->pubpi.
22650 radiorev == 3) {
22651 tx_pwrctrl_tbl =
22652 nphy_tpc_txgain_epa_2057rev3;
22653 } else if (pi->pubpi.
22654 radiorev ==
22655 5) {
22656 tx_pwrctrl_tbl =
22657 nphy_tpc_txgain_epa_2057rev5;
22660 } else {
22661 if (NREV_GE
22662 (pi->pubpi.phy_rev,
22664 && (pi->srom_fem2g.
22665 extpagain ==
22666 3)) {
22667 tx_pwrctrl_tbl =
22668 nphy_tpc_txgain_HiPwrEPA;
22669 } else {
22670 tx_pwrctrl_tbl =
22671 nphy_tpc_txgain_rev3;
22676 if NREV_GE
22677 (pi->pubpi.phy_rev, 7) {
22678 target_gain.ipa[core_no] =
22679 (tx_pwrctrl_tbl[base_idx[core_no]]
22680 >> 16) & 0x7;
22681 target_gain.pad[core_no] =
22682 (tx_pwrctrl_tbl[base_idx[core_no]]
22683 >> 19) & 0x1f;
22684 target_gain.pga[core_no] =
22685 (tx_pwrctrl_tbl[base_idx[core_no]]
22686 >> 24) & 0xf;
22687 target_gain.txgm[core_no] =
22688 (tx_pwrctrl_tbl[base_idx[core_no]]
22689 >> 28) & 0x7;
22690 target_gain.txlpf[core_no] =
22691 (tx_pwrctrl_tbl[base_idx[core_no]]
22692 >> 31) & 0x1;
22693 } else {
22694 target_gain.ipa[core_no] =
22695 (tx_pwrctrl_tbl[base_idx[core_no]]
22696 >> 16) & 0xf;
22697 target_gain.pad[core_no] =
22698 (tx_pwrctrl_tbl[base_idx[core_no]]
22699 >> 20) & 0xf;
22700 target_gain.pga[core_no] =
22701 (tx_pwrctrl_tbl[base_idx[core_no]]
22702 >> 24) & 0xf;
22703 target_gain.txgm[core_no] =
22704 (tx_pwrctrl_tbl[base_idx[core_no]]
22705 >> 28) & 0x7;
22707 } else {
22708 target_gain.ipa[core_no] =
22709 (nphy_tpc_txgain[base_idx[core_no]] >> 16) &
22710 0x3;
22711 target_gain.pad[core_no] =
22712 (nphy_tpc_txgain[base_idx[core_no]] >> 18) &
22713 0x3;
22714 target_gain.pga[core_no] =
22715 (nphy_tpc_txgain[base_idx[core_no]] >> 20) &
22716 0x7;
22717 target_gain.txgm[core_no] =
22718 (nphy_tpc_txgain[base_idx[core_no]] >> 23) &
22719 0x7;
22724 return target_gain;
22727 static void
22728 wlc_phy_iqcal_gainparams_nphy(phy_info_t *pi, uint16 core_no,
22729 nphy_txgains_t target_gain,
22730 nphy_iqcal_params_t *params)
22732 u8 k;
22733 int idx;
22734 uint16 gain_index;
22735 u8 band_idx = (CHSPEC_IS5G(pi->radio_chanspec) ? 1 : 0);
22737 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22738 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22739 params->txlpf = target_gain.txlpf[core_no];
22741 params->txgm = target_gain.txgm[core_no];
22742 params->pga = target_gain.pga[core_no];
22743 params->pad = target_gain.pad[core_no];
22744 params->ipa = target_gain.ipa[core_no];
22745 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22746 params->cal_gain =
22747 ((params->txlpf << 15) | (params->
22748 txgm << 12) | (params->
22749 pga << 8) |
22750 (params->pad << 3) | (params->ipa));
22751 } else {
22752 params->cal_gain =
22753 ((params->txgm << 12) | (params->
22754 pga << 8) | (params->
22755 pad << 4) |
22756 (params->ipa));
22758 params->ncorr[0] = 0x79;
22759 params->ncorr[1] = 0x79;
22760 params->ncorr[2] = 0x79;
22761 params->ncorr[3] = 0x79;
22762 params->ncorr[4] = 0x79;
22763 } else {
22765 gain_index = ((target_gain.pad[core_no] << 0) |
22766 (target_gain.pga[core_no] << 4) | (target_gain.
22767 txgm[core_no]
22768 << 8));
22770 idx = -1;
22771 for (k = 0; k < NPHY_IQCAL_NUMGAINS; k++) {
22772 if (tbl_iqcal_gainparams_nphy[band_idx][k][0] ==
22773 gain_index) {
22774 idx = k;
22775 break;
22779 ASSERT(idx != -1);
22781 params->txgm = tbl_iqcal_gainparams_nphy[band_idx][k][1];
22782 params->pga = tbl_iqcal_gainparams_nphy[band_idx][k][2];
22783 params->pad = tbl_iqcal_gainparams_nphy[band_idx][k][3];
22784 params->cal_gain = ((params->txgm << 7) | (params->pga << 4) |
22785 (params->pad << 2));
22786 params->ncorr[0] = tbl_iqcal_gainparams_nphy[band_idx][k][4];
22787 params->ncorr[1] = tbl_iqcal_gainparams_nphy[band_idx][k][5];
22788 params->ncorr[2] = tbl_iqcal_gainparams_nphy[band_idx][k][6];
22789 params->ncorr[3] = tbl_iqcal_gainparams_nphy[band_idx][k][7];
22793 static void wlc_phy_txcal_radio_setup_nphy(phy_info_t *pi)
22795 uint16 jtag_core, core;
22797 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22799 for (core = 0; core <= 1; core++) {
22801 pi->tx_rx_cal_radio_saveregs[(core * 11) + 0] =
22802 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22803 TX_SSI_MASTER);
22805 pi->tx_rx_cal_radio_saveregs[(core * 11) + 1] =
22806 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22807 IQCAL_VCM_HG);
22809 pi->tx_rx_cal_radio_saveregs[(core * 11) + 2] =
22810 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22811 IQCAL_IDAC);
22813 pi->tx_rx_cal_radio_saveregs[(core * 11) + 3] =
22814 READ_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_VCM);
22816 pi->tx_rx_cal_radio_saveregs[(core * 11) + 4] = 0;
22818 pi->tx_rx_cal_radio_saveregs[(core * 11) + 5] =
22819 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22820 TX_SSI_MUX);
22822 if (pi->pubpi.radiorev != 5)
22823 pi->tx_rx_cal_radio_saveregs[(core * 11) + 6] =
22824 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22825 TSSIA);
22827 pi->tx_rx_cal_radio_saveregs[(core * 11) + 7] =
22828 READ_RADIO_REG3(pi, RADIO_2057, TX, core, TSSIG);
22830 pi->tx_rx_cal_radio_saveregs[(core * 11) + 8] =
22831 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22832 TSSI_MISC1);
22834 if (CHSPEC_IS5G(pi->radio_chanspec)) {
22835 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22836 TX_SSI_MASTER, 0x0a);
22837 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22838 IQCAL_VCM_HG, 0x43);
22839 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22840 IQCAL_IDAC, 0x55);
22841 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22842 TSSI_VCM, 0x00);
22843 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22844 TSSIG, 0x00);
22845 if (pi->use_int_tx_iqlo_cal_nphy) {
22846 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
22847 core, TX_SSI_MUX, 0x4);
22848 if (!
22849 (pi->
22850 internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
22852 WRITE_RADIO_REG3(pi, RADIO_2057,
22853 TX, core,
22854 TSSIA, 0x31);
22855 } else {
22857 WRITE_RADIO_REG3(pi, RADIO_2057,
22858 TX, core,
22859 TSSIA, 0x21);
22862 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22863 TSSI_MISC1, 0x00);
22864 } else {
22865 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22866 TX_SSI_MASTER, 0x06);
22867 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22868 IQCAL_VCM_HG, 0x43);
22869 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22870 IQCAL_IDAC, 0x55);
22871 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22872 TSSI_VCM, 0x00);
22874 if (pi->pubpi.radiorev != 5)
22875 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
22876 core, TSSIA, 0x00);
22877 if (pi->use_int_tx_iqlo_cal_nphy) {
22878 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
22879 core, TX_SSI_MUX,
22880 0x06);
22881 if (!
22882 (pi->
22883 internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
22885 WRITE_RADIO_REG3(pi, RADIO_2057,
22886 TX, core,
22887 TSSIG, 0x31);
22888 } else {
22890 WRITE_RADIO_REG3(pi, RADIO_2057,
22891 TX, core,
22892 TSSIG, 0x21);
22895 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22896 TSSI_MISC1, 0x00);
22899 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22901 for (core = 0; core <= 1; core++) {
22902 jtag_core =
22903 (core ==
22904 PHY_CORE_0) ? RADIO_2056_TX0 : RADIO_2056_TX1;
22906 pi->tx_rx_cal_radio_saveregs[(core * 11) + 0] =
22907 read_radio_reg(pi,
22908 RADIO_2056_TX_TX_SSI_MASTER |
22909 jtag_core);
22911 pi->tx_rx_cal_radio_saveregs[(core * 11) + 1] =
22912 read_radio_reg(pi,
22913 RADIO_2056_TX_IQCAL_VCM_HG |
22914 jtag_core);
22916 pi->tx_rx_cal_radio_saveregs[(core * 11) + 2] =
22917 read_radio_reg(pi,
22918 RADIO_2056_TX_IQCAL_IDAC |
22919 jtag_core);
22921 pi->tx_rx_cal_radio_saveregs[(core * 11) + 3] =
22922 read_radio_reg(pi,
22923 RADIO_2056_TX_TSSI_VCM | jtag_core);
22925 pi->tx_rx_cal_radio_saveregs[(core * 11) + 4] =
22926 read_radio_reg(pi,
22927 RADIO_2056_TX_TX_AMP_DET |
22928 jtag_core);
22930 pi->tx_rx_cal_radio_saveregs[(core * 11) + 5] =
22931 read_radio_reg(pi,
22932 RADIO_2056_TX_TX_SSI_MUX |
22933 jtag_core);
22935 pi->tx_rx_cal_radio_saveregs[(core * 11) + 6] =
22936 read_radio_reg(pi, RADIO_2056_TX_TSSIA | jtag_core);
22938 pi->tx_rx_cal_radio_saveregs[(core * 11) + 7] =
22939 read_radio_reg(pi, RADIO_2056_TX_TSSIG | jtag_core);
22941 pi->tx_rx_cal_radio_saveregs[(core * 11) + 8] =
22942 read_radio_reg(pi,
22943 RADIO_2056_TX_TSSI_MISC1 |
22944 jtag_core);
22946 pi->tx_rx_cal_radio_saveregs[(core * 11) + 9] =
22947 read_radio_reg(pi,
22948 RADIO_2056_TX_TSSI_MISC2 |
22949 jtag_core);
22951 pi->tx_rx_cal_radio_saveregs[(core * 11) + 10] =
22952 read_radio_reg(pi,
22953 RADIO_2056_TX_TSSI_MISC3 |
22954 jtag_core);
22956 if (CHSPEC_IS5G(pi->radio_chanspec)) {
22957 write_radio_reg(pi,
22958 RADIO_2056_TX_TX_SSI_MASTER |
22959 jtag_core, 0x0a);
22960 write_radio_reg(pi,
22961 RADIO_2056_TX_IQCAL_VCM_HG |
22962 jtag_core, 0x40);
22963 write_radio_reg(pi,
22964 RADIO_2056_TX_IQCAL_IDAC |
22965 jtag_core, 0x55);
22966 write_radio_reg(pi,
22967 RADIO_2056_TX_TSSI_VCM |
22968 jtag_core, 0x00);
22969 write_radio_reg(pi,
22970 RADIO_2056_TX_TX_AMP_DET |
22971 jtag_core, 0x00);
22973 if (PHY_IPA(pi)) {
22974 write_radio_reg(pi,
22975 RADIO_2056_TX_TX_SSI_MUX
22976 | jtag_core, 0x4);
22977 write_radio_reg(pi,
22978 RADIO_2056_TX_TSSIA |
22979 jtag_core, 0x1);
22980 } else {
22981 write_radio_reg(pi,
22982 RADIO_2056_TX_TX_SSI_MUX
22983 | jtag_core, 0x00);
22984 write_radio_reg(pi,
22985 RADIO_2056_TX_TSSIA |
22986 jtag_core, 0x2f);
22988 write_radio_reg(pi,
22989 RADIO_2056_TX_TSSIG | jtag_core,
22990 0x00);
22991 write_radio_reg(pi,
22992 RADIO_2056_TX_TSSI_MISC1 |
22993 jtag_core, 0x00);
22995 write_radio_reg(pi,
22996 RADIO_2056_TX_TSSI_MISC2 |
22997 jtag_core, 0x00);
22998 write_radio_reg(pi,
22999 RADIO_2056_TX_TSSI_MISC3 |
23000 jtag_core, 0x00);
23001 } else {
23002 write_radio_reg(pi,
23003 RADIO_2056_TX_TX_SSI_MASTER |
23004 jtag_core, 0x06);
23005 write_radio_reg(pi,
23006 RADIO_2056_TX_IQCAL_VCM_HG |
23007 jtag_core, 0x40);
23008 write_radio_reg(pi,
23009 RADIO_2056_TX_IQCAL_IDAC |
23010 jtag_core, 0x55);
23011 write_radio_reg(pi,
23012 RADIO_2056_TX_TSSI_VCM |
23013 jtag_core, 0x00);
23014 write_radio_reg(pi,
23015 RADIO_2056_TX_TX_AMP_DET |
23016 jtag_core, 0x00);
23017 write_radio_reg(pi,
23018 RADIO_2056_TX_TSSIA | jtag_core,
23019 0x00);
23021 if (PHY_IPA(pi)) {
23023 write_radio_reg(pi,
23024 RADIO_2056_TX_TX_SSI_MUX
23025 | jtag_core, 0x06);
23026 if (NREV_LT(pi->pubpi.phy_rev, 5)) {
23028 write_radio_reg(pi,
23029 RADIO_2056_TX_TSSIG
23030 | jtag_core,
23031 0x11);
23032 } else {
23034 write_radio_reg(pi,
23035 RADIO_2056_TX_TSSIG
23036 | jtag_core,
23037 0x1);
23039 } else {
23040 write_radio_reg(pi,
23041 RADIO_2056_TX_TX_SSI_MUX
23042 | jtag_core, 0x00);
23043 write_radio_reg(pi,
23044 RADIO_2056_TX_TSSIG |
23045 jtag_core, 0x20);
23048 write_radio_reg(pi,
23049 RADIO_2056_TX_TSSI_MISC1 |
23050 jtag_core, 0x00);
23051 write_radio_reg(pi,
23052 RADIO_2056_TX_TSSI_MISC2 |
23053 jtag_core, 0x00);
23054 write_radio_reg(pi,
23055 RADIO_2056_TX_TSSI_MISC3 |
23056 jtag_core, 0x00);
23059 } else {
23061 pi->tx_rx_cal_radio_saveregs[0] =
23062 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1);
23063 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1, 0x29);
23064 pi->tx_rx_cal_radio_saveregs[1] =
23065 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2);
23066 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2, 0x54);
23068 pi->tx_rx_cal_radio_saveregs[2] =
23069 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1);
23070 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1, 0x29);
23071 pi->tx_rx_cal_radio_saveregs[3] =
23072 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2);
23073 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2, 0x54);
23075 pi->tx_rx_cal_radio_saveregs[4] =
23076 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1);
23077 pi->tx_rx_cal_radio_saveregs[5] =
23078 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2);
23080 if ((read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand) ==
23081 0) {
23083 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1, 0x04);
23084 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2, 0x04);
23085 } else {
23087 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1, 0x20);
23088 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2, 0x20);
23091 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
23093 or_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM, 0x20);
23094 or_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM, 0x20);
23095 } else {
23097 and_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM, 0xdf);
23098 and_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM, 0xdf);
23103 static void wlc_phy_txcal_radio_cleanup_nphy(phy_info_t *pi)
23105 uint16 jtag_core, core;
23107 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
23108 for (core = 0; core <= 1; core++) {
23110 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23111 TX_SSI_MASTER,
23112 pi->
23113 tx_rx_cal_radio_saveregs[(core * 11) +
23114 0]);
23116 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_VCM_HG,
23117 pi->
23118 tx_rx_cal_radio_saveregs[(core * 11) +
23119 1]);
23121 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_IDAC,
23122 pi->
23123 tx_rx_cal_radio_saveregs[(core * 11) +
23124 2]);
23126 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_VCM,
23127 pi->
23128 tx_rx_cal_radio_saveregs[(core * 11) +
23129 3]);
23131 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TX_SSI_MUX,
23132 pi->
23133 tx_rx_cal_radio_saveregs[(core * 11) +
23134 5]);
23136 if (pi->pubpi.radiorev != 5)
23137 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23138 TSSIA,
23139 pi->
23140 tx_rx_cal_radio_saveregs[(core
23142 11) +
23143 6]);
23145 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSIG,
23146 pi->
23147 tx_rx_cal_radio_saveregs[(core * 11) +
23148 7]);
23150 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_MISC1,
23151 pi->
23152 tx_rx_cal_radio_saveregs[(core * 11) +
23153 8]);
23155 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23156 for (core = 0; core <= 1; core++) {
23157 jtag_core =
23158 (core ==
23159 PHY_CORE_0) ? RADIO_2056_TX0 : RADIO_2056_TX1;
23161 write_radio_reg(pi,
23162 RADIO_2056_TX_TX_SSI_MASTER | jtag_core,
23163 pi->
23164 tx_rx_cal_radio_saveregs[(core * 11) +
23165 0]);
23167 write_radio_reg(pi,
23168 RADIO_2056_TX_IQCAL_VCM_HG | jtag_core,
23169 pi->
23170 tx_rx_cal_radio_saveregs[(core * 11) +
23171 1]);
23173 write_radio_reg(pi,
23174 RADIO_2056_TX_IQCAL_IDAC | jtag_core,
23175 pi->
23176 tx_rx_cal_radio_saveregs[(core * 11) +
23177 2]);
23179 write_radio_reg(pi, RADIO_2056_TX_TSSI_VCM | jtag_core,
23180 pi->
23181 tx_rx_cal_radio_saveregs[(core * 11) +
23182 3]);
23184 write_radio_reg(pi,
23185 RADIO_2056_TX_TX_AMP_DET | jtag_core,
23186 pi->
23187 tx_rx_cal_radio_saveregs[(core * 11) +
23188 4]);
23190 write_radio_reg(pi,
23191 RADIO_2056_TX_TX_SSI_MUX | jtag_core,
23192 pi->
23193 tx_rx_cal_radio_saveregs[(core * 11) +
23194 5]);
23196 write_radio_reg(pi, RADIO_2056_TX_TSSIA | jtag_core,
23197 pi->
23198 tx_rx_cal_radio_saveregs[(core * 11) +
23199 6]);
23201 write_radio_reg(pi, RADIO_2056_TX_TSSIG | jtag_core,
23202 pi->
23203 tx_rx_cal_radio_saveregs[(core * 11) +
23204 7]);
23206 write_radio_reg(pi,
23207 RADIO_2056_TX_TSSI_MISC1 | jtag_core,
23208 pi->
23209 tx_rx_cal_radio_saveregs[(core * 11) +
23210 8]);
23212 write_radio_reg(pi,
23213 RADIO_2056_TX_TSSI_MISC2 | jtag_core,
23214 pi->
23215 tx_rx_cal_radio_saveregs[(core * 11) +
23216 9]);
23218 write_radio_reg(pi,
23219 RADIO_2056_TX_TSSI_MISC3 | jtag_core,
23220 pi->
23221 tx_rx_cal_radio_saveregs[(core * 11) +
23222 10]);
23224 } else {
23226 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1,
23227 pi->tx_rx_cal_radio_saveregs[0]);
23228 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2,
23229 pi->tx_rx_cal_radio_saveregs[1]);
23230 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1,
23231 pi->tx_rx_cal_radio_saveregs[2]);
23232 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2,
23233 pi->tx_rx_cal_radio_saveregs[3]);
23234 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1,
23235 pi->tx_rx_cal_radio_saveregs[4]);
23236 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2,
23237 pi->tx_rx_cal_radio_saveregs[5]);
23241 static void wlc_phy_txcal_physetup_nphy(phy_info_t *pi)
23243 uint16 val, mask;
23245 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23246 pi->tx_rx_cal_phy_saveregs[0] = read_phy_reg(pi, 0xa6);
23247 pi->tx_rx_cal_phy_saveregs[1] = read_phy_reg(pi, 0xa7);
23249 mask = ((0x3 << 8) | (0x3 << 10));
23250 val = (0x2 << 8);
23251 val |= (0x2 << 10);
23252 mod_phy_reg(pi, 0xa6, mask, val);
23253 mod_phy_reg(pi, 0xa7, mask, val);
23255 val = read_phy_reg(pi, 0x8f);
23256 pi->tx_rx_cal_phy_saveregs[2] = val;
23257 val |= ((0x1 << 9) | (0x1 << 10));
23258 write_phy_reg(pi, 0x8f, val);
23260 val = read_phy_reg(pi, 0xa5);
23261 pi->tx_rx_cal_phy_saveregs[3] = val;
23262 val |= ((0x1 << 9) | (0x1 << 10));
23263 write_phy_reg(pi, 0xa5, val);
23265 pi->tx_rx_cal_phy_saveregs[4] = read_phy_reg(pi, 0x01);
23266 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
23268 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 3, 16,
23269 &val);
23270 pi->tx_rx_cal_phy_saveregs[5] = val;
23271 val = 0;
23272 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 3, 16,
23273 &val);
23275 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 19, 16,
23276 &val);
23277 pi->tx_rx_cal_phy_saveregs[6] = val;
23278 val = 0;
23279 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 19, 16,
23280 &val);
23282 pi->tx_rx_cal_phy_saveregs[7] = read_phy_reg(pi, 0x91);
23283 pi->tx_rx_cal_phy_saveregs[8] = read_phy_reg(pi, 0x92);
23285 if (!(pi->use_int_tx_iqlo_cal_nphy)) {
23287 wlc_phy_rfctrlintc_override_nphy(pi,
23288 NPHY_RfctrlIntc_override_PA,
23290 RADIO_MIMO_CORESEL_CORE1
23292 RADIO_MIMO_CORESEL_CORE2);
23293 } else {
23295 wlc_phy_rfctrlintc_override_nphy(pi,
23296 NPHY_RfctrlIntc_override_PA,
23298 RADIO_MIMO_CORESEL_CORE1
23300 RADIO_MIMO_CORESEL_CORE2);
23303 wlc_phy_rfctrlintc_override_nphy(pi,
23304 NPHY_RfctrlIntc_override_TRSW,
23305 0x2, RADIO_MIMO_CORESEL_CORE1);
23306 wlc_phy_rfctrlintc_override_nphy(pi,
23307 NPHY_RfctrlIntc_override_TRSW,
23308 0x8, RADIO_MIMO_CORESEL_CORE2);
23310 pi->tx_rx_cal_phy_saveregs[9] = read_phy_reg(pi, 0x297);
23311 pi->tx_rx_cal_phy_saveregs[10] = read_phy_reg(pi, 0x29b);
23312 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
23313 0x29b, (0x1 << 0), (0) << 0);
23315 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
23316 0x29b, (0x1 << 0), (0) << 0);
23318 if (NREV_IS(pi->pubpi.phy_rev, 7)
23319 || NREV_GE(pi->pubpi.phy_rev, 8)) {
23320 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
23321 wlc_phy_read_lpf_bw_ctl_nphy
23322 (pi, 0), 0, 0,
23323 NPHY_REV7_RFCTRLOVERRIDE_ID1);
23326 if (pi->use_int_tx_iqlo_cal_nphy
23327 && !(pi->internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
23329 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
23331 mod_radio_reg(pi, RADIO_2057_OVR_REG0, 1 << 4,
23332 1 << 4);
23334 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23335 mod_radio_reg(pi,
23336 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
23337 1, 0);
23338 mod_radio_reg(pi,
23339 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
23340 1, 0);
23341 } else {
23342 mod_radio_reg(pi,
23343 RADIO_2057_IPA5G_CASCOFFV_PU_CORE0,
23344 1, 0);
23345 mod_radio_reg(pi,
23346 RADIO_2057_IPA5G_CASCOFFV_PU_CORE1,
23347 1, 0);
23349 } else if (NREV_GE(pi->pubpi.phy_rev, 8)) {
23350 wlc_phy_rfctrl_override_nphy_rev7(pi,
23351 (0x1 << 3), 0,
23352 0x3, 0,
23353 NPHY_REV7_RFCTRLOVERRIDE_ID0);
23356 } else {
23357 pi->tx_rx_cal_phy_saveregs[0] = read_phy_reg(pi, 0xa6);
23358 pi->tx_rx_cal_phy_saveregs[1] = read_phy_reg(pi, 0xa7);
23360 mask = ((0x3 << 12) | (0x3 << 14));
23361 val = (0x2 << 12);
23362 val |= (0x2 << 14);
23363 mod_phy_reg(pi, 0xa6, mask, val);
23364 mod_phy_reg(pi, 0xa7, mask, val);
23366 val = read_phy_reg(pi, 0xa5);
23367 pi->tx_rx_cal_phy_saveregs[2] = val;
23368 val |= ((0x1 << 12) | (0x1 << 13));
23369 write_phy_reg(pi, 0xa5, val);
23371 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 2, 16,
23372 &val);
23373 pi->tx_rx_cal_phy_saveregs[3] = val;
23374 val |= 0x2000;
23375 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 2, 16,
23376 &val);
23378 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 18, 16,
23379 &val);
23380 pi->tx_rx_cal_phy_saveregs[4] = val;
23381 val |= 0x2000;
23382 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 18, 16,
23383 &val);
23385 pi->tx_rx_cal_phy_saveregs[5] = read_phy_reg(pi, 0x91);
23386 pi->tx_rx_cal_phy_saveregs[6] = read_phy_reg(pi, 0x92);
23387 val = CHSPEC_IS5G(pi->radio_chanspec) ? 0x180 : 0x120;
23388 write_phy_reg(pi, 0x91, val);
23389 write_phy_reg(pi, 0x92, val);
23393 static void wlc_phy_txcal_phycleanup_nphy(phy_info_t *pi)
23395 uint16 mask;
23397 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23398 write_phy_reg(pi, 0xa6, pi->tx_rx_cal_phy_saveregs[0]);
23399 write_phy_reg(pi, 0xa7, pi->tx_rx_cal_phy_saveregs[1]);
23400 write_phy_reg(pi, 0x8f, pi->tx_rx_cal_phy_saveregs[2]);
23401 write_phy_reg(pi, 0xa5, pi->tx_rx_cal_phy_saveregs[3]);
23402 write_phy_reg(pi, 0x01, pi->tx_rx_cal_phy_saveregs[4]);
23404 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 3, 16,
23405 &pi->tx_rx_cal_phy_saveregs[5]);
23406 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 19, 16,
23407 &pi->tx_rx_cal_phy_saveregs[6]);
23409 write_phy_reg(pi, 0x91, pi->tx_rx_cal_phy_saveregs[7]);
23410 write_phy_reg(pi, 0x92, pi->tx_rx_cal_phy_saveregs[8]);
23412 write_phy_reg(pi, 0x297, pi->tx_rx_cal_phy_saveregs[9]);
23413 write_phy_reg(pi, 0x29b, pi->tx_rx_cal_phy_saveregs[10]);
23415 if (NREV_IS(pi->pubpi.phy_rev, 7)
23416 || NREV_GE(pi->pubpi.phy_rev, 8)) {
23417 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7), 0, 0,
23419 NPHY_REV7_RFCTRLOVERRIDE_ID1);
23422 wlc_phy_resetcca_nphy(pi);
23424 if (pi->use_int_tx_iqlo_cal_nphy
23425 && !(pi->internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
23427 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
23428 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23429 mod_radio_reg(pi,
23430 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
23431 1, 1);
23432 mod_radio_reg(pi,
23433 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
23434 1, 1);
23435 } else {
23436 mod_radio_reg(pi,
23437 RADIO_2057_IPA5G_CASCOFFV_PU_CORE0,
23438 1, 1);
23439 mod_radio_reg(pi,
23440 RADIO_2057_IPA5G_CASCOFFV_PU_CORE1,
23441 1, 1);
23444 mod_radio_reg(pi, RADIO_2057_OVR_REG0, 1 << 4,
23446 } else if (NREV_GE(pi->pubpi.phy_rev, 8)) {
23447 wlc_phy_rfctrl_override_nphy_rev7(pi,
23448 (0x1 << 3), 0,
23449 0x3, 1,
23450 NPHY_REV7_RFCTRLOVERRIDE_ID0);
23453 } else {
23454 mask = ((0x3 << 12) | (0x3 << 14));
23455 mod_phy_reg(pi, 0xa6, mask, pi->tx_rx_cal_phy_saveregs[0]);
23456 mod_phy_reg(pi, 0xa7, mask, pi->tx_rx_cal_phy_saveregs[1]);
23457 write_phy_reg(pi, 0xa5, pi->tx_rx_cal_phy_saveregs[2]);
23459 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 2, 16,
23460 &pi->tx_rx_cal_phy_saveregs[3]);
23462 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 18, 16,
23463 &pi->tx_rx_cal_phy_saveregs[4]);
23465 write_phy_reg(pi, 0x91, pi->tx_rx_cal_phy_saveregs[5]);
23466 write_phy_reg(pi, 0x92, pi->tx_rx_cal_phy_saveregs[6]);
23470 #define NPHY_CAL_TSSISAMPS 64
23471 #define NPHY_TEST_TONE_FREQ_40MHz 4000
23472 #define NPHY_TEST_TONE_FREQ_20MHz 2500
23474 void
23475 wlc_phy_est_tonepwr_nphy(phy_info_t *pi, int32 *qdBm_pwrbuf, u8 num_samps)
23477 uint16 tssi_reg;
23478 int32 temp, pwrindex[2];
23479 int32 idle_tssi[2];
23480 int32 rssi_buf[4];
23481 int32 tssival[2];
23482 u8 tssi_type;
23484 tssi_reg = read_phy_reg(pi, 0x1e9);
23486 temp = (int32) (tssi_reg & 0x3f);
23487 idle_tssi[0] = (temp <= 31) ? temp : (temp - 64);
23489 temp = (int32) ((tssi_reg >> 8) & 0x3f);
23490 idle_tssi[1] = (temp <= 31) ? temp : (temp - 64);
23492 tssi_type =
23493 CHSPEC_IS5G(pi->radio_chanspec) ?
23494 (u8)NPHY_RSSI_SEL_TSSI_5G:(u8)NPHY_RSSI_SEL_TSSI_2G;
23496 wlc_phy_poll_rssi_nphy(pi, tssi_type, rssi_buf, num_samps);
23498 tssival[0] = rssi_buf[0] / ((int32) num_samps);
23499 tssival[1] = rssi_buf[2] / ((int32) num_samps);
23501 pwrindex[0] = idle_tssi[0] - tssival[0] + 64;
23502 pwrindex[1] = idle_tssi[1] - tssival[1] + 64;
23504 if (pwrindex[0] < 0) {
23505 pwrindex[0] = 0;
23506 } else if (pwrindex[0] > 63) {
23507 pwrindex[0] = 63;
23510 if (pwrindex[1] < 0) {
23511 pwrindex[1] = 0;
23512 } else if (pwrindex[1] > 63) {
23513 pwrindex[1] = 63;
23516 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 1,
23517 (uint32) pwrindex[0], 32, &qdBm_pwrbuf[0]);
23518 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 1,
23519 (uint32) pwrindex[1], 32, &qdBm_pwrbuf[1]);
23522 static void wlc_phy_internal_cal_txgain_nphy(phy_info_t *pi)
23524 uint16 txcal_gain[2];
23526 pi->nphy_txcal_pwr_idx[0] = pi->nphy_cal_orig_pwr_idx[0];
23527 pi->nphy_txcal_pwr_idx[1] = pi->nphy_cal_orig_pwr_idx[0];
23528 wlc_phy_txpwr_index_nphy(pi, 1, pi->nphy_cal_orig_pwr_idx[0], TRUE);
23529 wlc_phy_txpwr_index_nphy(pi, 2, pi->nphy_cal_orig_pwr_idx[1], TRUE);
23531 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
23532 txcal_gain);
23534 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23535 txcal_gain[0] = (txcal_gain[0] & 0xF000) | 0x0F40;
23536 txcal_gain[1] = (txcal_gain[1] & 0xF000) | 0x0F40;
23537 } else {
23538 txcal_gain[0] = (txcal_gain[0] & 0xF000) | 0x0F60;
23539 txcal_gain[1] = (txcal_gain[1] & 0xF000) | 0x0F60;
23542 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
23543 txcal_gain);
23546 static void wlc_phy_precal_txgain_nphy(phy_info_t *pi)
23548 bool save_bbmult = FALSE;
23549 u8 txcal_index_2057_rev5n7 = 0;
23550 u8 txcal_index_2057_rev3n4n6 = 10;
23552 if (pi->use_int_tx_iqlo_cal_nphy) {
23553 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
23554 if ((pi->pubpi.radiorev == 3) ||
23555 (pi->pubpi.radiorev == 4) ||
23556 (pi->pubpi.radiorev == 6)) {
23558 pi->nphy_txcal_pwr_idx[0] =
23559 txcal_index_2057_rev3n4n6;
23560 pi->nphy_txcal_pwr_idx[1] =
23561 txcal_index_2057_rev3n4n6;
23562 wlc_phy_txpwr_index_nphy(pi, 3,
23563 txcal_index_2057_rev3n4n6,
23564 FALSE);
23565 } else {
23567 pi->nphy_txcal_pwr_idx[0] =
23568 txcal_index_2057_rev5n7;
23569 pi->nphy_txcal_pwr_idx[1] =
23570 txcal_index_2057_rev5n7;
23571 wlc_phy_txpwr_index_nphy(pi, 3,
23572 txcal_index_2057_rev5n7,
23573 FALSE);
23575 save_bbmult = TRUE;
23577 } else if (NREV_LT(pi->pubpi.phy_rev, 5)) {
23578 wlc_phy_cal_txgainctrl_nphy(pi, 11, FALSE);
23579 if (pi->sh->hw_phytxchain != 3) {
23580 pi->nphy_txcal_pwr_idx[1] =
23581 pi->nphy_txcal_pwr_idx[0];
23582 wlc_phy_txpwr_index_nphy(pi, 3,
23583 pi->
23584 nphy_txcal_pwr_idx[0],
23585 TRUE);
23586 save_bbmult = TRUE;
23589 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
23590 if (PHY_IPA(pi)) {
23591 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23592 wlc_phy_cal_txgainctrl_nphy(pi, 12,
23593 FALSE);
23594 } else {
23595 pi->nphy_txcal_pwr_idx[0] = 80;
23596 pi->nphy_txcal_pwr_idx[1] = 80;
23597 wlc_phy_txpwr_index_nphy(pi, 3, 80,
23598 FALSE);
23599 save_bbmult = TRUE;
23601 } else {
23603 wlc_phy_internal_cal_txgain_nphy(pi);
23604 save_bbmult = TRUE;
23607 } else if (NREV_IS(pi->pubpi.phy_rev, 6)) {
23608 if (PHY_IPA(pi)) {
23609 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23610 wlc_phy_cal_txgainctrl_nphy(pi, 12,
23611 FALSE);
23612 } else {
23613 wlc_phy_cal_txgainctrl_nphy(pi, 14,
23614 FALSE);
23616 } else {
23618 wlc_phy_internal_cal_txgain_nphy(pi);
23619 save_bbmult = TRUE;
23623 } else {
23624 wlc_phy_cal_txgainctrl_nphy(pi, 10, FALSE);
23627 if (save_bbmult) {
23628 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16,
23629 &pi->nphy_txcal_bbmult);
23633 void
23634 wlc_phy_cal_txgainctrl_nphy(phy_info_t *pi, int32 dBm_targetpower, bool debug)
23636 int gainctrl_loopidx;
23637 uint core;
23638 uint16 m0m1, curr_m0m1;
23639 int32 delta_power;
23640 int32 txpwrindex;
23641 int32 qdBm_power[2];
23642 uint16 orig_BBConfig;
23643 uint16 phy_saveregs[4];
23644 uint32 freq_test;
23645 uint16 ampl_test = 250;
23646 uint stepsize;
23647 bool phyhang_avoid_state = FALSE;
23649 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
23651 stepsize = 2;
23652 } else {
23654 stepsize = 1;
23657 if (CHSPEC_IS40(pi->radio_chanspec)) {
23658 freq_test = 5000;
23659 } else {
23660 freq_test = 2500;
23663 wlc_phy_txpwr_index_nphy(pi, 1, pi->nphy_cal_orig_pwr_idx[0], TRUE);
23664 wlc_phy_txpwr_index_nphy(pi, 2, pi->nphy_cal_orig_pwr_idx[1], TRUE);
23666 if (pi->phyhang_avoid)
23667 wlc_phy_stay_in_carriersearch_nphy(pi, TRUE);
23669 phyhang_avoid_state = pi->phyhang_avoid;
23670 pi->phyhang_avoid = FALSE;
23672 phy_saveregs[0] = read_phy_reg(pi, 0x91);
23673 phy_saveregs[1] = read_phy_reg(pi, 0x92);
23674 phy_saveregs[2] = read_phy_reg(pi, 0xe7);
23675 phy_saveregs[3] = read_phy_reg(pi, 0xec);
23676 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_PA, 1,
23677 RADIO_MIMO_CORESEL_CORE1 |
23678 RADIO_MIMO_CORESEL_CORE2);
23680 if (!debug) {
23681 wlc_phy_rfctrlintc_override_nphy(pi,
23682 NPHY_RfctrlIntc_override_TRSW,
23683 0x2, RADIO_MIMO_CORESEL_CORE1);
23684 wlc_phy_rfctrlintc_override_nphy(pi,
23685 NPHY_RfctrlIntc_override_TRSW,
23686 0x8, RADIO_MIMO_CORESEL_CORE2);
23687 } else {
23688 wlc_phy_rfctrlintc_override_nphy(pi,
23689 NPHY_RfctrlIntc_override_TRSW,
23690 0x1, RADIO_MIMO_CORESEL_CORE1);
23691 wlc_phy_rfctrlintc_override_nphy(pi,
23692 NPHY_RfctrlIntc_override_TRSW,
23693 0x7, RADIO_MIMO_CORESEL_CORE2);
23696 orig_BBConfig = read_phy_reg(pi, 0x01);
23697 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
23699 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m0m1);
23701 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
23702 txpwrindex = (int32) pi->nphy_cal_orig_pwr_idx[core];
23704 for (gainctrl_loopidx = 0; gainctrl_loopidx < 2;
23705 gainctrl_loopidx++) {
23706 wlc_phy_tx_tone_nphy(pi, freq_test, ampl_test, 0, 0,
23707 FALSE);
23709 if (core == PHY_CORE_0) {
23710 curr_m0m1 = m0m1 & 0xff00;
23711 } else {
23712 curr_m0m1 = m0m1 & 0x00ff;
23715 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &curr_m0m1);
23716 wlc_phy_table_write_nphy(pi, 15, 1, 95, 16, &curr_m0m1);
23718 OSL_DELAY(50);
23720 wlc_phy_est_tonepwr_nphy(pi, qdBm_power,
23721 NPHY_CAL_TSSISAMPS);
23723 pi->nphy_bb_mult_save = 0;
23724 wlc_phy_stopplayback_nphy(pi);
23726 delta_power = (dBm_targetpower * 4) - qdBm_power[core];
23728 txpwrindex -= stepsize * delta_power;
23729 if (txpwrindex < 0) {
23730 txpwrindex = 0;
23731 } else if (txpwrindex > 127) {
23732 txpwrindex = 127;
23735 if (CHSPEC_IS5G(pi->radio_chanspec)) {
23736 if (NREV_IS(pi->pubpi.phy_rev, 4) &&
23737 (pi->srom_fem5g.extpagain == 3)) {
23738 if (txpwrindex < 30) {
23739 txpwrindex = 30;
23742 } else {
23743 if (NREV_GE(pi->pubpi.phy_rev, 5) &&
23744 (pi->srom_fem2g.extpagain == 3)) {
23745 if (txpwrindex < 50) {
23746 txpwrindex = 50;
23751 wlc_phy_txpwr_index_nphy(pi, (1 << core),
23752 (u8) txpwrindex, TRUE);
23755 pi->nphy_txcal_pwr_idx[core] = (u8) txpwrindex;
23757 if (debug) {
23758 uint16 radio_gain;
23759 uint16 dbg_m0m1;
23761 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &dbg_m0m1);
23763 wlc_phy_tx_tone_nphy(pi, freq_test, ampl_test, 0, 0,
23764 FALSE);
23766 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &dbg_m0m1);
23767 wlc_phy_table_write_nphy(pi, 15, 1, 95, 16, &dbg_m0m1);
23769 OSL_DELAY(100);
23771 wlc_phy_est_tonepwr_nphy(pi, qdBm_power,
23772 NPHY_CAL_TSSISAMPS);
23774 wlc_phy_table_read_nphy(pi, 7, 1, (0x110 + core), 16,
23775 &radio_gain);
23777 OSL_DELAY(4000000);
23778 pi->nphy_bb_mult_save = 0;
23779 wlc_phy_stopplayback_nphy(pi);
23783 wlc_phy_txpwr_index_nphy(pi, 1, pi->nphy_txcal_pwr_idx[0], TRUE);
23784 wlc_phy_txpwr_index_nphy(pi, 2, pi->nphy_txcal_pwr_idx[1], TRUE);
23786 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &pi->nphy_txcal_bbmult);
23788 write_phy_reg(pi, 0x01, orig_BBConfig);
23790 write_phy_reg(pi, 0x91, phy_saveregs[0]);
23791 write_phy_reg(pi, 0x92, phy_saveregs[1]);
23792 write_phy_reg(pi, 0xe7, phy_saveregs[2]);
23793 write_phy_reg(pi, 0xec, phy_saveregs[3]);
23795 pi->phyhang_avoid = phyhang_avoid_state;
23797 if (pi->phyhang_avoid)
23798 wlc_phy_stay_in_carriersearch_nphy(pi, FALSE);
23801 static void wlc_phy_update_txcal_ladder_nphy(phy_info_t *pi, uint16 core)
23803 int index;
23804 uint32 bbmult_scale;
23805 uint16 bbmult;
23806 uint16 tblentry;
23808 nphy_txiqcal_ladder_t ladder_lo[] = {
23809 {3, 0}, {4, 0}, {6, 0}, {9, 0}, {13, 0}, {18, 0},
23810 {25, 0}, {25, 1}, {25, 2}, {25, 3}, {25, 4}, {25, 5},
23811 {25, 6}, {25, 7}, {35, 7}, {50, 7}, {71, 7}, {100, 7}
23814 nphy_txiqcal_ladder_t ladder_iq[] = {
23815 {3, 0}, {4, 0}, {6, 0}, {9, 0}, {13, 0}, {18, 0},
23816 {25, 0}, {35, 0}, {50, 0}, {71, 0}, {100, 0}, {100, 1},
23817 {100, 2}, {100, 3}, {100, 4}, {100, 5}, {100, 6}, {100, 7}
23820 bbmult = (core == PHY_CORE_0) ?
23821 ((pi->nphy_txcal_bbmult >> 8) & 0xff) : (pi->
23822 nphy_txcal_bbmult & 0xff);
23824 for (index = 0; index < 18; index++) {
23825 bbmult_scale = ladder_lo[index].percent * bbmult;
23826 bbmult_scale /= 100;
23828 tblentry =
23829 ((bbmult_scale & 0xff) << 8) | ladder_lo[index].g_env;
23830 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, index, 16,
23831 &tblentry);
23833 bbmult_scale = ladder_iq[index].percent * bbmult;
23834 bbmult_scale /= 100;
23836 tblentry =
23837 ((bbmult_scale & 0xff) << 8) | ladder_iq[index].g_env;
23838 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, index + 32,
23839 16, &tblentry);
23843 void wlc_phy_cal_perical_nphy_run(phy_info_t *pi, u8 caltype)
23845 nphy_txgains_t target_gain;
23846 u8 tx_pwr_ctrl_state;
23847 bool fullcal = TRUE;
23848 bool restore_tx_gain = FALSE;
23849 bool mphase;
23851 if (NORADIO_ENAB(pi->pubpi)) {
23852 wlc_phy_cal_perical_mphase_reset(pi);
23853 return;
23856 if (PHY_MUTED(pi))
23857 return;
23859 ASSERT(pi->nphy_perical != PHY_PERICAL_DISABLE);
23861 if (caltype == PHY_PERICAL_AUTO)
23862 fullcal = (pi->radio_chanspec != pi->nphy_txiqlocal_chanspec);
23863 else if (caltype == PHY_PERICAL_PARTIAL)
23864 fullcal = FALSE;
23866 if (pi->cal_type_override != PHY_PERICAL_AUTO) {
23867 fullcal =
23868 (pi->cal_type_override == PHY_PERICAL_FULL) ? TRUE : FALSE;
23871 if ((pi->mphase_cal_phase_id > MPHASE_CAL_STATE_INIT)) {
23872 if (pi->nphy_txiqlocal_chanspec != pi->radio_chanspec)
23873 wlc_phy_cal_perical_mphase_restart(pi);
23876 if ((pi->mphase_cal_phase_id == MPHASE_CAL_STATE_RXCAL)) {
23877 wlapi_bmac_write_shm(pi->sh->physhim, M_CTS_DURATION, 10000);
23880 wlapi_suspend_mac_and_wait(pi->sh->physhim);
23882 wlc_phyreg_enter((wlc_phy_t *) pi);
23884 if ((pi->mphase_cal_phase_id == MPHASE_CAL_STATE_IDLE) ||
23885 (pi->mphase_cal_phase_id == MPHASE_CAL_STATE_INIT)) {
23886 pi->nphy_cal_orig_pwr_idx[0] =
23887 (u8) ((read_phy_reg(pi, 0x1ed) >> 8) & 0x7f);
23888 pi->nphy_cal_orig_pwr_idx[1] =
23889 (u8) ((read_phy_reg(pi, 0x1ee) >> 8) & 0x7f);
23891 if (pi->nphy_txpwrctrl != PHY_TPC_HW_OFF) {
23892 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2,
23893 0x110, 16,
23894 pi->nphy_cal_orig_tx_gain);
23895 } else {
23896 pi->nphy_cal_orig_tx_gain[0] = 0;
23897 pi->nphy_cal_orig_tx_gain[1] = 0;
23900 target_gain = wlc_phy_get_tx_gain_nphy(pi);
23901 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
23902 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
23904 if (pi->antsel_type == ANTSEL_2x3)
23905 wlc_phy_antsel_init((wlc_phy_t *) pi, TRUE);
23907 mphase = (pi->mphase_cal_phase_id != MPHASE_CAL_STATE_IDLE);
23908 if (!mphase) {
23910 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23911 wlc_phy_precal_txgain_nphy(pi);
23912 pi->nphy_cal_target_gain = wlc_phy_get_tx_gain_nphy(pi);
23913 restore_tx_gain = TRUE;
23915 target_gain = pi->nphy_cal_target_gain;
23917 if (BCME_OK ==
23918 wlc_phy_cal_txiqlo_nphy(pi, target_gain, fullcal, mphase)) {
23919 if (PHY_IPA(pi))
23920 wlc_phy_a4(pi, TRUE);
23922 wlc_phyreg_exit((wlc_phy_t *) pi);
23923 wlapi_enable_mac(pi->sh->physhim);
23924 wlapi_bmac_write_shm(pi->sh->physhim, M_CTS_DURATION,
23925 10000);
23926 wlapi_suspend_mac_and_wait(pi->sh->physhim);
23927 wlc_phyreg_enter((wlc_phy_t *) pi);
23929 if (BCME_OK == wlc_phy_cal_rxiq_nphy(pi, target_gain,
23930 (pi->
23931 first_cal_after_assoc
23932 || (pi->
23933 cal_type_override
23935 PHY_PERICAL_FULL))
23936 ? 2 : 0, FALSE)) {
23937 wlc_phy_savecal_nphy(pi);
23939 wlc_phy_txpwrctrl_coeff_setup_nphy(pi);
23941 pi->nphy_perical_last = pi->sh->now;
23944 if (caltype != PHY_PERICAL_AUTO) {
23945 wlc_phy_rssi_cal_nphy(pi);
23948 if (pi->first_cal_after_assoc
23949 || (pi->cal_type_override == PHY_PERICAL_FULL)) {
23950 pi->first_cal_after_assoc = FALSE;
23951 wlc_phy_txpwrctrl_idle_tssi_nphy(pi);
23952 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
23955 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23956 wlc_phy_radio205x_vcocal_nphy(pi);
23958 } else {
23959 ASSERT(pi->nphy_perical >= PHY_PERICAL_MPHASE);
23961 switch (pi->mphase_cal_phase_id) {
23962 case MPHASE_CAL_STATE_INIT:
23963 pi->nphy_perical_last = pi->sh->now;
23964 pi->nphy_txiqlocal_chanspec = pi->radio_chanspec;
23966 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23967 wlc_phy_precal_txgain_nphy(pi);
23969 pi->nphy_cal_target_gain = wlc_phy_get_tx_gain_nphy(pi);
23970 pi->mphase_cal_phase_id++;
23971 break;
23973 case MPHASE_CAL_STATE_TXPHASE0:
23974 case MPHASE_CAL_STATE_TXPHASE1:
23975 case MPHASE_CAL_STATE_TXPHASE2:
23976 case MPHASE_CAL_STATE_TXPHASE3:
23977 case MPHASE_CAL_STATE_TXPHASE4:
23978 case MPHASE_CAL_STATE_TXPHASE5:
23979 if ((pi->radar_percal_mask & 0x10) != 0)
23980 pi->nphy_rxcal_active = TRUE;
23982 if (wlc_phy_cal_txiqlo_nphy
23983 (pi, pi->nphy_cal_target_gain, fullcal,
23984 TRUE) != BCME_OK) {
23986 wlc_phy_cal_perical_mphase_reset(pi);
23987 break;
23990 if (NREV_LE(pi->pubpi.phy_rev, 2) &&
23991 (pi->mphase_cal_phase_id ==
23992 MPHASE_CAL_STATE_TXPHASE4)) {
23993 pi->mphase_cal_phase_id += 2;
23994 } else {
23995 pi->mphase_cal_phase_id++;
23997 break;
23999 case MPHASE_CAL_STATE_PAPDCAL:
24000 if ((pi->radar_percal_mask & 0x2) != 0)
24001 pi->nphy_rxcal_active = TRUE;
24003 if (PHY_IPA(pi)) {
24004 wlc_phy_a4(pi, TRUE);
24006 pi->mphase_cal_phase_id++;
24007 break;
24009 case MPHASE_CAL_STATE_RXCAL:
24010 if ((pi->radar_percal_mask & 0x1) != 0)
24011 pi->nphy_rxcal_active = TRUE;
24012 if (wlc_phy_cal_rxiq_nphy(pi, target_gain,
24013 (pi->first_cal_after_assoc ||
24014 (pi->cal_type_override ==
24015 PHY_PERICAL_FULL)) ? 2 : 0,
24016 FALSE) == BCME_OK) {
24017 wlc_phy_savecal_nphy(pi);
24020 pi->mphase_cal_phase_id++;
24021 break;
24023 case MPHASE_CAL_STATE_RSSICAL:
24024 if ((pi->radar_percal_mask & 0x4) != 0)
24025 pi->nphy_rxcal_active = TRUE;
24026 wlc_phy_txpwrctrl_coeff_setup_nphy(pi);
24027 wlc_phy_rssi_cal_nphy(pi);
24029 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24030 wlc_phy_radio205x_vcocal_nphy(pi);
24032 restore_tx_gain = TRUE;
24034 if (pi->first_cal_after_assoc) {
24035 pi->mphase_cal_phase_id++;
24036 } else {
24037 wlc_phy_cal_perical_mphase_reset(pi);
24040 break;
24042 case MPHASE_CAL_STATE_IDLETSSI:
24043 if ((pi->radar_percal_mask & 0x8) != 0)
24044 pi->nphy_rxcal_active = TRUE;
24046 if (pi->first_cal_after_assoc) {
24047 pi->first_cal_after_assoc = FALSE;
24048 wlc_phy_txpwrctrl_idle_tssi_nphy(pi);
24049 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
24052 wlc_phy_cal_perical_mphase_reset(pi);
24053 break;
24055 default:
24056 ASSERT(0);
24057 wlc_phy_cal_perical_mphase_reset(pi);
24058 break;
24062 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24063 if (restore_tx_gain) {
24064 if (tx_pwr_ctrl_state != PHY_TPC_HW_OFF) {
24066 wlc_phy_txpwr_index_nphy(pi, 1,
24067 pi->
24068 nphy_cal_orig_pwr_idx
24069 [0], FALSE);
24070 wlc_phy_txpwr_index_nphy(pi, 2,
24071 pi->
24072 nphy_cal_orig_pwr_idx
24073 [1], FALSE);
24075 pi->nphy_txpwrindex[0].index = -1;
24076 pi->nphy_txpwrindex[1].index = -1;
24077 } else {
24078 wlc_phy_txpwr_index_nphy(pi, (1 << 0),
24079 (s8) (pi->
24080 nphy_txpwrindex
24081 [0].
24082 index_internal),
24083 FALSE);
24084 wlc_phy_txpwr_index_nphy(pi, (1 << 1),
24085 (s8) (pi->
24086 nphy_txpwrindex
24087 [1].
24088 index_internal),
24089 FALSE);
24094 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
24095 wlc_phyreg_exit((wlc_phy_t *) pi);
24096 wlapi_enable_mac(pi->sh->physhim);
24100 wlc_phy_cal_txiqlo_nphy(phy_info_t *pi, nphy_txgains_t target_gain,
24101 bool fullcal, bool mphase)
24103 uint16 val;
24104 uint16 tbl_buf[11];
24105 u8 cal_cnt;
24106 uint16 cal_cmd;
24107 u8 num_cals, max_cal_cmds;
24108 uint16 core_no, cal_type;
24109 uint16 diq_start = 0;
24110 u8 phy_bw;
24111 uint16 max_val;
24112 uint16 tone_freq;
24113 uint16 gain_save[2];
24114 uint16 cal_gain[2];
24115 nphy_iqcal_params_t cal_params[2];
24116 uint32 tbl_len;
24117 void *tbl_ptr;
24118 bool ladder_updated[2];
24119 u8 mphase_cal_lastphase = 0;
24120 int bcmerror = BCME_OK;
24121 bool phyhang_avoid_state = FALSE;
24123 uint16 tbl_tx_iqlo_cal_loft_ladder_20[] = {
24124 0x0300, 0x0500, 0x0700, 0x0900, 0x0d00, 0x1100, 0x1900, 0x1901,
24125 0x1902,
24126 0x1903, 0x1904, 0x1905, 0x1906, 0x1907, 0x2407, 0x3207, 0x4607,
24127 0x6407
24130 uint16 tbl_tx_iqlo_cal_iqimb_ladder_20[] = {
24131 0x0200, 0x0300, 0x0600, 0x0900, 0x0d00, 0x1100, 0x1900, 0x2400,
24132 0x3200,
24133 0x4600, 0x6400, 0x6401, 0x6402, 0x6403, 0x6404, 0x6405, 0x6406,
24134 0x6407
24137 uint16 tbl_tx_iqlo_cal_loft_ladder_40[] = {
24138 0x0200, 0x0300, 0x0400, 0x0700, 0x0900, 0x0c00, 0x1200, 0x1201,
24139 0x1202,
24140 0x1203, 0x1204, 0x1205, 0x1206, 0x1207, 0x1907, 0x2307, 0x3207,
24141 0x4707
24144 uint16 tbl_tx_iqlo_cal_iqimb_ladder_40[] = {
24145 0x0100, 0x0200, 0x0400, 0x0700, 0x0900, 0x0c00, 0x1200, 0x1900,
24146 0x2300,
24147 0x3200, 0x4700, 0x4701, 0x4702, 0x4703, 0x4704, 0x4705, 0x4706,
24148 0x4707
24151 uint16 tbl_tx_iqlo_cal_startcoefs[] = {
24152 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24153 0x0000
24156 uint16 tbl_tx_iqlo_cal_cmds_fullcal[] = {
24157 0x8123, 0x8264, 0x8086, 0x8245, 0x8056,
24158 0x9123, 0x9264, 0x9086, 0x9245, 0x9056
24161 uint16 tbl_tx_iqlo_cal_cmds_recal[] = {
24162 0x8101, 0x8253, 0x8053, 0x8234, 0x8034,
24163 0x9101, 0x9253, 0x9053, 0x9234, 0x9034
24166 uint16 tbl_tx_iqlo_cal_startcoefs_nphyrev3[] = {
24167 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24168 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24169 0x0000
24172 uint16 tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3[] = {
24173 0x8434, 0x8334, 0x8084, 0x8267, 0x8056, 0x8234,
24174 0x9434, 0x9334, 0x9084, 0x9267, 0x9056, 0x9234
24177 uint16 tbl_tx_iqlo_cal_cmds_recal_nphyrev3[] = {
24178 0x8423, 0x8323, 0x8073, 0x8256, 0x8045, 0x8223,
24179 0x9423, 0x9323, 0x9073, 0x9256, 0x9045, 0x9223
24182 wlc_phy_stay_in_carriersearch_nphy(pi, TRUE);
24184 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
24185 phyhang_avoid_state = pi->phyhang_avoid;
24186 pi->phyhang_avoid = FALSE;
24189 if (CHSPEC_IS40(pi->radio_chanspec)) {
24190 phy_bw = 40;
24191 } else {
24192 phy_bw = 20;
24195 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, gain_save);
24197 for (core_no = 0; core_no <= 1; core_no++) {
24198 wlc_phy_iqcal_gainparams_nphy(pi, core_no, target_gain,
24199 &cal_params[core_no]);
24200 cal_gain[core_no] = cal_params[core_no].cal_gain;
24203 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, cal_gain);
24205 wlc_phy_txcal_radio_setup_nphy(pi);
24207 wlc_phy_txcal_physetup_nphy(pi);
24209 ladder_updated[0] = ladder_updated[1] = FALSE;
24210 if (!(NREV_GE(pi->pubpi.phy_rev, 6) ||
24211 (NREV_IS(pi->pubpi.phy_rev, 5) && PHY_IPA(pi)
24212 && (CHSPEC_IS2G(pi->radio_chanspec))))) {
24214 if (phy_bw == 40) {
24215 tbl_ptr = tbl_tx_iqlo_cal_loft_ladder_40;
24216 tbl_len = ARRAYSIZE(tbl_tx_iqlo_cal_loft_ladder_40);
24217 } else {
24218 tbl_ptr = tbl_tx_iqlo_cal_loft_ladder_20;
24219 tbl_len = ARRAYSIZE(tbl_tx_iqlo_cal_loft_ladder_20);
24221 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, tbl_len, 0,
24222 16, tbl_ptr);
24224 if (phy_bw == 40) {
24225 tbl_ptr = tbl_tx_iqlo_cal_iqimb_ladder_40;
24226 tbl_len = ARRAYSIZE(tbl_tx_iqlo_cal_iqimb_ladder_40);
24227 } else {
24228 tbl_ptr = tbl_tx_iqlo_cal_iqimb_ladder_20;
24229 tbl_len = ARRAYSIZE(tbl_tx_iqlo_cal_iqimb_ladder_20);
24231 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, tbl_len, 32,
24232 16, tbl_ptr);
24235 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
24236 write_phy_reg(pi, 0xc2, 0x8ad9);
24237 } else {
24238 write_phy_reg(pi, 0xc2, 0x8aa9);
24241 max_val = 250;
24242 tone_freq = (phy_bw == 20) ? 2500 : 5000;
24244 if (pi->mphase_cal_phase_id > MPHASE_CAL_STATE_TXPHASE0) {
24245 wlc_phy_runsamples_nphy(pi, phy_bw * 8, 0xffff, 0, 1, 0, FALSE);
24246 bcmerror = BCME_OK;
24247 } else {
24248 bcmerror =
24249 wlc_phy_tx_tone_nphy(pi, tone_freq, max_val, 1, 0, FALSE);
24252 if (bcmerror == BCME_OK) {
24254 if (pi->mphase_cal_phase_id > MPHASE_CAL_STATE_TXPHASE0) {
24255 tbl_ptr = pi->mphase_txcal_bestcoeffs;
24256 tbl_len = ARRAYSIZE(pi->mphase_txcal_bestcoeffs);
24257 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24259 tbl_len -= 2;
24261 } else {
24262 if ((!fullcal) && (pi->nphy_txiqlocal_coeffsvalid)) {
24264 tbl_ptr = pi->nphy_txiqlocal_bestc;
24265 tbl_len = ARRAYSIZE(pi->nphy_txiqlocal_bestc);
24266 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24268 tbl_len -= 2;
24270 } else {
24272 fullcal = TRUE;
24274 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24275 tbl_ptr =
24276 tbl_tx_iqlo_cal_startcoefs_nphyrev3;
24277 tbl_len =
24278 ARRAYSIZE
24279 (tbl_tx_iqlo_cal_startcoefs_nphyrev3);
24280 } else {
24281 tbl_ptr = tbl_tx_iqlo_cal_startcoefs;
24282 tbl_len =
24283 ARRAYSIZE
24284 (tbl_tx_iqlo_cal_startcoefs);
24288 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, tbl_len, 64,
24289 16, tbl_ptr);
24291 if (fullcal) {
24292 max_cal_cmds = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24293 ARRAYSIZE(tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3) :
24294 ARRAYSIZE(tbl_tx_iqlo_cal_cmds_fullcal);
24295 } else {
24296 max_cal_cmds = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24297 ARRAYSIZE(tbl_tx_iqlo_cal_cmds_recal_nphyrev3) :
24298 ARRAYSIZE(tbl_tx_iqlo_cal_cmds_recal);
24301 if (mphase) {
24302 cal_cnt = pi->mphase_txcal_cmdidx;
24303 if ((cal_cnt + pi->mphase_txcal_numcmds) < max_cal_cmds) {
24304 num_cals = cal_cnt + pi->mphase_txcal_numcmds;
24305 } else {
24306 num_cals = max_cal_cmds;
24308 } else {
24309 cal_cnt = 0;
24310 num_cals = max_cal_cmds;
24313 for (; cal_cnt < num_cals; cal_cnt++) {
24315 if (fullcal) {
24316 cal_cmd = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24317 tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3
24318 [cal_cnt] :
24319 tbl_tx_iqlo_cal_cmds_fullcal[cal_cnt];
24320 } else {
24321 cal_cmd = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24322 tbl_tx_iqlo_cal_cmds_recal_nphyrev3[cal_cnt]
24323 : tbl_tx_iqlo_cal_cmds_recal[cal_cnt];
24326 core_no = ((cal_cmd & 0x3000) >> 12);
24327 cal_type = ((cal_cmd & 0x0F00) >> 8);
24329 if (NREV_GE(pi->pubpi.phy_rev, 6) ||
24330 (NREV_IS(pi->pubpi.phy_rev, 5) &&
24331 PHY_IPA(pi)
24332 && (CHSPEC_IS2G(pi->radio_chanspec)))) {
24333 if (!ladder_updated[core_no]) {
24334 wlc_phy_update_txcal_ladder_nphy(pi,
24335 core_no);
24336 ladder_updated[core_no] = TRUE;
24340 val =
24341 (cal_params[core_no].
24342 ncorr[cal_type] << 8) | NPHY_N_GCTL;
24343 write_phy_reg(pi, 0xc1, val);
24345 if ((cal_type == 1) || (cal_type == 3)
24346 || (cal_type == 4)) {
24348 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24349 1, 69 + core_no, 16,
24350 tbl_buf);
24352 diq_start = tbl_buf[0];
24354 tbl_buf[0] = 0;
24355 wlc_phy_table_write_nphy(pi,
24356 NPHY_TBL_ID_IQLOCAL, 1,
24357 69 + core_no, 16,
24358 tbl_buf);
24361 write_phy_reg(pi, 0xc0, cal_cmd);
24363 SPINWAIT(((read_phy_reg(pi, 0xc0) & 0xc000) != 0),
24364 20000);
24365 ASSERT((read_phy_reg(pi, 0xc0) & 0xc000) == 0);
24367 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24368 tbl_len, 96, 16, tbl_buf);
24369 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24370 tbl_len, 64, 16, tbl_buf);
24372 if ((cal_type == 1) || (cal_type == 3)
24373 || (cal_type == 4)) {
24375 tbl_buf[0] = diq_start;
24381 if (mphase) {
24382 pi->mphase_txcal_cmdidx = num_cals;
24383 if (pi->mphase_txcal_cmdidx >= max_cal_cmds)
24384 pi->mphase_txcal_cmdidx = 0;
24387 mphase_cal_lastphase =
24388 (NREV_LE(pi->pubpi.phy_rev, 2)) ?
24389 MPHASE_CAL_STATE_TXPHASE4 : MPHASE_CAL_STATE_TXPHASE5;
24391 if (!mphase
24392 || (pi->mphase_cal_phase_id == mphase_cal_lastphase)) {
24394 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 96,
24395 16, tbl_buf);
24396 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 80,
24397 16, tbl_buf);
24399 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
24401 tbl_buf[0] = 0;
24402 tbl_buf[1] = 0;
24403 tbl_buf[2] = 0;
24404 tbl_buf[3] = 0;
24407 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 88,
24408 16, tbl_buf);
24410 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 101,
24411 16, tbl_buf);
24412 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 85,
24413 16, tbl_buf);
24415 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 93,
24416 16, tbl_buf);
24418 tbl_len = ARRAYSIZE(pi->nphy_txiqlocal_bestc);
24419 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24421 tbl_len -= 2;
24423 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24424 tbl_len, 96, 16,
24425 pi->nphy_txiqlocal_bestc);
24427 pi->nphy_txiqlocal_coeffsvalid = TRUE;
24428 pi->nphy_txiqlocal_chanspec = pi->radio_chanspec;
24429 } else {
24430 tbl_len = ARRAYSIZE(pi->mphase_txcal_bestcoeffs);
24431 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24433 tbl_len -= 2;
24435 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24436 tbl_len, 96, 16,
24437 pi->mphase_txcal_bestcoeffs);
24440 wlc_phy_stopplayback_nphy(pi);
24442 write_phy_reg(pi, 0xc2, 0x0000);
24446 wlc_phy_txcal_phycleanup_nphy(pi);
24448 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
24449 gain_save);
24451 wlc_phy_txcal_radio_cleanup_nphy(pi);
24453 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
24454 if (!mphase
24455 || (pi->mphase_cal_phase_id == mphase_cal_lastphase))
24456 wlc_phy_tx_iq_war_nphy(pi);
24459 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
24460 pi->phyhang_avoid = phyhang_avoid_state;
24463 wlc_phy_stay_in_carriersearch_nphy(pi, FALSE);
24465 return bcmerror;
24468 static void wlc_phy_reapply_txcal_coeffs_nphy(phy_info_t *pi)
24470 uint16 tbl_buf[7];
24472 ASSERT(NREV_LT(pi->pubpi.phy_rev, 2));
24474 if ((pi->nphy_txiqlocal_chanspec == pi->radio_chanspec) &&
24475 (pi->nphy_txiqlocal_coeffsvalid)) {
24476 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24477 ARRAYSIZE(tbl_buf), 80, 16, tbl_buf);
24479 if ((pi->nphy_txiqlocal_bestc[0] != tbl_buf[0]) ||
24480 (pi->nphy_txiqlocal_bestc[1] != tbl_buf[1]) ||
24481 (pi->nphy_txiqlocal_bestc[2] != tbl_buf[2]) ||
24482 (pi->nphy_txiqlocal_bestc[3] != tbl_buf[3])) {
24484 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 80,
24485 16, pi->nphy_txiqlocal_bestc);
24487 tbl_buf[0] = 0;
24488 tbl_buf[1] = 0;
24489 tbl_buf[2] = 0;
24490 tbl_buf[3] = 0;
24491 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 88,
24492 16, tbl_buf);
24494 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 85,
24496 &pi->nphy_txiqlocal_bestc[5]);
24498 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 93,
24500 &pi->nphy_txiqlocal_bestc[5]);
24505 static void wlc_phy_tx_iq_war_nphy(phy_info_t *pi)
24507 nphy_iq_comp_t tx_comp;
24509 wlc_phy_table_read_nphy(pi, 15, 4, 0x50, 16, (void *)&tx_comp);
24511 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ, tx_comp.a0);
24512 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ + 2, tx_comp.b0);
24513 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ + 4, tx_comp.a1);
24514 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ + 6, tx_comp.b1);
24517 void
24518 wlc_phy_rx_iq_coeffs_nphy(phy_info_t *pi, u8 write, nphy_iq_comp_t *pcomp)
24520 if (write) {
24521 write_phy_reg(pi, 0x9a, pcomp->a0);
24522 write_phy_reg(pi, 0x9b, pcomp->b0);
24523 write_phy_reg(pi, 0x9c, pcomp->a1);
24524 write_phy_reg(pi, 0x9d, pcomp->b1);
24525 } else {
24526 pcomp->a0 = read_phy_reg(pi, 0x9a);
24527 pcomp->b0 = read_phy_reg(pi, 0x9b);
24528 pcomp->a1 = read_phy_reg(pi, 0x9c);
24529 pcomp->b1 = read_phy_reg(pi, 0x9d);
24533 void
24534 wlc_phy_rx_iq_est_nphy(phy_info_t *pi, phy_iq_est_t *est, uint16 num_samps,
24535 u8 wait_time, u8 wait_for_crs)
24537 u8 core;
24539 write_phy_reg(pi, 0x12b, num_samps);
24540 mod_phy_reg(pi, 0x12a, (0xff << 0), (wait_time << 0));
24541 mod_phy_reg(pi, 0x129, NPHY_IqestCmd_iqMode,
24542 (wait_for_crs) ? NPHY_IqestCmd_iqMode : 0);
24544 mod_phy_reg(pi, 0x129, NPHY_IqestCmd_iqstart, NPHY_IqestCmd_iqstart);
24546 SPINWAIT(((read_phy_reg(pi, 0x129) & NPHY_IqestCmd_iqstart) != 0),
24547 10000);
24548 ASSERT((read_phy_reg(pi, 0x129) & NPHY_IqestCmd_iqstart) == 0);
24550 if ((read_phy_reg(pi, 0x129) & NPHY_IqestCmd_iqstart) == 0) {
24551 ASSERT(pi->pubpi.phy_corenum <= PHY_CORE_MAX);
24552 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
24553 est[core].i_pwr =
24554 (read_phy_reg(pi, NPHY_IqestipwrAccHi(core)) << 16)
24555 | read_phy_reg(pi, NPHY_IqestipwrAccLo(core));
24556 est[core].q_pwr =
24557 (read_phy_reg(pi, NPHY_IqestqpwrAccHi(core)) << 16)
24558 | read_phy_reg(pi, NPHY_IqestqpwrAccLo(core));
24559 est[core].iq_prod =
24560 (read_phy_reg(pi, NPHY_IqestIqAccHi(core)) << 16) |
24561 read_phy_reg(pi, NPHY_IqestIqAccLo(core));
24566 #define CAL_RETRY_CNT 2
24567 static void wlc_phy_calc_rx_iq_comp_nphy(phy_info_t *pi, u8 core_mask)
24569 u8 curr_core;
24570 phy_iq_est_t est[PHY_CORE_MAX];
24571 nphy_iq_comp_t old_comp, new_comp;
24572 int32 iq = 0;
24573 uint32 ii = 0, qq = 0;
24574 int16 iq_nbits, qq_nbits, brsh, arsh;
24575 int32 a, b, temp;
24576 int bcmerror = BCME_OK;
24577 uint cal_retry = 0;
24579 if (core_mask == 0x0)
24580 return;
24582 wlc_phy_rx_iq_coeffs_nphy(pi, 0, &old_comp);
24583 new_comp.a0 = new_comp.b0 = new_comp.a1 = new_comp.b1 = 0x0;
24584 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &new_comp);
24586 cal_try:
24587 wlc_phy_rx_iq_est_nphy(pi, est, 0x4000, 32, 0);
24589 new_comp = old_comp;
24591 for (curr_core = 0; curr_core < pi->pubpi.phy_corenum; curr_core++) {
24593 if ((curr_core == PHY_CORE_0) && (core_mask & 0x1)) {
24594 iq = est[curr_core].iq_prod;
24595 ii = est[curr_core].i_pwr;
24596 qq = est[curr_core].q_pwr;
24597 } else if ((curr_core == PHY_CORE_1) && (core_mask & 0x2)) {
24598 iq = est[curr_core].iq_prod;
24599 ii = est[curr_core].i_pwr;
24600 qq = est[curr_core].q_pwr;
24601 } else {
24602 continue;
24605 if ((ii + qq) < NPHY_MIN_RXIQ_PWR) {
24606 bcmerror = BCME_ERROR;
24607 break;
24610 iq_nbits = wlc_phy_nbits(iq);
24611 qq_nbits = wlc_phy_nbits(qq);
24613 arsh = 10 - (30 - iq_nbits);
24614 if (arsh >= 0) {
24615 a = (-(iq << (30 - iq_nbits)) + (ii >> (1 + arsh)));
24616 temp = (int32) (ii >> arsh);
24617 if (temp == 0) {
24618 bcmerror = BCME_ERROR;
24619 break;
24621 } else {
24622 a = (-(iq << (30 - iq_nbits)) + (ii << (-1 - arsh)));
24623 temp = (int32) (ii << -arsh);
24624 if (temp == 0) {
24625 bcmerror = BCME_ERROR;
24626 break;
24630 a /= temp;
24632 brsh = qq_nbits - 31 + 20;
24633 if (brsh >= 0) {
24634 b = (qq << (31 - qq_nbits));
24635 temp = (int32) (ii >> brsh);
24636 if (temp == 0) {
24637 bcmerror = BCME_ERROR;
24638 break;
24640 } else {
24641 b = (qq << (31 - qq_nbits));
24642 temp = (int32) (ii << -brsh);
24643 if (temp == 0) {
24644 bcmerror = BCME_ERROR;
24645 break;
24648 b /= temp;
24649 b -= a * a;
24650 b = (int32) wlc_phy_sqrt_int((uint32) b);
24651 b -= (1 << 10);
24653 if ((curr_core == PHY_CORE_0) && (core_mask & 0x1)) {
24654 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24655 new_comp.a0 = (int16) a & 0x3ff;
24656 new_comp.b0 = (int16) b & 0x3ff;
24657 } else {
24659 new_comp.a0 = (int16) b & 0x3ff;
24660 new_comp.b0 = (int16) a & 0x3ff;
24663 if ((curr_core == PHY_CORE_1) && (core_mask & 0x2)) {
24664 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24665 new_comp.a1 = (int16) a & 0x3ff;
24666 new_comp.b1 = (int16) b & 0x3ff;
24667 } else {
24669 new_comp.a1 = (int16) b & 0x3ff;
24670 new_comp.b1 = (int16) a & 0x3ff;
24675 if (bcmerror != BCME_OK) {
24676 printk("%s: Failed, cnt = %d\n", __func__, cal_retry);
24678 if (cal_retry < CAL_RETRY_CNT) {
24679 cal_retry++;
24680 goto cal_try;
24683 new_comp = old_comp;
24684 } else if (cal_retry > 0) {
24687 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &new_comp);
24690 static void wlc_phy_rxcal_radio_setup_nphy(phy_info_t *pi, u8 rx_core)
24692 uint16 offtune_val;
24693 uint16 bias_g = 0;
24694 uint16 bias_a = 0;
24696 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
24697 if (rx_core == PHY_CORE_0) {
24698 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24699 pi->tx_rx_cal_radio_saveregs[0] =
24700 read_radio_reg(pi,
24701 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP);
24702 pi->tx_rx_cal_radio_saveregs[1] =
24703 read_radio_reg(pi,
24704 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN);
24706 write_radio_reg(pi,
24707 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP,
24708 0x3);
24709 write_radio_reg(pi,
24710 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN,
24711 0xaf);
24713 } else {
24714 pi->tx_rx_cal_radio_saveregs[0] =
24715 read_radio_reg(pi,
24716 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP);
24717 pi->tx_rx_cal_radio_saveregs[1] =
24718 read_radio_reg(pi,
24719 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN);
24721 write_radio_reg(pi,
24722 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP,
24723 0x3);
24724 write_radio_reg(pi,
24725 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN,
24726 0x7f);
24729 } else {
24730 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24731 pi->tx_rx_cal_radio_saveregs[0] =
24732 read_radio_reg(pi,
24733 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP);
24734 pi->tx_rx_cal_radio_saveregs[1] =
24735 read_radio_reg(pi,
24736 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN);
24738 write_radio_reg(pi,
24739 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP,
24740 0x3);
24741 write_radio_reg(pi,
24742 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN,
24743 0xaf);
24745 } else {
24746 pi->tx_rx_cal_radio_saveregs[0] =
24747 read_radio_reg(pi,
24748 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP);
24749 pi->tx_rx_cal_radio_saveregs[1] =
24750 read_radio_reg(pi,
24751 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN);
24753 write_radio_reg(pi,
24754 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP,
24755 0x3);
24756 write_radio_reg(pi,
24757 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN,
24758 0x7f);
24762 } else {
24763 if (rx_core == PHY_CORE_0) {
24764 pi->tx_rx_cal_radio_saveregs[0] =
24765 read_radio_reg(pi,
24766 RADIO_2056_TX_RXIQCAL_TXMUX |
24767 RADIO_2056_TX1);
24768 pi->tx_rx_cal_radio_saveregs[1] =
24769 read_radio_reg(pi,
24770 RADIO_2056_RX_RXIQCAL_RXMUX |
24771 RADIO_2056_RX0);
24773 if (pi->pubpi.radiorev >= 5) {
24774 pi->tx_rx_cal_radio_saveregs[2] =
24775 read_radio_reg(pi,
24776 RADIO_2056_RX_RXSPARE2 |
24777 RADIO_2056_RX0);
24778 pi->tx_rx_cal_radio_saveregs[3] =
24779 read_radio_reg(pi,
24780 RADIO_2056_TX_TXSPARE2 |
24781 RADIO_2056_TX1);
24784 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24786 if (pi->pubpi.radiorev >= 5) {
24787 pi->tx_rx_cal_radio_saveregs[4] =
24788 read_radio_reg(pi,
24789 RADIO_2056_RX_LNAA_MASTER
24790 | RADIO_2056_RX0);
24792 write_radio_reg(pi,
24793 RADIO_2056_RX_LNAA_MASTER
24794 | RADIO_2056_RX0, 0x40);
24796 write_radio_reg(pi,
24797 RADIO_2056_TX_TXSPARE2 |
24798 RADIO_2056_TX1, bias_a);
24800 write_radio_reg(pi,
24801 RADIO_2056_RX_RXSPARE2 |
24802 RADIO_2056_RX0, bias_a);
24803 } else {
24804 pi->tx_rx_cal_radio_saveregs[4] =
24805 read_radio_reg(pi,
24806 RADIO_2056_RX_LNAA_TUNE
24807 | RADIO_2056_RX0);
24809 offtune_val =
24810 (pi->
24811 tx_rx_cal_radio_saveregs[2] & 0xF0)
24812 >> 8;
24813 offtune_val =
24814 (offtune_val <= 0x7) ? 0xF : 0;
24816 mod_radio_reg(pi,
24817 RADIO_2056_RX_LNAA_TUNE |
24818 RADIO_2056_RX0, 0xF0,
24819 (offtune_val << 8));
24822 write_radio_reg(pi,
24823 RADIO_2056_TX_RXIQCAL_TXMUX |
24824 RADIO_2056_TX1, 0x9);
24825 write_radio_reg(pi,
24826 RADIO_2056_RX_RXIQCAL_RXMUX |
24827 RADIO_2056_RX0, 0x9);
24828 } else {
24829 if (pi->pubpi.radiorev >= 5) {
24830 pi->tx_rx_cal_radio_saveregs[4] =
24831 read_radio_reg(pi,
24832 RADIO_2056_RX_LNAG_MASTER
24833 | RADIO_2056_RX0);
24835 write_radio_reg(pi,
24836 RADIO_2056_RX_LNAG_MASTER
24837 | RADIO_2056_RX0, 0x40);
24839 write_radio_reg(pi,
24840 RADIO_2056_TX_TXSPARE2 |
24841 RADIO_2056_TX1, bias_g);
24843 write_radio_reg(pi,
24844 RADIO_2056_RX_RXSPARE2 |
24845 RADIO_2056_RX0, bias_g);
24847 } else {
24848 pi->tx_rx_cal_radio_saveregs[4] =
24849 read_radio_reg(pi,
24850 RADIO_2056_RX_LNAG_TUNE
24851 | RADIO_2056_RX0);
24853 offtune_val =
24854 (pi->
24855 tx_rx_cal_radio_saveregs[2] & 0xF0)
24856 >> 8;
24857 offtune_val =
24858 (offtune_val <= 0x7) ? 0xF : 0;
24860 mod_radio_reg(pi,
24861 RADIO_2056_RX_LNAG_TUNE |
24862 RADIO_2056_RX0, 0xF0,
24863 (offtune_val << 8));
24866 write_radio_reg(pi,
24867 RADIO_2056_TX_RXIQCAL_TXMUX |
24868 RADIO_2056_TX1, 0x6);
24869 write_radio_reg(pi,
24870 RADIO_2056_RX_RXIQCAL_RXMUX |
24871 RADIO_2056_RX0, 0x6);
24874 } else {
24875 pi->tx_rx_cal_radio_saveregs[0] =
24876 read_radio_reg(pi,
24877 RADIO_2056_TX_RXIQCAL_TXMUX |
24878 RADIO_2056_TX0);
24879 pi->tx_rx_cal_radio_saveregs[1] =
24880 read_radio_reg(pi,
24881 RADIO_2056_RX_RXIQCAL_RXMUX |
24882 RADIO_2056_RX1);
24884 if (pi->pubpi.radiorev >= 5) {
24885 pi->tx_rx_cal_radio_saveregs[2] =
24886 read_radio_reg(pi,
24887 RADIO_2056_RX_RXSPARE2 |
24888 RADIO_2056_RX1);
24889 pi->tx_rx_cal_radio_saveregs[3] =
24890 read_radio_reg(pi,
24891 RADIO_2056_TX_TXSPARE2 |
24892 RADIO_2056_TX0);
24895 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24897 if (pi->pubpi.radiorev >= 5) {
24898 pi->tx_rx_cal_radio_saveregs[4] =
24899 read_radio_reg(pi,
24900 RADIO_2056_RX_LNAA_MASTER
24901 | RADIO_2056_RX1);
24903 write_radio_reg(pi,
24904 RADIO_2056_RX_LNAA_MASTER
24905 | RADIO_2056_RX1, 0x40);
24907 write_radio_reg(pi,
24908 RADIO_2056_TX_TXSPARE2 |
24909 RADIO_2056_TX0, bias_a);
24911 write_radio_reg(pi,
24912 RADIO_2056_RX_RXSPARE2 |
24913 RADIO_2056_RX1, bias_a);
24914 } else {
24915 pi->tx_rx_cal_radio_saveregs[4] =
24916 read_radio_reg(pi,
24917 RADIO_2056_RX_LNAA_TUNE
24918 | RADIO_2056_RX1);
24920 offtune_val =
24921 (pi->
24922 tx_rx_cal_radio_saveregs[2] & 0xF0)
24923 >> 8;
24924 offtune_val =
24925 (offtune_val <= 0x7) ? 0xF : 0;
24927 mod_radio_reg(pi,
24928 RADIO_2056_RX_LNAA_TUNE |
24929 RADIO_2056_RX1, 0xF0,
24930 (offtune_val << 8));
24933 write_radio_reg(pi,
24934 RADIO_2056_TX_RXIQCAL_TXMUX |
24935 RADIO_2056_TX0, 0x9);
24936 write_radio_reg(pi,
24937 RADIO_2056_RX_RXIQCAL_RXMUX |
24938 RADIO_2056_RX1, 0x9);
24939 } else {
24940 if (pi->pubpi.radiorev >= 5) {
24941 pi->tx_rx_cal_radio_saveregs[4] =
24942 read_radio_reg(pi,
24943 RADIO_2056_RX_LNAG_MASTER
24944 | RADIO_2056_RX1);
24946 write_radio_reg(pi,
24947 RADIO_2056_RX_LNAG_MASTER
24948 | RADIO_2056_RX1, 0x40);
24950 write_radio_reg(pi,
24951 RADIO_2056_TX_TXSPARE2 |
24952 RADIO_2056_TX0, bias_g);
24954 write_radio_reg(pi,
24955 RADIO_2056_RX_RXSPARE2 |
24956 RADIO_2056_RX1, bias_g);
24957 } else {
24958 pi->tx_rx_cal_radio_saveregs[4] =
24959 read_radio_reg(pi,
24960 RADIO_2056_RX_LNAG_TUNE
24961 | RADIO_2056_RX1);
24963 offtune_val =
24964 (pi->
24965 tx_rx_cal_radio_saveregs[2] & 0xF0)
24966 >> 8;
24967 offtune_val =
24968 (offtune_val <= 0x7) ? 0xF : 0;
24970 mod_radio_reg(pi,
24971 RADIO_2056_RX_LNAG_TUNE |
24972 RADIO_2056_RX1, 0xF0,
24973 (offtune_val << 8));
24976 write_radio_reg(pi,
24977 RADIO_2056_TX_RXIQCAL_TXMUX |
24978 RADIO_2056_TX0, 0x6);
24979 write_radio_reg(pi,
24980 RADIO_2056_RX_RXIQCAL_RXMUX |
24981 RADIO_2056_RX1, 0x6);
24987 static void wlc_phy_rxcal_radio_cleanup_nphy(phy_info_t *pi, u8 rx_core)
24989 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
24990 if (rx_core == PHY_CORE_0) {
24991 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24992 write_radio_reg(pi,
24993 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP,
24994 pi->
24995 tx_rx_cal_radio_saveregs[0]);
24996 write_radio_reg(pi,
24997 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN,
24998 pi->
24999 tx_rx_cal_radio_saveregs[1]);
25001 } else {
25002 write_radio_reg(pi,
25003 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP,
25004 pi->
25005 tx_rx_cal_radio_saveregs[0]);
25006 write_radio_reg(pi,
25007 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN,
25008 pi->
25009 tx_rx_cal_radio_saveregs[1]);
25012 } else {
25013 if (CHSPEC_IS5G(pi->radio_chanspec)) {
25014 write_radio_reg(pi,
25015 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP,
25016 pi->
25017 tx_rx_cal_radio_saveregs[0]);
25018 write_radio_reg(pi,
25019 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN,
25020 pi->
25021 tx_rx_cal_radio_saveregs[1]);
25023 } else {
25024 write_radio_reg(pi,
25025 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP,
25026 pi->
25027 tx_rx_cal_radio_saveregs[0]);
25028 write_radio_reg(pi,
25029 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN,
25030 pi->
25031 tx_rx_cal_radio_saveregs[1]);
25035 } else {
25036 if (rx_core == PHY_CORE_0) {
25037 write_radio_reg(pi,
25038 RADIO_2056_TX_RXIQCAL_TXMUX |
25039 RADIO_2056_TX1,
25040 pi->tx_rx_cal_radio_saveregs[0]);
25042 write_radio_reg(pi,
25043 RADIO_2056_RX_RXIQCAL_RXMUX |
25044 RADIO_2056_RX0,
25045 pi->tx_rx_cal_radio_saveregs[1]);
25047 if (pi->pubpi.radiorev >= 5) {
25048 write_radio_reg(pi,
25049 RADIO_2056_RX_RXSPARE2 |
25050 RADIO_2056_RX0,
25051 pi->
25052 tx_rx_cal_radio_saveregs[2]);
25054 write_radio_reg(pi,
25055 RADIO_2056_TX_TXSPARE2 |
25056 RADIO_2056_TX1,
25057 pi->
25058 tx_rx_cal_radio_saveregs[3]);
25061 if (CHSPEC_IS5G(pi->radio_chanspec)) {
25062 if (pi->pubpi.radiorev >= 5) {
25063 write_radio_reg(pi,
25064 RADIO_2056_RX_LNAA_MASTER
25065 | RADIO_2056_RX0,
25066 pi->
25067 tx_rx_cal_radio_saveregs
25068 [4]);
25069 } else {
25070 write_radio_reg(pi,
25071 RADIO_2056_RX_LNAA_TUNE
25072 | RADIO_2056_RX0,
25073 pi->
25074 tx_rx_cal_radio_saveregs
25075 [4]);
25077 } else {
25078 if (pi->pubpi.radiorev >= 5) {
25079 write_radio_reg(pi,
25080 RADIO_2056_RX_LNAG_MASTER
25081 | RADIO_2056_RX0,
25082 pi->
25083 tx_rx_cal_radio_saveregs
25084 [4]);
25085 } else {
25086 write_radio_reg(pi,
25087 RADIO_2056_RX_LNAG_TUNE
25088 | RADIO_2056_RX0,
25089 pi->
25090 tx_rx_cal_radio_saveregs
25091 [4]);
25095 } else {
25096 write_radio_reg(pi,
25097 RADIO_2056_TX_RXIQCAL_TXMUX |
25098 RADIO_2056_TX0,
25099 pi->tx_rx_cal_radio_saveregs[0]);
25101 write_radio_reg(pi,
25102 RADIO_2056_RX_RXIQCAL_RXMUX |
25103 RADIO_2056_RX1,
25104 pi->tx_rx_cal_radio_saveregs[1]);
25106 if (pi->pubpi.radiorev >= 5) {
25107 write_radio_reg(pi,
25108 RADIO_2056_RX_RXSPARE2 |
25109 RADIO_2056_RX1,
25110 pi->
25111 tx_rx_cal_radio_saveregs[2]);
25113 write_radio_reg(pi,
25114 RADIO_2056_TX_TXSPARE2 |
25115 RADIO_2056_TX0,
25116 pi->
25117 tx_rx_cal_radio_saveregs[3]);
25120 if (CHSPEC_IS5G(pi->radio_chanspec)) {
25121 if (pi->pubpi.radiorev >= 5) {
25122 write_radio_reg(pi,
25123 RADIO_2056_RX_LNAA_MASTER
25124 | RADIO_2056_RX1,
25125 pi->
25126 tx_rx_cal_radio_saveregs
25127 [4]);
25128 } else {
25129 write_radio_reg(pi,
25130 RADIO_2056_RX_LNAA_TUNE
25131 | RADIO_2056_RX1,
25132 pi->
25133 tx_rx_cal_radio_saveregs
25134 [4]);
25136 } else {
25137 if (pi->pubpi.radiorev >= 5) {
25138 write_radio_reg(pi,
25139 RADIO_2056_RX_LNAG_MASTER
25140 | RADIO_2056_RX1,
25141 pi->
25142 tx_rx_cal_radio_saveregs
25143 [4]);
25144 } else {
25145 write_radio_reg(pi,
25146 RADIO_2056_RX_LNAG_TUNE
25147 | RADIO_2056_RX1,
25148 pi->
25149 tx_rx_cal_radio_saveregs
25150 [4]);
25157 static void wlc_phy_rxcal_physetup_nphy(phy_info_t *pi, u8 rx_core)
25159 u8 tx_core;
25160 uint16 rx_antval, tx_antval;
25162 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25164 tx_core = rx_core;
25165 } else {
25166 tx_core = (rx_core == PHY_CORE_0) ? 1 : 0;
25169 pi->tx_rx_cal_phy_saveregs[0] = read_phy_reg(pi, 0xa2);
25170 pi->tx_rx_cal_phy_saveregs[1] =
25171 read_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0xa6 : 0xa7);
25172 pi->tx_rx_cal_phy_saveregs[2] =
25173 read_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x8f : 0xa5);
25174 pi->tx_rx_cal_phy_saveregs[3] = read_phy_reg(pi, 0x91);
25175 pi->tx_rx_cal_phy_saveregs[4] = read_phy_reg(pi, 0x92);
25176 pi->tx_rx_cal_phy_saveregs[5] = read_phy_reg(pi, 0x7a);
25177 pi->tx_rx_cal_phy_saveregs[6] = read_phy_reg(pi, 0x7d);
25178 pi->tx_rx_cal_phy_saveregs[7] = read_phy_reg(pi, 0xe7);
25179 pi->tx_rx_cal_phy_saveregs[8] = read_phy_reg(pi, 0xec);
25180 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25181 pi->tx_rx_cal_phy_saveregs[11] = read_phy_reg(pi, 0x342);
25182 pi->tx_rx_cal_phy_saveregs[12] = read_phy_reg(pi, 0x343);
25183 pi->tx_rx_cal_phy_saveregs[13] = read_phy_reg(pi, 0x346);
25184 pi->tx_rx_cal_phy_saveregs[14] = read_phy_reg(pi, 0x347);
25187 pi->tx_rx_cal_phy_saveregs[9] = read_phy_reg(pi, 0x297);
25188 pi->tx_rx_cal_phy_saveregs[10] = read_phy_reg(pi, 0x29b);
25189 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
25190 0x29b, (0x1 << 0), (0) << 0);
25192 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
25193 0x29b, (0x1 << 0), (0) << 0);
25195 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25197 mod_phy_reg(pi, 0xa2, (0xf << 0), (1 << tx_core) << 0);
25199 mod_phy_reg(pi, 0xa2, (0xf << 12), (1 << (1 - rx_core)) << 12);
25201 } else {
25203 mod_phy_reg(pi, 0xa2, (0xf << 12), (1 << tx_core) << 12);
25204 mod_phy_reg(pi, 0xa2, (0xf << 0), (1 << tx_core) << 0);
25205 mod_phy_reg(pi, 0xa2, (0xf << 4), (1 << rx_core) << 4);
25206 mod_phy_reg(pi, 0xa2, (0xf << 8), (1 << rx_core) << 8);
25209 mod_phy_reg(pi, ((rx_core == PHY_CORE_0) ? 0xa6 : 0xa7), (0x1 << 2), 0);
25210 mod_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x8f : 0xa5,
25211 (0x1 << 2), (0x1 << 2));
25212 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
25213 mod_phy_reg(pi, ((rx_core == PHY_CORE_0) ? 0xa6 : 0xa7),
25214 (0x1 << 0) | (0x1 << 1), 0);
25215 mod_phy_reg(pi, (rx_core == PHY_CORE_0) ?
25216 0x8f : 0xa5,
25217 (0x1 << 0) | (0x1 << 1), (0x1 << 0) | (0x1 << 1));
25220 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_PA, 0,
25221 RADIO_MIMO_CORESEL_CORE1 |
25222 RADIO_MIMO_CORESEL_CORE2);
25224 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25225 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
25226 0, 0, 0,
25227 NPHY_REV7_RFCTRLOVERRIDE_ID0);
25228 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 9), 0, 0, 0,
25229 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25230 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 10), 1, 0, 0,
25231 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25232 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 1, 0, 0,
25233 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25234 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), 1, 0, 0,
25235 NPHY_REV7_RFCTRLOVERRIDE_ID2);
25236 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 0, 0, 0,
25237 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25238 if (CHSPEC_IS40(pi->radio_chanspec)) {
25239 wlc_phy_rfctrl_override_nphy_rev7(pi,
25240 (0x1 << 7),
25241 2, 0, 0,
25242 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25243 } else {
25244 wlc_phy_rfctrl_override_nphy_rev7(pi,
25245 (0x1 << 7),
25246 0, 0, 0,
25247 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25249 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
25250 0, 0, 0,
25251 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25252 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5), 0, 0, 0,
25253 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25254 } else {
25255 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 3, 0);
25258 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX);
25260 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25262 wlc_phy_rfctrlintc_override_nphy(pi,
25263 NPHY_RfctrlIntc_override_TRSW,
25264 0x1, rx_core + 1);
25265 } else {
25267 if (rx_core == PHY_CORE_0) {
25268 rx_antval = 0x1;
25269 tx_antval = 0x8;
25270 } else {
25271 rx_antval = 0x4;
25272 tx_antval = 0x2;
25275 wlc_phy_rfctrlintc_override_nphy(pi,
25276 NPHY_RfctrlIntc_override_TRSW,
25277 rx_antval, rx_core + 1);
25278 wlc_phy_rfctrlintc_override_nphy(pi,
25279 NPHY_RfctrlIntc_override_TRSW,
25280 tx_antval, tx_core + 1);
25284 static void wlc_phy_rxcal_phycleanup_nphy(phy_info_t *pi, u8 rx_core)
25287 write_phy_reg(pi, 0xa2, pi->tx_rx_cal_phy_saveregs[0]);
25288 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0xa6 : 0xa7,
25289 pi->tx_rx_cal_phy_saveregs[1]);
25290 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x8f : 0xa5,
25291 pi->tx_rx_cal_phy_saveregs[2]);
25292 write_phy_reg(pi, 0x91, pi->tx_rx_cal_phy_saveregs[3]);
25293 write_phy_reg(pi, 0x92, pi->tx_rx_cal_phy_saveregs[4]);
25295 write_phy_reg(pi, 0x7a, pi->tx_rx_cal_phy_saveregs[5]);
25296 write_phy_reg(pi, 0x7d, pi->tx_rx_cal_phy_saveregs[6]);
25297 write_phy_reg(pi, 0xe7, pi->tx_rx_cal_phy_saveregs[7]);
25298 write_phy_reg(pi, 0xec, pi->tx_rx_cal_phy_saveregs[8]);
25299 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25300 write_phy_reg(pi, 0x342, pi->tx_rx_cal_phy_saveregs[11]);
25301 write_phy_reg(pi, 0x343, pi->tx_rx_cal_phy_saveregs[12]);
25302 write_phy_reg(pi, 0x346, pi->tx_rx_cal_phy_saveregs[13]);
25303 write_phy_reg(pi, 0x347, pi->tx_rx_cal_phy_saveregs[14]);
25306 write_phy_reg(pi, 0x297, pi->tx_rx_cal_phy_saveregs[9]);
25307 write_phy_reg(pi, 0x29b, pi->tx_rx_cal_phy_saveregs[10]);
25310 static void
25311 wlc_phy_rxcal_gainctrl_nphy_rev5(phy_info_t *pi, u8 rx_core,
25312 uint16 *rxgain, u8 cal_type)
25315 uint16 num_samps;
25316 phy_iq_est_t est[PHY_CORE_MAX];
25317 u8 tx_core;
25318 nphy_iq_comp_t save_comp, zero_comp;
25319 uint32 i_pwr, q_pwr, curr_pwr, optim_pwr = 0, prev_pwr = 0, thresh_pwr =
25320 10000;
25321 int16 desired_log2_pwr, actual_log2_pwr, delta_pwr;
25322 bool gainctrl_done = FALSE;
25323 u8 mix_tia_gain = 3;
25324 s8 optim_gaintbl_index = 0, prev_gaintbl_index = 0;
25325 s8 curr_gaintbl_index = 3;
25326 u8 gainctrl_dirn = NPHY_RXCAL_GAIN_INIT;
25327 nphy_ipa_txrxgain_t *nphy_rxcal_gaintbl;
25328 uint16 hpvga, lpf_biq1, lpf_biq0, lna2, lna1;
25329 int16 fine_gain_idx;
25330 s8 txpwrindex;
25331 uint16 nphy_rxcal_txgain[2];
25333 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25335 tx_core = rx_core;
25336 } else {
25337 tx_core = 1 - rx_core;
25340 num_samps = 1024;
25341 desired_log2_pwr = (cal_type == 0) ? 13 : 13;
25343 wlc_phy_rx_iq_coeffs_nphy(pi, 0, &save_comp);
25344 zero_comp.a0 = zero_comp.b0 = zero_comp.a1 = zero_comp.b1 = 0x0;
25345 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &zero_comp);
25347 if (CHSPEC_IS5G(pi->radio_chanspec)) {
25348 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25349 mix_tia_gain = 3;
25350 } else if (NREV_GE(pi->pubpi.phy_rev, 4)) {
25351 mix_tia_gain = 4;
25352 } else {
25353 mix_tia_gain = 6;
25355 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25356 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_5GHz_rev7;
25357 } else {
25358 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_5GHz;
25360 } else {
25361 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25362 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_2GHz_rev7;
25363 } else {
25364 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_2GHz;
25368 do {
25370 hpvga = (NREV_GE(pi->pubpi.phy_rev, 7)) ?
25371 0 : nphy_rxcal_gaintbl[curr_gaintbl_index].hpvga;
25372 lpf_biq1 = nphy_rxcal_gaintbl[curr_gaintbl_index].lpf_biq1;
25373 lpf_biq0 = nphy_rxcal_gaintbl[curr_gaintbl_index].lpf_biq0;
25374 lna2 = nphy_rxcal_gaintbl[curr_gaintbl_index].lna2;
25375 lna1 = nphy_rxcal_gaintbl[curr_gaintbl_index].lna1;
25376 txpwrindex = nphy_rxcal_gaintbl[curr_gaintbl_index].txpwrindex;
25378 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25379 wlc_phy_rfctrl_override_1tomany_nphy(pi,
25380 NPHY_REV7_RfctrlOverride_cmd_rxgain,
25381 ((lpf_biq1 << 12) |
25382 (lpf_biq0 << 8) |
25383 (mix_tia_gain <<
25384 4) | (lna2 << 2)
25385 | lna1), 0x3, 0);
25386 } else {
25387 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12),
25388 ((hpvga << 12) |
25389 (lpf_biq1 << 10) |
25390 (lpf_biq0 << 8) |
25391 (mix_tia_gain << 4) |
25392 (lna2 << 2) | lna1), 0x3,
25396 pi->nphy_rxcal_pwr_idx[tx_core] = txpwrindex;
25398 if (txpwrindex == -1) {
25399 nphy_rxcal_txgain[0] = 0x8ff0 | pi->nphy_gmval;
25400 nphy_rxcal_txgain[1] = 0x8ff0 | pi->nphy_gmval;
25401 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
25402 2, 0x110, 16,
25403 nphy_rxcal_txgain);
25404 } else {
25405 wlc_phy_txpwr_index_nphy(pi, tx_core + 1, txpwrindex,
25406 FALSE);
25409 wlc_phy_tx_tone_nphy(pi, (CHSPEC_IS40(pi->radio_chanspec)) ?
25410 NPHY_RXCAL_TONEFREQ_40MHz :
25411 NPHY_RXCAL_TONEFREQ_20MHz,
25412 NPHY_RXCAL_TONEAMP, 0, cal_type, FALSE);
25414 wlc_phy_rx_iq_est_nphy(pi, est, num_samps, 32, 0);
25415 i_pwr = (est[rx_core].i_pwr + num_samps / 2) / num_samps;
25416 q_pwr = (est[rx_core].q_pwr + num_samps / 2) / num_samps;
25417 curr_pwr = i_pwr + q_pwr;
25419 switch (gainctrl_dirn) {
25420 case NPHY_RXCAL_GAIN_INIT:
25421 if (curr_pwr > thresh_pwr) {
25422 gainctrl_dirn = NPHY_RXCAL_GAIN_DOWN;
25423 prev_gaintbl_index = curr_gaintbl_index;
25424 curr_gaintbl_index--;
25425 } else {
25426 gainctrl_dirn = NPHY_RXCAL_GAIN_UP;
25427 prev_gaintbl_index = curr_gaintbl_index;
25428 curr_gaintbl_index++;
25430 break;
25432 case NPHY_RXCAL_GAIN_UP:
25433 if (curr_pwr > thresh_pwr) {
25434 gainctrl_done = TRUE;
25435 optim_pwr = prev_pwr;
25436 optim_gaintbl_index = prev_gaintbl_index;
25437 } else {
25438 prev_gaintbl_index = curr_gaintbl_index;
25439 curr_gaintbl_index++;
25441 break;
25443 case NPHY_RXCAL_GAIN_DOWN:
25444 if (curr_pwr > thresh_pwr) {
25445 prev_gaintbl_index = curr_gaintbl_index;
25446 curr_gaintbl_index--;
25447 } else {
25448 gainctrl_done = TRUE;
25449 optim_pwr = curr_pwr;
25450 optim_gaintbl_index = curr_gaintbl_index;
25452 break;
25454 default:
25455 ASSERT(0);
25458 if ((curr_gaintbl_index < 0) ||
25459 (curr_gaintbl_index > NPHY_IPA_RXCAL_MAXGAININDEX)) {
25460 gainctrl_done = TRUE;
25461 optim_pwr = curr_pwr;
25462 optim_gaintbl_index = prev_gaintbl_index;
25463 } else {
25464 prev_pwr = curr_pwr;
25467 wlc_phy_stopplayback_nphy(pi);
25468 } while (!gainctrl_done);
25470 hpvga = nphy_rxcal_gaintbl[optim_gaintbl_index].hpvga;
25471 lpf_biq1 = nphy_rxcal_gaintbl[optim_gaintbl_index].lpf_biq1;
25472 lpf_biq0 = nphy_rxcal_gaintbl[optim_gaintbl_index].lpf_biq0;
25473 lna2 = nphy_rxcal_gaintbl[optim_gaintbl_index].lna2;
25474 lna1 = nphy_rxcal_gaintbl[optim_gaintbl_index].lna1;
25475 txpwrindex = nphy_rxcal_gaintbl[optim_gaintbl_index].txpwrindex;
25477 actual_log2_pwr = wlc_phy_nbits(optim_pwr);
25478 delta_pwr = desired_log2_pwr - actual_log2_pwr;
25480 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25481 fine_gain_idx = (int)lpf_biq1 + delta_pwr;
25483 if (fine_gain_idx + (int)lpf_biq0 > 10) {
25484 lpf_biq1 = 10 - lpf_biq0;
25485 } else {
25486 lpf_biq1 = (uint16) MAX(fine_gain_idx, 0);
25488 wlc_phy_rfctrl_override_1tomany_nphy(pi,
25489 NPHY_REV7_RfctrlOverride_cmd_rxgain,
25490 ((lpf_biq1 << 12) |
25491 (lpf_biq0 << 8) |
25492 (mix_tia_gain << 4) |
25493 (lna2 << 2) | lna1), 0x3,
25495 } else {
25496 hpvga = (uint16) MAX(MIN(((int)hpvga) + delta_pwr, 10), 0);
25497 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12),
25498 ((hpvga << 12) | (lpf_biq1 << 10) |
25499 (lpf_biq0 << 8) | (mix_tia_gain <<
25500 4) | (lna2 <<
25501 2) |
25502 lna1), 0x3, 0);
25506 if (rxgain != NULL) {
25507 *rxgain++ = lna1;
25508 *rxgain++ = lna2;
25509 *rxgain++ = mix_tia_gain;
25510 *rxgain++ = lpf_biq0;
25511 *rxgain++ = lpf_biq1;
25512 *rxgain = hpvga;
25515 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &save_comp);
25518 static void
25519 wlc_phy_rxcal_gainctrl_nphy(phy_info_t *pi, u8 rx_core, uint16 *rxgain,
25520 u8 cal_type)
25522 wlc_phy_rxcal_gainctrl_nphy_rev5(pi, rx_core, rxgain, cal_type);
25525 static u8
25526 wlc_phy_rc_sweep_nphy(phy_info_t *pi, u8 core_idx, u8 loopback_type)
25528 uint32 target_bws[2] = { 9500, 21000 };
25529 uint32 ref_tones[2] = { 3000, 6000 };
25530 uint32 target_bw, ref_tone;
25532 uint32 target_pwr_ratios[2] = { 28606, 18468 };
25533 uint32 target_pwr_ratio, pwr_ratio, last_pwr_ratio = 0;
25535 uint16 start_rccal_ovr_val = 128;
25536 uint16 txlpf_rccal_lpc_ovr_val = 128;
25537 uint16 rxlpf_rccal_hpc_ovr_val = 159;
25539 uint16 orig_txlpf_rccal_lpc_ovr_val;
25540 uint16 orig_rxlpf_rccal_hpc_ovr_val;
25541 uint16 radio_addr_offset_rx;
25542 uint16 radio_addr_offset_tx;
25543 uint16 orig_dcBypass;
25544 uint16 orig_RxStrnFilt40Num[6];
25545 uint16 orig_RxStrnFilt40Den[4];
25546 uint16 orig_rfctrloverride[2];
25547 uint16 orig_rfctrlauxreg[2];
25548 uint16 orig_rfctrlrssiothers;
25549 uint16 tx_lpf_bw = 4;
25551 uint16 rx_lpf_bw, rx_lpf_bws[2] = { 2, 4 };
25552 uint16 lpf_hpc = 7, hpvga_hpc = 7;
25554 s8 rccal_stepsize;
25555 uint16 rccal_val, last_rccal_val = 0, best_rccal_val = 0;
25556 uint32 ref_iq_vals = 0, target_iq_vals = 0;
25557 uint16 num_samps, log_num_samps = 10;
25558 phy_iq_est_t est[PHY_CORE_MAX];
25560 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25561 return 0;
25564 num_samps = (1 << log_num_samps);
25566 if (CHSPEC_IS40(pi->radio_chanspec)) {
25567 target_bw = target_bws[1];
25568 target_pwr_ratio = target_pwr_ratios[1];
25569 ref_tone = ref_tones[1];
25570 rx_lpf_bw = rx_lpf_bws[1];
25571 } else {
25572 target_bw = target_bws[0];
25573 target_pwr_ratio = target_pwr_ratios[0];
25574 ref_tone = ref_tones[0];
25575 rx_lpf_bw = rx_lpf_bws[0];
25578 if (core_idx == 0) {
25579 radio_addr_offset_rx = RADIO_2056_RX0;
25580 radio_addr_offset_tx =
25581 (loopback_type == 0) ? RADIO_2056_TX0 : RADIO_2056_TX1;
25582 } else {
25583 radio_addr_offset_rx = RADIO_2056_RX1;
25584 radio_addr_offset_tx =
25585 (loopback_type == 0) ? RADIO_2056_TX1 : RADIO_2056_TX0;
25588 orig_txlpf_rccal_lpc_ovr_val =
25589 read_radio_reg(pi,
25590 (RADIO_2056_TX_TXLPF_RCCAL | radio_addr_offset_tx));
25591 orig_rxlpf_rccal_hpc_ovr_val =
25592 read_radio_reg(pi,
25593 (RADIO_2056_RX_RXLPF_RCCAL_HPC |
25594 radio_addr_offset_rx));
25596 orig_dcBypass = ((read_phy_reg(pi, 0x48) >> 8) & 1);
25598 orig_RxStrnFilt40Num[0] = read_phy_reg(pi, 0x267);
25599 orig_RxStrnFilt40Num[1] = read_phy_reg(pi, 0x268);
25600 orig_RxStrnFilt40Num[2] = read_phy_reg(pi, 0x269);
25601 orig_RxStrnFilt40Den[0] = read_phy_reg(pi, 0x26a);
25602 orig_RxStrnFilt40Den[1] = read_phy_reg(pi, 0x26b);
25603 orig_RxStrnFilt40Num[3] = read_phy_reg(pi, 0x26c);
25604 orig_RxStrnFilt40Num[4] = read_phy_reg(pi, 0x26d);
25605 orig_RxStrnFilt40Num[5] = read_phy_reg(pi, 0x26e);
25606 orig_RxStrnFilt40Den[2] = read_phy_reg(pi, 0x26f);
25607 orig_RxStrnFilt40Den[3] = read_phy_reg(pi, 0x270);
25609 orig_rfctrloverride[0] = read_phy_reg(pi, 0xe7);
25610 orig_rfctrloverride[1] = read_phy_reg(pi, 0xec);
25611 orig_rfctrlauxreg[0] = read_phy_reg(pi, 0xf8);
25612 orig_rfctrlauxreg[1] = read_phy_reg(pi, 0xfa);
25613 orig_rfctrlrssiothers = read_phy_reg(pi, (core_idx == 0) ? 0x7a : 0x7d);
25615 write_radio_reg(pi, (RADIO_2056_TX_TXLPF_RCCAL | radio_addr_offset_tx),
25616 txlpf_rccal_lpc_ovr_val);
25618 write_radio_reg(pi,
25619 (RADIO_2056_RX_RXLPF_RCCAL_HPC | radio_addr_offset_rx),
25620 rxlpf_rccal_hpc_ovr_val);
25622 mod_phy_reg(pi, 0x48, (0x1 << 8), (0x1 << 8));
25624 write_phy_reg(pi, 0x267, 0x02d4);
25625 write_phy_reg(pi, 0x268, 0x0000);
25626 write_phy_reg(pi, 0x269, 0x0000);
25627 write_phy_reg(pi, 0x26a, 0x0000);
25628 write_phy_reg(pi, 0x26b, 0x0000);
25629 write_phy_reg(pi, 0x26c, 0x02d4);
25630 write_phy_reg(pi, 0x26d, 0x0000);
25631 write_phy_reg(pi, 0x26e, 0x0000);
25632 write_phy_reg(pi, 0x26f, 0x0000);
25633 write_phy_reg(pi, 0x270, 0x0000);
25635 or_phy_reg(pi, (core_idx == 0) ? 0xe7 : 0xec, (0x1 << 8));
25636 or_phy_reg(pi, (core_idx == 0) ? 0xec : 0xe7, (0x1 << 15));
25637 or_phy_reg(pi, (core_idx == 0) ? 0xe7 : 0xec, (0x1 << 9));
25638 or_phy_reg(pi, (core_idx == 0) ? 0xe7 : 0xec, (0x1 << 10));
25640 mod_phy_reg(pi, (core_idx == 0) ? 0xfa : 0xf8,
25641 (0x7 << 10), (tx_lpf_bw << 10));
25642 mod_phy_reg(pi, (core_idx == 0) ? 0xf8 : 0xfa,
25643 (0x7 << 0), (hpvga_hpc << 0));
25644 mod_phy_reg(pi, (core_idx == 0) ? 0xf8 : 0xfa,
25645 (0x7 << 4), (lpf_hpc << 4));
25646 mod_phy_reg(pi, (core_idx == 0) ? 0x7a : 0x7d,
25647 (0x7 << 8), (rx_lpf_bw << 8));
25649 rccal_stepsize = 16;
25650 rccal_val = start_rccal_ovr_val + rccal_stepsize;
25652 while (rccal_stepsize >= 0) {
25653 write_radio_reg(pi,
25654 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
25655 radio_addr_offset_rx), rccal_val);
25657 if (rccal_stepsize == 16) {
25659 wlc_phy_tx_tone_nphy(pi, ref_tone, NPHY_RXCAL_TONEAMP,
25660 0, 1, FALSE);
25661 OSL_DELAY(2);
25663 wlc_phy_rx_iq_est_nphy(pi, est, num_samps, 32, 0);
25665 if (core_idx == 0) {
25666 ref_iq_vals =
25667 MAX((est[0].i_pwr +
25668 est[0].q_pwr) >> (log_num_samps + 1),
25670 } else {
25671 ref_iq_vals =
25672 MAX((est[1].i_pwr +
25673 est[1].q_pwr) >> (log_num_samps + 1),
25677 wlc_phy_tx_tone_nphy(pi, target_bw, NPHY_RXCAL_TONEAMP,
25678 0, 1, FALSE);
25679 OSL_DELAY(2);
25682 wlc_phy_rx_iq_est_nphy(pi, est, num_samps, 32, 0);
25684 if (core_idx == 0) {
25685 target_iq_vals =
25686 (est[0].i_pwr + est[0].q_pwr) >> (log_num_samps +
25688 } else {
25689 target_iq_vals =
25690 (est[1].i_pwr + est[1].q_pwr) >> (log_num_samps +
25693 pwr_ratio = (uint) ((target_iq_vals << 16) / ref_iq_vals);
25695 if (rccal_stepsize == 0) {
25696 rccal_stepsize--;
25697 } else if (rccal_stepsize == 1) {
25698 last_rccal_val = rccal_val;
25699 rccal_val += (pwr_ratio > target_pwr_ratio) ? 1 : -1;
25700 last_pwr_ratio = pwr_ratio;
25701 rccal_stepsize--;
25702 } else {
25703 rccal_stepsize = (rccal_stepsize >> 1);
25704 rccal_val += ((pwr_ratio > target_pwr_ratio) ?
25705 rccal_stepsize : (-rccal_stepsize));
25708 if (rccal_stepsize == -1) {
25709 best_rccal_val =
25710 (ABS((int)last_pwr_ratio - (int)target_pwr_ratio) <
25711 ABS((int)pwr_ratio -
25712 (int)target_pwr_ratio)) ? last_rccal_val :
25713 rccal_val;
25715 if (CHSPEC_IS40(pi->radio_chanspec)) {
25716 if ((best_rccal_val > 140)
25717 || (best_rccal_val < 135)) {
25718 best_rccal_val = 138;
25720 } else {
25721 if ((best_rccal_val > 142)
25722 || (best_rccal_val < 137)) {
25723 best_rccal_val = 140;
25727 write_radio_reg(pi,
25728 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
25729 radio_addr_offset_rx), best_rccal_val);
25733 wlc_phy_stopplayback_nphy(pi);
25735 write_radio_reg(pi, (RADIO_2056_TX_TXLPF_RCCAL | radio_addr_offset_tx),
25736 orig_txlpf_rccal_lpc_ovr_val);
25737 write_radio_reg(pi,
25738 (RADIO_2056_RX_RXLPF_RCCAL_HPC | radio_addr_offset_rx),
25739 orig_rxlpf_rccal_hpc_ovr_val);
25741 mod_phy_reg(pi, 0x48, (0x1 << 8), (orig_dcBypass << 8));
25743 write_phy_reg(pi, 0x267, orig_RxStrnFilt40Num[0]);
25744 write_phy_reg(pi, 0x268, orig_RxStrnFilt40Num[1]);
25745 write_phy_reg(pi, 0x269, orig_RxStrnFilt40Num[2]);
25746 write_phy_reg(pi, 0x26a, orig_RxStrnFilt40Den[0]);
25747 write_phy_reg(pi, 0x26b, orig_RxStrnFilt40Den[1]);
25748 write_phy_reg(pi, 0x26c, orig_RxStrnFilt40Num[3]);
25749 write_phy_reg(pi, 0x26d, orig_RxStrnFilt40Num[4]);
25750 write_phy_reg(pi, 0x26e, orig_RxStrnFilt40Num[5]);
25751 write_phy_reg(pi, 0x26f, orig_RxStrnFilt40Den[2]);
25752 write_phy_reg(pi, 0x270, orig_RxStrnFilt40Den[3]);
25754 write_phy_reg(pi, 0xe7, orig_rfctrloverride[0]);
25755 write_phy_reg(pi, 0xec, orig_rfctrloverride[1]);
25756 write_phy_reg(pi, 0xf8, orig_rfctrlauxreg[0]);
25757 write_phy_reg(pi, 0xfa, orig_rfctrlauxreg[1]);
25758 write_phy_reg(pi, (core_idx == 0) ? 0x7a : 0x7d, orig_rfctrlrssiothers);
25760 pi->nphy_anarxlpf_adjusted = FALSE;
25762 return best_rccal_val - 0x80;
25765 #define WAIT_FOR_SCOPE 4000000
25766 static int
25767 wlc_phy_cal_rxiq_nphy_rev3(phy_info_t *pi, nphy_txgains_t target_gain,
25768 u8 cal_type, bool debug)
25770 uint16 orig_BBConfig;
25771 u8 core_no, rx_core;
25772 u8 best_rccal[2];
25773 uint16 gain_save[2];
25774 uint16 cal_gain[2];
25775 nphy_iqcal_params_t cal_params[2];
25776 u8 rxcore_state;
25777 s8 rxlpf_rccal_hpc, txlpf_rccal_lpc;
25778 s8 txlpf_idac;
25779 bool phyhang_avoid_state = FALSE;
25780 bool skip_rxiqcal = FALSE;
25782 orig_BBConfig = read_phy_reg(pi, 0x01);
25783 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
25785 wlc_phy_stay_in_carriersearch_nphy(pi, TRUE);
25787 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
25788 phyhang_avoid_state = pi->phyhang_avoid;
25789 pi->phyhang_avoid = FALSE;
25792 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, gain_save);
25794 for (core_no = 0; core_no <= 1; core_no++) {
25795 wlc_phy_iqcal_gainparams_nphy(pi, core_no, target_gain,
25796 &cal_params[core_no]);
25797 cal_gain[core_no] = cal_params[core_no].cal_gain;
25800 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, cal_gain);
25802 rxcore_state = wlc_phy_rxcore_getstate_nphy((wlc_phy_t *) pi);
25804 for (rx_core = 0; rx_core < pi->pubpi.phy_corenum; rx_core++) {
25806 skip_rxiqcal =
25807 ((rxcore_state & (1 << rx_core)) == 0) ? TRUE : FALSE;
25809 wlc_phy_rxcal_physetup_nphy(pi, rx_core);
25811 wlc_phy_rxcal_radio_setup_nphy(pi, rx_core);
25813 if ((!skip_rxiqcal) && ((cal_type == 0) || (cal_type == 2))) {
25815 wlc_phy_rxcal_gainctrl_nphy(pi, rx_core, NULL, 0);
25817 wlc_phy_tx_tone_nphy(pi,
25818 (CHSPEC_IS40(pi->radio_chanspec)) ?
25819 NPHY_RXCAL_TONEFREQ_40MHz :
25820 NPHY_RXCAL_TONEFREQ_20MHz,
25821 NPHY_RXCAL_TONEAMP, 0, cal_type,
25822 FALSE);
25824 if (debug)
25825 OSL_DELAY(WAIT_FOR_SCOPE);
25827 wlc_phy_calc_rx_iq_comp_nphy(pi, rx_core + 1);
25828 wlc_phy_stopplayback_nphy(pi);
25831 if (((cal_type == 1) || (cal_type == 2))
25832 && NREV_LT(pi->pubpi.phy_rev, 7)) {
25834 if (rx_core == PHY_CORE_1) {
25836 if (rxcore_state == 1) {
25837 wlc_phy_rxcore_setstate_nphy((wlc_phy_t
25838 *) pi, 3);
25841 wlc_phy_rxcal_gainctrl_nphy(pi, rx_core, NULL,
25844 best_rccal[rx_core] =
25845 wlc_phy_rc_sweep_nphy(pi, rx_core, 1);
25846 pi->nphy_rccal_value = best_rccal[rx_core];
25848 if (rxcore_state == 1) {
25849 wlc_phy_rxcore_setstate_nphy((wlc_phy_t
25850 *) pi,
25851 rxcore_state);
25856 wlc_phy_rxcal_radio_cleanup_nphy(pi, rx_core);
25858 wlc_phy_rxcal_phycleanup_nphy(pi, rx_core);
25859 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
25862 if ((cal_type == 1) || (cal_type == 2)) {
25864 best_rccal[0] = best_rccal[1];
25865 write_radio_reg(pi,
25866 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
25867 RADIO_2056_RX0), (best_rccal[0] | 0x80));
25869 for (rx_core = 0; rx_core < pi->pubpi.phy_corenum; rx_core++) {
25870 rxlpf_rccal_hpc =
25871 (((int)best_rccal[rx_core] - 12) >> 1) + 10;
25872 txlpf_rccal_lpc = ((int)best_rccal[rx_core] - 12) + 10;
25874 if (PHY_IPA(pi)) {
25875 txlpf_rccal_lpc += IS40MHZ(pi) ? 24 : 12;
25876 txlpf_idac = IS40MHZ(pi) ? 0x0e : 0x13;
25877 WRITE_RADIO_REG2(pi, RADIO_2056, TX, rx_core,
25878 TXLPF_IDAC_4, txlpf_idac);
25881 rxlpf_rccal_hpc = MAX(MIN(rxlpf_rccal_hpc, 31), 0);
25882 txlpf_rccal_lpc = MAX(MIN(txlpf_rccal_lpc, 31), 0);
25884 write_radio_reg(pi, (RADIO_2056_RX_RXLPF_RCCAL_HPC |
25885 ((rx_core ==
25886 PHY_CORE_0) ? RADIO_2056_RX0 :
25887 RADIO_2056_RX1)),
25888 (rxlpf_rccal_hpc | 0x80));
25890 write_radio_reg(pi, (RADIO_2056_TX_TXLPF_RCCAL |
25891 ((rx_core ==
25892 PHY_CORE_0) ? RADIO_2056_TX0 :
25893 RADIO_2056_TX1)),
25894 (txlpf_rccal_lpc | 0x80));
25898 write_phy_reg(pi, 0x01, orig_BBConfig);
25900 wlc_phy_resetcca_nphy(pi);
25902 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25903 wlc_phy_rfctrl_override_1tomany_nphy(pi,
25904 NPHY_REV7_RfctrlOverride_cmd_rxgain,
25905 0, 0x3, 1);
25906 } else {
25907 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12), 0, 0x3, 1);
25909 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
25911 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
25912 gain_save);
25914 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
25915 pi->phyhang_avoid = phyhang_avoid_state;
25918 wlc_phy_stay_in_carriersearch_nphy(pi, FALSE);
25920 return BCME_OK;
25923 static int
25924 wlc_phy_cal_rxiq_nphy_rev2(phy_info_t *pi, nphy_txgains_t target_gain,
25925 bool debug)
25927 phy_iq_est_t est[PHY_CORE_MAX];
25928 u8 core_num, rx_core, tx_core;
25929 uint16 lna_vals[] = { 0x3, 0x3, 0x1 };
25930 uint16 hpf1_vals[] = { 0x7, 0x2, 0x0 };
25931 uint16 hpf2_vals[] = { 0x2, 0x0, 0x0 };
25932 int16 curr_hpf1, curr_hpf2, curr_hpf, curr_lna;
25933 int16 desired_log2_pwr, actual_log2_pwr, hpf_change;
25934 uint16 orig_RfseqCoreActv, orig_AfectrlCore, orig_AfectrlOverride;
25935 uint16 orig_RfctrlIntcRx, orig_RfctrlIntcTx;
25936 uint16 num_samps;
25937 uint32 i_pwr, q_pwr, tot_pwr[3];
25938 u8 gain_pass, use_hpf_num;
25939 uint16 mask, val1, val2;
25940 uint16 core_no;
25941 uint16 gain_save[2];
25942 uint16 cal_gain[2];
25943 nphy_iqcal_params_t cal_params[2];
25944 u8 phy_bw;
25945 int bcmerror = BCME_OK;
25946 bool first_playtone = TRUE;
25948 wlc_phy_stay_in_carriersearch_nphy(pi, TRUE);
25950 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
25952 wlc_phy_reapply_txcal_coeffs_nphy(pi);
25955 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, gain_save);
25957 for (core_no = 0; core_no <= 1; core_no++) {
25958 wlc_phy_iqcal_gainparams_nphy(pi, core_no, target_gain,
25959 &cal_params[core_no]);
25960 cal_gain[core_no] = cal_params[core_no].cal_gain;
25963 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, cal_gain);
25965 num_samps = 1024;
25966 desired_log2_pwr = 13;
25968 for (core_num = 0; core_num < 2; core_num++) {
25970 rx_core = core_num;
25971 tx_core = 1 - core_num;
25973 orig_RfseqCoreActv = read_phy_reg(pi, 0xa2);
25974 orig_AfectrlCore = read_phy_reg(pi, (rx_core == PHY_CORE_0) ?
25975 0xa6 : 0xa7);
25976 orig_AfectrlOverride = read_phy_reg(pi, 0xa5);
25977 orig_RfctrlIntcRx = read_phy_reg(pi, (rx_core == PHY_CORE_0) ?
25978 0x91 : 0x92);
25979 orig_RfctrlIntcTx = read_phy_reg(pi, (tx_core == PHY_CORE_0) ?
25980 0x91 : 0x92);
25982 mod_phy_reg(pi, 0xa2, (0xf << 12), (1 << tx_core) << 12);
25983 mod_phy_reg(pi, 0xa2, (0xf << 0), (1 << tx_core) << 0);
25985 or_phy_reg(pi, ((rx_core == PHY_CORE_0) ? 0xa6 : 0xa7),
25986 ((0x1 << 1) | (0x1 << 2)));
25987 or_phy_reg(pi, 0xa5, ((0x1 << 1) | (0x1 << 2)));
25989 if (((pi->nphy_rxcalparams) & 0xff000000)) {
25991 write_phy_reg(pi,
25992 (rx_core == PHY_CORE_0) ? 0x91 : 0x92,
25993 (CHSPEC_IS5G(pi->radio_chanspec) ? 0x140 :
25994 0x110));
25995 } else {
25997 write_phy_reg(pi,
25998 (rx_core == PHY_CORE_0) ? 0x91 : 0x92,
25999 (CHSPEC_IS5G(pi->radio_chanspec) ? 0x180 :
26000 0x120));
26003 write_phy_reg(pi, (tx_core == PHY_CORE_0) ? 0x91 : 0x92,
26004 (CHSPEC_IS5G(pi->radio_chanspec) ? 0x148 :
26005 0x114));
26007 mask = RADIO_2055_COUPLE_RX_MASK | RADIO_2055_COUPLE_TX_MASK;
26008 if (rx_core == PHY_CORE_0) {
26009 val1 = RADIO_2055_COUPLE_RX_MASK;
26010 val2 = RADIO_2055_COUPLE_TX_MASK;
26011 } else {
26012 val1 = RADIO_2055_COUPLE_TX_MASK;
26013 val2 = RADIO_2055_COUPLE_RX_MASK;
26016 if ((pi->nphy_rxcalparams & 0x10000)) {
26017 mod_radio_reg(pi, RADIO_2055_CORE1_GEN_SPARE2, mask,
26018 val1);
26019 mod_radio_reg(pi, RADIO_2055_CORE2_GEN_SPARE2, mask,
26020 val2);
26023 for (gain_pass = 0; gain_pass < 4; gain_pass++) {
26025 if (debug)
26026 OSL_DELAY(WAIT_FOR_SCOPE);
26028 if (gain_pass < 3) {
26029 curr_lna = lna_vals[gain_pass];
26030 curr_hpf1 = hpf1_vals[gain_pass];
26031 curr_hpf2 = hpf2_vals[gain_pass];
26032 } else {
26034 if (tot_pwr[1] > 10000) {
26035 curr_lna = lna_vals[2];
26036 curr_hpf1 = hpf1_vals[2];
26037 curr_hpf2 = hpf2_vals[2];
26038 use_hpf_num = 1;
26039 curr_hpf = curr_hpf1;
26040 actual_log2_pwr =
26041 wlc_phy_nbits(tot_pwr[2]);
26042 } else {
26043 if (tot_pwr[0] > 10000) {
26044 curr_lna = lna_vals[1];
26045 curr_hpf1 = hpf1_vals[1];
26046 curr_hpf2 = hpf2_vals[1];
26047 use_hpf_num = 1;
26048 curr_hpf = curr_hpf1;
26049 actual_log2_pwr =
26050 wlc_phy_nbits(tot_pwr[1]);
26051 } else {
26052 curr_lna = lna_vals[0];
26053 curr_hpf1 = hpf1_vals[0];
26054 curr_hpf2 = hpf2_vals[0];
26055 use_hpf_num = 2;
26056 curr_hpf = curr_hpf2;
26057 actual_log2_pwr =
26058 wlc_phy_nbits(tot_pwr[0]);
26062 hpf_change = desired_log2_pwr - actual_log2_pwr;
26063 curr_hpf += hpf_change;
26064 curr_hpf = MAX(MIN(curr_hpf, 10), 0);
26065 if (use_hpf_num == 1) {
26066 curr_hpf1 = curr_hpf;
26067 } else {
26068 curr_hpf2 = curr_hpf;
26072 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 10),
26073 ((curr_hpf2 << 8) |
26074 (curr_hpf1 << 4) |
26075 (curr_lna << 2)), 0x3, 0);
26076 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
26078 wlc_phy_stopplayback_nphy(pi);
26080 if (first_playtone) {
26081 bcmerror = wlc_phy_tx_tone_nphy(pi, 4000,
26082 (uint16) (pi->
26083 nphy_rxcalparams
26085 0xffff),
26086 0, 0, TRUE);
26087 first_playtone = FALSE;
26088 } else {
26089 phy_bw =
26090 (CHSPEC_IS40(pi->radio_chanspec)) ? 40 : 20;
26091 wlc_phy_runsamples_nphy(pi, phy_bw * 8, 0xffff,
26092 0, 0, 0, TRUE);
26095 if (bcmerror == BCME_OK) {
26096 if (gain_pass < 3) {
26098 wlc_phy_rx_iq_est_nphy(pi, est,
26099 num_samps, 32,
26101 i_pwr =
26102 (est[rx_core].i_pwr +
26103 num_samps / 2) / num_samps;
26104 q_pwr =
26105 (est[rx_core].q_pwr +
26106 num_samps / 2) / num_samps;
26107 tot_pwr[gain_pass] = i_pwr + q_pwr;
26108 } else {
26110 wlc_phy_calc_rx_iq_comp_nphy(pi,
26111 (1 <<
26112 rx_core));
26115 wlc_phy_stopplayback_nphy(pi);
26118 if (bcmerror != BCME_OK)
26119 break;
26122 and_radio_reg(pi, RADIO_2055_CORE1_GEN_SPARE2, ~mask);
26123 and_radio_reg(pi, RADIO_2055_CORE2_GEN_SPARE2, ~mask);
26125 write_phy_reg(pi, (tx_core == PHY_CORE_0) ? 0x91 :
26126 0x92, orig_RfctrlIntcTx);
26127 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x91 :
26128 0x92, orig_RfctrlIntcRx);
26129 write_phy_reg(pi, 0xa5, orig_AfectrlOverride);
26130 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0xa6 :
26131 0xa7, orig_AfectrlCore);
26132 write_phy_reg(pi, 0xa2, orig_RfseqCoreActv);
26134 if (bcmerror != BCME_OK)
26135 break;
26138 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 10), 0, 0x3, 1);
26139 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
26141 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
26142 gain_save);
26144 wlc_phy_stay_in_carriersearch_nphy(pi, FALSE);
26146 return bcmerror;
26150 wlc_phy_cal_rxiq_nphy(phy_info_t *pi, nphy_txgains_t target_gain,
26151 u8 cal_type, bool debug)
26153 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26155 cal_type = 0;
26157 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
26158 return wlc_phy_cal_rxiq_nphy_rev3(pi, target_gain, cal_type,
26159 debug);
26160 } else {
26161 return wlc_phy_cal_rxiq_nphy_rev2(pi, target_gain, debug);
26165 static void wlc_phy_extpa_set_tx_digi_filts_nphy(phy_info_t *pi)
26167 int j, type = 2;
26168 uint16 addr_offset = 0x2c5;
26170 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26171 write_phy_reg(pi, addr_offset + j,
26172 NPHY_IPA_REV4_txdigi_filtcoeffs[type][j]);
26176 static void wlc_phy_ipa_set_tx_digi_filts_nphy(phy_info_t *pi)
26178 int j, type;
26179 uint16 addr_offset[] = { 0x186, 0x195,
26180 0x2c5
26183 for (type = 0; type < 3; type++) {
26184 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26185 write_phy_reg(pi, addr_offset[type] + j,
26186 NPHY_IPA_REV4_txdigi_filtcoeffs[type][j]);
26190 if (IS40MHZ(pi)) {
26191 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26192 write_phy_reg(pi, 0x186 + j,
26193 NPHY_IPA_REV4_txdigi_filtcoeffs[3][j]);
26195 } else {
26196 if (CHSPEC_IS5G(pi->radio_chanspec)) {
26197 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26198 write_phy_reg(pi, 0x186 + j,
26199 NPHY_IPA_REV4_txdigi_filtcoeffs[5]
26200 [j]);
26204 if (CHSPEC_CHANNEL(pi->radio_chanspec) == 14) {
26205 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26206 write_phy_reg(pi, 0x2c5 + j,
26207 NPHY_IPA_REV4_txdigi_filtcoeffs[6]
26208 [j]);
26214 static void wlc_phy_ipa_restore_tx_digi_filts_nphy(phy_info_t *pi)
26216 int j;
26218 if (IS40MHZ(pi)) {
26219 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26220 write_phy_reg(pi, 0x195 + j,
26221 NPHY_IPA_REV4_txdigi_filtcoeffs[4][j]);
26223 } else {
26224 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26225 write_phy_reg(pi, 0x186 + j,
26226 NPHY_IPA_REV4_txdigi_filtcoeffs[3][j]);
26231 static uint16 wlc_phy_ipa_get_bbmult_nphy(phy_info_t *pi)
26233 uint16 m0m1;
26235 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m0m1);
26237 return m0m1;
26240 static void wlc_phy_ipa_set_bbmult_nphy(phy_info_t *pi, u8 m0, u8 m1)
26242 uint16 m0m1 = (uint16) ((m0 << 8) | m1);
26244 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m0m1);
26245 wlc_phy_table_write_nphy(pi, 15, 1, 95, 16, &m0m1);
26248 static uint32 *wlc_phy_get_ipa_gaintbl_nphy(phy_info_t *pi)
26250 uint32 *tx_pwrctrl_tbl = NULL;
26252 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26254 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26256 if ((pi->pubpi.radiorev == 4)
26257 || (pi->pubpi.radiorev == 6)) {
26259 tx_pwrctrl_tbl =
26260 nphy_tpc_txgain_ipa_2g_2057rev4n6;
26261 } else if (pi->pubpi.radiorev == 3) {
26263 tx_pwrctrl_tbl =
26264 nphy_tpc_txgain_ipa_2g_2057rev3;
26265 } else if (pi->pubpi.radiorev == 5) {
26267 tx_pwrctrl_tbl =
26268 nphy_tpc_txgain_ipa_2g_2057rev5;
26269 } else if ((pi->pubpi.radiorev == 7)
26270 || (pi->pubpi.radiorev == 8)) {
26272 tx_pwrctrl_tbl =
26273 nphy_tpc_txgain_ipa_2g_2057rev7;
26274 } else {
26275 ASSERT(0);
26278 } else if (NREV_IS(pi->pubpi.phy_rev, 6)) {
26280 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_rev6;
26281 if (CHIPID(pi->sh->chip) == BCM47162_CHIP_ID) {
26283 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_rev5;
26286 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
26288 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_rev5;
26289 } else {
26291 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa;
26294 } else {
26296 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26297 if ((pi->pubpi.radiorev == 3) ||
26298 (pi->pubpi.radiorev == 4) ||
26299 (pi->pubpi.radiorev == 6)) {
26301 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_5g_2057;
26302 } else if ((pi->pubpi.radiorev == 7)
26303 || (pi->pubpi.radiorev == 8)) {
26305 tx_pwrctrl_tbl =
26306 nphy_tpc_txgain_ipa_5g_2057rev7;
26307 } else {
26308 ASSERT(0);
26311 } else {
26312 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_5g;
26316 return tx_pwrctrl_tbl;
26319 static void
26320 wlc_phy_papd_cal_setup_nphy(phy_info_t *pi, nphy_papd_restore_state *state,
26321 u8 core)
26323 int32 tone_freq;
26324 u8 off_core;
26325 uint16 mixgain = 0;
26327 off_core = core ^ 0x1;
26328 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26330 if (NREV_IS(pi->pubpi.phy_rev, 7)
26331 || NREV_GE(pi->pubpi.phy_rev, 8)) {
26332 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
26333 wlc_phy_read_lpf_bw_ctl_nphy
26334 (pi, 0), 0, 0,
26335 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26338 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26339 if (pi->pubpi.radiorev == 5) {
26340 mixgain = (core == 0) ? 0x20 : 0x00;
26342 } else if ((pi->pubpi.radiorev == 7)
26343 || (pi->pubpi.radiorev == 8)) {
26345 mixgain = 0x00;
26347 } else if ((pi->pubpi.radiorev <= 4)
26348 || (pi->pubpi.radiorev == 6)) {
26350 mixgain = 0x00;
26351 } else {
26352 ASSERT(0);
26355 } else {
26356 if ((pi->pubpi.radiorev == 4) ||
26357 (pi->pubpi.radiorev == 6)) {
26359 mixgain = 0x50;
26360 } else if ((pi->pubpi.radiorev == 3)
26361 || (pi->pubpi.radiorev == 7)
26362 || (pi->pubpi.radiorev == 8)) {
26364 mixgain = 0x0;
26365 } else {
26366 ASSERT(0);
26370 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11),
26371 mixgain, (1 << core), 0,
26372 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26374 wlc_phy_rfctrl_override_1tomany_nphy(pi,
26375 NPHY_REV7_RfctrlOverride_cmd_tx_pu,
26376 1, (1 << core), 0);
26377 wlc_phy_rfctrl_override_1tomany_nphy(pi,
26378 NPHY_REV7_RfctrlOverride_cmd_tx_pu,
26379 0, (1 << off_core), 0);
26381 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26382 0, 0x3, 0,
26383 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26384 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), 1,
26385 (1 << core), 0,
26386 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26387 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 0,
26388 (1 << core), 0,
26389 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26390 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), 1,
26391 (1 << core), 0,
26392 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26393 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 8), 0,
26394 (1 << core), 0,
26395 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26396 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 9), 1,
26397 (1 << core), 0,
26398 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26399 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 10), 0,
26400 (1 << core), 0,
26401 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26402 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), 1,
26403 (1 << core), 0,
26404 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26406 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5),
26407 0, (1 << core), 0,
26408 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26409 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), 0,
26410 (1 << core), 0,
26411 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26413 state->afectrl[core] = read_phy_reg(pi, (core == PHY_CORE_0) ?
26414 0xa6 : 0xa7);
26415 state->afeoverride[core] =
26416 read_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f : 0xa5);
26417 state->afectrl[off_core] =
26418 read_phy_reg(pi, (core == PHY_CORE_0) ? 0xa7 : 0xa6);
26419 state->afeoverride[off_core] =
26420 read_phy_reg(pi, (core == PHY_CORE_0) ? 0xa5 : 0x8f);
26422 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa6 : 0xa7),
26423 (0x1 << 2), 0);
26424 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
26425 0xa5), (0x1 << 2), (0x1 << 2));
26427 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa7 : 0xa6),
26428 (0x1 << 2), (0x1 << 2));
26429 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa5 :
26430 0x8f), (0x1 << 2), (0x1 << 2));
26432 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26433 state->pwrup[core] =
26434 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
26435 TXRXCOUPLE_2G_PWRUP);
26436 state->atten[core] =
26437 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
26438 TXRXCOUPLE_2G_ATTEN);
26439 state->pwrup[off_core] =
26440 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26441 TXRXCOUPLE_2G_PWRUP);
26442 state->atten[off_core] =
26443 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26444 TXRXCOUPLE_2G_ATTEN);
26446 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26447 TXRXCOUPLE_2G_PWRUP, 0xc);
26449 if ((pi->pubpi.radiorev == 3) ||
26450 (pi->pubpi.radiorev == 4) ||
26451 (pi->pubpi.radiorev == 6)) {
26453 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26454 TXRXCOUPLE_2G_ATTEN, 0xf0);
26456 } else if (pi->pubpi.radiorev == 5) {
26458 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26459 TXRXCOUPLE_2G_ATTEN,
26460 (core == 0) ? 0xf7 : 0xf2);
26462 } else if ((pi->pubpi.radiorev == 7)
26463 || (pi->pubpi.radiorev == 8)) {
26465 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26466 TXRXCOUPLE_2G_ATTEN, 0xf0);
26468 } else {
26469 ASSERT(0);
26472 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26473 TXRXCOUPLE_2G_PWRUP, 0x0);
26474 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26475 TXRXCOUPLE_2G_ATTEN, 0xff);
26477 } else {
26478 state->pwrup[core] =
26479 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
26480 TXRXCOUPLE_5G_PWRUP);
26481 state->atten[core] =
26482 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
26483 TXRXCOUPLE_5G_ATTEN);
26484 state->pwrup[off_core] =
26485 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26486 TXRXCOUPLE_5G_PWRUP);
26487 state->atten[off_core] =
26488 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26489 TXRXCOUPLE_5G_ATTEN);
26491 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26492 TXRXCOUPLE_5G_PWRUP, 0xc);
26494 if ((pi->pubpi.radiorev == 7)
26495 || (pi->pubpi.radiorev == 8)) {
26497 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26498 TXRXCOUPLE_5G_ATTEN, 0xf4);
26500 } else {
26501 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26502 TXRXCOUPLE_5G_ATTEN, 0xf0);
26505 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26506 TXRXCOUPLE_5G_PWRUP, 0x0);
26507 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26508 TXRXCOUPLE_5G_ATTEN, 0xff);
26511 tone_freq = 4000;
26513 wlc_phy_tx_tone_nphy(pi, tone_freq, 181, 0, 0, FALSE);
26515 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
26516 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON) << 0);
26518 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26519 0x2a4, (0x1 << 13), (1) << 13);
26521 mod_phy_reg(pi, (off_core == PHY_CORE_0) ? 0x297 :
26522 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_OFF) << 0);
26524 mod_phy_reg(pi, (off_core == PHY_CORE_0) ? 0x2a3 :
26525 0x2a4, (0x1 << 13), (0) << 13);
26527 } else {
26529 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12), 0, 0x3, 0);
26531 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 1, 0, 0);
26533 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 0), 0, 0x3, 0);
26535 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 2), 1, 0x3, 0);
26536 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 1), 1, 0x3, 0);
26538 state->afectrl[core] = read_phy_reg(pi, (core == PHY_CORE_0) ?
26539 0xa6 : 0xa7);
26540 state->afeoverride[core] =
26541 read_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f : 0xa5);
26543 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa6 : 0xa7),
26544 (0x1 << 0) | (0x1 << 1) | (0x1 << 2), 0);
26545 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
26546 0xa5),
26547 (0x1 << 0) |
26548 (0x1 << 1) |
26549 (0x1 << 2), (0x1 << 0) | (0x1 << 1) | (0x1 << 2));
26551 state->vga_master[core] =
26552 READ_RADIO_REG2(pi, RADIO_2056, RX, core, VGA_MASTER);
26553 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, VGA_MASTER, 0x2b);
26554 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26555 state->fbmix[core] =
26556 READ_RADIO_REG2(pi, RADIO_2056, RX, core,
26557 TXFBMIX_G);
26558 state->intpa_master[core] =
26559 READ_RADIO_REG2(pi, RADIO_2056, TX, core,
26560 INTPAG_MASTER);
26562 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, TXFBMIX_G,
26563 0x03);
26564 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26565 INTPAG_MASTER, 0x04);
26566 } else {
26567 state->fbmix[core] =
26568 READ_RADIO_REG2(pi, RADIO_2056, RX, core,
26569 TXFBMIX_A);
26570 state->intpa_master[core] =
26571 READ_RADIO_REG2(pi, RADIO_2056, TX, core,
26572 INTPAA_MASTER);
26574 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, TXFBMIX_A,
26575 0x03);
26576 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26577 INTPAA_MASTER, 0x04);
26581 tone_freq = 4000;
26583 wlc_phy_tx_tone_nphy(pi, tone_freq, 181, 0, 0, FALSE);
26585 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
26586 0x29b, (0x1 << 0), (1) << 0);
26588 mod_phy_reg(pi, (off_core == PHY_CORE_0) ? 0x297 :
26589 0x29b, (0x1 << 0), (0) << 0);
26591 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 0x3, 0);
26595 static void
26596 wlc_phy_papd_cal_cleanup_nphy(phy_info_t *pi, nphy_papd_restore_state *state)
26598 u8 core;
26600 wlc_phy_stopplayback_nphy(pi);
26602 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26604 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
26606 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26607 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26608 TXRXCOUPLE_2G_PWRUP, 0);
26609 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26610 TXRXCOUPLE_2G_ATTEN,
26611 state->atten[core]);
26612 } else {
26613 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26614 TXRXCOUPLE_5G_PWRUP, 0);
26615 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26616 TXRXCOUPLE_5G_ATTEN,
26617 state->atten[core]);
26621 if ((pi->pubpi.radiorev == 4) || (pi->pubpi.radiorev == 6)) {
26622 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
26623 1, 0x3, 0,
26624 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26625 } else {
26626 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
26627 0, 0x3, 1,
26628 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26630 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1),
26631 0, 0x3, 1,
26632 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26633 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 0, 0x3, 1,
26634 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26635 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), 0, 0x3, 1,
26636 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26637 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 1, 0x3, 1,
26638 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26639 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), 0, 0x3, 1,
26640 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26641 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 0, 0x3, 1,
26642 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26643 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12), 0, 0x3, 1,
26644 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26645 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), 1, 0x3, 1,
26646 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26647 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 0, 0x3, 1,
26648 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26649 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), 1, 0x3, 1,
26650 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26651 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 8), 0, 0x3, 1,
26652 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26653 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 9), 1, 0x3, 1,
26654 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26655 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 10), 0, 0x3, 1,
26656 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26657 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), 1, 0x3, 1,
26658 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26659 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5), 0, 0x3, 1,
26660 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26661 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), 0, 0x3, 1,
26662 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26664 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
26666 write_phy_reg(pi, (core == PHY_CORE_0) ?
26667 0xa6 : 0xa7, state->afectrl[core]);
26668 write_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f :
26669 0xa5, state->afeoverride[core]);
26672 wlc_phy_ipa_set_bbmult_nphy(pi, (state->mm >> 8) & 0xff,
26673 (state->mm & 0xff));
26675 if (NREV_IS(pi->pubpi.phy_rev, 7)
26676 || NREV_GE(pi->pubpi.phy_rev, 8)) {
26677 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7), 0, 0,
26679 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26681 } else {
26683 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12), 0, 0x3, 1);
26684 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 13), 0, 0x3, 1);
26685 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 0), 0, 0x3, 1);
26687 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 2), 0, 0x3, 1);
26688 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 1), 0, 0x3, 1);
26690 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
26692 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, VGA_MASTER,
26693 state->vga_master[core]);
26694 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26695 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core,
26696 TXFBMIX_G, state->fbmix[core]);
26697 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26698 INTPAG_MASTER,
26699 state->intpa_master[core]);
26700 } else {
26701 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core,
26702 TXFBMIX_A, state->fbmix[core]);
26703 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26704 INTPAA_MASTER,
26705 state->intpa_master[core]);
26708 write_phy_reg(pi, (core == PHY_CORE_0) ?
26709 0xa6 : 0xa7, state->afectrl[core]);
26710 write_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f :
26711 0xa5, state->afeoverride[core]);
26714 wlc_phy_ipa_set_bbmult_nphy(pi, (state->mm >> 8) & 0xff,
26715 (state->mm & 0xff));
26717 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 0x3, 1);
26721 static void
26722 wlc_phy_a1_nphy(phy_info_t *pi, u8 core, uint32 winsz, uint32 start,
26723 uint32 end)
26725 uint32 *buf, *src, *dst, sz;
26727 sz = end - start + 1;
26728 ASSERT(end > start);
26729 ASSERT(end < NPHY_PAPD_EPS_TBL_SIZE);
26731 buf = MALLOC(pi->sh->osh, 2 * sizeof(uint32) * NPHY_PAPD_EPS_TBL_SIZE);
26732 if (NULL == buf) {
26733 return;
26736 src = buf;
26737 dst = buf + NPHY_PAPD_EPS_TBL_SIZE;
26739 wlc_phy_table_read_nphy(pi,
26740 (core ==
26741 PHY_CORE_0 ? NPHY_TBL_ID_EPSILONTBL0 :
26742 NPHY_TBL_ID_EPSILONTBL1),
26743 NPHY_PAPD_EPS_TBL_SIZE, 0, 32, src);
26745 do {
26746 uint32 phy_a1, phy_a2;
26747 int32 phy_a3, phy_a4, phy_a5, phy_a6, phy_a7;
26749 phy_a1 = end - MIN(end, (winsz >> 1));
26750 phy_a2 = MIN(NPHY_PAPD_EPS_TBL_SIZE - 1, end + (winsz >> 1));
26751 phy_a3 = phy_a2 - phy_a1 + 1;
26752 phy_a6 = 0;
26753 phy_a7 = 0;
26755 do {
26756 wlc_phy_papd_decode_epsilon(src[phy_a2], &phy_a4,
26757 &phy_a5);
26758 phy_a6 += phy_a4;
26759 phy_a7 += phy_a5;
26760 } while (phy_a2-- != phy_a1);
26762 phy_a6 /= phy_a3;
26763 phy_a7 /= phy_a3;
26764 dst[end] = ((uint32) phy_a7 << 13) | ((uint32) phy_a6 & 0x1fff);
26765 } while (end-- != start);
26767 wlc_phy_table_write_nphy(pi,
26768 (core ==
26769 PHY_CORE_0) ? NPHY_TBL_ID_EPSILONTBL0 :
26770 NPHY_TBL_ID_EPSILONTBL1, sz, start, 32, dst);
26772 MFREE(pi->sh->osh, buf, 2 * sizeof(uint32) * NPHY_PAPD_EPS_TBL_SIZE);
26775 static void
26776 wlc_phy_a2_nphy(phy_info_t *pi, nphy_ipa_txcalgains_t *txgains,
26777 phy_cal_mode_t cal_mode, u8 core)
26779 uint16 phy_a1, phy_a2, phy_a3;
26780 uint16 phy_a4, phy_a5;
26781 bool phy_a6;
26782 u8 phy_a7, m[2];
26783 uint32 phy_a8 = 0;
26784 nphy_txgains_t phy_a9;
26786 if (NREV_LT(pi->pubpi.phy_rev, 3))
26787 return;
26789 phy_a7 = (core == PHY_CORE_0) ? 1 : 0;
26791 ASSERT((cal_mode == CAL_FULL) || (cal_mode == CAL_GCTRL)
26792 || (cal_mode == CAL_SOFT));
26793 phy_a6 = ((cal_mode == CAL_GCTRL)
26794 || (cal_mode == CAL_SOFT)) ? TRUE : FALSE;
26796 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26798 phy_a9 = wlc_phy_get_tx_gain_nphy(pi);
26800 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26801 phy_a5 = ((phy_a9.txlpf[core] << 15) |
26802 (phy_a9.txgm[core] << 12) |
26803 (phy_a9.pga[core] << 8) |
26804 (txgains->gains.pad[core] << 3) |
26805 (phy_a9.ipa[core]));
26806 } else {
26807 phy_a5 = ((phy_a9.txlpf[core] << 15) |
26808 (phy_a9.txgm[core] << 12) |
26809 (txgains->gains.pga[core] << 8) |
26810 (phy_a9.pad[core] << 3) | (phy_a9.ipa[core]));
26813 wlc_phy_rfctrl_override_1tomany_nphy(pi,
26814 NPHY_REV7_RfctrlOverride_cmd_txgain,
26815 phy_a5, (1 << core), 0);
26817 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26818 if ((pi->pubpi.radiorev <= 4)
26819 || (pi->pubpi.radiorev == 6)) {
26821 m[core] = IS40MHZ(pi) ? 60 : 79;
26822 } else {
26824 m[core] = IS40MHZ(pi) ? 45 : 64;
26827 } else {
26828 m[core] = IS40MHZ(pi) ? 75 : 107;
26831 m[phy_a7] = 0;
26832 wlc_phy_ipa_set_bbmult_nphy(pi, m[0], m[1]);
26834 phy_a2 = 63;
26836 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26837 if (CHIPID(pi->sh->chip) == BCM6362_CHIP_ID) {
26838 phy_a1 = 35;
26839 phy_a3 = 35;
26840 } else if ((pi->pubpi.radiorev == 4)
26841 || (pi->pubpi.radiorev == 6)) {
26842 phy_a1 = 30;
26843 phy_a3 = 30;
26844 } else {
26845 phy_a1 = 25;
26846 phy_a3 = 25;
26848 } else {
26849 if ((pi->pubpi.radiorev == 5)
26850 || (pi->pubpi.radiorev == 7)
26851 || (pi->pubpi.radiorev == 8)) {
26852 phy_a1 = 25;
26853 phy_a3 = 25;
26854 } else {
26855 phy_a1 = 35;
26856 phy_a3 = 35;
26860 if (cal_mode == CAL_GCTRL) {
26861 if ((pi->pubpi.radiorev == 5)
26862 && (CHSPEC_IS2G(pi->radio_chanspec))) {
26863 phy_a1 = 55;
26864 } else if (((pi->pubpi.radiorev == 7) &&
26865 (CHSPEC_IS2G(pi->radio_chanspec))) ||
26866 ((pi->pubpi.radiorev == 8) &&
26867 (CHSPEC_IS2G(pi->radio_chanspec)))) {
26868 phy_a1 = 60;
26869 } else {
26870 phy_a1 = 63;
26873 } else if ((cal_mode != CAL_FULL) && (cal_mode != CAL_SOFT)) {
26875 phy_a1 = 35;
26876 phy_a3 = 35;
26879 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
26880 0x29b, (0x1 << 0), (1) << 0);
26882 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x297 :
26883 0x29b, (0x1 << 0), (0) << 0);
26885 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26886 0x2a4, (0x1 << 13), (1) << 13);
26888 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x2a3 :
26889 0x2a4, (0x1 << 13), (0) << 13);
26891 write_phy_reg(pi, 0x2a1, 0x80);
26892 write_phy_reg(pi, 0x2a2, 0x100);
26894 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26895 0x2a4, (0x7 << 4), (11) << 4);
26897 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26898 0x2a4, (0x7 << 8), (11) << 8);
26900 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26901 0x2a4, (0x7 << 0), (0x3) << 0);
26903 write_phy_reg(pi, 0x2e5, 0x20);
26905 mod_phy_reg(pi, 0x2a0, (0x3f << 0), (phy_a3) << 0);
26907 mod_phy_reg(pi, 0x29f, (0x3f << 0), (phy_a1) << 0);
26909 mod_phy_reg(pi, 0x29f, (0x3f << 8), (phy_a2) << 8);
26911 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26912 1, ((core == 0) ? 1 : 2), 0,
26913 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26914 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26915 0, ((core == 0) ? 2 : 1), 0,
26916 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26918 write_phy_reg(pi, 0x2be, 1);
26919 SPINWAIT(read_phy_reg(pi, 0x2be), 10 * 1000 * 1000);
26921 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26922 0, 0x3, 0,
26923 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26925 wlc_phy_table_write_nphy(pi,
26926 (core ==
26927 PHY_CORE_0) ? NPHY_TBL_ID_EPSILONTBL0
26928 : NPHY_TBL_ID_EPSILONTBL1, 1, phy_a3,
26929 32, &phy_a8);
26931 if (cal_mode != CAL_GCTRL) {
26932 if (CHSPEC_IS5G(pi->radio_chanspec)) {
26933 wlc_phy_a1_nphy(pi, core, 5, 0, 35);
26937 wlc_phy_rfctrl_override_1tomany_nphy(pi,
26938 NPHY_REV7_RfctrlOverride_cmd_txgain,
26939 phy_a5, (1 << core), 1);
26941 } else {
26943 if (txgains) {
26944 if (txgains->useindex) {
26945 phy_a4 = 15 - ((txgains->index) >> 3);
26946 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26947 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
26948 phy_a5 = 0x00f7 | (phy_a4 << 8);
26950 if (CHIPID(pi->sh->chip) ==
26951 BCM47162_CHIP_ID) {
26952 phy_a5 =
26953 0x10f7 | (phy_a4 <<
26956 } else
26957 if (NREV_IS(pi->pubpi.phy_rev, 5))
26958 phy_a5 = 0x10f7 | (phy_a4 << 8);
26959 else
26960 phy_a5 = 0x50f7 | (phy_a4 << 8);
26961 } else {
26962 phy_a5 = 0x70f7 | (phy_a4 << 8);
26964 wlc_phy_rfctrl_override_nphy(pi,
26965 (0x1 << 13),
26966 phy_a5,
26967 (1 << core), 0);
26968 } else {
26969 wlc_phy_rfctrl_override_nphy(pi,
26970 (0x1 << 13),
26971 0x5bf7,
26972 (1 << core), 0);
26976 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26977 m[core] = IS40MHZ(pi) ? 45 : 64;
26978 } else {
26979 m[core] = IS40MHZ(pi) ? 75 : 107;
26982 m[phy_a7] = 0;
26983 wlc_phy_ipa_set_bbmult_nphy(pi, m[0], m[1]);
26985 phy_a2 = 63;
26987 if (cal_mode == CAL_FULL) {
26988 phy_a1 = 25;
26989 phy_a3 = 25;
26990 } else if (cal_mode == CAL_SOFT) {
26991 phy_a1 = 25;
26992 phy_a3 = 25;
26993 } else if (cal_mode == CAL_GCTRL) {
26994 phy_a1 = 63;
26995 phy_a3 = 25;
26996 } else {
26998 phy_a1 = 25;
26999 phy_a3 = 25;
27002 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
27003 0x29b, (0x1 << 0), (1) << 0);
27005 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x297 :
27006 0x29b, (0x1 << 0), (0) << 0);
27008 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
27009 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27010 0x2a4, (0x1 << 13), (1) << 13);
27012 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x2a3 :
27013 0x2a4, (0x1 << 13), (0) << 13);
27015 write_phy_reg(pi, 0x2a1, 0x20);
27016 write_phy_reg(pi, 0x2a2, 0x60);
27018 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27019 0x2a4, (0xf << 4), (9) << 4);
27021 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27022 0x2a4, (0xf << 8), (9) << 8);
27024 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27025 0x2a4, (0xf << 0), (0x2) << 0);
27027 write_phy_reg(pi, 0x2e5, 0x20);
27028 } else {
27029 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27030 0x2a4, (0x1 << 11), (1) << 11);
27032 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x2a3 :
27033 0x2a4, (0x1 << 11), (0) << 11);
27035 write_phy_reg(pi, 0x2a1, 0x80);
27036 write_phy_reg(pi, 0x2a2, 0x600);
27038 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27039 0x2a4, (0x7 << 4), (0) << 4);
27041 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27042 0x2a4, (0x7 << 8), (0) << 8);
27044 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27045 0x2a4, (0x7 << 0), (0x3) << 0);
27047 mod_phy_reg(pi, 0x2a0, (0x3f << 8), (0x20) << 8);
27051 mod_phy_reg(pi, 0x2a0, (0x3f << 0), (phy_a3) << 0);
27053 mod_phy_reg(pi, 0x29f, (0x3f << 0), (phy_a1) << 0);
27055 mod_phy_reg(pi, 0x29f, (0x3f << 8), (phy_a2) << 8);
27057 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 1, 0x3, 0);
27059 write_phy_reg(pi, 0x2be, 1);
27060 SPINWAIT(read_phy_reg(pi, 0x2be), 10 * 1000 * 1000);
27062 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 0x3, 0);
27064 wlc_phy_table_write_nphy(pi,
27065 (core ==
27066 PHY_CORE_0) ? NPHY_TBL_ID_EPSILONTBL0
27067 : NPHY_TBL_ID_EPSILONTBL1, 1, phy_a3,
27068 32, &phy_a8);
27070 if (cal_mode != CAL_GCTRL) {
27071 wlc_phy_a1_nphy(pi, core, 5, 0, 40);
27076 static u8 wlc_phy_a3_nphy(phy_info_t *pi, u8 start_gain, u8 core)
27078 int phy_a1;
27079 int phy_a2;
27080 bool phy_a3;
27081 nphy_ipa_txcalgains_t phy_a4;
27082 bool phy_a5 = FALSE;
27083 bool phy_a6 = TRUE;
27084 int32 phy_a7, phy_a8;
27085 uint32 phy_a9;
27086 int phy_a10;
27087 bool phy_a11 = FALSE;
27088 int phy_a12;
27089 u8 phy_a13 = 0;
27090 u8 phy_a14;
27091 u8 *phy_a15 = NULL;
27093 phy_a4.useindex = TRUE;
27094 phy_a12 = start_gain;
27096 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27098 phy_a2 = 20;
27099 phy_a1 = 1;
27101 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27102 if (pi->pubpi.radiorev == 5) {
27104 phy_a15 = pad_gain_codes_used_2057rev5;
27105 phy_a13 = sizeof(pad_gain_codes_used_2057rev5) /
27106 sizeof(pad_gain_codes_used_2057rev5[0]) - 1;
27108 } else if ((pi->pubpi.radiorev == 7)
27109 || (pi->pubpi.radiorev == 8)) {
27111 phy_a15 = pad_gain_codes_used_2057rev7;
27112 phy_a13 = sizeof(pad_gain_codes_used_2057rev7) /
27113 sizeof(pad_gain_codes_used_2057rev7[0]) - 1;
27115 } else {
27117 phy_a15 = pad_all_gain_codes_2057;
27118 phy_a13 = sizeof(pad_all_gain_codes_2057) /
27119 sizeof(pad_all_gain_codes_2057[0]) - 1;
27122 } else {
27124 phy_a15 = pga_all_gain_codes_2057;
27125 phy_a13 = sizeof(pga_all_gain_codes_2057) /
27126 sizeof(pga_all_gain_codes_2057[0]) - 1;
27129 phy_a14 = 0;
27131 for (phy_a10 = 0; phy_a10 < phy_a2; phy_a10++) {
27132 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27133 phy_a4.gains.pad[core] =
27134 (uint16) phy_a15[phy_a12];
27135 } else {
27136 phy_a4.gains.pga[core] =
27137 (uint16) phy_a15[phy_a12];
27140 wlc_phy_a2_nphy(pi, &phy_a4, CAL_GCTRL, core);
27142 wlc_phy_table_read_nphy(pi,
27143 (core ==
27144 PHY_CORE_0 ?
27145 NPHY_TBL_ID_EPSILONTBL0 :
27146 NPHY_TBL_ID_EPSILONTBL1), 1,
27147 63, 32, &phy_a9);
27149 wlc_phy_papd_decode_epsilon(phy_a9, &phy_a7, &phy_a8);
27151 phy_a3 = ((phy_a7 == 4095) || (phy_a7 == -4096) ||
27152 (phy_a8 == 4095) || (phy_a8 == -4096));
27154 if (!phy_a6 && (phy_a3 != phy_a5)) {
27155 if (!phy_a3) {
27156 phy_a12 -= (u8) phy_a1;
27158 phy_a11 = TRUE;
27159 break;
27162 if (phy_a3)
27163 phy_a12 += (u8) phy_a1;
27164 else
27165 phy_a12 -= (u8) phy_a1;
27167 if ((phy_a12 < phy_a14) || (phy_a12 > phy_a13)) {
27168 if (phy_a12 < phy_a14) {
27169 phy_a12 = phy_a14;
27170 } else {
27171 phy_a12 = phy_a13;
27173 phy_a11 = TRUE;
27174 break;
27177 phy_a6 = FALSE;
27178 phy_a5 = phy_a3;
27181 } else {
27182 phy_a2 = 10;
27183 phy_a1 = 8;
27184 for (phy_a10 = 0; phy_a10 < phy_a2; phy_a10++) {
27185 phy_a4.index = (u8) phy_a12;
27186 wlc_phy_a2_nphy(pi, &phy_a4, CAL_GCTRL, core);
27188 wlc_phy_table_read_nphy(pi,
27189 (core ==
27190 PHY_CORE_0 ?
27191 NPHY_TBL_ID_EPSILONTBL0 :
27192 NPHY_TBL_ID_EPSILONTBL1), 1,
27193 63, 32, &phy_a9);
27195 wlc_phy_papd_decode_epsilon(phy_a9, &phy_a7, &phy_a8);
27197 phy_a3 = ((phy_a7 == 4095) || (phy_a7 == -4096) ||
27198 (phy_a8 == 4095) || (phy_a8 == -4096));
27200 if (!phy_a6 && (phy_a3 != phy_a5)) {
27201 if (!phy_a3) {
27202 phy_a12 -= (u8) phy_a1;
27204 phy_a11 = TRUE;
27205 break;
27208 if (phy_a3)
27209 phy_a12 += (u8) phy_a1;
27210 else
27211 phy_a12 -= (u8) phy_a1;
27213 if ((phy_a12 < 0) || (phy_a12 > 127)) {
27214 if (phy_a12 < 0) {
27215 phy_a12 = 0;
27216 } else {
27217 phy_a12 = 127;
27219 phy_a11 = TRUE;
27220 break;
27223 phy_a6 = FALSE;
27224 phy_a5 = phy_a3;
27229 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27230 return (u8) phy_a15[phy_a12];
27231 } else {
27232 return (u8) phy_a12;
27237 static void wlc_phy_a4(phy_info_t *pi, bool full_cal)
27239 nphy_ipa_txcalgains_t phy_b1[2];
27240 nphy_papd_restore_state phy_b2;
27241 bool phy_b3;
27242 u8 phy_b4;
27243 u8 phy_b5;
27244 int16 phy_b6, phy_b7, phy_b8;
27245 uint16 phy_b9;
27246 int16 phy_b10, phy_b11, phy_b12;
27248 phy_b11 = 0;
27249 phy_b12 = 0;
27250 phy_b7 = 0;
27251 phy_b8 = 0;
27252 phy_b6 = 0;
27254 if (pi->nphy_papd_skip == 1)
27255 return;
27257 phy_b3 =
27258 (0 == (R_REG(pi->sh->osh, &pi->regs->maccontrol) & MCTL_EN_MAC));
27259 if (!phy_b3) {
27260 wlapi_suspend_mac_and_wait(pi->sh->physhim);
27263 wlc_phy_stay_in_carriersearch_nphy(pi, TRUE);
27265 pi->nphy_force_papd_cal = FALSE;
27267 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++)
27268 pi->nphy_papd_tx_gain_at_last_cal[phy_b5] =
27269 wlc_phy_txpwr_idx_cur_get_nphy(pi, phy_b5);
27271 pi->nphy_papd_last_cal = pi->sh->now;
27272 pi->nphy_papd_recal_counter++;
27274 if (NORADIO_ENAB(pi->pubpi))
27275 return;
27277 phy_b4 = pi->nphy_txpwrctrl;
27278 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
27280 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_SCALARTBL0, 64, 0, 32,
27281 nphy_papd_scaltbl);
27282 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_SCALARTBL1, 64, 0, 32,
27283 nphy_papd_scaltbl);
27285 phy_b9 = read_phy_reg(pi, 0x01);
27286 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
27288 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++) {
27289 int32 i, val = 0;
27290 for (i = 0; i < 64; i++) {
27291 wlc_phy_table_write_nphy(pi,
27292 ((phy_b5 ==
27293 PHY_CORE_0) ?
27294 NPHY_TBL_ID_EPSILONTBL0 :
27295 NPHY_TBL_ID_EPSILONTBL1), 1,
27296 i, 32, &val);
27300 wlc_phy_ipa_restore_tx_digi_filts_nphy(pi);
27302 phy_b2.mm = wlc_phy_ipa_get_bbmult_nphy(pi);
27303 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++) {
27304 wlc_phy_papd_cal_setup_nphy(pi, &phy_b2, phy_b5);
27306 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27307 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27309 if ((pi->pubpi.radiorev == 3)
27310 || (pi->pubpi.radiorev == 4)
27311 || (pi->pubpi.radiorev == 6)) {
27313 pi->nphy_papd_cal_gain_index[phy_b5] =
27316 } else if (pi->pubpi.radiorev == 5) {
27318 pi->nphy_papd_cal_gain_index[phy_b5] =
27320 pi->nphy_papd_cal_gain_index[phy_b5] =
27321 wlc_phy_a3_nphy(pi,
27322 pi->
27323 nphy_papd_cal_gain_index
27324 [phy_b5], phy_b5);
27326 } else if ((pi->pubpi.radiorev == 7)
27327 || (pi->pubpi.radiorev == 8)) {
27329 pi->nphy_papd_cal_gain_index[phy_b5] =
27331 pi->nphy_papd_cal_gain_index[phy_b5] =
27332 wlc_phy_a3_nphy(pi,
27333 pi->
27334 nphy_papd_cal_gain_index
27335 [phy_b5], phy_b5);
27337 } else {
27338 ASSERT(0);
27341 phy_b1[phy_b5].gains.pad[phy_b5] =
27342 pi->nphy_papd_cal_gain_index[phy_b5];
27344 } else {
27345 pi->nphy_papd_cal_gain_index[phy_b5] = 0;
27346 pi->nphy_papd_cal_gain_index[phy_b5] =
27347 wlc_phy_a3_nphy(pi,
27348 pi->
27349 nphy_papd_cal_gain_index
27350 [phy_b5], phy_b5);
27351 phy_b1[phy_b5].gains.pga[phy_b5] =
27352 pi->nphy_papd_cal_gain_index[phy_b5];
27354 } else {
27355 phy_b1[phy_b5].useindex = TRUE;
27356 phy_b1[phy_b5].index = 16;
27357 phy_b1[phy_b5].index =
27358 wlc_phy_a3_nphy(pi, phy_b1[phy_b5].index, phy_b5);
27360 pi->nphy_papd_cal_gain_index[phy_b5] =
27361 15 - ((phy_b1[phy_b5].index) >> 3);
27364 switch (pi->nphy_papd_cal_type) {
27365 case 0:
27366 wlc_phy_a2_nphy(pi, &phy_b1[phy_b5], CAL_FULL, phy_b5);
27367 break;
27368 case 1:
27369 wlc_phy_a2_nphy(pi, &phy_b1[phy_b5], CAL_SOFT, phy_b5);
27370 break;
27373 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27374 wlc_phy_papd_cal_cleanup_nphy(pi, &phy_b2);
27378 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
27379 wlc_phy_papd_cal_cleanup_nphy(pi, &phy_b2);
27382 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++) {
27383 int eps_offset = 0;
27385 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27386 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27387 if (pi->pubpi.radiorev == 3) {
27388 eps_offset = -2;
27389 } else if (pi->pubpi.radiorev == 5) {
27390 eps_offset = 3;
27391 } else {
27392 eps_offset = -1;
27394 } else {
27395 eps_offset = 2;
27398 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27399 phy_b8 = phy_b1[phy_b5].gains.pad[phy_b5];
27400 phy_b10 = 0;
27401 if ((pi->pubpi.radiorev == 3) ||
27402 (pi->pubpi.radiorev == 4) ||
27403 (pi->pubpi.radiorev == 6)) {
27404 phy_b12 =
27406 (nphy_papd_padgain_dlt_2g_2057rev3n4
27407 [phy_b8]
27408 + 1) / 2;
27409 phy_b10 = -1;
27410 } else if (pi->pubpi.radiorev == 5) {
27411 phy_b12 =
27412 -(nphy_papd_padgain_dlt_2g_2057rev5
27413 [phy_b8]
27414 + 1) / 2;
27415 } else if ((pi->pubpi.radiorev == 7) ||
27416 (pi->pubpi.radiorev == 8)) {
27417 phy_b12 =
27418 -(nphy_papd_padgain_dlt_2g_2057rev7
27419 [phy_b8]
27420 + 1) / 2;
27421 } else {
27422 ASSERT(0);
27424 } else {
27425 phy_b7 = phy_b1[phy_b5].gains.pga[phy_b5];
27426 if ((pi->pubpi.radiorev == 3) ||
27427 (pi->pubpi.radiorev == 4) ||
27428 (pi->pubpi.radiorev == 6)) {
27429 phy_b11 =
27430 -(nphy_papd_pgagain_dlt_5g_2057
27431 [phy_b7]
27432 + 1) / 2;
27433 } else if ((pi->pubpi.radiorev == 7)
27434 || (pi->pubpi.radiorev == 8)) {
27435 phy_b11 =
27436 -(nphy_papd_pgagain_dlt_5g_2057rev7
27437 [phy_b7]
27438 + 1) / 2;
27439 } else {
27440 ASSERT(0);
27443 phy_b10 = -9;
27446 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27447 phy_b6 =
27448 -60 + 27 + eps_offset + phy_b12 + phy_b10;
27449 } else {
27450 phy_b6 =
27451 -60 + 27 + eps_offset + phy_b11 + phy_b10;
27454 mod_phy_reg(pi, (phy_b5 == PHY_CORE_0) ? 0x298 :
27455 0x29c, (0x1ff << 7), (phy_b6) << 7);
27457 pi->nphy_papd_epsilon_offset[phy_b5] = phy_b6;
27458 } else {
27459 if (NREV_LT(pi->pubpi.phy_rev, 5)) {
27460 eps_offset = 4;
27461 } else {
27462 eps_offset = 2;
27465 phy_b7 = 15 - ((phy_b1[phy_b5].index) >> 3);
27467 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27468 phy_b11 =
27469 -(nphy_papd_pga_gain_delta_ipa_2g[phy_b7] +
27470 1) / 2;
27471 phy_b10 = 0;
27472 } else {
27473 phy_b11 =
27474 -(nphy_papd_pga_gain_delta_ipa_5g[phy_b7] +
27475 1) / 2;
27476 phy_b10 = -9;
27479 phy_b6 = -60 + 27 + eps_offset + phy_b11 + phy_b10;
27481 mod_phy_reg(pi, (phy_b5 == PHY_CORE_0) ? 0x298 :
27482 0x29c, (0x1ff << 7), (phy_b6) << 7);
27484 pi->nphy_papd_epsilon_offset[phy_b5] = phy_b6;
27488 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
27489 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON) << 0);
27491 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
27492 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON) << 0);
27494 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
27495 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x2a3 :
27496 0x2a4, (0x1 << 13), (0) << 13);
27498 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x2a3 :
27499 0x2a4, (0x1 << 13), (0) << 13);
27501 } else {
27502 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x2a3 :
27503 0x2a4, (0x1 << 11), (0) << 11);
27505 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x2a3 :
27506 0x2a4, (0x1 << 11), (0) << 11);
27509 pi->nphy_papdcomp = NPHY_PAPD_COMP_ON;
27511 write_phy_reg(pi, 0x01, phy_b9);
27513 wlc_phy_ipa_set_tx_digi_filts_nphy(pi);
27515 wlc_phy_txpwrctrl_enable_nphy(pi, phy_b4);
27516 if (phy_b4 == PHY_TPC_HW_OFF) {
27517 wlc_phy_txpwr_index_nphy(pi, (1 << 0),
27518 (s8) (pi->nphy_txpwrindex[0].
27519 index_internal), FALSE);
27520 wlc_phy_txpwr_index_nphy(pi, (1 << 1),
27521 (s8) (pi->nphy_txpwrindex[1].
27522 index_internal), FALSE);
27525 wlc_phy_stay_in_carriersearch_nphy(pi, FALSE);
27527 if (!phy_b3) {
27528 wlapi_enable_mac(pi->sh->physhim);
27532 void wlc_phy_txpwr_fixpower_nphy(phy_info_t *pi)
27534 uint core;
27535 uint32 txgain;
27536 uint16 rad_gain, dac_gain, bbmult, m1m2;
27537 u8 txpi[2], chan_freq_range;
27538 int32 rfpwr_offset;
27540 ASSERT(pi->nphy_txpwrctrl == PHY_TPC_HW_OFF);
27542 if (pi->phyhang_avoid)
27543 wlc_phy_stay_in_carriersearch_nphy(pi, TRUE);
27545 if (pi->sh->sromrev < 4) {
27546 txpi[0] = txpi[1] = 72;
27547 } else {
27549 chan_freq_range = wlc_phy_get_chan_freq_range_nphy(pi, 0);
27550 switch (chan_freq_range) {
27551 case WL_CHAN_FREQ_RANGE_2G:
27552 txpi[0] = pi->nphy_txpid2g[0];
27553 txpi[1] = pi->nphy_txpid2g[1];
27554 break;
27555 case WL_CHAN_FREQ_RANGE_5GL:
27556 txpi[0] = pi->nphy_txpid5gl[0];
27557 txpi[1] = pi->nphy_txpid5gl[1];
27558 break;
27559 case WL_CHAN_FREQ_RANGE_5GM:
27560 txpi[0] = pi->nphy_txpid5g[0];
27561 txpi[1] = pi->nphy_txpid5g[1];
27562 break;
27563 case WL_CHAN_FREQ_RANGE_5GH:
27564 txpi[0] = pi->nphy_txpid5gh[0];
27565 txpi[1] = pi->nphy_txpid5gh[1];
27566 break;
27567 default:
27568 txpi[0] = txpi[1] = 91;
27569 break;
27573 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27574 txpi[0] = txpi[1] = 30;
27575 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27576 txpi[0] = txpi[1] = 40;
27579 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
27581 if ((txpi[0] < 40) || (txpi[0] > 100) ||
27582 (txpi[1] < 40) || (txpi[1] > 100))
27583 txpi[0] = txpi[1] = 91;
27586 pi->nphy_txpwrindex[PHY_CORE_0].index_internal = txpi[0];
27587 pi->nphy_txpwrindex[PHY_CORE_1].index_internal = txpi[1];
27588 pi->nphy_txpwrindex[PHY_CORE_0].index_internal_save = txpi[0];
27589 pi->nphy_txpwrindex[PHY_CORE_1].index_internal_save = txpi[1];
27591 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
27592 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27593 if (PHY_IPA(pi)) {
27594 uint32 *tx_gaintbl =
27595 wlc_phy_get_ipa_gaintbl_nphy(pi);
27596 txgain = tx_gaintbl[txpi[core]];
27597 } else {
27598 if (CHSPEC_IS5G(pi->radio_chanspec)) {
27599 if NREV_IS
27600 (pi->pubpi.phy_rev, 3) {
27601 txgain =
27602 nphy_tpc_5GHz_txgain_rev3
27603 [txpi[core]];
27604 } else if NREV_IS
27605 (pi->pubpi.phy_rev, 4) {
27606 txgain =
27607 (pi->srom_fem5g.extpagain ==
27608 3) ?
27609 nphy_tpc_5GHz_txgain_HiPwrEPA
27610 [txpi[core]] :
27611 nphy_tpc_5GHz_txgain_rev4
27612 [txpi[core]];
27613 } else {
27614 txgain =
27615 nphy_tpc_5GHz_txgain_rev5
27616 [txpi[core]];
27618 } else {
27619 if (NREV_GE(pi->pubpi.phy_rev, 5) &&
27620 (pi->srom_fem2g.extpagain == 3)) {
27621 txgain =
27622 nphy_tpc_txgain_HiPwrEPA
27623 [txpi[core]];
27624 } else {
27625 txgain =
27626 nphy_tpc_txgain_rev3[txpi
27627 [core]];
27631 } else {
27632 txgain = nphy_tpc_txgain[txpi[core]];
27635 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27636 rad_gain = (txgain >> 16) & ((1 << (32 - 16 + 1)) - 1);
27637 } else {
27638 rad_gain = (txgain >> 16) & ((1 << (28 - 16 + 1)) - 1);
27641 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27642 dac_gain = (txgain >> 8) & ((1 << (10 - 8 + 1)) - 1);
27643 } else {
27644 dac_gain = (txgain >> 8) & ((1 << (13 - 8 + 1)) - 1);
27646 bbmult = (txgain >> 0) & ((1 << (7 - 0 + 1)) - 1);
27648 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27649 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
27650 0xa5), (0x1 << 8), (0x1 << 8));
27651 } else {
27652 mod_phy_reg(pi, 0xa5, (0x1 << 14), (0x1 << 14));
27654 write_phy_reg(pi, (core == PHY_CORE_0) ? 0xaa : 0xab, dac_gain);
27656 wlc_phy_table_write_nphy(pi, 7, 1, (0x110 + core), 16,
27657 &rad_gain);
27659 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m1m2);
27660 m1m2 &= ((core == PHY_CORE_0) ? 0x00ff : 0xff00);
27661 m1m2 |= ((core == PHY_CORE_0) ? (bbmult << 8) : (bbmult << 0));
27662 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m1m2);
27664 if (PHY_IPA(pi)) {
27665 wlc_phy_table_read_nphy(pi,
27666 (core ==
27667 PHY_CORE_0 ?
27668 NPHY_TBL_ID_CORE1TXPWRCTL :
27669 NPHY_TBL_ID_CORE2TXPWRCTL), 1,
27670 576 + txpi[core], 32,
27671 &rfpwr_offset);
27673 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
27674 0x29b, (0x1ff << 4),
27675 ((int16) rfpwr_offset) << 4);
27677 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
27678 0x29b, (0x1 << 2), (1) << 2);
27683 and_phy_reg(pi, 0xbf, (uint16) (~(0x1f << 0)));
27685 if (pi->phyhang_avoid)
27686 wlc_phy_stay_in_carriersearch_nphy(pi, FALSE);
27689 static void
27690 wlc_phy_txpwr_nphy_srom_convert(u8 *srom_max, uint16 *pwr_offset,
27691 u8 tmp_max_pwr, u8 rate_start,
27692 u8 rate_end)
27694 u8 rate;
27695 u8 word_num, nibble_num;
27696 u8 tmp_nibble;
27698 for (rate = rate_start; rate <= rate_end; rate++) {
27699 word_num = (rate - rate_start) >> 2;
27700 nibble_num = (rate - rate_start) & 0x3;
27701 tmp_nibble = (pwr_offset[word_num] >> 4 * nibble_num) & 0xf;
27703 srom_max[rate] = tmp_max_pwr - 2 * tmp_nibble;
27707 static void
27708 wlc_phy_txpwr_nphy_po_apply(u8 *srom_max, u8 pwr_offset,
27709 u8 rate_start, u8 rate_end)
27711 u8 rate;
27713 for (rate = rate_start; rate <= rate_end; rate++) {
27714 srom_max[rate] -= 2 * pwr_offset;
27718 void
27719 wlc_phy_ofdm_to_mcs_powers_nphy(u8 *power, u8 rate_mcs_start,
27720 u8 rate_mcs_end, u8 rate_ofdm_start)
27722 u8 rate1, rate2;
27724 rate2 = rate_ofdm_start;
27725 for (rate1 = rate_mcs_start; rate1 <= rate_mcs_end - 1; rate1++) {
27726 power[rate1] = power[rate2];
27727 rate2 += (rate1 == rate_mcs_start) ? 2 : 1;
27729 power[rate_mcs_end] = power[rate_mcs_end - 1];
27732 void
27733 wlc_phy_mcs_to_ofdm_powers_nphy(u8 *power, u8 rate_ofdm_start,
27734 u8 rate_ofdm_end, u8 rate_mcs_start)
27736 u8 rate1, rate2;
27738 for (rate1 = rate_ofdm_start, rate2 = rate_mcs_start;
27739 rate1 <= rate_ofdm_end; rate1++, rate2++) {
27740 power[rate1] = power[rate2];
27741 if (rate1 == rate_ofdm_start)
27742 power[++rate1] = power[rate2];
27746 void BCMNMIATTACHFN(wlc_phy_txpwr_apply_nphy) (phy_info_t *pi)
27748 uint rate1, rate2, band_num;
27749 u8 tmp_bw40po = 0, tmp_cddpo = 0, tmp_stbcpo = 0;
27750 u8 tmp_max_pwr = 0;
27751 uint16 pwr_offsets1[2], *pwr_offsets2 = NULL;
27752 u8 *tx_srom_max_rate = NULL;
27754 for (band_num = 0; band_num < (CH_2G_GROUP + CH_5G_GROUP); band_num++) {
27755 switch (band_num) {
27756 case 0:
27758 tmp_max_pwr = MIN(pi->nphy_pwrctrl_info[0].max_pwr_2g,
27759 pi->nphy_pwrctrl_info[1].max_pwr_2g);
27761 pwr_offsets1[0] = pi->cck2gpo;
27762 wlc_phy_txpwr_nphy_srom_convert(pi->tx_srom_max_rate_2g,
27763 pwr_offsets1,
27764 tmp_max_pwr,
27765 TXP_FIRST_CCK,
27766 TXP_LAST_CCK);
27768 pwr_offsets1[0] = (uint16) (pi->ofdm2gpo & 0xffff);
27769 pwr_offsets1[1] =
27770 (uint16) (pi->ofdm2gpo >> 16) & 0xffff;
27772 pwr_offsets2 = pi->mcs2gpo;
27774 tmp_cddpo = pi->cdd2gpo;
27775 tmp_stbcpo = pi->stbc2gpo;
27776 tmp_bw40po = pi->bw402gpo;
27778 tx_srom_max_rate = pi->tx_srom_max_rate_2g;
27779 break;
27780 case 1:
27782 tmp_max_pwr = MIN(pi->nphy_pwrctrl_info[0].max_pwr_5gm,
27783 pi->nphy_pwrctrl_info[1].max_pwr_5gm);
27785 pwr_offsets1[0] = (uint16) (pi->ofdm5gpo & 0xffff);
27786 pwr_offsets1[1] =
27787 (uint16) (pi->ofdm5gpo >> 16) & 0xffff;
27789 pwr_offsets2 = pi->mcs5gpo;
27791 tmp_cddpo = pi->cdd5gpo;
27792 tmp_stbcpo = pi->stbc5gpo;
27793 tmp_bw40po = pi->bw405gpo;
27795 tx_srom_max_rate = pi->tx_srom_max_rate_5g_mid;
27796 break;
27797 case 2:
27799 tmp_max_pwr = MIN(pi->nphy_pwrctrl_info[0].max_pwr_5gl,
27800 pi->nphy_pwrctrl_info[1].max_pwr_5gl);
27802 pwr_offsets1[0] = (uint16) (pi->ofdm5glpo & 0xffff);
27803 pwr_offsets1[1] =
27804 (uint16) (pi->ofdm5glpo >> 16) & 0xffff;
27806 pwr_offsets2 = pi->mcs5glpo;
27808 tmp_cddpo = pi->cdd5glpo;
27809 tmp_stbcpo = pi->stbc5glpo;
27810 tmp_bw40po = pi->bw405glpo;
27812 tx_srom_max_rate = pi->tx_srom_max_rate_5g_low;
27813 break;
27814 case 3:
27816 tmp_max_pwr = MIN(pi->nphy_pwrctrl_info[0].max_pwr_5gh,
27817 pi->nphy_pwrctrl_info[1].max_pwr_5gh);
27819 pwr_offsets1[0] = (uint16) (pi->ofdm5ghpo & 0xffff);
27820 pwr_offsets1[1] =
27821 (uint16) (pi->ofdm5ghpo >> 16) & 0xffff;
27823 pwr_offsets2 = pi->mcs5ghpo;
27825 tmp_cddpo = pi->cdd5ghpo;
27826 tmp_stbcpo = pi->stbc5ghpo;
27827 tmp_bw40po = pi->bw405ghpo;
27829 tx_srom_max_rate = pi->tx_srom_max_rate_5g_hi;
27830 break;
27833 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate, pwr_offsets1,
27834 tmp_max_pwr, TXP_FIRST_OFDM,
27835 TXP_LAST_OFDM);
27837 wlc_phy_ofdm_to_mcs_powers_nphy(tx_srom_max_rate,
27838 TXP_FIRST_MCS_20_SISO,
27839 TXP_LAST_MCS_20_SISO,
27840 TXP_FIRST_OFDM);
27842 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate, pwr_offsets2,
27843 tmp_max_pwr,
27844 TXP_FIRST_MCS_20_CDD,
27845 TXP_LAST_MCS_20_CDD);
27847 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27849 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate, tmp_cddpo,
27850 TXP_FIRST_MCS_20_CDD,
27851 TXP_LAST_MCS_20_CDD);
27854 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate,
27855 TXP_FIRST_OFDM_20_CDD,
27856 TXP_LAST_OFDM_20_CDD,
27857 TXP_FIRST_MCS_20_CDD);
27859 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate, pwr_offsets2,
27860 tmp_max_pwr,
27861 TXP_FIRST_MCS_20_STBC,
27862 TXP_LAST_MCS_20_STBC);
27864 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27866 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate,
27867 tmp_stbcpo,
27868 TXP_FIRST_MCS_20_STBC,
27869 TXP_LAST_MCS_20_STBC);
27872 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27873 &pwr_offsets2[2], tmp_max_pwr,
27874 TXP_FIRST_MCS_20_SDM,
27875 TXP_LAST_MCS_20_SDM);
27877 if (NPHY_IS_SROM_REINTERPRET) {
27879 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27880 &pwr_offsets2[4],
27881 tmp_max_pwr,
27882 TXP_FIRST_MCS_40_SISO,
27883 TXP_LAST_MCS_40_SISO);
27885 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate,
27886 TXP_FIRST_OFDM_40_SISO,
27887 TXP_LAST_OFDM_40_SISO,
27888 TXP_FIRST_MCS_40_SISO);
27890 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27891 &pwr_offsets2[4],
27892 tmp_max_pwr,
27893 TXP_FIRST_MCS_40_CDD,
27894 TXP_LAST_MCS_40_CDD);
27896 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate, tmp_cddpo,
27897 TXP_FIRST_MCS_40_CDD,
27898 TXP_LAST_MCS_40_CDD);
27900 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate,
27901 TXP_FIRST_OFDM_40_CDD,
27902 TXP_LAST_OFDM_40_CDD,
27903 TXP_FIRST_MCS_40_CDD);
27905 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27906 &pwr_offsets2[4],
27907 tmp_max_pwr,
27908 TXP_FIRST_MCS_40_STBC,
27909 TXP_LAST_MCS_40_STBC);
27911 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate,
27912 tmp_stbcpo,
27913 TXP_FIRST_MCS_40_STBC,
27914 TXP_LAST_MCS_40_STBC);
27916 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27917 &pwr_offsets2[6],
27918 tmp_max_pwr,
27919 TXP_FIRST_MCS_40_SDM,
27920 TXP_LAST_MCS_40_SDM);
27921 } else {
27923 for (rate1 = TXP_FIRST_OFDM_40_SISO, rate2 =
27924 TXP_FIRST_OFDM; rate1 <= TXP_LAST_MCS_40_SDM;
27925 rate1++, rate2++)
27926 tx_srom_max_rate[rate1] =
27927 tx_srom_max_rate[rate2];
27930 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27931 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate,
27932 tmp_bw40po,
27933 TXP_FIRST_OFDM_40_SISO,
27934 TXP_LAST_MCS_40_SDM);
27937 tx_srom_max_rate[TXP_MCS_32] =
27938 tx_srom_max_rate[TXP_FIRST_MCS_40_CDD];
27941 return;
27944 static void BCMATTACHFN(wlc_phy_txpwr_srom_read_ppr_nphy) (phy_info_t *pi)
27946 uint16 bw40po, cddpo, stbcpo, bwduppo;
27947 uint band_num;
27949 if (pi->sh->sromrev >= 9) {
27951 return;
27954 bw40po = (uint16) PHY_GETINTVAR(pi, "bw40po");
27955 pi->bw402gpo = bw40po & 0xf;
27956 pi->bw405gpo = (bw40po & 0xf0) >> 4;
27957 pi->bw405glpo = (bw40po & 0xf00) >> 8;
27958 pi->bw405ghpo = (bw40po & 0xf000) >> 12;
27960 cddpo = (uint16) PHY_GETINTVAR(pi, "cddpo");
27961 pi->cdd2gpo = cddpo & 0xf;
27962 pi->cdd5gpo = (cddpo & 0xf0) >> 4;
27963 pi->cdd5glpo = (cddpo & 0xf00) >> 8;
27964 pi->cdd5ghpo = (cddpo & 0xf000) >> 12;
27966 stbcpo = (uint16) PHY_GETINTVAR(pi, "stbcpo");
27967 pi->stbc2gpo = stbcpo & 0xf;
27968 pi->stbc5gpo = (stbcpo & 0xf0) >> 4;
27969 pi->stbc5glpo = (stbcpo & 0xf00) >> 8;
27970 pi->stbc5ghpo = (stbcpo & 0xf000) >> 12;
27972 bwduppo = (uint16) PHY_GETINTVAR(pi, "bwduppo");
27973 pi->bwdup2gpo = bwduppo & 0xf;
27974 pi->bwdup5gpo = (bwduppo & 0xf0) >> 4;
27975 pi->bwdup5glpo = (bwduppo & 0xf00) >> 8;
27976 pi->bwdup5ghpo = (bwduppo & 0xf000) >> 12;
27978 for (band_num = 0; band_num < (CH_2G_GROUP + CH_5G_GROUP); band_num++) {
27979 switch (band_num) {
27980 case 0:
27982 pi->nphy_txpid2g[PHY_CORE_0] =
27983 (u8) PHY_GETINTVAR(pi, "txpid2ga0");
27984 pi->nphy_txpid2g[PHY_CORE_1] =
27985 (u8) PHY_GETINTVAR(pi, "txpid2ga1");
27986 pi->nphy_pwrctrl_info[PHY_CORE_0].max_pwr_2g =
27987 (s8) PHY_GETINTVAR(pi, "maxp2ga0");
27988 pi->nphy_pwrctrl_info[PHY_CORE_1].max_pwr_2g =
27989 (s8) PHY_GETINTVAR(pi, "maxp2ga1");
27990 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_2g_a1 =
27991 (int16) PHY_GETINTVAR(pi, "pa2gw0a0");
27992 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_2g_a1 =
27993 (int16) PHY_GETINTVAR(pi, "pa2gw0a1");
27994 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_2g_b0 =
27995 (int16) PHY_GETINTVAR(pi, "pa2gw1a0");
27996 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_2g_b0 =
27997 (int16) PHY_GETINTVAR(pi, "pa2gw1a1");
27998 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_2g_b1 =
27999 (int16) PHY_GETINTVAR(pi, "pa2gw2a0");
28000 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_2g_b1 =
28001 (int16) PHY_GETINTVAR(pi, "pa2gw2a1");
28002 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_targ_2g =
28003 (s8) PHY_GETINTVAR(pi, "itt2ga0");
28004 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_targ_2g =
28005 (s8) PHY_GETINTVAR(pi, "itt2ga1");
28007 pi->cck2gpo = (uint16) PHY_GETINTVAR(pi, "cck2gpo");
28009 pi->ofdm2gpo = (uint32) PHY_GETINTVAR(pi, "ofdm2gpo");
28011 pi->mcs2gpo[0] = (uint16) PHY_GETINTVAR(pi, "mcs2gpo0");
28012 pi->mcs2gpo[1] = (uint16) PHY_GETINTVAR(pi, "mcs2gpo1");
28013 pi->mcs2gpo[2] = (uint16) PHY_GETINTVAR(pi, "mcs2gpo2");
28014 pi->mcs2gpo[3] = (uint16) PHY_GETINTVAR(pi, "mcs2gpo3");
28015 pi->mcs2gpo[4] = (uint16) PHY_GETINTVAR(pi, "mcs2gpo4");
28016 pi->mcs2gpo[5] = (uint16) PHY_GETINTVAR(pi, "mcs2gpo5");
28017 pi->mcs2gpo[6] = (uint16) PHY_GETINTVAR(pi, "mcs2gpo6");
28018 pi->mcs2gpo[7] = (uint16) PHY_GETINTVAR(pi, "mcs2gpo7");
28019 break;
28020 case 1:
28022 pi->nphy_txpid5g[PHY_CORE_0] =
28023 (u8) PHY_GETINTVAR(pi, "txpid5ga0");
28024 pi->nphy_txpid5g[PHY_CORE_1] =
28025 (u8) PHY_GETINTVAR(pi, "txpid5ga1");
28026 pi->nphy_pwrctrl_info[PHY_CORE_0].max_pwr_5gm =
28027 (s8) PHY_GETINTVAR(pi, "maxp5ga0");
28028 pi->nphy_pwrctrl_info[PHY_CORE_1].max_pwr_5gm =
28029 (s8) PHY_GETINTVAR(pi, "maxp5ga1");
28030 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_5gm_a1 =
28031 (int16) PHY_GETINTVAR(pi, "pa5gw0a0");
28032 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_5gm_a1 =
28033 (int16) PHY_GETINTVAR(pi, "pa5gw0a1");
28034 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_5gm_b0 =
28035 (int16) PHY_GETINTVAR(pi, "pa5gw1a0");
28036 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_5gm_b0 =
28037 (int16) PHY_GETINTVAR(pi, "pa5gw1a1");
28038 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_5gm_b1 =
28039 (int16) PHY_GETINTVAR(pi, "pa5gw2a0");
28040 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_5gm_b1 =
28041 (int16) PHY_GETINTVAR(pi, "pa5gw2a1");
28042 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_targ_5gm =
28043 (s8) PHY_GETINTVAR(pi, "itt5ga0");
28044 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_targ_5gm =
28045 (s8) PHY_GETINTVAR(pi, "itt5ga1");
28047 pi->ofdm5gpo = (uint32) PHY_GETINTVAR(pi, "ofdm5gpo");
28049 pi->mcs5gpo[0] = (uint16) PHY_GETINTVAR(pi, "mcs5gpo0");
28050 pi->mcs5gpo[1] = (uint16) PHY_GETINTVAR(pi, "mcs5gpo1");
28051 pi->mcs5gpo[2] = (uint16) PHY_GETINTVAR(pi, "mcs5gpo2");
28052 pi->mcs5gpo[3] = (uint16) PHY_GETINTVAR(pi, "mcs5gpo3");
28053 pi->mcs5gpo[4] = (uint16) PHY_GETINTVAR(pi, "mcs5gpo4");
28054 pi->mcs5gpo[5] = (uint16) PHY_GETINTVAR(pi, "mcs5gpo5");
28055 pi->mcs5gpo[6] = (uint16) PHY_GETINTVAR(pi, "mcs5gpo6");
28056 pi->mcs5gpo[7] = (uint16) PHY_GETINTVAR(pi, "mcs5gpo7");
28057 break;
28058 case 2:
28060 pi->nphy_txpid5gl[0] =
28061 (u8) PHY_GETINTVAR(pi, "txpid5gla0");
28062 pi->nphy_txpid5gl[1] =
28063 (u8) PHY_GETINTVAR(pi, "txpid5gla1");
28064 pi->nphy_pwrctrl_info[0].max_pwr_5gl =
28065 (s8) PHY_GETINTVAR(pi, "maxp5gla0");
28066 pi->nphy_pwrctrl_info[1].max_pwr_5gl =
28067 (s8) PHY_GETINTVAR(pi, "maxp5gla1");
28068 pi->nphy_pwrctrl_info[0].pwrdet_5gl_a1 =
28069 (int16) PHY_GETINTVAR(pi, "pa5glw0a0");
28070 pi->nphy_pwrctrl_info[1].pwrdet_5gl_a1 =
28071 (int16) PHY_GETINTVAR(pi, "pa5glw0a1");
28072 pi->nphy_pwrctrl_info[0].pwrdet_5gl_b0 =
28073 (int16) PHY_GETINTVAR(pi, "pa5glw1a0");
28074 pi->nphy_pwrctrl_info[1].pwrdet_5gl_b0 =
28075 (int16) PHY_GETINTVAR(pi, "pa5glw1a1");
28076 pi->nphy_pwrctrl_info[0].pwrdet_5gl_b1 =
28077 (int16) PHY_GETINTVAR(pi, "pa5glw2a0");
28078 pi->nphy_pwrctrl_info[1].pwrdet_5gl_b1 =
28079 (int16) PHY_GETINTVAR(pi, "pa5glw2a1");
28080 pi->nphy_pwrctrl_info[0].idle_targ_5gl = 0;
28081 pi->nphy_pwrctrl_info[1].idle_targ_5gl = 0;
28083 pi->ofdm5glpo = (uint32) PHY_GETINTVAR(pi, "ofdm5glpo");
28085 pi->mcs5glpo[0] =
28086 (uint16) PHY_GETINTVAR(pi, "mcs5glpo0");
28087 pi->mcs5glpo[1] =
28088 (uint16) PHY_GETINTVAR(pi, "mcs5glpo1");
28089 pi->mcs5glpo[2] =
28090 (uint16) PHY_GETINTVAR(pi, "mcs5glpo2");
28091 pi->mcs5glpo[3] =
28092 (uint16) PHY_GETINTVAR(pi, "mcs5glpo3");
28093 pi->mcs5glpo[4] =
28094 (uint16) PHY_GETINTVAR(pi, "mcs5glpo4");
28095 pi->mcs5glpo[5] =
28096 (uint16) PHY_GETINTVAR(pi, "mcs5glpo5");
28097 pi->mcs5glpo[6] =
28098 (uint16) PHY_GETINTVAR(pi, "mcs5glpo6");
28099 pi->mcs5glpo[7] =
28100 (uint16) PHY_GETINTVAR(pi, "mcs5glpo7");
28101 break;
28102 case 3:
28104 pi->nphy_txpid5gh[0] =
28105 (u8) PHY_GETINTVAR(pi, "txpid5gha0");
28106 pi->nphy_txpid5gh[1] =
28107 (u8) PHY_GETINTVAR(pi, "txpid5gha1");
28108 pi->nphy_pwrctrl_info[0].max_pwr_5gh =
28109 (s8) PHY_GETINTVAR(pi, "maxp5gha0");
28110 pi->nphy_pwrctrl_info[1].max_pwr_5gh =
28111 (s8) PHY_GETINTVAR(pi, "maxp5gha1");
28112 pi->nphy_pwrctrl_info[0].pwrdet_5gh_a1 =
28113 (int16) PHY_GETINTVAR(pi, "pa5ghw0a0");
28114 pi->nphy_pwrctrl_info[1].pwrdet_5gh_a1 =
28115 (int16) PHY_GETINTVAR(pi, "pa5ghw0a1");
28116 pi->nphy_pwrctrl_info[0].pwrdet_5gh_b0 =
28117 (int16) PHY_GETINTVAR(pi, "pa5ghw1a0");
28118 pi->nphy_pwrctrl_info[1].pwrdet_5gh_b0 =
28119 (int16) PHY_GETINTVAR(pi, "pa5ghw1a1");
28120 pi->nphy_pwrctrl_info[0].pwrdet_5gh_b1 =
28121 (int16) PHY_GETINTVAR(pi, "pa5ghw2a0");
28122 pi->nphy_pwrctrl_info[1].pwrdet_5gh_b1 =
28123 (int16) PHY_GETINTVAR(pi, "pa5ghw2a1");
28124 pi->nphy_pwrctrl_info[0].idle_targ_5gh = 0;
28125 pi->nphy_pwrctrl_info[1].idle_targ_5gh = 0;
28127 pi->ofdm5ghpo = (uint32) PHY_GETINTVAR(pi, "ofdm5ghpo");
28129 pi->mcs5ghpo[0] =
28130 (uint16) PHY_GETINTVAR(pi, "mcs5ghpo0");
28131 pi->mcs5ghpo[1] =
28132 (uint16) PHY_GETINTVAR(pi, "mcs5ghpo1");
28133 pi->mcs5ghpo[2] =
28134 (uint16) PHY_GETINTVAR(pi, "mcs5ghpo2");
28135 pi->mcs5ghpo[3] =
28136 (uint16) PHY_GETINTVAR(pi, "mcs5ghpo3");
28137 pi->mcs5ghpo[4] =
28138 (uint16) PHY_GETINTVAR(pi, "mcs5ghpo4");
28139 pi->mcs5ghpo[5] =
28140 (uint16) PHY_GETINTVAR(pi, "mcs5ghpo5");
28141 pi->mcs5ghpo[6] =
28142 (uint16) PHY_GETINTVAR(pi, "mcs5ghpo6");
28143 pi->mcs5ghpo[7] =
28144 (uint16) PHY_GETINTVAR(pi, "mcs5ghpo7");
28145 break;
28149 wlc_phy_txpwr_apply_nphy(pi);
28152 static bool BCMATTACHFN(wlc_phy_txpwr_srom_read_nphy) (phy_info_t *pi)
28155 pi->antswitch = (u8) PHY_GETINTVAR(pi, "antswitch");
28156 pi->aa2g = (u8) PHY_GETINTVAR(pi, "aa2g");
28157 pi->aa5g = (u8) PHY_GETINTVAR(pi, "aa5g");
28159 pi->srom_fem2g.tssipos = (u8) PHY_GETINTVAR(pi, "tssipos2g");
28160 pi->srom_fem2g.extpagain = (u8) PHY_GETINTVAR(pi, "extpagain2g");
28161 pi->srom_fem2g.pdetrange = (u8) PHY_GETINTVAR(pi, "pdetrange2g");
28162 pi->srom_fem2g.triso = (u8) PHY_GETINTVAR(pi, "triso2g");
28163 pi->srom_fem2g.antswctrllut = (u8) PHY_GETINTVAR(pi, "antswctl2g");
28165 pi->srom_fem5g.tssipos = (u8) PHY_GETINTVAR(pi, "tssipos5g");
28166 pi->srom_fem5g.extpagain = (u8) PHY_GETINTVAR(pi, "extpagain5g");
28167 pi->srom_fem5g.pdetrange = (u8) PHY_GETINTVAR(pi, "pdetrange5g");
28168 pi->srom_fem5g.triso = (u8) PHY_GETINTVAR(pi, "triso5g");
28169 if (PHY_GETVAR(pi, "antswctl5g")) {
28171 pi->srom_fem5g.antswctrllut =
28172 (u8) PHY_GETINTVAR(pi, "antswctl5g");
28173 } else {
28175 pi->srom_fem5g.antswctrllut =
28176 (u8) PHY_GETINTVAR(pi, "antswctl2g");
28179 wlc_phy_txpower_ipa_upd(pi);
28181 pi->phy_txcore_disable_temp = (int16) PHY_GETINTVAR(pi, "tempthresh");
28182 if (pi->phy_txcore_disable_temp == 0) {
28183 pi->phy_txcore_disable_temp = PHY_CHAIN_TX_DISABLE_TEMP;
28186 pi->phy_tempsense_offset = (s8) PHY_GETINTVAR(pi, "tempoffset");
28187 if (pi->phy_tempsense_offset != 0) {
28188 if (pi->phy_tempsense_offset >
28189 (NPHY_SROM_TEMPSHIFT + NPHY_SROM_MAXTEMPOFFSET)) {
28190 pi->phy_tempsense_offset = NPHY_SROM_MAXTEMPOFFSET;
28191 } else if (pi->phy_tempsense_offset < (NPHY_SROM_TEMPSHIFT +
28192 NPHY_SROM_MINTEMPOFFSET)) {
28193 pi->phy_tempsense_offset = NPHY_SROM_MINTEMPOFFSET;
28194 } else {
28195 pi->phy_tempsense_offset -= NPHY_SROM_TEMPSHIFT;
28199 pi->phy_txcore_enable_temp =
28200 pi->phy_txcore_disable_temp - PHY_HYSTERESIS_DELTATEMP;
28202 pi->phycal_tempdelta = (u8) PHY_GETINTVAR(pi, "phycal_tempdelta");
28203 if (pi->phycal_tempdelta > NPHY_CAL_MAXTEMPDELTA) {
28204 pi->phycal_tempdelta = 0;
28207 wlc_phy_txpwr_srom_read_ppr_nphy(pi);
28209 return TRUE;
28212 void wlc_phy_txpower_recalc_target_nphy(phy_info_t *pi)
28214 u8 tx_pwr_ctrl_state;
28215 wlc_phy_txpwr_limit_to_tbl_nphy(pi);
28216 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
28218 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
28220 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12)) {
28221 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, MCTL_PHYLOCK);
28222 (void)R_REG(pi->sh->osh, &pi->regs->maccontrol);
28223 OSL_DELAY(1);
28226 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
28228 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12))
28229 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, 0);
28232 static void wlc_phy_txpwrctrl_coeff_setup_nphy(phy_info_t *pi)
28234 uint32 idx;
28235 uint16 iqloCalbuf[7];
28236 uint32 iqcomp, locomp, curr_locomp;
28237 s8 locomp_i, locomp_q;
28238 s8 curr_locomp_i, curr_locomp_q;
28239 uint32 tbl_id, tbl_len, tbl_offset;
28240 uint32 regval[128];
28242 if (pi->phyhang_avoid)
28243 wlc_phy_stay_in_carriersearch_nphy(pi, TRUE);
28245 wlc_phy_table_read_nphy(pi, 15, 7, 80, 16, iqloCalbuf);
28247 tbl_len = 128;
28248 tbl_offset = 320;
28249 for (tbl_id = NPHY_TBL_ID_CORE1TXPWRCTL;
28250 tbl_id <= NPHY_TBL_ID_CORE2TXPWRCTL; tbl_id++) {
28251 iqcomp =
28252 (tbl_id ==
28253 26) ? (((uint32) (iqloCalbuf[0] & 0x3ff)) << 10) |
28254 (iqloCalbuf[1] & 0x3ff)
28255 : (((uint32) (iqloCalbuf[2] & 0x3ff)) << 10) |
28256 (iqloCalbuf[3] & 0x3ff);
28258 for (idx = 0; idx < tbl_len; idx++) {
28259 regval[idx] = iqcomp;
28261 wlc_phy_table_write_nphy(pi, tbl_id, tbl_len, tbl_offset, 32,
28262 regval);
28265 tbl_offset = 448;
28266 for (tbl_id = NPHY_TBL_ID_CORE1TXPWRCTL;
28267 tbl_id <= NPHY_TBL_ID_CORE2TXPWRCTL; tbl_id++) {
28269 locomp =
28270 (uint32) ((tbl_id == 26) ? iqloCalbuf[5] : iqloCalbuf[6]);
28271 locomp_i = (s8) ((locomp >> 8) & 0xff);
28272 locomp_q = (s8) ((locomp) & 0xff);
28273 for (idx = 0; idx < tbl_len; idx++) {
28274 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28275 curr_locomp_i = locomp_i;
28276 curr_locomp_q = locomp_q;
28277 } else {
28278 curr_locomp_i = (s8) ((locomp_i *
28279 nphy_tpc_loscale[idx] +
28280 128) >> 8);
28281 curr_locomp_q =
28282 (s8) ((locomp_q * nphy_tpc_loscale[idx] +
28283 128) >> 8);
28285 curr_locomp = (uint32) ((curr_locomp_i & 0xff) << 8);
28286 curr_locomp |= (uint32) (curr_locomp_q & 0xff);
28287 regval[idx] = curr_locomp;
28289 wlc_phy_table_write_nphy(pi, tbl_id, tbl_len, tbl_offset, 32,
28290 regval);
28293 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
28295 wlapi_bmac_write_shm(pi->sh->physhim, M_CURR_IDX1, 0xFFFF);
28296 wlapi_bmac_write_shm(pi->sh->physhim, M_CURR_IDX2, 0xFFFF);
28299 if (pi->phyhang_avoid)
28300 wlc_phy_stay_in_carriersearch_nphy(pi, FALSE);
28303 static void wlc_phy_ipa_internal_tssi_setup_nphy(phy_info_t *pi)
28305 u8 core;
28307 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28308 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
28309 if (CHSPEC_IS2G(pi->radio_chanspec)) {
28310 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28311 TX_SSI_MASTER, 0x5);
28312 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28313 TX_SSI_MUX, 0xe);
28315 if (pi->pubpi.radiorev != 5)
28316 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
28317 core, TSSIA, 0);
28319 if (!NREV_IS(pi->pubpi.phy_rev, 7)) {
28321 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
28322 core, TSSIG, 0x1);
28323 } else {
28325 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
28326 core, TSSIG, 0x31);
28328 } else {
28329 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28330 TX_SSI_MASTER, 0x9);
28331 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28332 TX_SSI_MUX, 0xc);
28333 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28334 TSSIG, 0);
28336 if (pi->pubpi.radiorev != 5) {
28337 if (!NREV_IS(pi->pubpi.phy_rev, 7)) {
28339 WRITE_RADIO_REG3(pi, RADIO_2057,
28340 TX, core,
28341 TSSIA, 0x1);
28342 } else {
28344 WRITE_RADIO_REG3(pi, RADIO_2057,
28345 TX, core,
28346 TSSIA, 0x31);
28350 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_VCM_HG,
28352 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_IDAC,
28354 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_VCM,
28355 0x3);
28356 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_MISC1,
28357 0x0);
28359 } else {
28360 WRITE_RADIO_SYN(pi, RADIO_2056, RESERVED_ADDR31,
28361 (CHSPEC_IS2G(pi->radio_chanspec)) ? 0x128 :
28362 0x80);
28363 WRITE_RADIO_SYN(pi, RADIO_2056, RESERVED_ADDR30, 0x0);
28364 WRITE_RADIO_SYN(pi, RADIO_2056, GPIO_MASTER1, 0x29);
28366 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
28367 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, IQCAL_VCM_HG,
28368 0x0);
28369 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, IQCAL_IDAC,
28370 0x0);
28371 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_VCM,
28372 0x3);
28373 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TX_AMP_DET,
28374 0x0);
28375 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_MISC1,
28376 0x8);
28377 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_MISC2,
28378 0x0);
28379 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_MISC3,
28380 0x0);
28382 if (CHSPEC_IS2G(pi->radio_chanspec)) {
28383 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28384 TX_SSI_MASTER, 0x5);
28386 if (pi->pubpi.radiorev != 5)
28387 WRITE_RADIO_REG2(pi, RADIO_2056, TX,
28388 core, TSSIA, 0x0);
28389 if (NREV_GE(pi->pubpi.phy_rev, 5)) {
28391 WRITE_RADIO_REG2(pi, RADIO_2056, TX,
28392 core, TSSIG, 0x31);
28393 } else {
28394 WRITE_RADIO_REG2(pi, RADIO_2056, TX,
28395 core, TSSIG, 0x11);
28397 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28398 TX_SSI_MUX, 0xe);
28399 } else {
28400 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28401 TX_SSI_MASTER, 0x9);
28402 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28403 TSSIA, 0x31);
28404 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28405 TSSIG, 0x0);
28406 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28407 TX_SSI_MUX, 0xc);
28413 static void wlc_phy_txpwrctrl_idle_tssi_nphy(phy_info_t *pi)
28415 int32 rssi_buf[4];
28416 int32 int_val;
28418 if (SCAN_RM_IN_PROGRESS(pi) || PLT_INPROG_PHY(pi) || PHY_MUTED(pi))
28420 return;
28422 if (PHY_IPA(pi)) {
28423 wlc_phy_ipa_internal_tssi_setup_nphy(pi);
28426 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28427 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12),
28428 0, 0x3, 0,
28429 NPHY_REV7_RFCTRLOVERRIDE_ID0);
28430 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28431 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 13), 0, 3, 0);
28434 wlc_phy_stopplayback_nphy(pi);
28436 wlc_phy_tx_tone_nphy(pi, 4000, 0, 0, 0, FALSE);
28438 OSL_DELAY(20);
28439 int_val =
28440 wlc_phy_poll_rssi_nphy(pi, (u8) NPHY_RSSI_SEL_TSSI_2G, rssi_buf,
28442 wlc_phy_stopplayback_nphy(pi);
28443 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_OFF, 0);
28445 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28446 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12),
28447 0, 0x3, 1,
28448 NPHY_REV7_RFCTRLOVERRIDE_ID0);
28449 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28450 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 13), 0, 3, 1);
28453 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28455 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_2g =
28456 (u8) ((int_val >> 24) & 0xff);
28457 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_5g =
28458 (u8) ((int_val >> 24) & 0xff);
28460 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_2g =
28461 (u8) ((int_val >> 8) & 0xff);
28462 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_5g =
28463 (u8) ((int_val >> 8) & 0xff);
28464 } else {
28465 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_2g =
28466 (u8) ((int_val >> 24) & 0xff);
28468 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_2g =
28469 (u8) ((int_val >> 8) & 0xff);
28471 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_5g =
28472 (u8) ((int_val >> 16) & 0xff);
28473 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_5g =
28474 (u8) ((int_val) & 0xff);
28479 static void wlc_phy_txpwrctrl_pwr_setup_nphy(phy_info_t *pi)
28481 uint32 idx;
28482 int16 a1[2], b0[2], b1[2];
28483 s8 target_pwr_qtrdbm[2];
28484 int32 num, den, pwr_est;
28485 u8 chan_freq_range;
28486 u8 idle_tssi[2];
28487 uint32 tbl_id, tbl_len, tbl_offset;
28488 uint32 regval[64];
28489 u8 core;
28491 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12)) {
28492 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, MCTL_PHYLOCK);
28493 (void)R_REG(pi->sh->osh, &pi->regs->maccontrol);
28494 OSL_DELAY(1);
28497 if (pi->phyhang_avoid)
28498 wlc_phy_stay_in_carriersearch_nphy(pi, TRUE);
28500 or_phy_reg(pi, 0x122, (0x1 << 0));
28502 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28503 and_phy_reg(pi, 0x1e7, (uint16) (~(0x1 << 15)));
28504 } else {
28506 or_phy_reg(pi, 0x1e7, (0x1 << 15));
28509 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12))
28510 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, 0);
28512 if (pi->sh->sromrev < 4) {
28513 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_2g;
28514 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_2g;
28515 target_pwr_qtrdbm[0] = 13 * 4;
28516 target_pwr_qtrdbm[1] = 13 * 4;
28517 a1[0] = -424;
28518 a1[1] = -424;
28519 b0[0] = 5612;
28520 b0[1] = 5612;
28521 b1[1] = -1393;
28522 b1[0] = -1393;
28523 } else {
28525 chan_freq_range = wlc_phy_get_chan_freq_range_nphy(pi, 0);
28526 switch (chan_freq_range) {
28527 case WL_CHAN_FREQ_RANGE_2G:
28528 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_2g;
28529 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_2g;
28530 target_pwr_qtrdbm[0] =
28531 pi->nphy_pwrctrl_info[0].max_pwr_2g;
28532 target_pwr_qtrdbm[1] =
28533 pi->nphy_pwrctrl_info[1].max_pwr_2g;
28534 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_2g_a1;
28535 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_2g_a1;
28536 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_2g_b0;
28537 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_2g_b0;
28538 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_2g_b1;
28539 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_2g_b1;
28540 break;
28541 case WL_CHAN_FREQ_RANGE_5GL:
28542 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_5g;
28543 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_5g;
28544 target_pwr_qtrdbm[0] =
28545 pi->nphy_pwrctrl_info[0].max_pwr_5gl;
28546 target_pwr_qtrdbm[1] =
28547 pi->nphy_pwrctrl_info[1].max_pwr_5gl;
28548 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gl_a1;
28549 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gl_a1;
28550 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gl_b0;
28551 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gl_b0;
28552 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gl_b1;
28553 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gl_b1;
28554 break;
28555 case WL_CHAN_FREQ_RANGE_5GM:
28556 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_5g;
28557 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_5g;
28558 target_pwr_qtrdbm[0] =
28559 pi->nphy_pwrctrl_info[0].max_pwr_5gm;
28560 target_pwr_qtrdbm[1] =
28561 pi->nphy_pwrctrl_info[1].max_pwr_5gm;
28562 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gm_a1;
28563 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gm_a1;
28564 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gm_b0;
28565 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gm_b0;
28566 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gm_b1;
28567 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gm_b1;
28568 break;
28569 case WL_CHAN_FREQ_RANGE_5GH:
28570 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_5g;
28571 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_5g;
28572 target_pwr_qtrdbm[0] =
28573 pi->nphy_pwrctrl_info[0].max_pwr_5gh;
28574 target_pwr_qtrdbm[1] =
28575 pi->nphy_pwrctrl_info[1].max_pwr_5gh;
28576 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gh_a1;
28577 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gh_a1;
28578 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gh_b0;
28579 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gh_b0;
28580 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gh_b1;
28581 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gh_b1;
28582 break;
28583 default:
28584 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_2g;
28585 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_2g;
28586 target_pwr_qtrdbm[0] = 13 * 4;
28587 target_pwr_qtrdbm[1] = 13 * 4;
28588 a1[0] = -424;
28589 a1[1] = -424;
28590 b0[0] = 5612;
28591 b0[1] = 5612;
28592 b1[1] = -1393;
28593 b1[0] = -1393;
28594 break;
28598 target_pwr_qtrdbm[0] = (s8) pi->tx_power_max;
28599 target_pwr_qtrdbm[1] = (s8) pi->tx_power_max;
28601 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28602 if (pi->srom_fem2g.tssipos) {
28603 or_phy_reg(pi, 0x1e9, (0x1 << 14));
28606 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28607 for (core = 0; core <= 1; core++) {
28608 if (PHY_IPA(pi)) {
28610 if (CHSPEC_IS2G(pi->radio_chanspec)) {
28611 WRITE_RADIO_REG3(pi, RADIO_2057,
28612 TX, core,
28613 TX_SSI_MUX,
28614 0xe);
28615 } else {
28616 WRITE_RADIO_REG3(pi, RADIO_2057,
28617 TX, core,
28618 TX_SSI_MUX,
28619 0xc);
28621 } else {
28624 } else {
28625 if (PHY_IPA(pi)) {
28627 write_radio_reg(pi, RADIO_2056_TX_TX_SSI_MUX |
28628 RADIO_2056_TX0,
28629 (CHSPEC_IS5G
28630 (pi->
28631 radio_chanspec)) ? 0xc : 0xe);
28632 write_radio_reg(pi,
28633 RADIO_2056_TX_TX_SSI_MUX |
28634 RADIO_2056_TX1,
28635 (CHSPEC_IS5G
28636 (pi->
28637 radio_chanspec)) ? 0xc : 0xe);
28638 } else {
28640 write_radio_reg(pi, RADIO_2056_TX_TX_SSI_MUX |
28641 RADIO_2056_TX0, 0x11);
28642 write_radio_reg(pi, RADIO_2056_TX_TX_SSI_MUX |
28643 RADIO_2056_TX1, 0x11);
28648 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12)) {
28649 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, MCTL_PHYLOCK);
28650 (void)R_REG(pi->sh->osh, &pi->regs->maccontrol);
28651 OSL_DELAY(1);
28654 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28655 mod_phy_reg(pi, 0x1e7, (0x7f << 0),
28656 (NPHY_TxPwrCtrlCmd_pwrIndex_init_rev7 << 0));
28657 } else {
28658 mod_phy_reg(pi, 0x1e7, (0x7f << 0),
28659 (NPHY_TxPwrCtrlCmd_pwrIndex_init << 0));
28662 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28663 mod_phy_reg(pi, 0x222, (0xff << 0),
28664 (NPHY_TxPwrCtrlCmd_pwrIndex_init_rev7 << 0));
28665 } else if (NREV_GT(pi->pubpi.phy_rev, 1)) {
28666 mod_phy_reg(pi, 0x222, (0xff << 0),
28667 (NPHY_TxPwrCtrlCmd_pwrIndex_init << 0));
28670 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12))
28671 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, 0);
28673 write_phy_reg(pi, 0x1e8, (0x3 << 8) | (240 << 0));
28675 write_phy_reg(pi, 0x1e9,
28676 (1 << 15) | (idle_tssi[0] << 0) | (idle_tssi[1] << 8));
28678 write_phy_reg(pi, 0x1ea,
28679 (target_pwr_qtrdbm[0] << 0) |
28680 (target_pwr_qtrdbm[1] << 8));
28682 tbl_len = 64;
28683 tbl_offset = 0;
28684 for (tbl_id = NPHY_TBL_ID_CORE1TXPWRCTL;
28685 tbl_id <= NPHY_TBL_ID_CORE2TXPWRCTL; tbl_id++) {
28687 for (idx = 0; idx < tbl_len; idx++) {
28688 num =
28689 8 * (16 * b0[tbl_id - 26] + b1[tbl_id - 26] * idx);
28690 den = 32768 + a1[tbl_id - 26] * idx;
28691 pwr_est = MAX(((4 * num + den / 2) / den), -8);
28692 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
28693 if (idx <=
28694 (uint) (31 - idle_tssi[tbl_id - 26] + 1))
28695 pwr_est =
28696 MAX(pwr_est,
28697 target_pwr_qtrdbm[tbl_id - 26] +
28700 regval[idx] = (uint32) pwr_est;
28702 wlc_phy_table_write_nphy(pi, tbl_id, tbl_len, tbl_offset, 32,
28703 regval);
28706 wlc_phy_txpwr_limit_to_tbl_nphy(pi);
28707 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 84, 64, 8,
28708 pi->adj_pwr_tbl_nphy);
28709 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 84, 64, 8,
28710 pi->adj_pwr_tbl_nphy);
28712 if (pi->phyhang_avoid)
28713 wlc_phy_stay_in_carriersearch_nphy(pi, FALSE);
28716 static bool wlc_phy_txpwr_ison_nphy(phy_info_t *pi)
28718 return read_phy_reg((pi), 0x1e7) & ((0x1 << 15) |
28719 (0x1 << 14) | (0x1 << 13));
28722 static u8 wlc_phy_txpwr_idx_cur_get_nphy(phy_info_t *pi, u8 core)
28724 uint16 tmp;
28725 tmp = read_phy_reg(pi, ((core == PHY_CORE_0) ? 0x1ed : 0x1ee));
28727 tmp = (tmp & (0x7f << 8)) >> 8;
28728 return (u8) tmp;
28731 static void
28732 wlc_phy_txpwr_idx_cur_set_nphy(phy_info_t *pi, u8 idx0, u8 idx1)
28734 mod_phy_reg(pi, 0x1e7, (0x7f << 0), idx0);
28736 if (NREV_GT(pi->pubpi.phy_rev, 1))
28737 mod_phy_reg(pi, 0x222, (0xff << 0), idx1);
28740 uint16 wlc_phy_txpwr_idx_get_nphy(phy_info_t *pi)
28742 uint16 tmp;
28743 uint16 pwr_idx[2];
28745 if (wlc_phy_txpwr_ison_nphy(pi)) {
28746 pwr_idx[0] = wlc_phy_txpwr_idx_cur_get_nphy(pi, PHY_CORE_0);
28747 pwr_idx[1] = wlc_phy_txpwr_idx_cur_get_nphy(pi, PHY_CORE_1);
28749 tmp = (pwr_idx[0] << 8) | pwr_idx[1];
28750 } else {
28751 tmp =
28752 ((pi->nphy_txpwrindex[PHY_CORE_0].
28753 index_internal & 0xff) << 8) | (pi->
28754 nphy_txpwrindex
28755 [PHY_CORE_1].
28756 index_internal & 0xff);
28759 return tmp;
28762 void wlc_phy_txpwr_papd_cal_nphy(phy_info_t *pi)
28764 if (PHY_IPA(pi)
28765 && (pi->nphy_force_papd_cal
28766 || (wlc_phy_txpwr_ison_nphy(pi)
28768 (((uint32)
28769 ABS(wlc_phy_txpwr_idx_cur_get_nphy(pi, 0) -
28770 pi->nphy_papd_tx_gain_at_last_cal[0]) >= 4)
28771 || ((uint32)
28772 ABS(wlc_phy_txpwr_idx_cur_get_nphy(pi, 1) -
28773 pi->nphy_papd_tx_gain_at_last_cal[1]) >= 4))))) {
28774 wlc_phy_a4(pi, TRUE);
28778 void wlc_phy_txpwrctrl_enable_nphy(phy_info_t *pi, u8 ctrl_type)
28780 uint16 mask = 0, val = 0, ishw = 0;
28781 u8 ctr;
28782 uint core;
28783 uint32 tbl_offset;
28784 uint32 tbl_len;
28785 uint16 regval[84];
28787 if (pi->phyhang_avoid)
28788 wlc_phy_stay_in_carriersearch_nphy(pi, TRUE);
28790 switch (ctrl_type) {
28791 case PHY_TPC_HW_OFF:
28792 case PHY_TPC_HW_ON:
28793 pi->nphy_txpwrctrl = ctrl_type;
28794 break;
28795 default:
28796 break;
28799 if (ctrl_type == PHY_TPC_HW_OFF) {
28800 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28802 if (wlc_phy_txpwr_ison_nphy(pi)) {
28803 for (core = 0; core < pi->pubpi.phy_corenum;
28804 core++)
28805 pi->nphy_txpwr_idx[core] =
28806 wlc_phy_txpwr_idx_cur_get_nphy(pi,
28807 (u8)
28808 core);
28813 tbl_len = 84;
28814 tbl_offset = 64;
28815 for (ctr = 0; ctr < tbl_len; ctr++) {
28816 regval[ctr] = 0;
28818 wlc_phy_table_write_nphy(pi, 26, tbl_len, tbl_offset, 16,
28819 regval);
28820 wlc_phy_table_write_nphy(pi, 27, tbl_len, tbl_offset, 16,
28821 regval);
28823 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28825 and_phy_reg(pi, 0x1e7,
28826 (uint16) (~((0x1 << 15) |
28827 (0x1 << 14) | (0x1 << 13))));
28828 } else {
28829 and_phy_reg(pi, 0x1e7,
28830 (uint16) (~((0x1 << 14) | (0x1 << 13))));
28833 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28834 or_phy_reg(pi, 0x8f, (0x1 << 8));
28835 or_phy_reg(pi, 0xa5, (0x1 << 8));
28836 } else {
28837 or_phy_reg(pi, 0xa5, (0x1 << 14));
28840 if (NREV_IS(pi->pubpi.phy_rev, 2))
28841 mod_phy_reg(pi, 0xdc, 0x00ff, 0x53);
28842 else if (NREV_LT(pi->pubpi.phy_rev, 2))
28843 mod_phy_reg(pi, 0xdc, 0x00ff, 0x5a);
28845 if (NREV_LT(pi->pubpi.phy_rev, 2) && IS40MHZ(pi))
28846 wlapi_bmac_mhf(pi->sh->physhim, MHF1, MHF1_IQSWAP_WAR,
28847 MHF1_IQSWAP_WAR, WLC_BAND_ALL);
28849 } else {
28851 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 84, 64,
28852 8, pi->adj_pwr_tbl_nphy);
28853 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 84, 64,
28854 8, pi->adj_pwr_tbl_nphy);
28856 ishw = (ctrl_type == PHY_TPC_HW_ON) ? 0x1 : 0x0;
28857 mask = (0x1 << 14) | (0x1 << 13);
28858 val = (ishw << 14) | (ishw << 13);
28860 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28861 mask |= (0x1 << 15);
28862 val |= (ishw << 15);
28865 mod_phy_reg(pi, 0x1e7, mask, val);
28867 if (CHSPEC_IS5G(pi->radio_chanspec)) {
28868 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28869 mod_phy_reg(pi, 0x1e7, (0x7f << 0), 0x32);
28870 mod_phy_reg(pi, 0x222, (0xff << 0), 0x32);
28871 } else {
28872 mod_phy_reg(pi, 0x1e7, (0x7f << 0), 0x64);
28873 if (NREV_GT(pi->pubpi.phy_rev, 1))
28874 mod_phy_reg(pi, 0x222,
28875 (0xff << 0), 0x64);
28879 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28880 if ((pi->nphy_txpwr_idx[0] != 128)
28881 && (pi->nphy_txpwr_idx[1] != 128)) {
28882 wlc_phy_txpwr_idx_cur_set_nphy(pi,
28883 pi->
28884 nphy_txpwr_idx
28885 [0],
28886 pi->
28887 nphy_txpwr_idx
28888 [1]);
28892 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28893 and_phy_reg(pi, 0x8f, ~(0x1 << 8));
28894 and_phy_reg(pi, 0xa5, ~(0x1 << 8));
28895 } else {
28896 and_phy_reg(pi, 0xa5, ~(0x1 << 14));
28899 if (NREV_IS(pi->pubpi.phy_rev, 2))
28900 mod_phy_reg(pi, 0xdc, 0x00ff, 0x3b);
28901 else if (NREV_LT(pi->pubpi.phy_rev, 2))
28902 mod_phy_reg(pi, 0xdc, 0x00ff, 0x40);
28904 if (NREV_LT(pi->pubpi.phy_rev, 2) && IS40MHZ(pi))
28905 wlapi_bmac_mhf(pi->sh->physhim, MHF1, MHF1_IQSWAP_WAR,
28906 0x0, WLC_BAND_ALL);
28908 if (PHY_IPA(pi)) {
28909 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
28910 0x29b, (0x1 << 2), (0) << 2);
28912 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
28913 0x29b, (0x1 << 2), (0) << 2);
28919 if (pi->phyhang_avoid)
28920 wlc_phy_stay_in_carriersearch_nphy(pi, FALSE);
28923 void
28924 wlc_phy_txpwr_index_nphy(phy_info_t *pi, u8 core_mask, s8 txpwrindex,
28925 bool restore_cals)
28927 u8 core, txpwrctl_tbl;
28928 uint16 tx_ind0, iq_ind0, lo_ind0;
28929 uint16 m1m2;
28930 uint32 txgain;
28931 uint16 rad_gain, dac_gain;
28932 u8 bbmult;
28933 uint32 iqcomp;
28934 uint16 iqcomp_a, iqcomp_b;
28935 uint32 locomp;
28936 uint16 tmpval;
28937 u8 tx_pwr_ctrl_state;
28938 int32 rfpwr_offset;
28939 uint16 regval[2];
28941 if (pi->phyhang_avoid)
28942 wlc_phy_stay_in_carriersearch_nphy(pi, TRUE);
28944 tx_ind0 = 192;
28945 iq_ind0 = 320;
28946 lo_ind0 = 448;
28948 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
28950 if ((core_mask & (1 << core)) == 0) {
28951 continue;
28954 txpwrctl_tbl = (core == PHY_CORE_0) ? 26 : 27;
28956 if (txpwrindex < 0) {
28957 if (pi->nphy_txpwrindex[core].index < 0) {
28959 continue;
28962 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28963 mod_phy_reg(pi, 0x8f,
28964 (0x1 << 8),
28965 pi->nphy_txpwrindex[core].
28966 AfectrlOverride);
28967 mod_phy_reg(pi, 0xa5, (0x1 << 8),
28968 pi->nphy_txpwrindex[core].
28969 AfectrlOverride);
28970 } else {
28971 mod_phy_reg(pi, 0xa5,
28972 (0x1 << 14),
28973 pi->nphy_txpwrindex[core].
28974 AfectrlOverride);
28977 write_phy_reg(pi, (core == PHY_CORE_0) ?
28978 0xaa : 0xab,
28979 pi->nphy_txpwrindex[core].AfeCtrlDacGain);
28981 wlc_phy_table_write_nphy(pi, 7, 1, (0x110 + core), 16,
28982 &pi->nphy_txpwrindex[core].
28983 rad_gain);
28985 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m1m2);
28986 m1m2 &= ((core == PHY_CORE_0) ? 0x00ff : 0xff00);
28987 m1m2 |= ((core == PHY_CORE_0) ?
28988 (pi->nphy_txpwrindex[core].bbmult << 8) :
28989 (pi->nphy_txpwrindex[core].bbmult << 0));
28990 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m1m2);
28992 if (restore_cals) {
28994 wlc_phy_table_write_nphy(pi, 15, 2,
28995 (80 + 2 * core), 16,
28996 (void *)&pi->
28997 nphy_txpwrindex[core].
28998 iqcomp_a);
29000 wlc_phy_table_write_nphy(pi, 15, 1, (85 + core),
29002 &pi->
29003 nphy_txpwrindex[core].
29004 locomp);
29005 wlc_phy_table_write_nphy(pi, 15, 1, (93 + core),
29007 (void *)&pi->
29008 nphy_txpwrindex[core].
29009 locomp);
29012 wlc_phy_txpwrctrl_enable_nphy(pi, pi->nphy_txpwrctrl);
29014 pi->nphy_txpwrindex[core].index_internal =
29015 pi->nphy_txpwrindex[core].index_internal_save;
29016 } else {
29018 if (pi->nphy_txpwrindex[core].index < 0) {
29020 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
29021 mod_phy_reg(pi, 0x8f,
29022 (0x1 << 8),
29023 pi->nphy_txpwrindex[core].
29024 AfectrlOverride);
29025 mod_phy_reg(pi, 0xa5, (0x1 << 8),
29026 pi->nphy_txpwrindex[core].
29027 AfectrlOverride);
29028 } else {
29029 pi->nphy_txpwrindex[core].
29030 AfectrlOverride =
29031 read_phy_reg(pi, 0xa5);
29034 pi->nphy_txpwrindex[core].AfeCtrlDacGain =
29035 read_phy_reg(pi,
29036 (core ==
29037 PHY_CORE_0) ? 0xaa : 0xab);
29039 wlc_phy_table_read_nphy(pi, 7, 1,
29040 (0x110 + core), 16,
29041 &pi->
29042 nphy_txpwrindex[core].
29043 rad_gain);
29045 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16,
29046 &tmpval);
29047 tmpval >>= ((core == PHY_CORE_0) ? 8 : 0);
29048 tmpval &= 0xff;
29049 pi->nphy_txpwrindex[core].bbmult =
29050 (u8) tmpval;
29052 wlc_phy_table_read_nphy(pi, 15, 2,
29053 (80 + 2 * core), 16,
29054 (void *)&pi->
29055 nphy_txpwrindex[core].
29056 iqcomp_a);
29058 wlc_phy_table_read_nphy(pi, 15, 1, (85 + core),
29060 (void *)&pi->
29061 nphy_txpwrindex[core].
29062 locomp);
29064 pi->nphy_txpwrindex[core].index_internal_save =
29065 pi->nphy_txpwrindex[core].index_internal;
29068 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
29069 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
29071 if (NREV_IS(pi->pubpi.phy_rev, 1))
29072 wlapi_bmac_phyclk_fgc(pi->sh->physhim, ON);
29074 wlc_phy_table_read_nphy(pi, txpwrctl_tbl, 1,
29075 (tx_ind0 + txpwrindex), 32,
29076 &txgain);
29078 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
29079 rad_gain =
29080 (txgain >> 16) & ((1 << (32 - 16 + 1)) - 1);
29081 } else {
29082 rad_gain =
29083 (txgain >> 16) & ((1 << (28 - 16 + 1)) - 1);
29085 dac_gain = (txgain >> 8) & ((1 << (13 - 8 + 1)) - 1);
29086 bbmult = (txgain >> 0) & ((1 << (7 - 0 + 1)) - 1);
29088 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
29089 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
29090 0xa5), (0x1 << 8), (0x1 << 8));
29091 } else {
29092 mod_phy_reg(pi, 0xa5, (0x1 << 14), (0x1 << 14));
29094 write_phy_reg(pi, (core == PHY_CORE_0) ?
29095 0xaa : 0xab, dac_gain);
29097 wlc_phy_table_write_nphy(pi, 7, 1, (0x110 + core), 16,
29098 &rad_gain);
29100 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m1m2);
29101 m1m2 &= ((core == PHY_CORE_0) ? 0x00ff : 0xff00);
29102 m1m2 |=
29103 ((core ==
29104 PHY_CORE_0) ? (bbmult << 8) : (bbmult << 0));
29106 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m1m2);
29108 wlc_phy_table_read_nphy(pi, txpwrctl_tbl, 1,
29109 (iq_ind0 + txpwrindex), 32,
29110 &iqcomp);
29111 iqcomp_a = (iqcomp >> 10) & ((1 << (19 - 10 + 1)) - 1);
29112 iqcomp_b = (iqcomp >> 0) & ((1 << (9 - 0 + 1)) - 1);
29114 if (restore_cals) {
29115 regval[0] = (uint16) iqcomp_a;
29116 regval[1] = (uint16) iqcomp_b;
29117 wlc_phy_table_write_nphy(pi, 15, 2,
29118 (80 + 2 * core), 16,
29119 regval);
29122 wlc_phy_table_read_nphy(pi, txpwrctl_tbl, 1,
29123 (lo_ind0 + txpwrindex), 32,
29124 &locomp);
29125 if (restore_cals) {
29126 wlc_phy_table_write_nphy(pi, 15, 1, (85 + core),
29127 16, &locomp);
29130 if (NREV_IS(pi->pubpi.phy_rev, 1))
29131 wlapi_bmac_phyclk_fgc(pi->sh->physhim, OFF);
29133 if (PHY_IPA(pi)) {
29134 wlc_phy_table_read_nphy(pi,
29135 (core ==
29136 PHY_CORE_0 ?
29137 NPHY_TBL_ID_CORE1TXPWRCTL
29139 NPHY_TBL_ID_CORE2TXPWRCTL),
29140 1, 576 + txpwrindex, 32,
29141 &rfpwr_offset);
29143 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
29144 0x29b, (0x1ff << 4),
29145 ((int16) rfpwr_offset) << 4);
29147 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
29148 0x29b, (0x1 << 2), (1) << 2);
29152 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
29155 pi->nphy_txpwrindex[core].index = txpwrindex;
29158 if (pi->phyhang_avoid)
29159 wlc_phy_stay_in_carriersearch_nphy(pi, FALSE);
29162 void
29163 wlc_phy_txpower_sromlimit_get_nphy(phy_info_t *pi, uint chan, u8 *max_pwr,
29164 u8 txp_rate_idx)
29166 u8 chan_freq_range;
29168 chan_freq_range = wlc_phy_get_chan_freq_range_nphy(pi, chan);
29169 switch (chan_freq_range) {
29170 case WL_CHAN_FREQ_RANGE_2G:
29171 *max_pwr = pi->tx_srom_max_rate_2g[txp_rate_idx];
29172 break;
29173 case WL_CHAN_FREQ_RANGE_5GM:
29174 *max_pwr = pi->tx_srom_max_rate_5g_mid[txp_rate_idx];
29175 break;
29176 case WL_CHAN_FREQ_RANGE_5GL:
29177 *max_pwr = pi->tx_srom_max_rate_5g_low[txp_rate_idx];
29178 break;
29179 case WL_CHAN_FREQ_RANGE_5GH:
29180 *max_pwr = pi->tx_srom_max_rate_5g_hi[txp_rate_idx];
29181 break;
29182 default:
29183 ASSERT(0);
29184 *max_pwr = pi->tx_srom_max_rate_2g[txp_rate_idx];
29185 break;
29188 return;
29191 void wlc_phy_stay_in_carriersearch_nphy(phy_info_t *pi, bool enable)
29193 uint16 clip_off[] = { 0xffff, 0xffff };
29195 ASSERT(0 == (R_REG(pi->sh->osh, &pi->regs->maccontrol) & MCTL_EN_MAC));
29197 if (enable) {
29198 if (pi->nphy_deaf_count == 0) {
29199 pi->classifier_state =
29200 wlc_phy_classifier_nphy(pi, 0, 0);
29201 wlc_phy_classifier_nphy(pi, (0x7 << 0), 4);
29202 wlc_phy_clip_det_nphy(pi, 0, pi->clip_state);
29203 wlc_phy_clip_det_nphy(pi, 1, clip_off);
29206 pi->nphy_deaf_count++;
29208 wlc_phy_resetcca_nphy(pi);
29210 } else {
29211 ASSERT(pi->nphy_deaf_count > 0);
29213 pi->nphy_deaf_count--;
29215 if (pi->nphy_deaf_count == 0) {
29216 wlc_phy_classifier_nphy(pi, (0x7 << 0),
29217 pi->classifier_state);
29218 wlc_phy_clip_det_nphy(pi, 1, pi->clip_state);
29223 void wlc_nphy_deaf_mode(phy_info_t *pi, bool mode)
29225 wlapi_suspend_mac_and_wait(pi->sh->physhim);
29227 if (mode) {
29228 if (pi->nphy_deaf_count == 0)
29229 wlc_phy_stay_in_carriersearch_nphy(pi, TRUE);
29230 } else {
29231 if (pi->nphy_deaf_count > 0)
29232 wlc_phy_stay_in_carriersearch_nphy(pi, FALSE);
29234 wlapi_enable_mac(pi->sh->physhim);