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 <linux/kernel.h>
18 #include <linux/delay.h>
19 #include <linux/cordic.h>
21 #include <brcm_hw_ids.h>
23 #include <chipcommon.h>
29 #include "phy_radio.h"
33 #define READ_RADIO_REG2(pi, radio_type, jspace, core, reg_name) \
34 read_radio_reg(pi, radio_type##_##jspace##_##reg_name | \
35 ((core == PHY_CORE_0) ? \
36 radio_type##_##jspace##0 : \
37 radio_type##_##jspace##1))
39 #define WRITE_RADIO_REG2(pi, radio_type, jspace, core, reg_name, value) \
40 write_radio_reg(pi, radio_type##_##jspace##_##reg_name | \
41 ((core == PHY_CORE_0) ? \
42 radio_type##_##jspace##0 : \
43 radio_type##_##jspace##1), value)
45 #define WRITE_RADIO_SYN(pi, radio_type, reg_name, value) \
46 write_radio_reg(pi, radio_type##_##SYN##_##reg_name, value)
48 #define READ_RADIO_REG3(pi, radio_type, jspace, core, reg_name) \
49 read_radio_reg(pi, ((core == PHY_CORE_0) ? \
50 radio_type##_##jspace##0##_##reg_name : \
51 radio_type##_##jspace##1##_##reg_name))
53 #define WRITE_RADIO_REG3(pi, radio_type, jspace, core, reg_name, value) \
54 write_radio_reg(pi, ((core == PHY_CORE_0) ? \
55 radio_type##_##jspace##0##_##reg_name : \
56 radio_type##_##jspace##1##_##reg_name), \
59 #define READ_RADIO_REG4(pi, radio_type, jspace, core, reg_name) \
60 read_radio_reg(pi, ((core == PHY_CORE_0) ? \
61 radio_type##_##reg_name##_##jspace##0 : \
62 radio_type##_##reg_name##_##jspace##1))
64 #define WRITE_RADIO_REG4(pi, radio_type, jspace, core, reg_name, value) \
65 write_radio_reg(pi, ((core == PHY_CORE_0) ? \
66 radio_type##_##reg_name##_##jspace##0 : \
67 radio_type##_##reg_name##_##jspace##1), \
70 #define NPHY_ACI_MAX_UNDETECT_WINDOW_SZ 40
71 #define NPHY_ACI_CHANNEL_DELTA 5
72 #define NPHY_ACI_CHANNEL_SKIP 4
73 #define NPHY_ACI_40MHZ_CHANNEL_DELTA 6
74 #define NPHY_ACI_40MHZ_CHANNEL_SKIP 5
75 #define NPHY_ACI_40MHZ_CHANNEL_DELTA_GE_REV3 6
76 #define NPHY_ACI_40MHZ_CHANNEL_SKIP_GE_REV3 5
77 #define NPHY_ACI_CHANNEL_DELTA_GE_REV3 4
78 #define NPHY_ACI_CHANNEL_SKIP_GE_REV3 3
80 #define NPHY_NOISE_NOASSOC_GLITCH_TH_UP 2
82 #define NPHY_NOISE_NOASSOC_GLITCH_TH_DN 8
84 #define NPHY_NOISE_ASSOC_GLITCH_TH_UP 2
86 #define NPHY_NOISE_ASSOC_GLITCH_TH_DN 8
88 #define NPHY_NOISE_ASSOC_ACI_GLITCH_TH_UP 2
90 #define NPHY_NOISE_ASSOC_ACI_GLITCH_TH_DN 8
92 #define NPHY_NOISE_NOASSOC_ENTER_TH 400
94 #define NPHY_NOISE_ASSOC_ENTER_TH 400
96 #define NPHY_NOISE_ASSOC_RX_GLITCH_BADPLCP_ENTER_TH 400
98 #define NPHY_NOISE_CRSMINPWR_ARRAY_MAX_INDEX 44
99 #define NPHY_NOISE_CRSMINPWR_ARRAY_MAX_INDEX_REV_7 56
101 #define NPHY_NOISE_NOASSOC_CRSIDX_INCR 16
103 #define NPHY_NOISE_ASSOC_CRSIDX_INCR 8
105 #define NPHY_IS_SROM_REINTERPRET NREV_GE(pi->pubpi.phy_rev, 5)
107 #define NPHY_RSSICAL_MAXREAD 31
109 #define NPHY_RSSICAL_NPOLL 8
110 #define NPHY_RSSICAL_MAXD (1<<20)
111 #define NPHY_MIN_RXIQ_PWR 2
113 #define NPHY_RSSICAL_W1_TARGET 25
114 #define NPHY_RSSICAL_W2_TARGET NPHY_RSSICAL_W1_TARGET
115 #define NPHY_RSSICAL_NB_TARGET 0
117 #define NPHY_RSSICAL_W1_TARGET_REV3 29
118 #define NPHY_RSSICAL_W2_TARGET_REV3 NPHY_RSSICAL_W1_TARGET_REV3
120 #define NPHY_CALSANITY_RSSI_NB_MAX_POS 9
121 #define NPHY_CALSANITY_RSSI_NB_MAX_NEG -9
122 #define NPHY_CALSANITY_RSSI_W1_MAX_POS 12
123 #define NPHY_CALSANITY_RSSI_W1_MAX_NEG (NPHY_RSSICAL_W1_TARGET - \
124 NPHY_RSSICAL_MAXREAD)
125 #define NPHY_CALSANITY_RSSI_W2_MAX_POS NPHY_CALSANITY_RSSI_W1_MAX_POS
126 #define NPHY_CALSANITY_RSSI_W2_MAX_NEG (NPHY_RSSICAL_W2_TARGET - \
127 NPHY_RSSICAL_MAXREAD)
128 #define NPHY_RSSI_SXT(x) ((s8) (-((x) & 0x20) + ((x) & 0x1f)))
129 #define NPHY_RSSI_NB_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_NB_MAX_POS) || \
130 ((x) < NPHY_CALSANITY_RSSI_NB_MAX_NEG))
131 #define NPHY_RSSI_W1_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_W1_MAX_POS) || \
132 ((x) < NPHY_CALSANITY_RSSI_W1_MAX_NEG))
133 #define NPHY_RSSI_W2_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_W2_MAX_POS) || \
134 ((x) < NPHY_CALSANITY_RSSI_W2_MAX_NEG))
136 #define NPHY_IQCAL_NUMGAINS 9
137 #define NPHY_N_GCTL 0x66
139 #define NPHY_PAPD_EPS_TBL_SIZE 64
140 #define NPHY_PAPD_SCL_TBL_SIZE 64
141 #define NPHY_NUM_DIG_FILT_COEFFS 15
143 #define NPHY_PAPD_COMP_OFF 0
144 #define NPHY_PAPD_COMP_ON 1
146 #define NPHY_SROM_TEMPSHIFT 32
147 #define NPHY_SROM_MAXTEMPOFFSET 16
148 #define NPHY_SROM_MINTEMPOFFSET -16
150 #define NPHY_CAL_MAXTEMPDELTA 64
152 #define NPHY_NOISEVAR_TBLLEN40 256
153 #define NPHY_NOISEVAR_TBLLEN20 128
155 #define NPHY_ANARXLPFBW_REDUCTIONFACT 7
157 #define NPHY_ADJUSTED_MINCRSPOWER 0x1e
159 /* 5357 Chip specific ChipControl register bits */
160 #define CCTRL5357_EXTPA (1<<14) /* extPA in ChipControl 1, bit 14 */
161 #define CCTRL5357_ANT_MUX_2o3 (1<<15) /* 2o3 in ChipControl 1, bit 15 */
163 #define NPHY_CAL_TSSISAMPS 64
164 #define NPHY_TEST_TONE_FREQ_40MHz 4000
165 #define NPHY_TEST_TONE_FREQ_20MHz 2500
167 #define MAX_205x_RCAL_WAITLOOPS 10000
169 #define NPHY_RXCAL_TONEAMP 181
170 #define NPHY_RXCAL_TONEFREQ_40MHz 4000
171 #define NPHY_RXCAL_TONEFREQ_20MHz 2000
173 #define TXFILT_SHAPING_OFDM20 0
174 #define TXFILT_SHAPING_OFDM40 1
175 #define TXFILT_SHAPING_CCK 2
176 #define TXFILT_DEFAULT_OFDM20 3
177 #define TXFILT_DEFAULT_OFDM40 4
179 struct nphy_iqcal_params {
189 struct nphy_txiqcal_ladder {
194 struct nphy_ipa_txcalgains {
195 struct nphy_txgains gains;
200 struct nphy_papd_restore_state {
211 struct nphy_ipa_txrxgain {
220 #define NPHY_IPA_RXCAL_MAXGAININDEX (6 - 1)
222 static const struct nphy_ipa_txrxgain nphy_ipa_rxcal_gaintbl_5GHz[] = {
223 {0, 0, 0, 0, 0, 100},
231 static const struct nphy_ipa_txrxgain nphy_ipa_rxcal_gaintbl_2GHz[] = {
232 {0, 0, 0, 0, 0, 128},
240 static const struct nphy_ipa_txrxgain nphy_ipa_rxcal_gaintbl_5GHz_rev7[] = {
241 {0, 0, 0, 0, 0, 100},
249 static const struct nphy_ipa_txrxgain nphy_ipa_rxcal_gaintbl_2GHz_rev7[] = {
259 NPHY_RXCAL_GAIN_INIT = 0,
264 #define wlc_phy_get_papd_nphy(pi) \
265 (read_phy_reg((pi), 0x1e7) & \
270 static const u16 NPHY_IPA_REV4_txdigi_filtcoeffs[][NPHY_NUM_DIG_FILT_COEFFS] = {
271 {-377, 137, -407, 208, -1527, 956, 93, 186, 93,
272 230, -44, 230, 201, -191, 201},
273 {-77, 20, -98, 49, -93, 60, 56, 111, 56, 26, -5,
275 {-360, 164, -376, 164, -1533, 576, 308, -314, 308,
276 121, -73, 121, 91, 124, 91},
277 {-295, 200, -363, 142, -1391, 826, 151, 301, 151,
278 151, 301, 151, 602, -752, 602},
279 {-92, 58, -96, 49, -104, 44, 17, 35, 17,
280 12, 25, 12, 13, 27, 13},
281 {-375, 136, -399, 209, -1479, 949, 130, 260, 130,
282 230, -44, 230, 201, -191, 201},
283 {0xed9, 0xc8, 0xe95, 0x8e, 0xa91, 0x33a, 0x97, 0x12d, 0x97,
284 0x97, 0x12d, 0x97, 0x25a, 0xd10, 0x25a}
287 struct chan_info_nphy_2055 {
303 u8 RF_core1_lgbuf_a_tune;
304 u8 RF_core1_lgbuf_g_tune;
305 u8 RF_core1_rxrf_reg1;
306 u8 RF_core1_tx_pga_pad_tn;
307 u8 RF_core1_tx_mx_bgtrim;
308 u8 RF_core2_lgbuf_a_tune;
309 u8 RF_core2_lgbuf_g_tune;
310 u8 RF_core2_rxrf_reg1;
311 u8 RF_core2_tx_pga_pad_tn;
312 u8 RF_core2_tx_mx_bgtrim;
321 struct chan_info_nphy_radio205x {
324 u8 RF_SYN_pll_vcocal1;
325 u8 RF_SYN_pll_vcocal2;
326 u8 RF_SYN_pll_refdiv;
329 u8 RF_SYN_pll_loopfilter1;
330 u8 RF_SYN_pll_loopfilter2;
331 u8 RF_SYN_pll_loopfilter3;
332 u8 RF_SYN_pll_loopfilter4;
333 u8 RF_SYN_pll_loopfilter5;
334 u8 RF_SYN_reserved_addr27;
335 u8 RF_SYN_reserved_addr28;
336 u8 RF_SYN_reserved_addr29;
337 u8 RF_SYN_logen_VCOBUF1;
338 u8 RF_SYN_logen_MIXER2;
339 u8 RF_SYN_logen_BUF3;
340 u8 RF_SYN_logen_BUF4;
343 u8 RF_TX0_intpaa_boost_tune;
344 u8 RF_TX0_intpag_boost_tune;
345 u8 RF_TX0_pada_boost_tune;
346 u8 RF_TX0_padg_boost_tune;
347 u8 RF_TX0_pgaa_boost_tune;
348 u8 RF_TX0_pgag_boost_tune;
349 u8 RF_TX0_mixa_boost_tune;
350 u8 RF_TX0_mixg_boost_tune;
353 u8 RF_TX1_intpaa_boost_tune;
354 u8 RF_TX1_intpag_boost_tune;
355 u8 RF_TX1_pada_boost_tune;
356 u8 RF_TX1_padg_boost_tune;
357 u8 RF_TX1_pgaa_boost_tune;
358 u8 RF_TX1_pgag_boost_tune;
359 u8 RF_TX1_mixa_boost_tune;
360 u8 RF_TX1_mixg_boost_tune;
369 struct chan_info_nphy_radio2057 {
372 u8 RF_vcocal_countval0;
373 u8 RF_vcocal_countval1;
374 u8 RF_rfpll_refmaster_sparextalsize;
375 u8 RF_rfpll_loopfilter_r1;
376 u8 RF_rfpll_loopfilter_c2;
377 u8 RF_rfpll_loopfilter_c1;
382 u8 RF_logen_mx2g_tune;
383 u8 RF_logen_mx5g_tune;
384 u8 RF_logen_indbuf2g_tune;
385 u8 RF_logen_indbuf5g_tune;
386 u8 RF_txmix2g_tune_boost_pu_core0;
387 u8 RF_pad2g_tune_pus_core0;
388 u8 RF_pga_boost_tune_core0;
389 u8 RF_txmix5g_boost_tune_core0;
390 u8 RF_pad5g_tune_misc_pus_core0;
391 u8 RF_lna2g_tune_core0;
392 u8 RF_lna5g_tune_core0;
393 u8 RF_txmix2g_tune_boost_pu_core1;
394 u8 RF_pad2g_tune_pus_core1;
395 u8 RF_pga_boost_tune_core1;
396 u8 RF_txmix5g_boost_tune_core1;
397 u8 RF_pad5g_tune_misc_pus_core1;
398 u8 RF_lna2g_tune_core1;
399 u8 RF_lna5g_tune_core1;
408 struct chan_info_nphy_radio2057_rev5 {
411 u8 RF_vcocal_countval0;
412 u8 RF_vcocal_countval1;
413 u8 RF_rfpll_refmaster_sparextalsize;
414 u8 RF_rfpll_loopfilter_r1;
415 u8 RF_rfpll_loopfilter_c2;
416 u8 RF_rfpll_loopfilter_c1;
421 u8 RF_logen_mx2g_tune;
422 u8 RF_logen_indbuf2g_tune;
423 u8 RF_txmix2g_tune_boost_pu_core0;
424 u8 RF_pad2g_tune_pus_core0;
425 u8 RF_lna2g_tune_core0;
426 u8 RF_txmix2g_tune_boost_pu_core1;
427 u8 RF_pad2g_tune_pus_core1;
428 u8 RF_lna2g_tune_core1;
437 struct nphy_sfo_cfg {
446 static struct chan_info_nphy_2055 chan_info_nphy_2055[] = {
448 184, 4920, 3280, 0x71, 0x01, 0xEC, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
449 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
450 0x0F, 0x8F, 0x7B4, 0x7B0, 0x7AC, 0x214, 0x215, 0x216},
452 186, 4930, 3287, 0x71, 0x01, 0xED, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
453 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
454 0x0F, 0x8F, 0x7B8, 0x7B4, 0x7B0, 0x213, 0x214, 0x215},
456 188, 4940, 3293, 0x71, 0x01, 0xEE, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
457 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
458 0x0F, 0x8F, 0x7BC, 0x7B8, 0x7B4, 0x212, 0x213, 0x214},
460 190, 4950, 3300, 0x71, 0x01, 0xEF, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
461 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
462 0x0F, 0x8F, 0x7C0, 0x7BC, 0x7B8, 0x211, 0x212, 0x213},
464 192, 4960, 3307, 0x71, 0x01, 0xF0, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
465 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
466 0x0F, 0x8F, 0x7C4, 0x7C0, 0x7BC, 0x20F, 0x211, 0x212},
468 194, 4970, 3313, 0x71, 0x01, 0xF1, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
469 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
470 0x0F, 0x8F, 0x7C8, 0x7C4, 0x7C0, 0x20E, 0x20F, 0x211},
472 196, 4980, 3320, 0x71, 0x01, 0xF2, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
473 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
474 0x0F, 0x8F, 0x7CC, 0x7C8, 0x7C4, 0x20D, 0x20E, 0x20F},
476 198, 4990, 3327, 0x71, 0x01, 0xF3, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
477 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
478 0x0F, 0x8F, 0x7D0, 0x7CC, 0x7C8, 0x20C, 0x20D, 0x20E},
480 200, 5000, 3333, 0x71, 0x01, 0xF4, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
481 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
482 0x0F, 0x8F, 0x7D4, 0x7D0, 0x7CC, 0x20B, 0x20C, 0x20D},
484 202, 5010, 3340, 0x71, 0x01, 0xF5, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
485 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
486 0x0F, 0x8F, 0x7D8, 0x7D4, 0x7D0, 0x20A, 0x20B, 0x20C},
488 204, 5020, 3347, 0x71, 0x01, 0xF6, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
489 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
490 0x0F, 0x8F, 0x7DC, 0x7D8, 0x7D4, 0x209, 0x20A, 0x20B},
492 206, 5030, 3353, 0x71, 0x01, 0xF7, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
493 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
494 0x0F, 0x8F, 0x7E0, 0x7DC, 0x7D8, 0x208, 0x209, 0x20A},
496 208, 5040, 3360, 0x71, 0x01, 0xF8, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
497 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
498 0x0F, 0x8F, 0x7E4, 0x7E0, 0x7DC, 0x207, 0x208, 0x209},
500 210, 5050, 3367, 0x71, 0x01, 0xF9, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
501 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
502 0x0F, 0x8F, 0x7E8, 0x7E4, 0x7E0, 0x206, 0x207, 0x208},
504 212, 5060, 3373, 0x71, 0x01, 0xFA, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
505 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, 0x8E, 0xFF, 0x00, 0x0E,
506 0x0F, 0x8E, 0x7EC, 0x7E8, 0x7E4, 0x205, 0x206, 0x207},
508 214, 5070, 3380, 0x71, 0x01, 0xFB, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
509 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, 0x8E, 0xFF, 0x00, 0x0E,
510 0x0F, 0x8E, 0x7F0, 0x7EC, 0x7E8, 0x204, 0x205, 0x206},
512 216, 5080, 3387, 0x71, 0x01, 0xFC, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
513 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, 0x8D, 0xEE, 0x00, 0x0E,
514 0x0F, 0x8D, 0x7F4, 0x7F0, 0x7EC, 0x203, 0x204, 0x205},
516 218, 5090, 3393, 0x71, 0x01, 0xFD, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
517 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, 0x8D, 0xEE, 0x00, 0x0E,
518 0x0F, 0x8D, 0x7F8, 0x7F4, 0x7F0, 0x202, 0x203, 0x204},
520 220, 5100, 3400, 0x71, 0x01, 0xFE, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
521 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, 0x8D, 0xEE, 0x00, 0x0D,
522 0x0F, 0x8D, 0x7FC, 0x7F8, 0x7F4, 0x201, 0x202, 0x203},
524 222, 5110, 3407, 0x71, 0x01, 0xFF, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
525 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, 0x8D, 0xEE, 0x00, 0x0D,
526 0x0F, 0x8D, 0x800, 0x7FC, 0x7F8, 0x200, 0x201, 0x202},
528 224, 5120, 3413, 0x71, 0x02, 0x00, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
529 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, 0x8C, 0xDD, 0x00, 0x0D,
530 0x0F, 0x8C, 0x804, 0x800, 0x7FC, 0x1FF, 0x200, 0x201},
532 226, 5130, 3420, 0x71, 0x02, 0x01, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
533 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, 0x8C, 0xDD, 0x00, 0x0D,
534 0x0F, 0x8C, 0x808, 0x804, 0x800, 0x1FE, 0x1FF, 0x200},
536 228, 5140, 3427, 0x71, 0x02, 0x02, 0x0C, 0xC6, 0x01, 0x04, 0x0A,
537 0x00, 0x8D, 0x99, 0x99, 0xDD, 0x00, 0x0C, 0x0E, 0x8B, 0xDD, 0x00, 0x0C,
538 0x0E, 0x8B, 0x80C, 0x808, 0x804, 0x1FD, 0x1FE, 0x1FF},
540 32, 5160, 3440, 0x71, 0x02, 0x04, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
541 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, 0x8A, 0xCC, 0x00, 0x0B,
542 0x0D, 0x8A, 0x814, 0x810, 0x80C, 0x1FB, 0x1FC, 0x1FD},
544 34, 5170, 3447, 0x71, 0x02, 0x05, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
545 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, 0x8A, 0xCC, 0x00, 0x0B,
546 0x0D, 0x8A, 0x818, 0x814, 0x810, 0x1FA, 0x1FB, 0x1FC},
548 36, 5180, 3453, 0x71, 0x02, 0x06, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
549 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, 0x89, 0xCC, 0x00, 0x0B,
550 0x0C, 0x89, 0x81C, 0x818, 0x814, 0x1F9, 0x1FA, 0x1FB},
552 38, 5190, 3460, 0x71, 0x02, 0x07, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
553 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, 0x89, 0xCC, 0x00, 0x0B,
554 0x0C, 0x89, 0x820, 0x81C, 0x818, 0x1F8, 0x1F9, 0x1FA},
556 40, 5200, 3467, 0x71, 0x02, 0x08, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
557 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, 0x89, 0xBB, 0x00, 0x0A,
558 0x0B, 0x89, 0x824, 0x820, 0x81C, 0x1F7, 0x1F8, 0x1F9},
560 42, 5210, 3473, 0x71, 0x02, 0x09, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
561 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, 0x89, 0xBB, 0x00, 0x0A,
562 0x0B, 0x89, 0x828, 0x824, 0x820, 0x1F6, 0x1F7, 0x1F8},
564 44, 5220, 3480, 0x71, 0x02, 0x0A, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
565 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, 0x88, 0xBB, 0x00, 0x09,
566 0x0A, 0x88, 0x82C, 0x828, 0x824, 0x1F5, 0x1F6, 0x1F7},
568 46, 5230, 3487, 0x71, 0x02, 0x0B, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
569 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, 0x88, 0xBB, 0x00, 0x09,
570 0x0A, 0x88, 0x830, 0x82C, 0x828, 0x1F4, 0x1F5, 0x1F6},
572 48, 5240, 3493, 0x71, 0x02, 0x0C, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
573 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, 0x87, 0xAA, 0x00, 0x09,
574 0x0A, 0x87, 0x834, 0x830, 0x82C, 0x1F3, 0x1F4, 0x1F5},
576 50, 5250, 3500, 0x71, 0x02, 0x0D, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
577 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, 0x87, 0xAA, 0x00, 0x09,
578 0x0A, 0x87, 0x838, 0x834, 0x830, 0x1F2, 0x1F3, 0x1F4},
580 52, 5260, 3507, 0x71, 0x02, 0x0E, 0x0A, 0x98, 0x01, 0x04, 0x0A,
581 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, 0x87, 0xAA, 0x00, 0x08,
582 0x09, 0x87, 0x83C, 0x838, 0x834, 0x1F1, 0x1F2, 0x1F3},
584 54, 5270, 3513, 0x71, 0x02, 0x0F, 0x0A, 0x98, 0x01, 0x04, 0x0A,
585 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, 0x87, 0xAA, 0x00, 0x08,
586 0x09, 0x87, 0x840, 0x83C, 0x838, 0x1F0, 0x1F1, 0x1F2},
588 56, 5280, 3520, 0x71, 0x02, 0x10, 0x09, 0x91, 0x01, 0x04, 0x0A,
589 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, 0x86, 0x99, 0x00, 0x08,
590 0x08, 0x86, 0x844, 0x840, 0x83C, 0x1F0, 0x1F0, 0x1F1},
592 58, 5290, 3527, 0x71, 0x02, 0x11, 0x09, 0x91, 0x01, 0x04, 0x0A,
593 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, 0x86, 0x99, 0x00, 0x08,
594 0x08, 0x86, 0x848, 0x844, 0x840, 0x1EF, 0x1F0, 0x1F0},
596 60, 5300, 3533, 0x71, 0x02, 0x12, 0x09, 0x8A, 0x01, 0x04, 0x0A,
597 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, 0x85, 0x99, 0x00, 0x08,
598 0x07, 0x85, 0x84C, 0x848, 0x844, 0x1EE, 0x1EF, 0x1F0},
600 62, 5310, 3540, 0x71, 0x02, 0x13, 0x09, 0x8A, 0x01, 0x04, 0x0A,
601 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, 0x85, 0x99, 0x00, 0x08,
602 0x07, 0x85, 0x850, 0x84C, 0x848, 0x1ED, 0x1EE, 0x1EF},
604 64, 5320, 3547, 0x71, 0x02, 0x14, 0x09, 0x83, 0x01, 0x04, 0x0A,
605 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, 0x84, 0x88, 0x00, 0x07,
606 0x07, 0x84, 0x854, 0x850, 0x84C, 0x1EC, 0x1ED, 0x1EE},
608 66, 5330, 3553, 0x71, 0x02, 0x15, 0x09, 0x83, 0x01, 0x04, 0x0A,
609 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, 0x84, 0x88, 0x00, 0x07,
610 0x07, 0x84, 0x858, 0x854, 0x850, 0x1EB, 0x1EC, 0x1ED},
612 68, 5340, 3560, 0x71, 0x02, 0x16, 0x08, 0x7C, 0x01, 0x04, 0x0A,
613 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, 0x84, 0x88, 0x00, 0x07,
614 0x06, 0x84, 0x85C, 0x858, 0x854, 0x1EA, 0x1EB, 0x1EC},
616 70, 5350, 3567, 0x71, 0x02, 0x17, 0x08, 0x7C, 0x01, 0x04, 0x0A,
617 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, 0x84, 0x88, 0x00, 0x07,
618 0x06, 0x84, 0x860, 0x85C, 0x858, 0x1E9, 0x1EA, 0x1EB},
620 72, 5360, 3573, 0x71, 0x02, 0x18, 0x08, 0x75, 0x01, 0x04, 0x0A,
621 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, 0x83, 0x77, 0x00, 0x06,
622 0x05, 0x83, 0x864, 0x860, 0x85C, 0x1E8, 0x1E9, 0x1EA},
624 74, 5370, 3580, 0x71, 0x02, 0x19, 0x08, 0x75, 0x01, 0x04, 0x0A,
625 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, 0x83, 0x77, 0x00, 0x06,
626 0x05, 0x83, 0x868, 0x864, 0x860, 0x1E7, 0x1E8, 0x1E9},
628 76, 5380, 3587, 0x71, 0x02, 0x1A, 0x08, 0x6E, 0x01, 0x04, 0x0A,
629 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, 0x82, 0x77, 0x00, 0x06,
630 0x04, 0x82, 0x86C, 0x868, 0x864, 0x1E6, 0x1E7, 0x1E8},
632 78, 5390, 3593, 0x71, 0x02, 0x1B, 0x08, 0x6E, 0x01, 0x04, 0x0A,
633 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, 0x82, 0x77, 0x00, 0x06,
634 0x04, 0x82, 0x870, 0x86C, 0x868, 0x1E5, 0x1E6, 0x1E7},
636 80, 5400, 3600, 0x71, 0x02, 0x1C, 0x07, 0x67, 0x01, 0x04, 0x0A,
637 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, 0x81, 0x66, 0x00, 0x05,
638 0x04, 0x81, 0x874, 0x870, 0x86C, 0x1E5, 0x1E5, 0x1E6},
640 82, 5410, 3607, 0x71, 0x02, 0x1D, 0x07, 0x67, 0x01, 0x04, 0x0A,
641 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, 0x81, 0x66, 0x00, 0x05,
642 0x04, 0x81, 0x878, 0x874, 0x870, 0x1E4, 0x1E5, 0x1E5},
644 84, 5420, 3613, 0x71, 0x02, 0x1E, 0x07, 0x61, 0x01, 0x04, 0x0A,
645 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, 0x80, 0x66, 0x00, 0x05,
646 0x03, 0x80, 0x87C, 0x878, 0x874, 0x1E3, 0x1E4, 0x1E5},
648 86, 5430, 3620, 0x71, 0x02, 0x1F, 0x07, 0x61, 0x01, 0x04, 0x0A,
649 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, 0x80, 0x66, 0x00, 0x05,
650 0x03, 0x80, 0x880, 0x87C, 0x878, 0x1E2, 0x1E3, 0x1E4},
652 88, 5440, 3627, 0x71, 0x02, 0x20, 0x07, 0x5A, 0x01, 0x04, 0x0A,
653 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, 0x80, 0x55, 0x00, 0x04,
654 0x02, 0x80, 0x884, 0x880, 0x87C, 0x1E1, 0x1E2, 0x1E3},
656 90, 5450, 3633, 0x71, 0x02, 0x21, 0x07, 0x5A, 0x01, 0x04, 0x0A,
657 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, 0x80, 0x55, 0x00, 0x04,
658 0x02, 0x80, 0x888, 0x884, 0x880, 0x1E0, 0x1E1, 0x1E2},
660 92, 5460, 3640, 0x71, 0x02, 0x22, 0x06, 0x53, 0x01, 0x04, 0x0A,
661 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, 0x80, 0x55, 0x00, 0x04,
662 0x01, 0x80, 0x88C, 0x888, 0x884, 0x1DF, 0x1E0, 0x1E1},
664 94, 5470, 3647, 0x71, 0x02, 0x23, 0x06, 0x53, 0x01, 0x04, 0x0A,
665 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, 0x80, 0x55, 0x00, 0x04,
666 0x01, 0x80, 0x890, 0x88C, 0x888, 0x1DE, 0x1DF, 0x1E0},
668 96, 5480, 3653, 0x71, 0x02, 0x24, 0x06, 0x4D, 0x01, 0x04, 0x0A,
669 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
670 0x00, 0x80, 0x894, 0x890, 0x88C, 0x1DD, 0x1DE, 0x1DF},
672 98, 5490, 3660, 0x71, 0x02, 0x25, 0x06, 0x4D, 0x01, 0x04, 0x0A,
673 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
674 0x00, 0x80, 0x898, 0x894, 0x890, 0x1DD, 0x1DD, 0x1DE},
676 100, 5500, 3667, 0x71, 0x02, 0x26, 0x06, 0x47, 0x01, 0x04, 0x0A,
677 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
678 0x00, 0x80, 0x89C, 0x898, 0x894, 0x1DC, 0x1DD, 0x1DD},
680 102, 5510, 3673, 0x71, 0x02, 0x27, 0x06, 0x47, 0x01, 0x04, 0x0A,
681 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
682 0x00, 0x80, 0x8A0, 0x89C, 0x898, 0x1DB, 0x1DC, 0x1DD},
684 104, 5520, 3680, 0x71, 0x02, 0x28, 0x05, 0x40, 0x01, 0x04, 0x0A,
685 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
686 0x00, 0x80, 0x8A4, 0x8A0, 0x89C, 0x1DA, 0x1DB, 0x1DC},
688 106, 5530, 3687, 0x71, 0x02, 0x29, 0x05, 0x40, 0x01, 0x04, 0x0A,
689 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
690 0x00, 0x80, 0x8A8, 0x8A4, 0x8A0, 0x1D9, 0x1DA, 0x1DB},
692 108, 5540, 3693, 0x71, 0x02, 0x2A, 0x05, 0x3A, 0x01, 0x04, 0x0A,
693 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
694 0x00, 0x80, 0x8AC, 0x8A8, 0x8A4, 0x1D8, 0x1D9, 0x1DA},
696 110, 5550, 3700, 0x71, 0x02, 0x2B, 0x05, 0x3A, 0x01, 0x04, 0x0A,
697 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
698 0x00, 0x80, 0x8B0, 0x8AC, 0x8A8, 0x1D7, 0x1D8, 0x1D9},
700 112, 5560, 3707, 0x71, 0x02, 0x2C, 0x05, 0x34, 0x01, 0x04, 0x0A,
701 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
702 0x00, 0x80, 0x8B4, 0x8B0, 0x8AC, 0x1D7, 0x1D7, 0x1D8},
704 114, 5570, 3713, 0x71, 0x02, 0x2D, 0x05, 0x34, 0x01, 0x04, 0x0A,
705 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
706 0x00, 0x80, 0x8B8, 0x8B4, 0x8B0, 0x1D6, 0x1D7, 0x1D7},
708 116, 5580, 3720, 0x71, 0x02, 0x2E, 0x04, 0x2E, 0x01, 0x04, 0x0A,
709 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
710 0x00, 0x80, 0x8BC, 0x8B8, 0x8B4, 0x1D5, 0x1D6, 0x1D7},
712 118, 5590, 3727, 0x71, 0x02, 0x2F, 0x04, 0x2E, 0x01, 0x04, 0x0A,
713 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
714 0x00, 0x80, 0x8C0, 0x8BC, 0x8B8, 0x1D4, 0x1D5, 0x1D6},
716 120, 5600, 3733, 0x71, 0x02, 0x30, 0x04, 0x28, 0x01, 0x04, 0x0A,
717 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x80, 0x11, 0x00, 0x01,
718 0x00, 0x80, 0x8C4, 0x8C0, 0x8BC, 0x1D3, 0x1D4, 0x1D5},
720 122, 5610, 3740, 0x71, 0x02, 0x31, 0x04, 0x28, 0x01, 0x04, 0x0A,
721 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x80, 0x11, 0x00, 0x01,
722 0x00, 0x80, 0x8C8, 0x8C4, 0x8C0, 0x1D2, 0x1D3, 0x1D4},
724 124, 5620, 3747, 0x71, 0x02, 0x32, 0x04, 0x21, 0x01, 0x04, 0x0A,
725 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00,
726 0x00, 0x80, 0x8CC, 0x8C8, 0x8C4, 0x1D2, 0x1D2, 0x1D3},
728 126, 5630, 3753, 0x71, 0x02, 0x33, 0x04, 0x21, 0x01, 0x04, 0x0A,
729 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00,
730 0x00, 0x80, 0x8D0, 0x8CC, 0x8C8, 0x1D1, 0x1D2, 0x1D2},
732 128, 5640, 3760, 0x71, 0x02, 0x34, 0x03, 0x1C, 0x01, 0x04, 0x0A,
733 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
734 0x00, 0x80, 0x8D4, 0x8D0, 0x8CC, 0x1D0, 0x1D1, 0x1D2},
736 130, 5650, 3767, 0x71, 0x02, 0x35, 0x03, 0x1C, 0x01, 0x04, 0x0A,
737 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
738 0x00, 0x80, 0x8D8, 0x8D4, 0x8D0, 0x1CF, 0x1D0, 0x1D1},
740 132, 5660, 3773, 0x71, 0x02, 0x36, 0x03, 0x16, 0x01, 0x04, 0x0A,
741 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
742 0x00, 0x80, 0x8DC, 0x8D8, 0x8D4, 0x1CE, 0x1CF, 0x1D0},
744 134, 5670, 3780, 0x71, 0x02, 0x37, 0x03, 0x16, 0x01, 0x04, 0x0A,
745 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
746 0x00, 0x80, 0x8E0, 0x8DC, 0x8D8, 0x1CE, 0x1CE, 0x1CF},
748 136, 5680, 3787, 0x71, 0x02, 0x38, 0x03, 0x10, 0x01, 0x04, 0x0A,
749 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
750 0x00, 0x80, 0x8E4, 0x8E0, 0x8DC, 0x1CD, 0x1CE, 0x1CE},
752 138, 5690, 3793, 0x71, 0x02, 0x39, 0x03, 0x10, 0x01, 0x04, 0x0A,
753 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
754 0x00, 0x80, 0x8E8, 0x8E4, 0x8E0, 0x1CC, 0x1CD, 0x1CE},
756 140, 5700, 3800, 0x71, 0x02, 0x3A, 0x02, 0x0A, 0x01, 0x04, 0x0A,
757 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
758 0x00, 0x80, 0x8EC, 0x8E8, 0x8E4, 0x1CB, 0x1CC, 0x1CD},
760 142, 5710, 3807, 0x71, 0x02, 0x3B, 0x02, 0x0A, 0x01, 0x04, 0x0A,
761 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
762 0x00, 0x80, 0x8F0, 0x8EC, 0x8E8, 0x1CA, 0x1CB, 0x1CC},
764 144, 5720, 3813, 0x71, 0x02, 0x3C, 0x02, 0x0A, 0x01, 0x04, 0x0A,
765 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
766 0x00, 0x80, 0x8F4, 0x8F0, 0x8EC, 0x1C9, 0x1CA, 0x1CB},
768 145, 5725, 3817, 0x72, 0x04, 0x79, 0x02, 0x03, 0x01, 0x03, 0x14,
769 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
770 0x00, 0x80, 0x8F6, 0x8F2, 0x8EE, 0x1C9, 0x1CA, 0x1CB},
772 146, 5730, 3820, 0x71, 0x02, 0x3D, 0x02, 0x0A, 0x01, 0x04, 0x0A,
773 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
774 0x00, 0x80, 0x8F8, 0x8F4, 0x8F0, 0x1C9, 0x1C9, 0x1CA},
776 147, 5735, 3823, 0x72, 0x04, 0x7B, 0x02, 0x03, 0x01, 0x03, 0x14,
777 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
778 0x00, 0x80, 0x8FA, 0x8F6, 0x8F2, 0x1C8, 0x1C9, 0x1CA},
780 148, 5740, 3827, 0x71, 0x02, 0x3E, 0x02, 0x0A, 0x01, 0x04, 0x0A,
781 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
782 0x00, 0x80, 0x8FC, 0x8F8, 0x8F4, 0x1C8, 0x1C9, 0x1C9},
784 149, 5745, 3830, 0x72, 0x04, 0x7D, 0x02, 0xFE, 0x00, 0x03, 0x14,
785 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
786 0x00, 0x80, 0x8FE, 0x8FA, 0x8F6, 0x1C8, 0x1C8, 0x1C9},
788 150, 5750, 3833, 0x71, 0x02, 0x3F, 0x02, 0x0A, 0x01, 0x04, 0x0A,
789 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
790 0x00, 0x80, 0x900, 0x8FC, 0x8F8, 0x1C7, 0x1C8, 0x1C9},
792 151, 5755, 3837, 0x72, 0x04, 0x7F, 0x02, 0xFE, 0x00, 0x03, 0x14,
793 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
794 0x00, 0x80, 0x902, 0x8FE, 0x8FA, 0x1C7, 0x1C8, 0x1C8},
796 152, 5760, 3840, 0x71, 0x02, 0x40, 0x02, 0x0A, 0x01, 0x04, 0x0A,
797 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
798 0x00, 0x80, 0x904, 0x900, 0x8FC, 0x1C6, 0x1C7, 0x1C8},
800 153, 5765, 3843, 0x72, 0x04, 0x81, 0x02, 0xF8, 0x00, 0x03, 0x14,
801 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
802 0x00, 0x80, 0x906, 0x902, 0x8FE, 0x1C6, 0x1C7, 0x1C8},
804 154, 5770, 3847, 0x71, 0x02, 0x41, 0x02, 0x0A, 0x01, 0x04, 0x0A,
805 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
806 0x00, 0x80, 0x908, 0x904, 0x900, 0x1C6, 0x1C6, 0x1C7},
808 155, 5775, 3850, 0x72, 0x04, 0x83, 0x02, 0xF8, 0x00, 0x03, 0x14,
809 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
810 0x00, 0x80, 0x90A, 0x906, 0x902, 0x1C5, 0x1C6, 0x1C7},
812 156, 5780, 3853, 0x71, 0x02, 0x42, 0x02, 0x0A, 0x01, 0x04, 0x0A,
813 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
814 0x00, 0x80, 0x90C, 0x908, 0x904, 0x1C5, 0x1C6, 0x1C6},
816 157, 5785, 3857, 0x72, 0x04, 0x85, 0x02, 0xF2, 0x00, 0x03, 0x14,
817 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
818 0x00, 0x80, 0x90E, 0x90A, 0x906, 0x1C4, 0x1C5, 0x1C6},
820 158, 5790, 3860, 0x71, 0x02, 0x43, 0x02, 0x0A, 0x01, 0x04, 0x0A,
821 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
822 0x00, 0x80, 0x910, 0x90C, 0x908, 0x1C4, 0x1C5, 0x1C6},
824 159, 5795, 3863, 0x72, 0x04, 0x87, 0x02, 0xF2, 0x00, 0x03, 0x14,
825 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
826 0x00, 0x80, 0x912, 0x90E, 0x90A, 0x1C4, 0x1C4, 0x1C5},
828 160, 5800, 3867, 0x71, 0x02, 0x44, 0x01, 0x0A, 0x01, 0x04, 0x0A,
829 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
830 0x00, 0x80, 0x914, 0x910, 0x90C, 0x1C3, 0x1C4, 0x1C5},
832 161, 5805, 3870, 0x72, 0x04, 0x89, 0x01, 0xED, 0x00, 0x03, 0x14,
833 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
834 0x00, 0x80, 0x916, 0x912, 0x90E, 0x1C3, 0x1C4, 0x1C4},
836 162, 5810, 3873, 0x71, 0x02, 0x45, 0x01, 0x0A, 0x01, 0x04, 0x0A,
837 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
838 0x00, 0x80, 0x918, 0x914, 0x910, 0x1C2, 0x1C3, 0x1C4},
840 163, 5815, 3877, 0x72, 0x04, 0x8B, 0x01, 0xED, 0x00, 0x03, 0x14,
841 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
842 0x00, 0x80, 0x91A, 0x916, 0x912, 0x1C2, 0x1C3, 0x1C4},
844 164, 5820, 3880, 0x71, 0x02, 0x46, 0x01, 0x0A, 0x01, 0x04, 0x0A,
845 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
846 0x00, 0x80, 0x91C, 0x918, 0x914, 0x1C2, 0x1C2, 0x1C3},
848 165, 5825, 3883, 0x72, 0x04, 0x8D, 0x01, 0xED, 0x00, 0x03, 0x14,
849 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
850 0x00, 0x80, 0x91E, 0x91A, 0x916, 0x1C1, 0x1C2, 0x1C3},
852 166, 5830, 3887, 0x71, 0x02, 0x47, 0x01, 0x0A, 0x01, 0x04, 0x0A,
853 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
854 0x00, 0x80, 0x920, 0x91C, 0x918, 0x1C1, 0x1C2, 0x1C2},
856 168, 5840, 3893, 0x71, 0x02, 0x48, 0x01, 0x0A, 0x01, 0x04, 0x0A,
857 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
858 0x00, 0x80, 0x924, 0x920, 0x91C, 0x1C0, 0x1C1, 0x1C2},
860 170, 5850, 3900, 0x71, 0x02, 0x49, 0x01, 0xE0, 0x00, 0x04, 0x0A,
861 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
862 0x00, 0x80, 0x928, 0x924, 0x920, 0x1BF, 0x1C0, 0x1C1},
864 172, 5860, 3907, 0x71, 0x02, 0x4A, 0x01, 0xDE, 0x00, 0x04, 0x0A,
865 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
866 0x00, 0x80, 0x92C, 0x928, 0x924, 0x1BF, 0x1BF, 0x1C0},
868 174, 5870, 3913, 0x71, 0x02, 0x4B, 0x00, 0xDB, 0x00, 0x04, 0x0A,
869 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
870 0x00, 0x80, 0x930, 0x92C, 0x928, 0x1BE, 0x1BF, 0x1BF},
872 176, 5880, 3920, 0x71, 0x02, 0x4C, 0x00, 0xD8, 0x00, 0x04, 0x0A,
873 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
874 0x00, 0x80, 0x934, 0x930, 0x92C, 0x1BD, 0x1BE, 0x1BF},
876 178, 5890, 3927, 0x71, 0x02, 0x4D, 0x00, 0xD6, 0x00, 0x04, 0x0A,
877 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
878 0x00, 0x80, 0x938, 0x934, 0x930, 0x1BC, 0x1BD, 0x1BE},
880 180, 5900, 3933, 0x71, 0x02, 0x4E, 0x00, 0xD3, 0x00, 0x04, 0x0A,
881 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
882 0x00, 0x80, 0x93C, 0x938, 0x934, 0x1BC, 0x1BC, 0x1BD},
884 182, 5910, 3940, 0x71, 0x02, 0x4F, 0x00, 0xD6, 0x00, 0x04, 0x0A,
885 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
886 0x00, 0x80, 0x940, 0x93C, 0x938, 0x1BB, 0x1BC, 0x1BC},
888 1, 2412, 3216, 0x73, 0x09, 0x6C, 0x0F, 0x00, 0x01, 0x07, 0x15,
889 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0D, 0x0C, 0x80, 0xFF, 0x88, 0x0D,
890 0x0C, 0x80, 0x3C9, 0x3C5, 0x3C1, 0x43A, 0x43F, 0x443},
892 2, 2417, 3223, 0x73, 0x09, 0x71, 0x0F, 0x00, 0x01, 0x07, 0x15,
893 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0B, 0x80, 0xFF, 0x88, 0x0C,
894 0x0B, 0x80, 0x3CB, 0x3C7, 0x3C3, 0x438, 0x43D, 0x441},
896 3, 2422, 3229, 0x73, 0x09, 0x76, 0x0F, 0x00, 0x01, 0x07, 0x15,
897 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, 0x80, 0xFF, 0x88, 0x0C,
898 0x0A, 0x80, 0x3CD, 0x3C9, 0x3C5, 0x436, 0x43A, 0x43F},
900 4, 2427, 3236, 0x73, 0x09, 0x7B, 0x0F, 0x00, 0x01, 0x07, 0x15,
901 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, 0x80, 0xFF, 0x88, 0x0C,
902 0x0A, 0x80, 0x3CF, 0x3CB, 0x3C7, 0x434, 0x438, 0x43D},
904 5, 2432, 3243, 0x73, 0x09, 0x80, 0x0F, 0x00, 0x01, 0x07, 0x15,
905 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x09, 0x80, 0xFF, 0x88, 0x0C,
906 0x09, 0x80, 0x3D1, 0x3CD, 0x3C9, 0x431, 0x436, 0x43A},
908 6, 2437, 3249, 0x73, 0x09, 0x85, 0x0F, 0x00, 0x01, 0x07, 0x15,
909 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0B, 0x08, 0x80, 0xFF, 0x88, 0x0B,
910 0x08, 0x80, 0x3D3, 0x3CF, 0x3CB, 0x42F, 0x434, 0x438},
912 7, 2442, 3256, 0x73, 0x09, 0x8A, 0x0F, 0x00, 0x01, 0x07, 0x15,
913 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x07, 0x80, 0xFF, 0x88, 0x0A,
914 0x07, 0x80, 0x3D5, 0x3D1, 0x3CD, 0x42D, 0x431, 0x436},
916 8, 2447, 3263, 0x73, 0x09, 0x8F, 0x0F, 0x00, 0x01, 0x07, 0x15,
917 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x06, 0x80, 0xFF, 0x88, 0x0A,
918 0x06, 0x80, 0x3D7, 0x3D3, 0x3CF, 0x42B, 0x42F, 0x434},
920 9, 2452, 3269, 0x73, 0x09, 0x94, 0x0F, 0x00, 0x01, 0x07, 0x15,
921 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x09, 0x06, 0x80, 0xFF, 0x88, 0x09,
922 0x06, 0x80, 0x3D9, 0x3D5, 0x3D1, 0x429, 0x42D, 0x431},
924 10, 2457, 3276, 0x73, 0x09, 0x99, 0x0F, 0x00, 0x01, 0x07, 0x15,
925 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x05, 0x80, 0xFF, 0x88, 0x08,
926 0x05, 0x80, 0x3DB, 0x3D7, 0x3D3, 0x427, 0x42B, 0x42F},
928 11, 2462, 3283, 0x73, 0x09, 0x9E, 0x0F, 0x00, 0x01, 0x07, 0x15,
929 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x04, 0x80, 0xFF, 0x88, 0x08,
930 0x04, 0x80, 0x3DD, 0x3D9, 0x3D5, 0x424, 0x429, 0x42D},
932 12, 2467, 3289, 0x73, 0x09, 0xA3, 0x0F, 0x00, 0x01, 0x07, 0x15,
933 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x03, 0x80, 0xFF, 0x88, 0x08,
934 0x03, 0x80, 0x3DF, 0x3DB, 0x3D7, 0x422, 0x427, 0x42B},
936 13, 2472, 3296, 0x73, 0x09, 0xA8, 0x0F, 0x00, 0x01, 0x07, 0x15,
937 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x03, 0x80, 0xFF, 0x88, 0x07,
938 0x03, 0x80, 0x3E1, 0x3DD, 0x3D9, 0x420, 0x424, 0x429},
940 14, 2484, 3312, 0x73, 0x09, 0xB4, 0x0F, 0xFF, 0x01, 0x07, 0x15,
941 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x01, 0x80, 0xFF, 0x88, 0x07,
942 0x01, 0x80, 0x3E6, 0x3E2, 0x3DE, 0x41B, 0x41F, 0x424}
945 static struct chan_info_nphy_radio205x chan_info_nphyrev3_2056[] = {
947 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
948 0x00, 0x00, 0x00, 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, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
952 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
953 0x00, 0x00, 0x00, 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, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
957 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
958 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
959 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
960 0x00, 0xff, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
962 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
963 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
964 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
965 0x00, 0xff, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
967 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
968 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
969 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
970 0x00, 0xff, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
972 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
973 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
974 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
975 0x00, 0xff, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
977 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
978 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
979 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
980 0x00, 0xff, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
982 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
983 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
984 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
985 0x00, 0xff, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
987 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 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, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
992 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 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, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
997 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 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, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
1002 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 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, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
1007 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
1008 0x01, 0x01, 0x01, 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, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
1012 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
1013 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1014 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1015 0x00, 0xff, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
1017 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
1018 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1019 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1020 0x00, 0xff, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
1022 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
1023 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1024 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1025 0x00, 0xff, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
1027 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
1028 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1029 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1030 0x00, 0xff, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
1032 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
1033 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1034 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1035 0x00, 0xff, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
1037 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
1038 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1039 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1040 0x00, 0xff, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
1042 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
1043 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1044 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1045 0x00, 0xfc, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
1047 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
1048 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1049 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1050 0x00, 0xfc, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
1052 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
1053 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1054 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1055 0x00, 0xfc, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
1057 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
1058 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1059 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1060 0x00, 0xfc, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
1062 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
1063 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1064 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1065 0x00, 0xfc, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
1067 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
1068 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1069 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1070 0x00, 0xfc, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
1072 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
1073 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x07, 0x00, 0x7f,
1074 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1075 0x00, 0xfc, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
1077 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
1078 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x07, 0x00, 0x7f,
1079 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1080 0x00, 0xfc, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
1082 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
1083 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x06, 0x00, 0x7f,
1084 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1085 0x00, 0xfc, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
1087 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
1088 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1089 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1090 0x00, 0xfc, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
1092 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1093 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1094 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1095 0x00, 0xfc, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
1097 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1098 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1099 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1100 0x00, 0xfc, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
1102 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1103 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1104 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1105 0x00, 0xfc, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
1107 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1108 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1109 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1110 0x00, 0xfc, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
1112 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1113 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1114 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1115 0x00, 0xfc, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
1117 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1118 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1119 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1120 0x00, 0xfc, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
1122 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
1123 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x06, 0x00, 0x7f,
1124 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1125 0x00, 0xfc, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
1127 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
1128 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x06, 0x00, 0x7f,
1129 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1130 0x00, 0xfc, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
1132 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
1133 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1134 0x00, 0x09, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1135 0x00, 0xfc, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
1137 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
1138 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1139 0x00, 0x09, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1140 0x00, 0xfa, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
1142 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
1143 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1144 0x00, 0x09, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1145 0x00, 0xfa, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
1147 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
1148 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x05, 0x00, 0x7f,
1149 0x00, 0x09, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1150 0x00, 0xfa, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
1152 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
1153 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x05, 0x00, 0x7f,
1154 0x00, 0x09, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1155 0x00, 0xfa, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
1157 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
1158 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1159 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1160 0x00, 0xfa, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
1162 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
1163 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1164 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1165 0x00, 0xfa, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
1167 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
1168 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1169 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1170 0x00, 0xfa, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
1172 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1173 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1174 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1175 0x00, 0xfa, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
1177 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1178 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x8f, 0x00, 0x05, 0x00, 0x7f,
1179 0x00, 0x09, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1180 0x00, 0xfa, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
1182 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1183 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x04, 0x00, 0x7f,
1184 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1185 0x00, 0xfa, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
1187 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1188 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x04, 0x00, 0x7f,
1189 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1190 0x00, 0xfa, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
1192 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1193 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x04, 0x00, 0x7f,
1194 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1195 0x00, 0xfa, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
1197 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1198 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x04, 0x00, 0x7f,
1199 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1200 0x00, 0xfa, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
1202 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
1203 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7e, 0x00, 0x04, 0x00, 0x7f,
1204 0x00, 0x08, 0x00, 0xfa, 0x00, 0x7e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1205 0x00, 0xfa, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
1207 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
1208 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7d, 0x00, 0x04, 0x00, 0x7f,
1209 0x00, 0x08, 0x00, 0xfa, 0x00, 0x7d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1210 0x00, 0xfa, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
1212 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
1213 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x04, 0x00, 0x7f,
1214 0x00, 0x08, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1215 0x00, 0xf8, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
1217 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
1218 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x04, 0x00, 0x7f,
1219 0x00, 0x08, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1220 0x00, 0xf8, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
1222 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
1223 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5d, 0x00, 0x04, 0x00, 0x7f,
1224 0x00, 0x08, 0x00, 0xf8, 0x00, 0x5d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1225 0x00, 0xf8, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
1227 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
1228 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5c, 0x00, 0x04, 0x00, 0x7f,
1229 0x00, 0x08, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1230 0x00, 0xf8, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
1232 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
1233 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x5c, 0x00, 0x03, 0x00, 0x7f,
1234 0x00, 0x07, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1235 0x00, 0xf8, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
1237 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
1238 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x03, 0x00, 0x7f,
1239 0x00, 0x07, 0x00, 0xf8, 0x00, 0x4c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1240 0x00, 0xf8, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
1242 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
1243 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x03, 0x00, 0x7f,
1244 0x00, 0x07, 0x00, 0xf8, 0x00, 0x4c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1245 0x00, 0xf8, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
1247 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
1248 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1249 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1250 0x00, 0xf8, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
1252 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1253 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1254 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1255 0x00, 0xf8, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
1257 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1258 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1259 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1260 0x00, 0xf8, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
1262 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1263 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2b, 0x00, 0x03, 0x00, 0x7f,
1264 0x00, 0x07, 0x00, 0xf8, 0x00, 0x2b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1265 0x00, 0xf8, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
1267 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1268 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2a, 0x00, 0x03, 0x00, 0x7f,
1269 0x00, 0x07, 0x00, 0xf8, 0x00, 0x2a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1270 0x00, 0xf8, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
1272 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1273 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1274 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1275 0x00, 0xf8, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
1277 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1278 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1279 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1280 0x00, 0xf8, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
1282 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
1283 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1284 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1285 0x00, 0xf8, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
1287 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
1288 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x03, 0x00, 0x7f,
1289 0x00, 0x07, 0x00, 0xf8, 0x00, 0x19, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1290 0x00, 0xf8, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
1292 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
1293 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x03, 0x00, 0x7f,
1294 0x00, 0x07, 0x00, 0xf8, 0x00, 0x19, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1295 0x00, 0xf8, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
1297 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
1298 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x03, 0x00, 0x7f,
1299 0x00, 0x07, 0x00, 0xf8, 0x00, 0x09, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1300 0x00, 0xf8, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
1302 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
1303 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x03, 0x00, 0x7f,
1304 0x00, 0x07, 0x00, 0xf8, 0x00, 0x09, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1305 0x00, 0xf8, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
1307 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
1308 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1309 0x00, 0x07, 0x00, 0xf8, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1310 0x00, 0xf8, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
1312 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
1313 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1314 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1315 0x00, 0xf6, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
1317 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
1318 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1319 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1320 0x00, 0xf6, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
1322 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
1323 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1324 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1325 0x00, 0xf6, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
1327 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
1328 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x07, 0x00, 0x03, 0x00, 0x7f,
1329 0x00, 0x07, 0x00, 0xf6, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1330 0x00, 0xf6, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
1332 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1333 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1334 0x00, 0x06, 0x00, 0xf6, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1335 0x00, 0xf6, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
1337 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1338 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1339 0x00, 0x06, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1340 0x00, 0xf4, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
1342 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1343 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1344 0x00, 0x06, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1345 0x00, 0xf4, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
1347 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
1348 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1349 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1350 0x00, 0xf4, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
1352 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1353 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1354 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1355 0x00, 0xf4, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
1357 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
1358 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1359 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1360 0x00, 0xf4, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
1362 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1363 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1364 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1365 0x00, 0xf4, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
1367 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
1368 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1369 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1370 0x00, 0xf4, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
1372 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1373 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1374 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1375 0x00, 0xf4, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
1377 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
1378 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1379 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1380 0x00, 0xf4, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
1382 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
1383 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1384 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1385 0x00, 0xf4, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
1387 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
1388 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1389 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1390 0x00, 0xf4, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
1392 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
1393 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1394 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1395 0x00, 0xf4, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
1397 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
1398 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1399 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1400 0x00, 0xf4, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
1402 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
1403 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1404 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1405 0x00, 0xf4, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
1407 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
1408 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1409 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1410 0x00, 0xf4, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
1412 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
1413 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1414 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1415 0x00, 0xf4, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
1417 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
1418 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1419 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1420 0x00, 0xf4, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
1422 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
1423 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1424 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1425 0x00, 0xf4, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
1427 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
1428 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1429 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1430 0x00, 0xf4, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
1432 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
1433 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1434 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1435 0x00, 0xf4, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
1437 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
1438 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1439 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1440 0x00, 0xf4, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
1442 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
1443 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1444 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1445 0x00, 0xf4, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
1447 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
1448 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1449 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1450 0x00, 0xf4, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
1452 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
1453 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1454 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1455 0x00, 0xf4, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
1457 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
1458 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1459 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1460 0x00, 0xf4, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
1462 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
1463 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1464 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1465 0x00, 0xf4, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
1467 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1468 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1469 0x00, 0x06, 0x00, 0xf2, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1470 0x00, 0xf2, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
1472 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1473 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1474 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1475 0x00, 0xf2, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
1477 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1478 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1479 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1480 0x00, 0xf2, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
1482 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1483 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1484 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1485 0x00, 0xf2, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
1487 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1488 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f,
1489 0x00, 0x05, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x05,
1490 0x00, 0xf2, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
1492 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1493 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f,
1494 0x00, 0x05, 0x00, 0xf2, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x05,
1495 0x00, 0xf2, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
1497 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
1498 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1499 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1500 0x0f, 0x00, 0x0f, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
1502 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
1503 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1504 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1505 0x0f, 0x00, 0x0f, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
1507 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
1508 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1509 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1510 0x0f, 0x00, 0x0f, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
1512 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
1513 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x05, 0x00,
1514 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfd, 0x00, 0x05, 0x00, 0x70, 0x00,
1515 0x0f, 0x00, 0x0f, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
1517 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
1518 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x05, 0x00,
1519 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfb, 0x00, 0x05, 0x00, 0x70, 0x00,
1520 0x0f, 0x00, 0x0f, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
1522 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
1523 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x05, 0x00,
1524 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x05, 0x00, 0x70, 0x00,
1525 0x0f, 0x00, 0x0f, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
1527 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
1528 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x05, 0x00,
1529 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x05, 0x00, 0x70, 0x00,
1530 0x0f, 0x00, 0x0f, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
1532 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
1533 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x05, 0x00,
1534 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf7, 0x00, 0x05, 0x00, 0x70, 0x00,
1535 0x0f, 0x00, 0x0f, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
1537 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
1538 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x05, 0x00,
1539 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf6, 0x00, 0x05, 0x00, 0x70, 0x00,
1540 0x0f, 0x00, 0x0f, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
1542 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
1543 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x05, 0x00,
1544 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf5, 0x00, 0x05, 0x00, 0x70, 0x00,
1545 0x0f, 0x00, 0x0d, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
1547 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
1548 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x05, 0x00,
1549 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x70, 0x00,
1550 0x0f, 0x00, 0x0d, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
1552 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
1553 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x05, 0x00,
1554 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf3, 0x00, 0x05, 0x00, 0x70, 0x00,
1555 0x0f, 0x00, 0x0d, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
1557 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
1558 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x05, 0x00,
1559 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x70, 0x00,
1560 0x0f, 0x00, 0x0d, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
1562 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
1563 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x05, 0x00,
1564 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf0, 0x00, 0x05, 0x00, 0x70, 0x00,
1565 0x0f, 0x00, 0x0d, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
1568 static struct chan_info_nphy_radio205x chan_info_nphyrev4_2056_A1[] = {
1570 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
1571 0x00, 0x00, 0x00, 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, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
1575 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
1576 0x00, 0x00, 0x00, 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, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
1580 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
1581 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1582 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1583 0x00, 0xff, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
1585 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
1586 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1587 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1588 0x00, 0xff, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
1590 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
1591 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1592 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1593 0x00, 0xff, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
1595 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
1596 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1597 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1598 0x00, 0xff, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
1600 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
1601 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1602 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1603 0x00, 0xff, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
1605 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
1606 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1607 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1608 0x00, 0xff, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
1610 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 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, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
1615 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 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, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
1620 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 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, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
1625 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 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, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
1630 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
1631 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1632 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1633 0x00, 0xff, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
1635 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
1636 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1637 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1638 0x00, 0xff, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
1640 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
1641 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1642 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1643 0x00, 0xff, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
1645 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
1646 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1647 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1648 0x00, 0xff, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
1650 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
1651 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1652 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1653 0x00, 0xff, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
1655 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
1656 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1657 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1658 0x00, 0xff, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
1660 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 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, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
1665 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
1666 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1667 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1668 0x00, 0xfe, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
1670 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
1671 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1672 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1673 0x00, 0xfe, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
1675 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
1676 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1677 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1678 0x00, 0xfe, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
1680 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
1681 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1682 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1683 0x00, 0xfe, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
1685 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
1686 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1687 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1688 0x00, 0xfe, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
1690 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
1691 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1692 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1693 0x00, 0xfe, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
1695 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
1696 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0c, 0x00, 0x7f,
1697 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xef, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1698 0x00, 0xfe, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
1700 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
1701 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0c, 0x00, 0x7f,
1702 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xef, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1703 0x00, 0xfe, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
1705 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
1706 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0a, 0x00, 0x7f,
1707 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1708 0x00, 0xfc, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
1710 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
1711 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1712 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1713 0x00, 0xfc, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
1715 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1716 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1717 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1718 0x00, 0xfc, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
1720 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1721 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1722 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1723 0x00, 0xfc, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
1725 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1726 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1727 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1728 0x00, 0xfc, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
1730 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1731 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1732 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1733 0x00, 0xfc, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
1735 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1736 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1737 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1738 0x00, 0xfc, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
1740 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1741 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1742 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1743 0x00, 0xfc, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
1745 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
1746 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x0a, 0x00, 0x7f,
1747 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1748 0x00, 0xfc, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
1750 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
1751 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x0a, 0x00, 0x7f,
1752 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1753 0x00, 0xfc, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
1755 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
1756 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1757 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1758 0x00, 0xfa, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
1760 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
1761 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1762 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1763 0x00, 0xfa, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
1765 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
1766 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1767 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1768 0x00, 0xfa, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
1770 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
1771 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x08, 0x00, 0x7f,
1772 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1773 0x00, 0xfa, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
1775 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
1776 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x08, 0x00, 0x7f,
1777 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1778 0x00, 0xfa, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
1780 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
1781 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1782 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1783 0x00, 0xfa, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
1785 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
1786 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1787 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1788 0x00, 0xfa, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
1790 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
1791 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1792 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1793 0x00, 0xfa, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
1795 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1796 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1797 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1798 0x00, 0xfa, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
1800 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1801 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x8f, 0x00, 0x08, 0x00, 0x7f,
1802 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1803 0x00, 0xfa, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
1805 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1806 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x07, 0x00, 0x7f,
1807 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8f, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1808 0x00, 0xf8, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
1810 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1811 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x07, 0x00, 0x7f,
1812 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8f, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1813 0x00, 0xf8, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
1815 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1816 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x07, 0x00, 0x7f,
1817 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1818 0x00, 0xf8, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
1820 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1821 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x07, 0x00, 0x7f,
1822 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1823 0x00, 0xf8, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
1825 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
1826 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7e, 0x00, 0x07, 0x00, 0x7f,
1827 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x7e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1828 0x00, 0xf8, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
1830 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
1831 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7d, 0x00, 0x07, 0x00, 0x7f,
1832 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x7d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1833 0x00, 0xf8, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
1835 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
1836 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x07, 0x00, 0x7f,
1837 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1838 0x00, 0xf8, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
1840 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
1841 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x07, 0x00, 0x7f,
1842 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1843 0x00, 0xf8, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
1845 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
1846 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5d, 0x00, 0x07, 0x00, 0x7f,
1847 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x5d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1848 0x00, 0xf8, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
1850 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
1851 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5c, 0x00, 0x07, 0x00, 0x7f,
1852 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1853 0x00, 0xf8, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
1855 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
1856 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x5c, 0x00, 0x06, 0x00, 0x7f,
1857 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x5c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1858 0x00, 0xf6, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
1860 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
1861 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x06, 0x00, 0x7f,
1862 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x4c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1863 0x00, 0xf6, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
1865 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
1866 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x06, 0x00, 0x7f,
1867 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x4c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1868 0x00, 0xf6, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
1870 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
1871 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1872 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1873 0x00, 0xf6, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
1875 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1876 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1877 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1878 0x00, 0xf6, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
1880 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1881 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1882 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1883 0x00, 0xf6, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
1885 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1886 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2b, 0x00, 0x06, 0x00, 0x7f,
1887 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x2b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1888 0x00, 0xf6, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
1890 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1891 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2a, 0x00, 0x06, 0x00, 0x7f,
1892 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x2a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1893 0x00, 0xf6, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
1895 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1896 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x06, 0x00, 0x7f,
1897 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1898 0x00, 0xf6, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
1900 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1901 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x06, 0x00, 0x7f,
1902 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1903 0x00, 0xf6, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
1905 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
1906 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x1a, 0x00, 0x04, 0x00, 0x7f,
1907 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x1a, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1908 0x00, 0xf4, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
1910 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
1911 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x04, 0x00, 0x7f,
1912 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x19, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1913 0x00, 0xf4, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
1915 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
1916 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x04, 0x00, 0x7f,
1917 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x19, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1918 0x00, 0xf4, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
1920 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
1921 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x04, 0x00, 0x7f,
1922 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x09, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1923 0x00, 0xf4, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
1925 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
1926 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x04, 0x00, 0x7f,
1927 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x09, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1928 0x00, 0xf4, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
1930 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
1931 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1932 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1933 0x00, 0xf4, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
1935 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
1936 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1937 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1938 0x00, 0xf4, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
1940 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
1941 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1942 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1943 0x00, 0xf4, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
1945 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
1946 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1947 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1948 0x00, 0xf4, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
1950 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
1951 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x07, 0x00, 0x04, 0x00, 0x7f,
1952 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1953 0x00, 0xf4, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
1955 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1956 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1957 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1958 0x00, 0xf2, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
1960 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1961 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1962 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1963 0x00, 0xf2, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
1965 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1966 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1967 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1968 0x00, 0xf2, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
1970 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
1971 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1972 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1973 0x00, 0xf2, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
1975 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1976 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1977 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1978 0x00, 0xf2, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
1980 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
1981 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1982 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1983 0x00, 0xf2, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
1985 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1986 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1987 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1988 0x00, 0xf2, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
1990 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
1991 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1992 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1993 0x00, 0xf2, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
1995 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1996 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1997 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1998 0x00, 0xf2, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
2000 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
2001 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
2002 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2003 0x00, 0xf2, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
2005 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
2006 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
2007 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2008 0x00, 0xf2, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
2010 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
2011 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
2012 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2013 0x00, 0xf2, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
2015 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
2016 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
2017 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2018 0x00, 0xf2, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
2020 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
2021 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
2022 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2023 0x00, 0xf2, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
2025 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
2026 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
2027 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2028 0x00, 0xf2, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
2030 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
2031 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2032 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2033 0x00, 0xf2, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
2035 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
2036 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2037 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2038 0x00, 0xf2, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
2040 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
2041 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2042 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2043 0x00, 0xf2, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
2045 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
2046 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2047 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2048 0x00, 0xf0, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
2050 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
2051 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2052 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2053 0x00, 0xf0, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
2055 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
2056 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2057 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2058 0x00, 0xf0, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
2060 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
2061 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2062 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2063 0x00, 0xf0, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
2065 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
2066 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2067 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2068 0x00, 0xf0, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
2070 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
2071 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2072 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2073 0x00, 0xf0, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
2075 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
2076 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2077 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2078 0x00, 0xf0, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
2080 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
2081 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2082 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2083 0x00, 0xf0, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
2085 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
2086 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2087 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2088 0x00, 0xf0, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
2090 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2091 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2092 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2093 0x00, 0xf0, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
2095 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2096 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2097 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2098 0x00, 0xf0, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
2100 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2101 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2102 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2103 0x00, 0xf0, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
2105 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2106 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2107 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2108 0x00, 0xf0, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
2110 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2111 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f,
2112 0x00, 0x07, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x07,
2113 0x00, 0xf0, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
2115 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2116 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f,
2117 0x00, 0x07, 0x00, 0xf0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x07,
2118 0x00, 0xf0, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
2120 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
2121 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2122 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2123 0x0f, 0x00, 0x0e, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
2125 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
2126 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2127 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2128 0x0f, 0x00, 0x0e, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
2130 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
2131 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2132 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2133 0x0f, 0x00, 0x0e, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
2135 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
2136 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x04, 0x00,
2137 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfd, 0x00, 0x04, 0x00, 0x70, 0x00,
2138 0x0f, 0x00, 0x0e, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
2140 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
2141 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x04, 0x00,
2142 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfb, 0x00, 0x04, 0x00, 0x70, 0x00,
2143 0x0f, 0x00, 0x0e, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
2145 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
2146 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00,
2147 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x70, 0x00,
2148 0x0f, 0x00, 0x0e, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
2150 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
2151 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x04, 0x00,
2152 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf8, 0x00, 0x04, 0x00, 0x70, 0x00,
2153 0x0f, 0x00, 0x0e, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
2155 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
2156 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x04, 0x00,
2157 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf7, 0x00, 0x04, 0x00, 0x70, 0x00,
2158 0x0f, 0x00, 0x0e, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
2160 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
2161 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x04, 0x00,
2162 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf6, 0x00, 0x04, 0x00, 0x70, 0x00,
2163 0x0f, 0x00, 0x0e, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
2165 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
2166 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x04, 0x00,
2167 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf5, 0x00, 0x04, 0x00, 0x70, 0x00,
2168 0x0f, 0x00, 0x0e, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
2170 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
2171 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x04, 0x00,
2172 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x70, 0x00,
2173 0x0f, 0x00, 0x0e, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
2175 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
2176 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x04, 0x00,
2177 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf3, 0x00, 0x04, 0x00, 0x70, 0x00,
2178 0x0f, 0x00, 0x0e, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
2180 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
2181 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x04, 0x00,
2182 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x70, 0x00,
2183 0x0f, 0x00, 0x0e, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
2185 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
2186 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x04, 0x00,
2187 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x70, 0x00,
2188 0x0f, 0x00, 0x0e, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
2191 static struct chan_info_nphy_radio205x chan_info_nphyrev5_2056v5[] = {
2193 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
2194 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2195 0x00, 0x0f, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0f,
2196 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
2198 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
2199 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2200 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2201 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
2203 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
2204 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2205 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2206 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
2208 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
2209 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2210 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2211 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
2213 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
2214 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2215 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0e,
2216 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
2218 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
2219 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2220 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2221 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
2223 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
2224 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2225 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2226 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
2228 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
2229 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2230 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2231 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
2233 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
2234 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2235 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2236 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
2238 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
2239 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2240 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2241 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
2243 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
2244 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
2245 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0d,
2246 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
2248 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
2249 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
2250 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2251 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
2253 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
2254 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
2255 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2256 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
2258 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
2259 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
2260 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2261 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
2263 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
2264 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x70,
2265 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2266 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
2268 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
2269 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x70,
2270 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2271 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
2273 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
2274 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2275 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2276 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
2278 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
2279 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2280 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2281 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
2283 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
2284 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2285 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2286 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
2288 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
2289 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2290 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2291 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
2293 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
2294 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2295 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2296 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
2298 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
2299 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x70,
2300 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0a,
2301 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
2303 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
2304 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
2305 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x0a,
2306 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
2308 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
2309 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
2310 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x09,
2311 0x00, 0x6e, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
2313 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
2314 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x06, 0x00, 0x70,
2315 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2316 0x00, 0x6e, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
2318 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
2319 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2320 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2321 0x00, 0x6e, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
2323 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
2324 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2325 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2326 0x00, 0x6e, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
2328 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
2329 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2330 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2331 0x00, 0x6e, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
2333 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
2334 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2335 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2336 0x00, 0x6e, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
2338 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2339 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2340 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2341 0x00, 0x6e, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
2343 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2344 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xea, 0x00, 0x06, 0x00, 0x70,
2345 0x00, 0x08, 0x00, 0x9e, 0x00, 0xea, 0x00, 0x06, 0x00, 0x70, 0x00, 0x08,
2346 0x00, 0x6e, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
2348 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2349 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xe9, 0x00, 0x05, 0x00, 0x70,
2350 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2351 0x00, 0x6d, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
2353 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2354 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xe9, 0x00, 0x05, 0x00, 0x70,
2355 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2356 0x00, 0x6d, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
2358 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2359 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xd9, 0x00, 0x05, 0x00, 0x70,
2360 0x00, 0x08, 0x00, 0x9d, 0x00, 0xd9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2361 0x00, 0x6d, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
2363 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2364 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xd8, 0x00, 0x04, 0x00, 0x70,
2365 0x00, 0x07, 0x00, 0x9c, 0x00, 0xd8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2366 0x00, 0x6c, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
2368 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
2369 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2370 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2371 0x00, 0x6c, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
2373 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
2374 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2375 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2376 0x00, 0x6c, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
2378 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
2379 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2380 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2381 0x00, 0x6c, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
2383 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
2384 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2385 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2386 0x00, 0x6c, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
2388 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
2389 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb8, 0x00, 0x04, 0x00, 0x70,
2390 0x00, 0x07, 0x00, 0x9c, 0x00, 0xb8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2391 0x00, 0x6c, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
2393 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
2394 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb7, 0x00, 0x04, 0x00, 0x70,
2395 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2396 0x00, 0x6b, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
2398 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
2399 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb7, 0x00, 0x03, 0x00, 0x70,
2400 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x07,
2401 0x00, 0x6b, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
2403 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
2404 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa7, 0x00, 0x03, 0x00, 0x70,
2405 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2406 0x00, 0x6b, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
2408 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
2409 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa6, 0x00, 0x03, 0x00, 0x70,
2410 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2411 0x00, 0x6b, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
2413 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
2414 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa6, 0x00, 0x03, 0x00, 0x70,
2415 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2416 0x00, 0x5b, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
2418 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2419 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x96, 0x00, 0x03, 0x00, 0x70,
2420 0x00, 0x06, 0x00, 0x9a, 0x00, 0x96, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2421 0x00, 0x5a, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
2423 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2424 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x95, 0x00, 0x03, 0x00, 0x70,
2425 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2426 0x00, 0x5a, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
2428 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2429 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2430 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2431 0x00, 0x5a, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
2433 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2434 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2435 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
2436 0x00, 0x5a, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
2438 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2439 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2440 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
2441 0x00, 0x5a, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
2443 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2444 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x85, 0x00, 0x02, 0x00, 0x70,
2445 0x00, 0x05, 0x00, 0x99, 0x00, 0x85, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2446 0x00, 0x59, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
2448 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
2449 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2450 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2451 0x00, 0x59, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
2453 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
2454 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2455 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2456 0x00, 0x59, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
2458 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
2459 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2460 0x00, 0x04, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x04,
2461 0x00, 0x69, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
2463 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
2464 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x74, 0x00, 0x01, 0x00, 0x70,
2465 0x00, 0x04, 0x00, 0x99, 0x00, 0x74, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2466 0x00, 0x69, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
2468 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
2469 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x73, 0x00, 0x01, 0x00, 0x70,
2470 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2471 0x00, 0x68, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
2473 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
2474 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x73, 0x00, 0x01, 0x00, 0x70,
2475 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2476 0x00, 0x68, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
2478 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
2479 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2480 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2481 0x00, 0x78, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
2483 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
2484 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2485 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2486 0x00, 0x78, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
2488 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
2489 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2490 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2491 0x00, 0x78, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
2493 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
2494 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x63, 0x00, 0x01, 0x00, 0x70,
2495 0x00, 0x03, 0x00, 0x98, 0x00, 0x63, 0x00, 0x01, 0x00, 0x70, 0x00, 0x03,
2496 0x00, 0x78, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
2498 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2499 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2500 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2501 0x00, 0x77, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
2503 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2504 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2505 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2506 0x00, 0x77, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
2508 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2509 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2510 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2511 0x00, 0x77, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
2513 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2514 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x52, 0x00, 0x00, 0x00, 0x70,
2515 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2516 0x00, 0x76, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
2518 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2519 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x52, 0x00, 0x00, 0x00, 0x70,
2520 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2521 0x00, 0x76, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
2523 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2524 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x51, 0x00, 0x00, 0x00, 0x70,
2525 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2526 0x00, 0x76, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
2528 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
2529 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2530 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2531 0x00, 0x76, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
2533 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
2534 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2535 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2536 0x00, 0x76, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
2538 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
2539 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2540 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2541 0x00, 0x76, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
2543 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
2544 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2545 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2546 0x00, 0x76, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
2548 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
2549 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2550 0x00, 0x02, 0x00, 0x95, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2551 0x00, 0x75, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
2553 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
2554 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x50, 0x00, 0x00, 0x00, 0x70,
2555 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2556 0x00, 0x75, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
2558 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
2559 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x50, 0x00, 0x00, 0x00, 0x70,
2560 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2561 0x00, 0x75, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
2563 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
2564 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2565 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2566 0x00, 0x74, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
2568 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
2569 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2570 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2571 0x00, 0x74, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
2573 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
2574 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2575 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2576 0x00, 0x74, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
2578 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2579 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2580 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2581 0x00, 0x74, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
2583 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2584 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2585 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2586 0x00, 0x74, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
2588 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2589 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2590 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2591 0x00, 0x74, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
2593 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
2594 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2595 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2596 0x00, 0x74, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
2598 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2599 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2600 0x00, 0x01, 0x00, 0x94, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2601 0x00, 0x84, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
2603 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
2604 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2605 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2606 0x00, 0x83, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
2608 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2609 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2610 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2611 0x00, 0x83, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
2613 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
2614 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2615 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2616 0x00, 0x83, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
2618 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2619 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2620 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2621 0x00, 0x83, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
2623 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
2624 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2625 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2626 0x00, 0x83, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
2628 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
2629 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2630 0x00, 0x00, 0x00, 0x93, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2631 0x00, 0x83, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
2633 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
2634 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2635 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2636 0x00, 0x82, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
2638 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
2639 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2640 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2641 0x00, 0x82, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
2643 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
2644 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2645 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2646 0x00, 0x82, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
2648 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
2649 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2650 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2651 0x00, 0x82, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
2653 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
2654 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2655 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2656 0x00, 0x82, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
2658 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
2659 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2660 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2661 0x00, 0x82, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
2663 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
2664 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2665 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2666 0x00, 0x82, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
2668 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 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, 0x82, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
2673 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 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, 0x82, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
2678 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
2679 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2680 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2681 0x00, 0x82, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
2683 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
2684 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2685 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2686 0x00, 0x82, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
2688 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
2689 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2690 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2691 0x00, 0x82, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
2693 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
2694 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2695 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2696 0x00, 0x82, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
2698 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
2699 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2700 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2701 0x00, 0x72, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
2703 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
2704 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2705 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2706 0x00, 0x72, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
2708 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
2709 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2710 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2711 0x00, 0x72, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
2713 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2714 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2715 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2716 0x00, 0x72, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
2718 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2719 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2720 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2721 0x00, 0x71, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
2723 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2724 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2725 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2726 0x00, 0x71, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
2728 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2729 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2730 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2731 0x00, 0x71, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
2733 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2734 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
2735 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2736 0x00, 0x71, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
2738 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2739 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
2740 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2741 0x00, 0x71, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
2743 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
2744 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x03, 0x00,
2745 0x70, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x03, 0x00, 0x70, 0x00,
2746 0x0f, 0x00, 0x0b, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
2748 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
2749 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x03, 0x00,
2750 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x1f, 0x00, 0x03, 0x00, 0x70, 0x00,
2751 0x0f, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
2753 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
2754 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00,
2755 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x70, 0x00,
2756 0x0f, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
2758 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
2759 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x03, 0x00,
2760 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x03, 0x00, 0x70, 0x00,
2761 0x0e, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
2763 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
2764 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x03, 0x00,
2765 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0c, 0x00, 0x03, 0x00, 0x70, 0x00,
2766 0x0e, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
2768 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
2769 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x03, 0x00,
2770 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x03, 0x00, 0x70, 0x00,
2771 0x0e, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
2773 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
2774 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x09, 0x00, 0x03, 0x00,
2775 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x03, 0x00, 0x70, 0x00,
2776 0x0e, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
2778 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
2779 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00,
2780 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x08, 0x00, 0x02, 0x00, 0x70, 0x00,
2781 0x0e, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
2783 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
2784 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x07, 0x00, 0x02, 0x00,
2785 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x07, 0x00, 0x02, 0x00, 0x70, 0x00,
2786 0x0e, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
2788 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
2789 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00,
2790 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x06, 0x00, 0x02, 0x00, 0x70, 0x00,
2791 0x0d, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
2793 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
2794 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x05, 0x00, 0x02, 0x00,
2795 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x05, 0x00, 0x02, 0x00, 0x70, 0x00,
2796 0x0d, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
2798 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
2799 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00,
2800 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x70, 0x00,
2801 0x0d, 0x00, 0x08, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
2803 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
2804 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x00,
2805 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x03, 0x00, 0x02, 0x00, 0x70, 0x00,
2806 0x0d, 0x00, 0x08, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
2808 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
2809 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
2810 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
2811 0x0d, 0x00, 0x08, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
2814 static struct chan_info_nphy_radio205x chan_info_nphyrev6_2056v6[] = {
2816 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
2817 0x00, 0x00, 0x00, 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, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
2821 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
2822 0x00, 0x00, 0x00, 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, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
2826 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
2827 0x00, 0x00, 0x00, 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, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
2831 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
2832 0x00, 0x00, 0x00, 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, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
2836 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 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, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
2841 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 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, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
2846 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 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, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
2851 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 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, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
2856 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 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, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
2861 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
2862 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2863 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2864 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
2866 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
2867 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2868 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2869 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
2871 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
2872 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2873 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2874 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
2876 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
2877 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2878 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2879 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
2881 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
2882 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2883 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2884 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
2886 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
2887 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2888 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2889 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
2891 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
2892 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2893 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2894 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
2896 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
2897 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2898 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2899 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
2901 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
2902 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2903 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2904 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
2906 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
2907 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
2908 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2909 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
2911 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
2912 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2913 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2914 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
2916 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
2917 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2918 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2919 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
2921 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
2922 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2923 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2924 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
2926 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
2927 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
2928 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2929 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
2931 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
2932 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
2933 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
2934 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
2936 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
2937 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
2938 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
2939 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
2941 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
2942 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
2943 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
2944 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
2946 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
2947 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
2948 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
2949 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
2951 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
2952 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
2953 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2954 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
2956 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
2957 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
2958 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2959 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
2961 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2962 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
2963 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2964 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
2966 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2967 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
2968 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2969 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
2971 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2972 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
2973 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2974 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
2976 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2977 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
2978 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2979 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
2981 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2982 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
2983 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
2984 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
2986 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2987 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
2988 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
2989 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
2991 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
2992 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2993 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2994 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
2996 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
2997 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2998 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2999 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
3001 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
3002 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
3003 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
3004 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
3006 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
3007 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
3008 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
3009 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
3011 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
3012 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
3013 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
3014 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
3016 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
3017 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
3018 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
3019 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
3021 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
3022 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
3023 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
3024 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
3026 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
3027 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
3028 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
3029 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
3031 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
3032 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
3033 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3034 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
3036 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
3037 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
3038 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3039 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
3041 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3042 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
3043 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3044 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
3046 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3047 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
3048 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3049 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
3051 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3052 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
3053 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3054 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
3056 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3057 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
3058 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3059 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
3061 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3062 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
3063 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3064 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
3066 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3067 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
3068 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3069 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
3071 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
3072 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
3073 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
3074 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
3076 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
3077 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
3078 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3079 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
3081 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
3082 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
3083 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3084 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
3086 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
3087 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
3088 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3089 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
3091 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
3092 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
3093 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3094 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
3096 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
3097 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
3098 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3099 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
3101 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
3102 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
3103 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3104 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
3106 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
3107 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
3108 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3109 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
3111 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
3112 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
3113 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3114 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
3116 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
3117 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
3118 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3119 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
3121 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3122 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
3123 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3124 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
3126 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3127 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
3128 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3129 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
3131 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3132 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
3133 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3134 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
3136 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3137 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
3138 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3139 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
3141 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3142 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
3143 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3144 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
3146 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3147 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
3148 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3149 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
3151 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
3152 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
3153 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3154 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
3156 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
3157 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
3158 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3159 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
3161 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
3162 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
3163 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3164 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
3166 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
3167 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
3168 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3169 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
3171 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
3172 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
3173 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3174 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
3176 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
3177 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
3178 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3179 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
3181 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
3182 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
3183 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3184 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
3186 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
3187 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
3188 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3189 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
3191 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
3192 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3193 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3194 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
3196 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
3197 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3198 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3199 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
3201 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3202 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3203 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3204 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
3206 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3207 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3208 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3209 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
3211 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3212 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3213 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3214 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
3216 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
3217 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3218 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3219 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
3221 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3222 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3223 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3224 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
3226 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
3227 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3228 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3229 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
3231 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3232 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3233 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3234 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
3236 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
3237 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3238 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3239 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
3241 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3242 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
3243 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3244 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
3246 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
3247 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
3248 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3249 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
3251 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
3252 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
3253 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3254 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
3256 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
3257 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3258 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3259 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
3261 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
3262 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3263 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3264 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
3266 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
3267 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3268 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3269 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
3271 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
3272 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3273 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3274 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
3276 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
3277 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
3278 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3279 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
3281 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
3282 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
3283 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3284 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
3286 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
3287 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3288 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3289 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
3291 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
3292 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3293 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3294 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
3296 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
3297 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3298 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3299 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
3301 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
3302 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3303 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3304 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
3306 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
3307 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3308 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3309 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
3311 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
3312 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3313 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3314 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
3316 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
3317 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3318 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3319 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
3321 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
3322 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3323 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3324 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
3326 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
3327 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3328 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3329 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
3331 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
3332 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3333 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3334 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
3336 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3337 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3338 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3339 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
3341 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3342 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3343 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3344 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
3346 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3347 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3348 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3349 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
3351 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3352 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3353 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3354 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
3356 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3357 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3358 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3359 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
3361 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3362 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3363 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3364 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
3366 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
3367 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3368 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3369 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
3371 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
3372 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3373 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3374 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
3376 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
3377 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
3378 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x67, 0x00, 0x03, 0x00, 0x70, 0x00,
3379 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
3381 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
3382 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
3383 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x57, 0x00, 0x03, 0x00, 0x70, 0x00,
3384 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
3386 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
3387 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
3388 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x56, 0x00, 0x03, 0x00, 0x70, 0x00,
3389 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
3391 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
3392 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
3393 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x46, 0x00, 0x03, 0x00, 0x70, 0x00,
3394 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
3396 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
3397 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
3398 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
3399 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
3401 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
3402 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
3403 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
3404 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
3406 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
3407 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
3408 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x23, 0x00, 0x02, 0x00, 0x70, 0x00,
3409 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
3411 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
3412 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
3413 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x12, 0x00, 0x02, 0x00, 0x70, 0x00,
3414 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
3416 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
3417 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
3418 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x02, 0x00, 0x02, 0x00, 0x70, 0x00,
3419 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
3421 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
3422 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
3423 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00,
3424 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
3426 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
3427 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
3428 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00,
3429 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
3431 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
3432 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
3433 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
3434 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
3437 static struct chan_info_nphy_radio205x chan_info_nphyrev5n6_2056v7[] = {
3439 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
3440 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3441 0x00, 0x0f, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0f,
3442 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
3444 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
3445 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3446 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3447 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
3449 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
3450 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3451 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3452 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
3454 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
3455 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3456 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3457 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
3459 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
3460 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3461 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0e,
3462 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
3464 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
3465 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3466 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3467 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
3469 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
3470 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3471 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3472 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
3474 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
3475 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3476 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3477 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
3479 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
3480 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3481 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3482 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
3484 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
3485 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3486 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3487 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
3489 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
3490 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
3491 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0d,
3492 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
3494 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
3495 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
3496 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3497 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
3499 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
3500 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
3501 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3502 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
3504 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
3505 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
3506 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3507 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
3509 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
3510 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x70,
3511 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3512 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
3514 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
3515 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x70,
3516 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3517 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
3519 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
3520 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3521 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3522 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
3524 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
3525 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3526 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3527 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
3529 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
3530 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3531 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3532 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
3534 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
3535 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3536 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3537 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
3539 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
3540 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3541 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3542 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
3544 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
3545 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x70,
3546 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0a,
3547 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
3549 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
3550 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
3551 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x0a,
3552 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
3554 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
3555 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
3556 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x09,
3557 0x00, 0x6e, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
3559 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
3560 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x06, 0x00, 0x70,
3561 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3562 0x00, 0x6e, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
3564 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
3565 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3566 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3567 0x00, 0x6e, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
3569 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
3570 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3571 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3572 0x00, 0x6e, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
3574 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
3575 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3576 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3577 0x00, 0x6e, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
3579 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
3580 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3581 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3582 0x00, 0x6e, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
3584 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3585 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xfa, 0x00, 0x06, 0x00, 0x70,
3586 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3587 0x00, 0x6e, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
3589 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3590 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xea, 0x00, 0x06, 0x00, 0x70,
3591 0x00, 0x08, 0x00, 0x9e, 0x00, 0xea, 0x00, 0x06, 0x00, 0x70, 0x00, 0x08,
3592 0x00, 0x6e, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
3594 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3595 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xe9, 0x00, 0x05, 0x00, 0x70,
3596 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3597 0x00, 0x6d, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
3599 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3600 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xe9, 0x00, 0x05, 0x00, 0x70,
3601 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3602 0x00, 0x6d, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
3604 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3605 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xd9, 0x00, 0x05, 0x00, 0x70,
3606 0x00, 0x08, 0x00, 0x9d, 0x00, 0xd9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3607 0x00, 0x6d, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
3609 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3610 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xd8, 0x00, 0x04, 0x00, 0x70,
3611 0x00, 0x07, 0x00, 0x9c, 0x00, 0xd8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3612 0x00, 0x6c, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
3614 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
3615 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3616 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3617 0x00, 0x6c, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
3619 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
3620 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3621 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3622 0x00, 0x6c, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
3624 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
3625 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3626 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3627 0x00, 0x6c, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
3629 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
3630 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3631 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3632 0x00, 0x6c, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
3634 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
3635 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb8, 0x00, 0x04, 0x00, 0x70,
3636 0x00, 0x07, 0x00, 0x9c, 0x00, 0xb8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3637 0x00, 0x6c, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
3639 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
3640 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xb7, 0x00, 0x04, 0x00, 0x70,
3641 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3642 0x00, 0x6b, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
3644 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
3645 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xb7, 0x00, 0x03, 0x00, 0x70,
3646 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x07,
3647 0x00, 0x6b, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
3649 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
3650 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa7, 0x00, 0x03, 0x00, 0x70,
3651 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3652 0x00, 0x6b, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
3654 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
3655 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0xa6, 0x00, 0x03, 0x00, 0x70,
3656 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3657 0x00, 0x6b, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
3659 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
3660 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0xa6, 0x00, 0x03, 0x00, 0x70,
3661 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3662 0x00, 0x7b, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
3664 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3665 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x96, 0x00, 0x03, 0x00, 0x70,
3666 0x00, 0x06, 0x00, 0x9a, 0x00, 0x96, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3667 0x00, 0x7a, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
3669 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3670 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x70,
3671 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3672 0x00, 0x7a, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
3674 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3675 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x70,
3676 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3677 0x00, 0x7a, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
3679 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3680 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x95, 0x00, 0x03, 0x00, 0x70,
3681 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
3682 0x00, 0x7a, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
3684 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3685 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x95, 0x00, 0x03, 0x00, 0x70,
3686 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
3687 0x00, 0x7a, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
3689 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3690 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x85, 0x00, 0x02, 0x00, 0x70,
3691 0x00, 0x05, 0x00, 0x99, 0x00, 0x85, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3692 0x00, 0x79, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
3694 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
3695 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x70,
3696 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3697 0x00, 0x79, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
3699 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
3700 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x02, 0x00, 0x70,
3701 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3702 0x00, 0x79, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
3704 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
3705 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x02, 0x00, 0x70,
3706 0x00, 0x04, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x04,
3707 0x00, 0x79, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
3709 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
3710 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x74, 0x00, 0x01, 0x00, 0x70,
3711 0x00, 0x04, 0x00, 0x99, 0x00, 0x74, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3712 0x00, 0x79, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
3714 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
3715 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
3716 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3717 0x00, 0x78, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
3719 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
3720 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x01, 0x00, 0x70,
3721 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3722 0x00, 0x78, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
3724 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
3725 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x01, 0x00, 0x70,
3726 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3727 0x00, 0x78, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
3729 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
3730 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x01, 0x00, 0x70,
3731 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3732 0x00, 0x78, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
3734 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
3735 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x01, 0x00, 0x70,
3736 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3737 0x00, 0x78, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
3739 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
3740 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x63, 0x00, 0x01, 0x00, 0x70,
3741 0x00, 0x03, 0x00, 0x98, 0x00, 0x63, 0x00, 0x01, 0x00, 0x70, 0x00, 0x03,
3742 0x00, 0x78, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
3744 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3745 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x62, 0x00, 0x00, 0x00, 0x70,
3746 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3747 0x00, 0x77, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
3749 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3750 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x70,
3751 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3752 0x00, 0x77, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
3754 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3755 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x70,
3756 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3757 0x00, 0x77, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
3759 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3760 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x52, 0x00, 0x00, 0x00, 0x70,
3761 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3762 0x00, 0x76, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
3764 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3765 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x52, 0x00, 0x00, 0x00, 0x70,
3766 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3767 0x00, 0x86, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
3769 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3770 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3771 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3772 0x00, 0x86, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
3774 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
3775 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3776 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3777 0x00, 0x86, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
3779 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
3780 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3781 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3782 0x00, 0x86, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
3784 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
3785 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3786 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3787 0x00, 0x86, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
3789 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
3790 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3791 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3792 0x00, 0x86, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
3794 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
3795 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x51, 0x00, 0x00, 0x00, 0x70,
3796 0x00, 0x02, 0x00, 0x95, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3797 0x00, 0x85, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
3799 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
3800 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x70,
3801 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3802 0x00, 0x85, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
3804 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
3805 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x70,
3806 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3807 0x00, 0x85, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
3809 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
3810 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
3811 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3812 0x00, 0x84, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
3814 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
3815 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3816 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3817 0x00, 0x84, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
3819 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
3820 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3821 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3822 0x00, 0x94, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
3824 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3825 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3826 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3827 0x00, 0x94, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
3829 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3830 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3831 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3832 0x00, 0x94, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
3834 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3835 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3836 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3837 0x00, 0x94, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
3839 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
3840 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3841 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3842 0x00, 0x94, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
3844 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3845 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3846 0x00, 0x01, 0x00, 0x94, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3847 0x00, 0x94, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
3849 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
3850 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3851 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3852 0x00, 0x93, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
3854 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3855 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3856 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3857 0x00, 0x93, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
3859 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
3860 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3861 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3862 0x00, 0x93, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
3864 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3865 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3866 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3867 0x00, 0x93, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
3869 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
3870 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x30, 0x00, 0x00, 0x00, 0x70,
3871 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3872 0x00, 0x93, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
3874 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
3875 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3876 0x00, 0x00, 0x00, 0x93, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3877 0x00, 0x93, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
3879 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
3880 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3881 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3882 0x00, 0x92, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
3884 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
3885 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3886 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3887 0x00, 0x92, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
3889 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
3890 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3891 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3892 0x00, 0x92, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
3894 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
3895 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x70,
3896 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3897 0x00, 0x92, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
3899 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 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, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
3904 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 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, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
3909 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 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, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
3914 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 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, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
3919 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 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, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
3924 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
3925 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3926 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3927 0x00, 0x92, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
3929 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
3930 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3931 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3932 0x00, 0x92, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
3934 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
3935 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3936 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3937 0x00, 0x92, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
3939 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
3940 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3941 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3942 0x00, 0x92, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
3944 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
3945 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3946 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3947 0x00, 0x92, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
3949 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
3950 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3951 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3952 0x00, 0x92, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
3954 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
3955 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3956 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3957 0x00, 0x92, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
3959 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3960 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3961 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3962 0x00, 0x92, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
3964 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3965 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3966 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3967 0x00, 0x91, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
3969 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3970 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3971 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3972 0x00, 0x91, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
3974 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3975 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3976 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3977 0x00, 0x91, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
3979 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3980 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3981 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3982 0x00, 0x91, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
3984 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3985 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3986 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3987 0x00, 0x91, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
3989 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
3990 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3991 0x70, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3992 0x0f, 0x00, 0x0b, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
3994 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
3995 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3996 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3997 0x0f, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
3999 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
4000 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
4001 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4002 0x0f, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
4004 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
4005 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
4006 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
4007 0x0e, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
4009 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
4010 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x03, 0x00,
4011 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
4012 0x0e, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
4014 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
4015 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x76, 0x00, 0x03, 0x00,
4016 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
4017 0x0e, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
4019 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
4020 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x66, 0x00, 0x03, 0x00,
4021 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x03, 0x00, 0x70, 0x00,
4022 0x0e, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
4024 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
4025 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x55, 0x00, 0x02, 0x00,
4026 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
4027 0x0e, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
4029 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
4030 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
4031 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
4032 0x0e, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
4034 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
4035 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
4036 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
4037 0x0d, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
4039 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
4040 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
4041 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
4042 0x0d, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
4044 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
4045 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x22, 0x00, 0x02, 0x00,
4046 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
4047 0x0d, 0x00, 0x08, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
4049 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
4050 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00,
4051 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
4052 0x0d, 0x00, 0x08, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
4054 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
4055 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
4056 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
4057 0x0d, 0x00, 0x08, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
4060 static struct chan_info_nphy_radio205x chan_info_nphyrev6_2056v8[] = {
4062 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
4063 0x00, 0x00, 0x00, 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, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
4067 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
4068 0x00, 0x00, 0x00, 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, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
4072 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
4073 0x00, 0x00, 0x00, 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, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
4077 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
4078 0x00, 0x00, 0x00, 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, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
4082 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 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, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
4087 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 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, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
4092 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 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, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
4097 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 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, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
4102 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 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, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
4107 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
4108 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4109 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4110 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
4112 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
4113 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4114 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4115 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
4117 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
4118 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4119 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4120 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
4122 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
4123 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4124 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4125 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
4127 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
4128 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4129 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4130 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
4132 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
4133 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4134 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4135 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
4137 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
4138 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4139 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4140 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
4142 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
4143 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4144 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4145 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
4147 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
4148 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4149 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4150 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
4152 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
4153 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
4154 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4155 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
4157 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
4158 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4159 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4160 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
4162 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
4163 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4164 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4165 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
4167 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
4168 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4169 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4170 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
4172 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
4173 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
4174 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4175 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
4177 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
4178 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4179 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4180 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
4182 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
4183 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4184 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4185 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
4187 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
4188 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4189 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
4190 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
4192 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
4193 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4194 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
4195 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
4197 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
4198 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4199 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4200 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
4202 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
4203 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4204 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4205 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
4207 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4208 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
4209 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4210 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
4212 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4213 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
4214 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4215 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
4217 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4218 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
4219 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4220 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
4222 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4223 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
4224 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4225 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
4227 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4228 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4229 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
4230 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
4232 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4233 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4234 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
4235 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
4237 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
4238 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4239 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4240 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
4242 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
4243 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4244 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4245 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
4247 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
4248 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4249 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4250 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
4252 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
4253 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4254 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4255 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
4257 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
4258 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
4259 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4260 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
4262 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
4263 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
4264 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4265 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
4267 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
4268 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4269 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4270 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
4272 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
4273 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4274 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4275 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
4277 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
4278 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4279 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4280 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
4282 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
4283 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4284 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4285 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
4287 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4288 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
4289 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4290 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
4292 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4293 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4294 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4295 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
4297 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4298 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4299 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4300 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
4302 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4303 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
4304 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4305 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
4307 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4308 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
4309 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4310 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
4312 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4313 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4314 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4315 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
4317 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
4318 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4319 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
4320 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
4322 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
4323 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4324 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4325 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
4327 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
4328 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4329 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4330 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
4332 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
4333 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
4334 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4335 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
4337 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
4338 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
4339 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4340 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
4342 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
4343 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
4344 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4345 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
4347 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
4348 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4349 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4350 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
4352 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
4353 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4354 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4355 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
4357 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
4358 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4359 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4360 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
4362 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
4363 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4364 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4365 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
4367 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4368 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
4369 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4370 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
4372 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4373 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4374 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4375 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
4377 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4378 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4379 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4380 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
4382 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4383 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
4384 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4385 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
4387 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4388 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
4389 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4390 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
4392 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4393 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
4394 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4395 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
4397 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
4398 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4399 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4400 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
4402 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
4403 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4404 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4405 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
4407 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
4408 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
4409 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4410 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
4412 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
4413 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
4414 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4415 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
4417 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
4418 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
4419 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4420 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
4422 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
4423 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
4424 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4425 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
4427 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
4428 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
4429 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4430 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
4432 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
4433 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
4434 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4435 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
4437 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
4438 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4439 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4440 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
4442 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
4443 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4444 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4445 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
4447 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4448 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4449 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4450 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
4452 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4453 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4454 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4455 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
4457 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4458 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4459 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4460 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
4462 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
4463 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4464 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4465 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
4467 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4468 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4469 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4470 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
4472 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
4473 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4474 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4475 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
4477 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4478 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4479 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4480 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
4482 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
4483 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4484 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4485 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
4487 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4488 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
4489 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4490 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
4492 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
4493 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
4494 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4495 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
4497 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
4498 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
4499 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4500 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
4502 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
4503 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4504 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4505 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
4507 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
4508 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4509 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4510 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
4512 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
4513 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4514 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4515 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
4517 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
4518 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4519 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4520 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
4522 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
4523 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
4524 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4525 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
4527 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
4528 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
4529 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4530 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
4532 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
4533 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4534 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4535 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
4537 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
4538 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4539 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4540 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
4542 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
4543 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4544 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4545 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
4547 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
4548 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4549 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4550 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
4552 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
4553 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4554 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4555 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
4557 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
4558 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4559 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4560 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
4562 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
4563 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4564 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4565 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
4567 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
4568 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4569 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4570 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
4572 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
4573 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4574 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4575 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
4577 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
4578 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4579 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4580 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
4582 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4583 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4584 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4585 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
4587 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4588 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4589 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4590 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
4592 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4593 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4594 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4595 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
4597 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4598 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4599 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4600 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
4602 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4603 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4604 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4605 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
4607 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4608 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4609 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4610 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
4612 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
4613 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
4614 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4615 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
4617 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
4618 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
4619 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4620 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
4622 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
4623 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
4624 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4625 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
4627 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
4628 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
4629 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
4630 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
4632 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
4633 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
4634 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
4635 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
4637 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
4638 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
4639 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
4640 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
4642 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
4643 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
4644 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x02, 0x00, 0x70, 0x00,
4645 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
4647 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
4648 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
4649 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
4650 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
4652 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
4653 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
4654 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
4655 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
4657 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
4658 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
4659 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
4660 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
4662 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
4663 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
4664 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
4665 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
4667 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
4668 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
4669 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
4670 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
4672 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
4673 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
4674 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
4675 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
4677 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
4678 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
4679 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
4680 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
4683 static struct chan_info_nphy_radio205x chan_info_nphyrev6_2056v11[] = {
4685 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x02, 0x0c, 0x01,
4686 0x00, 0x00, 0x00, 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, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
4690 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x02, 0x0c, 0x01,
4691 0x00, 0x00, 0x00, 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, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
4695 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x02, 0x0c, 0x01,
4696 0x00, 0x00, 0x00, 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, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
4700 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x02, 0x0c, 0x01,
4701 0x00, 0x00, 0x00, 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, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
4705 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 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, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
4710 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 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, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
4715 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 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, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
4720 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 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, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
4725 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 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, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
4730 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x02, 0x0c, 0x01,
4731 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4732 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4733 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
4735 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x02, 0x0c, 0x01,
4736 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4737 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4738 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
4740 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x02, 0x0c, 0x01,
4741 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4742 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4743 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
4745 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x02, 0x0c, 0x01,
4746 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4747 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4748 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
4750 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x02, 0x0c, 0x01,
4751 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4752 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4753 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
4755 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x02, 0x0c, 0x01,
4756 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4757 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4758 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
4760 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x02, 0x0c, 0x01,
4761 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4762 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4763 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
4765 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x02, 0x0c, 0x01,
4766 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4767 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4768 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
4770 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x02, 0x0c, 0x01,
4771 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4772 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4773 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
4775 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x02, 0x0c, 0x01,
4776 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
4777 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4778 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
4780 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x02, 0x0c, 0x01,
4781 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4782 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4783 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
4785 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x02, 0x0c, 0x01,
4786 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4787 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4788 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
4790 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x02, 0x0c, 0x01,
4791 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4792 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4793 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
4795 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x02, 0x0c, 0x01,
4796 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
4797 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4798 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
4800 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x02, 0x0c, 0x01,
4801 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4802 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4803 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
4805 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x02, 0x0c, 0x01,
4806 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4807 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4808 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
4810 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x02, 0x0c, 0x01,
4811 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4812 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
4813 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
4815 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x02, 0x0c, 0x01,
4816 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4817 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
4818 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
4820 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x02, 0x0c, 0x01,
4821 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4822 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4823 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
4825 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x02, 0x0c, 0x01,
4826 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4827 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4828 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
4830 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4831 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
4832 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4833 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
4835 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4836 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
4837 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4838 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
4840 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4841 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
4842 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4843 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
4845 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4846 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
4847 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4848 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
4850 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4851 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4852 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
4853 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
4855 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4856 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4857 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
4858 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
4860 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x02, 0x0c, 0x01,
4861 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4862 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4863 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
4865 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x02, 0x0c, 0x01,
4866 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4867 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4868 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
4870 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x02, 0x0c, 0x01,
4871 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4872 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4873 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
4875 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x02, 0x0c, 0x01,
4876 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4877 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4878 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
4880 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x02, 0x0c, 0x01,
4881 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
4882 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4883 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
4885 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x02, 0x0c, 0x01,
4886 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
4887 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4888 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
4890 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x02, 0x0c, 0x01,
4891 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4892 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4893 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
4895 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x02, 0x0c, 0x01,
4896 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4897 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4898 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
4900 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x02, 0x0c, 0x01,
4901 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4902 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4903 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
4905 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x02, 0x0c, 0x01,
4906 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4907 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4908 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
4910 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4911 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
4912 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4913 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
4915 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4916 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4917 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4918 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
4920 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4921 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4922 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4923 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
4925 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4926 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
4927 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4928 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
4930 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4931 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
4932 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4933 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
4935 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4936 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4937 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4938 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
4940 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x02, 0x0c, 0x01,
4941 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4942 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
4943 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
4945 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x02, 0x0c, 0x01,
4946 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4947 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4948 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
4950 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x02, 0x0c, 0x01,
4951 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4952 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4953 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
4955 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x02, 0x0c, 0x01,
4956 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
4957 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4958 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
4960 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x02, 0x0c, 0x01,
4961 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
4962 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4963 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
4965 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x02, 0x0c, 0x01,
4966 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
4967 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4968 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
4970 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x02, 0x0c, 0x01,
4971 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4972 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4973 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
4975 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x02, 0x0c, 0x01,
4976 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4977 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4978 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
4980 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x02, 0x0c, 0x01,
4981 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4982 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4983 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
4985 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x02, 0x0c, 0x01,
4986 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4987 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4988 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
4990 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4991 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
4992 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4993 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
4995 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4996 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4997 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4998 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
5000 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x02, 0x0c, 0x01,
5001 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
5002 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
5003 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
5005 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x02, 0x0c, 0x01,
5006 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
5007 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
5008 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
5010 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x02, 0x0c, 0x01,
5011 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
5012 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
5013 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
5015 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x02, 0x0c, 0x01,
5016 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
5017 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
5018 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
5020 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x02, 0x0c, 0x01,
5021 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
5022 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
5023 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
5025 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x02, 0x0c, 0x01,
5026 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
5027 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
5028 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
5030 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x02, 0x0c, 0x01,
5031 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
5032 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5033 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
5035 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x02, 0x0c, 0x01,
5036 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
5037 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5038 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
5040 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x02, 0x0c, 0x01,
5041 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
5042 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5043 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
5045 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x02, 0x0c, 0x01,
5046 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
5047 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5048 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
5050 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x02, 0x0c, 0x01,
5051 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
5052 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5053 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
5055 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x02, 0x0c, 0x01,
5056 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
5057 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5058 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
5060 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x02, 0x0c, 0x01,
5061 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5062 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5063 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
5065 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x02, 0x0c, 0x01,
5066 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5067 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5068 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
5070 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x02, 0x0c, 0x01,
5071 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5072 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5073 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
5075 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x02, 0x0c, 0x01,
5076 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5077 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5078 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
5080 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x02, 0x0c, 0x01,
5081 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5082 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5083 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
5085 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x05, 0x05, 0x02, 0x15, 0x01,
5086 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5087 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5088 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
5090 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x02, 0x0c, 0x01,
5091 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5092 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5093 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
5095 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x05, 0x05, 0x02, 0x15, 0x01,
5096 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5097 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5098 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
5100 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x02, 0x0c, 0x01,
5101 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5102 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5103 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
5105 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x05, 0x05, 0x02, 0x15, 0x01,
5106 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5107 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5108 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
5110 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x02, 0x0c, 0x01,
5111 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
5112 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5113 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
5115 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x05, 0x05, 0x02, 0x15, 0x01,
5116 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
5117 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5118 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
5120 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x02, 0x0c, 0x01,
5121 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
5122 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5123 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
5125 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x05, 0x05, 0x02, 0x15, 0x01,
5126 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5127 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5128 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
5130 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x02, 0x0c, 0x01,
5131 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5132 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5133 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
5135 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x05, 0x05, 0x02, 0x15, 0x01,
5136 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5137 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5138 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
5140 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x02, 0x0c, 0x01,
5141 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5142 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5143 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
5145 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x05, 0x05, 0x02, 0x15, 0x01,
5146 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
5147 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5148 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
5150 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x02, 0x0c, 0x01,
5151 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
5152 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5153 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
5155 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x05, 0x05, 0x02, 0x15, 0x01,
5156 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5157 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5158 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
5160 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x02, 0x0c, 0x01,
5161 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5162 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5163 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
5165 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x05, 0x05, 0x02, 0x15, 0x01,
5166 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5167 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5168 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
5170 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x02, 0x0c, 0x01,
5171 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5172 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5173 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
5175 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x05, 0x05, 0x02, 0x15, 0x01,
5176 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5177 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5178 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
5180 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x02, 0x0c, 0x01,
5181 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5182 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5183 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
5185 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x05, 0x05, 0x02, 0x15, 0x01,
5186 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5187 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5188 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
5190 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x02, 0x0c, 0x01,
5191 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5192 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5193 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
5195 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x02, 0x0c, 0x01,
5196 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5197 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5198 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
5200 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x02, 0x0c, 0x01,
5201 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5202 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5203 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
5205 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x02, 0x0c, 0x01,
5206 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5207 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5208 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
5210 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x02, 0x0c, 0x01,
5211 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5212 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5213 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
5215 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x02, 0x0c, 0x01,
5216 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5217 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5218 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
5220 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x02, 0x0c, 0x01,
5221 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5222 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5223 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
5225 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x02, 0x0c, 0x01,
5226 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5227 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5228 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
5230 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x02, 0x0c, 0x01,
5231 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5232 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5233 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
5235 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x06, 0x06, 0x04, 0x2b, 0x01,
5236 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
5237 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5238 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
5240 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x06, 0x06, 0x04, 0x2b, 0x01,
5241 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
5242 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5243 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
5245 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x06, 0x06, 0x04, 0x2b, 0x01,
5246 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
5247 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5248 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
5250 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x06, 0x06, 0x04, 0x2b, 0x01,
5251 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
5252 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
5253 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
5255 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x06, 0x06, 0x04, 0x2b, 0x01,
5256 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
5257 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
5258 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
5260 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x06, 0x06, 0x04, 0x2b, 0x01,
5261 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
5262 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
5263 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
5265 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x06, 0x06, 0x04, 0x2b, 0x01,
5266 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
5267 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x02, 0x00, 0x70, 0x00,
5268 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
5270 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x06, 0x06, 0x04, 0x2b, 0x01,
5271 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
5272 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
5273 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
5275 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x06, 0x06, 0x04, 0x2b, 0x01,
5276 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
5277 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
5278 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
5280 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x06, 0x06, 0x04, 0x2b, 0x01,
5281 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
5282 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
5283 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
5285 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x06, 0x06, 0x04, 0x2b, 0x01,
5286 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
5287 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
5288 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
5290 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x06, 0x06, 0x04, 0x2b, 0x01,
5291 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
5292 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
5293 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
5295 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x06, 0x06, 0x04, 0x2b, 0x01,
5296 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
5297 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
5298 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
5300 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x06, 0x06, 0x04, 0x2b, 0x01,
5301 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
5302 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
5303 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
5306 static struct chan_info_nphy_radio2057 chan_info_nphyrev7_2057_rev4[] = {
5308 184, 4920, 0x68, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xec, 0x01, 0x0f,
5309 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5310 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07b4, 0x07b0, 0x07ac, 0x0214,
5315 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
5316 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5317 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07b8, 0x07b4, 0x07b0, 0x0213,
5322 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
5323 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5324 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07bc, 0x07b8, 0x07b4, 0x0212,
5329 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
5330 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5331 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c0, 0x07bc, 0x07b8, 0x0211,
5336 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
5337 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5338 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c4, 0x07c0, 0x07bc, 0x020f,
5343 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
5344 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5345 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c8, 0x07c4, 0x07c0, 0x020e,
5350 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
5351 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5352 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07cc, 0x07c8, 0x07c4, 0x020d,
5357 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
5358 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5359 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d0, 0x07cc, 0x07c8, 0x020c,
5364 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
5365 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5366 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d4, 0x07d0, 0x07cc, 0x020b,
5371 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
5372 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5373 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d8, 0x07d4, 0x07d0, 0x020a,
5378 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
5379 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5380 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07dc, 0x07d8, 0x07d4, 0x0209,
5385 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
5386 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5387 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e0, 0x07dc, 0x07d8, 0x0208,
5392 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
5393 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5394 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e4, 0x07e0, 0x07dc, 0x0207,
5399 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
5400 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5401 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e8, 0x07e4, 0x07e0, 0x0206,
5406 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
5407 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5408 0x00, 0x0f, 0x0f, 0xe3, 0x00, 0xef, 0x07ec, 0x07e8, 0x07e4, 0x0205,
5413 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
5414 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5415 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x07f0, 0x07ec, 0x07e8, 0x0204,
5420 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
5421 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5422 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x07f4, 0x07f0, 0x07ec, 0x0203,
5427 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
5428 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5429 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x07f8, 0x07f4, 0x07f0, 0x0202,
5434 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
5435 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5436 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x07fc, 0x07f8, 0x07f4, 0x0201,
5441 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
5442 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5443 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0800, 0x07fc, 0x07f8, 0x0200,
5448 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
5449 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5450 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0804, 0x0800, 0x07fc, 0x01ff,
5455 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
5456 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5457 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0808, 0x0804, 0x0800, 0x01fe,
5462 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
5463 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5464 0x00, 0x0e, 0x0e, 0xe3, 0x00, 0xd6, 0x080c, 0x0808, 0x0804, 0x01fd,
5469 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
5470 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5471 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x0814, 0x0810, 0x080c, 0x01fb,
5476 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
5477 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5478 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x0818, 0x0814, 0x0810, 0x01fa,
5483 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
5484 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5485 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x081c, 0x0818, 0x0814, 0x01f9,
5490 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
5491 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5492 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0820, 0x081c, 0x0818, 0x01f8,
5497 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
5498 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5499 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0824, 0x0820, 0x081c, 0x01f7,
5504 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
5505 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5506 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0828, 0x0824, 0x0820, 0x01f6,
5511 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
5512 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5513 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x082c, 0x0828, 0x0824, 0x01f5,
5518 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
5519 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5520 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0830, 0x082c, 0x0828, 0x01f4,
5525 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
5526 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5527 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0834, 0x0830, 0x082c, 0x01f3,
5532 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
5533 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5534 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0838, 0x0834, 0x0830, 0x01f2,
5539 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
5540 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x00,
5541 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x083c, 0x0838, 0x0834, 0x01f1,
5546 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
5547 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x00,
5548 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x0840, 0x083c, 0x0838, 0x01f0,
5553 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
5554 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5555 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x0844, 0x0840, 0x083c, 0x01f0,
5560 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
5561 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5562 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x0848, 0x0844, 0x0840, 0x01ef,
5567 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
5568 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5569 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x084c, 0x0848, 0x0844, 0x01ee,
5574 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
5575 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5576 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0850, 0x084c, 0x0848, 0x01ed,
5581 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
5582 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5583 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0854, 0x0850, 0x084c, 0x01ec,
5588 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
5589 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5590 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0858, 0x0854, 0x0850, 0x01eb,
5595 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
5596 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0c, 0xc3, 0x00, 0xa1, 0x00,
5597 0x00, 0x0a, 0x0c, 0xc3, 0x00, 0xa1, 0x085c, 0x0858, 0x0854, 0x01ea,
5602 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
5603 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5604 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0860, 0x085c, 0x0858, 0x01e9,
5609 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
5610 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5611 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0864, 0x0860, 0x085c, 0x01e8,
5616 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
5617 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5618 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0868, 0x0864, 0x0860, 0x01e7,
5623 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
5624 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5625 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x086c, 0x0868, 0x0864, 0x01e6,
5630 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
5631 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0a, 0xa3, 0x00, 0xa1, 0x00,
5632 0x00, 0x0a, 0x0a, 0xa3, 0x00, 0xa1, 0x0870, 0x086c, 0x0868, 0x01e5,
5637 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
5638 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x00,
5639 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x0874, 0x0870, 0x086c, 0x01e5,
5644 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
5645 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x00,
5646 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x0878, 0x0874, 0x0870, 0x01e4,
5651 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
5652 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0xa3, 0x00, 0x90, 0x00,
5653 0x00, 0x09, 0x09, 0xa3, 0x00, 0x90, 0x087c, 0x0878, 0x0874, 0x01e3,
5658 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
5659 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5660 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0880, 0x087c, 0x0878, 0x01e2,
5665 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
5666 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5667 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0884, 0x0880, 0x087c, 0x01e1,
5672 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
5673 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5674 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0888, 0x0884, 0x0880, 0x01e0,
5679 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
5680 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x08, 0x93, 0x00, 0x90, 0x00,
5681 0x00, 0x08, 0x08, 0x93, 0x00, 0x90, 0x088c, 0x0888, 0x0884, 0x01df,
5686 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
5687 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x08, 0x93, 0x00, 0x60, 0x00,
5688 0x00, 0x08, 0x08, 0x93, 0x00, 0x60, 0x0890, 0x088c, 0x0888, 0x01de,
5693 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
5694 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5695 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x0894, 0x0890, 0x088c, 0x01dd,
5700 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
5701 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5702 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x0898, 0x0894, 0x0890, 0x01dd,
5707 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
5708 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5709 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x089c, 0x0898, 0x0894, 0x01dc,
5714 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
5715 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5716 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x08a0, 0x089c, 0x0898, 0x01db,
5721 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
5722 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5723 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08a4, 0x08a0, 0x089c, 0x01da,
5728 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
5729 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5730 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
5735 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
5736 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5737 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
5742 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
5743 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5744 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
5749 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
5750 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5751 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
5756 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
5757 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5758 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
5763 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
5764 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x05, 0x83, 0x00, 0x60, 0x00,
5765 0x00, 0x07, 0x05, 0x83, 0x00, 0x60, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
5770 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
5771 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x04, 0x83, 0x00, 0x60, 0x00,
5772 0x00, 0x07, 0x04, 0x83, 0x00, 0x60, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
5777 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
5778 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x04, 0x73, 0x00, 0x30, 0x00,
5779 0x00, 0x07, 0x04, 0x73, 0x00, 0x30, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
5784 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
5785 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5786 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
5791 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
5792 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5793 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
5798 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
5799 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5800 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
5805 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
5806 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5807 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
5812 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
5813 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x00,
5814 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
5819 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
5820 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x00,
5821 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
5826 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
5827 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x03, 0x63, 0x00, 0x00, 0x00,
5828 0x00, 0x05, 0x03, 0x63, 0x00, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
5833 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
5834 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5835 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
5840 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
5841 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5842 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
5847 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
5848 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5849 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
5854 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
5855 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5856 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
5861 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
5862 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5863 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
5868 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
5869 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x05, 0x01, 0x53, 0x00, 0x00, 0x00,
5870 0x00, 0x05, 0x01, 0x53, 0x00, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
5875 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
5876 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5877 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
5882 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
5883 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5884 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
5889 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
5890 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5891 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
5896 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
5897 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5898 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
5903 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
5904 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5905 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
5910 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
5911 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5912 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
5917 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
5918 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5919 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
5924 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
5925 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5926 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
5931 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
5932 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5933 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
5938 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
5939 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5940 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
5945 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
5946 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x03, 0x01, 0x43, 0x00, 0x00, 0x00,
5947 0x00, 0x03, 0x01, 0x43, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
5952 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
5953 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5954 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
5959 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
5960 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5961 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
5966 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
5967 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5968 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
5973 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
5974 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5975 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
5980 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
5981 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5982 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
5987 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
5988 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5989 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
5994 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
5995 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5996 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
6001 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
6002 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6003 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
6008 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
6009 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6010 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
6015 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
6016 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6017 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
6022 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
6023 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6024 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
6029 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
6030 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6031 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
6036 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
6037 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6038 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
6043 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
6044 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6045 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
6050 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
6051 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6052 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
6057 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
6058 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6059 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
6064 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
6065 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6066 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
6071 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
6072 0x0a, 0x00, 0x0a, 0x00, 0x71, 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6073 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
6078 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
6079 0x0a, 0x00, 0x0a, 0x00, 0x71, 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6080 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
6085 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
6086 0x09, 0x00, 0x09, 0x00, 0x71, 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6087 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
6092 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
6093 0x09, 0x00, 0x09, 0x00, 0x71, 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6094 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
6099 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
6100 0x08, 0x00, 0x08, 0x00, 0x51, 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6101 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
6106 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
6107 0x08, 0x00, 0x08, 0x00, 0x51, 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6108 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
6113 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
6114 0x07, 0x00, 0x07, 0x00, 0x51, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6115 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
6120 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
6121 0x07, 0x00, 0x07, 0x00, 0x31, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6122 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
6127 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
6128 0x07, 0x00, 0x07, 0x00, 0x31, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6129 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
6134 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
6135 0x06, 0x00, 0x06, 0x00, 0x31, 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6136 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
6141 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
6142 0x06, 0x00, 0x06, 0x00, 0x31, 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6143 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
6148 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
6149 0x05, 0x00, 0x05, 0x00, 0x11, 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x11,
6150 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
6155 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
6156 0x05, 0x00, 0x05, 0x00, 0x11, 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x11,
6157 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
6162 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
6163 0x04, 0x00, 0x04, 0x00, 0x11, 0x43, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x11,
6164 0x43, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
6169 static struct chan_info_nphy_radio2057_rev5 chan_info_nphyrev8_2057_rev5[] = {
6171 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0d,
6172 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03c9, 0x03c5, 0x03c1,
6173 0x043a, 0x043f, 0x0443},
6175 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0d,
6176 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03cb, 0x03c7, 0x03c3,
6177 0x0438, 0x043d, 0x0441},
6179 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0d,
6180 0x08, 0x0e, 0x61, 0x03, 0xef, 0x61, 0x03, 0xef, 0x03cd, 0x03c9, 0x03c5,
6181 0x0436, 0x043a, 0x043f},
6183 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0c,
6184 0x08, 0x0e, 0x61, 0x03, 0xdf, 0x61, 0x03, 0xdf, 0x03cf, 0x03cb, 0x03c7,
6185 0x0434, 0x0438, 0x043d},
6187 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0c,
6188 0x07, 0x0d, 0x61, 0x03, 0xcf, 0x61, 0x03, 0xcf, 0x03d1, 0x03cd, 0x03c9,
6189 0x0431, 0x0436, 0x043a},
6191 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0c,
6192 0x07, 0x0d, 0x61, 0x03, 0xbf, 0x61, 0x03, 0xbf, 0x03d3, 0x03cf, 0x03cb,
6193 0x042f, 0x0434, 0x0438},
6195 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0b,
6196 0x07, 0x0d, 0x61, 0x03, 0xaf, 0x61, 0x03, 0xaf, 0x03d5, 0x03d1, 0x03cd,
6197 0x042d, 0x0431, 0x0436},
6199 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0b,
6200 0x07, 0x0d, 0x61, 0x03, 0x9f, 0x61, 0x03, 0x9f, 0x03d7, 0x03d3, 0x03cf,
6201 0x042b, 0x042f, 0x0434},
6203 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0b,
6204 0x07, 0x0d, 0x61, 0x03, 0x8f, 0x61, 0x03, 0x8f, 0x03d9, 0x03d5, 0x03d1,
6205 0x0429, 0x042d, 0x0431},
6207 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0b,
6208 0x07, 0x0c, 0x61, 0x03, 0x7f, 0x61, 0x03, 0x7f, 0x03db, 0x03d7, 0x03d3,
6209 0x0427, 0x042b, 0x042f},
6211 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0b,
6212 0x07, 0x0c, 0x61, 0x03, 0x6f, 0x61, 0x03, 0x6f, 0x03dd, 0x03d9, 0x03d5,
6213 0x0424, 0x0429, 0x042d},
6215 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0b,
6216 0x06, 0x0c, 0x61, 0x03, 0x5f, 0x61, 0x03, 0x5f, 0x03df, 0x03db, 0x03d7,
6217 0x0422, 0x0427, 0x042b},
6219 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0a,
6220 0x06, 0x0b, 0x61, 0x03, 0x4f, 0x61, 0x03, 0x4f, 0x03e1, 0x03dd, 0x03d9,
6221 0x0420, 0x0424, 0x0429},
6223 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0a,
6224 0x06, 0x0b, 0x61, 0x03, 0x3f, 0x61, 0x03, 0x3f, 0x03e6, 0x03e2, 0x03de,
6225 0x041b, 0x041f, 0x0424}
6228 static struct chan_info_nphy_radio2057_rev5 chan_info_nphyrev9_2057_rev5v1[] = {
6230 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0d,
6231 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03c9, 0x03c5, 0x03c1,
6232 0x043a, 0x043f, 0x0443},
6234 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0d,
6235 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03cb, 0x03c7, 0x03c3,
6236 0x0438, 0x043d, 0x0441},
6238 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0d,
6239 0x08, 0x0e, 0x61, 0x03, 0xef, 0x61, 0x03, 0xef, 0x03cd, 0x03c9, 0x03c5,
6240 0x0436, 0x043a, 0x043f},
6242 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0c,
6243 0x08, 0x0e, 0x61, 0x03, 0xdf, 0x61, 0x03, 0xdf, 0x03cf, 0x03cb, 0x03c7,
6244 0x0434, 0x0438, 0x043d},
6246 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0c,
6247 0x07, 0x0d, 0x61, 0x03, 0xcf, 0x61, 0x03, 0xcf, 0x03d1, 0x03cd, 0x03c9,
6248 0x0431, 0x0436, 0x043a},
6250 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0c,
6251 0x07, 0x0d, 0x61, 0x03, 0xbf, 0x61, 0x03, 0xbf, 0x03d3, 0x03cf, 0x03cb,
6252 0x042f, 0x0434, 0x0438},
6254 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0b,
6255 0x07, 0x0d, 0x61, 0x03, 0xaf, 0x61, 0x03, 0xaf, 0x03d5, 0x03d1, 0x03cd,
6256 0x042d, 0x0431, 0x0436},
6258 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0b,
6259 0x07, 0x0d, 0x61, 0x03, 0x9f, 0x61, 0x03, 0x9f, 0x03d7, 0x03d3, 0x03cf,
6260 0x042b, 0x042f, 0x0434},
6262 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0b,
6263 0x07, 0x0d, 0x61, 0x03, 0x8f, 0x61, 0x03, 0x8f, 0x03d9, 0x03d5, 0x03d1,
6264 0x0429, 0x042d, 0x0431},
6266 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0b,
6267 0x07, 0x0c, 0x61, 0x03, 0x7f, 0x61, 0x03, 0x7f, 0x03db, 0x03d7, 0x03d3,
6268 0x0427, 0x042b, 0x042f},
6270 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0b,
6271 0x07, 0x0c, 0x61, 0x03, 0x6f, 0x61, 0x03, 0x6f, 0x03dd, 0x03d9, 0x03d5,
6272 0x0424, 0x0429, 0x042d},
6274 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0b,
6275 0x06, 0x0c, 0x61, 0x03, 0x5f, 0x61, 0x03, 0x5f, 0x03df, 0x03db, 0x03d7,
6276 0x0422, 0x0427, 0x042b},
6278 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0a,
6279 0x06, 0x0b, 0x61, 0x03, 0x4f, 0x61, 0x03, 0x4f, 0x03e1, 0x03dd, 0x03d9,
6280 0x0420, 0x0424, 0x0429},
6282 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0a,
6283 0x06, 0x0b, 0x61, 0x03, 0x3f, 0x61, 0x03, 0x3f, 0x03e6, 0x03e2, 0x03de,
6284 0x041b, 0x041f, 0x0424}
6287 static struct chan_info_nphy_radio2057 chan_info_nphyrev8_2057_rev7[] = {
6289 184, 4920, 0x68, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xec, 0x01, 0x0f,
6290 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6291 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b4, 0x07b0, 0x07ac, 0x0214,
6295 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
6296 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6297 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b8, 0x07b4, 0x07b0, 0x0213,
6301 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
6302 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6303 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07bc, 0x07b8, 0x07b4, 0x0212,
6307 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
6308 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6309 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c0, 0x07bc, 0x07b8, 0x0211,
6313 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
6314 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6315 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c4, 0x07c0, 0x07bc, 0x020f,
6319 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
6320 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6321 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c8, 0x07c4, 0x07c0, 0x020e,
6325 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
6326 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6327 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07cc, 0x07c8, 0x07c4, 0x020d,
6331 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
6332 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6333 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07d0, 0x07cc, 0x07c8, 0x020c,
6337 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
6338 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6339 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d4, 0x07d0, 0x07cc, 0x020b,
6343 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
6344 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6345 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d8, 0x07d4, 0x07d0, 0x020a,
6349 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
6350 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6351 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07dc, 0x07d8, 0x07d4, 0x0209,
6355 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
6356 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6357 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e0, 0x07dc, 0x07d8, 0x0208,
6361 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
6362 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6363 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e4, 0x07e0, 0x07dc, 0x0207,
6367 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
6368 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6369 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e8, 0x07e4, 0x07e0, 0x0206,
6373 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
6374 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6375 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07ec, 0x07e8, 0x07e4, 0x0205,
6379 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
6380 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6381 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f0, 0x07ec, 0x07e8, 0x0204,
6385 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
6386 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6387 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f4, 0x07f0, 0x07ec, 0x0203,
6391 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
6392 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6393 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f8, 0x07f4, 0x07f0, 0x0202,
6397 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
6398 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6399 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x07fc, 0x07f8, 0x07f4, 0x0201,
6403 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
6404 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6405 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0800, 0x07fc, 0x07f8, 0x0200,
6409 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
6410 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6411 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0804, 0x0800, 0x07fc, 0x01ff,
6415 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
6416 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6417 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0808, 0x0804, 0x0800, 0x01fe,
6421 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
6422 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6423 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x080c, 0x0808, 0x0804, 0x01fd,
6427 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
6428 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6429 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0814, 0x0810, 0x080c, 0x01fb,
6433 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
6434 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6435 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0818, 0x0814, 0x0810, 0x01fa,
6439 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
6440 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6441 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x081c, 0x0818, 0x0814, 0x01f9,
6445 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
6446 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6447 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0820, 0x081c, 0x0818, 0x01f8,
6451 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
6452 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6453 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0824, 0x0820, 0x081c, 0x01f7,
6457 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
6458 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6459 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0828, 0x0824, 0x0820, 0x01f6,
6463 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
6464 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6465 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x082c, 0x0828, 0x0824, 0x01f5,
6469 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
6470 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6471 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0830, 0x082c, 0x0828, 0x01f4,
6475 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
6476 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6477 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0834, 0x0830, 0x082c, 0x01f3,
6481 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
6482 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6483 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0838, 0x0834, 0x0830, 0x01f2,
6487 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
6488 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6489 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x083c, 0x0838, 0x0834, 0x01f1,
6493 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
6494 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6495 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0840, 0x083c, 0x0838, 0x01f0,
6499 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
6500 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6501 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0844, 0x0840, 0x083c, 0x01f0,
6505 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
6506 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6507 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0848, 0x0844, 0x0840, 0x01ef,
6511 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
6512 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6513 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x084c, 0x0848, 0x0844, 0x01ee,
6517 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
6518 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6519 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0850, 0x084c, 0x0848, 0x01ed,
6523 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
6524 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6525 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0854, 0x0850, 0x084c, 0x01ec,
6529 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
6530 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6531 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0858, 0x0854, 0x0850, 0x01eb,
6535 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
6536 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6537 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x085c, 0x0858, 0x0854, 0x01ea,
6541 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
6542 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6543 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0860, 0x085c, 0x0858, 0x01e9,
6547 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
6548 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6549 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0864, 0x0860, 0x085c, 0x01e8,
6553 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
6554 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6555 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0868, 0x0864, 0x0860, 0x01e7,
6559 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
6560 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6561 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x086c, 0x0868, 0x0864, 0x01e6,
6565 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
6566 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6567 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0870, 0x086c, 0x0868, 0x01e5,
6571 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
6572 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6573 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0874, 0x0870, 0x086c, 0x01e5,
6577 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
6578 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6579 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0878, 0x0874, 0x0870, 0x01e4,
6583 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
6584 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6585 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x087c, 0x0878, 0x0874, 0x01e3,
6589 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
6590 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6591 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0880, 0x087c, 0x0878, 0x01e2,
6595 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
6596 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6597 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0884, 0x0880, 0x087c, 0x01e1,
6601 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
6602 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6603 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0888, 0x0884, 0x0880, 0x01e0,
6607 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
6608 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6609 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x088c, 0x0888, 0x0884, 0x01df,
6613 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
6614 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6615 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0890, 0x088c, 0x0888, 0x01de,
6619 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
6620 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6621 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0894, 0x0890, 0x088c, 0x01dd,
6625 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
6626 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6627 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0898, 0x0894, 0x0890, 0x01dd,
6631 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
6632 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6633 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x089c, 0x0898, 0x0894, 0x01dc,
6637 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
6638 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6639 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a0, 0x089c, 0x0898, 0x01db,
6643 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
6644 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6645 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a4, 0x08a0, 0x089c, 0x01da,
6649 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
6650 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6651 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
6655 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
6656 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6657 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
6661 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
6662 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6663 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
6667 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
6668 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6669 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
6673 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
6674 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6675 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
6679 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
6680 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6681 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
6685 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
6686 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6687 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
6691 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
6692 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6693 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
6697 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
6698 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6699 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
6703 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
6704 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6705 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
6709 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
6710 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6711 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
6715 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
6716 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6717 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
6721 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
6722 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6723 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
6727 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
6728 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6729 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
6733 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
6734 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6735 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
6739 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
6740 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
6741 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
6745 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
6746 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
6747 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
6751 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
6752 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6753 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
6757 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
6758 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6759 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
6763 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
6764 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6765 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
6769 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
6770 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6771 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
6775 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
6776 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6777 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
6781 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
6782 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6783 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
6787 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
6788 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6789 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
6793 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
6794 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6795 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
6799 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
6800 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6801 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
6805 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
6806 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6807 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
6811 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
6812 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6813 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
6817 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
6818 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6819 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
6823 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
6824 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6825 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
6829 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
6830 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6831 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
6835 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
6836 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6837 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
6841 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
6842 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6843 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
6847 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
6848 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6849 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
6853 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
6854 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6855 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
6859 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
6860 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x00,
6861 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
6865 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
6866 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6867 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
6871 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
6872 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6873 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
6877 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
6878 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6879 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
6883 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
6884 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6885 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
6889 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
6890 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6891 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
6895 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
6896 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6897 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
6901 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
6902 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6903 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
6907 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
6908 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6909 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
6913 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
6914 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6915 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
6919 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
6920 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6921 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
6925 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
6926 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6927 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
6931 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
6932 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6933 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
6937 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
6938 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6939 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
6943 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
6944 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6945 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
6949 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
6950 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6951 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
6955 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
6956 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6957 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
6961 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
6962 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6963 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
6967 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
6968 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6969 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
6973 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
6974 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6975 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
6979 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
6980 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6981 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
6985 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
6986 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6987 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
6991 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
6992 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6993 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
6997 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
6998 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6999 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
7003 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
7004 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7005 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
7009 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
7010 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7011 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
7015 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
7016 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7017 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
7021 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
7022 0x04, 0x00, 0x04, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x61,
7023 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
7028 static struct chan_info_nphy_radio2057 chan_info_nphyrev8_2057_rev8[] = {
7030 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
7031 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7032 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b8, 0x07b4, 0x07b0, 0x0213,
7036 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
7037 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7038 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07bc, 0x07b8, 0x07b4, 0x0212,
7042 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
7043 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7044 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c0, 0x07bc, 0x07b8, 0x0211,
7048 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
7049 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7050 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c4, 0x07c0, 0x07bc, 0x020f,
7054 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
7055 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7056 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c8, 0x07c4, 0x07c0, 0x020e,
7060 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
7061 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7062 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07cc, 0x07c8, 0x07c4, 0x020d,
7066 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
7067 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7068 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07d0, 0x07cc, 0x07c8, 0x020c,
7072 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
7073 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7074 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d4, 0x07d0, 0x07cc, 0x020b,
7078 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
7079 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7080 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d8, 0x07d4, 0x07d0, 0x020a,
7084 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
7085 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7086 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07dc, 0x07d8, 0x07d4, 0x0209,
7090 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
7091 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7092 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e0, 0x07dc, 0x07d8, 0x0208,
7096 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
7097 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7098 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e4, 0x07e0, 0x07dc, 0x0207,
7102 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
7103 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7104 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e8, 0x07e4, 0x07e0, 0x0206,
7108 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
7109 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7110 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07ec, 0x07e8, 0x07e4, 0x0205,
7114 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
7115 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7116 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f0, 0x07ec, 0x07e8, 0x0204,
7120 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
7121 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7122 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f4, 0x07f0, 0x07ec, 0x0203,
7126 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
7127 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7128 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f8, 0x07f4, 0x07f0, 0x0202,
7132 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
7133 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7134 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x07fc, 0x07f8, 0x07f4, 0x0201,
7138 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
7139 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7140 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0800, 0x07fc, 0x07f8, 0x0200,
7144 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
7145 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7146 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0804, 0x0800, 0x07fc, 0x01ff,
7150 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
7151 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7152 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0808, 0x0804, 0x0800, 0x01fe,
7156 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
7157 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7158 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x080c, 0x0808, 0x0804, 0x01fd,
7162 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
7163 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7164 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0814, 0x0810, 0x080c, 0x01fb,
7168 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
7169 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7170 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0818, 0x0814, 0x0810, 0x01fa,
7174 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
7175 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7176 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x081c, 0x0818, 0x0814, 0x01f9,
7180 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
7181 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7182 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0820, 0x081c, 0x0818, 0x01f8,
7186 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
7187 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7188 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0824, 0x0820, 0x081c, 0x01f7,
7192 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
7193 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7194 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0828, 0x0824, 0x0820, 0x01f6,
7198 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
7199 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7200 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x082c, 0x0828, 0x0824, 0x01f5,
7204 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
7205 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7206 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0830, 0x082c, 0x0828, 0x01f4,
7210 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
7211 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7212 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0834, 0x0830, 0x082c, 0x01f3,
7216 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
7217 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7218 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0838, 0x0834, 0x0830, 0x01f2,
7222 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
7223 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7224 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x083c, 0x0838, 0x0834, 0x01f1,
7228 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
7229 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7230 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0840, 0x083c, 0x0838, 0x01f0,
7234 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
7235 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7236 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0844, 0x0840, 0x083c, 0x01f0,
7240 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
7241 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7242 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0848, 0x0844, 0x0840, 0x01ef,
7246 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
7247 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7248 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x084c, 0x0848, 0x0844, 0x01ee,
7252 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
7253 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7254 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0850, 0x084c, 0x0848, 0x01ed,
7258 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
7259 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7260 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0854, 0x0850, 0x084c, 0x01ec,
7264 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
7265 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7266 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0858, 0x0854, 0x0850, 0x01eb,
7270 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
7271 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7272 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x085c, 0x0858, 0x0854, 0x01ea,
7276 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
7277 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7278 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0860, 0x085c, 0x0858, 0x01e9,
7282 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
7283 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7284 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0864, 0x0860, 0x085c, 0x01e8,
7288 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
7289 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7290 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0868, 0x0864, 0x0860, 0x01e7,
7294 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
7295 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7296 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x086c, 0x0868, 0x0864, 0x01e6,
7300 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
7301 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7302 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0870, 0x086c, 0x0868, 0x01e5,
7306 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
7307 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7308 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0874, 0x0870, 0x086c, 0x01e5,
7312 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
7313 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7314 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0878, 0x0874, 0x0870, 0x01e4,
7318 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
7319 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7320 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x087c, 0x0878, 0x0874, 0x01e3,
7324 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
7325 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7326 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0880, 0x087c, 0x0878, 0x01e2,
7330 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
7331 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7332 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0884, 0x0880, 0x087c, 0x01e1,
7336 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
7337 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7338 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0888, 0x0884, 0x0880, 0x01e0,
7342 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
7343 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7344 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x088c, 0x0888, 0x0884, 0x01df,
7348 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
7349 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7350 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0890, 0x088c, 0x0888, 0x01de,
7354 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
7355 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7356 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0894, 0x0890, 0x088c, 0x01dd,
7360 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
7361 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7362 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0898, 0x0894, 0x0890, 0x01dd,
7366 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
7367 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7368 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x089c, 0x0898, 0x0894, 0x01dc,
7372 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
7373 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7374 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a0, 0x089c, 0x0898, 0x01db,
7378 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
7379 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7380 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a4, 0x08a0, 0x089c, 0x01da,
7384 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
7385 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7386 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
7390 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
7391 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7392 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
7396 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
7397 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7398 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
7402 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
7403 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7404 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
7408 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
7409 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7410 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
7414 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
7415 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7416 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
7420 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
7421 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7422 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
7426 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
7427 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7428 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
7432 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
7433 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7434 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
7438 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
7439 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7440 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
7444 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
7445 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7446 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
7450 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
7451 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7452 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
7456 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
7457 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7458 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
7462 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
7463 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7464 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
7468 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
7469 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7470 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
7474 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
7475 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
7476 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
7480 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
7481 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
7482 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
7486 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
7487 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7488 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
7492 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
7493 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7494 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
7498 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
7499 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7500 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
7504 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
7505 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7506 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
7510 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
7511 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7512 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
7516 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
7517 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7518 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
7522 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
7523 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7524 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
7528 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
7529 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7530 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
7534 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
7535 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7536 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
7540 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
7541 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7542 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
7546 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
7547 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7548 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
7552 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
7553 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7554 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
7558 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
7559 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7560 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
7564 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
7565 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7566 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
7570 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
7571 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7572 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
7576 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
7577 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7578 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
7582 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
7583 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7584 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
7588 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
7589 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7590 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
7594 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
7595 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x00,
7596 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
7600 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
7601 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7602 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
7606 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
7607 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7608 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
7612 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
7613 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7614 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
7618 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
7619 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7620 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
7624 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
7625 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7626 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
7630 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
7631 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7632 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
7636 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
7637 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7638 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
7642 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
7643 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7644 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
7648 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
7649 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7650 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
7654 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
7655 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7656 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
7660 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
7661 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7662 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
7666 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
7667 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7668 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
7672 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
7673 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7674 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
7678 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
7679 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7680 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
7684 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
7685 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7686 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
7690 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
7691 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7692 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
7696 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
7697 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7698 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
7702 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
7703 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7704 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
7708 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
7709 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7710 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
7714 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
7715 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7716 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
7720 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
7721 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7722 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
7726 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
7727 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7728 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
7732 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
7733 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7734 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
7738 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
7739 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7740 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
7744 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
7745 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7746 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
7750 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
7751 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7752 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
7756 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
7757 0x04, 0x00, 0x04, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x61,
7758 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
7763 struct radio_regs regs_2055[] = {
7764 {0x02, 0x80, 0x80, 0, 0},
7766 {0x04, 0x27, 0x27, 0, 0},
7768 {0x06, 0x27, 0x27, 0, 0},
7769 {0x07, 0x7f, 0x7f, 1, 1},
7770 {0x08, 0x7, 0x7, 1, 1},
7771 {0x09, 0x7f, 0x7f, 1, 1},
7772 {0x0A, 0x7, 0x7, 1, 1},
7773 {0x0B, 0x15, 0x15, 0, 0},
7774 {0x0C, 0x15, 0x15, 0, 0},
7775 {0x0D, 0x4f, 0x4f, 1, 1},
7776 {0x0E, 0x5, 0x5, 1, 1},
7777 {0x0F, 0x4f, 0x4f, 1, 1},
7778 {0x10, 0x5, 0x5, 1, 1},
7779 {0x11, 0xd0, 0xd0, 0, 0},
7780 {0x12, 0x2, 0x2, 0, 0},
7782 {0x14, 0x40, 0x40, 0, 0},
7791 {0x1D, 0xc0, 0xc0, 0, 0},
7792 {0x1E, 0xff, 0xff, 0, 0},
7793 {0x1F, 0xc0, 0xc0, 0, 0},
7794 {0x20, 0xff, 0xff, 0, 0},
7795 {0x21, 0xc0, 0xc0, 0, 0},
7797 {0x23, 0x2c, 0x2c, 0, 0},
7807 {0x2D, 0xa4, 0xa4, 0, 0},
7808 {0x2E, 0x38, 0x38, 0, 0},
7810 {0x30, 0x4, 0x4, 1, 1},
7812 {0x32, 0xa, 0xa, 0, 0},
7813 {0x33, 0x87, 0x87, 0, 0},
7814 {0x34, 0x9, 0x9, 0, 0},
7815 {0x35, 0x70, 0x70, 0, 0},
7816 {0x36, 0x11, 0x11, 0, 0},
7817 {0x37, 0x18, 0x18, 1, 1},
7818 {0x38, 0x6, 0x6, 0, 0},
7819 {0x39, 0x4, 0x4, 1, 1},
7820 {0x3A, 0x6, 0x6, 0, 0},
7821 {0x3B, 0x9e, 0x9e, 0, 0},
7822 {0x3C, 0x9, 0x9, 0, 0},
7823 {0x3D, 0xc8, 0xc8, 1, 1},
7824 {0x3E, 0x88, 0x88, 0, 0},
7828 {0x42, 0x1, 0x1, 0, 0},
7829 {0x43, 0x2, 0x2, 0, 0},
7830 {0x44, 0x96, 0x96, 0, 0},
7831 {0x45, 0x3e, 0x3e, 0, 0},
7832 {0x46, 0x3e, 0x3e, 0, 0},
7833 {0x47, 0x13, 0x13, 0, 0},
7834 {0x48, 0x2, 0x2, 0, 0},
7835 {0x49, 0x15, 0x15, 0, 0},
7836 {0x4A, 0x7, 0x7, 0, 0},
7842 {0x50, 0x8, 0x8, 0, 0},
7843 {0x51, 0x8, 0x8, 0, 0},
7844 {0x52, 0x6, 0x6, 0, 0},
7845 {0x53, 0x84, 0x84, 1, 1},
7846 {0x54, 0xc3, 0xc3, 0, 0},
7847 {0x55, 0x8f, 0x8f, 0, 0},
7848 {0x56, 0xff, 0xff, 0, 0},
7849 {0x57, 0xff, 0xff, 0, 0},
7850 {0x58, 0x88, 0x88, 0, 0},
7851 {0x59, 0x88, 0x88, 0, 0},
7853 {0x5B, 0xcc, 0xcc, 0, 0},
7854 {0x5C, 0x6, 0x6, 0, 0},
7855 {0x5D, 0x80, 0x80, 0, 0},
7856 {0x5E, 0x80, 0x80, 0, 0},
7857 {0x5F, 0xf8, 0xf8, 0, 0},
7858 {0x60, 0x88, 0x88, 0, 0},
7859 {0x61, 0x88, 0x88, 0, 0},
7860 {0x62, 0x88, 0x8, 1, 1},
7861 {0x63, 0x88, 0x88, 0, 0},
7863 {0x65, 0x1, 0x1, 1, 1},
7864 {0x66, 0x8a, 0x8a, 0, 0},
7865 {0x67, 0x8, 0x8, 0, 0},
7866 {0x68, 0x83, 0x83, 0, 0},
7867 {0x69, 0x6, 0x6, 0, 0},
7868 {0x6A, 0xa0, 0xa0, 0, 0},
7869 {0x6B, 0xa, 0xa, 0, 0},
7870 {0x6C, 0x87, 0x87, 1, 1},
7871 {0x6D, 0x2a, 0x2a, 0, 0},
7872 {0x6E, 0x2a, 0x2a, 0, 0},
7873 {0x6F, 0x2a, 0x2a, 0, 0},
7874 {0x70, 0x2a, 0x2a, 0, 0},
7875 {0x71, 0x18, 0x18, 0, 0},
7876 {0x72, 0x6a, 0x6a, 1, 1},
7877 {0x73, 0xab, 0xab, 1, 1},
7878 {0x74, 0x13, 0x13, 1, 1},
7879 {0x75, 0xc1, 0xc1, 1, 1},
7880 {0x76, 0xaa, 0xaa, 1, 1},
7881 {0x77, 0x87, 0x87, 1, 1},
7883 {0x79, 0x6, 0x6, 0, 0},
7884 {0x7A, 0x7, 0x7, 0, 0},
7885 {0x7B, 0x7, 0x7, 0, 0},
7886 {0x7C, 0x15, 0x15, 0, 0},
7887 {0x7D, 0x55, 0x55, 0, 0},
7888 {0x7E, 0x97, 0x97, 1, 1},
7889 {0x7F, 0x8, 0x8, 0, 0},
7890 {0x80, 0x14, 0x14, 1, 1},
7891 {0x81, 0x33, 0x33, 0, 0},
7892 {0x82, 0x88, 0x88, 0, 0},
7893 {0x83, 0x6, 0x6, 0, 0},
7894 {0x84, 0x3, 0x3, 1, 1},
7895 {0x85, 0xa, 0xa, 0, 0},
7896 {0x86, 0x3, 0x3, 1, 1},
7897 {0x87, 0x2a, 0x2a, 0, 0},
7898 {0x88, 0xa4, 0xa4, 0, 0},
7899 {0x89, 0x18, 0x18, 0, 0},
7900 {0x8A, 0x28, 0x28, 0, 0},
7902 {0x8C, 0x4a, 0x4a, 0, 0},
7904 {0x8E, 0xf8, 0xf8, 0, 0},
7905 {0x8F, 0x88, 0x88, 0, 0},
7906 {0x90, 0x88, 0x88, 0, 0},
7907 {0x91, 0x88, 0x8, 1, 1},
7908 {0x92, 0x88, 0x88, 0, 0},
7910 {0x94, 0x1, 0x1, 1, 1},
7911 {0x95, 0x8a, 0x8a, 0, 0},
7912 {0x96, 0x8, 0x8, 0, 0},
7913 {0x97, 0x83, 0x83, 0, 0},
7914 {0x98, 0x6, 0x6, 0, 0},
7915 {0x99, 0xa0, 0xa0, 0, 0},
7916 {0x9A, 0xa, 0xa, 0, 0},
7917 {0x9B, 0x87, 0x87, 1, 1},
7918 {0x9C, 0x2a, 0x2a, 0, 0},
7919 {0x9D, 0x2a, 0x2a, 0, 0},
7920 {0x9E, 0x2a, 0x2a, 0, 0},
7921 {0x9F, 0x2a, 0x2a, 0, 0},
7922 {0xA0, 0x18, 0x18, 0, 0},
7923 {0xA1, 0x6a, 0x6a, 1, 1},
7924 {0xA2, 0xab, 0xab, 1, 1},
7925 {0xA3, 0x13, 0x13, 1, 1},
7926 {0xA4, 0xc1, 0xc1, 1, 1},
7927 {0xA5, 0xaa, 0xaa, 1, 1},
7928 {0xA6, 0x87, 0x87, 1, 1},
7930 {0xA8, 0x6, 0x6, 0, 0},
7931 {0xA9, 0x7, 0x7, 0, 0},
7932 {0xAA, 0x7, 0x7, 0, 0},
7933 {0xAB, 0x15, 0x15, 0, 0},
7934 {0xAC, 0x55, 0x55, 0, 0},
7935 {0xAD, 0x97, 0x97, 1, 1},
7936 {0xAE, 0x8, 0x8, 0, 0},
7937 {0xAF, 0x14, 0x14, 1, 1},
7938 {0xB0, 0x33, 0x33, 0, 0},
7939 {0xB1, 0x88, 0x88, 0, 0},
7940 {0xB2, 0x6, 0x6, 0, 0},
7941 {0xB3, 0x3, 0x3, 1, 1},
7942 {0xB4, 0xa, 0xa, 0, 0},
7943 {0xB5, 0x3, 0x3, 1, 1},
7944 {0xB6, 0x2a, 0x2a, 0, 0},
7945 {0xB7, 0xa4, 0xa4, 0, 0},
7946 {0xB8, 0x18, 0x18, 0, 0},
7947 {0xB9, 0x28, 0x28, 0, 0},
7949 {0xBB, 0x4a, 0x4a, 0, 0},
7951 {0xBD, 0x71, 0x71, 0, 0},
7952 {0xBE, 0x72, 0x72, 0, 0},
7953 {0xBF, 0x73, 0x73, 0, 0},
7954 {0xC0, 0x74, 0x74, 0, 0},
7955 {0xC1, 0x75, 0x75, 0, 0},
7956 {0xC2, 0x76, 0x76, 0, 0},
7957 {0xC3, 0x77, 0x77, 0, 0},
7958 {0xC4, 0x78, 0x78, 0, 0},
7959 {0xC5, 0x79, 0x79, 0, 0},
7960 {0xC6, 0x7a, 0x7a, 0, 0},
7968 {0xCE, 0x6, 0x6, 0, 0},
7971 {0xD1, 0x18, 0x18, 0, 0},
7972 {0xD2, 0x88, 0x88, 0, 0},
7980 {0xDA, 0x6, 0x6, 0, 0},
7983 {0xDD, 0x18, 0x18, 0, 0},
7984 {0xDE, 0x88, 0x88, 0, 0},
7989 {0xFFFF, 0, 0, 0, 0},
7992 struct radio_regs regs_SYN_2056[] = {
8000 {0x09, 0x1, 0x1, 0, 0},
8025 {0x22, 0x60, 0x60, 0, 0},
8026 {0x23, 0x6, 0x6, 0, 0},
8027 {0x24, 0xc, 0xc, 0, 0},
8031 {0x28, 0x1, 0x1, 0, 0},
8037 {0x2E, 0xd, 0xd, 0, 0},
8038 {0x2F, 0x1f, 0x1f, 0, 0},
8039 {0x30, 0x15, 0x15, 0, 0},
8040 {0x31, 0xf, 0xf, 0, 0},
8051 {0x3C, 0x13, 0x13, 0, 0},
8052 {0x3D, 0xf, 0xf, 0, 0},
8053 {0x3E, 0x18, 0x18, 0, 0},
8056 {0x41, 0x20, 0x20, 0, 0},
8057 {0x42, 0x20, 0x20, 0, 0},
8059 {0x44, 0x77, 0x77, 0, 0},
8060 {0x45, 0x7, 0x7, 0, 0},
8061 {0x46, 0x1, 0x1, 0, 0},
8062 {0x47, 0x4, 0x4, 0, 0},
8063 {0x48, 0xf, 0xf, 0, 0},
8064 {0x49, 0x30, 0x30, 0, 0},
8065 {0x4A, 0x32, 0x32, 0, 0},
8066 {0x4B, 0xd, 0xd, 0, 0},
8067 {0x4C, 0xd, 0xd, 0, 0},
8068 {0x4D, 0x4, 0x4, 0, 0},
8069 {0x4E, 0x6, 0x6, 0, 0},
8070 {0x4F, 0x1, 0x1, 0, 0},
8071 {0x50, 0x1c, 0x1c, 0, 0},
8072 {0x51, 0x2, 0x2, 0, 0},
8073 {0x52, 0x2, 0x2, 0, 0},
8074 {0x53, 0xf7, 0xf7, 1, 1},
8075 {0x54, 0xb4, 0xb4, 0, 0},
8076 {0x55, 0xd2, 0xd2, 0, 0},
8079 {0x58, 0x4, 0x4, 0, 0},
8080 {0x59, 0x96, 0x96, 0, 0},
8081 {0x5A, 0x3e, 0x3e, 0, 0},
8082 {0x5B, 0x3e, 0x3e, 0, 0},
8083 {0x5C, 0x13, 0x13, 0, 0},
8084 {0x5D, 0x2, 0x2, 0, 0},
8086 {0x5F, 0x7, 0x7, 0, 0},
8087 {0x60, 0x7, 0x7, 1, 1},
8088 {0x61, 0x8, 0x8, 0, 0},
8089 {0x62, 0x3, 0x3, 0, 0},
8095 {0x68, 0x40, 0x40, 0, 0},
8100 {0x6D, 0x1, 0x1, 0, 0},
8103 {0x70, 0x60, 0x60, 0, 0},
8104 {0x71, 0x66, 0x66, 0, 0},
8105 {0x72, 0xc, 0xc, 0, 0},
8106 {0x73, 0x66, 0x66, 0, 0},
8107 {0x74, 0x8f, 0x8f, 1, 1},
8109 {0x76, 0xcc, 0xcc, 0, 0},
8110 {0x77, 0x1, 0x1, 0, 0},
8111 {0x78, 0x66, 0x66, 0, 0},
8112 {0x79, 0x66, 0x66, 0, 0},
8124 {0x85, 0xff, 0xff, 0, 0},
8150 {0x9F, 0x6, 0x6, 0, 0},
8151 {0xA0, 0x66, 0x66, 0, 0},
8152 {0xA1, 0x66, 0x66, 0, 0},
8153 {0xA2, 0x66, 0x66, 0, 0},
8154 {0xA3, 0x66, 0x66, 0, 0},
8155 {0xA4, 0x66, 0x66, 0, 0},
8156 {0xA5, 0x66, 0x66, 0, 0},
8157 {0xA6, 0x66, 0x66, 0, 0},
8158 {0xA7, 0x66, 0x66, 0, 0},
8159 {0xA8, 0x66, 0x66, 0, 0},
8160 {0xA9, 0x66, 0x66, 0, 0},
8161 {0xAA, 0x66, 0x66, 0, 0},
8162 {0xAB, 0x66, 0x66, 0, 0},
8163 {0xAC, 0x66, 0x66, 0, 0},
8164 {0xAD, 0x66, 0x66, 0, 0},
8165 {0xAE, 0x66, 0x66, 0, 0},
8166 {0xAF, 0x66, 0x66, 0, 0},
8167 {0xB0, 0x66, 0x66, 0, 0},
8168 {0xB1, 0x66, 0x66, 0, 0},
8169 {0xB2, 0x66, 0x66, 0, 0},
8170 {0xB3, 0xa, 0xa, 0, 0},
8174 {0xFFFF, 0, 0, 0, 0}
8177 struct radio_regs regs_TX_2056[] = {
8209 {0x21, 0x88, 0x88, 0, 0},
8210 {0x22, 0x88, 0x88, 0, 0},
8211 {0x23, 0x88, 0x88, 0, 0},
8212 {0x24, 0x88, 0x88, 0, 0},
8213 {0x25, 0xc, 0xc, 0, 0},
8215 {0x27, 0x3, 0x3, 0, 0},
8217 {0x29, 0x3, 0x3, 0, 0},
8218 {0x2A, 0x37, 0x37, 0, 0},
8219 {0x2B, 0x3, 0x3, 0, 0},
8222 {0x2E, 0x1, 0x1, 0, 0},
8223 {0x2F, 0x1, 0x1, 0, 0},
8227 {0x33, 0x11, 0x11, 0, 0},
8228 {0x34, 0x11, 0x11, 0, 0},
8231 {0x37, 0x3, 0x3, 0, 0},
8232 {0x38, 0xf, 0xf, 0, 0},
8234 {0x3A, 0x2d, 0x2d, 0, 0},
8236 {0x3C, 0x6e, 0x6e, 0, 0},
8237 {0x3D, 0xf0, 0xf0, 1, 1},
8241 {0x41, 0x3, 0x3, 0, 0},
8242 {0x42, 0x3, 0x3, 0, 0},
8244 {0x44, 0x1e, 0x1e, 0, 0},
8246 {0x46, 0x6e, 0x6e, 0, 0},
8247 {0x47, 0xf0, 0xf0, 1, 1},
8249 {0x49, 0x2, 0x2, 0, 0},
8250 {0x4A, 0xff, 0xff, 1, 1},
8251 {0x4B, 0xc, 0xc, 0, 0},
8253 {0x4D, 0x38, 0x38, 0, 0},
8254 {0x4E, 0x70, 0x70, 1, 1},
8255 {0x4F, 0x2, 0x2, 0, 0},
8256 {0x50, 0x88, 0x88, 0, 0},
8257 {0x51, 0xc, 0xc, 0, 0},
8259 {0x53, 0x8, 0x8, 0, 0},
8260 {0x54, 0x70, 0x70, 1, 1},
8261 {0x55, 0x2, 0x2, 0, 0},
8262 {0x56, 0xff, 0xff, 1, 1},
8264 {0x58, 0x83, 0x83, 0, 0},
8265 {0x59, 0x77, 0x77, 1, 1},
8267 {0x5B, 0x2, 0x2, 0, 0},
8268 {0x5C, 0x88, 0x88, 0, 0},
8270 {0x5E, 0x8, 0x8, 0, 0},
8271 {0x5F, 0x77, 0x77, 1, 1},
8272 {0x60, 0x1, 0x1, 0, 0},
8274 {0x62, 0x7, 0x7, 0, 0},
8276 {0x64, 0x7, 0x7, 0, 0},
8279 {0x67, 0x74, 0x74, 1, 1},
8281 {0x69, 0xa, 0xa, 0, 0},
8289 {0x71, 0x2, 0x2, 0, 0},
8292 {0x74, 0xe, 0xe, 0, 0},
8293 {0x75, 0xe, 0xe, 0, 0},
8294 {0x76, 0xe, 0xe, 0, 0},
8295 {0x77, 0x13, 0x13, 0, 0},
8296 {0x78, 0x13, 0x13, 0, 0},
8297 {0x79, 0x1b, 0x1b, 0, 0},
8298 {0x7A, 0x1b, 0x1b, 0, 0},
8299 {0x7B, 0x55, 0x55, 0, 0},
8300 {0x7C, 0x5b, 0x5b, 0, 0},
8323 {0xFFFF, 0, 0, 0, 0}
8326 struct radio_regs regs_RX_2056[] = {
8357 {0x20, 0x3, 0x3, 0, 0},
8360 {0x23, 0x90, 0x90, 0, 0},
8361 {0x24, 0x55, 0x55, 0, 0},
8362 {0x25, 0x15, 0x15, 0, 0},
8363 {0x26, 0x5, 0x5, 0, 0},
8364 {0x27, 0x15, 0x15, 0, 0},
8365 {0x28, 0x5, 0x5, 0, 0},
8366 {0x29, 0x20, 0x20, 0, 0},
8367 {0x2A, 0x11, 0x11, 0, 0},
8368 {0x2B, 0x90, 0x90, 0, 0},
8370 {0x2D, 0x88, 0x88, 0, 0},
8371 {0x2E, 0x32, 0x32, 0, 0},
8372 {0x2F, 0x77, 0x77, 0, 0},
8373 {0x30, 0x17, 0x17, 1, 1},
8374 {0x31, 0xff, 0xff, 1, 1},
8375 {0x32, 0x20, 0x20, 0, 0},
8377 {0x34, 0x88, 0x88, 0, 0},
8378 {0x35, 0x32, 0x32, 0, 0},
8379 {0x36, 0x77, 0x77, 0, 0},
8380 {0x37, 0x17, 0x17, 1, 1},
8381 {0x38, 0xf0, 0xf0, 1, 1},
8382 {0x39, 0x20, 0x20, 0, 0},
8383 {0x3A, 0x8, 0x8, 0, 0},
8384 {0x3B, 0x99, 0x99, 0, 0},
8386 {0x3D, 0x44, 0x44, 1, 1},
8388 {0x3F, 0x44, 0x44, 0, 0},
8389 {0x40, 0xf, 0xf, 1, 1},
8390 {0x41, 0x6, 0x6, 0, 0},
8391 {0x42, 0x4, 0x4, 0, 0},
8392 {0x43, 0x50, 0x50, 1, 1},
8393 {0x44, 0x8, 0x8, 0, 0},
8394 {0x45, 0x99, 0x99, 0, 0},
8396 {0x47, 0x11, 0x11, 0, 0},
8398 {0x49, 0x44, 0x44, 0, 0},
8399 {0x4A, 0x7, 0x7, 0, 0},
8400 {0x4B, 0x6, 0x6, 0, 0},
8401 {0x4C, 0x4, 0x4, 0, 0},
8404 {0x4F, 0x66, 0x66, 0, 0},
8405 {0x50, 0x66, 0x66, 0, 0},
8406 {0x51, 0x57, 0x57, 0, 0},
8407 {0x52, 0x57, 0x57, 0, 0},
8408 {0x53, 0x44, 0x44, 0, 0},
8411 {0x56, 0x8, 0x8, 0, 0},
8412 {0x57, 0x8, 0x8, 0, 0},
8413 {0x58, 0x7, 0x7, 0, 0},
8414 {0x59, 0x22, 0x22, 0, 0},
8415 {0x5A, 0x22, 0x22, 0, 0},
8416 {0x5B, 0x2, 0x2, 0, 0},
8417 {0x5C, 0x23, 0x23, 0, 0},
8418 {0x5D, 0x7, 0x7, 0, 0},
8419 {0x5E, 0x55, 0x55, 0, 0},
8420 {0x5F, 0x23, 0x23, 0, 0},
8421 {0x60, 0x41, 0x41, 0, 0},
8422 {0x61, 0x1, 0x1, 0, 0},
8423 {0x62, 0xa, 0xa, 0, 0},
8432 {0x6B, 0xc, 0xc, 0, 0},
8439 {0x72, 0x22, 0x22, 0, 0},
8440 {0x73, 0x22, 0x22, 0, 0},
8441 {0x74, 0x2, 0x2, 0, 0},
8442 {0x75, 0xa, 0xa, 0, 0},
8443 {0x76, 0x1, 0x1, 0, 0},
8444 {0x77, 0x22, 0x22, 0, 0},
8445 {0x78, 0x30, 0x30, 0, 0},
8474 {0xFFFF, 0, 0, 0, 0}
8477 struct radio_regs regs_SYN_2056_A1[] = {
8485 {0x09, 0x1, 0x1, 0, 0},
8510 {0x22, 0x60, 0x60, 0, 0},
8511 {0x23, 0x6, 0x6, 0, 0},
8512 {0x24, 0xc, 0xc, 0, 0},
8516 {0x28, 0x1, 0x1, 0, 0},
8522 {0x2E, 0xd, 0xd, 0, 0},
8523 {0x2F, 0x1f, 0x1f, 0, 0},
8524 {0x30, 0x15, 0x15, 0, 0},
8525 {0x31, 0xf, 0xf, 0, 0},
8536 {0x3C, 0x13, 0x13, 0, 0},
8537 {0x3D, 0xf, 0xf, 0, 0},
8538 {0x3E, 0x18, 0x18, 0, 0},
8541 {0x41, 0x20, 0x20, 0, 0},
8542 {0x42, 0x20, 0x20, 0, 0},
8544 {0x44, 0x77, 0x77, 0, 0},
8545 {0x45, 0x7, 0x7, 0, 0},
8546 {0x46, 0x1, 0x1, 0, 0},
8547 {0x47, 0x4, 0x4, 0, 0},
8548 {0x48, 0xf, 0xf, 0, 0},
8549 {0x49, 0x30, 0x30, 0, 0},
8550 {0x4A, 0x32, 0x32, 0, 0},
8551 {0x4B, 0xd, 0xd, 0, 0},
8552 {0x4C, 0xd, 0xd, 0, 0},
8553 {0x4D, 0x4, 0x4, 0, 0},
8554 {0x4E, 0x6, 0x6, 0, 0},
8555 {0x4F, 0x1, 0x1, 0, 0},
8556 {0x50, 0x1c, 0x1c, 0, 0},
8557 {0x51, 0x2, 0x2, 0, 0},
8558 {0x52, 0x2, 0x2, 0, 0},
8559 {0x53, 0xf7, 0xf7, 1, 1},
8560 {0x54, 0xb4, 0xb4, 0, 0},
8561 {0x55, 0xd2, 0xd2, 0, 0},
8564 {0x58, 0x4, 0x4, 0, 0},
8565 {0x59, 0x96, 0x96, 0, 0},
8566 {0x5A, 0x3e, 0x3e, 0, 0},
8567 {0x5B, 0x3e, 0x3e, 0, 0},
8568 {0x5C, 0x13, 0x13, 0, 0},
8569 {0x5D, 0x2, 0x2, 0, 0},
8571 {0x5F, 0x7, 0x7, 0, 0},
8572 {0x60, 0x7, 0x7, 1, 1},
8573 {0x61, 0x8, 0x8, 0, 0},
8574 {0x62, 0x3, 0x3, 0, 0},
8580 {0x68, 0x40, 0x40, 0, 0},
8585 {0x6D, 0x1, 0x1, 0, 0},
8588 {0x70, 0x60, 0x60, 0, 0},
8589 {0x71, 0x66, 0x66, 0, 0},
8590 {0x72, 0xc, 0xc, 0, 0},
8591 {0x73, 0x66, 0x66, 0, 0},
8592 {0x74, 0x8f, 0x8f, 1, 1},
8594 {0x76, 0xcc, 0xcc, 0, 0},
8595 {0x77, 0x1, 0x1, 0, 0},
8596 {0x78, 0x66, 0x66, 0, 0},
8597 {0x79, 0x66, 0x66, 0, 0},
8609 {0x85, 0xff, 0xff, 0, 0},
8635 {0x9F, 0x6, 0x6, 0, 0},
8636 {0xA0, 0x66, 0x66, 0, 0},
8637 {0xA1, 0x66, 0x66, 0, 0},
8638 {0xA2, 0x66, 0x66, 0, 0},
8639 {0xA3, 0x66, 0x66, 0, 0},
8640 {0xA4, 0x66, 0x66, 0, 0},
8641 {0xA5, 0x66, 0x66, 0, 0},
8642 {0xA6, 0x66, 0x66, 0, 0},
8643 {0xA7, 0x66, 0x66, 0, 0},
8644 {0xA8, 0x66, 0x66, 0, 0},
8645 {0xA9, 0x66, 0x66, 0, 0},
8646 {0xAA, 0x66, 0x66, 0, 0},
8647 {0xAB, 0x66, 0x66, 0, 0},
8648 {0xAC, 0x66, 0x66, 0, 0},
8649 {0xAD, 0x66, 0x66, 0, 0},
8650 {0xAE, 0x66, 0x66, 0, 0},
8651 {0xAF, 0x66, 0x66, 0, 0},
8652 {0xB0, 0x66, 0x66, 0, 0},
8653 {0xB1, 0x66, 0x66, 0, 0},
8654 {0xB2, 0x66, 0x66, 0, 0},
8655 {0xB3, 0xa, 0xa, 0, 0},
8659 {0xFFFF, 0, 0, 0, 0}
8662 struct radio_regs regs_TX_2056_A1[] = {
8694 {0x21, 0x88, 0x88, 0, 0},
8695 {0x22, 0x88, 0x88, 0, 0},
8696 {0x23, 0x88, 0x88, 0, 0},
8697 {0x24, 0x88, 0x88, 0, 0},
8698 {0x25, 0xc, 0xc, 0, 0},
8700 {0x27, 0x3, 0x3, 0, 0},
8702 {0x29, 0x3, 0x3, 0, 0},
8703 {0x2A, 0x37, 0x37, 0, 0},
8704 {0x2B, 0x3, 0x3, 0, 0},
8707 {0x2E, 0x1, 0x1, 0, 0},
8708 {0x2F, 0x1, 0x1, 0, 0},
8712 {0x33, 0x11, 0x11, 0, 0},
8713 {0x34, 0x11, 0x11, 0, 0},
8716 {0x37, 0x3, 0x3, 0, 0},
8717 {0x38, 0xf, 0xf, 0, 0},
8719 {0x3A, 0x2d, 0x2d, 0, 0},
8721 {0x3C, 0x6e, 0x6e, 0, 0},
8722 {0x3D, 0xf0, 0xf0, 1, 1},
8726 {0x41, 0x3, 0x3, 0, 0},
8727 {0x42, 0x3, 0x3, 0, 0},
8729 {0x44, 0x1e, 0x1e, 0, 0},
8731 {0x46, 0x6e, 0x6e, 0, 0},
8732 {0x47, 0xf0, 0xf0, 1, 1},
8734 {0x49, 0x2, 0x2, 0, 0},
8735 {0x4A, 0xff, 0xff, 1, 1},
8736 {0x4B, 0xc, 0xc, 0, 0},
8738 {0x4D, 0x38, 0x38, 0, 0},
8739 {0x4E, 0x70, 0x70, 1, 1},
8740 {0x4F, 0x2, 0x2, 0, 0},
8741 {0x50, 0x88, 0x88, 0, 0},
8742 {0x51, 0xc, 0xc, 0, 0},
8744 {0x53, 0x8, 0x8, 0, 0},
8745 {0x54, 0x70, 0x70, 1, 1},
8746 {0x55, 0x2, 0x2, 0, 0},
8747 {0x56, 0xff, 0xff, 1, 1},
8749 {0x58, 0x83, 0x83, 0, 0},
8750 {0x59, 0x77, 0x77, 1, 1},
8752 {0x5B, 0x2, 0x2, 0, 0},
8753 {0x5C, 0x88, 0x88, 0, 0},
8755 {0x5E, 0x8, 0x8, 0, 0},
8756 {0x5F, 0x77, 0x77, 1, 1},
8757 {0x60, 0x1, 0x1, 0, 0},
8759 {0x62, 0x7, 0x7, 0, 0},
8761 {0x64, 0x7, 0x7, 0, 0},
8764 {0x67, 0x72, 0x72, 1, 1},
8766 {0x69, 0xa, 0xa, 0, 0},
8774 {0x71, 0x2, 0x2, 0, 0},
8777 {0x74, 0xe, 0xe, 0, 0},
8778 {0x75, 0xe, 0xe, 0, 0},
8779 {0x76, 0xe, 0xe, 0, 0},
8780 {0x77, 0x13, 0x13, 0, 0},
8781 {0x78, 0x13, 0x13, 0, 0},
8782 {0x79, 0x1b, 0x1b, 0, 0},
8783 {0x7A, 0x1b, 0x1b, 0, 0},
8784 {0x7B, 0x55, 0x55, 0, 0},
8785 {0x7C, 0x5b, 0x5b, 0, 0},
8808 {0xFFFF, 0, 0, 0, 0}
8811 struct radio_regs regs_RX_2056_A1[] = {
8842 {0x20, 0x3, 0x3, 0, 0},
8845 {0x23, 0x90, 0x90, 0, 0},
8846 {0x24, 0x55, 0x55, 0, 0},
8847 {0x25, 0x15, 0x15, 0, 0},
8848 {0x26, 0x5, 0x5, 0, 0},
8849 {0x27, 0x15, 0x15, 0, 0},
8850 {0x28, 0x5, 0x5, 0, 0},
8851 {0x29, 0x20, 0x20, 0, 0},
8852 {0x2A, 0x11, 0x11, 0, 0},
8853 {0x2B, 0x90, 0x90, 0, 0},
8855 {0x2D, 0x88, 0x88, 0, 0},
8856 {0x2E, 0x32, 0x32, 0, 0},
8857 {0x2F, 0x77, 0x77, 0, 0},
8858 {0x30, 0x17, 0x17, 1, 1},
8859 {0x31, 0xff, 0xff, 1, 1},
8860 {0x32, 0x20, 0x20, 0, 0},
8862 {0x34, 0x88, 0x88, 0, 0},
8863 {0x35, 0x32, 0x32, 0, 0},
8864 {0x36, 0x77, 0x77, 0, 0},
8865 {0x37, 0x17, 0x17, 1, 1},
8866 {0x38, 0xf0, 0xf0, 1, 1},
8867 {0x39, 0x20, 0x20, 0, 0},
8868 {0x3A, 0x8, 0x8, 0, 0},
8869 {0x3B, 0x55, 0x55, 1, 1},
8871 {0x3D, 0x44, 0x44, 1, 1},
8873 {0x3F, 0x44, 0x44, 0, 0},
8874 {0x40, 0xf, 0xf, 1, 1},
8875 {0x41, 0x6, 0x6, 0, 0},
8876 {0x42, 0x4, 0x4, 0, 0},
8877 {0x43, 0x50, 0x50, 1, 1},
8878 {0x44, 0x8, 0x8, 0, 0},
8879 {0x45, 0x55, 0x55, 1, 1},
8881 {0x47, 0x11, 0x11, 0, 0},
8883 {0x49, 0x44, 0x44, 0, 0},
8884 {0x4A, 0x7, 0x7, 0, 0},
8885 {0x4B, 0x6, 0x6, 0, 0},
8886 {0x4C, 0x4, 0x4, 0, 0},
8889 {0x4F, 0x26, 0x26, 1, 1},
8890 {0x50, 0x26, 0x26, 1, 1},
8891 {0x51, 0xf, 0xf, 1, 1},
8892 {0x52, 0xf, 0xf, 1, 1},
8893 {0x53, 0x44, 0x44, 0, 0},
8896 {0x56, 0x8, 0x8, 0, 0},
8897 {0x57, 0x8, 0x8, 0, 0},
8898 {0x58, 0x7, 0x7, 0, 0},
8899 {0x59, 0x22, 0x22, 0, 0},
8900 {0x5A, 0x22, 0x22, 0, 0},
8901 {0x5B, 0x2, 0x2, 0, 0},
8902 {0x5C, 0x2f, 0x2f, 1, 1},
8903 {0x5D, 0x7, 0x7, 0, 0},
8904 {0x5E, 0x55, 0x55, 0, 0},
8905 {0x5F, 0x23, 0x23, 0, 0},
8906 {0x60, 0x41, 0x41, 0, 0},
8907 {0x61, 0x1, 0x1, 0, 0},
8908 {0x62, 0xa, 0xa, 0, 0},
8917 {0x6B, 0xc, 0xc, 0, 0},
8924 {0x72, 0x22, 0x22, 0, 0},
8925 {0x73, 0x22, 0x22, 0, 0},
8927 {0x75, 0xa, 0xa, 0, 0},
8928 {0x76, 0x1, 0x1, 0, 0},
8929 {0x77, 0x22, 0x22, 0, 0},
8930 {0x78, 0x30, 0x30, 0, 0},
8959 {0xFFFF, 0, 0, 0, 0}
8962 struct radio_regs regs_SYN_2056_rev5[] = {
8970 {0x09, 0x1, 0x1, 0, 0},
8995 {0x22, 0x60, 0x60, 0, 0},
8996 {0x23, 0x6, 0x6, 0, 0},
8997 {0x24, 0xc, 0xc, 0, 0},
9001 {0x28, 0x1, 0x1, 0, 0},
9008 {0x2F, 0x1f, 0x1f, 0, 0},
9009 {0x30, 0x15, 0x15, 0, 0},
9010 {0x31, 0xf, 0xf, 0, 0},
9021 {0x3C, 0x13, 0x13, 0, 0},
9022 {0x3D, 0xf, 0xf, 0, 0},
9023 {0x3E, 0x18, 0x18, 0, 0},
9026 {0x41, 0x20, 0x20, 0, 0},
9027 {0x42, 0x20, 0x20, 0, 0},
9029 {0x44, 0x77, 0x77, 0, 0},
9030 {0x45, 0x7, 0x7, 0, 0},
9031 {0x46, 0x1, 0x1, 0, 0},
9032 {0x47, 0x4, 0x4, 0, 0},
9033 {0x48, 0xf, 0xf, 0, 0},
9034 {0x49, 0x30, 0x30, 0, 0},
9035 {0x4A, 0x32, 0x32, 0, 0},
9036 {0x4B, 0xd, 0xd, 0, 0},
9037 {0x4C, 0xd, 0xd, 0, 0},
9038 {0x4D, 0x4, 0x4, 0, 0},
9039 {0x4E, 0x6, 0x6, 0, 0},
9040 {0x4F, 0x1, 0x1, 0, 0},
9041 {0x50, 0x1c, 0x1c, 0, 0},
9042 {0x51, 0x2, 0x2, 0, 0},
9043 {0x52, 0x2, 0x2, 0, 0},
9044 {0x53, 0xf7, 0xf7, 1, 1},
9045 {0x54, 0xb4, 0xb4, 0, 0},
9046 {0x55, 0xd2, 0xd2, 0, 0},
9049 {0x58, 0x4, 0x4, 0, 0},
9050 {0x59, 0x96, 0x96, 0, 0},
9051 {0x5A, 0x3e, 0x3e, 0, 0},
9052 {0x5B, 0x3e, 0x3e, 0, 0},
9053 {0x5C, 0x13, 0x13, 0, 0},
9054 {0x5D, 0x2, 0x2, 0, 0},
9056 {0x5F, 0x7, 0x7, 0, 0},
9057 {0x60, 0x7, 0x7, 1, 1},
9058 {0x61, 0x8, 0x8, 0, 0},
9059 {0x62, 0x3, 0x3, 0, 0},
9065 {0x68, 0x40, 0x40, 0, 0},
9070 {0x6D, 0x1, 0x1, 0, 0},
9073 {0x70, 0x60, 0x60, 0, 0},
9074 {0x71, 0x66, 0x66, 0, 0},
9075 {0x72, 0xc, 0xc, 0, 0},
9076 {0x73, 0x66, 0x66, 0, 0},
9077 {0x74, 0x8f, 0x8f, 1, 1},
9079 {0x76, 0xcc, 0xcc, 0, 0},
9080 {0x77, 0x1, 0x1, 0, 0},
9081 {0x78, 0x66, 0x66, 0, 0},
9082 {0x79, 0x66, 0x66, 0, 0},
9094 {0x85, 0xff, 0xff, 0, 0},
9120 {0x9F, 0x6, 0x6, 0, 0},
9121 {0xA0, 0x66, 0x66, 0, 0},
9122 {0xA1, 0x66, 0x66, 0, 0},
9123 {0xA2, 0x66, 0x66, 0, 0},
9124 {0xA3, 0x66, 0x66, 0, 0},
9125 {0xA4, 0x66, 0x66, 0, 0},
9126 {0xA5, 0x66, 0x66, 0, 0},
9127 {0xA6, 0x66, 0x66, 0, 0},
9128 {0xA7, 0x66, 0x66, 0, 0},
9129 {0xA8, 0x66, 0x66, 0, 0},
9130 {0xA9, 0x66, 0x66, 0, 0},
9131 {0xAA, 0x66, 0x66, 0, 0},
9132 {0xAB, 0x66, 0x66, 0, 0},
9133 {0xAC, 0x66, 0x66, 0, 0},
9134 {0xAD, 0x66, 0x66, 0, 0},
9135 {0xAE, 0x66, 0x66, 0, 0},
9136 {0xAF, 0x66, 0x66, 0, 0},
9137 {0xB0, 0x66, 0x66, 0, 0},
9138 {0xB1, 0x66, 0x66, 0, 0},
9139 {0xB2, 0x66, 0x66, 0, 0},
9140 {0xB3, 0xa, 0xa, 0, 0},
9144 {0xFFFF, 0, 0, 0, 0}
9147 struct radio_regs regs_TX_2056_rev5[] = {
9179 {0x21, 0x88, 0x88, 0, 0},
9180 {0x22, 0x88, 0x88, 0, 0},
9181 {0x23, 0x88, 0x88, 0, 0},
9182 {0x24, 0x88, 0x88, 0, 0},
9183 {0x25, 0xc, 0xc, 0, 0},
9185 {0x27, 0x3, 0x3, 0, 0},
9187 {0x29, 0x3, 0x3, 0, 0},
9188 {0x2A, 0x37, 0x37, 0, 0},
9189 {0x2B, 0x3, 0x3, 0, 0},
9192 {0x2E, 0x1, 0x1, 0, 0},
9193 {0x2F, 0x1, 0x1, 0, 0},
9197 {0x33, 0x11, 0x11, 0, 0},
9198 {0x34, 0x11, 0x11, 0, 0},
9201 {0x37, 0x3, 0x3, 0, 0},
9202 {0x38, 0xf, 0xf, 0, 0},
9204 {0x3A, 0x2d, 0x2d, 0, 0},
9206 {0x3C, 0x6e, 0x6e, 0, 0},
9207 {0x3D, 0xf0, 0xf0, 1, 1},
9211 {0x41, 0x3, 0x3, 0, 0},
9212 {0x42, 0x3, 0x3, 0, 0},
9214 {0x44, 0x1e, 0x1e, 0, 0},
9216 {0x46, 0x6e, 0x6e, 0, 0},
9217 {0x47, 0xf0, 0xf0, 1, 1},
9219 {0x49, 0x2, 0x2, 0, 0},
9220 {0x4A, 0xff, 0xff, 1, 1},
9221 {0x4B, 0xc, 0xc, 0, 0},
9223 {0x4D, 0x38, 0x38, 0, 0},
9224 {0x4E, 0x70, 0x70, 1, 1},
9225 {0x4F, 0x2, 0x2, 0, 0},
9226 {0x50, 0x88, 0x88, 0, 0},
9227 {0x51, 0xc, 0xc, 0, 0},
9229 {0x53, 0x8, 0x8, 0, 0},
9230 {0x54, 0x70, 0x70, 1, 1},
9231 {0x55, 0x2, 0x2, 0, 0},
9232 {0x56, 0xff, 0xff, 1, 1},
9234 {0x58, 0x83, 0x83, 0, 0},
9235 {0x59, 0x77, 0x77, 1, 1},
9237 {0x5B, 0x2, 0x2, 0, 0},
9238 {0x5C, 0x88, 0x88, 0, 0},
9240 {0x5E, 0x8, 0x8, 0, 0},
9241 {0x5F, 0x77, 0x77, 1, 1},
9242 {0x60, 0x1, 0x1, 0, 0},
9244 {0x62, 0x7, 0x7, 0, 0},
9246 {0x64, 0x7, 0x7, 0, 0},
9251 {0x69, 0xa, 0xa, 0, 0},
9259 {0x71, 0x2, 0x2, 0, 0},
9262 {0x74, 0xe, 0xe, 0, 0},
9263 {0x75, 0xe, 0xe, 0, 0},
9264 {0x76, 0xe, 0xe, 0, 0},
9265 {0x77, 0x13, 0x13, 0, 0},
9266 {0x78, 0x13, 0x13, 0, 0},
9267 {0x79, 0x1b, 0x1b, 0, 0},
9268 {0x7A, 0x1b, 0x1b, 0, 0},
9269 {0x7B, 0x55, 0x55, 0, 0},
9270 {0x7C, 0x5b, 0x5b, 0, 0},
9293 {0x93, 0x70, 0x70, 0, 0},
9294 {0x94, 0x70, 0x70, 0, 0},
9295 {0x95, 0x71, 0x71, 1, 1},
9296 {0x96, 0x71, 0x71, 1, 1},
9297 {0x97, 0x72, 0x72, 1, 1},
9298 {0x98, 0x73, 0x73, 1, 1},
9299 {0x99, 0x74, 0x74, 1, 1},
9300 {0x9A, 0x75, 0x75, 1, 1},
9301 {0xFFFF, 0, 0, 0, 0}
9304 struct radio_regs regs_RX_2056_rev5[] = {
9335 {0x20, 0x3, 0x3, 0, 0},
9338 {0x23, 0x90, 0x90, 0, 0},
9339 {0x24, 0x55, 0x55, 0, 0},
9340 {0x25, 0x15, 0x15, 0, 0},
9341 {0x26, 0x5, 0x5, 0, 0},
9342 {0x27, 0x15, 0x15, 0, 0},
9343 {0x28, 0x5, 0x5, 0, 0},
9344 {0x29, 0x20, 0x20, 0, 0},
9345 {0x2A, 0x11, 0x11, 0, 0},
9346 {0x2B, 0x90, 0x90, 0, 0},
9348 {0x2D, 0x88, 0x88, 0, 0},
9349 {0x2E, 0x32, 0x32, 0, 0},
9350 {0x2F, 0x77, 0x77, 0, 0},
9351 {0x30, 0x17, 0x17, 1, 1},
9352 {0x31, 0xff, 0xff, 1, 1},
9353 {0x32, 0x20, 0x20, 0, 0},
9355 {0x34, 0x88, 0x88, 0, 0},
9356 {0x35, 0x32, 0x32, 0, 0},
9357 {0x36, 0x77, 0x77, 0, 0},
9358 {0x37, 0x17, 0x17, 1, 1},
9359 {0x38, 0xf0, 0xf0, 1, 1},
9360 {0x39, 0x20, 0x20, 0, 0},
9361 {0x3A, 0x8, 0x8, 0, 0},
9362 {0x3B, 0x55, 0x55, 1, 1},
9364 {0x3D, 0x88, 0x88, 1, 1},
9367 {0x40, 0x7, 0x7, 1, 1},
9368 {0x41, 0x6, 0x6, 0, 0},
9369 {0x42, 0x4, 0x4, 0, 0},
9371 {0x44, 0x8, 0x8, 0, 0},
9372 {0x45, 0x55, 0x55, 1, 1},
9374 {0x47, 0x11, 0x11, 0, 0},
9377 {0x4A, 0x7, 0x7, 0, 0},
9378 {0x4B, 0x6, 0x6, 0, 0},
9379 {0x4C, 0x4, 0x4, 0, 0},
9382 {0x4F, 0x26, 0x26, 1, 1},
9383 {0x50, 0x26, 0x26, 1, 1},
9384 {0x51, 0xf, 0xf, 1, 1},
9385 {0x52, 0xf, 0xf, 1, 1},
9386 {0x53, 0x44, 0x44, 0, 0},
9389 {0x56, 0x8, 0x8, 0, 0},
9390 {0x57, 0x8, 0x8, 0, 0},
9391 {0x58, 0x7, 0x7, 0, 0},
9392 {0x59, 0x22, 0x22, 0, 0},
9393 {0x5A, 0x22, 0x22, 0, 0},
9394 {0x5B, 0x2, 0x2, 0, 0},
9395 {0x5C, 0x4, 0x4, 1, 1},
9396 {0x5D, 0x7, 0x7, 0, 0},
9397 {0x5E, 0x55, 0x55, 0, 0},
9398 {0x5F, 0x23, 0x23, 0, 0},
9399 {0x60, 0x41, 0x41, 0, 0},
9400 {0x61, 0x1, 0x1, 0, 0},
9401 {0x62, 0xa, 0xa, 0, 0},
9410 {0x6B, 0xc, 0xc, 0, 0},
9417 {0x72, 0x22, 0x22, 0, 0},
9418 {0x73, 0x22, 0x22, 0, 0},
9420 {0x75, 0xa, 0xa, 0, 0},
9421 {0x76, 0x1, 0x1, 0, 0},
9422 {0x77, 0x22, 0x22, 0, 0},
9423 {0x78, 0x30, 0x30, 0, 0},
9452 {0xFFFF, 0, 0, 0, 0}
9455 struct radio_regs regs_SYN_2056_rev6[] = {
9463 {0x09, 0x1, 0x1, 0, 0},
9488 {0x22, 0x60, 0x60, 0, 0},
9489 {0x23, 0x6, 0x6, 0, 0},
9490 {0x24, 0xc, 0xc, 0, 0},
9494 {0x28, 0x1, 0x1, 0, 0},
9501 {0x2F, 0x1f, 0x1f, 0, 0},
9502 {0x30, 0x15, 0x15, 0, 0},
9503 {0x31, 0xf, 0xf, 0, 0},
9514 {0x3C, 0x13, 0x13, 0, 0},
9515 {0x3D, 0xf, 0xf, 0, 0},
9516 {0x3E, 0x18, 0x18, 0, 0},
9519 {0x41, 0x20, 0x20, 0, 0},
9520 {0x42, 0x20, 0x20, 0, 0},
9522 {0x44, 0x77, 0x77, 0, 0},
9523 {0x45, 0x7, 0x7, 0, 0},
9524 {0x46, 0x1, 0x1, 0, 0},
9525 {0x47, 0x4, 0x4, 0, 0},
9526 {0x48, 0xf, 0xf, 0, 0},
9527 {0x49, 0x30, 0x30, 0, 0},
9528 {0x4A, 0x32, 0x32, 0, 0},
9529 {0x4B, 0xd, 0xd, 0, 0},
9530 {0x4C, 0xd, 0xd, 0, 0},
9531 {0x4D, 0x4, 0x4, 0, 0},
9532 {0x4E, 0x6, 0x6, 0, 0},
9533 {0x4F, 0x1, 0x1, 0, 0},
9534 {0x50, 0x1c, 0x1c, 0, 0},
9535 {0x51, 0x2, 0x2, 0, 0},
9536 {0x52, 0x2, 0x2, 0, 0},
9537 {0x53, 0xf7, 0xf7, 1, 1},
9538 {0x54, 0xb4, 0xb4, 0, 0},
9539 {0x55, 0xd2, 0xd2, 0, 0},
9542 {0x58, 0x4, 0x4, 0, 0},
9543 {0x59, 0x96, 0x96, 0, 0},
9544 {0x5A, 0x3e, 0x3e, 0, 0},
9545 {0x5B, 0x3e, 0x3e, 0, 0},
9546 {0x5C, 0x13, 0x13, 0, 0},
9547 {0x5D, 0x2, 0x2, 0, 0},
9549 {0x5F, 0x7, 0x7, 0, 0},
9550 {0x60, 0x7, 0x7, 1, 1},
9551 {0x61, 0x8, 0x8, 0, 0},
9552 {0x62, 0x3, 0x3, 0, 0},
9558 {0x68, 0x40, 0x40, 0, 0},
9563 {0x6D, 0x1, 0x1, 0, 0},
9566 {0x70, 0x60, 0x60, 0, 0},
9567 {0x71, 0x66, 0x66, 0, 0},
9568 {0x72, 0xc, 0xc, 0, 0},
9569 {0x73, 0x66, 0x66, 0, 0},
9570 {0x74, 0x8f, 0x8f, 1, 1},
9572 {0x76, 0xcc, 0xcc, 0, 0},
9573 {0x77, 0x1, 0x1, 0, 0},
9574 {0x78, 0x66, 0x66, 0, 0},
9575 {0x79, 0x66, 0x66, 0, 0},
9587 {0x85, 0xff, 0xff, 0, 0},
9613 {0x9F, 0x6, 0x6, 0, 0},
9614 {0xA0, 0x66, 0x66, 0, 0},
9615 {0xA1, 0x66, 0x66, 0, 0},
9616 {0xA2, 0x66, 0x66, 0, 0},
9617 {0xA3, 0x66, 0x66, 0, 0},
9618 {0xA4, 0x66, 0x66, 0, 0},
9619 {0xA5, 0x66, 0x66, 0, 0},
9620 {0xA6, 0x66, 0x66, 0, 0},
9621 {0xA7, 0x66, 0x66, 0, 0},
9622 {0xA8, 0x66, 0x66, 0, 0},
9623 {0xA9, 0x66, 0x66, 0, 0},
9624 {0xAA, 0x66, 0x66, 0, 0},
9625 {0xAB, 0x66, 0x66, 0, 0},
9626 {0xAC, 0x66, 0x66, 0, 0},
9627 {0xAD, 0x66, 0x66, 0, 0},
9628 {0xAE, 0x66, 0x66, 0, 0},
9629 {0xAF, 0x66, 0x66, 0, 0},
9630 {0xB0, 0x66, 0x66, 0, 0},
9631 {0xB1, 0x66, 0x66, 0, 0},
9632 {0xB2, 0x66, 0x66, 0, 0},
9633 {0xB3, 0xa, 0xa, 0, 0},
9637 {0xFFFF, 0, 0, 0, 0}
9640 struct radio_regs regs_TX_2056_rev6[] = {
9672 {0x21, 0x88, 0x88, 0, 0},
9673 {0x22, 0x88, 0x88, 0, 0},
9674 {0x23, 0x88, 0x88, 0, 0},
9675 {0x24, 0x88, 0x88, 0, 0},
9676 {0x25, 0xc, 0xc, 0, 0},
9678 {0x27, 0x3, 0x3, 0, 0},
9680 {0x29, 0x3, 0x3, 0, 0},
9681 {0x2A, 0x37, 0x37, 0, 0},
9682 {0x2B, 0x3, 0x3, 0, 0},
9685 {0x2E, 0x1, 0x1, 0, 0},
9686 {0x2F, 0x1, 0x1, 0, 0},
9690 {0x33, 0x11, 0x11, 0, 0},
9691 {0x34, 0xee, 0xee, 1, 1},
9694 {0x37, 0x3, 0x3, 0, 0},
9695 {0x38, 0x50, 0x50, 1, 1},
9697 {0x3A, 0x50, 0x50, 1, 1},
9699 {0x3C, 0x6e, 0x6e, 0, 0},
9700 {0x3D, 0xf0, 0xf0, 1, 1},
9704 {0x41, 0x3, 0x3, 0, 0},
9705 {0x42, 0x3, 0x3, 0, 0},
9707 {0x44, 0x1e, 0x1e, 0, 0},
9709 {0x46, 0x6e, 0x6e, 0, 0},
9710 {0x47, 0xf0, 0xf0, 1, 1},
9712 {0x49, 0x2, 0x2, 0, 0},
9713 {0x4A, 0xff, 0xff, 1, 1},
9714 {0x4B, 0xc, 0xc, 0, 0},
9716 {0x4D, 0x38, 0x38, 0, 0},
9717 {0x4E, 0x70, 0x70, 1, 1},
9718 {0x4F, 0x2, 0x2, 0, 0},
9719 {0x50, 0x88, 0x88, 0, 0},
9720 {0x51, 0xc, 0xc, 0, 0},
9722 {0x53, 0x8, 0x8, 0, 0},
9723 {0x54, 0x70, 0x70, 1, 1},
9724 {0x55, 0x2, 0x2, 0, 0},
9725 {0x56, 0xff, 0xff, 1, 1},
9727 {0x58, 0x83, 0x83, 0, 0},
9728 {0x59, 0x77, 0x77, 1, 1},
9730 {0x5B, 0x2, 0x2, 0, 0},
9731 {0x5C, 0x88, 0x88, 0, 0},
9733 {0x5E, 0x8, 0x8, 0, 0},
9734 {0x5F, 0x77, 0x77, 1, 1},
9735 {0x60, 0x1, 0x1, 0, 0},
9737 {0x62, 0x7, 0x7, 0, 0},
9739 {0x64, 0x7, 0x7, 0, 0},
9744 {0x69, 0xa, 0xa, 0, 0},
9752 {0x71, 0x2, 0x2, 0, 0},
9755 {0x74, 0xe, 0xe, 0, 0},
9756 {0x75, 0xe, 0xe, 0, 0},
9757 {0x76, 0xe, 0xe, 0, 0},
9758 {0x77, 0x13, 0x13, 0, 0},
9759 {0x78, 0x13, 0x13, 0, 0},
9760 {0x79, 0x1b, 0x1b, 0, 0},
9761 {0x7A, 0x1b, 0x1b, 0, 0},
9762 {0x7B, 0x55, 0x55, 0, 0},
9763 {0x7C, 0x5b, 0x5b, 0, 0},
9764 {0x7D, 0x30, 0x30, 1, 1},
9786 {0x93, 0x70, 0x70, 0, 0},
9787 {0x94, 0x70, 0x70, 0, 0},
9788 {0x95, 0x70, 0x70, 0, 0},
9789 {0x96, 0x70, 0x70, 0, 0},
9790 {0x97, 0x70, 0x70, 0, 0},
9791 {0x98, 0x70, 0x70, 0, 0},
9792 {0x99, 0x70, 0x70, 0, 0},
9793 {0x9A, 0x70, 0x70, 0, 0},
9794 {0xFFFF, 0, 0, 0, 0}
9797 struct radio_regs regs_RX_2056_rev6[] = {
9828 {0x20, 0x3, 0x3, 0, 0},
9831 {0x23, 0x90, 0x90, 0, 0},
9832 {0x24, 0x55, 0x55, 0, 0},
9833 {0x25, 0x15, 0x15, 0, 0},
9834 {0x26, 0x5, 0x5, 0, 0},
9835 {0x27, 0x15, 0x15, 0, 0},
9836 {0x28, 0x5, 0x5, 0, 0},
9837 {0x29, 0x20, 0x20, 0, 0},
9838 {0x2A, 0x11, 0x11, 0, 0},
9839 {0x2B, 0x90, 0x90, 0, 0},
9841 {0x2D, 0x88, 0x88, 0, 0},
9842 {0x2E, 0x32, 0x32, 0, 0},
9843 {0x2F, 0x77, 0x77, 0, 0},
9844 {0x30, 0x17, 0x17, 1, 1},
9845 {0x31, 0xff, 0xff, 1, 1},
9846 {0x32, 0x20, 0x20, 0, 0},
9848 {0x34, 0x88, 0x88, 0, 0},
9849 {0x35, 0x32, 0x32, 0, 0},
9850 {0x36, 0x77, 0x77, 0, 0},
9851 {0x37, 0x17, 0x17, 1, 1},
9852 {0x38, 0xf0, 0xf0, 1, 1},
9853 {0x39, 0x20, 0x20, 0, 0},
9854 {0x3A, 0x8, 0x8, 0, 0},
9855 {0x3B, 0x55, 0x55, 1, 1},
9857 {0x3D, 0x88, 0x88, 1, 1},
9859 {0x3F, 0x44, 0x44, 0, 0},
9860 {0x40, 0x7, 0x7, 1, 1},
9861 {0x41, 0x6, 0x6, 0, 0},
9862 {0x42, 0x4, 0x4, 0, 0},
9864 {0x44, 0x8, 0x8, 0, 0},
9865 {0x45, 0x55, 0x55, 1, 1},
9867 {0x47, 0x11, 0x11, 0, 0},
9869 {0x49, 0x44, 0x44, 0, 0},
9870 {0x4A, 0x7, 0x7, 0, 0},
9871 {0x4B, 0x6, 0x6, 0, 0},
9872 {0x4C, 0x4, 0x4, 0, 0},
9875 {0x4F, 0x26, 0x26, 1, 1},
9876 {0x50, 0x26, 0x26, 1, 1},
9877 {0x51, 0xf, 0xf, 1, 1},
9878 {0x52, 0xf, 0xf, 1, 1},
9879 {0x53, 0x44, 0x44, 0, 0},
9882 {0x56, 0x8, 0x8, 0, 0},
9883 {0x57, 0x8, 0x8, 0, 0},
9884 {0x58, 0x7, 0x7, 0, 0},
9885 {0x59, 0x22, 0x22, 0, 0},
9886 {0x5A, 0x22, 0x22, 0, 0},
9887 {0x5B, 0x2, 0x2, 0, 0},
9888 {0x5C, 0x4, 0x4, 1, 1},
9889 {0x5D, 0x7, 0x7, 0, 0},
9890 {0x5E, 0x55, 0x55, 0, 0},
9891 {0x5F, 0x23, 0x23, 0, 0},
9892 {0x60, 0x41, 0x41, 0, 0},
9893 {0x61, 0x1, 0x1, 0, 0},
9894 {0x62, 0xa, 0xa, 0, 0},
9903 {0x6B, 0xc, 0xc, 0, 0},
9910 {0x72, 0x22, 0x22, 0, 0},
9911 {0x73, 0x22, 0x22, 0, 0},
9913 {0x75, 0xa, 0xa, 0, 0},
9914 {0x76, 0x1, 0x1, 0, 0},
9915 {0x77, 0x22, 0x22, 0, 0},
9916 {0x78, 0x30, 0x30, 0, 0},
9921 {0x7D, 0x5, 0x5, 1, 1},
9945 {0xFFFF, 0, 0, 0, 0}
9948 struct radio_regs regs_SYN_2056_rev7[] = {
9956 {0x09, 0x1, 0x1, 0, 0},
9981 {0x22, 0x60, 0x60, 0, 0},
9982 {0x23, 0x6, 0x6, 0, 0},
9983 {0x24, 0xc, 0xc, 0, 0},
9987 {0x28, 0x1, 0x1, 0, 0},
9994 {0x2F, 0x1f, 0x1f, 0, 0},
9995 {0x30, 0x15, 0x15, 0, 0},
9996 {0x31, 0xf, 0xf, 0, 0},
10000 {0x35, 0, 0, 0, 0},
10001 {0x36, 0, 0, 0, 0},
10002 {0x37, 0, 0, 0, 0},
10003 {0x38, 0, 0, 0, 0},
10004 {0x39, 0, 0, 0, 0},
10005 {0x3A, 0, 0, 0, 0},
10006 {0x3B, 0, 0, 0, 0},
10007 {0x3C, 0x13, 0x13, 0, 0},
10008 {0x3D, 0xf, 0xf, 0, 0},
10009 {0x3E, 0x18, 0x18, 0, 0},
10010 {0x3F, 0, 0, 0, 0},
10011 {0x40, 0, 0, 0, 0},
10012 {0x41, 0x20, 0x20, 0, 0},
10013 {0x42, 0x20, 0x20, 0, 0},
10014 {0x43, 0, 0, 0, 0},
10015 {0x44, 0x77, 0x77, 0, 0},
10016 {0x45, 0x7, 0x7, 0, 0},
10017 {0x46, 0x1, 0x1, 0, 0},
10018 {0x47, 0x4, 0x4, 0, 0},
10019 {0x48, 0xf, 0xf, 0, 0},
10020 {0x49, 0x30, 0x30, 0, 0},
10021 {0x4A, 0x32, 0x32, 0, 0},
10022 {0x4B, 0xd, 0xd, 0, 0},
10023 {0x4C, 0xd, 0xd, 0, 0},
10024 {0x4D, 0x4, 0x4, 0, 0},
10025 {0x4E, 0x6, 0x6, 0, 0},
10026 {0x4F, 0x1, 0x1, 0, 0},
10027 {0x50, 0x1c, 0x1c, 0, 0},
10028 {0x51, 0x2, 0x2, 0, 0},
10029 {0x52, 0x2, 0x2, 0, 0},
10030 {0x53, 0xf7, 0xf7, 1, 1},
10031 {0x54, 0xb4, 0xb4, 0, 0},
10032 {0x55, 0xd2, 0xd2, 0, 0},
10033 {0x56, 0, 0, 0, 0},
10034 {0x57, 0, 0, 0, 0},
10035 {0x58, 0x4, 0x4, 0, 0},
10036 {0x59, 0x96, 0x96, 0, 0},
10037 {0x5A, 0x3e, 0x3e, 0, 0},
10038 {0x5B, 0x3e, 0x3e, 0, 0},
10039 {0x5C, 0x13, 0x13, 0, 0},
10040 {0x5D, 0x2, 0x2, 0, 0},
10041 {0x5E, 0, 0, 0, 0},
10042 {0x5F, 0x7, 0x7, 0, 0},
10043 {0x60, 0x7, 0x7, 1, 1},
10044 {0x61, 0x8, 0x8, 0, 0},
10045 {0x62, 0x3, 0x3, 0, 0},
10046 {0x63, 0, 0, 0, 0},
10047 {0x64, 0, 0, 0, 0},
10048 {0x65, 0, 0, 0, 0},
10049 {0x66, 0, 0, 0, 0},
10050 {0x67, 0, 0, 0, 0},
10051 {0x68, 0x40, 0x40, 0, 0},
10052 {0x69, 0, 0, 0, 0},
10053 {0x6A, 0, 0, 0, 0},
10054 {0x6B, 0, 0, 0, 0},
10055 {0x6C, 0, 0, 0, 0},
10056 {0x6D, 0x1, 0x1, 0, 0},
10057 {0x6E, 0, 0, 0, 0},
10058 {0x6F, 0, 0, 0, 0},
10059 {0x70, 0x60, 0x60, 0, 0},
10060 {0x71, 0x66, 0x66, 0, 0},
10061 {0x72, 0xc, 0xc, 0, 0},
10062 {0x73, 0x66, 0x66, 0, 0},
10063 {0x74, 0x8f, 0x8f, 1, 1},
10064 {0x75, 0, 0, 0, 0},
10065 {0x76, 0xcc, 0xcc, 0, 0},
10066 {0x77, 0x1, 0x1, 0, 0},
10067 {0x78, 0x66, 0x66, 0, 0},
10068 {0x79, 0x66, 0x66, 0, 0},
10069 {0x7A, 0, 0, 0, 0},
10070 {0x7B, 0, 0, 0, 0},
10071 {0x7C, 0, 0, 0, 0},
10072 {0x7D, 0, 0, 0, 0},
10073 {0x7E, 0, 0, 0, 0},
10074 {0x7F, 0, 0, 0, 0},
10075 {0x80, 0, 0, 0, 0},
10076 {0x81, 0, 0, 0, 0},
10077 {0x82, 0, 0, 0, 0},
10078 {0x83, 0, 0, 0, 0},
10079 {0x84, 0, 0, 0, 0},
10080 {0x85, 0xff, 0xff, 0, 0},
10081 {0x86, 0, 0, 0, 0},
10082 {0x87, 0, 0, 0, 0},
10083 {0x88, 0, 0, 0, 0},
10084 {0x89, 0, 0, 0, 0},
10085 {0x8A, 0, 0, 0, 0},
10086 {0x8B, 0, 0, 0, 0},
10087 {0x8C, 0, 0, 0, 0},
10088 {0x8D, 0, 0, 0, 0},
10089 {0x8E, 0, 0, 0, 0},
10090 {0x8F, 0, 0, 0, 0},
10091 {0x90, 0, 0, 0, 0},
10092 {0x91, 0, 0, 0, 0},
10093 {0x92, 0, 0, 0, 0},
10094 {0x93, 0, 0, 0, 0},
10095 {0x94, 0, 0, 0, 0},
10096 {0x95, 0, 0, 0, 0},
10097 {0x96, 0, 0, 0, 0},
10098 {0x97, 0, 0, 0, 0},
10099 {0x98, 0, 0, 0, 0},
10100 {0x99, 0, 0, 0, 0},
10101 {0x9A, 0, 0, 0, 0},
10102 {0x9B, 0, 0, 0, 0},
10103 {0x9C, 0, 0, 0, 0},
10104 {0x9D, 0, 0, 0, 0},
10105 {0x9E, 0, 0, 0, 0},
10106 {0x9F, 0x6, 0x6, 0, 0},
10107 {0xA0, 0x66, 0x66, 0, 0},
10108 {0xA1, 0x66, 0x66, 0, 0},
10109 {0xA2, 0x66, 0x66, 0, 0},
10110 {0xA3, 0x66, 0x66, 0, 0},
10111 {0xA4, 0x66, 0x66, 0, 0},
10112 {0xA5, 0x66, 0x66, 0, 0},
10113 {0xA6, 0x66, 0x66, 0, 0},
10114 {0xA7, 0x66, 0x66, 0, 0},
10115 {0xA8, 0x66, 0x66, 0, 0},
10116 {0xA9, 0x66, 0x66, 0, 0},
10117 {0xAA, 0x66, 0x66, 0, 0},
10118 {0xAB, 0x66, 0x66, 0, 0},
10119 {0xAC, 0x66, 0x66, 0, 0},
10120 {0xAD, 0x66, 0x66, 0, 0},
10121 {0xAE, 0x66, 0x66, 0, 0},
10122 {0xAF, 0x66, 0x66, 0, 0},
10123 {0xB0, 0x66, 0x66, 0, 0},
10124 {0xB1, 0x66, 0x66, 0, 0},
10125 {0xB2, 0x66, 0x66, 0, 0},
10126 {0xB3, 0xa, 0xa, 0, 0},
10127 {0xB4, 0, 0, 0, 0},
10128 {0xB5, 0, 0, 0, 0},
10129 {0xB6, 0, 0, 0, 0},
10130 {0xFFFF, 0, 0, 0, 0},
10133 struct radio_regs regs_TX_2056_rev7[] = {
10134 {0x02, 0, 0, 0, 0},
10135 {0x03, 0, 0, 0, 0},
10136 {0x04, 0, 0, 0, 0},
10137 {0x05, 0, 0, 0, 0},
10138 {0x06, 0, 0, 0, 0},
10139 {0x07, 0, 0, 0, 0},
10140 {0x08, 0, 0, 0, 0},
10141 {0x09, 0, 0, 0, 0},
10142 {0x0A, 0, 0, 0, 0},
10143 {0x0B, 0, 0, 0, 0},
10144 {0x0C, 0, 0, 0, 0},
10145 {0x0D, 0, 0, 0, 0},
10146 {0x0E, 0, 0, 0, 0},
10147 {0x0F, 0, 0, 0, 0},
10148 {0x10, 0, 0, 0, 0},
10149 {0x11, 0, 0, 0, 0},
10150 {0x12, 0, 0, 0, 0},
10151 {0x13, 0, 0, 0, 0},
10152 {0x14, 0, 0, 0, 0},
10153 {0x15, 0, 0, 0, 0},
10154 {0x16, 0, 0, 0, 0},
10155 {0x17, 0, 0, 0, 0},
10156 {0x18, 0, 0, 0, 0},
10157 {0x19, 0, 0, 0, 0},
10158 {0x1A, 0, 0, 0, 0},
10159 {0x1B, 0, 0, 0, 0},
10160 {0x1C, 0, 0, 0, 0},
10161 {0x1D, 0, 0, 0, 0},
10162 {0x1E, 0, 0, 0, 0},
10163 {0x1F, 0, 0, 0, 0},
10164 {0x20, 0, 0, 0, 0},
10165 {0x21, 0x88, 0x88, 0, 0},
10166 {0x22, 0x88, 0x88, 0, 0},
10167 {0x23, 0x88, 0x88, 0, 0},
10168 {0x24, 0x88, 0x88, 0, 0},
10169 {0x25, 0xc, 0xc, 0, 0},
10170 {0x26, 0, 0, 0, 0},
10171 {0x27, 0x3, 0x3, 0, 0},
10172 {0x28, 0, 0, 0, 0},
10173 {0x29, 0x3, 0x3, 0, 0},
10174 {0x2A, 0x37, 0x37, 0, 0},
10175 {0x2B, 0x3, 0x3, 0, 0},
10176 {0x2C, 0, 0, 0, 0},
10177 {0x2D, 0, 0, 0, 0},
10178 {0x2E, 0x1, 0x1, 0, 0},
10179 {0x2F, 0x1, 0x1, 0, 0},
10180 {0x30, 0, 0, 0, 0},
10181 {0x31, 0, 0, 0, 0},
10182 {0x32, 0, 0, 0, 0},
10183 {0x33, 0x11, 0x11, 0, 0},
10184 {0x34, 0xee, 0xee, 1, 1},
10185 {0x35, 0, 0, 0, 0},
10186 {0x36, 0, 0, 0, 0},
10187 {0x37, 0x3, 0x3, 0, 0},
10188 {0x38, 0x50, 0x50, 1, 1},
10189 {0x39, 0, 0, 0, 0},
10190 {0x3A, 0x50, 0x50, 1, 1},
10191 {0x3B, 0, 0, 0, 0},
10192 {0x3C, 0x6e, 0x6e, 0, 0},
10193 {0x3D, 0xf0, 0xf0, 1, 1},
10194 {0x3E, 0, 0, 0, 0},
10195 {0x3F, 0, 0, 0, 0},
10196 {0x40, 0, 0, 0, 0},
10197 {0x41, 0x3, 0x3, 0, 0},
10198 {0x42, 0x3, 0x3, 0, 0},
10199 {0x43, 0, 0, 0, 0},
10200 {0x44, 0x1e, 0x1e, 0, 0},
10201 {0x45, 0, 0, 0, 0},
10202 {0x46, 0x6e, 0x6e, 0, 0},
10203 {0x47, 0xf0, 0xf0, 1, 1},
10204 {0x48, 0, 0, 0, 0},
10205 {0x49, 0x2, 0x2, 0, 0},
10206 {0x4A, 0xff, 0xff, 1, 1},
10207 {0x4B, 0xc, 0xc, 0, 0},
10208 {0x4C, 0, 0, 0, 0},
10209 {0x4D, 0x38, 0x38, 0, 0},
10210 {0x4E, 0x70, 0x70, 1, 1},
10211 {0x4F, 0x2, 0x2, 0, 0},
10212 {0x50, 0x88, 0x88, 0, 0},
10213 {0x51, 0xc, 0xc, 0, 0},
10214 {0x52, 0, 0, 0, 0},
10215 {0x53, 0x8, 0x8, 0, 0},
10216 {0x54, 0x70, 0x70, 1, 1},
10217 {0x55, 0x2, 0x2, 0, 0},
10218 {0x56, 0xff, 0xff, 1, 1},
10219 {0x57, 0, 0, 0, 0},
10220 {0x58, 0x83, 0x83, 0, 0},
10221 {0x59, 0x77, 0x77, 1, 1},
10222 {0x5A, 0, 0, 0, 0},
10223 {0x5B, 0x2, 0x2, 0, 0},
10224 {0x5C, 0x88, 0x88, 0, 0},
10225 {0x5D, 0, 0, 0, 0},
10226 {0x5E, 0x8, 0x8, 0, 0},
10227 {0x5F, 0x77, 0x77, 1, 1},
10228 {0x60, 0x1, 0x1, 0, 0},
10229 {0x61, 0, 0, 0, 0},
10230 {0x62, 0x7, 0x7, 0, 0},
10231 {0x63, 0, 0, 0, 0},
10232 {0x64, 0x7, 0x7, 0, 0},
10233 {0x65, 0, 0, 0, 0},
10234 {0x66, 0, 0, 0, 0},
10235 {0x67, 0, 0, 1, 1},
10236 {0x68, 0, 0, 0, 0},
10237 {0x69, 0xa, 0xa, 0, 0},
10238 {0x6A, 0, 0, 0, 0},
10239 {0x6B, 0, 0, 0, 0},
10240 {0x6C, 0, 0, 0, 0},
10241 {0x6D, 0, 0, 0, 0},
10242 {0x6E, 0, 0, 0, 0},
10243 {0x6F, 0, 0, 0, 0},
10244 {0x70, 0, 0, 0, 0},
10245 {0x71, 0x2, 0x2, 0, 0},
10246 {0x72, 0, 0, 0, 0},
10247 {0x73, 0, 0, 0, 0},
10248 {0x74, 0xe, 0xe, 0, 0},
10249 {0x75, 0xe, 0xe, 0, 0},
10250 {0x76, 0xe, 0xe, 0, 0},
10251 {0x77, 0x13, 0x13, 0, 0},
10252 {0x78, 0x13, 0x13, 0, 0},
10253 {0x79, 0x1b, 0x1b, 0, 0},
10254 {0x7A, 0x1b, 0x1b, 0, 0},
10255 {0x7B, 0x55, 0x55, 0, 0},
10256 {0x7C, 0x5b, 0x5b, 0, 0},
10257 {0x7D, 0x30, 0x30, 1, 1},
10258 {0x7E, 0, 0, 0, 0},
10259 {0x7F, 0, 0, 0, 0},
10260 {0x80, 0, 0, 0, 0},
10261 {0x81, 0, 0, 0, 0},
10262 {0x82, 0, 0, 0, 0},
10263 {0x83, 0, 0, 0, 0},
10264 {0x84, 0, 0, 0, 0},
10265 {0x85, 0, 0, 0, 0},
10266 {0x86, 0, 0, 0, 0},
10267 {0x87, 0, 0, 0, 0},
10268 {0x88, 0, 0, 0, 0},
10269 {0x89, 0, 0, 0, 0},
10270 {0x8A, 0, 0, 0, 0},
10271 {0x8B, 0, 0, 0, 0},
10272 {0x8C, 0, 0, 0, 0},
10273 {0x8D, 0, 0, 0, 0},
10274 {0x8E, 0, 0, 0, 0},
10275 {0x8F, 0, 0, 0, 0},
10276 {0x90, 0, 0, 0, 0},
10277 {0x91, 0, 0, 0, 0},
10278 {0x92, 0, 0, 0, 0},
10279 {0x93, 0x70, 0x70, 0, 0},
10280 {0x94, 0x70, 0x70, 0, 0},
10281 {0x95, 0x71, 0x71, 1, 1},
10282 {0x96, 0x71, 0x71, 1, 1},
10283 {0x97, 0x72, 0x72, 1, 1},
10284 {0x98, 0x73, 0x73, 1, 1},
10285 {0x99, 0x74, 0x74, 1, 1},
10286 {0x9A, 0x75, 0x75, 1, 1},
10287 {0xFFFF, 0, 0, 0, 0},
10290 struct radio_regs regs_RX_2056_rev7[] = {
10291 {0x02, 0, 0, 0, 0},
10292 {0x03, 0, 0, 0, 0},
10293 {0x04, 0, 0, 0, 0},
10294 {0x05, 0, 0, 0, 0},
10295 {0x06, 0, 0, 0, 0},
10296 {0x07, 0, 0, 0, 0},
10297 {0x08, 0, 0, 0, 0},
10298 {0x09, 0, 0, 0, 0},
10299 {0x0A, 0, 0, 0, 0},
10300 {0x0B, 0, 0, 0, 0},
10301 {0x0C, 0, 0, 0, 0},
10302 {0x0D, 0, 0, 0, 0},
10303 {0x0E, 0, 0, 0, 0},
10304 {0x0F, 0, 0, 0, 0},
10305 {0x10, 0, 0, 0, 0},
10306 {0x11, 0, 0, 0, 0},
10307 {0x12, 0, 0, 0, 0},
10308 {0x13, 0, 0, 0, 0},
10309 {0x14, 0, 0, 0, 0},
10310 {0x15, 0, 0, 0, 0},
10311 {0x16, 0, 0, 0, 0},
10312 {0x17, 0, 0, 0, 0},
10313 {0x18, 0, 0, 0, 0},
10314 {0x19, 0, 0, 0, 0},
10315 {0x1A, 0, 0, 0, 0},
10316 {0x1B, 0, 0, 0, 0},
10317 {0x1C, 0, 0, 0, 0},
10318 {0x1D, 0, 0, 0, 0},
10319 {0x1E, 0, 0, 0, 0},
10320 {0x1F, 0, 0, 0, 0},
10321 {0x20, 0x3, 0x3, 0, 0},
10322 {0x21, 0, 0, 0, 0},
10323 {0x22, 0, 0, 0, 0},
10324 {0x23, 0x90, 0x90, 0, 0},
10325 {0x24, 0x55, 0x55, 0, 0},
10326 {0x25, 0x15, 0x15, 0, 0},
10327 {0x26, 0x5, 0x5, 0, 0},
10328 {0x27, 0x15, 0x15, 0, 0},
10329 {0x28, 0x5, 0x5, 0, 0},
10330 {0x29, 0x20, 0x20, 0, 0},
10331 {0x2A, 0x11, 0x11, 0, 0},
10332 {0x2B, 0x90, 0x90, 0, 0},
10333 {0x2C, 0, 0, 0, 0},
10334 {0x2D, 0x88, 0x88, 0, 0},
10335 {0x2E, 0x32, 0x32, 0, 0},
10336 {0x2F, 0x77, 0x77, 0, 0},
10337 {0x30, 0x17, 0x17, 1, 1},
10338 {0x31, 0xff, 0xff, 1, 1},
10339 {0x32, 0x20, 0x20, 0, 0},
10340 {0x33, 0, 0, 0, 0},
10341 {0x34, 0x88, 0x88, 0, 0},
10342 {0x35, 0x32, 0x32, 0, 0},
10343 {0x36, 0x77, 0x77, 0, 0},
10344 {0x37, 0x17, 0x17, 1, 1},
10345 {0x38, 0xf0, 0xf0, 1, 1},
10346 {0x39, 0x20, 0x20, 0, 0},
10347 {0x3A, 0x8, 0x8, 0, 0},
10348 {0x3B, 0x55, 0x55, 1, 1},
10349 {0x3C, 0, 0, 0, 0},
10350 {0x3D, 0x88, 0x88, 1, 1},
10351 {0x3E, 0, 0, 0, 0},
10352 {0x3F, 0, 0, 1, 1},
10353 {0x40, 0x7, 0x7, 1, 1},
10354 {0x41, 0x6, 0x6, 0, 0},
10355 {0x42, 0x4, 0x4, 0, 0},
10356 {0x43, 0, 0, 0, 0},
10357 {0x44, 0x8, 0x8, 0, 0},
10358 {0x45, 0x55, 0x55, 1, 1},
10359 {0x46, 0, 0, 0, 0},
10360 {0x47, 0x11, 0x11, 0, 0},
10361 {0x48, 0, 0, 0, 0},
10362 {0x49, 0, 0, 1, 1},
10363 {0x4A, 0x7, 0x7, 0, 0},
10364 {0x4B, 0x6, 0x6, 0, 0},
10365 {0x4C, 0x4, 0x4, 0, 0},
10366 {0x4D, 0, 0, 0, 0},
10367 {0x4E, 0, 0, 0, 0},
10368 {0x4F, 0x26, 0x26, 1, 1},
10369 {0x50, 0x26, 0x26, 1, 1},
10370 {0x51, 0xf, 0xf, 1, 1},
10371 {0x52, 0xf, 0xf, 1, 1},
10372 {0x53, 0x44, 0x44, 0, 0},
10373 {0x54, 0, 0, 0, 0},
10374 {0x55, 0, 0, 0, 0},
10375 {0x56, 0x8, 0x8, 0, 0},
10376 {0x57, 0x8, 0x8, 0, 0},
10377 {0x58, 0x7, 0x7, 0, 0},
10378 {0x59, 0x22, 0x22, 0, 0},
10379 {0x5A, 0x22, 0x22, 0, 0},
10380 {0x5B, 0x2, 0x2, 0, 0},
10381 {0x5C, 0x4, 0x4, 1, 1},
10382 {0x5D, 0x7, 0x7, 0, 0},
10383 {0x5E, 0x55, 0x55, 0, 0},
10384 {0x5F, 0x23, 0x23, 0, 0},
10385 {0x60, 0x41, 0x41, 0, 0},
10386 {0x61, 0x1, 0x1, 0, 0},
10387 {0x62, 0xa, 0xa, 0, 0},
10388 {0x63, 0, 0, 0, 0},
10389 {0x64, 0, 0, 0, 0},
10390 {0x65, 0, 0, 0, 0},
10391 {0x66, 0, 0, 0, 0},
10392 {0x67, 0, 0, 0, 0},
10393 {0x68, 0, 0, 0, 0},
10394 {0x69, 0, 0, 0, 0},
10395 {0x6A, 0, 0, 0, 0},
10396 {0x6B, 0xc, 0xc, 0, 0},
10397 {0x6C, 0, 0, 0, 0},
10398 {0x6D, 0, 0, 0, 0},
10399 {0x6E, 0, 0, 0, 0},
10400 {0x6F, 0, 0, 0, 0},
10401 {0x70, 0, 0, 0, 0},
10402 {0x71, 0, 0, 0, 0},
10403 {0x72, 0x22, 0x22, 0, 0},
10404 {0x73, 0x22, 0x22, 0, 0},
10405 {0x74, 0, 0, 1, 1},
10406 {0x75, 0xa, 0xa, 0, 0},
10407 {0x76, 0x1, 0x1, 0, 0},
10408 {0x77, 0x22, 0x22, 0, 0},
10409 {0x78, 0x30, 0x30, 0, 0},
10410 {0x79, 0, 0, 0, 0},
10411 {0x7A, 0, 0, 0, 0},
10412 {0x7B, 0, 0, 0, 0},
10413 {0x7C, 0, 0, 0, 0},
10414 {0x7D, 0, 0, 0, 0},
10415 {0x7E, 0, 0, 0, 0},
10416 {0x7F, 0, 0, 0, 0},
10417 {0x80, 0, 0, 0, 0},
10418 {0x81, 0, 0, 0, 0},
10419 {0x82, 0, 0, 0, 0},
10420 {0x83, 0, 0, 0, 0},
10421 {0x84, 0, 0, 0, 0},
10422 {0x85, 0, 0, 0, 0},
10423 {0x86, 0, 0, 0, 0},
10424 {0x87, 0, 0, 0, 0},
10425 {0x88, 0, 0, 0, 0},
10426 {0x89, 0, 0, 0, 0},
10427 {0x8A, 0, 0, 0, 0},
10428 {0x8B, 0, 0, 0, 0},
10429 {0x8C, 0, 0, 0, 0},
10430 {0x8D, 0, 0, 0, 0},
10431 {0x8E, 0, 0, 0, 0},
10432 {0x8F, 0, 0, 0, 0},
10433 {0x90, 0, 0, 0, 0},
10434 {0x91, 0, 0, 0, 0},
10435 {0x92, 0, 0, 0, 0},
10436 {0x93, 0, 0, 0, 0},
10437 {0x94, 0, 0, 0, 0},
10438 {0xFFFF, 0, 0, 0, 0},
10441 struct radio_regs regs_SYN_2056_rev8[] = {
10442 {0x02, 0, 0, 0, 0},
10443 {0x03, 0, 0, 0, 0},
10444 {0x04, 0, 0, 0, 0},
10445 {0x05, 0, 0, 0, 0},
10446 {0x06, 0, 0, 0, 0},
10447 {0x07, 0, 0, 0, 0},
10448 {0x08, 0, 0, 0, 0},
10449 {0x09, 0x1, 0x1, 0, 0},
10450 {0x0A, 0, 0, 0, 0},
10451 {0x0B, 0, 0, 0, 0},
10452 {0x0C, 0, 0, 0, 0},
10453 {0x0D, 0, 0, 0, 0},
10454 {0x0E, 0, 0, 0, 0},
10455 {0x0F, 0, 0, 0, 0},
10456 {0x10, 0, 0, 0, 0},
10457 {0x11, 0, 0, 0, 0},
10458 {0x12, 0, 0, 0, 0},
10459 {0x13, 0, 0, 0, 0},
10460 {0x14, 0, 0, 0, 0},
10461 {0x15, 0, 0, 0, 0},
10462 {0x16, 0, 0, 0, 0},
10463 {0x17, 0, 0, 0, 0},
10464 {0x18, 0, 0, 0, 0},
10465 {0x19, 0, 0, 0, 0},
10466 {0x1A, 0, 0, 0, 0},
10467 {0x1B, 0, 0, 0, 0},
10468 {0x1C, 0, 0, 0, 0},
10469 {0x1D, 0, 0, 0, 0},
10470 {0x1E, 0, 0, 0, 0},
10471 {0x1F, 0, 0, 0, 0},
10472 {0x20, 0, 0, 0, 0},
10473 {0x21, 0, 0, 0, 0},
10474 {0x22, 0x60, 0x60, 0, 0},
10475 {0x23, 0x6, 0x6, 0, 0},
10476 {0x24, 0xc, 0xc, 0, 0},
10477 {0x25, 0, 0, 0, 0},
10478 {0x26, 0, 0, 0, 0},
10479 {0x27, 0, 0, 0, 0},
10480 {0x28, 0x1, 0x1, 0, 0},
10481 {0x29, 0, 0, 0, 0},
10482 {0x2A, 0, 0, 0, 0},
10483 {0x2B, 0, 0, 0, 0},
10484 {0x2C, 0, 0, 0, 0},
10485 {0x2D, 0, 0, 0, 0},
10486 {0x2E, 0, 0, 0, 0},
10487 {0x2F, 0x1f, 0x1f, 0, 0},
10488 {0x30, 0x15, 0x15, 0, 0},
10489 {0x31, 0xf, 0xf, 0, 0},
10490 {0x32, 0, 0, 0, 0},
10491 {0x33, 0, 0, 0, 0},
10492 {0x34, 0, 0, 0, 0},
10493 {0x35, 0, 0, 0, 0},
10494 {0x36, 0, 0, 0, 0},
10495 {0x37, 0, 0, 0, 0},
10496 {0x38, 0, 0, 0, 0},
10497 {0x39, 0, 0, 0, 0},
10498 {0x3A, 0, 0, 0, 0},
10499 {0x3B, 0, 0, 0, 0},
10500 {0x3C, 0x13, 0x13, 0, 0},
10501 {0x3D, 0xf, 0xf, 0, 0},
10502 {0x3E, 0x18, 0x18, 0, 0},
10503 {0x3F, 0, 0, 0, 0},
10504 {0x40, 0, 0, 0, 0},
10505 {0x41, 0x20, 0x20, 0, 0},
10506 {0x42, 0x20, 0x20, 0, 0},
10507 {0x43, 0, 0, 0, 0},
10508 {0x44, 0x77, 0x77, 0, 0},
10509 {0x45, 0x7, 0x7, 0, 0},
10510 {0x46, 0x1, 0x1, 0, 0},
10511 {0x47, 0x4, 0x4, 0, 0},
10512 {0x48, 0xf, 0xf, 0, 0},
10513 {0x49, 0x30, 0x30, 0, 0},
10514 {0x4A, 0x32, 0x32, 0, 0},
10515 {0x4B, 0xd, 0xd, 0, 0},
10516 {0x4C, 0xd, 0xd, 0, 0},
10517 {0x4D, 0x4, 0x4, 0, 0},
10518 {0x4E, 0x6, 0x6, 0, 0},
10519 {0x4F, 0x1, 0x1, 0, 0},
10520 {0x50, 0x1c, 0x1c, 0, 0},
10521 {0x51, 0x2, 0x2, 0, 0},
10522 {0x52, 0x2, 0x2, 0, 0},
10523 {0x53, 0xf7, 0xf7, 1, 1},
10524 {0x54, 0xb4, 0xb4, 0, 0},
10525 {0x55, 0xd2, 0xd2, 0, 0},
10526 {0x56, 0, 0, 0, 0},
10527 {0x57, 0, 0, 0, 0},
10528 {0x58, 0x4, 0x4, 0, 0},
10529 {0x59, 0x96, 0x96, 0, 0},
10530 {0x5A, 0x3e, 0x3e, 0, 0},
10531 {0x5B, 0x3e, 0x3e, 0, 0},
10532 {0x5C, 0x13, 0x13, 0, 0},
10533 {0x5D, 0x2, 0x2, 0, 0},
10534 {0x5E, 0, 0, 0, 0},
10535 {0x5F, 0x7, 0x7, 0, 0},
10536 {0x60, 0x7, 0x7, 1, 1},
10537 {0x61, 0x8, 0x8, 0, 0},
10538 {0x62, 0x3, 0x3, 0, 0},
10539 {0x63, 0, 0, 0, 0},
10540 {0x64, 0, 0, 0, 0},
10541 {0x65, 0, 0, 0, 0},
10542 {0x66, 0, 0, 0, 0},
10543 {0x67, 0, 0, 0, 0},
10544 {0x68, 0x40, 0x40, 0, 0},
10545 {0x69, 0, 0, 0, 0},
10546 {0x6A, 0, 0, 0, 0},
10547 {0x6B, 0, 0, 0, 0},
10548 {0x6C, 0, 0, 0, 0},
10549 {0x6D, 0x1, 0x1, 0, 0},
10550 {0x6E, 0, 0, 0, 0},
10551 {0x6F, 0, 0, 0, 0},
10552 {0x70, 0x60, 0x60, 0, 0},
10553 {0x71, 0x66, 0x66, 0, 0},
10554 {0x72, 0xc, 0xc, 0, 0},
10555 {0x73, 0x66, 0x66, 0, 0},
10556 {0x74, 0x8f, 0x8f, 1, 1},
10557 {0x75, 0, 0, 0, 0},
10558 {0x76, 0xcc, 0xcc, 0, 0},
10559 {0x77, 0x1, 0x1, 0, 0},
10560 {0x78, 0x66, 0x66, 0, 0},
10561 {0x79, 0x66, 0x66, 0, 0},
10562 {0x7A, 0, 0, 0, 0},
10563 {0x7B, 0, 0, 0, 0},
10564 {0x7C, 0, 0, 0, 0},
10565 {0x7D, 0, 0, 0, 0},
10566 {0x7E, 0, 0, 0, 0},
10567 {0x7F, 0, 0, 0, 0},
10568 {0x80, 0, 0, 0, 0},
10569 {0x81, 0, 0, 0, 0},
10570 {0x82, 0, 0, 0, 0},
10571 {0x83, 0, 0, 0, 0},
10572 {0x84, 0, 0, 0, 0},
10573 {0x85, 0xff, 0xff, 0, 0},
10574 {0x86, 0, 0, 0, 0},
10575 {0x87, 0, 0, 0, 0},
10576 {0x88, 0, 0, 0, 0},
10577 {0x89, 0, 0, 0, 0},
10578 {0x8A, 0, 0, 0, 0},
10579 {0x8B, 0, 0, 0, 0},
10580 {0x8C, 0, 0, 0, 0},
10581 {0x8D, 0, 0, 0, 0},
10582 {0x8E, 0, 0, 0, 0},
10583 {0x8F, 0, 0, 0, 0},
10584 {0x90, 0, 0, 0, 0},
10585 {0x91, 0, 0, 0, 0},
10586 {0x92, 0, 0, 0, 0},
10587 {0x93, 0, 0, 0, 0},
10588 {0x94, 0, 0, 0, 0},
10589 {0x95, 0, 0, 0, 0},
10590 {0x96, 0, 0, 0, 0},
10591 {0x97, 0, 0, 0, 0},
10592 {0x98, 0, 0, 0, 0},
10593 {0x99, 0, 0, 0, 0},
10594 {0x9A, 0, 0, 0, 0},
10595 {0x9B, 0, 0, 0, 0},
10596 {0x9C, 0, 0, 0, 0},
10597 {0x9D, 0, 0, 0, 0},
10598 {0x9E, 0, 0, 0, 0},
10599 {0x9F, 0x6, 0x6, 0, 0},
10600 {0xA0, 0x66, 0x66, 0, 0},
10601 {0xA1, 0x66, 0x66, 0, 0},
10602 {0xA2, 0x66, 0x66, 0, 0},
10603 {0xA3, 0x66, 0x66, 0, 0},
10604 {0xA4, 0x66, 0x66, 0, 0},
10605 {0xA5, 0x66, 0x66, 0, 0},
10606 {0xA6, 0x66, 0x66, 0, 0},
10607 {0xA7, 0x66, 0x66, 0, 0},
10608 {0xA8, 0x66, 0x66, 0, 0},
10609 {0xA9, 0x66, 0x66, 0, 0},
10610 {0xAA, 0x66, 0x66, 0, 0},
10611 {0xAB, 0x66, 0x66, 0, 0},
10612 {0xAC, 0x66, 0x66, 0, 0},
10613 {0xAD, 0x66, 0x66, 0, 0},
10614 {0xAE, 0x66, 0x66, 0, 0},
10615 {0xAF, 0x66, 0x66, 0, 0},
10616 {0xB0, 0x66, 0x66, 0, 0},
10617 {0xB1, 0x66, 0x66, 0, 0},
10618 {0xB2, 0x66, 0x66, 0, 0},
10619 {0xB3, 0xa, 0xa, 0, 0},
10620 {0xB4, 0, 0, 0, 0},
10621 {0xB5, 0, 0, 0, 0},
10622 {0xB6, 0, 0, 0, 0},
10623 {0xFFFF, 0, 0, 0, 0},
10626 struct radio_regs regs_TX_2056_rev8[] = {
10627 {0x02, 0, 0, 0, 0},
10628 {0x03, 0, 0, 0, 0},
10629 {0x04, 0, 0, 0, 0},
10630 {0x05, 0, 0, 0, 0},
10631 {0x06, 0, 0, 0, 0},
10632 {0x07, 0, 0, 0, 0},
10633 {0x08, 0, 0, 0, 0},
10634 {0x09, 0, 0, 0, 0},
10635 {0x0A, 0, 0, 0, 0},
10636 {0x0B, 0, 0, 0, 0},
10637 {0x0C, 0, 0, 0, 0},
10638 {0x0D, 0, 0, 0, 0},
10639 {0x0E, 0, 0, 0, 0},
10640 {0x0F, 0, 0, 0, 0},
10641 {0x10, 0, 0, 0, 0},
10642 {0x11, 0, 0, 0, 0},
10643 {0x12, 0, 0, 0, 0},
10644 {0x13, 0, 0, 0, 0},
10645 {0x14, 0, 0, 0, 0},
10646 {0x15, 0, 0, 0, 0},
10647 {0x16, 0, 0, 0, 0},
10648 {0x17, 0, 0, 0, 0},
10649 {0x18, 0, 0, 0, 0},
10650 {0x19, 0, 0, 0, 0},
10651 {0x1A, 0, 0, 0, 0},
10652 {0x1B, 0, 0, 0, 0},
10653 {0x1C, 0, 0, 0, 0},
10654 {0x1D, 0, 0, 0, 0},
10655 {0x1E, 0, 0, 0, 0},
10656 {0x1F, 0, 0, 0, 0},
10657 {0x20, 0, 0, 0, 0},
10658 {0x21, 0x88, 0x88, 0, 0},
10659 {0x22, 0x88, 0x88, 0, 0},
10660 {0x23, 0x88, 0x88, 0, 0},
10661 {0x24, 0x88, 0x88, 0, 0},
10662 {0x25, 0xc, 0xc, 0, 0},
10663 {0x26, 0, 0, 0, 0},
10664 {0x27, 0x3, 0x3, 0, 0},
10665 {0x28, 0, 0, 0, 0},
10666 {0x29, 0x3, 0x3, 0, 0},
10667 {0x2A, 0x37, 0x37, 0, 0},
10668 {0x2B, 0x3, 0x3, 0, 0},
10669 {0x2C, 0, 0, 0, 0},
10670 {0x2D, 0, 0, 0, 0},
10671 {0x2E, 0x1, 0x1, 0, 0},
10672 {0x2F, 0x1, 0x1, 0, 0},
10673 {0x30, 0, 0, 0, 0},
10674 {0x31, 0, 0, 0, 0},
10675 {0x32, 0, 0, 0, 0},
10676 {0x33, 0x11, 0x11, 0, 0},
10677 {0x34, 0xee, 0xee, 1, 1},
10678 {0x35, 0, 0, 0, 0},
10679 {0x36, 0, 0, 0, 0},
10680 {0x37, 0x3, 0x3, 0, 0},
10681 {0x38, 0x50, 0x50, 1, 1},
10682 {0x39, 0, 0, 0, 0},
10683 {0x3A, 0x50, 0x50, 1, 1},
10684 {0x3B, 0, 0, 0, 0},
10685 {0x3C, 0x6e, 0x6e, 0, 0},
10686 {0x3D, 0xf0, 0xf0, 1, 1},
10687 {0x3E, 0, 0, 0, 0},
10688 {0x3F, 0, 0, 0, 0},
10689 {0x40, 0, 0, 0, 0},
10690 {0x41, 0x3, 0x3, 0, 0},
10691 {0x42, 0x3, 0x3, 0, 0},
10692 {0x43, 0, 0, 0, 0},
10693 {0x44, 0x1e, 0x1e, 0, 0},
10694 {0x45, 0, 0, 0, 0},
10695 {0x46, 0x6e, 0x6e, 0, 0},
10696 {0x47, 0xf0, 0xf0, 1, 1},
10697 {0x48, 0, 0, 0, 0},
10698 {0x49, 0x2, 0x2, 0, 0},
10699 {0x4A, 0xff, 0xff, 1, 1},
10700 {0x4B, 0xc, 0xc, 0, 0},
10701 {0x4C, 0, 0, 0, 0},
10702 {0x4D, 0x38, 0x38, 0, 0},
10703 {0x4E, 0x70, 0x70, 1, 1},
10704 {0x4F, 0x2, 0x2, 0, 0},
10705 {0x50, 0x88, 0x88, 0, 0},
10706 {0x51, 0xc, 0xc, 0, 0},
10707 {0x52, 0, 0, 0, 0},
10708 {0x53, 0x8, 0x8, 0, 0},
10709 {0x54, 0x70, 0x70, 1, 1},
10710 {0x55, 0x2, 0x2, 0, 0},
10711 {0x56, 0xff, 0xff, 1, 1},
10712 {0x57, 0, 0, 0, 0},
10713 {0x58, 0x83, 0x83, 0, 0},
10714 {0x59, 0x77, 0x77, 1, 1},
10715 {0x5A, 0, 0, 0, 0},
10716 {0x5B, 0x2, 0x2, 0, 0},
10717 {0x5C, 0x88, 0x88, 0, 0},
10718 {0x5D, 0, 0, 0, 0},
10719 {0x5E, 0x8, 0x8, 0, 0},
10720 {0x5F, 0x77, 0x77, 1, 1},
10721 {0x60, 0x1, 0x1, 0, 0},
10722 {0x61, 0, 0, 0, 0},
10723 {0x62, 0x7, 0x7, 0, 0},
10724 {0x63, 0, 0, 0, 0},
10725 {0x64, 0x7, 0x7, 0, 0},
10726 {0x65, 0, 0, 0, 0},
10727 {0x66, 0, 0, 0, 0},
10728 {0x67, 0, 0, 1, 1},
10729 {0x68, 0, 0, 0, 0},
10730 {0x69, 0xa, 0xa, 0, 0},
10731 {0x6A, 0, 0, 0, 0},
10732 {0x6B, 0, 0, 0, 0},
10733 {0x6C, 0, 0, 0, 0},
10734 {0x6D, 0, 0, 0, 0},
10735 {0x6E, 0, 0, 0, 0},
10736 {0x6F, 0, 0, 0, 0},
10737 {0x70, 0, 0, 0, 0},
10738 {0x71, 0x2, 0x2, 0, 0},
10739 {0x72, 0, 0, 0, 0},
10740 {0x73, 0, 0, 0, 0},
10741 {0x74, 0xe, 0xe, 0, 0},
10742 {0x75, 0xe, 0xe, 0, 0},
10743 {0x76, 0xe, 0xe, 0, 0},
10744 {0x77, 0x13, 0x13, 0, 0},
10745 {0x78, 0x13, 0x13, 0, 0},
10746 {0x79, 0x1b, 0x1b, 0, 0},
10747 {0x7A, 0x1b, 0x1b, 0, 0},
10748 {0x7B, 0x55, 0x55, 0, 0},
10749 {0x7C, 0x5b, 0x5b, 0, 0},
10750 {0x7D, 0x30, 0x30, 1, 1},
10751 {0x7E, 0, 0, 0, 0},
10752 {0x7F, 0, 0, 0, 0},
10753 {0x80, 0, 0, 0, 0},
10754 {0x81, 0, 0, 0, 0},
10755 {0x82, 0, 0, 0, 0},
10756 {0x83, 0, 0, 0, 0},
10757 {0x84, 0, 0, 0, 0},
10758 {0x85, 0, 0, 0, 0},
10759 {0x86, 0, 0, 0, 0},
10760 {0x87, 0, 0, 0, 0},
10761 {0x88, 0, 0, 0, 0},
10762 {0x89, 0, 0, 0, 0},
10763 {0x8A, 0, 0, 0, 0},
10764 {0x8B, 0, 0, 0, 0},
10765 {0x8C, 0, 0, 0, 0},
10766 {0x8D, 0, 0, 0, 0},
10767 {0x8E, 0, 0, 0, 0},
10768 {0x8F, 0, 0, 0, 0},
10769 {0x90, 0, 0, 0, 0},
10770 {0x91, 0, 0, 0, 0},
10771 {0x92, 0, 0, 0, 0},
10772 {0x93, 0x70, 0x70, 0, 0},
10773 {0x94, 0x70, 0x70, 0, 0},
10774 {0x95, 0x70, 0x70, 0, 0},
10775 {0x96, 0x70, 0x70, 0, 0},
10776 {0x97, 0x70, 0x70, 0, 0},
10777 {0x98, 0x70, 0x70, 0, 0},
10778 {0x99, 0x70, 0x70, 0, 0},
10779 {0x9A, 0x70, 0x70, 0, 0},
10780 {0xFFFF, 0, 0, 0, 0},
10783 struct radio_regs regs_RX_2056_rev8[] = {
10784 {0x02, 0, 0, 0, 0},
10785 {0x03, 0, 0, 0, 0},
10786 {0x04, 0, 0, 0, 0},
10787 {0x05, 0, 0, 0, 0},
10788 {0x06, 0, 0, 0, 0},
10789 {0x07, 0, 0, 0, 0},
10790 {0x08, 0, 0, 0, 0},
10791 {0x09, 0, 0, 0, 0},
10792 {0x0A, 0, 0, 0, 0},
10793 {0x0B, 0, 0, 0, 0},
10794 {0x0C, 0, 0, 0, 0},
10795 {0x0D, 0, 0, 0, 0},
10796 {0x0E, 0, 0, 0, 0},
10797 {0x0F, 0, 0, 0, 0},
10798 {0x10, 0, 0, 0, 0},
10799 {0x11, 0, 0, 0, 0},
10800 {0x12, 0, 0, 0, 0},
10801 {0x13, 0, 0, 0, 0},
10802 {0x14, 0, 0, 0, 0},
10803 {0x15, 0, 0, 0, 0},
10804 {0x16, 0, 0, 0, 0},
10805 {0x17, 0, 0, 0, 0},
10806 {0x18, 0, 0, 0, 0},
10807 {0x19, 0, 0, 0, 0},
10808 {0x1A, 0, 0, 0, 0},
10809 {0x1B, 0, 0, 0, 0},
10810 {0x1C, 0, 0, 0, 0},
10811 {0x1D, 0, 0, 0, 0},
10812 {0x1E, 0, 0, 0, 0},
10813 {0x1F, 0, 0, 0, 0},
10814 {0x20, 0x3, 0x3, 0, 0},
10815 {0x21, 0, 0, 0, 0},
10816 {0x22, 0, 0, 0, 0},
10817 {0x23, 0x90, 0x90, 0, 0},
10818 {0x24, 0x55, 0x55, 0, 0},
10819 {0x25, 0x15, 0x15, 0, 0},
10820 {0x26, 0x5, 0x5, 0, 0},
10821 {0x27, 0x15, 0x15, 0, 0},
10822 {0x28, 0x5, 0x5, 0, 0},
10823 {0x29, 0x20, 0x20, 0, 0},
10824 {0x2A, 0x11, 0x11, 0, 0},
10825 {0x2B, 0x90, 0x90, 0, 0},
10826 {0x2C, 0, 0, 0, 0},
10827 {0x2D, 0x88, 0x88, 0, 0},
10828 {0x2E, 0x32, 0x32, 0, 0},
10829 {0x2F, 0x77, 0x77, 0, 0},
10830 {0x30, 0x17, 0x17, 1, 1},
10831 {0x31, 0xff, 0xff, 1, 1},
10832 {0x32, 0x20, 0x20, 0, 0},
10833 {0x33, 0, 0, 0, 0},
10834 {0x34, 0x88, 0x88, 0, 0},
10835 {0x35, 0x32, 0x32, 0, 0},
10836 {0x36, 0x77, 0x77, 0, 0},
10837 {0x37, 0x17, 0x17, 1, 1},
10838 {0x38, 0xf0, 0xf0, 1, 1},
10839 {0x39, 0x20, 0x20, 0, 0},
10840 {0x3A, 0x8, 0x8, 0, 0},
10841 {0x3B, 0x55, 0x55, 1, 1},
10842 {0x3C, 0, 0, 0, 0},
10843 {0x3D, 0x88, 0x88, 1, 1},
10844 {0x3E, 0, 0, 0, 0},
10845 {0x3F, 0x44, 0x44, 0, 0},
10846 {0x40, 0x7, 0x7, 1, 1},
10847 {0x41, 0x6, 0x6, 0, 0},
10848 {0x42, 0x4, 0x4, 0, 0},
10849 {0x43, 0, 0, 0, 0},
10850 {0x44, 0x8, 0x8, 0, 0},
10851 {0x45, 0x55, 0x55, 1, 1},
10852 {0x46, 0, 0, 0, 0},
10853 {0x47, 0x11, 0x11, 0, 0},
10854 {0x48, 0, 0, 0, 0},
10855 {0x49, 0x44, 0x44, 0, 0},
10856 {0x4A, 0x7, 0x7, 0, 0},
10857 {0x4B, 0x6, 0x6, 0, 0},
10858 {0x4C, 0x4, 0x4, 0, 0},
10859 {0x4D, 0, 0, 0, 0},
10860 {0x4E, 0, 0, 0, 0},
10861 {0x4F, 0x26, 0x26, 1, 1},
10862 {0x50, 0x26, 0x26, 1, 1},
10863 {0x51, 0xf, 0xf, 1, 1},
10864 {0x52, 0xf, 0xf, 1, 1},
10865 {0x53, 0x44, 0x44, 0, 0},
10866 {0x54, 0, 0, 0, 0},
10867 {0x55, 0, 0, 0, 0},
10868 {0x56, 0x8, 0x8, 0, 0},
10869 {0x57, 0x8, 0x8, 0, 0},
10870 {0x58, 0x7, 0x7, 0, 0},
10871 {0x59, 0x22, 0x22, 0, 0},
10872 {0x5A, 0x22, 0x22, 0, 0},
10873 {0x5B, 0x2, 0x2, 0, 0},
10874 {0x5C, 0x4, 0x4, 1, 1},
10875 {0x5D, 0x7, 0x7, 0, 0},
10876 {0x5E, 0x55, 0x55, 0, 0},
10877 {0x5F, 0x23, 0x23, 0, 0},
10878 {0x60, 0x41, 0x41, 0, 0},
10879 {0x61, 0x1, 0x1, 0, 0},
10880 {0x62, 0xa, 0xa, 0, 0},
10881 {0x63, 0, 0, 0, 0},
10882 {0x64, 0, 0, 0, 0},
10883 {0x65, 0, 0, 0, 0},
10884 {0x66, 0, 0, 0, 0},
10885 {0x67, 0, 0, 0, 0},
10886 {0x68, 0, 0, 0, 0},
10887 {0x69, 0, 0, 0, 0},
10888 {0x6A, 0, 0, 0, 0},
10889 {0x6B, 0xc, 0xc, 0, 0},
10890 {0x6C, 0, 0, 0, 0},
10891 {0x6D, 0, 0, 0, 0},
10892 {0x6E, 0, 0, 0, 0},
10893 {0x6F, 0, 0, 0, 0},
10894 {0x70, 0, 0, 0, 0},
10895 {0x71, 0, 0, 0, 0},
10896 {0x72, 0x22, 0x22, 0, 0},
10897 {0x73, 0x22, 0x22, 0, 0},
10898 {0x74, 0, 0, 1, 1},
10899 {0x75, 0xa, 0xa, 0, 0},
10900 {0x76, 0x1, 0x1, 0, 0},
10901 {0x77, 0x22, 0x22, 0, 0},
10902 {0x78, 0x30, 0x30, 0, 0},
10903 {0x79, 0, 0, 0, 0},
10904 {0x7A, 0, 0, 0, 0},
10905 {0x7B, 0, 0, 0, 0},
10906 {0x7C, 0, 0, 0, 0},
10907 {0x7D, 0x5, 0x5, 1, 1},
10908 {0x7E, 0, 0, 0, 0},
10909 {0x7F, 0, 0, 0, 0},
10910 {0x80, 0, 0, 0, 0},
10911 {0x81, 0, 0, 0, 0},
10912 {0x82, 0, 0, 0, 0},
10913 {0x83, 0, 0, 0, 0},
10914 {0x84, 0, 0, 0, 0},
10915 {0x85, 0, 0, 0, 0},
10916 {0x86, 0, 0, 0, 0},
10917 {0x87, 0, 0, 0, 0},
10918 {0x88, 0, 0, 0, 0},
10919 {0x89, 0, 0, 0, 0},
10920 {0x8A, 0, 0, 0, 0},
10921 {0x8B, 0, 0, 0, 0},
10922 {0x8C, 0, 0, 0, 0},
10923 {0x8D, 0, 0, 0, 0},
10924 {0x8E, 0, 0, 0, 0},
10925 {0x8F, 0, 0, 0, 0},
10926 {0x90, 0, 0, 0, 0},
10927 {0x91, 0, 0, 0, 0},
10928 {0x92, 0, 0, 0, 0},
10929 {0x93, 0, 0, 0, 0},
10930 {0x94, 0, 0, 0, 0},
10931 {0xFFFF, 0, 0, 0, 0},
10934 static const struct radio_regs regs_SYN_2056_rev11[] = {
10935 {0x02, 0, 0, 0, 0},
10936 {0x03, 0, 0, 0, 0},
10937 {0x04, 0, 0, 0, 0},
10938 {0x05, 0, 0, 0, 0},
10939 {0x06, 0, 0, 0, 0},
10940 {0x07, 0, 0, 0, 0},
10941 {0x08, 0, 0, 0, 0},
10942 {0x09, 0x1, 0x1, 0, 0},
10943 {0x0A, 0, 0, 0, 0},
10944 {0x0B, 0, 0, 0, 0},
10945 {0x0C, 0, 0, 0, 0},
10946 {0x0D, 0, 0, 0, 0},
10947 {0x0E, 0, 0, 0, 0},
10948 {0x0F, 0, 0, 0, 0},
10949 {0x10, 0, 0, 0, 0},
10950 {0x11, 0, 0, 0, 0},
10951 {0x12, 0, 0, 0, 0},
10952 {0x13, 0, 0, 0, 0},
10953 {0x14, 0, 0, 0, 0},
10954 {0x15, 0, 0, 0, 0},
10955 {0x16, 0, 0, 0, 0},
10956 {0x17, 0, 0, 0, 0},
10957 {0x18, 0, 0, 0, 0},
10958 {0x19, 0, 0, 0, 0},
10959 {0x1A, 0, 0, 0, 0},
10960 {0x1B, 0, 0, 0, 0},
10961 {0x1C, 0, 0, 0, 0},
10962 {0x1D, 0, 0, 0, 0},
10963 {0x1E, 0, 0, 0, 0},
10964 {0x1F, 0, 0, 0, 0},
10965 {0x20, 0, 0, 0, 0},
10966 {0x21, 0, 0, 0, 0},
10967 {0x22, 0x60, 0x60, 0, 0},
10968 {0x23, 0x6, 0x6, 0, 0},
10969 {0x24, 0xc, 0xc, 0, 0},
10970 {0x25, 0, 0, 0, 0},
10971 {0x26, 0, 0, 0, 0},
10972 {0x27, 0, 0, 0, 0},
10973 {0x28, 0x1, 0x1, 0, 0},
10974 {0x29, 0, 0, 0, 0},
10975 {0x2A, 0, 0, 0, 0},
10976 {0x2B, 0, 0, 0, 0},
10977 {0x2C, 0, 0, 0, 0},
10978 {0x2D, 0, 0, 0, 0},
10979 {0x2E, 0, 0, 0, 0},
10980 {0x2F, 0x1f, 0x1f, 0, 0},
10981 {0x30, 0x15, 0x15, 0, 0},
10982 {0x31, 0xf, 0xf, 0, 0},
10983 {0x32, 0, 0, 0, 0},
10984 {0x33, 0, 0, 0, 0},
10985 {0x34, 0, 0, 0, 0},
10986 {0x35, 0, 0, 0, 0},
10987 {0x36, 0, 0, 0, 0},
10988 {0x37, 0, 0, 0, 0},
10989 {0x38, 0, 0, 0, 0},
10990 {0x39, 0, 0, 0, 0},
10991 {0x3A, 0, 0, 0, 0},
10992 {0x3B, 0, 0, 0, 0},
10993 {0x3C, 0x13, 0x13, 0, 0},
10994 {0x3D, 0xf, 0xf, 0, 0},
10995 {0x3E, 0x18, 0x18, 0, 0},
10996 {0x3F, 0, 0, 0, 0},
10997 {0x40, 0, 0, 0, 0},
10998 {0x41, 0x20, 0x20, 0, 0},
10999 {0x42, 0x20, 0x20, 0, 0},
11000 {0x43, 0, 0, 0, 0},
11001 {0x44, 0x77, 0x77, 0, 0},
11002 {0x45, 0x7, 0x7, 0, 0},
11003 {0x46, 0x1, 0x1, 0, 0},
11004 {0x47, 0x6, 0x6, 1, 1},
11005 {0x48, 0xf, 0xf, 0, 0},
11006 {0x49, 0x3f, 0x3f, 1, 1},
11007 {0x4A, 0x32, 0x32, 0, 0},
11008 {0x4B, 0x6, 0x6, 1, 1},
11009 {0x4C, 0x6, 0x6, 1, 1},
11010 {0x4D, 0x4, 0x4, 0, 0},
11011 {0x4E, 0x2b, 0x2b, 1, 1},
11012 {0x4F, 0x1, 0x1, 0, 0},
11013 {0x50, 0x1c, 0x1c, 0, 0},
11014 {0x51, 0x2, 0x2, 0, 0},
11015 {0x52, 0x2, 0x2, 0, 0},
11016 {0x53, 0xf7, 0xf7, 1, 1},
11017 {0x54, 0xb4, 0xb4, 0, 0},
11018 {0x55, 0xd2, 0xd2, 0, 0},
11019 {0x56, 0, 0, 0, 0},
11020 {0x57, 0, 0, 0, 0},
11021 {0x58, 0x4, 0x4, 0, 0},
11022 {0x59, 0x96, 0x96, 0, 0},
11023 {0x5A, 0x3e, 0x3e, 0, 0},
11024 {0x5B, 0x3e, 0x3e, 0, 0},
11025 {0x5C, 0x13, 0x13, 0, 0},
11026 {0x5D, 0x2, 0x2, 0, 0},
11027 {0x5E, 0, 0, 0, 0},
11028 {0x5F, 0x7, 0x7, 0, 0},
11029 {0x60, 0x7, 0x7, 1, 1},
11030 {0x61, 0x8, 0x8, 0, 0},
11031 {0x62, 0x3, 0x3, 0, 0},
11032 {0x63, 0, 0, 0, 0},
11033 {0x64, 0, 0, 0, 0},
11034 {0x65, 0, 0, 0, 0},
11035 {0x66, 0, 0, 0, 0},
11036 {0x67, 0, 0, 0, 0},
11037 {0x68, 0x40, 0x40, 0, 0},
11038 {0x69, 0, 0, 0, 0},
11039 {0x6A, 0, 0, 0, 0},
11040 {0x6B, 0, 0, 0, 0},
11041 {0x6C, 0, 0, 0, 0},
11042 {0x6D, 0x1, 0x1, 0, 0},
11043 {0x6E, 0, 0, 0, 0},
11044 {0x6F, 0, 0, 0, 0},
11045 {0x70, 0x60, 0x60, 0, 0},
11046 {0x71, 0x66, 0x66, 0, 0},
11047 {0x72, 0xc, 0xc, 0, 0},
11048 {0x73, 0x66, 0x66, 0, 0},
11049 {0x74, 0x8f, 0x8f, 1, 1},
11050 {0x75, 0, 0, 0, 0},
11051 {0x76, 0xcc, 0xcc, 0, 0},
11052 {0x77, 0x1, 0x1, 0, 0},
11053 {0x78, 0x66, 0x66, 0, 0},
11054 {0x79, 0x66, 0x66, 0, 0},
11055 {0x7A, 0, 0, 0, 0},
11056 {0x7B, 0, 0, 0, 0},
11057 {0x7C, 0, 0, 0, 0},
11058 {0x7D, 0, 0, 0, 0},
11059 {0x7E, 0, 0, 0, 0},
11060 {0x7F, 0, 0, 0, 0},
11061 {0x80, 0, 0, 0, 0},
11062 {0x81, 0, 0, 0, 0},
11063 {0x82, 0, 0, 0, 0},
11064 {0x83, 0, 0, 0, 0},
11065 {0x84, 0, 0, 0, 0},
11066 {0x85, 0xff, 0xff, 0, 0},
11067 {0x86, 0, 0, 0, 0},
11068 {0x87, 0, 0, 0, 0},
11069 {0x88, 0, 0, 0, 0},
11070 {0x89, 0, 0, 0, 0},
11071 {0x8A, 0, 0, 0, 0},
11072 {0x8B, 0, 0, 0, 0},
11073 {0x8C, 0, 0, 0, 0},
11074 {0x8D, 0, 0, 0, 0},
11075 {0x8E, 0, 0, 0, 0},
11076 {0x8F, 0, 0, 0, 0},
11077 {0x90, 0, 0, 0, 0},
11078 {0x91, 0, 0, 0, 0},
11079 {0x92, 0, 0, 0, 0},
11080 {0x93, 0, 0, 0, 0},
11081 {0x94, 0, 0, 0, 0},
11082 {0x95, 0, 0, 0, 0},
11083 {0x96, 0, 0, 0, 0},
11084 {0x97, 0, 0, 0, 0},
11085 {0x98, 0, 0, 0, 0},
11086 {0x99, 0, 0, 0, 0},
11087 {0x9A, 0, 0, 0, 0},
11088 {0x9B, 0, 0, 0, 0},
11089 {0x9C, 0, 0, 0, 0},
11090 {0x9D, 0, 0, 0, 0},
11091 {0x9E, 0, 0, 0, 0},
11092 {0x9F, 0x6, 0x6, 0, 0},
11093 {0xA0, 0x66, 0x66, 0, 0},
11094 {0xA1, 0x66, 0x66, 0, 0},
11095 {0xA2, 0x66, 0x66, 0, 0},
11096 {0xA3, 0x66, 0x66, 0, 0},
11097 {0xA4, 0x66, 0x66, 0, 0},
11098 {0xA5, 0x66, 0x66, 0, 0},
11099 {0xA6, 0x66, 0x66, 0, 0},
11100 {0xA7, 0x66, 0x66, 0, 0},
11101 {0xA8, 0x66, 0x66, 0, 0},
11102 {0xA9, 0x66, 0x66, 0, 0},
11103 {0xAA, 0x66, 0x66, 0, 0},
11104 {0xAB, 0x66, 0x66, 0, 0},
11105 {0xAC, 0x66, 0x66, 0, 0},
11106 {0xAD, 0x66, 0x66, 0, 0},
11107 {0xAE, 0x66, 0x66, 0, 0},
11108 {0xAF, 0x66, 0x66, 0, 0},
11109 {0xB0, 0x66, 0x66, 0, 0},
11110 {0xB1, 0x66, 0x66, 0, 0},
11111 {0xB2, 0x66, 0x66, 0, 0},
11112 {0xB3, 0xa, 0xa, 0, 0},
11113 {0xB4, 0, 0, 0, 0},
11114 {0xB5, 0, 0, 0, 0},
11115 {0xB6, 0, 0, 0, 0},
11116 {0xFFFF, 0, 0, 0, 0},
11119 static const struct radio_regs regs_TX_2056_rev11[] = {
11120 {0x02, 0, 0, 0, 0},
11121 {0x03, 0, 0, 0, 0},
11122 {0x04, 0, 0, 0, 0},
11123 {0x05, 0, 0, 0, 0},
11124 {0x06, 0, 0, 0, 0},
11125 {0x07, 0, 0, 0, 0},
11126 {0x08, 0, 0, 0, 0},
11127 {0x09, 0, 0, 0, 0},
11128 {0x0A, 0, 0, 0, 0},
11129 {0x0B, 0, 0, 0, 0},
11130 {0x0C, 0, 0, 0, 0},
11131 {0x0D, 0, 0, 0, 0},
11132 {0x0E, 0, 0, 0, 0},
11133 {0x0F, 0, 0, 0, 0},
11134 {0x10, 0, 0, 0, 0},
11135 {0x11, 0, 0, 0, 0},
11136 {0x12, 0, 0, 0, 0},
11137 {0x13, 0, 0, 0, 0},
11138 {0x14, 0, 0, 0, 0},
11139 {0x15, 0, 0, 0, 0},
11140 {0x16, 0, 0, 0, 0},
11141 {0x17, 0, 0, 0, 0},
11142 {0x18, 0, 0, 0, 0},
11143 {0x19, 0, 0, 0, 0},
11144 {0x1A, 0, 0, 0, 0},
11145 {0x1B, 0, 0, 0, 0},
11146 {0x1C, 0, 0, 0, 0},
11147 {0x1D, 0, 0, 0, 0},
11148 {0x1E, 0, 0, 0, 0},
11149 {0x1F, 0, 0, 0, 0},
11150 {0x20, 0, 0, 0, 0},
11151 {0x21, 0x88, 0x88, 0, 0},
11152 {0x22, 0x88, 0x88, 0, 0},
11153 {0x23, 0x88, 0x88, 0, 0},
11154 {0x24, 0x88, 0x88, 0, 0},
11155 {0x25, 0xc, 0xc, 0, 0},
11156 {0x26, 0, 0, 0, 0},
11157 {0x27, 0x3, 0x3, 0, 0},
11158 {0x28, 0, 0, 0, 0},
11159 {0x29, 0x3, 0x3, 0, 0},
11160 {0x2A, 0x37, 0x37, 0, 0},
11161 {0x2B, 0x3, 0x3, 0, 0},
11162 {0x2C, 0, 0, 0, 0},
11163 {0x2D, 0, 0, 0, 0},
11164 {0x2E, 0x1, 0x1, 0, 0},
11165 {0x2F, 0x1, 0x1, 0, 0},
11166 {0x30, 0, 0, 0, 0},
11167 {0x31, 0, 0, 0, 0},
11168 {0x32, 0, 0, 0, 0},
11169 {0x33, 0x11, 0x11, 0, 0},
11170 {0x34, 0xee, 0xee, 1, 1},
11171 {0x35, 0, 0, 0, 0},
11172 {0x36, 0, 0, 0, 0},
11173 {0x37, 0x3, 0x3, 0, 0},
11174 {0x38, 0x50, 0x50, 1, 1},
11175 {0x39, 0, 0, 0, 0},
11176 {0x3A, 0x50, 0x50, 1, 1},
11177 {0x3B, 0, 0, 0, 0},
11178 {0x3C, 0x6e, 0x6e, 0, 0},
11179 {0x3D, 0xf0, 0xf0, 1, 1},
11180 {0x3E, 0, 0, 0, 0},
11181 {0x3F, 0, 0, 0, 0},
11182 {0x40, 0, 0, 0, 0},
11183 {0x41, 0x3, 0x3, 0, 0},
11184 {0x42, 0x3, 0x3, 0, 0},
11185 {0x43, 0, 0, 0, 0},
11186 {0x44, 0x1e, 0x1e, 0, 0},
11187 {0x45, 0, 0, 0, 0},
11188 {0x46, 0x6e, 0x6e, 0, 0},
11189 {0x47, 0xf0, 0xf0, 1, 1},
11190 {0x48, 0, 0, 0, 0},
11191 {0x49, 0x2, 0x2, 0, 0},
11192 {0x4A, 0xff, 0xff, 1, 1},
11193 {0x4B, 0xc, 0xc, 0, 0},
11194 {0x4C, 0, 0, 0, 0},
11195 {0x4D, 0x38, 0x38, 0, 0},
11196 {0x4E, 0x70, 0x70, 1, 1},
11197 {0x4F, 0x2, 0x2, 0, 0},
11198 {0x50, 0x88, 0x88, 0, 0},
11199 {0x51, 0xc, 0xc, 0, 0},
11200 {0x52, 0, 0, 0, 0},
11201 {0x53, 0x8, 0x8, 0, 0},
11202 {0x54, 0x70, 0x70, 1, 1},
11203 {0x55, 0x2, 0x2, 0, 0},
11204 {0x56, 0xff, 0xff, 1, 1},
11205 {0x57, 0, 0, 0, 0},
11206 {0x58, 0x83, 0x83, 0, 0},
11207 {0x59, 0x77, 0x77, 1, 1},
11208 {0x5A, 0, 0, 0, 0},
11209 {0x5B, 0x2, 0x2, 0, 0},
11210 {0x5C, 0x88, 0x88, 0, 0},
11211 {0x5D, 0, 0, 0, 0},
11212 {0x5E, 0x8, 0x8, 0, 0},
11213 {0x5F, 0x77, 0x77, 1, 1},
11214 {0x60, 0x1, 0x1, 0, 0},
11215 {0x61, 0, 0, 0, 0},
11216 {0x62, 0x7, 0x7, 0, 0},
11217 {0x63, 0, 0, 0, 0},
11218 {0x64, 0x7, 0x7, 0, 0},
11219 {0x65, 0, 0, 0, 0},
11220 {0x66, 0, 0, 0, 0},
11221 {0x67, 0, 0, 1, 1},
11222 {0x68, 0, 0, 0, 0},
11223 {0x69, 0xa, 0xa, 0, 0},
11224 {0x6A, 0, 0, 0, 0},
11225 {0x6B, 0, 0, 0, 0},
11226 {0x6C, 0, 0, 0, 0},
11227 {0x6D, 0, 0, 0, 0},
11228 {0x6E, 0, 0, 0, 0},
11229 {0x6F, 0, 0, 0, 0},
11230 {0x70, 0, 0, 0, 0},
11231 {0x71, 0x2, 0x2, 0, 0},
11232 {0x72, 0, 0, 0, 0},
11233 {0x73, 0, 0, 0, 0},
11234 {0x74, 0xe, 0xe, 0, 0},
11235 {0x75, 0xe, 0xe, 0, 0},
11236 {0x76, 0xe, 0xe, 0, 0},
11237 {0x77, 0x13, 0x13, 0, 0},
11238 {0x78, 0x13, 0x13, 0, 0},
11239 {0x79, 0x1b, 0x1b, 0, 0},
11240 {0x7A, 0x1b, 0x1b, 0, 0},
11241 {0x7B, 0x55, 0x55, 0, 0},
11242 {0x7C, 0x5b, 0x5b, 0, 0},
11243 {0x7D, 0x30, 0x30, 1, 1},
11244 {0x7E, 0, 0, 0, 0},
11245 {0x7F, 0, 0, 0, 0},
11246 {0x80, 0, 0, 0, 0},
11247 {0x81, 0, 0, 0, 0},
11248 {0x82, 0, 0, 0, 0},
11249 {0x83, 0, 0, 0, 0},
11250 {0x84, 0, 0, 0, 0},
11251 {0x85, 0, 0, 0, 0},
11252 {0x86, 0, 0, 0, 0},
11253 {0x87, 0, 0, 0, 0},
11254 {0x88, 0, 0, 0, 0},
11255 {0x89, 0, 0, 0, 0},
11256 {0x8A, 0, 0, 0, 0},
11257 {0x8B, 0, 0, 0, 0},
11258 {0x8C, 0, 0, 0, 0},
11259 {0x8D, 0, 0, 0, 0},
11260 {0x8E, 0, 0, 0, 0},
11261 {0x8F, 0, 0, 0, 0},
11262 {0x90, 0, 0, 0, 0},
11263 {0x91, 0, 0, 0, 0},
11264 {0x92, 0, 0, 0, 0},
11265 {0x93, 0x70, 0x70, 0, 0},
11266 {0x94, 0x70, 0x70, 0, 0},
11267 {0x95, 0x70, 0x70, 0, 0},
11268 {0x96, 0x70, 0x70, 0, 0},
11269 {0x97, 0x70, 0x70, 0, 0},
11270 {0x98, 0x70, 0x70, 0, 0},
11271 {0x99, 0x70, 0x70, 0, 0},
11272 {0x9A, 0x70, 0x70, 0, 0},
11273 {0xFFFF, 0, 0, 0, 0},
11276 static const struct radio_regs regs_RX_2056_rev11[] = {
11277 {0x02, 0, 0, 0, 0},
11278 {0x03, 0, 0, 0, 0},
11279 {0x04, 0, 0, 0, 0},
11280 {0x05, 0, 0, 0, 0},
11281 {0x06, 0, 0, 0, 0},
11282 {0x07, 0, 0, 0, 0},
11283 {0x08, 0, 0, 0, 0},
11284 {0x09, 0, 0, 0, 0},
11285 {0x0A, 0, 0, 0, 0},
11286 {0x0B, 0, 0, 0, 0},
11287 {0x0C, 0, 0, 0, 0},
11288 {0x0D, 0, 0, 0, 0},
11289 {0x0E, 0, 0, 0, 0},
11290 {0x0F, 0, 0, 0, 0},
11291 {0x10, 0, 0, 0, 0},
11292 {0x11, 0, 0, 0, 0},
11293 {0x12, 0, 0, 0, 0},
11294 {0x13, 0, 0, 0, 0},
11295 {0x14, 0, 0, 0, 0},
11296 {0x15, 0, 0, 0, 0},
11297 {0x16, 0, 0, 0, 0},
11298 {0x17, 0, 0, 0, 0},
11299 {0x18, 0, 0, 0, 0},
11300 {0x19, 0, 0, 0, 0},
11301 {0x1A, 0, 0, 0, 0},
11302 {0x1B, 0, 0, 0, 0},
11303 {0x1C, 0, 0, 0, 0},
11304 {0x1D, 0, 0, 0, 0},
11305 {0x1E, 0, 0, 0, 0},
11306 {0x1F, 0, 0, 0, 0},
11307 {0x20, 0x3, 0x3, 0, 0},
11308 {0x21, 0, 0, 0, 0},
11309 {0x22, 0, 0, 0, 0},
11310 {0x23, 0x90, 0x90, 0, 0},
11311 {0x24, 0x55, 0x55, 0, 0},
11312 {0x25, 0x15, 0x15, 0, 0},
11313 {0x26, 0x5, 0x5, 0, 0},
11314 {0x27, 0x15, 0x15, 0, 0},
11315 {0x28, 0x5, 0x5, 0, 0},
11316 {0x29, 0x20, 0x20, 0, 0},
11317 {0x2A, 0x11, 0x11, 0, 0},
11318 {0x2B, 0x90, 0x90, 0, 0},
11319 {0x2C, 0, 0, 0, 0},
11320 {0x2D, 0x88, 0x88, 0, 0},
11321 {0x2E, 0x32, 0x32, 0, 0},
11322 {0x2F, 0x77, 0x77, 0, 0},
11323 {0x30, 0x17, 0x17, 1, 1},
11324 {0x31, 0xff, 0xff, 1, 1},
11325 {0x32, 0x20, 0x20, 0, 0},
11326 {0x33, 0, 0, 0, 0},
11327 {0x34, 0x88, 0x88, 0, 0},
11328 {0x35, 0x32, 0x32, 0, 0},
11329 {0x36, 0x77, 0x77, 0, 0},
11330 {0x37, 0x17, 0x17, 1, 1},
11331 {0x38, 0xf0, 0xf0, 1, 1},
11332 {0x39, 0x20, 0x20, 0, 0},
11333 {0x3A, 0x8, 0x8, 0, 0},
11334 {0x3B, 0x55, 0x55, 1, 1},
11335 {0x3C, 0, 0, 0, 0},
11336 {0x3D, 0x88, 0x88, 1, 1},
11337 {0x3E, 0, 0, 0, 0},
11338 {0x3F, 0x44, 0x44, 0, 0},
11339 {0x40, 0x7, 0x7, 1, 1},
11340 {0x41, 0x6, 0x6, 0, 0},
11341 {0x42, 0x4, 0x4, 0, 0},
11342 {0x43, 0, 0, 0, 0},
11343 {0x44, 0x8, 0x8, 0, 0},
11344 {0x45, 0x55, 0x55, 1, 1},
11345 {0x46, 0, 0, 0, 0},
11346 {0x47, 0x11, 0x11, 0, 0},
11347 {0x48, 0, 0, 0, 0},
11348 {0x49, 0x44, 0x44, 0, 0},
11349 {0x4A, 0x7, 0x7, 0, 0},
11350 {0x4B, 0x6, 0x6, 0, 0},
11351 {0x4C, 0x4, 0x4, 0, 0},
11352 {0x4D, 0, 0, 0, 0},
11353 {0x4E, 0, 0, 0, 0},
11354 {0x4F, 0x26, 0x26, 1, 1},
11355 {0x50, 0x26, 0x26, 1, 1},
11356 {0x51, 0xf, 0xf, 1, 1},
11357 {0x52, 0xf, 0xf, 1, 1},
11358 {0x53, 0x44, 0x44, 0, 0},
11359 {0x54, 0, 0, 0, 0},
11360 {0x55, 0, 0, 0, 0},
11361 {0x56, 0x8, 0x8, 0, 0},
11362 {0x57, 0x8, 0x8, 0, 0},
11363 {0x58, 0x7, 0x7, 0, 0},
11364 {0x59, 0x22, 0x22, 0, 0},
11365 {0x5A, 0x22, 0x22, 0, 0},
11366 {0x5B, 0x2, 0x2, 0, 0},
11367 {0x5C, 0x4, 0x4, 1, 1},
11368 {0x5D, 0x7, 0x7, 0, 0},
11369 {0x5E, 0x55, 0x55, 0, 0},
11370 {0x5F, 0x23, 0x23, 0, 0},
11371 {0x60, 0x41, 0x41, 0, 0},
11372 {0x61, 0x1, 0x1, 0, 0},
11373 {0x62, 0xa, 0xa, 0, 0},
11374 {0x63, 0, 0, 0, 0},
11375 {0x64, 0, 0, 0, 0},
11376 {0x65, 0, 0, 0, 0},
11377 {0x66, 0, 0, 0, 0},
11378 {0x67, 0, 0, 0, 0},
11379 {0x68, 0, 0, 0, 0},
11380 {0x69, 0, 0, 0, 0},
11381 {0x6A, 0, 0, 0, 0},
11382 {0x6B, 0xc, 0xc, 0, 0},
11383 {0x6C, 0, 0, 0, 0},
11384 {0x6D, 0, 0, 0, 0},
11385 {0x6E, 0, 0, 0, 0},
11386 {0x6F, 0, 0, 0, 0},
11387 {0x70, 0, 0, 0, 0},
11388 {0x71, 0, 0, 0, 0},
11389 {0x72, 0x22, 0x22, 0, 0},
11390 {0x73, 0x22, 0x22, 0, 0},
11391 {0x74, 0, 0, 1, 1},
11392 {0x75, 0xa, 0xa, 0, 0},
11393 {0x76, 0x1, 0x1, 0, 0},
11394 {0x77, 0x22, 0x22, 0, 0},
11395 {0x78, 0x30, 0x30, 0, 0},
11396 {0x79, 0, 0, 0, 0},
11397 {0x7A, 0, 0, 0, 0},
11398 {0x7B, 0, 0, 0, 0},
11399 {0x7C, 0, 0, 0, 0},
11400 {0x7D, 0x5, 0x5, 1, 1},
11401 {0x7E, 0, 0, 0, 0},
11402 {0x7F, 0, 0, 0, 0},
11403 {0x80, 0, 0, 0, 0},
11404 {0x81, 0, 0, 0, 0},
11405 {0x82, 0, 0, 0, 0},
11406 {0x83, 0, 0, 0, 0},
11407 {0x84, 0, 0, 0, 0},
11408 {0x85, 0, 0, 0, 0},
11409 {0x86, 0, 0, 0, 0},
11410 {0x87, 0, 0, 0, 0},
11411 {0x88, 0, 0, 0, 0},
11412 {0x89, 0, 0, 0, 0},
11413 {0x8A, 0, 0, 0, 0},
11414 {0x8B, 0, 0, 0, 0},
11415 {0x8C, 0, 0, 0, 0},
11416 {0x8D, 0, 0, 0, 0},
11417 {0x8E, 0, 0, 0, 0},
11418 {0x8F, 0, 0, 0, 0},
11419 {0x90, 0, 0, 0, 0},
11420 {0x91, 0, 0, 0, 0},
11421 {0x92, 0, 0, 0, 0},
11422 {0x93, 0, 0, 0, 0},
11423 {0x94, 0, 0, 0, 0},
11424 {0xFFFF, 0, 0, 0, 0},
11427 struct radio_20xx_regs regs_2057_rev4[] = {
11817 struct radio_20xx_regs regs_2057_rev5[] = {
12149 struct radio_20xx_regs regs_2057_rev5v1[] = {
12481 struct radio_20xx_regs regs_2057_rev7[] = {
12897 struct radio_20xx_regs regs_2057_rev8[] = {
13313 static s16 nphy_def_lnagains[] = { -2, 10, 19, 25 };
13315 static s32 nphy_lnagain_est0[] = { -315, 40370 };
13316 static s32 nphy_lnagain_est1[] = { -224, 23242 };
13318 static const u16 tbl_iqcal_gainparams_nphy[2][NPHY_IQCAL_NUMGAINS][8] = {
13320 {0x000, 0, 0, 2, 0x69, 0x69, 0x69, 0x69},
13321 {0x700, 7, 0, 0, 0x69, 0x69, 0x69, 0x69},
13322 {0x710, 7, 1, 0, 0x68, 0x68, 0x68, 0x68},
13323 {0x720, 7, 2, 0, 0x67, 0x67, 0x67, 0x67},
13324 {0x730, 7, 3, 0, 0x66, 0x66, 0x66, 0x66},
13325 {0x740, 7, 4, 0, 0x65, 0x65, 0x65, 0x65},
13326 {0x741, 7, 4, 1, 0x65, 0x65, 0x65, 0x65},
13327 {0x742, 7, 4, 2, 0x65, 0x65, 0x65, 0x65},
13328 {0x743, 7, 4, 3, 0x65, 0x65, 0x65, 0x65}
13331 {0x000, 7, 0, 0, 0x79, 0x79, 0x79, 0x79},
13332 {0x700, 7, 0, 0, 0x79, 0x79, 0x79, 0x79},
13333 {0x710, 7, 1, 0, 0x79, 0x79, 0x79, 0x79},
13334 {0x720, 7, 2, 0, 0x78, 0x78, 0x78, 0x78},
13335 {0x730, 7, 3, 0, 0x78, 0x78, 0x78, 0x78},
13336 {0x740, 7, 4, 0, 0x78, 0x78, 0x78, 0x78},
13337 {0x741, 7, 4, 1, 0x78, 0x78, 0x78, 0x78},
13338 {0x742, 7, 4, 2, 0x78, 0x78, 0x78, 0x78},
13339 {0x743, 7, 4, 3, 0x78, 0x78, 0x78, 0x78}
13343 static const u32 nphy_tpc_txgain[] = {
13344 0x03cc2b44, 0x03cc2b42, 0x03cc2a44, 0x03cc2a42,
13345 0x03cc2944, 0x03c82b44, 0x03c82b42, 0x03c82a44,
13346 0x03c82a42, 0x03c82944, 0x03c82942, 0x03c82844,
13347 0x03c82842, 0x03c42b44, 0x03c42b42, 0x03c42a44,
13348 0x03c42a42, 0x03c42944, 0x03c42942, 0x03c42844,
13349 0x03c42842, 0x03c42744, 0x03c42742, 0x03c42644,
13350 0x03c42642, 0x03c42544, 0x03c42542, 0x03c42444,
13351 0x03c42442, 0x03c02b44, 0x03c02b42, 0x03c02a44,
13352 0x03c02a42, 0x03c02944, 0x03c02942, 0x03c02844,
13353 0x03c02842, 0x03c02744, 0x03c02742, 0x03b02b44,
13354 0x03b02b42, 0x03b02a44, 0x03b02a42, 0x03b02944,
13355 0x03b02942, 0x03b02844, 0x03b02842, 0x03b02744,
13356 0x03b02742, 0x03b02644, 0x03b02642, 0x03b02544,
13357 0x03b02542, 0x03a02b44, 0x03a02b42, 0x03a02a44,
13358 0x03a02a42, 0x03a02944, 0x03a02942, 0x03a02844,
13359 0x03a02842, 0x03a02744, 0x03a02742, 0x03902b44,
13360 0x03902b42, 0x03902a44, 0x03902a42, 0x03902944,
13361 0x03902942, 0x03902844, 0x03902842, 0x03902744,
13362 0x03902742, 0x03902644, 0x03902642, 0x03902544,
13363 0x03902542, 0x03802b44, 0x03802b42, 0x03802a44,
13364 0x03802a42, 0x03802944, 0x03802942, 0x03802844,
13365 0x03802842, 0x03802744, 0x03802742, 0x03802644,
13366 0x03802642, 0x03802544, 0x03802542, 0x03802444,
13367 0x03802442, 0x03802344, 0x03802342, 0x03802244,
13368 0x03802242, 0x03802144, 0x03802142, 0x03802044,
13369 0x03802042, 0x03801f44, 0x03801f42, 0x03801e44,
13370 0x03801e42, 0x03801d44, 0x03801d42, 0x03801c44,
13371 0x03801c42, 0x03801b44, 0x03801b42, 0x03801a44,
13372 0x03801a42, 0x03801944, 0x03801942, 0x03801844,
13373 0x03801842, 0x03801744, 0x03801742, 0x03801644,
13374 0x03801642, 0x03801544, 0x03801542, 0x03801444,
13375 0x03801442, 0x03801344, 0x03801342, 0x00002b00
13378 static const u16 nphy_tpc_loscale[] = {
13379 256, 256, 271, 271, 287, 256, 256, 271,
13380 271, 287, 287, 304, 304, 256, 256, 271,
13381 271, 287, 287, 304, 304, 322, 322, 341,
13382 341, 362, 362, 383, 383, 256, 256, 271,
13383 271, 287, 287, 304, 304, 322, 322, 256,
13384 256, 271, 271, 287, 287, 304, 304, 322,
13385 322, 341, 341, 362, 362, 256, 256, 271,
13386 271, 287, 287, 304, 304, 322, 322, 256,
13387 256, 271, 271, 287, 287, 304, 304, 322,
13388 322, 341, 341, 362, 362, 256, 256, 271,
13389 271, 287, 287, 304, 304, 322, 322, 341,
13390 341, 362, 362, 383, 383, 406, 406, 430,
13391 430, 455, 455, 482, 482, 511, 511, 541,
13392 541, 573, 573, 607, 607, 643, 643, 681,
13393 681, 722, 722, 764, 764, 810, 810, 858,
13394 858, 908, 908, 962, 962, 1019, 1019, 256
13397 static u32 nphy_tpc_txgain_ipa[] = {
13398 0x5ff7002d, 0x5ff7002b, 0x5ff7002a, 0x5ff70029,
13399 0x5ff70028, 0x5ff70027, 0x5ff70026, 0x5ff70025,
13400 0x5ef7002d, 0x5ef7002b, 0x5ef7002a, 0x5ef70029,
13401 0x5ef70028, 0x5ef70027, 0x5ef70026, 0x5ef70025,
13402 0x5df7002d, 0x5df7002b, 0x5df7002a, 0x5df70029,
13403 0x5df70028, 0x5df70027, 0x5df70026, 0x5df70025,
13404 0x5cf7002d, 0x5cf7002b, 0x5cf7002a, 0x5cf70029,
13405 0x5cf70028, 0x5cf70027, 0x5cf70026, 0x5cf70025,
13406 0x5bf7002d, 0x5bf7002b, 0x5bf7002a, 0x5bf70029,
13407 0x5bf70028, 0x5bf70027, 0x5bf70026, 0x5bf70025,
13408 0x5af7002d, 0x5af7002b, 0x5af7002a, 0x5af70029,
13409 0x5af70028, 0x5af70027, 0x5af70026, 0x5af70025,
13410 0x59f7002d, 0x59f7002b, 0x59f7002a, 0x59f70029,
13411 0x59f70028, 0x59f70027, 0x59f70026, 0x59f70025,
13412 0x58f7002d, 0x58f7002b, 0x58f7002a, 0x58f70029,
13413 0x58f70028, 0x58f70027, 0x58f70026, 0x58f70025,
13414 0x57f7002d, 0x57f7002b, 0x57f7002a, 0x57f70029,
13415 0x57f70028, 0x57f70027, 0x57f70026, 0x57f70025,
13416 0x56f7002d, 0x56f7002b, 0x56f7002a, 0x56f70029,
13417 0x56f70028, 0x56f70027, 0x56f70026, 0x56f70025,
13418 0x55f7002d, 0x55f7002b, 0x55f7002a, 0x55f70029,
13419 0x55f70028, 0x55f70027, 0x55f70026, 0x55f70025,
13420 0x54f7002d, 0x54f7002b, 0x54f7002a, 0x54f70029,
13421 0x54f70028, 0x54f70027, 0x54f70026, 0x54f70025,
13422 0x53f7002d, 0x53f7002b, 0x53f7002a, 0x53f70029,
13423 0x53f70028, 0x53f70027, 0x53f70026, 0x53f70025,
13424 0x52f7002d, 0x52f7002b, 0x52f7002a, 0x52f70029,
13425 0x52f70028, 0x52f70027, 0x52f70026, 0x52f70025,
13426 0x51f7002d, 0x51f7002b, 0x51f7002a, 0x51f70029,
13427 0x51f70028, 0x51f70027, 0x51f70026, 0x51f70025,
13428 0x50f7002d, 0x50f7002b, 0x50f7002a, 0x50f70029,
13429 0x50f70028, 0x50f70027, 0x50f70026, 0x50f70025
13432 static u32 nphy_tpc_txgain_ipa_rev5[] = {
13433 0x1ff7002d, 0x1ff7002b, 0x1ff7002a, 0x1ff70029,
13434 0x1ff70028, 0x1ff70027, 0x1ff70026, 0x1ff70025,
13435 0x1ef7002d, 0x1ef7002b, 0x1ef7002a, 0x1ef70029,
13436 0x1ef70028, 0x1ef70027, 0x1ef70026, 0x1ef70025,
13437 0x1df7002d, 0x1df7002b, 0x1df7002a, 0x1df70029,
13438 0x1df70028, 0x1df70027, 0x1df70026, 0x1df70025,
13439 0x1cf7002d, 0x1cf7002b, 0x1cf7002a, 0x1cf70029,
13440 0x1cf70028, 0x1cf70027, 0x1cf70026, 0x1cf70025,
13441 0x1bf7002d, 0x1bf7002b, 0x1bf7002a, 0x1bf70029,
13442 0x1bf70028, 0x1bf70027, 0x1bf70026, 0x1bf70025,
13443 0x1af7002d, 0x1af7002b, 0x1af7002a, 0x1af70029,
13444 0x1af70028, 0x1af70027, 0x1af70026, 0x1af70025,
13445 0x19f7002d, 0x19f7002b, 0x19f7002a, 0x19f70029,
13446 0x19f70028, 0x19f70027, 0x19f70026, 0x19f70025,
13447 0x18f7002d, 0x18f7002b, 0x18f7002a, 0x18f70029,
13448 0x18f70028, 0x18f70027, 0x18f70026, 0x18f70025,
13449 0x17f7002d, 0x17f7002b, 0x17f7002a, 0x17f70029,
13450 0x17f70028, 0x17f70027, 0x17f70026, 0x17f70025,
13451 0x16f7002d, 0x16f7002b, 0x16f7002a, 0x16f70029,
13452 0x16f70028, 0x16f70027, 0x16f70026, 0x16f70025,
13453 0x15f7002d, 0x15f7002b, 0x15f7002a, 0x15f70029,
13454 0x15f70028, 0x15f70027, 0x15f70026, 0x15f70025,
13455 0x14f7002d, 0x14f7002b, 0x14f7002a, 0x14f70029,
13456 0x14f70028, 0x14f70027, 0x14f70026, 0x14f70025,
13457 0x13f7002d, 0x13f7002b, 0x13f7002a, 0x13f70029,
13458 0x13f70028, 0x13f70027, 0x13f70026, 0x13f70025,
13459 0x12f7002d, 0x12f7002b, 0x12f7002a, 0x12f70029,
13460 0x12f70028, 0x12f70027, 0x12f70026, 0x12f70025,
13461 0x11f7002d, 0x11f7002b, 0x11f7002a, 0x11f70029,
13462 0x11f70028, 0x11f70027, 0x11f70026, 0x11f70025,
13463 0x10f7002d, 0x10f7002b, 0x10f7002a, 0x10f70029,
13464 0x10f70028, 0x10f70027, 0x10f70026, 0x10f70025
13467 static u32 nphy_tpc_txgain_ipa_rev6[] = {
13468 0x0ff7002d, 0x0ff7002b, 0x0ff7002a, 0x0ff70029,
13469 0x0ff70028, 0x0ff70027, 0x0ff70026, 0x0ff70025,
13470 0x0ef7002d, 0x0ef7002b, 0x0ef7002a, 0x0ef70029,
13471 0x0ef70028, 0x0ef70027, 0x0ef70026, 0x0ef70025,
13472 0x0df7002d, 0x0df7002b, 0x0df7002a, 0x0df70029,
13473 0x0df70028, 0x0df70027, 0x0df70026, 0x0df70025,
13474 0x0cf7002d, 0x0cf7002b, 0x0cf7002a, 0x0cf70029,
13475 0x0cf70028, 0x0cf70027, 0x0cf70026, 0x0cf70025,
13476 0x0bf7002d, 0x0bf7002b, 0x0bf7002a, 0x0bf70029,
13477 0x0bf70028, 0x0bf70027, 0x0bf70026, 0x0bf70025,
13478 0x0af7002d, 0x0af7002b, 0x0af7002a, 0x0af70029,
13479 0x0af70028, 0x0af70027, 0x0af70026, 0x0af70025,
13480 0x09f7002d, 0x09f7002b, 0x09f7002a, 0x09f70029,
13481 0x09f70028, 0x09f70027, 0x09f70026, 0x09f70025,
13482 0x08f7002d, 0x08f7002b, 0x08f7002a, 0x08f70029,
13483 0x08f70028, 0x08f70027, 0x08f70026, 0x08f70025,
13484 0x07f7002d, 0x07f7002b, 0x07f7002a, 0x07f70029,
13485 0x07f70028, 0x07f70027, 0x07f70026, 0x07f70025,
13486 0x06f7002d, 0x06f7002b, 0x06f7002a, 0x06f70029,
13487 0x06f70028, 0x06f70027, 0x06f70026, 0x06f70025,
13488 0x05f7002d, 0x05f7002b, 0x05f7002a, 0x05f70029,
13489 0x05f70028, 0x05f70027, 0x05f70026, 0x05f70025,
13490 0x04f7002d, 0x04f7002b, 0x04f7002a, 0x04f70029,
13491 0x04f70028, 0x04f70027, 0x04f70026, 0x04f70025,
13492 0x03f7002d, 0x03f7002b, 0x03f7002a, 0x03f70029,
13493 0x03f70028, 0x03f70027, 0x03f70026, 0x03f70025,
13494 0x02f7002d, 0x02f7002b, 0x02f7002a, 0x02f70029,
13495 0x02f70028, 0x02f70027, 0x02f70026, 0x02f70025,
13496 0x01f7002d, 0x01f7002b, 0x01f7002a, 0x01f70029,
13497 0x01f70028, 0x01f70027, 0x01f70026, 0x01f70025,
13498 0x00f7002d, 0x00f7002b, 0x00f7002a, 0x00f70029,
13499 0x00f70028, 0x00f70027, 0x00f70026, 0x00f70025
13502 static u32 nphy_tpc_txgain_ipa_2g_2057rev3[] = {
13503 0x70ff0040, 0x70f7003e, 0x70ef003b, 0x70e70039,
13504 0x70df0037, 0x70d70036, 0x70cf0033, 0x70c70032,
13505 0x70bf0031, 0x70b7002f, 0x70af002e, 0x70a7002d,
13506 0x709f002d, 0x7097002c, 0x708f002c, 0x7087002c,
13507 0x707f002b, 0x7077002c, 0x706f002c, 0x7067002d,
13508 0x705f002e, 0x705f002b, 0x705f0029, 0x7057002a,
13509 0x70570028, 0x704f002a, 0x7047002c, 0x7047002a,
13510 0x70470028, 0x70470026, 0x70470024, 0x70470022,
13511 0x7047001f, 0x70370027, 0x70370024, 0x70370022,
13512 0x70370020, 0x7037001f, 0x7037001d, 0x7037001b,
13513 0x7037001a, 0x70370018, 0x70370017, 0x7027001e,
13514 0x7027001d, 0x7027001a, 0x701f0024, 0x701f0022,
13515 0x701f0020, 0x701f001f, 0x701f001d, 0x701f001b,
13516 0x701f001a, 0x701f0018, 0x701f0017, 0x701f0015,
13517 0x701f0014, 0x701f0013, 0x701f0012, 0x701f0011,
13518 0x70170019, 0x70170018, 0x70170016, 0x70170015,
13519 0x70170014, 0x70170013, 0x70170012, 0x70170010,
13520 0x70170010, 0x7017000f, 0x700f001d, 0x700f001b,
13521 0x700f001a, 0x700f0018, 0x700f0017, 0x700f0015,
13522 0x700f0015, 0x700f0013, 0x700f0013, 0x700f0011,
13523 0x700f0010, 0x700f0010, 0x700f000f, 0x700f000e,
13524 0x700f000d, 0x700f000c, 0x700f000b, 0x700f000b,
13525 0x700f000b, 0x700f000a, 0x700f0009, 0x700f0009,
13526 0x700f0009, 0x700f0008, 0x700f0007, 0x700f0007,
13527 0x700f0006, 0x700f0006, 0x700f0006, 0x700f0006,
13528 0x700f0005, 0x700f0005, 0x700f0005, 0x700f0004,
13529 0x700f0004, 0x700f0004, 0x700f0004, 0x700f0004,
13530 0x700f0004, 0x700f0003, 0x700f0003, 0x700f0003,
13531 0x700f0003, 0x700f0002, 0x700f0002, 0x700f0002,
13532 0x700f0002, 0x700f0002, 0x700f0002, 0x700f0001,
13533 0x700f0001, 0x700f0001, 0x700f0001, 0x700f0001,
13534 0x700f0001, 0x700f0001, 0x700f0001, 0x700f0001
13537 static u32 nphy_tpc_txgain_ipa_2g_2057rev4n6[] = {
13538 0xf0ff0040, 0xf0f7003e, 0xf0ef003b, 0xf0e70039,
13539 0xf0df0037, 0xf0d70036, 0xf0cf0033, 0xf0c70032,
13540 0xf0bf0031, 0xf0b7002f, 0xf0af002e, 0xf0a7002d,
13541 0xf09f002d, 0xf097002c, 0xf08f002c, 0xf087002c,
13542 0xf07f002b, 0xf077002c, 0xf06f002c, 0xf067002d,
13543 0xf05f002e, 0xf05f002b, 0xf05f0029, 0xf057002a,
13544 0xf0570028, 0xf04f002a, 0xf047002c, 0xf047002a,
13545 0xf0470028, 0xf0470026, 0xf0470024, 0xf0470022,
13546 0xf047001f, 0xf0370027, 0xf0370024, 0xf0370022,
13547 0xf0370020, 0xf037001f, 0xf037001d, 0xf037001b,
13548 0xf037001a, 0xf0370018, 0xf0370017, 0xf027001e,
13549 0xf027001d, 0xf027001a, 0xf01f0024, 0xf01f0022,
13550 0xf01f0020, 0xf01f001f, 0xf01f001d, 0xf01f001b,
13551 0xf01f001a, 0xf01f0018, 0xf01f0017, 0xf01f0015,
13552 0xf01f0014, 0xf01f0013, 0xf01f0012, 0xf01f0011,
13553 0xf0170019, 0xf0170018, 0xf0170016, 0xf0170015,
13554 0xf0170014, 0xf0170013, 0xf0170012, 0xf0170010,
13555 0xf0170010, 0xf017000f, 0xf00f001d, 0xf00f001b,
13556 0xf00f001a, 0xf00f0018, 0xf00f0017, 0xf00f0015,
13557 0xf00f0015, 0xf00f0013, 0xf00f0013, 0xf00f0011,
13558 0xf00f0010, 0xf00f0010, 0xf00f000f, 0xf00f000e,
13559 0xf00f000d, 0xf00f000c, 0xf00f000b, 0xf00f000b,
13560 0xf00f000b, 0xf00f000a, 0xf00f0009, 0xf00f0009,
13561 0xf00f0009, 0xf00f0008, 0xf00f0007, 0xf00f0007,
13562 0xf00f0006, 0xf00f0006, 0xf00f0006, 0xf00f0006,
13563 0xf00f0005, 0xf00f0005, 0xf00f0005, 0xf00f0004,
13564 0xf00f0004, 0xf00f0004, 0xf00f0004, 0xf00f0004,
13565 0xf00f0004, 0xf00f0003, 0xf00f0003, 0xf00f0003,
13566 0xf00f0003, 0xf00f0002, 0xf00f0002, 0xf00f0002,
13567 0xf00f0002, 0xf00f0002, 0xf00f0002, 0xf00f0001,
13568 0xf00f0001, 0xf00f0001, 0xf00f0001, 0xf00f0001,
13569 0xf00f0001, 0xf00f0001, 0xf00f0001, 0xf00f0001
13572 static u32 nphy_tpc_txgain_ipa_2g_2057rev5[] = {
13573 0x30ff0031, 0x30e70031, 0x30e7002e, 0x30cf002e,
13574 0x30bf002e, 0x30af002e, 0x309f002f, 0x307f0033,
13575 0x307f0031, 0x307f002e, 0x3077002e, 0x306f002e,
13576 0x3067002e, 0x305f002f, 0x30570030, 0x3057002d,
13577 0x304f002e, 0x30470031, 0x3047002e, 0x3047002c,
13578 0x30470029, 0x303f002c, 0x303f0029, 0x3037002d,
13579 0x3037002a, 0x30370028, 0x302f002c, 0x302f002a,
13580 0x302f0028, 0x302f0026, 0x3027002c, 0x30270029,
13581 0x30270027, 0x30270025, 0x30270023, 0x301f002c,
13582 0x301f002a, 0x301f0028, 0x301f0025, 0x301f0024,
13583 0x301f0022, 0x301f001f, 0x3017002d, 0x3017002b,
13584 0x30170028, 0x30170026, 0x30170024, 0x30170022,
13585 0x30170020, 0x3017001e, 0x3017001d, 0x3017001b,
13586 0x3017001a, 0x30170018, 0x30170017, 0x30170015,
13587 0x300f002c, 0x300f0029, 0x300f0027, 0x300f0024,
13588 0x300f0022, 0x300f0021, 0x300f001f, 0x300f001d,
13589 0x300f001b, 0x300f001a, 0x300f0018, 0x300f0017,
13590 0x300f0016, 0x300f0015, 0x300f0115, 0x300f0215,
13591 0x300f0315, 0x300f0415, 0x300f0515, 0x300f0615,
13592 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13593 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13594 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13595 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13596 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
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
13607 static u32 nphy_tpc_txgain_ipa_2g_2057rev7[] = {
13608 0x30ff0031, 0x30e70031, 0x30e7002e, 0x30cf002e,
13609 0x30bf002e, 0x30af002e, 0x309f002f, 0x307f0033,
13610 0x307f0031, 0x307f002e, 0x3077002e, 0x306f002e,
13611 0x3067002e, 0x305f002f, 0x30570030, 0x3057002d,
13612 0x304f002e, 0x30470031, 0x3047002e, 0x3047002c,
13613 0x30470029, 0x303f002c, 0x303f0029, 0x3037002d,
13614 0x3037002a, 0x30370028, 0x302f002c, 0x302f002a,
13615 0x302f0028, 0x302f0026, 0x3027002c, 0x30270029,
13616 0x30270027, 0x30270025, 0x30270023, 0x301f002c,
13617 0x301f002a, 0x301f0028, 0x301f0025, 0x301f0024,
13618 0x301f0022, 0x301f001f, 0x3017002d, 0x3017002b,
13619 0x30170028, 0x30170026, 0x30170024, 0x30170022,
13620 0x30170020, 0x3017001e, 0x3017001d, 0x3017001b,
13621 0x3017001a, 0x30170018, 0x30170017, 0x30170015,
13622 0x300f002c, 0x300f0029, 0x300f0027, 0x300f0024,
13623 0x300f0022, 0x300f0021, 0x300f001f, 0x300f001d,
13624 0x300f001b, 0x300f001a, 0x300f0018, 0x300f0017,
13625 0x300f0016, 0x300f0015, 0x300f0115, 0x300f0215,
13626 0x300f0315, 0x300f0415, 0x300f0515, 0x300f0615,
13627 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13628 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13629 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13630 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13631 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13632 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13633 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13634 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13635 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13636 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13637 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13638 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13639 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715
13642 static u32 nphy_tpc_txgain_ipa_5g[] = {
13643 0x7ff70035, 0x7ff70033, 0x7ff70032, 0x7ff70031,
13644 0x7ff7002f, 0x7ff7002e, 0x7ff7002d, 0x7ff7002b,
13645 0x7ff7002a, 0x7ff70029, 0x7ff70028, 0x7ff70027,
13646 0x7ff70026, 0x7ff70024, 0x7ff70023, 0x7ff70022,
13647 0x7ef70028, 0x7ef70027, 0x7ef70026, 0x7ef70025,
13648 0x7ef70024, 0x7ef70023, 0x7df70028, 0x7df70027,
13649 0x7df70026, 0x7df70025, 0x7df70024, 0x7df70023,
13650 0x7df70022, 0x7cf70029, 0x7cf70028, 0x7cf70027,
13651 0x7cf70026, 0x7cf70025, 0x7cf70023, 0x7cf70022,
13652 0x7bf70029, 0x7bf70028, 0x7bf70026, 0x7bf70025,
13653 0x7bf70024, 0x7bf70023, 0x7bf70022, 0x7bf70021,
13654 0x7af70029, 0x7af70028, 0x7af70027, 0x7af70026,
13655 0x7af70025, 0x7af70024, 0x7af70023, 0x7af70022,
13656 0x79f70029, 0x79f70028, 0x79f70027, 0x79f70026,
13657 0x79f70025, 0x79f70024, 0x79f70023, 0x79f70022,
13658 0x78f70029, 0x78f70028, 0x78f70027, 0x78f70026,
13659 0x78f70025, 0x78f70024, 0x78f70023, 0x78f70022,
13660 0x77f70029, 0x77f70028, 0x77f70027, 0x77f70026,
13661 0x77f70025, 0x77f70024, 0x77f70023, 0x77f70022,
13662 0x76f70029, 0x76f70028, 0x76f70027, 0x76f70026,
13663 0x76f70024, 0x76f70023, 0x76f70022, 0x76f70021,
13664 0x75f70029, 0x75f70028, 0x75f70027, 0x75f70026,
13665 0x75f70025, 0x75f70024, 0x75f70023, 0x74f70029,
13666 0x74f70028, 0x74f70026, 0x74f70025, 0x74f70024,
13667 0x74f70023, 0x74f70022, 0x73f70029, 0x73f70027,
13668 0x73f70026, 0x73f70025, 0x73f70024, 0x73f70023,
13669 0x73f70022, 0x72f70028, 0x72f70027, 0x72f70026,
13670 0x72f70025, 0x72f70024, 0x72f70023, 0x72f70022,
13671 0x71f70028, 0x71f70027, 0x71f70026, 0x71f70025,
13672 0x71f70024, 0x71f70023, 0x70f70028, 0x70f70027,
13673 0x70f70026, 0x70f70024, 0x70f70023, 0x70f70022,
13674 0x70f70021, 0x70f70020, 0x70f70020, 0x70f7001f
13677 static u32 nphy_tpc_txgain_ipa_5g_2057[] = {
13678 0x7f7f0044, 0x7f7f0040, 0x7f7f003c, 0x7f7f0039,
13679 0x7f7f0036, 0x7e7f003c, 0x7e7f0038, 0x7e7f0035,
13680 0x7d7f003c, 0x7d7f0039, 0x7d7f0036, 0x7d7f0033,
13681 0x7c7f003b, 0x7c7f0037, 0x7c7f0034, 0x7b7f003a,
13682 0x7b7f0036, 0x7b7f0033, 0x7a7f003c, 0x7a7f0039,
13683 0x7a7f0036, 0x7a7f0033, 0x797f003b, 0x797f0038,
13684 0x797f0035, 0x797f0032, 0x787f003b, 0x787f0038,
13685 0x787f0035, 0x787f0032, 0x777f003a, 0x777f0037,
13686 0x777f0034, 0x777f0031, 0x767f003a, 0x767f0036,
13687 0x767f0033, 0x767f0031, 0x757f003a, 0x757f0037,
13688 0x757f0034, 0x747f003c, 0x747f0039, 0x747f0036,
13689 0x747f0033, 0x737f003b, 0x737f0038, 0x737f0035,
13690 0x737f0032, 0x727f0039, 0x727f0036, 0x727f0033,
13691 0x727f0030, 0x717f003a, 0x717f0037, 0x717f0034,
13692 0x707f003b, 0x707f0038, 0x707f0035, 0x707f0032,
13693 0x707f002f, 0x707f002d, 0x707f002a, 0x707f0028,
13694 0x707f0025, 0x707f0023, 0x707f0021, 0x707f0020,
13695 0x707f001e, 0x707f001c, 0x707f001b, 0x707f0019,
13696 0x707f0018, 0x707f0016, 0x707f0015, 0x707f0014,
13697 0x707f0013, 0x707f0012, 0x707f0011, 0x707f0010,
13698 0x707f000f, 0x707f000e, 0x707f000d, 0x707f000d,
13699 0x707f000c, 0x707f000b, 0x707f000b, 0x707f000a,
13700 0x707f0009, 0x707f0009, 0x707f0008, 0x707f0008,
13701 0x707f0007, 0x707f0007, 0x707f0007, 0x707f0006,
13702 0x707f0006, 0x707f0006, 0x707f0005, 0x707f0005,
13703 0x707f0005, 0x707f0004, 0x707f0004, 0x707f0004,
13704 0x707f0004, 0x707f0004, 0x707f0003, 0x707f0003,
13705 0x707f0003, 0x707f0003, 0x707f0003, 0x707f0003,
13706 0x707f0002, 0x707f0002, 0x707f0002, 0x707f0002,
13707 0x707f0002, 0x707f0002, 0x707f0002, 0x707f0002,
13708 0x707f0001, 0x707f0001, 0x707f0001, 0x707f0001,
13709 0x707f0001, 0x707f0001, 0x707f0001, 0x707f0001
13712 static u32 nphy_tpc_txgain_ipa_5g_2057rev7[] = {
13713 0x6f7f0031, 0x6f7f002e, 0x6f7f002c, 0x6f7f002a,
13714 0x6f7f0027, 0x6e7f002e, 0x6e7f002c, 0x6e7f002a,
13715 0x6d7f0030, 0x6d7f002d, 0x6d7f002a, 0x6d7f0028,
13716 0x6c7f0030, 0x6c7f002d, 0x6c7f002b, 0x6b7f002e,
13717 0x6b7f002c, 0x6b7f002a, 0x6b7f0027, 0x6a7f002e,
13718 0x6a7f002c, 0x6a7f002a, 0x697f0030, 0x697f002e,
13719 0x697f002b, 0x697f0029, 0x687f002f, 0x687f002d,
13720 0x687f002a, 0x687f0027, 0x677f002f, 0x677f002d,
13721 0x677f002a, 0x667f0031, 0x667f002e, 0x667f002c,
13722 0x667f002a, 0x657f0030, 0x657f002e, 0x657f002b,
13723 0x657f0029, 0x647f0030, 0x647f002d, 0x647f002b,
13724 0x647f0029, 0x637f002f, 0x637f002d, 0x637f002a,
13725 0x627f0030, 0x627f002d, 0x627f002b, 0x627f0029,
13726 0x617f0030, 0x617f002e, 0x617f002b, 0x617f0029,
13727 0x607f002f, 0x607f002d, 0x607f002a, 0x607f0027,
13728 0x607f0026, 0x607f0023, 0x607f0021, 0x607f0020,
13729 0x607f001e, 0x607f001c, 0x607f001a, 0x607f0019,
13730 0x607f0018, 0x607f0016, 0x607f0015, 0x607f0014,
13731 0x607f0012, 0x607f0012, 0x607f0011, 0x607f000f,
13732 0x607f000f, 0x607f000e, 0x607f000d, 0x607f000c,
13733 0x607f000c, 0x607f000b, 0x607f000b, 0x607f000a,
13734 0x607f0009, 0x607f0009, 0x607f0008, 0x607f0008,
13735 0x607f0008, 0x607f0007, 0x607f0007, 0x607f0006,
13736 0x607f0006, 0x607f0005, 0x607f0005, 0x607f0005,
13737 0x607f0005, 0x607f0005, 0x607f0004, 0x607f0004,
13738 0x607f0004, 0x607f0004, 0x607f0003, 0x607f0003,
13739 0x607f0003, 0x607f0003, 0x607f0002, 0x607f0002,
13740 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13741 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13742 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13743 0x607f0002, 0x607f0001, 0x607f0001, 0x607f0001,
13744 0x607f0001, 0x607f0001, 0x607f0001, 0x607f0001
13747 static s8 nphy_papd_pga_gain_delta_ipa_2g[] = {
13748 -114, -108, -98, -91, -84, -78, -70, -62,
13749 -54, -46, -39, -31, -23, -15, -8, 0
13752 static s8 nphy_papd_pga_gain_delta_ipa_5g[] = {
13753 -100, -95, -89, -83, -77, -70, -63, -56,
13754 -48, -41, -33, -25, -19, -12, -6, 0
13757 static s16 nphy_papd_padgain_dlt_2g_2057rev3n4[] = {
13758 -159, -113, -86, -72, -62, -54, -48, -43,
13759 -39, -35, -31, -28, -25, -23, -20, -18,
13760 -17, -15, -13, -11, -10, -8, -7, -6,
13761 -5, -4, -3, -3, -2, -1, -1, 0
13764 static s16 nphy_papd_padgain_dlt_2g_2057rev5[] = {
13765 -109, -109, -82, -68, -58, -50, -44, -39,
13766 -35, -31, -28, -26, -23, -21, -19, -17,
13767 -16, -14, -13, -11, -10, -9, -8, -7,
13768 -5, -5, -4, -3, -2, -1, -1, 0
13771 static s16 nphy_papd_padgain_dlt_2g_2057rev7[] = {
13772 -122, -122, -95, -80, -69, -61, -54, -49,
13773 -43, -39, -35, -32, -28, -26, -23, -21,
13774 -18, -16, -15, -13, -11, -10, -8, -7,
13775 -6, -5, -4, -3, -2, -1, -1, 0
13778 static s8 nphy_papd_pgagain_dlt_5g_2057[] = {
13779 -107, -101, -92, -85, -78, -71, -62, -55,
13780 -47, -39, -32, -24, -19, -12, -6, 0
13783 static s8 nphy_papd_pgagain_dlt_5g_2057rev7[] = {
13784 -110, -104, -95, -88, -81, -74, -66, -58,
13785 -50, -44, -36, -28, -23, -15, -8, 0
13788 static u8 pad_gain_codes_used_2057rev5[] = {
13789 20, 19, 18, 17, 16, 15, 14, 13, 12, 11,
13790 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
13793 static u8 pad_gain_codes_used_2057rev7[] = {
13794 15, 14, 13, 12, 11, 10, 9, 8, 7, 6,
13798 static u8 pad_all_gain_codes_2057[] = {
13799 31, 30, 29, 28, 27, 26, 25, 24, 23, 22,
13800 21, 20, 19, 18, 17, 16, 15, 14, 13, 12,
13801 11, 10, 9, 8, 7, 6, 5, 4, 3, 2,
13805 static u8 pga_all_gain_codes_2057[] = {
13806 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
13809 static u32 nphy_papd_scaltbl[] = {
13810 0x0ae2002f, 0x0a3b0032, 0x09a70035, 0x09220038,
13811 0x0887003c, 0x081f003f, 0x07a20043, 0x07340047,
13812 0x06d2004b, 0x067a004f, 0x06170054, 0x05bf0059,
13813 0x0571005e, 0x051e0064, 0x04d3006a, 0x04910070,
13814 0x044c0077, 0x040f007e, 0x03d90085, 0x03a1008d,
13815 0x036f0095, 0x033d009e, 0x030b00a8, 0x02e000b2,
13816 0x02b900bc, 0x029200c7, 0x026d00d3, 0x024900e0,
13817 0x022900ed, 0x020a00fb, 0x01ec010a, 0x01d0011a,
13818 0x01b7012a, 0x019e013c, 0x0187014f, 0x01720162,
13819 0x015d0177, 0x0149018e, 0x013701a5, 0x012601be,
13820 0x011501d9, 0x010501f5, 0x00f70212, 0x00e90232,
13821 0x00dc0253, 0x00d00276, 0x00c4029c, 0x00b902c3,
13822 0x00af02ed, 0x00a5031a, 0x009c0349, 0x0093037a,
13823 0x008b03af, 0x008303e7, 0x007c0422, 0x00750461,
13824 0x006e04a3, 0x006804ea, 0x00620534, 0x005d0583,
13825 0x005805d7, 0x0053062f, 0x004e068d, 0x004a06f1
13828 static u32 nphy_tpc_txgain_rev3[] = {
13829 0x1f410044, 0x1f410042, 0x1f410040, 0x1f41003e,
13830 0x1f41003c, 0x1f41003b, 0x1f410039, 0x1f410037,
13831 0x1e410044, 0x1e410042, 0x1e410040, 0x1e41003e,
13832 0x1e41003c, 0x1e41003b, 0x1e410039, 0x1e410037,
13833 0x1d410044, 0x1d410042, 0x1d410040, 0x1d41003e,
13834 0x1d41003c, 0x1d41003b, 0x1d410039, 0x1d410037,
13835 0x1c410044, 0x1c410042, 0x1c410040, 0x1c41003e,
13836 0x1c41003c, 0x1c41003b, 0x1c410039, 0x1c410037,
13837 0x1b410044, 0x1b410042, 0x1b410040, 0x1b41003e,
13838 0x1b41003c, 0x1b41003b, 0x1b410039, 0x1b410037,
13839 0x1a410044, 0x1a410042, 0x1a410040, 0x1a41003e,
13840 0x1a41003c, 0x1a41003b, 0x1a410039, 0x1a410037,
13841 0x19410044, 0x19410042, 0x19410040, 0x1941003e,
13842 0x1941003c, 0x1941003b, 0x19410039, 0x19410037,
13843 0x18410044, 0x18410042, 0x18410040, 0x1841003e,
13844 0x1841003c, 0x1841003b, 0x18410039, 0x18410037,
13845 0x17410044, 0x17410042, 0x17410040, 0x1741003e,
13846 0x1741003c, 0x1741003b, 0x17410039, 0x17410037,
13847 0x16410044, 0x16410042, 0x16410040, 0x1641003e,
13848 0x1641003c, 0x1641003b, 0x16410039, 0x16410037,
13849 0x15410044, 0x15410042, 0x15410040, 0x1541003e,
13850 0x1541003c, 0x1541003b, 0x15410039, 0x15410037,
13851 0x14410044, 0x14410042, 0x14410040, 0x1441003e,
13852 0x1441003c, 0x1441003b, 0x14410039, 0x14410037,
13853 0x13410044, 0x13410042, 0x13410040, 0x1341003e,
13854 0x1341003c, 0x1341003b, 0x13410039, 0x13410037,
13855 0x12410044, 0x12410042, 0x12410040, 0x1241003e,
13856 0x1241003c, 0x1241003b, 0x12410039, 0x12410037,
13857 0x11410044, 0x11410042, 0x11410040, 0x1141003e,
13858 0x1141003c, 0x1141003b, 0x11410039, 0x11410037,
13859 0x10410044, 0x10410042, 0x10410040, 0x1041003e,
13860 0x1041003c, 0x1041003b, 0x10410039, 0x10410037
13863 static u32 nphy_tpc_txgain_HiPwrEPA[] = {
13864 0x0f410044, 0x0f410042, 0x0f410040, 0x0f41003e,
13865 0x0f41003c, 0x0f41003b, 0x0f410039, 0x0f410037,
13866 0x0e410044, 0x0e410042, 0x0e410040, 0x0e41003e,
13867 0x0e41003c, 0x0e41003b, 0x0e410039, 0x0e410037,
13868 0x0d410044, 0x0d410042, 0x0d410040, 0x0d41003e,
13869 0x0d41003c, 0x0d41003b, 0x0d410039, 0x0d410037,
13870 0x0c410044, 0x0c410042, 0x0c410040, 0x0c41003e,
13871 0x0c41003c, 0x0c41003b, 0x0c410039, 0x0c410037,
13872 0x0b410044, 0x0b410042, 0x0b410040, 0x0b41003e,
13873 0x0b41003c, 0x0b41003b, 0x0b410039, 0x0b410037,
13874 0x0a410044, 0x0a410042, 0x0a410040, 0x0a41003e,
13875 0x0a41003c, 0x0a41003b, 0x0a410039, 0x0a410037,
13876 0x09410044, 0x09410042, 0x09410040, 0x0941003e,
13877 0x0941003c, 0x0941003b, 0x09410039, 0x09410037,
13878 0x08410044, 0x08410042, 0x08410040, 0x0841003e,
13879 0x0841003c, 0x0841003b, 0x08410039, 0x08410037,
13880 0x07410044, 0x07410042, 0x07410040, 0x0741003e,
13881 0x0741003c, 0x0741003b, 0x07410039, 0x07410037,
13882 0x06410044, 0x06410042, 0x06410040, 0x0641003e,
13883 0x0641003c, 0x0641003b, 0x06410039, 0x06410037,
13884 0x05410044, 0x05410042, 0x05410040, 0x0541003e,
13885 0x0541003c, 0x0541003b, 0x05410039, 0x05410037,
13886 0x04410044, 0x04410042, 0x04410040, 0x0441003e,
13887 0x0441003c, 0x0441003b, 0x04410039, 0x04410037,
13888 0x03410044, 0x03410042, 0x03410040, 0x0341003e,
13889 0x0341003c, 0x0341003b, 0x03410039, 0x03410037,
13890 0x02410044, 0x02410042, 0x02410040, 0x0241003e,
13891 0x0241003c, 0x0241003b, 0x02410039, 0x02410037,
13892 0x01410044, 0x01410042, 0x01410040, 0x0141003e,
13893 0x0141003c, 0x0141003b, 0x01410039, 0x01410037,
13894 0x00410044, 0x00410042, 0x00410040, 0x0041003e,
13895 0x0041003c, 0x0041003b, 0x00410039, 0x00410037
13898 static u32 nphy_tpc_txgain_epa_2057rev3[] = {
13899 0x80f90040, 0x80e10040, 0x80e1003c, 0x80c9003d,
13900 0x80b9003c, 0x80a9003d, 0x80a1003c, 0x8099003b,
13901 0x8091003b, 0x8089003a, 0x8081003a, 0x80790039,
13902 0x80710039, 0x8069003a, 0x8061003b, 0x8059003d,
13903 0x8051003f, 0x80490042, 0x8049003e, 0x8049003b,
13904 0x8041003e, 0x8041003b, 0x8039003e, 0x8039003b,
13905 0x80390038, 0x80390035, 0x8031003a, 0x80310036,
13906 0x80310033, 0x8029003a, 0x80290037, 0x80290034,
13907 0x80290031, 0x80210039, 0x80210036, 0x80210033,
13908 0x80210030, 0x8019003c, 0x80190039, 0x80190036,
13909 0x80190033, 0x80190030, 0x8019002d, 0x8019002b,
13910 0x80190028, 0x8011003a, 0x80110036, 0x80110033,
13911 0x80110030, 0x8011002e, 0x8011002b, 0x80110029,
13912 0x80110027, 0x80110024, 0x80110022, 0x80110020,
13913 0x8011001f, 0x8011001d, 0x8009003a, 0x80090037,
13914 0x80090034, 0x80090031, 0x8009002e, 0x8009002c,
13915 0x80090029, 0x80090027, 0x80090025, 0x80090023,
13916 0x80090021, 0x8009001f, 0x8009001d, 0x8009011d,
13917 0x8009021d, 0x8009031d, 0x8009041d, 0x8009051d,
13918 0x8009061d, 0x8009071d, 0x8009071d, 0x8009071d,
13919 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13920 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13921 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13922 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13923 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13924 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13925 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13926 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13927 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13928 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13929 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13930 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d
13933 static u32 nphy_tpc_txgain_epa_2057rev5[] = {
13934 0x10f90040, 0x10e10040, 0x10e1003c, 0x10c9003d,
13935 0x10b9003c, 0x10a9003d, 0x10a1003c, 0x1099003b,
13936 0x1091003b, 0x1089003a, 0x1081003a, 0x10790039,
13937 0x10710039, 0x1069003a, 0x1061003b, 0x1059003d,
13938 0x1051003f, 0x10490042, 0x1049003e, 0x1049003b,
13939 0x1041003e, 0x1041003b, 0x1039003e, 0x1039003b,
13940 0x10390038, 0x10390035, 0x1031003a, 0x10310036,
13941 0x10310033, 0x1029003a, 0x10290037, 0x10290034,
13942 0x10290031, 0x10210039, 0x10210036, 0x10210033,
13943 0x10210030, 0x1019003c, 0x10190039, 0x10190036,
13944 0x10190033, 0x10190030, 0x1019002d, 0x1019002b,
13945 0x10190028, 0x1011003a, 0x10110036, 0x10110033,
13946 0x10110030, 0x1011002e, 0x1011002b, 0x10110029,
13947 0x10110027, 0x10110024, 0x10110022, 0x10110020,
13948 0x1011001f, 0x1011001d, 0x1009003a, 0x10090037,
13949 0x10090034, 0x10090031, 0x1009002e, 0x1009002c,
13950 0x10090029, 0x10090027, 0x10090025, 0x10090023,
13951 0x10090021, 0x1009001f, 0x1009001d, 0x1009001b,
13952 0x1009001a, 0x10090018, 0x10090017, 0x10090016,
13953 0x10090015, 0x10090013, 0x10090012, 0x10090011,
13954 0x10090010, 0x1009000f, 0x1009000f, 0x1009000e,
13955 0x1009000d, 0x1009000c, 0x1009000c, 0x1009000b,
13956 0x1009000a, 0x1009000a, 0x10090009, 0x10090009,
13957 0x10090008, 0x10090008, 0x10090007, 0x10090007,
13958 0x10090007, 0x10090006, 0x10090006, 0x10090005,
13959 0x10090005, 0x10090005, 0x10090005, 0x10090004,
13960 0x10090004, 0x10090004, 0x10090004, 0x10090003,
13961 0x10090003, 0x10090003, 0x10090003, 0x10090003,
13962 0x10090003, 0x10090002, 0x10090002, 0x10090002,
13963 0x10090002, 0x10090002, 0x10090002, 0x10090002,
13964 0x10090002, 0x10090002, 0x10090001, 0x10090001,
13965 0x10090001, 0x10090001, 0x10090001, 0x10090001
13968 static u32 nphy_tpc_5GHz_txgain_rev3[] = {
13969 0xcff70044, 0xcff70042, 0xcff70040, 0xcff7003e,
13970 0xcff7003c, 0xcff7003b, 0xcff70039, 0xcff70037,
13971 0xcef70044, 0xcef70042, 0xcef70040, 0xcef7003e,
13972 0xcef7003c, 0xcef7003b, 0xcef70039, 0xcef70037,
13973 0xcdf70044, 0xcdf70042, 0xcdf70040, 0xcdf7003e,
13974 0xcdf7003c, 0xcdf7003b, 0xcdf70039, 0xcdf70037,
13975 0xccf70044, 0xccf70042, 0xccf70040, 0xccf7003e,
13976 0xccf7003c, 0xccf7003b, 0xccf70039, 0xccf70037,
13977 0xcbf70044, 0xcbf70042, 0xcbf70040, 0xcbf7003e,
13978 0xcbf7003c, 0xcbf7003b, 0xcbf70039, 0xcbf70037,
13979 0xcaf70044, 0xcaf70042, 0xcaf70040, 0xcaf7003e,
13980 0xcaf7003c, 0xcaf7003b, 0xcaf70039, 0xcaf70037,
13981 0xc9f70044, 0xc9f70042, 0xc9f70040, 0xc9f7003e,
13982 0xc9f7003c, 0xc9f7003b, 0xc9f70039, 0xc9f70037,
13983 0xc8f70044, 0xc8f70042, 0xc8f70040, 0xc8f7003e,
13984 0xc8f7003c, 0xc8f7003b, 0xc8f70039, 0xc8f70037,
13985 0xc7f70044, 0xc7f70042, 0xc7f70040, 0xc7f7003e,
13986 0xc7f7003c, 0xc7f7003b, 0xc7f70039, 0xc7f70037,
13987 0xc6f70044, 0xc6f70042, 0xc6f70040, 0xc6f7003e,
13988 0xc6f7003c, 0xc6f7003b, 0xc6f70039, 0xc6f70037,
13989 0xc5f70044, 0xc5f70042, 0xc5f70040, 0xc5f7003e,
13990 0xc5f7003c, 0xc5f7003b, 0xc5f70039, 0xc5f70037,
13991 0xc4f70044, 0xc4f70042, 0xc4f70040, 0xc4f7003e,
13992 0xc4f7003c, 0xc4f7003b, 0xc4f70039, 0xc4f70037,
13993 0xc3f70044, 0xc3f70042, 0xc3f70040, 0xc3f7003e,
13994 0xc3f7003c, 0xc3f7003b, 0xc3f70039, 0xc3f70037,
13995 0xc2f70044, 0xc2f70042, 0xc2f70040, 0xc2f7003e,
13996 0xc2f7003c, 0xc2f7003b, 0xc2f70039, 0xc2f70037,
13997 0xc1f70044, 0xc1f70042, 0xc1f70040, 0xc1f7003e,
13998 0xc1f7003c, 0xc1f7003b, 0xc1f70039, 0xc1f70037,
13999 0xc0f70044, 0xc0f70042, 0xc0f70040, 0xc0f7003e,
14000 0xc0f7003c, 0xc0f7003b, 0xc0f70039, 0xc0f70037
14003 static u32 nphy_tpc_5GHz_txgain_rev4[] = {
14004 0x2ff20044, 0x2ff20042, 0x2ff20040, 0x2ff2003e,
14005 0x2ff2003c, 0x2ff2003b, 0x2ff20039, 0x2ff20037,
14006 0x2ef20044, 0x2ef20042, 0x2ef20040, 0x2ef2003e,
14007 0x2ef2003c, 0x2ef2003b, 0x2ef20039, 0x2ef20037,
14008 0x2df20044, 0x2df20042, 0x2df20040, 0x2df2003e,
14009 0x2df2003c, 0x2df2003b, 0x2df20039, 0x2df20037,
14010 0x2cf20044, 0x2cf20042, 0x2cf20040, 0x2cf2003e,
14011 0x2cf2003c, 0x2cf2003b, 0x2cf20039, 0x2cf20037,
14012 0x2bf20044, 0x2bf20042, 0x2bf20040, 0x2bf2003e,
14013 0x2bf2003c, 0x2bf2003b, 0x2bf20039, 0x2bf20037,
14014 0x2af20044, 0x2af20042, 0x2af20040, 0x2af2003e,
14015 0x2af2003c, 0x2af2003b, 0x2af20039, 0x2af20037,
14016 0x29f20044, 0x29f20042, 0x29f20040, 0x29f2003e,
14017 0x29f2003c, 0x29f2003b, 0x29f20039, 0x29f20037,
14018 0x28f20044, 0x28f20042, 0x28f20040, 0x28f2003e,
14019 0x28f2003c, 0x28f2003b, 0x28f20039, 0x28f20037,
14020 0x27f20044, 0x27f20042, 0x27f20040, 0x27f2003e,
14021 0x27f2003c, 0x27f2003b, 0x27f20039, 0x27f20037,
14022 0x26f20044, 0x26f20042, 0x26f20040, 0x26f2003e,
14023 0x26f2003c, 0x26f2003b, 0x26f20039, 0x26f20037,
14024 0x25f20044, 0x25f20042, 0x25f20040, 0x25f2003e,
14025 0x25f2003c, 0x25f2003b, 0x25f20039, 0x25f20037,
14026 0x24f20044, 0x24f20042, 0x24f20040, 0x24f2003e,
14027 0x24f2003c, 0x24f2003b, 0x24f20039, 0x24f20038,
14028 0x23f20041, 0x23f20040, 0x23f2003f, 0x23f2003e,
14029 0x23f2003c, 0x23f2003b, 0x23f20039, 0x23f20037,
14030 0x22f20044, 0x22f20042, 0x22f20040, 0x22f2003e,
14031 0x22f2003c, 0x22f2003b, 0x22f20039, 0x22f20037,
14032 0x21f20044, 0x21f20042, 0x21f20040, 0x21f2003e,
14033 0x21f2003c, 0x21f2003b, 0x21f20039, 0x21f20037,
14034 0x20d20043, 0x20d20041, 0x20d2003e, 0x20d2003c,
14035 0x20d2003a, 0x20d20038, 0x20d20036, 0x20d20034
14038 static u32 nphy_tpc_5GHz_txgain_rev5[] = {
14039 0x0f62004a, 0x0f620048, 0x0f620046, 0x0f620044,
14040 0x0f620042, 0x0f620040, 0x0f62003e, 0x0f62003c,
14041 0x0e620044, 0x0e620042, 0x0e620040, 0x0e62003e,
14042 0x0e62003c, 0x0e62003d, 0x0e62003b, 0x0e62003a,
14043 0x0d620043, 0x0d620041, 0x0d620040, 0x0d62003e,
14044 0x0d62003d, 0x0d62003c, 0x0d62003b, 0x0d62003a,
14045 0x0c620041, 0x0c620040, 0x0c62003f, 0x0c62003e,
14046 0x0c62003c, 0x0c62003b, 0x0c620039, 0x0c620037,
14047 0x0b620046, 0x0b620044, 0x0b620042, 0x0b620040,
14048 0x0b62003e, 0x0b62003c, 0x0b62003b, 0x0b62003a,
14049 0x0a620041, 0x0a620040, 0x0a62003e, 0x0a62003c,
14050 0x0a62003b, 0x0a62003a, 0x0a620039, 0x0a620038,
14051 0x0962003e, 0x0962003d, 0x0962003c, 0x0962003b,
14052 0x09620039, 0x09620037, 0x09620035, 0x09620033,
14053 0x08620044, 0x08620042, 0x08620040, 0x0862003e,
14054 0x0862003c, 0x0862003b, 0x0862003a, 0x08620039,
14055 0x07620043, 0x07620042, 0x07620040, 0x0762003f,
14056 0x0762003d, 0x0762003b, 0x0762003a, 0x07620039,
14057 0x0662003e, 0x0662003d, 0x0662003c, 0x0662003b,
14058 0x06620039, 0x06620037, 0x06620035, 0x06620033,
14059 0x05620046, 0x05620044, 0x05620042, 0x05620040,
14060 0x0562003e, 0x0562003c, 0x0562003b, 0x05620039,
14061 0x04620044, 0x04620042, 0x04620040, 0x0462003e,
14062 0x0462003c, 0x0462003b, 0x04620039, 0x04620038,
14063 0x0362003c, 0x0362003b, 0x0362003a, 0x03620039,
14064 0x03620038, 0x03620037, 0x03620035, 0x03620033,
14065 0x0262004c, 0x0262004a, 0x02620048, 0x02620047,
14066 0x02620046, 0x02620044, 0x02620043, 0x02620042,
14067 0x0162004a, 0x01620048, 0x01620046, 0x01620044,
14068 0x01620043, 0x01620042, 0x01620041, 0x01620040,
14069 0x00620042, 0x00620040, 0x0062003e, 0x0062003c,
14070 0x0062003b, 0x00620039, 0x00620037, 0x00620035
14073 static u32 nphy_tpc_5GHz_txgain_HiPwrEPA[] = {
14074 0x2ff10044, 0x2ff10042, 0x2ff10040, 0x2ff1003e,
14075 0x2ff1003c, 0x2ff1003b, 0x2ff10039, 0x2ff10037,
14076 0x2ef10044, 0x2ef10042, 0x2ef10040, 0x2ef1003e,
14077 0x2ef1003c, 0x2ef1003b, 0x2ef10039, 0x2ef10037,
14078 0x2df10044, 0x2df10042, 0x2df10040, 0x2df1003e,
14079 0x2df1003c, 0x2df1003b, 0x2df10039, 0x2df10037,
14080 0x2cf10044, 0x2cf10042, 0x2cf10040, 0x2cf1003e,
14081 0x2cf1003c, 0x2cf1003b, 0x2cf10039, 0x2cf10037,
14082 0x2bf10044, 0x2bf10042, 0x2bf10040, 0x2bf1003e,
14083 0x2bf1003c, 0x2bf1003b, 0x2bf10039, 0x2bf10037,
14084 0x2af10044, 0x2af10042, 0x2af10040, 0x2af1003e,
14085 0x2af1003c, 0x2af1003b, 0x2af10039, 0x2af10037,
14086 0x29f10044, 0x29f10042, 0x29f10040, 0x29f1003e,
14087 0x29f1003c, 0x29f1003b, 0x29f10039, 0x29f10037,
14088 0x28f10044, 0x28f10042, 0x28f10040, 0x28f1003e,
14089 0x28f1003c, 0x28f1003b, 0x28f10039, 0x28f10037,
14090 0x27f10044, 0x27f10042, 0x27f10040, 0x27f1003e,
14091 0x27f1003c, 0x27f1003b, 0x27f10039, 0x27f10037,
14092 0x26f10044, 0x26f10042, 0x26f10040, 0x26f1003e,
14093 0x26f1003c, 0x26f1003b, 0x26f10039, 0x26f10037,
14094 0x25f10044, 0x25f10042, 0x25f10040, 0x25f1003e,
14095 0x25f1003c, 0x25f1003b, 0x25f10039, 0x25f10037,
14096 0x24f10044, 0x24f10042, 0x24f10040, 0x24f1003e,
14097 0x24f1003c, 0x24f1003b, 0x24f10039, 0x24f10038,
14098 0x23f10041, 0x23f10040, 0x23f1003f, 0x23f1003e,
14099 0x23f1003c, 0x23f1003b, 0x23f10039, 0x23f10037,
14100 0x22f10044, 0x22f10042, 0x22f10040, 0x22f1003e,
14101 0x22f1003c, 0x22f1003b, 0x22f10039, 0x22f10037,
14102 0x21f10044, 0x21f10042, 0x21f10040, 0x21f1003e,
14103 0x21f1003c, 0x21f1003b, 0x21f10039, 0x21f10037,
14104 0x20d10043, 0x20d10041, 0x20d1003e, 0x20d1003c,
14105 0x20d1003a, 0x20d10038, 0x20d10036, 0x20d10034
14108 static u8 ant_sw_ctrl_tbl_rev8_2o3[] = { 0x14, 0x18 };
14109 static u8 ant_sw_ctrl_tbl_rev8[] = { 0x4, 0x8, 0x4, 0x8, 0x11, 0x12 };
14110 static u8 ant_sw_ctrl_tbl_rev8_2057v7_core0[] = {
14111 0x09, 0x0a, 0x15, 0x16, 0x09, 0x0a
14113 static u8 ant_sw_ctrl_tbl_rev8_2057v7_core1[] = {
14114 0x09, 0x0a, 0x09, 0x0a, 0x15, 0x16
14117 bool wlc_phy_bist_check_phy(struct brcms_phy_pub *pih)
14119 struct brcms_phy *pi = (struct brcms_phy *) pih;
14120 u32 phybist0, phybist1, phybist2, phybist3, phybist4;
14122 if (NREV_GE(pi->pubpi.phy_rev, 16))
14125 phybist0 = read_phy_reg(pi, 0x0e);
14126 phybist1 = read_phy_reg(pi, 0x0f);
14127 phybist2 = read_phy_reg(pi, 0xea);
14128 phybist3 = read_phy_reg(pi, 0xeb);
14129 phybist4 = read_phy_reg(pi, 0x156);
14131 if ((phybist0 == 0) && (phybist1 == 0x4000) && (phybist2 == 0x1fe0) &&
14132 (phybist3 == 0) && (phybist4 == 0))
14138 static void wlc_phy_bphy_init_nphy(struct brcms_phy *pi)
14143 for (addr = (NPHY_TO_BPHY_OFF + BPHY_RSSI_LUT);
14144 addr <= (NPHY_TO_BPHY_OFF + BPHY_RSSI_LUT_END); addr++) {
14145 write_phy_reg(pi, addr, val);
14146 if (addr == (NPHY_TO_BPHY_OFF + 0x97))
14152 write_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_STEP, 0x668);
14156 wlc_phy_table_write_nphy(struct brcms_phy *pi, u32 id, u32 len, u32 offset,
14157 u32 width, const void *data)
14159 struct phytbl_info tbl;
14163 tbl.tbl_offset = offset;
14164 tbl.tbl_width = width;
14165 tbl.tbl_ptr = data;
14166 wlc_phy_write_table_nphy(pi, &tbl);
14170 wlc_phy_table_read_nphy(struct brcms_phy *pi, u32 id, u32 len, u32 offset,
14171 u32 width, void *data)
14173 struct phytbl_info tbl;
14177 tbl.tbl_offset = offset;
14178 tbl.tbl_width = width;
14179 tbl.tbl_ptr = data;
14180 wlc_phy_read_table_nphy(pi, &tbl);
14184 wlc_phy_static_table_download_nphy(struct brcms_phy *pi)
14188 if (NREV_GE(pi->pubpi.phy_rev, 16)) {
14189 for (idx = 0; idx < mimophytbl_info_sz_rev16; idx++)
14190 wlc_phy_write_table_nphy(pi,
14191 &mimophytbl_info_rev16[idx]);
14192 } else if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14193 for (idx = 0; idx < mimophytbl_info_sz_rev7; idx++)
14194 wlc_phy_write_table_nphy(pi,
14195 &mimophytbl_info_rev7[idx]);
14196 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14197 for (idx = 0; idx < mimophytbl_info_sz_rev3; idx++)
14198 wlc_phy_write_table_nphy(pi,
14199 &mimophytbl_info_rev3[idx]);
14201 for (idx = 0; idx < mimophytbl_info_sz_rev0; idx++)
14202 wlc_phy_write_table_nphy(pi,
14203 &mimophytbl_info_rev0[idx]);
14207 static void wlc_phy_tbl_init_nphy(struct brcms_phy *pi)
14212 if (pi->phy_init_por)
14213 wlc_phy_static_table_download_nphy(pi);
14215 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14217 antswctrllut = CHSPEC_IS2G(pi->radio_chanspec) ?
14218 pi->srom_fem2g.antswctrllut : pi->srom_fem5g.
14221 switch (antswctrllut) {
14229 wlc_phy_table_write_nphy(
14231 NPHY_TBL_ID_ANTSWCTRLLUT,
14233 &ant_sw_ctrl_tbl_rev8_2o3[0]);
14235 wlc_phy_table_write_nphy(
14237 NPHY_TBL_ID_ANTSWCTRLLUT,
14239 &ant_sw_ctrl_tbl_rev8
14242 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14244 &ant_sw_ctrl_tbl_rev8[2]);
14245 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14247 &ant_sw_ctrl_tbl_rev8[4]);
14252 wlc_phy_table_write_nphy(
14253 pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14255 &ant_sw_ctrl_tbl_rev8_2057v7_core0[0]);
14256 wlc_phy_table_write_nphy(
14257 pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14259 &ant_sw_ctrl_tbl_rev8_2057v7_core0[2]);
14260 wlc_phy_table_write_nphy(
14261 pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14263 &ant_sw_ctrl_tbl_rev8_2057v7_core0[4]);
14265 wlc_phy_table_write_nphy(
14266 pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14268 &ant_sw_ctrl_tbl_rev8_2057v7_core1[0]);
14269 wlc_phy_table_write_nphy(
14270 pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14272 &ant_sw_ctrl_tbl_rev8_2057v7_core1[2]);
14273 wlc_phy_table_write_nphy(
14274 pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14276 &ant_sw_ctrl_tbl_rev8_2057v7_core1[4]);
14283 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14284 for (idx = 0; idx < mimophytbl_info_sz_rev3_volatile; idx++) {
14286 if (idx == ANT_SWCTRL_TBL_REV3_IDX) {
14288 CHSPEC_IS2G(pi->radio_chanspec) ?
14289 pi->srom_fem2g.antswctrllut :
14290 pi->srom_fem5g.antswctrllut;
14291 switch (antswctrllut) {
14293 wlc_phy_write_table_nphy(
14295 &mimophytbl_info_rev3_volatile
14299 wlc_phy_write_table_nphy(
14301 &mimophytbl_info_rev3_volatile1
14305 wlc_phy_write_table_nphy(
14307 &mimophytbl_info_rev3_volatile2
14311 wlc_phy_write_table_nphy(
14313 &mimophytbl_info_rev3_volatile3
14320 wlc_phy_write_table_nphy(
14322 &mimophytbl_info_rev3_volatile[idx]);
14326 for (idx = 0; idx < mimophytbl_info_sz_rev0_volatile; idx++)
14327 wlc_phy_write_table_nphy(pi,
14328 &mimophytbl_info_rev0_volatile
14334 wlc_phy_write_txmacreg_nphy(struct brcms_phy *pi, u16 holdoff, u16 delay)
14336 write_phy_reg(pi, 0x77, holdoff);
14337 write_phy_reg(pi, 0xb4, delay);
14340 void wlc_phy_nphy_tkip_rifs_war(struct brcms_phy *pi, u8 rifs)
14342 u16 holdoff, delay;
14354 wlc_phy_write_txmacreg_nphy(pi, holdoff, delay);
14356 if (pi && pi->sh && (pi->sh->_rifs_phy != rifs))
14357 pi->sh->_rifs_phy = rifs;
14360 static void wlc_phy_txpwrctrl_config_nphy(struct brcms_phy *pi)
14363 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14364 pi->nphy_txpwrctrl = PHY_TPC_HW_ON;
14365 pi->phy_5g_pwrgain = true;
14369 pi->nphy_txpwrctrl = PHY_TPC_HW_OFF;
14370 pi->phy_5g_pwrgain = false;
14372 if ((pi->sh->boardflags2 & BFL2_TXPWRCTRL_EN) &&
14373 NREV_GE(pi->pubpi.phy_rev, 2) && (pi->sh->sromrev >= 4))
14374 pi->nphy_txpwrctrl = PHY_TPC_HW_ON;
14375 else if ((pi->sh->sromrev >= 4)
14376 && (pi->sh->boardflags2 & BFL2_5G_PWRGAIN))
14377 pi->phy_5g_pwrgain = true;
14380 static void wlc_phy_txpwr_srom_read_ppr_nphy(struct brcms_phy *pi)
14382 u16 bw40po, cddpo, stbcpo, bwduppo;
14385 if (pi->sh->sromrev >= 9)
14388 bw40po = (u16) PHY_GETINTVAR(pi, "bw40po");
14389 pi->bw402gpo = bw40po & 0xf;
14390 pi->bw405gpo = (bw40po & 0xf0) >> 4;
14391 pi->bw405glpo = (bw40po & 0xf00) >> 8;
14392 pi->bw405ghpo = (bw40po & 0xf000) >> 12;
14394 cddpo = (u16) PHY_GETINTVAR(pi, "cddpo");
14395 pi->cdd2gpo = cddpo & 0xf;
14396 pi->cdd5gpo = (cddpo & 0xf0) >> 4;
14397 pi->cdd5glpo = (cddpo & 0xf00) >> 8;
14398 pi->cdd5ghpo = (cddpo & 0xf000) >> 12;
14400 stbcpo = (u16) PHY_GETINTVAR(pi, "stbcpo");
14401 pi->stbc2gpo = stbcpo & 0xf;
14402 pi->stbc5gpo = (stbcpo & 0xf0) >> 4;
14403 pi->stbc5glpo = (stbcpo & 0xf00) >> 8;
14404 pi->stbc5ghpo = (stbcpo & 0xf000) >> 12;
14406 bwduppo = (u16) PHY_GETINTVAR(pi, "bwduppo");
14407 pi->bwdup2gpo = bwduppo & 0xf;
14408 pi->bwdup5gpo = (bwduppo & 0xf0) >> 4;
14409 pi->bwdup5glpo = (bwduppo & 0xf00) >> 8;
14410 pi->bwdup5ghpo = (bwduppo & 0xf000) >> 12;
14412 for (band_num = 0; band_num < (CH_2G_GROUP + CH_5G_GROUP);
14414 switch (band_num) {
14417 pi->nphy_txpid2g[PHY_CORE_0] =
14418 (u8) PHY_GETINTVAR(pi, "txpid2ga0");
14419 pi->nphy_txpid2g[PHY_CORE_1] =
14420 (u8) PHY_GETINTVAR(pi, "txpid2ga1");
14421 pi->nphy_pwrctrl_info[PHY_CORE_0].max_pwr_2g =
14422 (s8) PHY_GETINTVAR(pi, "maxp2ga0");
14423 pi->nphy_pwrctrl_info[PHY_CORE_1].max_pwr_2g =
14424 (s8) PHY_GETINTVAR(pi, "maxp2ga1");
14425 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_2g_a1 =
14426 (s16) PHY_GETINTVAR(pi, "pa2gw0a0");
14427 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_2g_a1 =
14428 (s16) PHY_GETINTVAR(pi, "pa2gw0a1");
14429 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_2g_b0 =
14430 (s16) PHY_GETINTVAR(pi, "pa2gw1a0");
14431 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_2g_b0 =
14432 (s16) PHY_GETINTVAR(pi, "pa2gw1a1");
14433 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_2g_b1 =
14434 (s16) PHY_GETINTVAR(pi, "pa2gw2a0");
14435 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_2g_b1 =
14436 (s16) PHY_GETINTVAR(pi, "pa2gw2a1");
14437 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_targ_2g =
14438 (s8) PHY_GETINTVAR(pi, "itt2ga0");
14439 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_targ_2g =
14440 (s8) PHY_GETINTVAR(pi, "itt2ga1");
14442 pi->cck2gpo = (u16) PHY_GETINTVAR(pi, "cck2gpo");
14444 pi->ofdm2gpo = (u32) PHY_GETINTVAR(pi, "ofdm2gpo");
14446 pi->mcs2gpo[0] = (u16) PHY_GETINTVAR(pi, "mcs2gpo0");
14447 pi->mcs2gpo[1] = (u16) PHY_GETINTVAR(pi, "mcs2gpo1");
14448 pi->mcs2gpo[2] = (u16) PHY_GETINTVAR(pi, "mcs2gpo2");
14449 pi->mcs2gpo[3] = (u16) PHY_GETINTVAR(pi, "mcs2gpo3");
14450 pi->mcs2gpo[4] = (u16) PHY_GETINTVAR(pi, "mcs2gpo4");
14451 pi->mcs2gpo[5] = (u16) PHY_GETINTVAR(pi, "mcs2gpo5");
14452 pi->mcs2gpo[6] = (u16) PHY_GETINTVAR(pi, "mcs2gpo6");
14453 pi->mcs2gpo[7] = (u16) PHY_GETINTVAR(pi, "mcs2gpo7");
14457 pi->nphy_txpid5g[PHY_CORE_0] =
14458 (u8) PHY_GETINTVAR(pi, "txpid5ga0");
14459 pi->nphy_txpid5g[PHY_CORE_1] =
14460 (u8) PHY_GETINTVAR(pi, "txpid5ga1");
14461 pi->nphy_pwrctrl_info[PHY_CORE_0].max_pwr_5gm =
14462 (s8) PHY_GETINTVAR(pi, "maxp5ga0");
14463 pi->nphy_pwrctrl_info[PHY_CORE_1].max_pwr_5gm =
14464 (s8) PHY_GETINTVAR(pi, "maxp5ga1");
14465 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_5gm_a1 =
14466 (s16) PHY_GETINTVAR(pi, "pa5gw0a0");
14467 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_5gm_a1 =
14468 (s16) PHY_GETINTVAR(pi, "pa5gw0a1");
14469 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_5gm_b0 =
14470 (s16) PHY_GETINTVAR(pi, "pa5gw1a0");
14471 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_5gm_b0 =
14472 (s16) PHY_GETINTVAR(pi, "pa5gw1a1");
14473 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_5gm_b1 =
14474 (s16) PHY_GETINTVAR(pi, "pa5gw2a0");
14475 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_5gm_b1 =
14476 (s16) PHY_GETINTVAR(pi, "pa5gw2a1");
14477 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_targ_5gm =
14478 (s8) PHY_GETINTVAR(pi, "itt5ga0");
14479 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_targ_5gm =
14480 (s8) PHY_GETINTVAR(pi, "itt5ga1");
14482 pi->ofdm5gpo = (u32) PHY_GETINTVAR(pi, "ofdm5gpo");
14484 pi->mcs5gpo[0] = (u16) PHY_GETINTVAR(pi, "mcs5gpo0");
14485 pi->mcs5gpo[1] = (u16) PHY_GETINTVAR(pi, "mcs5gpo1");
14486 pi->mcs5gpo[2] = (u16) PHY_GETINTVAR(pi, "mcs5gpo2");
14487 pi->mcs5gpo[3] = (u16) PHY_GETINTVAR(pi, "mcs5gpo3");
14488 pi->mcs5gpo[4] = (u16) PHY_GETINTVAR(pi, "mcs5gpo4");
14489 pi->mcs5gpo[5] = (u16) PHY_GETINTVAR(pi, "mcs5gpo5");
14490 pi->mcs5gpo[6] = (u16) PHY_GETINTVAR(pi, "mcs5gpo6");
14491 pi->mcs5gpo[7] = (u16) PHY_GETINTVAR(pi, "mcs5gpo7");
14495 pi->nphy_txpid5gl[0] =
14496 (u8) PHY_GETINTVAR(pi, "txpid5gla0");
14497 pi->nphy_txpid5gl[1] =
14498 (u8) PHY_GETINTVAR(pi, "txpid5gla1");
14499 pi->nphy_pwrctrl_info[0].max_pwr_5gl =
14500 (s8) PHY_GETINTVAR(pi, "maxp5gla0");
14501 pi->nphy_pwrctrl_info[1].max_pwr_5gl =
14502 (s8) PHY_GETINTVAR(pi, "maxp5gla1");
14503 pi->nphy_pwrctrl_info[0].pwrdet_5gl_a1 =
14504 (s16) PHY_GETINTVAR(pi, "pa5glw0a0");
14505 pi->nphy_pwrctrl_info[1].pwrdet_5gl_a1 =
14506 (s16) PHY_GETINTVAR(pi, "pa5glw0a1");
14507 pi->nphy_pwrctrl_info[0].pwrdet_5gl_b0 =
14508 (s16) PHY_GETINTVAR(pi, "pa5glw1a0");
14509 pi->nphy_pwrctrl_info[1].pwrdet_5gl_b0 =
14510 (s16) PHY_GETINTVAR(pi, "pa5glw1a1");
14511 pi->nphy_pwrctrl_info[0].pwrdet_5gl_b1 =
14512 (s16) PHY_GETINTVAR(pi, "pa5glw2a0");
14513 pi->nphy_pwrctrl_info[1].pwrdet_5gl_b1 =
14514 (s16) PHY_GETINTVAR(pi, "pa5glw2a1");
14515 pi->nphy_pwrctrl_info[0].idle_targ_5gl = 0;
14516 pi->nphy_pwrctrl_info[1].idle_targ_5gl = 0;
14518 pi->ofdm5glpo = (u32) PHY_GETINTVAR(pi, "ofdm5glpo");
14521 (u16) PHY_GETINTVAR(pi, "mcs5glpo0");
14523 (u16) PHY_GETINTVAR(pi, "mcs5glpo1");
14525 (u16) PHY_GETINTVAR(pi, "mcs5glpo2");
14527 (u16) PHY_GETINTVAR(pi, "mcs5glpo3");
14529 (u16) PHY_GETINTVAR(pi, "mcs5glpo4");
14531 (u16) PHY_GETINTVAR(pi, "mcs5glpo5");
14533 (u16) PHY_GETINTVAR(pi, "mcs5glpo6");
14535 (u16) PHY_GETINTVAR(pi, "mcs5glpo7");
14539 pi->nphy_txpid5gh[0] =
14540 (u8) PHY_GETINTVAR(pi, "txpid5gha0");
14541 pi->nphy_txpid5gh[1] =
14542 (u8) PHY_GETINTVAR(pi, "txpid5gha1");
14543 pi->nphy_pwrctrl_info[0].max_pwr_5gh =
14544 (s8) PHY_GETINTVAR(pi, "maxp5gha0");
14545 pi->nphy_pwrctrl_info[1].max_pwr_5gh =
14546 (s8) PHY_GETINTVAR(pi, "maxp5gha1");
14547 pi->nphy_pwrctrl_info[0].pwrdet_5gh_a1 =
14548 (s16) PHY_GETINTVAR(pi, "pa5ghw0a0");
14549 pi->nphy_pwrctrl_info[1].pwrdet_5gh_a1 =
14550 (s16) PHY_GETINTVAR(pi, "pa5ghw0a1");
14551 pi->nphy_pwrctrl_info[0].pwrdet_5gh_b0 =
14552 (s16) PHY_GETINTVAR(pi, "pa5ghw1a0");
14553 pi->nphy_pwrctrl_info[1].pwrdet_5gh_b0 =
14554 (s16) PHY_GETINTVAR(pi, "pa5ghw1a1");
14555 pi->nphy_pwrctrl_info[0].pwrdet_5gh_b1 =
14556 (s16) PHY_GETINTVAR(pi, "pa5ghw2a0");
14557 pi->nphy_pwrctrl_info[1].pwrdet_5gh_b1 =
14558 (s16) PHY_GETINTVAR(pi, "pa5ghw2a1");
14559 pi->nphy_pwrctrl_info[0].idle_targ_5gh = 0;
14560 pi->nphy_pwrctrl_info[1].idle_targ_5gh = 0;
14562 pi->ofdm5ghpo = (u32) PHY_GETINTVAR(pi, "ofdm5ghpo");
14565 (u16) PHY_GETINTVAR(pi, "mcs5ghpo0");
14567 (u16) PHY_GETINTVAR(pi, "mcs5ghpo1");
14569 (u16) PHY_GETINTVAR(pi, "mcs5ghpo2");
14571 (u16) PHY_GETINTVAR(pi, "mcs5ghpo3");
14573 (u16) PHY_GETINTVAR(pi, "mcs5ghpo4");
14575 (u16) PHY_GETINTVAR(pi, "mcs5ghpo5");
14577 (u16) PHY_GETINTVAR(pi, "mcs5ghpo6");
14579 (u16) PHY_GETINTVAR(pi, "mcs5ghpo7");
14584 wlc_phy_txpwr_apply_nphy(pi);
14587 static bool wlc_phy_txpwr_srom_read_nphy(struct brcms_phy *pi)
14590 pi->antswitch = (u8) PHY_GETINTVAR(pi, "antswitch");
14591 pi->aa2g = (u8) PHY_GETINTVAR(pi, "aa2g");
14592 pi->aa5g = (u8) PHY_GETINTVAR(pi, "aa5g");
14594 pi->srom_fem2g.tssipos = (u8) PHY_GETINTVAR(pi, "tssipos2g");
14595 pi->srom_fem2g.extpagain = (u8) PHY_GETINTVAR(pi, "extpagain2g");
14596 pi->srom_fem2g.pdetrange = (u8) PHY_GETINTVAR(pi, "pdetrange2g");
14597 pi->srom_fem2g.triso = (u8) PHY_GETINTVAR(pi, "triso2g");
14598 pi->srom_fem2g.antswctrllut = (u8) PHY_GETINTVAR(pi, "antswctl2g");
14600 pi->srom_fem5g.tssipos = (u8) PHY_GETINTVAR(pi, "tssipos5g");
14601 pi->srom_fem5g.extpagain = (u8) PHY_GETINTVAR(pi, "extpagain5g");
14602 pi->srom_fem5g.pdetrange = (u8) PHY_GETINTVAR(pi, "pdetrange5g");
14603 pi->srom_fem5g.triso = (u8) PHY_GETINTVAR(pi, "triso5g");
14604 if (PHY_GETVAR(pi, "antswctl5g"))
14605 pi->srom_fem5g.antswctrllut =
14606 (u8) PHY_GETINTVAR(pi, "antswctl5g");
14608 pi->srom_fem5g.antswctrllut =
14609 (u8) PHY_GETINTVAR(pi, "antswctl2g");
14611 wlc_phy_txpower_ipa_upd(pi);
14613 pi->phy_txcore_disable_temp = (s16) PHY_GETINTVAR(pi, "tempthresh");
14614 if (pi->phy_txcore_disable_temp == 0)
14615 pi->phy_txcore_disable_temp = PHY_CHAIN_TX_DISABLE_TEMP;
14617 pi->phy_tempsense_offset = (s8) PHY_GETINTVAR(pi, "tempoffset");
14618 if (pi->phy_tempsense_offset != 0) {
14619 if (pi->phy_tempsense_offset >
14620 (NPHY_SROM_TEMPSHIFT + NPHY_SROM_MAXTEMPOFFSET))
14621 pi->phy_tempsense_offset = NPHY_SROM_MAXTEMPOFFSET;
14622 else if (pi->phy_tempsense_offset < (NPHY_SROM_TEMPSHIFT +
14623 NPHY_SROM_MINTEMPOFFSET))
14624 pi->phy_tempsense_offset = NPHY_SROM_MINTEMPOFFSET;
14626 pi->phy_tempsense_offset -= NPHY_SROM_TEMPSHIFT;
14629 pi->phy_txcore_enable_temp =
14630 pi->phy_txcore_disable_temp - PHY_HYSTERESIS_DELTATEMP;
14632 pi->phycal_tempdelta = (u8) PHY_GETINTVAR(pi, "phycal_tempdelta");
14633 if (pi->phycal_tempdelta > NPHY_CAL_MAXTEMPDELTA)
14634 pi->phycal_tempdelta = 0;
14636 wlc_phy_txpwr_srom_read_ppr_nphy(pi);
14641 bool wlc_phy_attach_nphy(struct brcms_phy *pi)
14645 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 6))
14646 pi->phyhang_avoid = true;
14648 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
14649 pi->nphy_gband_spurwar_en = true;
14650 if (pi->sh->boardflags2 & BFL2_SPUR_WAR)
14651 pi->nphy_aband_spurwar_en = true;
14653 if (NREV_GE(pi->pubpi.phy_rev, 6) && NREV_LT(pi->pubpi.phy_rev, 7)) {
14654 if (pi->sh->boardflags2 & BFL2_2G_SPUR_WAR)
14655 pi->nphy_gband_spurwar2_en = true;
14658 pi->n_preamble_override = AUTO;
14659 if (NREV_IS(pi->pubpi.phy_rev, 3) || NREV_IS(pi->pubpi.phy_rev, 4))
14660 pi->n_preamble_override = BRCMS_N_PREAMBLE_MIXEDMODE;
14662 pi->nphy_txrx_chain = AUTO;
14663 pi->phy_scraminit = AUTO;
14665 pi->nphy_rxcalparams = 0x010100B5;
14667 pi->nphy_perical = PHY_PERICAL_MPHASE;
14668 pi->mphase_cal_phase_id = MPHASE_CAL_STATE_IDLE;
14669 pi->mphase_txcal_numcmds = MPHASE_TXCAL_NUMCMDS;
14671 pi->nphy_gain_boost = true;
14672 pi->nphy_elna_gain_config = false;
14673 pi->radio_is_on = false;
14675 for (i = 0; i < pi->pubpi.phy_corenum; i++)
14676 pi->nphy_txpwrindex[i].index = AUTO;
14678 wlc_phy_txpwrctrl_config_nphy(pi);
14679 if (pi->nphy_txpwrctrl == PHY_TPC_HW_ON)
14680 pi->hwpwrctrl_capable = true;
14682 pi->pi_fptr.init = wlc_phy_init_nphy;
14683 pi->pi_fptr.calinit = wlc_phy_cal_init_nphy;
14684 pi->pi_fptr.chanset = wlc_phy_chanspec_set_nphy;
14685 pi->pi_fptr.txpwrrecalc = wlc_phy_txpower_recalc_target_nphy;
14687 if (!wlc_phy_txpwr_srom_read_nphy(pi))
14693 static s32 get_rf_pwr_offset(struct brcms_phy *pi, s16 pga_gn, s16 pad_gn)
14695 s32 rfpwr_offset = 0;
14697 if (CHSPEC_IS2G(pi->radio_chanspec)) {
14698 if ((pi->pubpi.radiorev == 3) ||
14699 (pi->pubpi.radiorev == 4) ||
14700 (pi->pubpi.radiorev == 6))
14701 rfpwr_offset = (s16)
14702 nphy_papd_padgain_dlt_2g_2057rev3n4
14704 else if (pi->pubpi.radiorev == 5)
14705 rfpwr_offset = (s16)
14706 nphy_papd_padgain_dlt_2g_2057rev5
14708 else if ((pi->pubpi.radiorev == 7)
14709 || (pi->pubpi.radiorev ==
14711 rfpwr_offset = (s16)
14712 nphy_papd_padgain_dlt_2g_2057rev7
14715 if ((pi->pubpi.radiorev == 3) ||
14716 (pi->pubpi.radiorev == 4) ||
14717 (pi->pubpi.radiorev == 6))
14718 rfpwr_offset = (s16)
14719 nphy_papd_pgagain_dlt_5g_2057
14721 else if ((pi->pubpi.radiorev == 7)
14722 || (pi->pubpi.radiorev ==
14724 rfpwr_offset = (s16)
14725 nphy_papd_pgagain_dlt_5g_2057rev7
14728 return rfpwr_offset;
14731 static void wlc_phy_update_mimoconfig_nphy(struct brcms_phy *pi, s32 preamble)
14733 bool gf_preamble = false;
14736 if (preamble == BRCMS_N_PREAMBLE_GF)
14737 gf_preamble = true;
14739 val = read_phy_reg(pi, 0xed);
14741 val |= RX_GF_MM_AUTO;
14742 val &= ~RX_GF_OR_MM;
14744 val |= RX_GF_OR_MM;
14746 write_phy_reg(pi, 0xed, val);
14749 static void wlc_phy_ipa_set_tx_digi_filts_nphy(struct brcms_phy *pi)
14752 u16 addr_offset[] = { 0x186, 0x195, 0x2c5};
14754 for (type = 0; type < 3; type++) {
14755 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++)
14756 write_phy_reg(pi, addr_offset[type] + j,
14757 NPHY_IPA_REV4_txdigi_filtcoeffs[type][j]);
14760 if (pi->bw == WL_CHANSPEC_BW_40) {
14761 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++)
14762 write_phy_reg(pi, 0x186 + j,
14763 NPHY_IPA_REV4_txdigi_filtcoeffs[3][j]);
14765 if (CHSPEC_IS5G(pi->radio_chanspec)) {
14766 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++)
14767 write_phy_reg(pi, 0x186 + j,
14768 NPHY_IPA_REV4_txdigi_filtcoeffs[5][j]);
14771 if (CHSPEC_CHANNEL(pi->radio_chanspec) == 14) {
14772 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++)
14773 write_phy_reg(pi, 0x2c5 + j,
14774 NPHY_IPA_REV4_txdigi_filtcoeffs[6][j]);
14779 static void wlc_phy_ipa_restore_tx_digi_filts_nphy(struct brcms_phy *pi)
14783 if (pi->bw == WL_CHANSPEC_BW_40) {
14784 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++)
14785 write_phy_reg(pi, 0x195 + j,
14786 NPHY_IPA_REV4_txdigi_filtcoeffs[4][j]);
14788 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++)
14789 write_phy_reg(pi, 0x186 + j,
14790 NPHY_IPA_REV4_txdigi_filtcoeffs[3][j]);
14795 wlc_phy_set_rfseq_nphy(struct brcms_phy *pi, u8 cmd, u8 *events, u8 *dlys,
14798 u32 t1_offset, t2_offset;
14801 NREV_GE(pi->pubpi.phy_rev,
14802 3) ? NPHY_REV3_RFSEQ_CMD_END : NPHY_RFSEQ_CMD_END;
14805 if (pi->phyhang_avoid)
14806 wlc_phy_stay_in_carriersearch_nphy(pi, true);
14808 t1_offset = cmd << 4;
14809 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, len, t1_offset, 8,
14811 t2_offset = t1_offset + 0x080;
14812 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, len, t2_offset, 8,
14815 for (ctr = len; ctr < 16; ctr++) {
14816 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1,
14817 t1_offset + ctr, 8, &end_event);
14818 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1,
14819 t2_offset + ctr, 8, &end_dly);
14822 if (pi->phyhang_avoid)
14823 wlc_phy_stay_in_carriersearch_nphy(pi, false);
14826 static u16 wlc_phy_read_lpf_bw_ctl_nphy(struct brcms_phy *pi, u16 offset)
14828 u16 lpf_bw_ctl_val = 0;
14829 u16 rx2tx_lpf_rc_lut_offset = 0;
14832 if (CHSPEC_IS40(pi->radio_chanspec))
14833 rx2tx_lpf_rc_lut_offset = 0x159;
14835 rx2tx_lpf_rc_lut_offset = 0x154;
14837 rx2tx_lpf_rc_lut_offset = offset;
14839 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 1,
14840 (u32) rx2tx_lpf_rc_lut_offset, 16,
14843 lpf_bw_ctl_val = lpf_bw_ctl_val & 0x7;
14845 return lpf_bw_ctl_val;
14849 wlc_phy_rfctrl_override_nphy_rev7(struct brcms_phy *pi, u16 field, u16 value,
14850 u8 core_mask, u8 off, u8 override_id)
14853 u16 addr = 0, en_addr = 0, val_addr = 0, en_mask = 0, val_mask = 0;
14856 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14858 for (core_num = 0; core_num < 2; core_num++) {
14859 if (override_id == NPHY_REV7_RFCTRLOVERRIDE_ID0) {
14863 en_addr = (core_num == 0) ? 0xe7 : 0xec;
14864 val_addr = (core_num == 0) ? 0x7a :
14866 val_mask = (0x1 << 1);
14870 en_addr = (core_num == 0) ? 0xe7 : 0xec;
14871 val_addr = (core_num == 0) ? 0x7a :
14873 val_mask = (0x1 << 2);
14877 en_addr = (core_num == 0) ? 0xe7 : 0xec;
14878 val_addr = (core_num == 0) ? 0x7a :
14880 val_mask = (0x1 << 4);
14884 en_addr = (core_num == 0) ? 0xe7 : 0xec;
14885 val_addr = (core_num == 0) ? 0x7a :
14887 val_mask = (0x1 << 5);
14891 en_addr = (core_num == 0) ? 0xe7 : 0xec;
14892 val_addr = (core_num == 0) ? 0x7a :
14894 val_mask = (0x1 << 6);
14898 en_addr = (core_num == 0) ? 0xe7 : 0xec;
14899 val_addr = (core_num == 0) ? 0x7a :
14901 val_mask = (0x1 << 7);
14905 en_addr = (core_num == 0) ? 0xe7 : 0xec;
14906 val_addr = (core_num == 0) ? 0xf8 :
14908 val_mask = (0x7 << 4);
14912 en_addr = (core_num == 0) ? 0xe7 : 0xec;
14913 val_addr = (core_num == 0) ? 0x7b :
14915 val_mask = (0xffff << 0);
14919 en_addr = (core_num == 0) ? 0xe7 : 0xec;
14920 val_addr = (core_num == 0) ? 0x7c :
14922 val_mask = (0xffff << 0);
14926 en_addr = (core_num == 0) ? 0xe7 : 0xec;
14927 val_addr = (core_num == 0) ? 0x348 :
14929 val_mask = (0xff << 0);
14933 en_addr = (core_num == 0) ? 0xe7 : 0xec;
14934 val_addr = (core_num == 0) ? 0x348 :
14936 val_mask = (0xf << 0);
14943 } else if (override_id ==
14944 NPHY_REV7_RFCTRLOVERRIDE_ID1) {
14948 en_addr = (core_num == 0) ? 0x342 :
14950 val_addr = (core_num == 0) ? 0x340 :
14952 val_mask = (0x1 << 1);
14956 en_addr = (core_num == 0) ? 0x342 :
14958 val_addr = (core_num == 0) ? 0x340 :
14960 val_mask = (0x1 << 3);
14964 en_addr = (core_num == 0) ? 0x342 :
14966 val_addr = (core_num == 0) ? 0x340 :
14968 val_mask = (0x1 << 5);
14972 en_addr = (core_num == 0) ? 0x342 :
14974 val_addr = (core_num == 0) ? 0x340 :
14976 val_mask = (0x1 << 4);
14981 en_addr = (core_num == 0) ? 0x342 :
14983 val_addr = (core_num == 0) ? 0x340 :
14985 val_mask = (0x1 << 2);
14990 en_addr = (core_num == 0) ? 0x342 :
14992 val_addr = (core_num == 0) ? 0x340 :
14994 val_mask = (0x7 << 8);
14998 en_addr = (core_num == 0) ? 0x342 :
15000 val_addr = (core_num == 0) ? 0x340 :
15002 val_mask = (0x1 << 14);
15006 en_addr = (core_num == 0) ? 0x342 :
15008 val_addr = (core_num == 0) ? 0x340 :
15010 val_mask = (0x1 << 13);
15014 en_addr = (core_num == 0) ? 0x342 :
15016 val_addr = (core_num == 0) ? 0x340 :
15018 val_mask = (0x1 << 12);
15022 en_addr = (core_num == 0) ? 0x342 :
15024 val_addr = (core_num == 0) ? 0x340 :
15026 val_mask = (0x1 << 11);
15030 en_addr = (core_num == 0) ? 0x342 :
15032 val_addr = (core_num == 0) ? 0x340 :
15034 val_mask = (0x1 << 6);
15038 en_addr = (core_num == 0) ? 0x342 :
15040 val_addr = (core_num == 0) ? 0x340 :
15042 val_mask = (0x1 << 0);
15049 } else if (override_id ==
15050 NPHY_REV7_RFCTRLOVERRIDE_ID2) {
15054 en_addr = (core_num == 0) ? 0x346 :
15056 val_addr = (core_num == 0) ? 0x344 :
15058 val_mask = (0x1 << 3);
15062 en_addr = (core_num == 0) ? 0x346 :
15064 val_addr = (core_num == 0) ? 0x344 :
15066 val_mask = (0x1 << 1);
15070 en_addr = (core_num == 0) ? 0x346 :
15072 val_addr = (core_num == 0) ? 0x344 :
15074 val_mask = (0x1 << 0);
15078 en_addr = (core_num == 0) ? 0x346 :
15080 val_addr = (core_num == 0) ? 0x344 :
15082 val_mask = (0x1 << 2);
15086 en_addr = (core_num == 0) ? 0x346 :
15088 val_addr = (core_num == 0) ? 0x344 :
15090 val_mask = (0x1 << 4);
15100 and_phy_reg(pi, en_addr, ~en_mask);
15101 and_phy_reg(pi, val_addr, ~val_mask);
15104 if ((core_mask == 0)
15105 || (core_mask & (1 << core_num))) {
15106 or_phy_reg(pi, en_addr, en_mask);
15108 if (addr != 0xffff)
15109 mod_phy_reg(pi, val_addr,
15119 static void wlc_phy_adjust_lnagaintbl_nphy(struct brcms_phy *pi)
15125 u16 minmax_gain[2];
15128 if (pi->phyhang_avoid)
15129 wlc_phy_stay_in_carriersearch_nphy(pi, true);
15131 if (pi->nphy_gain_boost) {
15132 if ((CHSPEC_IS2G(pi->radio_chanspec))) {
15138 curr_channel = CHSPEC_CHANNEL(pi->radio_chanspec);
15141 PHY_HW_ROUND(((nphy_lnagain_est0[0] *
15143 nphy_lnagain_est0[1]), 13);
15146 PHY_HW_ROUND(((nphy_lnagain_est1[0] *
15148 nphy_lnagain_est1[1]), 13);
15156 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
15157 if (pi->nphy_elna_gain_config) {
15159 regval[0] = nphy_def_lnagains[2] + gain_delta[core];
15160 regval[1] = nphy_def_lnagains[3] + gain_delta[core];
15161 regval[2] = nphy_def_lnagains[3] + gain_delta[core];
15162 regval[3] = nphy_def_lnagains[3] + gain_delta[core];
15164 for (ctr = 0; ctr < 4; ctr++)
15166 nphy_def_lnagains[ctr] +
15169 wlc_phy_table_write_nphy(pi, core, 4, 8, 16, regval);
15171 minmax_gain[core] =
15172 (u16) (nphy_def_lnagains[2] + gain_delta[core] + 4);
15175 mod_phy_reg(pi, 0x1e, (0xff << 0), (minmax_gain[0] << 0));
15176 mod_phy_reg(pi, 0x34, (0xff << 0), (minmax_gain[1] << 0));
15178 if (pi->phyhang_avoid)
15179 wlc_phy_stay_in_carriersearch_nphy(pi, false);
15183 wlc_phy_war_force_trsw_to_R_cliplo_nphy(struct brcms_phy *pi, u8 core)
15185 if (core == PHY_CORE_0) {
15186 write_phy_reg(pi, 0x38, 0x4);
15187 if (CHSPEC_IS2G(pi->radio_chanspec))
15188 write_phy_reg(pi, 0x37, 0x0060);
15190 write_phy_reg(pi, 0x37, 0x1080);
15191 } else if (core == PHY_CORE_1) {
15192 write_phy_reg(pi, 0x2ae, 0x4);
15193 if (CHSPEC_IS2G(pi->radio_chanspec))
15194 write_phy_reg(pi, 0x2ad, 0x0060);
15196 write_phy_reg(pi, 0x2ad, 0x1080);
15200 static void wlc_phy_war_txchain_upd_nphy(struct brcms_phy *pi, u8 txchain)
15202 u8 txchain0, txchain1;
15204 txchain0 = txchain & 0x1;
15205 txchain1 = (txchain & 0x2) >> 1;
15207 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_0);
15210 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_1);
15213 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev5(struct brcms_phy *pi)
15215 s8 lna1_gain_db[] = { 8, 13, 17, 22 };
15216 s8 lna2_gain_db[] = { -2, 7, 11, 15 };
15217 s8 tia_gain_db[] = { -4, -1, 2, 5, 5, 5, 5, 5, 5, 5 };
15218 s8 tia_gainbits[] = {
15219 0x0, 0x01, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 };
15221 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
15222 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
15224 mod_phy_reg(pi, 0x289, (0xff << 0), (0x46 << 0));
15226 mod_phy_reg(pi, 0x283, (0xff << 0), (0x3c << 0));
15227 mod_phy_reg(pi, 0x280, (0xff << 0), (0x3c << 0));
15229 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x8, 8,
15231 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x8, 8,
15234 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x10, 8,
15236 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x10, 8,
15239 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 10, 0x20, 8,
15241 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 10, 0x20, 8,
15244 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 10, 0x20, 8,
15246 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 10, 0x20, 8,
15249 write_phy_reg(pi, 0x37, 0x74);
15250 write_phy_reg(pi, 0x2ad, 0x74);
15251 write_phy_reg(pi, 0x38, 0x18);
15252 write_phy_reg(pi, 0x2ae, 0x18);
15254 write_phy_reg(pi, 0x2b, 0xe8);
15255 write_phy_reg(pi, 0x41, 0xe8);
15257 if (CHSPEC_IS20(pi->radio_chanspec)) {
15259 mod_phy_reg(pi, 0x300, (0x3f << 0), (0x12 << 0));
15260 mod_phy_reg(pi, 0x301, (0x3f << 0), (0x12 << 0));
15263 mod_phy_reg(pi, 0x300, (0x3f << 0), (0x10 << 0));
15264 mod_phy_reg(pi, 0x301, (0x3f << 0), (0x10 << 0));
15268 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev6(struct brcms_phy *pi)
15271 s8 lna1G_gain_db_rev7[] = { 9, 14, 19, 24 };
15272 s8 *lna1_gain_db = NULL;
15273 s8 *lna1_gain_db_2 = NULL;
15274 s8 *lna2_gain_db = NULL;
15275 s8 tiaA_gain_db_rev7[] = { -9, -6, -3, 0, 3, 3, 3, 3, 3, 3 };
15277 s8 tiaA_gainbits_rev7[] = { 0, 1, 2, 3, 4, 4, 4, 4, 4, 4 };
15279 u16 rfseqA_init_gain_rev7[] = { 0x624f, 0x624f };
15280 u16 *rfseq_init_gain;
15282 u16 clip1hi_gaincode;
15283 u16 clip1md_gaincode = 0;
15284 u16 clip1md_gaincode_B;
15285 u16 clip1lo_gaincode;
15286 u16 clip1lo_gaincode_B;
15292 s8 nvar_baseline_offset0 = 0, nvar_baseline_offset1 = 0;
15293 u8 chg_nbclip_th = 0;
15295 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
15296 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
15298 currband = read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand;
15299 if (currband == 0) {
15301 lna1_gain_db = lna1G_gain_db_rev7;
15303 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 8, 8,
15305 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 8, 8,
15308 mod_phy_reg(pi, 0x283, (0xff << 0), (0x40 << 0));
15310 if (CHSPEC_IS40(pi->radio_chanspec)) {
15311 mod_phy_reg(pi, 0x280, (0xff << 0), (0x3e << 0));
15312 mod_phy_reg(pi, 0x283, (0xff << 0), (0x3e << 0));
15315 mod_phy_reg(pi, 0x289, (0xff << 0), (0x46 << 0));
15317 if (CHSPEC_IS20(pi->radio_chanspec)) {
15318 mod_phy_reg(pi, 0x300, (0x3f << 0), (13 << 0));
15319 mod_phy_reg(pi, 0x301, (0x3f << 0), (13 << 0));
15323 init_gaincode = 0x9e;
15324 clip1hi_gaincode = 0x9e;
15325 clip1md_gaincode_B = 0x24;
15326 clip1lo_gaincode = 0x8a;
15327 clip1lo_gaincode_B = 8;
15328 rfseq_init_gain = rfseqA_init_gain_rev7;
15330 tia_gain_db = tiaA_gain_db_rev7;
15331 tia_gainbits = tiaA_gainbits_rev7;
15333 freq = CHAN5G_FREQ(CHSPEC_CHANNEL(pi->radio_chanspec));
15334 if (CHSPEC_IS20(pi->radio_chanspec)) {
15337 clip1md_gaincode = 0x82;
15339 if ((freq <= 5080) || (freq == 5825)) {
15341 s8 lna1A_gain_db_rev7[] = { 11, 16, 20, 24 };
15342 s8 lna1A_gain_db_2_rev7[] = {
15344 s8 lna2A_gain_db_rev7[] = { -1, 6, 10, 14 };
15347 lna1_gain_db = lna1A_gain_db_rev7;
15348 lna1_gain_db_2 = lna1A_gain_db_2_rev7;
15349 lna2_gain_db = lna2A_gain_db_rev7;
15350 } else if ((freq >= 5500) && (freq <= 5700)) {
15352 s8 lna1A_gain_db_rev7[] = { 11, 17, 21, 25 };
15353 s8 lna1A_gain_db_2_rev7[] = {
15355 s8 lna2A_gain_db_rev7[] = { 1, 8, 12, 16 };
15358 clip1md_gaincode_B = 0x14;
15361 lna1_gain_db = lna1A_gain_db_rev7;
15362 lna1_gain_db_2 = lna1A_gain_db_2_rev7;
15363 lna2_gain_db = lna2A_gain_db_rev7;
15366 s8 lna1A_gain_db_rev7[] = { 12, 18, 22, 26 };
15367 s8 lna1A_gain_db_2_rev7[] = {
15369 s8 lna2A_gain_db_rev7[] = { -1, 6, 10, 14 };
15372 lna1_gain_db = lna1A_gain_db_rev7;
15373 lna1_gain_db_2 = lna1A_gain_db_2_rev7;
15374 lna2_gain_db = lna2A_gain_db_rev7;
15377 if (freq <= 4920) {
15378 nvar_baseline_offset0 = 5;
15379 nvar_baseline_offset1 = 5;
15380 } else if ((freq > 4920) && (freq <= 5320)) {
15381 nvar_baseline_offset0 = 3;
15382 nvar_baseline_offset1 = 5;
15383 } else if ((freq > 5320) && (freq <= 5700)) {
15384 nvar_baseline_offset0 = 3;
15385 nvar_baseline_offset1 = 2;
15387 nvar_baseline_offset0 = 4;
15388 nvar_baseline_offset1 = 0;
15396 if ((freq >= 4920) && (freq <= 5320)) {
15397 nvar_baseline_offset0 = 4;
15398 nvar_baseline_offset1 = 5;
15399 } else if ((freq > 5320) && (freq <= 5550)) {
15400 nvar_baseline_offset0 = 4;
15401 nvar_baseline_offset1 = 2;
15403 nvar_baseline_offset0 = 5;
15404 nvar_baseline_offset1 = 3;
15408 write_phy_reg(pi, 0x20, init_gaincode);
15409 write_phy_reg(pi, 0x2a7, init_gaincode);
15411 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15412 pi->pubpi.phy_corenum, 0x106, 16,
15415 write_phy_reg(pi, 0x22, clip1hi_gaincode);
15416 write_phy_reg(pi, 0x2a9, clip1hi_gaincode);
15418 write_phy_reg(pi, 0x36, clip1md_gaincode_B);
15419 write_phy_reg(pi, 0x2ac, clip1md_gaincode_B);
15421 write_phy_reg(pi, 0x37, clip1lo_gaincode);
15422 write_phy_reg(pi, 0x2ad, clip1lo_gaincode);
15423 write_phy_reg(pi, 0x38, clip1lo_gaincode_B);
15424 write_phy_reg(pi, 0x2ae, clip1lo_gaincode_B);
15426 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 10, 0x20, 8,
15428 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 10, 0x20, 8,
15431 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 10, 0x20, 8,
15433 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 10, 0x20, 8,
15436 mod_phy_reg(pi, 0x283, (0xff << 0), (crsminu_th << 0));
15438 if (chg_nbclip_th == 1) {
15439 write_phy_reg(pi, 0x2b, nbclip_th);
15440 write_phy_reg(pi, 0x41, nbclip_th);
15443 mod_phy_reg(pi, 0x300, (0x3f << 0), (w1clip_th << 0));
15444 mod_phy_reg(pi, 0x301, (0x3f << 0), (w1clip_th << 0));
15446 mod_phy_reg(pi, 0x2e4,
15447 (0x3f << 0), (nvar_baseline_offset0 << 0));
15449 mod_phy_reg(pi, 0x2e4,
15450 (0x3f << 6), (nvar_baseline_offset1 << 6));
15452 if (CHSPEC_IS20(pi->radio_chanspec)) {
15454 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 8, 8,
15456 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 8, 8,
15459 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x10,
15461 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x10,
15464 write_phy_reg(pi, 0x24, clip1md_gaincode);
15465 write_phy_reg(pi, 0x2ab, clip1md_gaincode);
15467 mod_phy_reg(pi, 0x280, (0xff << 0), (crsminl_th << 0));
15472 static void wlc_phy_workarounds_nphy_gainctrl(struct brcms_phy *pi)
15474 u16 w1th, hpf_code, currband;
15476 u8 rfseq_updategainu_events[] = {
15477 NPHY_RFSEQ_CMD_RX_GAIN,
15478 NPHY_RFSEQ_CMD_CLR_HIQ_DIS,
15479 NPHY_RFSEQ_CMD_SET_HPF_BW
15481 u8 rfseq_updategainu_dlys[] = { 10, 30, 1 };
15482 s8 lna1G_gain_db[] = { 7, 11, 16, 23 };
15483 s8 lna1G_gain_db_rev4[] = { 8, 12, 17, 25 };
15484 s8 lna1G_gain_db_rev5[] = { 9, 13, 18, 26 };
15485 s8 lna1G_gain_db_rev6[] = { 8, 13, 18, 25 };
15486 s8 lna1G_gain_db_rev6_224B0[] = { 10, 14, 19, 27 };
15487 s8 lna1A_gain_db[] = { 7, 11, 17, 23 };
15488 s8 lna1A_gain_db_rev4[] = { 8, 12, 18, 23 };
15489 s8 lna1A_gain_db_rev5[] = { 6, 10, 16, 21 };
15490 s8 lna1A_gain_db_rev6[] = { 6, 10, 16, 21 };
15491 s8 *lna1_gain_db = NULL;
15492 s8 lna2G_gain_db[] = { -5, 6, 10, 14 };
15493 s8 lna2G_gain_db_rev5[] = { -3, 7, 11, 16 };
15494 s8 lna2G_gain_db_rev6[] = { -5, 6, 10, 14 };
15495 s8 lna2G_gain_db_rev6_224B0[] = { -5, 6, 10, 15 };
15496 s8 lna2A_gain_db[] = { -6, 2, 6, 10 };
15497 s8 lna2A_gain_db_rev4[] = { -5, 2, 6, 10 };
15498 s8 lna2A_gain_db_rev5[] = { -7, 0, 4, 8 };
15499 s8 lna2A_gain_db_rev6[] = { -7, 0, 4, 8 };
15500 s8 *lna2_gain_db = NULL;
15501 s8 tiaG_gain_db[] = {
15502 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A };
15503 s8 tiaA_gain_db[] = {
15504 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13 };
15505 s8 tiaA_gain_db_rev4[] = {
15506 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
15507 s8 tiaA_gain_db_rev5[] = {
15508 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
15509 s8 tiaA_gain_db_rev6[] = {
15510 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
15512 s8 tiaG_gainbits[] = {
15513 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 };
15514 s8 tiaA_gainbits[] = {
15515 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 };
15516 s8 tiaA_gainbits_rev4[] = {
15517 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
15518 s8 tiaA_gainbits_rev5[] = {
15519 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
15520 s8 tiaA_gainbits_rev6[] = {
15521 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
15523 s8 lpf_gain_db[] = { 0x00, 0x06, 0x0c, 0x12, 0x12, 0x12 };
15524 s8 lpf_gainbits[] = { 0x00, 0x01, 0x02, 0x03, 0x03, 0x03 };
15525 u16 rfseqG_init_gain[] = { 0x613f, 0x613f, 0x613f, 0x613f };
15526 u16 rfseqG_init_gain_rev4[] = { 0x513f, 0x513f, 0x513f, 0x513f };
15527 u16 rfseqG_init_gain_rev5[] = { 0x413f, 0x413f, 0x413f, 0x413f };
15528 u16 rfseqG_init_gain_rev5_elna[] = {
15529 0x013f, 0x013f, 0x013f, 0x013f };
15530 u16 rfseqG_init_gain_rev6[] = { 0x513f, 0x513f };
15531 u16 rfseqG_init_gain_rev6_224B0[] = { 0x413f, 0x413f };
15532 u16 rfseqG_init_gain_rev6_elna[] = { 0x113f, 0x113f };
15533 u16 rfseqA_init_gain[] = { 0x516f, 0x516f, 0x516f, 0x516f };
15534 u16 rfseqA_init_gain_rev4[] = { 0x614f, 0x614f, 0x614f, 0x614f };
15535 u16 rfseqA_init_gain_rev4_elna[] = {
15536 0x314f, 0x314f, 0x314f, 0x314f };
15537 u16 rfseqA_init_gain_rev5[] = { 0x714f, 0x714f, 0x714f, 0x714f };
15538 u16 rfseqA_init_gain_rev6[] = { 0x714f, 0x714f };
15539 u16 *rfseq_init_gain;
15540 u16 initG_gaincode = 0x627e;
15541 u16 initG_gaincode_rev4 = 0x527e;
15542 u16 initG_gaincode_rev5 = 0x427e;
15543 u16 initG_gaincode_rev5_elna = 0x027e;
15544 u16 initG_gaincode_rev6 = 0x527e;
15545 u16 initG_gaincode_rev6_224B0 = 0x427e;
15546 u16 initG_gaincode_rev6_elna = 0x127e;
15547 u16 initA_gaincode = 0x52de;
15548 u16 initA_gaincode_rev4 = 0x629e;
15549 u16 initA_gaincode_rev4_elna = 0x329e;
15550 u16 initA_gaincode_rev5 = 0x729e;
15551 u16 initA_gaincode_rev6 = 0x729e;
15553 u16 clip1hiG_gaincode = 0x107e;
15554 u16 clip1hiG_gaincode_rev4 = 0x007e;
15555 u16 clip1hiG_gaincode_rev5 = 0x1076;
15556 u16 clip1hiG_gaincode_rev6 = 0x007e;
15557 u16 clip1hiA_gaincode = 0x00de;
15558 u16 clip1hiA_gaincode_rev4 = 0x029e;
15559 u16 clip1hiA_gaincode_rev5 = 0x029e;
15560 u16 clip1hiA_gaincode_rev6 = 0x029e;
15561 u16 clip1hi_gaincode;
15562 u16 clip1mdG_gaincode = 0x0066;
15563 u16 clip1mdA_gaincode = 0x00ca;
15564 u16 clip1mdA_gaincode_rev4 = 0x1084;
15565 u16 clip1mdA_gaincode_rev5 = 0x2084;
15566 u16 clip1mdA_gaincode_rev6 = 0x2084;
15567 u16 clip1md_gaincode = 0;
15568 u16 clip1loG_gaincode = 0x0074;
15569 u16 clip1loG_gaincode_rev5[] = {
15570 0x0062, 0x0064, 0x006a, 0x106a, 0x106c, 0x1074, 0x107c, 0x207c
15572 u16 clip1loG_gaincode_rev6[] = {
15573 0x106a, 0x106c, 0x1074, 0x107c, 0x007e, 0x107e, 0x207e, 0x307e
15575 u16 clip1loG_gaincode_rev6_224B0 = 0x1074;
15576 u16 clip1loA_gaincode = 0x00cc;
15577 u16 clip1loA_gaincode_rev4 = 0x0086;
15578 u16 clip1loA_gaincode_rev5 = 0x2086;
15579 u16 clip1loA_gaincode_rev6 = 0x2086;
15580 u16 clip1lo_gaincode;
15581 u8 crsminG_th = 0x18;
15582 u8 crsminG_th_rev5 = 0x18;
15583 u8 crsminG_th_rev6 = 0x18;
15584 u8 crsminA_th = 0x1e;
15585 u8 crsminA_th_rev4 = 0x24;
15586 u8 crsminA_th_rev5 = 0x24;
15587 u8 crsminA_th_rev6 = 0x24;
15589 u8 crsminlG_th = 0x18;
15590 u8 crsminlG_th_rev5 = 0x18;
15591 u8 crsminlG_th_rev6 = 0x18;
15592 u8 crsminlA_th = 0x1e;
15593 u8 crsminlA_th_rev4 = 0x24;
15594 u8 crsminlA_th_rev5 = 0x24;
15595 u8 crsminlA_th_rev6 = 0x24;
15597 u8 crsminuG_th = 0x18;
15598 u8 crsminuG_th_rev5 = 0x18;
15599 u8 crsminuG_th_rev6 = 0x18;
15600 u8 crsminuA_th = 0x1e;
15601 u8 crsminuA_th_rev4 = 0x24;
15602 u8 crsminuA_th_rev5 = 0x24;
15603 u8 crsminuA_th_rev6 = 0x24;
15604 u8 crsminuA_th_rev6_224B0 = 0x2d;
15606 u16 nbclipG_th = 0x20d;
15607 u16 nbclipG_th_rev4 = 0x1a1;
15608 u16 nbclipG_th_rev5 = 0x1d0;
15609 u16 nbclipG_th_rev6 = 0x1d0;
15610 u16 nbclipA_th = 0x1a1;
15611 u16 nbclipA_th_rev4 = 0x107;
15612 u16 nbclipA_th_rev5 = 0x0a9;
15613 u16 nbclipA_th_rev6 = 0x0f0;
15616 u8 w1clipG_th_rev5 = 9;
15617 u8 w1clipG_th_rev6 = 5;
15618 u8 w1clipA_th = 25, w1clip_th;
15619 u8 rssi_gain_default = 0x50;
15620 u8 rssiG_gain_rev6_224B0 = 0x50;
15621 u8 rssiA_gain_rev5 = 0x90;
15622 u8 rssiA_gain_rev6 = 0x90;
15627 triso = (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.triso :
15628 pi->srom_fem2g.triso;
15630 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
15631 if (pi->pubpi.radiorev == 5) {
15632 wlc_phy_workarounds_nphy_gainctrl_2057_rev5(pi);
15633 } else if (pi->pubpi.radiorev == 7) {
15634 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi);
15636 mod_phy_reg(pi, 0x283, (0xff << 0), (0x44 << 0));
15637 mod_phy_reg(pi, 0x280, (0xff << 0), (0x44 << 0));
15639 } else if ((pi->pubpi.radiorev == 3)
15640 || (pi->pubpi.radiorev == 8)) {
15641 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi);
15643 if (pi->pubpi.radiorev == 8) {
15644 mod_phy_reg(pi, 0x283,
15645 (0xff << 0), (0x44 << 0));
15646 mod_phy_reg(pi, 0x280,
15647 (0xff << 0), (0x44 << 0));
15650 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi);
15652 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
15654 mod_phy_reg(pi, 0xa0, (0x1 << 6), (1 << 6));
15656 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
15657 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
15660 read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand;
15661 if (currband == 0) {
15662 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
15663 if (pi->pubpi.radiorev == 11) {
15664 lna1_gain_db = lna1G_gain_db_rev6_224B0;
15665 lna2_gain_db = lna2G_gain_db_rev6_224B0;
15667 rfseqG_init_gain_rev6_224B0;
15669 initG_gaincode_rev6_224B0;
15671 clip1hiG_gaincode_rev6;
15673 clip1loG_gaincode_rev6_224B0;
15674 nbclip_th = nbclipG_th_rev6;
15675 w1clip_th = w1clipG_th_rev6;
15676 crsmin_th = crsminG_th_rev6;
15677 crsminl_th = crsminlG_th_rev6;
15678 crsminu_th = crsminuG_th_rev6;
15679 rssi_gain = rssiG_gain_rev6_224B0;
15681 lna1_gain_db = lna1G_gain_db_rev6;
15682 lna2_gain_db = lna2G_gain_db_rev6;
15683 if (pi->sh->boardflags & BFL_EXTLNA) {
15686 rfseqG_init_gain_rev6_elna;
15688 initG_gaincode_rev6_elna;
15691 rfseqG_init_gain_rev6;
15693 initG_gaincode_rev6;
15696 clip1hiG_gaincode_rev6;
15700 clip1loG_gaincode_rev6
15705 clip1loG_gaincode_rev6
15710 clip1loG_gaincode_rev6
15717 clip1loG_gaincode_rev6
15722 clip1loG_gaincode_rev6
15727 clip1loG_gaincode_rev6
15732 clip1loG_gaincode_rev6
15737 clip1loG_gaincode_rev6
15741 nbclip_th = nbclipG_th_rev6;
15742 w1clip_th = w1clipG_th_rev6;
15743 crsmin_th = crsminG_th_rev6;
15744 crsminl_th = crsminlG_th_rev6;
15745 crsminu_th = crsminuG_th_rev6;
15746 rssi_gain = rssi_gain_default;
15748 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
15749 lna1_gain_db = lna1G_gain_db_rev5;
15750 lna2_gain_db = lna2G_gain_db_rev5;
15751 if (pi->sh->boardflags & BFL_EXTLNA) {
15754 rfseqG_init_gain_rev5_elna;
15756 initG_gaincode_rev5_elna;
15758 rfseq_init_gain = rfseqG_init_gain_rev5;
15759 init_gaincode = initG_gaincode_rev5;
15761 clip1hi_gaincode = clip1hiG_gaincode_rev5;
15765 clip1loG_gaincode_rev5[0];
15769 clip1loG_gaincode_rev5[1];
15773 clip1loG_gaincode_rev5[2];
15778 clip1loG_gaincode_rev5[3];
15782 clip1loG_gaincode_rev5[4];
15786 clip1loG_gaincode_rev5[5];
15790 clip1loG_gaincode_rev5[6];
15794 clip1loG_gaincode_rev5[7];
15798 clip1loG_gaincode_rev5[3];
15801 nbclip_th = nbclipG_th_rev5;
15802 w1clip_th = w1clipG_th_rev5;
15803 crsmin_th = crsminG_th_rev5;
15804 crsminl_th = crsminlG_th_rev5;
15805 crsminu_th = crsminuG_th_rev5;
15806 rssi_gain = rssi_gain_default;
15807 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
15808 lna1_gain_db = lna1G_gain_db_rev4;
15809 lna2_gain_db = lna2G_gain_db;
15810 rfseq_init_gain = rfseqG_init_gain_rev4;
15811 init_gaincode = initG_gaincode_rev4;
15812 clip1hi_gaincode = clip1hiG_gaincode_rev4;
15813 clip1lo_gaincode = clip1loG_gaincode;
15814 nbclip_th = nbclipG_th_rev4;
15815 w1clip_th = w1clipG_th;
15816 crsmin_th = crsminG_th;
15817 crsminl_th = crsminlG_th;
15818 crsminu_th = crsminuG_th;
15819 rssi_gain = rssi_gain_default;
15821 lna1_gain_db = lna1G_gain_db;
15822 lna2_gain_db = lna2G_gain_db;
15823 rfseq_init_gain = rfseqG_init_gain;
15824 init_gaincode = initG_gaincode;
15825 clip1hi_gaincode = clip1hiG_gaincode;
15826 clip1lo_gaincode = clip1loG_gaincode;
15827 nbclip_th = nbclipG_th;
15828 w1clip_th = w1clipG_th;
15829 crsmin_th = crsminG_th;
15830 crsminl_th = crsminlG_th;
15831 crsminu_th = crsminuG_th;
15832 rssi_gain = rssi_gain_default;
15834 tia_gain_db = tiaG_gain_db;
15835 tia_gainbits = tiaG_gainbits;
15836 clip1md_gaincode = clip1mdG_gaincode;
15838 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
15839 lna1_gain_db = lna1A_gain_db_rev6;
15840 lna2_gain_db = lna2A_gain_db_rev6;
15841 tia_gain_db = tiaA_gain_db_rev6;
15842 tia_gainbits = tiaA_gainbits_rev6;
15843 rfseq_init_gain = rfseqA_init_gain_rev6;
15844 init_gaincode = initA_gaincode_rev6;
15845 clip1hi_gaincode = clip1hiA_gaincode_rev6;
15846 clip1md_gaincode = clip1mdA_gaincode_rev6;
15847 clip1lo_gaincode = clip1loA_gaincode_rev6;
15848 crsmin_th = crsminA_th_rev6;
15849 crsminl_th = crsminlA_th_rev6;
15850 if ((pi->pubpi.radiorev == 11) &&
15851 (CHSPEC_IS40(pi->radio_chanspec) == 0))
15852 crsminu_th = crsminuA_th_rev6_224B0;
15854 crsminu_th = crsminuA_th_rev6;
15856 nbclip_th = nbclipA_th_rev6;
15857 rssi_gain = rssiA_gain_rev6;
15858 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
15859 lna1_gain_db = lna1A_gain_db_rev5;
15860 lna2_gain_db = lna2A_gain_db_rev5;
15861 tia_gain_db = tiaA_gain_db_rev5;
15862 tia_gainbits = tiaA_gainbits_rev5;
15863 rfseq_init_gain = rfseqA_init_gain_rev5;
15864 init_gaincode = initA_gaincode_rev5;
15865 clip1hi_gaincode = clip1hiA_gaincode_rev5;
15866 clip1md_gaincode = clip1mdA_gaincode_rev5;
15867 clip1lo_gaincode = clip1loA_gaincode_rev5;
15868 crsmin_th = crsminA_th_rev5;
15869 crsminl_th = crsminlA_th_rev5;
15870 crsminu_th = crsminuA_th_rev5;
15871 nbclip_th = nbclipA_th_rev5;
15872 rssi_gain = rssiA_gain_rev5;
15873 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
15874 lna1_gain_db = lna1A_gain_db_rev4;
15875 lna2_gain_db = lna2A_gain_db_rev4;
15876 tia_gain_db = tiaA_gain_db_rev4;
15877 tia_gainbits = tiaA_gainbits_rev4;
15878 if (pi->sh->boardflags & BFL_EXTLNA_5GHz) {
15881 rfseqA_init_gain_rev4_elna;
15883 initA_gaincode_rev4_elna;
15885 rfseq_init_gain = rfseqA_init_gain_rev4;
15886 init_gaincode = initA_gaincode_rev4;
15888 clip1hi_gaincode = clip1hiA_gaincode_rev4;
15889 clip1md_gaincode = clip1mdA_gaincode_rev4;
15890 clip1lo_gaincode = clip1loA_gaincode_rev4;
15891 crsmin_th = crsminA_th_rev4;
15892 crsminl_th = crsminlA_th_rev4;
15893 crsminu_th = crsminuA_th_rev4;
15894 nbclip_th = nbclipA_th_rev4;
15895 rssi_gain = rssi_gain_default;
15897 lna1_gain_db = lna1A_gain_db;
15898 lna2_gain_db = lna2A_gain_db;
15899 tia_gain_db = tiaA_gain_db;
15900 tia_gainbits = tiaA_gainbits;
15901 rfseq_init_gain = rfseqA_init_gain;
15902 init_gaincode = initA_gaincode;
15903 clip1hi_gaincode = clip1hiA_gaincode;
15904 clip1md_gaincode = clip1mdA_gaincode;
15905 clip1lo_gaincode = clip1loA_gaincode;
15906 crsmin_th = crsminA_th;
15907 crsminl_th = crsminlA_th;
15908 crsminu_th = crsminuA_th;
15909 nbclip_th = nbclipA_th;
15910 rssi_gain = rssi_gain_default;
15912 w1clip_th = w1clipA_th;
15915 write_radio_reg(pi,
15916 (RADIO_2056_RX_BIASPOLE_LNAG1_IDAC |
15917 RADIO_2056_RX0), 0x17);
15918 write_radio_reg(pi,
15919 (RADIO_2056_RX_BIASPOLE_LNAG1_IDAC |
15920 RADIO_2056_RX1), 0x17);
15922 write_radio_reg(pi, (RADIO_2056_RX_LNAG2_IDAC | RADIO_2056_RX0),
15924 write_radio_reg(pi, (RADIO_2056_RX_LNAG2_IDAC | RADIO_2056_RX1),
15927 write_radio_reg(pi, (RADIO_2056_RX_RSSI_POLE | RADIO_2056_RX0),
15929 write_radio_reg(pi, (RADIO_2056_RX_RSSI_POLE | RADIO_2056_RX1),
15932 write_radio_reg(pi, (RADIO_2056_RX_RSSI_GAIN | RADIO_2056_RX0),
15934 write_radio_reg(pi, (RADIO_2056_RX_RSSI_GAIN | RADIO_2056_RX1),
15937 write_radio_reg(pi,
15938 (RADIO_2056_RX_BIASPOLE_LNAA1_IDAC |
15939 RADIO_2056_RX0), 0x17);
15940 write_radio_reg(pi,
15941 (RADIO_2056_RX_BIASPOLE_LNAA1_IDAC |
15942 RADIO_2056_RX1), 0x17);
15944 write_radio_reg(pi, (RADIO_2056_RX_LNAA2_IDAC | RADIO_2056_RX0),
15946 write_radio_reg(pi, (RADIO_2056_RX_LNAA2_IDAC | RADIO_2056_RX1),
15949 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 8,
15951 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 8,
15954 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x10,
15956 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x10,
15959 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 10, 0x20,
15961 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 10, 0x20,
15964 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 10, 0x20,
15966 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 10, 0x20,
15969 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 6, 0x40,
15971 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 6, 0x40,
15973 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 6, 0x40,
15975 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 6, 0x40,
15978 write_phy_reg(pi, 0x20, init_gaincode);
15979 write_phy_reg(pi, 0x2a7, init_gaincode);
15981 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15982 pi->pubpi.phy_corenum, 0x106, 16,
15985 write_phy_reg(pi, 0x22, clip1hi_gaincode);
15986 write_phy_reg(pi, 0x2a9, clip1hi_gaincode);
15988 write_phy_reg(pi, 0x24, clip1md_gaincode);
15989 write_phy_reg(pi, 0x2ab, clip1md_gaincode);
15991 write_phy_reg(pi, 0x37, clip1lo_gaincode);
15992 write_phy_reg(pi, 0x2ad, clip1lo_gaincode);
15994 mod_phy_reg(pi, 0x27d, (0xff << 0), (crsmin_th << 0));
15995 mod_phy_reg(pi, 0x280, (0xff << 0), (crsminl_th << 0));
15996 mod_phy_reg(pi, 0x283, (0xff << 0), (crsminu_th << 0));
15998 write_phy_reg(pi, 0x2b, nbclip_th);
15999 write_phy_reg(pi, 0x41, nbclip_th);
16001 mod_phy_reg(pi, 0x27, (0x3f << 0), (w1clip_th << 0));
16002 mod_phy_reg(pi, 0x3d, (0x3f << 0), (w1clip_th << 0));
16004 write_phy_reg(pi, 0x150, 0x809c);
16008 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
16009 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
16011 write_phy_reg(pi, 0x2b, 0x84);
16012 write_phy_reg(pi, 0x41, 0x84);
16014 if (CHSPEC_IS20(pi->radio_chanspec)) {
16015 write_phy_reg(pi, 0x6b, 0x2b);
16016 write_phy_reg(pi, 0x6c, 0x2b);
16017 write_phy_reg(pi, 0x6d, 0x9);
16018 write_phy_reg(pi, 0x6e, 0x9);
16021 w1th = NPHY_RSSICAL_W1_TARGET - 4;
16022 mod_phy_reg(pi, 0x27, (0x3f << 0), (w1th << 0));
16023 mod_phy_reg(pi, 0x3d, (0x3f << 0), (w1th << 0));
16025 if (CHSPEC_IS20(pi->radio_chanspec)) {
16026 mod_phy_reg(pi, 0x1c, (0x1f << 0), (0x1 << 0));
16027 mod_phy_reg(pi, 0x32, (0x1f << 0), (0x1 << 0));
16029 mod_phy_reg(pi, 0x1d, (0x1f << 0), (0x1 << 0));
16030 mod_phy_reg(pi, 0x33, (0x1f << 0), (0x1 << 0));
16033 write_phy_reg(pi, 0x150, 0x809c);
16035 if (pi->nphy_gain_boost)
16036 if ((CHSPEC_IS2G(pi->radio_chanspec)) &&
16037 (CHSPEC_IS40(pi->radio_chanspec)))
16041 else if (CHSPEC_IS40(pi->radio_chanspec))
16046 mod_phy_reg(pi, 0x20, (0x1f << 7), (hpf_code << 7));
16047 mod_phy_reg(pi, 0x36, (0x1f << 7), (hpf_code << 7));
16049 for (ctr = 0; ctr < 4; ctr++)
16050 regval[ctr] = (hpf_code << 8) | 0x7c;
16051 wlc_phy_table_write_nphy(pi, 7, 4, 0x106, 16, regval);
16053 wlc_phy_adjust_lnagaintbl_nphy(pi);
16055 if (pi->nphy_elna_gain_config) {
16060 wlc_phy_table_write_nphy(pi, 2, 4, 8, 16, regval);
16061 wlc_phy_table_write_nphy(pi, 3, 4, 8, 16, regval);
16063 for (ctr = 0; ctr < 4; ctr++)
16064 regval[ctr] = (hpf_code << 8) | 0x74;
16065 wlc_phy_table_write_nphy(pi, 7, 4, 0x106, 16, regval);
16068 if (NREV_IS(pi->pubpi.phy_rev, 2)) {
16069 for (ctr = 0; ctr < 21; ctr++)
16070 regval[ctr] = 3 * ctr;
16071 wlc_phy_table_write_nphy(pi, 0, 21, 32, 16, regval);
16072 wlc_phy_table_write_nphy(pi, 1, 21, 32, 16, regval);
16074 for (ctr = 0; ctr < 21; ctr++)
16075 regval[ctr] = (u16) ctr;
16076 wlc_phy_table_write_nphy(pi, 2, 21, 32, 16, regval);
16077 wlc_phy_table_write_nphy(pi, 3, 21, 32, 16, regval);
16080 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_UPDATEGAINU,
16081 rfseq_updategainu_events,
16082 rfseq_updategainu_dlys,
16083 sizeof(rfseq_updategainu_events) /
16084 sizeof(rfseq_updategainu_events[0]));
16086 mod_phy_reg(pi, 0x153, (0xff << 8), (90 << 8));
16088 if (CHSPEC_IS2G(pi->radio_chanspec))
16090 (NPHY_TO_BPHY_OFF + BPHY_OPTIONAL_MODES),
16095 static void wlc_phy_workarounds_nphy(struct brcms_phy *pi)
16097 u8 rfseq_rx2tx_events[] = {
16098 NPHY_RFSEQ_CMD_NOP,
16099 NPHY_RFSEQ_CMD_RXG_FBW,
16100 NPHY_RFSEQ_CMD_TR_SWITCH,
16101 NPHY_RFSEQ_CMD_CLR_HIQ_DIS,
16102 NPHY_RFSEQ_CMD_RXPD_TXPD,
16103 NPHY_RFSEQ_CMD_TX_GAIN,
16104 NPHY_RFSEQ_CMD_EXT_PA
16106 u8 rfseq_rx2tx_dlys[] = { 8, 6, 6, 2, 4, 60, 1 };
16107 u8 rfseq_tx2rx_events[] = {
16108 NPHY_RFSEQ_CMD_NOP,
16109 NPHY_RFSEQ_CMD_EXT_PA,
16110 NPHY_RFSEQ_CMD_TX_GAIN,
16111 NPHY_RFSEQ_CMD_RXPD_TXPD,
16112 NPHY_RFSEQ_CMD_TR_SWITCH,
16113 NPHY_RFSEQ_CMD_RXG_FBW,
16114 NPHY_RFSEQ_CMD_CLR_HIQ_DIS
16116 u8 rfseq_tx2rx_dlys[] = { 8, 6, 2, 4, 4, 6, 1 };
16117 u8 rfseq_tx2rx_events_rev3[] = {
16118 NPHY_REV3_RFSEQ_CMD_EXT_PA,
16119 NPHY_REV3_RFSEQ_CMD_INT_PA_PU,
16120 NPHY_REV3_RFSEQ_CMD_TX_GAIN,
16121 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD,
16122 NPHY_REV3_RFSEQ_CMD_TR_SWITCH,
16123 NPHY_REV3_RFSEQ_CMD_RXG_FBW,
16124 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS,
16125 NPHY_REV3_RFSEQ_CMD_END
16127 u8 rfseq_tx2rx_dlys_rev3[] = { 8, 4, 2, 2, 4, 4, 6, 1 };
16128 u8 rfseq_rx2tx_events_rev3[] = {
16129 NPHY_REV3_RFSEQ_CMD_NOP,
16130 NPHY_REV3_RFSEQ_CMD_RXG_FBW,
16131 NPHY_REV3_RFSEQ_CMD_TR_SWITCH,
16132 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS,
16133 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD,
16134 NPHY_REV3_RFSEQ_CMD_TX_GAIN,
16135 NPHY_REV3_RFSEQ_CMD_INT_PA_PU,
16136 NPHY_REV3_RFSEQ_CMD_EXT_PA,
16137 NPHY_REV3_RFSEQ_CMD_END
16139 u8 rfseq_rx2tx_dlys_rev3[] = { 8, 6, 6, 4, 4, 18, 42, 1, 1 };
16141 u8 rfseq_rx2tx_events_rev3_ipa[] = {
16142 NPHY_REV3_RFSEQ_CMD_NOP,
16143 NPHY_REV3_RFSEQ_CMD_RXG_FBW,
16144 NPHY_REV3_RFSEQ_CMD_TR_SWITCH,
16145 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS,
16146 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD,
16147 NPHY_REV3_RFSEQ_CMD_TX_GAIN,
16148 NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS,
16149 NPHY_REV3_RFSEQ_CMD_INT_PA_PU,
16150 NPHY_REV3_RFSEQ_CMD_END
16152 u8 rfseq_rx2tx_dlys_rev3_ipa[] = { 8, 6, 6, 4, 4, 16, 43, 1, 1 };
16153 u16 rfseq_rx2tx_dacbufpu_rev7[] = { 0x10f, 0x10f };
16155 s16 alpha0, alpha1, alpha2;
16156 s16 beta0, beta1, beta2;
16157 u32 leg_data_weights, ht_data_weights, nss1_data_weights,
16159 u8 chan_freq_range = 0;
16160 u16 dac_control = 0x0002;
16161 u16 aux_adc_vmid_rev7_core0[] = { 0x8e, 0x96, 0x96, 0x96 };
16162 u16 aux_adc_vmid_rev7_core1[] = { 0x8f, 0x9f, 0x9f, 0x96 };
16163 u16 aux_adc_vmid_rev4[] = { 0xa2, 0xb4, 0xb4, 0x89 };
16164 u16 aux_adc_vmid_rev3[] = { 0xa2, 0xb4, 0xb4, 0x89 };
16166 u16 aux_adc_gain_rev7[] = { 0x02, 0x02, 0x02, 0x02 };
16167 u16 aux_adc_gain_rev4[] = { 0x02, 0x02, 0x02, 0x00 };
16168 u16 aux_adc_gain_rev3[] = { 0x02, 0x02, 0x02, 0x00 };
16170 u16 sk_adc_vmid[] = { 0xb4, 0xb4, 0xb4, 0x24 };
16171 u16 sk_adc_gain[] = { 0x02, 0x02, 0x02, 0x02 };
16172 s32 min_nvar_val = 0x18d;
16173 s32 min_nvar_offset_6mbps = 20;
16177 u16 afectrl_adc_ctrl1_rev7 = 0x20;
16178 u16 afectrl_adc_ctrl2_rev7 = 0x0;
16179 u16 rfseq_rx2tx_lpf_h_hpc_rev7 = 0x77;
16180 u16 rfseq_tx2rx_lpf_h_hpc_rev7 = 0x77;
16181 u16 rfseq_pktgn_lpf_h_hpc_rev7 = 0x77;
16182 u16 rfseq_htpktgn_lpf_hpc_rev7[] = { 0x77, 0x11, 0x11 };
16183 u16 rfseq_pktgn_lpf_hpc_rev7[] = { 0x11, 0x11 };
16184 u16 rfseq_cckpktgn_lpf_hpc_rev7[] = { 0x11, 0x11 };
16185 u16 ipalvlshift_3p3_war_en = 0;
16186 u16 rccal_bcap_val, rccal_scap_val;
16187 u16 rccal_tx20_11b_bcap = 0;
16188 u16 rccal_tx20_11b_scap = 0;
16189 u16 rccal_tx20_11n_bcap = 0;
16190 u16 rccal_tx20_11n_scap = 0;
16191 u16 rccal_tx40_11n_bcap = 0;
16192 u16 rccal_tx40_11n_scap = 0;
16193 u16 rx2tx_lpf_rc_lut_tx20_11b = 0;
16194 u16 rx2tx_lpf_rc_lut_tx20_11n = 0;
16195 u16 rx2tx_lpf_rc_lut_tx40_11n = 0;
16196 u16 tx_lpf_bw_ofdm_20mhz = 0;
16197 u16 tx_lpf_bw_ofdm_40mhz = 0;
16198 u16 tx_lpf_bw_11b = 0;
16199 u16 ipa2g_mainbias, ipa2g_casconv, ipa2g_biasfilt;
16200 u16 txgm_idac_bleed = 0;
16201 bool rccal_ovrd = false;
16205 if (CHSPEC_IS5G(pi->radio_chanspec))
16206 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_cck_en, 0);
16208 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_cck_en, 1);
16210 if (pi->phyhang_avoid)
16211 wlc_phy_stay_in_carriersearch_nphy(pi, true);
16213 or_phy_reg(pi, 0xb1, NPHY_IQFlip_ADC1 | NPHY_IQFlip_ADC2);
16215 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
16217 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
16218 mod_phy_reg(pi, 0x221, (0x1 << 4), (1 << 4));
16220 mod_phy_reg(pi, 0x160, (0x7f << 0), (32 << 0));
16221 mod_phy_reg(pi, 0x160, (0x7f << 8), (39 << 8));
16222 mod_phy_reg(pi, 0x161, (0x7f << 0), (46 << 0));
16223 mod_phy_reg(pi, 0x161, (0x7f << 8), (51 << 8));
16224 mod_phy_reg(pi, 0x162, (0x7f << 0), (55 << 0));
16225 mod_phy_reg(pi, 0x162, (0x7f << 8), (58 << 8));
16226 mod_phy_reg(pi, 0x163, (0x7f << 0), (60 << 0));
16227 mod_phy_reg(pi, 0x163, (0x7f << 8), (62 << 8));
16228 mod_phy_reg(pi, 0x164, (0x7f << 0), (62 << 0));
16229 mod_phy_reg(pi, 0x164, (0x7f << 8), (63 << 8));
16230 mod_phy_reg(pi, 0x165, (0x7f << 0), (63 << 0));
16231 mod_phy_reg(pi, 0x165, (0x7f << 8), (64 << 8));
16232 mod_phy_reg(pi, 0x166, (0x7f << 0), (64 << 0));
16233 mod_phy_reg(pi, 0x166, (0x7f << 8), (64 << 8));
16234 mod_phy_reg(pi, 0x167, (0x7f << 0), (64 << 0));
16235 mod_phy_reg(pi, 0x167, (0x7f << 8), (64 << 8));
16238 if (NREV_LE(pi->pubpi.phy_rev, 8)) {
16239 write_phy_reg(pi, 0x23f, 0x1b0);
16240 write_phy_reg(pi, 0x240, 0x1b0);
16243 if (NREV_GE(pi->pubpi.phy_rev, 8))
16244 mod_phy_reg(pi, 0xbd, (0xff << 0), (114 << 0));
16246 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x00, 16,
16248 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x10, 16,
16251 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
16252 1, 0, 32, &leg_data_weights);
16253 leg_data_weights = leg_data_weights & 0xffffff;
16254 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
16255 1, 0, 32, &leg_data_weights);
16257 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
16259 rfseq_rx2tx_dacbufpu_rev7);
16260 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x16e, 16,
16261 rfseq_rx2tx_dacbufpu_rev7);
16264 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX,
16265 rfseq_rx2tx_events_rev3_ipa,
16266 rfseq_rx2tx_dlys_rev3_ipa,
16268 (rfseq_rx2tx_events_rev3_ipa) /
16270 (rfseq_rx2tx_events_rev3_ipa
16273 mod_phy_reg(pi, 0x299, (0x3 << 14), (0x1 << 14));
16274 mod_phy_reg(pi, 0x29d, (0x3 << 14), (0x1 << 14));
16276 tx_lpf_bw_ofdm_20mhz = wlc_phy_read_lpf_bw_ctl_nphy(pi, 0x154);
16277 tx_lpf_bw_ofdm_40mhz = wlc_phy_read_lpf_bw_ctl_nphy(pi, 0x159);
16278 tx_lpf_bw_11b = wlc_phy_read_lpf_bw_ctl_nphy(pi, 0x152);
16282 if (((pi->pubpi.radiorev == 5)
16283 && (CHSPEC_IS40(pi->radio_chanspec) == 1))
16284 || (pi->pubpi.radiorev == 7)
16285 || (pi->pubpi.radiorev == 8)) {
16290 RADIO_2057_RCCAL_BCAP_VAL);
16294 RADIO_2057_RCCAL_SCAP_VAL);
16296 rccal_tx20_11b_bcap = rccal_bcap_val;
16297 rccal_tx20_11b_scap = rccal_scap_val;
16299 if ((pi->pubpi.radiorev == 5) &&
16300 (CHSPEC_IS40(pi->radio_chanspec) == 1)) {
16302 rccal_tx20_11n_bcap = rccal_bcap_val;
16303 rccal_tx20_11n_scap = rccal_scap_val;
16304 rccal_tx40_11n_bcap = 0xc;
16305 rccal_tx40_11n_scap = 0xc;
16309 } else if ((pi->pubpi.radiorev == 7)
16310 || (pi->pubpi.radiorev == 8)) {
16312 tx_lpf_bw_ofdm_20mhz = 4;
16315 if (CHSPEC_IS2G(pi->radio_chanspec)) {
16316 rccal_tx20_11n_bcap = 0xc;
16317 rccal_tx20_11n_scap = 0xc;
16318 rccal_tx40_11n_bcap = 0xa;
16319 rccal_tx40_11n_scap = 0xa;
16321 rccal_tx20_11n_bcap = 0x14;
16322 rccal_tx20_11n_scap = 0x14;
16323 rccal_tx40_11n_bcap = 0xf;
16324 rccal_tx40_11n_scap = 0xf;
16333 if (pi->pubpi.radiorev == 5) {
16335 tx_lpf_bw_ofdm_20mhz = 1;
16336 tx_lpf_bw_ofdm_40mhz = 3;
16341 RADIO_2057_RCCAL_BCAP_VAL);
16345 RADIO_2057_RCCAL_SCAP_VAL);
16347 rccal_tx20_11b_bcap = rccal_bcap_val;
16348 rccal_tx20_11b_scap = rccal_scap_val;
16350 rccal_tx20_11n_bcap = 0x13;
16351 rccal_tx20_11n_scap = 0x11;
16352 rccal_tx40_11n_bcap = 0x13;
16353 rccal_tx40_11n_scap = 0x11;
16361 rx2tx_lpf_rc_lut_tx20_11b =
16362 (rccal_tx20_11b_bcap << 8) |
16363 (rccal_tx20_11b_scap << 3) |
16365 rx2tx_lpf_rc_lut_tx20_11n =
16366 (rccal_tx20_11n_bcap << 8) |
16367 (rccal_tx20_11n_scap << 3) |
16368 tx_lpf_bw_ofdm_20mhz;
16369 rx2tx_lpf_rc_lut_tx40_11n =
16370 (rccal_tx40_11n_bcap << 8) |
16371 (rccal_tx40_11n_scap << 3) |
16372 tx_lpf_bw_ofdm_40mhz;
16374 for (coreNum = 0; coreNum <= 1; coreNum++) {
16375 wlc_phy_table_write_nphy(
16376 pi, NPHY_TBL_ID_RFSEQ,
16378 0x152 + coreNum * 0x10,
16380 &rx2tx_lpf_rc_lut_tx20_11b);
16381 wlc_phy_table_write_nphy(
16382 pi, NPHY_TBL_ID_RFSEQ,
16384 0x153 + coreNum * 0x10,
16386 &rx2tx_lpf_rc_lut_tx20_11n);
16387 wlc_phy_table_write_nphy(
16388 pi, NPHY_TBL_ID_RFSEQ,
16390 0x154 + coreNum * 0x10,
16392 &rx2tx_lpf_rc_lut_tx20_11n);
16393 wlc_phy_table_write_nphy(
16394 pi, NPHY_TBL_ID_RFSEQ,
16396 0x155 + coreNum * 0x10,
16398 &rx2tx_lpf_rc_lut_tx40_11n);
16399 wlc_phy_table_write_nphy(
16400 pi, NPHY_TBL_ID_RFSEQ,
16402 0x156 + coreNum * 0x10,
16404 &rx2tx_lpf_rc_lut_tx40_11n);
16405 wlc_phy_table_write_nphy(
16406 pi, NPHY_TBL_ID_RFSEQ,
16408 0x157 + coreNum * 0x10,
16410 &rx2tx_lpf_rc_lut_tx40_11n);
16411 wlc_phy_table_write_nphy(
16412 pi, NPHY_TBL_ID_RFSEQ,
16414 0x158 + coreNum * 0x10,
16416 &rx2tx_lpf_rc_lut_tx40_11n);
16417 wlc_phy_table_write_nphy(
16418 pi, NPHY_TBL_ID_RFSEQ,
16420 0x159 + coreNum * 0x10,
16422 &rx2tx_lpf_rc_lut_tx40_11n);
16425 wlc_phy_rfctrl_override_nphy_rev7(
16428 NPHY_REV7_RFCTRLOVERRIDE_ID2);
16431 write_phy_reg(pi, 0x32f, 0x3);
16433 if ((pi->pubpi.radiorev == 4) || (pi->pubpi.radiorev == 6))
16434 wlc_phy_rfctrl_override_nphy_rev7(
16437 NPHY_REV7_RFCTRLOVERRIDE_ID0);
16439 if ((pi->pubpi.radiorev == 3) || (pi->pubpi.radiorev == 4) ||
16440 (pi->pubpi.radiorev == 6)) {
16441 if ((pi->sh->sromrev >= 8)
16442 && (pi->sh->boardflags2 & BFL2_IPALVLSHIFT_3P3))
16443 ipalvlshift_3p3_war_en = 1;
16445 if (ipalvlshift_3p3_war_en) {
16446 write_radio_reg(pi, RADIO_2057_GPAIO_CONFIG,
16448 write_radio_reg(pi, RADIO_2057_GPAIO_SEL1,
16450 write_radio_reg(pi, RADIO_2057_GPAIO_SEL0, 0x0);
16452 RADIO_2057_RXTXBIAS_CONFIG_CORE0,
16455 RADIO_2057_RXTXBIAS_CONFIG_CORE1,
16458 ipa2g_mainbias = 0x1f;
16460 ipa2g_casconv = 0x6f;
16462 ipa2g_biasfilt = 0xaa;
16465 ipa2g_mainbias = 0x2b;
16467 ipa2g_casconv = 0x7f;
16469 ipa2g_biasfilt = 0xee;
16472 if (CHSPEC_IS2G(pi->radio_chanspec)) {
16473 for (coreNum = 0; coreNum <= 1; coreNum++) {
16474 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
16475 coreNum, IPA2G_IMAIN,
16477 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
16478 coreNum, IPA2G_CASCONV,
16480 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
16489 if (CHSPEC_IS2G(pi->radio_chanspec)) {
16490 if ((pi->pubpi.radiorev == 3)
16491 || (pi->pubpi.radiorev == 4)
16492 || (pi->pubpi.radiorev == 6))
16493 txgm_idac_bleed = 0x7f;
16495 for (coreNum = 0; coreNum <= 1; coreNum++) {
16496 if (txgm_idac_bleed != 0)
16504 if (pi->pubpi.radiorev == 5) {
16506 for (coreNum = 0; coreNum <= 1;
16508 WRITE_RADIO_REG4(pi, RADIO_2057,
16512 WRITE_RADIO_REG4(pi, RADIO_2057,
16521 WRITE_RADIO_REG4(pi, RADIO_2057,
16528 PAD_BIAS_FILTER_BWS,
16532 } else if ((pi->pubpi.radiorev == 7)
16533 || (pi->pubpi.radiorev == 8)) {
16535 if (CHSPEC_IS40(pi->radio_chanspec) ==
16537 WRITE_RADIO_REG4(pi, RADIO_2057,
16541 WRITE_RADIO_REG4(pi, RADIO_2057,
16546 WRITE_RADIO_REG4(pi, RADIO_2057,
16550 WRITE_RADIO_REG4(pi, RADIO_2057,
16558 freq = CHAN5G_FREQ(CHSPEC_CHANNEL(
16559 pi->radio_chanspec));
16560 if (((freq >= 5180) && (freq <= 5230))
16561 || ((freq >= 5745) && (freq <= 5805))) {
16562 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
16563 0, IPA5G_BIAS_FILTER,
16565 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
16566 1, IPA5G_BIAS_FILTER,
16572 if (pi->pubpi.radiorev != 5) {
16573 for (coreNum = 0; coreNum <= 1; coreNum++) {
16574 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
16576 TXMIX2G_TUNE_BOOST_PU,
16578 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
16580 TXGM_IDAC_BLEED, 0x70);
16585 if (pi->pubpi.radiorev == 4) {
16586 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
16588 &afectrl_adc_ctrl1_rev7);
16589 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
16591 &afectrl_adc_ctrl1_rev7);
16593 for (coreNum = 0; coreNum <= 1; coreNum++) {
16594 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
16595 AFE_VCM_CAL_MASTER, 0x0);
16596 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
16597 AFE_SET_VCM_I, 0x3f);
16598 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
16599 AFE_SET_VCM_Q, 0x3f);
16602 mod_phy_reg(pi, 0xa6, (0x1 << 2), (0x1 << 2));
16603 mod_phy_reg(pi, 0x8f, (0x1 << 2), (0x1 << 2));
16604 mod_phy_reg(pi, 0xa7, (0x1 << 2), (0x1 << 2));
16605 mod_phy_reg(pi, 0xa5, (0x1 << 2), (0x1 << 2));
16607 mod_phy_reg(pi, 0xa6, (0x1 << 0), 0);
16608 mod_phy_reg(pi, 0x8f, (0x1 << 0), (0x1 << 0));
16609 mod_phy_reg(pi, 0xa7, (0x1 << 0), 0);
16610 mod_phy_reg(pi, 0xa5, (0x1 << 0), (0x1 << 0));
16612 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
16614 &afectrl_adc_ctrl2_rev7);
16615 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
16617 &afectrl_adc_ctrl2_rev7);
16619 mod_phy_reg(pi, 0xa6, (0x1 << 2), 0);
16620 mod_phy_reg(pi, 0x8f, (0x1 << 2), 0);
16621 mod_phy_reg(pi, 0xa7, (0x1 << 2), 0);
16622 mod_phy_reg(pi, 0xa5, (0x1 << 2), 0);
16625 write_phy_reg(pi, 0x6a, 0x2);
16627 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 256, 32,
16628 &min_nvar_offset_6mbps);
16630 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x138, 16,
16631 &rfseq_pktgn_lpf_hpc_rev7);
16633 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1, 0x141, 16,
16634 &rfseq_pktgn_lpf_h_hpc_rev7);
16636 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 3, 0x133, 16,
16637 &rfseq_htpktgn_lpf_hpc_rev7);
16639 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x146, 16,
16640 &rfseq_cckpktgn_lpf_hpc_rev7);
16642 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1, 0x123, 16,
16643 &rfseq_tx2rx_lpf_h_hpc_rev7);
16645 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1, 0x12A, 16,
16646 &rfseq_rx2tx_lpf_h_hpc_rev7);
16648 if (CHSPEC_IS40(pi->radio_chanspec) == 0) {
16649 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
16650 32, &min_nvar_val);
16651 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
16652 127, 32, &min_nvar_val);
16654 min_nvar_val = noise_var_tbl_rev7[3];
16655 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
16656 32, &min_nvar_val);
16658 min_nvar_val = noise_var_tbl_rev7[127];
16659 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
16660 127, 32, &min_nvar_val);
16663 wlc_phy_workarounds_nphy_gainctrl(pi);
16666 (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.
16667 pdetrange : pi->srom_fem2g.pdetrange;
16669 if (pdetrange == 0) {
16671 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16672 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
16673 aux_adc_vmid_rev7_core0[3] = 0x70;
16674 aux_adc_vmid_rev7_core1[3] = 0x70;
16675 aux_adc_gain_rev7[3] = 2;
16677 aux_adc_vmid_rev7_core0[3] = 0x80;
16678 aux_adc_vmid_rev7_core1[3] = 0x80;
16679 aux_adc_gain_rev7[3] = 3;
16681 } else if (pdetrange == 1) {
16682 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
16683 aux_adc_vmid_rev7_core0[3] = 0x7c;
16684 aux_adc_vmid_rev7_core1[3] = 0x7c;
16685 aux_adc_gain_rev7[3] = 2;
16687 aux_adc_vmid_rev7_core0[3] = 0x8c;
16688 aux_adc_vmid_rev7_core1[3] = 0x8c;
16689 aux_adc_gain_rev7[3] = 1;
16691 } else if (pdetrange == 2) {
16692 if (pi->pubpi.radioid == BCM2057_ID) {
16693 if ((pi->pubpi.radiorev == 5)
16694 || (pi->pubpi.radiorev == 7)
16695 || (pi->pubpi.radiorev == 8)) {
16696 if (chan_freq_range ==
16697 WL_CHAN_FREQ_RANGE_2G) {
16698 aux_adc_vmid_rev7_core0[3] =
16700 aux_adc_vmid_rev7_core1[3] =
16702 aux_adc_gain_rev7[3] = 0;
16704 aux_adc_vmid_rev7_core0[3] =
16706 aux_adc_vmid_rev7_core1[3] =
16708 aux_adc_gain_rev7[3] = 0;
16713 } else if (pdetrange == 3) {
16714 if (chan_freq_range == WL_CHAN_FREQ_RANGE_2G) {
16715 aux_adc_vmid_rev7_core0[3] = 0x89;
16716 aux_adc_vmid_rev7_core1[3] = 0x89;
16717 aux_adc_gain_rev7[3] = 0;
16720 } else if (pdetrange == 5) {
16722 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
16723 aux_adc_vmid_rev7_core0[3] = 0x80;
16724 aux_adc_vmid_rev7_core1[3] = 0x80;
16725 aux_adc_gain_rev7[3] = 3;
16727 aux_adc_vmid_rev7_core0[3] = 0x70;
16728 aux_adc_vmid_rev7_core1[3] = 0x70;
16729 aux_adc_gain_rev7[3] = 2;
16733 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x08, 16,
16734 &aux_adc_vmid_rev7_core0);
16735 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x18, 16,
16736 &aux_adc_vmid_rev7_core1);
16737 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x0c, 16,
16738 &aux_adc_gain_rev7);
16739 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x1c, 16,
16740 &aux_adc_gain_rev7);
16742 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
16744 write_phy_reg(pi, 0x23f, 0x1f8);
16745 write_phy_reg(pi, 0x240, 0x1f8);
16747 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
16748 1, 0, 32, &leg_data_weights);
16749 leg_data_weights = leg_data_weights & 0xffffff;
16750 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
16751 1, 0, 32, &leg_data_weights);
16759 write_phy_reg(pi, 0x145, alpha0);
16760 write_phy_reg(pi, 0x146, alpha1);
16761 write_phy_reg(pi, 0x147, alpha2);
16762 write_phy_reg(pi, 0x148, beta0);
16763 write_phy_reg(pi, 0x149, beta1);
16764 write_phy_reg(pi, 0x14a, beta2);
16766 write_phy_reg(pi, 0x38, 0xC);
16767 write_phy_reg(pi, 0x2ae, 0xC);
16769 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_TX2RX,
16770 rfseq_tx2rx_events_rev3,
16771 rfseq_tx2rx_dlys_rev3,
16772 sizeof(rfseq_tx2rx_events_rev3) /
16773 sizeof(rfseq_tx2rx_events_rev3[0]));
16776 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX,
16777 rfseq_rx2tx_events_rev3_ipa,
16778 rfseq_rx2tx_dlys_rev3_ipa,
16780 (rfseq_rx2tx_events_rev3_ipa) /
16782 (rfseq_rx2tx_events_rev3_ipa
16785 if ((pi->sh->hw_phyrxchain != 0x3) &&
16786 (pi->sh->hw_phyrxchain != pi->sh->hw_phytxchain)) {
16789 rfseq_rx2tx_dlys_rev3[5] = 59;
16790 rfseq_rx2tx_dlys_rev3[6] = 1;
16791 rfseq_rx2tx_events_rev3[7] =
16792 NPHY_REV3_RFSEQ_CMD_END;
16795 wlc_phy_set_rfseq_nphy(
16796 pi, NPHY_RFSEQ_RX2TX,
16797 rfseq_rx2tx_events_rev3,
16798 rfseq_rx2tx_dlys_rev3,
16799 sizeof(rfseq_rx2tx_events_rev3) /
16800 sizeof(rfseq_rx2tx_events_rev3[0]));
16803 if (CHSPEC_IS2G(pi->radio_chanspec))
16804 write_phy_reg(pi, 0x6a, 0x2);
16806 write_phy_reg(pi, 0x6a, 0x9c40);
16808 mod_phy_reg(pi, 0x294, (0xf << 8), (7 << 8));
16810 if (CHSPEC_IS40(pi->radio_chanspec) == 0) {
16811 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
16812 32, &min_nvar_val);
16813 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
16814 127, 32, &min_nvar_val);
16816 min_nvar_val = noise_var_tbl_rev3[3];
16817 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
16818 32, &min_nvar_val);
16820 min_nvar_val = noise_var_tbl_rev3[127];
16821 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
16822 127, 32, &min_nvar_val);
16825 wlc_phy_workarounds_nphy_gainctrl(pi);
16827 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x00, 16,
16829 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x10, 16,
16833 (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.
16834 pdetrange : pi->srom_fem2g.pdetrange;
16836 if (pdetrange == 0) {
16837 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
16838 aux_adc_vmid = aux_adc_vmid_rev4;
16839 aux_adc_gain = aux_adc_gain_rev4;
16841 aux_adc_vmid = aux_adc_vmid_rev3;
16842 aux_adc_gain = aux_adc_gain_rev3;
16845 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16846 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
16847 switch (chan_freq_range) {
16848 case WL_CHAN_FREQ_RANGE_5GL:
16849 aux_adc_vmid[3] = 0x89;
16850 aux_adc_gain[3] = 0;
16852 case WL_CHAN_FREQ_RANGE_5GM:
16853 aux_adc_vmid[3] = 0x89;
16854 aux_adc_gain[3] = 0;
16856 case WL_CHAN_FREQ_RANGE_5GH:
16857 aux_adc_vmid[3] = 0x89;
16858 aux_adc_gain[3] = 0;
16864 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16865 0x08, 16, aux_adc_vmid);
16866 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16867 0x18, 16, aux_adc_vmid);
16868 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16869 0x0c, 16, aux_adc_gain);
16870 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16871 0x1c, 16, aux_adc_gain);
16872 } else if (pdetrange == 1) {
16873 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16874 0x08, 16, sk_adc_vmid);
16875 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16876 0x18, 16, sk_adc_vmid);
16877 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16878 0x0c, 16, sk_adc_gain);
16879 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16880 0x1c, 16, sk_adc_gain);
16881 } else if (pdetrange == 2) {
16883 u16 bcm_adc_vmid[] = { 0xa2, 0xb4, 0xb4, 0x74 };
16884 u16 bcm_adc_gain[] = { 0x02, 0x02, 0x02, 0x04 };
16886 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16888 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16889 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
16890 bcm_adc_vmid[3] = 0x8e;
16891 bcm_adc_gain[3] = 0x03;
16893 bcm_adc_vmid[3] = 0x94;
16894 bcm_adc_gain[3] = 0x03;
16896 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
16897 bcm_adc_vmid[3] = 0x84;
16898 bcm_adc_gain[3] = 0x02;
16901 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16902 0x08, 16, bcm_adc_vmid);
16903 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16904 0x18, 16, bcm_adc_vmid);
16905 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16906 0x0c, 16, bcm_adc_gain);
16907 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16908 0x1c, 16, bcm_adc_gain);
16909 } else if (pdetrange == 3) {
16911 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16912 if ((NREV_GE(pi->pubpi.phy_rev, 4))
16913 && (chan_freq_range == WL_CHAN_FREQ_RANGE_2G)) {
16915 u16 auxadc_vmid[] = {
16916 0xa2, 0xb4, 0xb4, 0x270
16918 u16 auxadc_gain[] = {
16919 0x02, 0x02, 0x02, 0x00
16922 wlc_phy_table_write_nphy(pi,
16923 NPHY_TBL_ID_AFECTRL, 4,
16924 0x08, 16, auxadc_vmid);
16925 wlc_phy_table_write_nphy(pi,
16926 NPHY_TBL_ID_AFECTRL, 4,
16927 0x18, 16, auxadc_vmid);
16928 wlc_phy_table_write_nphy(pi,
16929 NPHY_TBL_ID_AFECTRL, 4,
16930 0x0c, 16, auxadc_gain);
16931 wlc_phy_table_write_nphy(pi,
16932 NPHY_TBL_ID_AFECTRL, 4,
16933 0x1c, 16, auxadc_gain);
16935 } else if ((pdetrange == 4) || (pdetrange == 5)) {
16936 u16 bcm_adc_vmid[] = { 0xa2, 0xb4, 0xb4, 0x0 };
16937 u16 bcm_adc_gain[] = { 0x02, 0x02, 0x02, 0x0 };
16938 u16 Vmid[2], Av[2];
16941 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16942 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
16943 Vmid[0] = (pdetrange == 4) ? 0x8e : 0x89;
16944 Vmid[1] = (pdetrange == 4) ? 0x96 : 0x89;
16945 Av[0] = (pdetrange == 4) ? 2 : 0;
16946 Av[1] = (pdetrange == 4) ? 2 : 0;
16948 Vmid[0] = (pdetrange == 4) ? 0x89 : 0x74;
16949 Vmid[1] = (pdetrange == 4) ? 0x8b : 0x70;
16950 Av[0] = (pdetrange == 4) ? 2 : 0;
16951 Av[1] = (pdetrange == 4) ? 2 : 0;
16954 bcm_adc_vmid[3] = Vmid[0];
16955 bcm_adc_gain[3] = Av[0];
16956 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16957 0x08, 16, bcm_adc_vmid);
16958 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16959 0x0c, 16, bcm_adc_gain);
16961 bcm_adc_vmid[3] = Vmid[1];
16962 bcm_adc_gain[3] = Av[1];
16963 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16964 0x18, 16, bcm_adc_vmid);
16965 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16966 0x1c, 16, bcm_adc_gain);
16969 write_radio_reg(pi,
16970 (RADIO_2056_RX_MIXA_MAST_BIAS | RADIO_2056_RX0),
16972 write_radio_reg(pi,
16973 (RADIO_2056_RX_MIXA_MAST_BIAS | RADIO_2056_RX1),
16976 write_radio_reg(pi,
16977 (RADIO_2056_RX_MIXA_BIAS_MAIN | RADIO_2056_RX0),
16979 write_radio_reg(pi,
16980 (RADIO_2056_RX_MIXA_BIAS_MAIN | RADIO_2056_RX1),
16983 write_radio_reg(pi,
16984 (RADIO_2056_RX_MIXA_BIAS_AUX | RADIO_2056_RX0),
16986 write_radio_reg(pi,
16987 (RADIO_2056_RX_MIXA_BIAS_AUX | RADIO_2056_RX1),
16990 write_radio_reg(pi,
16991 (RADIO_2056_RX_MIXA_LOB_BIAS | RADIO_2056_RX0),
16993 write_radio_reg(pi,
16994 (RADIO_2056_RX_MIXA_LOB_BIAS | RADIO_2056_RX1),
16997 write_radio_reg(pi,
16998 (RADIO_2056_RX_MIXA_CMFB_IDAC | RADIO_2056_RX0),
17000 write_radio_reg(pi,
17001 (RADIO_2056_RX_MIXA_CMFB_IDAC | RADIO_2056_RX1),
17004 write_radio_reg(pi,
17005 (RADIO_2056_RX_MIXG_CMFB_IDAC | RADIO_2056_RX0),
17007 write_radio_reg(pi,
17008 (RADIO_2056_RX_MIXG_CMFB_IDAC | RADIO_2056_RX1),
17012 (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.
17013 triso : pi->srom_fem2g.triso;
17015 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_0);
17016 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_1);
17019 wlc_phy_war_txchain_upd_nphy(pi, pi->sh->hw_phytxchain);
17021 if (((pi->sh->boardflags2 & BFL2_APLL_WAR) &&
17022 (CHSPEC_IS5G(pi->radio_chanspec))) ||
17023 (((pi->sh->boardflags2 & BFL2_GPLL_WAR) ||
17024 (pi->sh->boardflags2 & BFL2_GPLL_WAR2)) &&
17025 (CHSPEC_IS2G(pi->radio_chanspec)))) {
17026 nss1_data_weights = 0x00088888;
17027 ht_data_weights = 0x00088888;
17028 stbc_data_weights = 0x00088888;
17030 nss1_data_weights = 0x88888888;
17031 ht_data_weights = 0x88888888;
17032 stbc_data_weights = 0x88888888;
17034 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
17035 1, 1, 32, &nss1_data_weights);
17036 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
17037 1, 2, 32, &ht_data_weights);
17038 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
17039 1, 3, 32, &stbc_data_weights);
17041 if (NREV_IS(pi->pubpi.phy_rev, 4)) {
17042 if (CHSPEC_IS5G(pi->radio_chanspec)) {
17043 write_radio_reg(pi,
17044 RADIO_2056_TX_GMBB_IDAC |
17045 RADIO_2056_TX0, 0x70);
17046 write_radio_reg(pi,
17047 RADIO_2056_TX_GMBB_IDAC |
17048 RADIO_2056_TX1, 0x70);
17052 if (!pi->edcrs_threshold_lock) {
17053 write_phy_reg(pi, 0x224, 0x3eb);
17054 write_phy_reg(pi, 0x225, 0x3eb);
17055 write_phy_reg(pi, 0x226, 0x341);
17056 write_phy_reg(pi, 0x227, 0x341);
17057 write_phy_reg(pi, 0x228, 0x42b);
17058 write_phy_reg(pi, 0x229, 0x42b);
17059 write_phy_reg(pi, 0x22a, 0x381);
17060 write_phy_reg(pi, 0x22b, 0x381);
17061 write_phy_reg(pi, 0x22c, 0x42b);
17062 write_phy_reg(pi, 0x22d, 0x42b);
17063 write_phy_reg(pi, 0x22e, 0x381);
17064 write_phy_reg(pi, 0x22f, 0x381);
17067 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
17069 if (pi->sh->boardflags2 & BFL2_SINGLEANT_CCK)
17070 wlapi_bmac_mhf(pi->sh->physhim, MHF4,
17072 MHF4_BPHY_TXCORE0, BRCM_BAND_ALL);
17076 if (pi->sh->boardflags2 & BFL2_SKWRKFEM_BRD ||
17077 (pi->sh->boardtype == 0x8b)) {
17079 u8 war_dlys[] = { 1, 6, 6, 2, 4, 20, 1 };
17080 for (i = 0; i < ARRAY_SIZE(rfseq_rx2tx_dlys); i++)
17081 rfseq_rx2tx_dlys[i] = war_dlys[i];
17084 if (CHSPEC_IS5G(pi->radio_chanspec) && pi->phy_5g_pwrgain) {
17085 and_radio_reg(pi, RADIO_2055_CORE1_TX_RF_SPARE, 0xf7);
17086 and_radio_reg(pi, RADIO_2055_CORE2_TX_RF_SPARE, 0xf7);
17088 or_radio_reg(pi, RADIO_2055_CORE1_TX_RF_SPARE, 0x8);
17089 or_radio_reg(pi, RADIO_2055_CORE2_TX_RF_SPARE, 0x8);
17093 wlc_phy_table_write_nphy(pi, 8, 1, 0, 16, ®val);
17094 wlc_phy_table_write_nphy(pi, 8, 1, 0x10, 16, ®val);
17096 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
17098 wlc_phy_table_write_nphy(pi, 8, 1, 0x02, 16, ®val);
17099 wlc_phy_table_write_nphy(pi, 8, 1, 0x12, 16, ®val);
17102 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
17104 wlc_phy_table_write_nphy(pi, 8, 1, 0x08, 16, ®val);
17105 wlc_phy_table_write_nphy(pi, 8, 1, 0x18, 16, ®val);
17108 wlc_phy_table_write_nphy(pi, 8, 1, 0x07, 16, ®val);
17109 wlc_phy_table_write_nphy(pi, 8, 1, 0x17, 16, ®val);
17112 wlc_phy_table_write_nphy(pi, 8, 1, 0x06, 16, ®val);
17113 wlc_phy_table_write_nphy(pi, 8, 1, 0x16, 16, ®val);
17116 write_phy_reg(pi, 0xf8, 0x02d8);
17117 write_phy_reg(pi, 0xf9, 0x0301);
17118 write_phy_reg(pi, 0xfa, 0x02d8);
17119 write_phy_reg(pi, 0xfb, 0x0301);
17121 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX, rfseq_rx2tx_events,
17123 sizeof(rfseq_rx2tx_events) /
17124 sizeof(rfseq_rx2tx_events[0]));
17126 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_TX2RX, rfseq_tx2rx_events,
17128 sizeof(rfseq_tx2rx_events) /
17129 sizeof(rfseq_tx2rx_events[0]));
17131 wlc_phy_workarounds_nphy_gainctrl(pi);
17133 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
17135 if (read_phy_reg(pi, 0xa0) & NPHY_MLenable)
17136 wlapi_bmac_mhf(pi->sh->physhim, MHF3,
17137 MHF3_NPHY_MLADV_WAR,
17138 MHF3_NPHY_MLADV_WAR,
17141 } else if (NREV_IS(pi->pubpi.phy_rev, 2)) {
17142 write_phy_reg(pi, 0x1e3, 0x0);
17143 write_phy_reg(pi, 0x1e4, 0x0);
17146 if (NREV_LT(pi->pubpi.phy_rev, 2))
17147 mod_phy_reg(pi, 0x90, (0x1 << 7), 0);
17155 write_phy_reg(pi, 0x145, alpha0);
17156 write_phy_reg(pi, 0x146, alpha1);
17157 write_phy_reg(pi, 0x147, alpha2);
17158 write_phy_reg(pi, 0x148, beta0);
17159 write_phy_reg(pi, 0x149, beta1);
17160 write_phy_reg(pi, 0x14a, beta2);
17162 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
17163 mod_phy_reg(pi, 0x142, (0xf << 12), 0);
17165 write_phy_reg(pi, 0x192, 0xb5);
17166 write_phy_reg(pi, 0x193, 0xa4);
17167 write_phy_reg(pi, 0x194, 0x0);
17170 if (NREV_IS(pi->pubpi.phy_rev, 2))
17171 mod_phy_reg(pi, 0x221,
17172 NPHY_FORCESIG_DECODEGATEDCLKS,
17173 NPHY_FORCESIG_DECODEGATEDCLKS);
17176 if (pi->phyhang_avoid)
17177 wlc_phy_stay_in_carriersearch_nphy(pi, false);
17180 static void wlc_phy_extpa_set_tx_digi_filts_nphy(struct brcms_phy *pi)
17183 u16 addr_offset = 0x2c5;
17185 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++)
17186 write_phy_reg(pi, addr_offset + j,
17187 NPHY_IPA_REV4_txdigi_filtcoeffs[type][j]);
17190 static void wlc_phy_clip_det_nphy(struct brcms_phy *pi, u8 write, u16 *vals)
17194 vals[0] = read_phy_reg(pi, 0x2c);
17195 vals[1] = read_phy_reg(pi, 0x42);
17197 write_phy_reg(pi, 0x2c, vals[0]);
17198 write_phy_reg(pi, 0x42, vals[1]);
17202 static void wlc_phy_ipa_internal_tssi_setup_nphy(struct brcms_phy *pi)
17206 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
17207 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
17208 if (CHSPEC_IS2G(pi->radio_chanspec)) {
17209 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
17210 TX_SSI_MASTER, 0x5);
17211 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
17214 if (pi->pubpi.radiorev != 5)
17215 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
17218 if (!NREV_IS(pi->pubpi.phy_rev, 7))
17219 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
17222 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
17223 core, TSSIG, 0x31);
17225 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
17226 TX_SSI_MASTER, 0x9);
17227 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
17229 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
17232 if (pi->pubpi.radiorev != 5) {
17233 if (!NREV_IS(pi->pubpi.phy_rev, 7))
17234 WRITE_RADIO_REG3(pi, RADIO_2057,
17238 WRITE_RADIO_REG3(pi, RADIO_2057,
17243 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_VCM_HG,
17245 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_IDAC,
17247 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_VCM,
17249 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_MISC1,
17253 WRITE_RADIO_SYN(pi, RADIO_2056, RESERVED_ADDR31,
17254 (CHSPEC_IS2G(pi->radio_chanspec)) ? 0x128 :
17256 WRITE_RADIO_SYN(pi, RADIO_2056, RESERVED_ADDR30, 0x0);
17257 WRITE_RADIO_SYN(pi, RADIO_2056, GPIO_MASTER1, 0x29);
17259 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
17260 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, IQCAL_VCM_HG,
17262 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, IQCAL_IDAC,
17264 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_VCM,
17266 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TX_AMP_DET,
17268 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_MISC1,
17270 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_MISC2,
17272 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_MISC3,
17275 if (CHSPEC_IS2G(pi->radio_chanspec)) {
17276 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
17277 TX_SSI_MASTER, 0x5);
17279 if (pi->pubpi.radiorev != 5)
17280 WRITE_RADIO_REG2(pi, RADIO_2056, TX,
17282 if (NREV_GE(pi->pubpi.phy_rev, 5))
17283 WRITE_RADIO_REG2(pi, RADIO_2056, TX,
17284 core, TSSIG, 0x31);
17286 WRITE_RADIO_REG2(pi, RADIO_2056, TX,
17287 core, TSSIG, 0x11);
17288 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
17291 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
17292 TX_SSI_MASTER, 0x9);
17293 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
17295 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
17297 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
17305 wlc_phy_rfctrl_override_nphy(struct brcms_phy *pi, u16 field, u16 value,
17306 u8 core_mask, u8 off)
17309 u16 addr = 0, mask = 0, en_addr = 0, val_addr = 0, en_mask =
17311 u8 shift = 0, val_shift = 0;
17313 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
17316 for (core_num = 0; core_num < 2; core_num++) {
17320 en_addr = (core_num == 0) ? 0xe7 : 0xec;
17321 val_addr = (core_num == 0) ? 0x7a : 0x7d;
17322 val_mask = (0x1 << 0);
17326 en_addr = (core_num == 0) ? 0xe7 : 0xec;
17327 val_addr = (core_num == 0) ? 0x7a : 0x7d;
17328 val_mask = (0x1 << 1);
17332 en_addr = (core_num == 0) ? 0xe7 : 0xec;
17333 val_addr = (core_num == 0) ? 0x7a : 0x7d;
17334 val_mask = (0x1 << 2);
17338 en_addr = (core_num == 0) ? 0xe7 : 0xec;
17339 val_addr = (core_num == 0) ? 0x7a : 0x7d;
17340 val_mask = (0x1 << 4);
17344 en_addr = (core_num == 0) ? 0xe7 : 0xec;
17345 val_addr = (core_num == 0) ? 0x7a : 0x7d;
17346 val_mask = (0x1 << 5);
17350 en_addr = (core_num == 0) ? 0xe7 : 0xec;
17351 val_addr = (core_num == 0) ? 0x7a : 0x7d;
17352 val_mask = (0x1 << 6);
17356 en_addr = (core_num == 0) ? 0xe7 : 0xec;
17357 val_addr = (core_num == 0) ? 0x7a : 0x7d;
17358 val_mask = (0x1 << 7);
17362 en_addr = (core_num == 0) ? 0xe7 : 0xec;
17363 val_addr = (core_num == 0) ? 0x7a : 0x7d;
17364 val_mask = (0x7 << 8);
17368 en_addr = (core_num == 0) ? 0xe7 : 0xec;
17369 val_addr = (core_num == 0) ? 0x7a : 0x7d;
17370 val_mask = (0x7 << 13);
17375 en_addr = (core_num == 0) ? 0xe7 : 0xec;
17376 val_addr = (core_num == 0) ? 0xf8 : 0xfa;
17377 val_mask = (0x7 << 0);
17382 en_addr = (core_num == 0) ? 0xe7 : 0xec;
17383 val_addr = (core_num == 0) ? 0xf8 : 0xfa;
17384 val_mask = (0x7 << 4);
17389 en_addr = (core_num == 0) ? 0xe7 : 0xec;
17390 val_addr = (core_num == 0) ? 0x7b : 0x7e;
17391 val_mask = (0xffff << 0);
17395 en_addr = (core_num == 0) ? 0xe7 : 0xec;
17396 val_addr = (core_num == 0) ? 0x7c : 0x7f;
17397 val_mask = (0xffff << 0);
17401 en_addr = (core_num == 0) ? 0xe7 : 0xec;
17402 val_addr = (core_num == 0) ? 0xf9 : 0xfb;
17403 val_mask = (0x3 << 6);
17407 en_addr = (core_num == 0) ? 0xe5 : 0xe6;
17408 val_addr = (core_num == 0) ? 0xf9 : 0xfb;
17409 val_mask = (0x1 << 15);
17418 and_phy_reg(pi, en_addr, ~en_mask);
17419 and_phy_reg(pi, val_addr, ~val_mask);
17422 if ((core_mask == 0)
17423 || (core_mask & (1 << core_num))) {
17424 or_phy_reg(pi, en_addr, en_mask);
17426 if (addr != 0xffff)
17427 mod_phy_reg(pi, val_addr,
17437 and_phy_reg(pi, 0xec, ~field);
17440 or_phy_reg(pi, 0xec, field);
17443 for (core_num = 0; core_num < 2; core_num++) {
17462 addr = (core_num == 0) ? 0x7a : 0x7d;
17465 addr = (core_num == 0) ? 0x7b : 0x7e;
17468 addr = (core_num == 0) ? 0x7c : 0x7f;
17492 mask = (0xf << 12);
17537 if ((addr != 0xffff) && (core_mask & (1 << core_num)))
17538 mod_phy_reg(pi, addr, mask, (value << shift));
17541 or_phy_reg(pi, 0xec, (0x1 << 0));
17542 or_phy_reg(pi, 0x78, (0x1 << 0));
17544 and_phy_reg(pi, 0xec, ~(0x1 << 0));
17548 static void wlc_phy_txpwrctrl_idle_tssi_nphy(struct brcms_phy *pi)
17553 if (SCAN_RM_IN_PROGRESS(pi) || PLT_INPROG_PHY(pi) || PHY_MUTED(pi))
17558 wlc_phy_ipa_internal_tssi_setup_nphy(pi);
17560 if (NREV_GE(pi->pubpi.phy_rev, 7))
17561 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12),
17563 NPHY_REV7_RFCTRLOVERRIDE_ID0);
17564 else if (NREV_GE(pi->pubpi.phy_rev, 3))
17565 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 13), 0, 3, 0);
17567 wlc_phy_stopplayback_nphy(pi);
17569 wlc_phy_tx_tone_nphy(pi, 4000, 0, 0, 0, false);
17573 wlc_phy_poll_rssi_nphy(pi, (u8) NPHY_RSSI_SEL_TSSI_2G, rssi_buf,
17575 wlc_phy_stopplayback_nphy(pi);
17576 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_OFF, 0);
17578 if (NREV_GE(pi->pubpi.phy_rev, 7))
17579 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12),
17581 NPHY_REV7_RFCTRLOVERRIDE_ID0);
17582 else if (NREV_GE(pi->pubpi.phy_rev, 3))
17583 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 13), 0, 3, 1);
17585 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
17587 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_2g =
17588 (u8) ((int_val >> 24) & 0xff);
17589 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_5g =
17590 (u8) ((int_val >> 24) & 0xff);
17592 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_2g =
17593 (u8) ((int_val >> 8) & 0xff);
17594 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_5g =
17595 (u8) ((int_val >> 8) & 0xff);
17597 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_2g =
17598 (u8) ((int_val >> 24) & 0xff);
17600 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_2g =
17601 (u8) ((int_val >> 8) & 0xff);
17603 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_5g =
17604 (u8) ((int_val >> 16) & 0xff);
17605 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_5g =
17606 (u8) ((int_val) & 0xff);
17611 static void wlc_phy_txpwr_limit_to_tbl_nphy(struct brcms_phy *pi)
17613 u8 idx, idx2, i, delta_ind;
17615 for (idx = TXP_FIRST_CCK; idx <= TXP_LAST_CCK; idx++)
17616 pi->adj_pwr_tbl_nphy[idx] = pi->tx_power_offset[idx];
17618 for (i = 0; i < 4; i++) {
17626 if (CHSPEC_IS40(pi->radio_chanspec)
17627 && NPHY_IS_SROM_REINTERPRET) {
17628 idx = TXP_FIRST_MCS_40_SISO;
17630 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
17631 TXP_FIRST_OFDM_40_SISO : TXP_FIRST_OFDM;
17638 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
17639 TXP_FIRST_MCS_40_CDD : TXP_FIRST_MCS_20_CDD;
17644 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
17645 TXP_FIRST_MCS_40_STBC : TXP_FIRST_MCS_20_STBC;
17650 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
17651 TXP_FIRST_MCS_40_SDM : TXP_FIRST_MCS_20_SDM;
17655 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
17656 pi->tx_power_offset[idx];
17657 idx = idx + delta_ind;
17658 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
17659 pi->tx_power_offset[idx];
17660 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
17661 pi->tx_power_offset[idx];
17662 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
17663 pi->tx_power_offset[idx++];
17665 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
17666 pi->tx_power_offset[idx++];
17667 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
17668 pi->tx_power_offset[idx];
17669 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
17670 pi->tx_power_offset[idx];
17671 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
17672 pi->tx_power_offset[idx++];
17674 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
17675 pi->tx_power_offset[idx++];
17676 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
17677 pi->tx_power_offset[idx];
17678 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
17679 pi->tx_power_offset[idx];
17680 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
17681 pi->tx_power_offset[idx++];
17683 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
17684 pi->tx_power_offset[idx];
17685 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
17686 pi->tx_power_offset[idx++];
17687 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
17688 pi->tx_power_offset[idx];
17689 idx = idx + 1 - delta_ind;
17690 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
17691 pi->tx_power_offset[idx];
17693 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
17694 pi->tx_power_offset[idx];
17695 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
17696 pi->tx_power_offset[idx];
17697 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
17698 pi->tx_power_offset[idx];
17699 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
17700 pi->tx_power_offset[idx];
17704 static void wlc_phy_txpwrctrl_pwr_setup_nphy(struct brcms_phy *pi)
17707 s16 a1[2], b0[2], b1[2];
17708 s8 target_pwr_qtrdbm[2];
17709 s32 num, den, pwr_est;
17710 u8 chan_freq_range;
17712 u32 tbl_id, tbl_len, tbl_offset;
17716 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12)) {
17717 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, MCTL_PHYLOCK);
17718 (void)R_REG(&pi->regs->maccontrol);
17722 if (pi->phyhang_avoid)
17723 wlc_phy_stay_in_carriersearch_nphy(pi, true);
17725 or_phy_reg(pi, 0x122, (0x1 << 0));
17727 if (NREV_GE(pi->pubpi.phy_rev, 3))
17728 and_phy_reg(pi, 0x1e7, (u16) (~(0x1 << 15)));
17730 or_phy_reg(pi, 0x1e7, (0x1 << 15));
17732 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12))
17733 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, 0);
17735 if (pi->sh->sromrev < 4) {
17736 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_2g;
17737 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_2g;
17738 target_pwr_qtrdbm[0] = 13 * 4;
17739 target_pwr_qtrdbm[1] = 13 * 4;
17748 chan_freq_range = wlc_phy_get_chan_freq_range_nphy(pi, 0);
17749 switch (chan_freq_range) {
17750 case WL_CHAN_FREQ_RANGE_2G:
17751 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_2g;
17752 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_2g;
17753 target_pwr_qtrdbm[0] =
17754 pi->nphy_pwrctrl_info[0].max_pwr_2g;
17755 target_pwr_qtrdbm[1] =
17756 pi->nphy_pwrctrl_info[1].max_pwr_2g;
17757 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_2g_a1;
17758 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_2g_a1;
17759 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_2g_b0;
17760 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_2g_b0;
17761 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_2g_b1;
17762 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_2g_b1;
17764 case WL_CHAN_FREQ_RANGE_5GL:
17765 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_5g;
17766 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_5g;
17767 target_pwr_qtrdbm[0] =
17768 pi->nphy_pwrctrl_info[0].max_pwr_5gl;
17769 target_pwr_qtrdbm[1] =
17770 pi->nphy_pwrctrl_info[1].max_pwr_5gl;
17771 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gl_a1;
17772 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gl_a1;
17773 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gl_b0;
17774 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gl_b0;
17775 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gl_b1;
17776 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gl_b1;
17778 case WL_CHAN_FREQ_RANGE_5GM:
17779 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_5g;
17780 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_5g;
17781 target_pwr_qtrdbm[0] =
17782 pi->nphy_pwrctrl_info[0].max_pwr_5gm;
17783 target_pwr_qtrdbm[1] =
17784 pi->nphy_pwrctrl_info[1].max_pwr_5gm;
17785 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gm_a1;
17786 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gm_a1;
17787 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gm_b0;
17788 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gm_b0;
17789 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gm_b1;
17790 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gm_b1;
17792 case WL_CHAN_FREQ_RANGE_5GH:
17793 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_5g;
17794 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_5g;
17795 target_pwr_qtrdbm[0] =
17796 pi->nphy_pwrctrl_info[0].max_pwr_5gh;
17797 target_pwr_qtrdbm[1] =
17798 pi->nphy_pwrctrl_info[1].max_pwr_5gh;
17799 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gh_a1;
17800 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gh_a1;
17801 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gh_b0;
17802 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gh_b0;
17803 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gh_b1;
17804 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gh_b1;
17807 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_2g;
17808 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_2g;
17809 target_pwr_qtrdbm[0] = 13 * 4;
17810 target_pwr_qtrdbm[1] = 13 * 4;
17821 target_pwr_qtrdbm[0] = (s8) pi->tx_power_max;
17822 target_pwr_qtrdbm[1] = (s8) pi->tx_power_max;
17824 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
17825 if (pi->srom_fem2g.tssipos)
17826 or_phy_reg(pi, 0x1e9, (0x1 << 14));
17828 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
17829 for (core = 0; core <= 1; core++) {
17831 if (CHSPEC_IS2G(pi->radio_chanspec))
17832 WRITE_RADIO_REG3(pi, RADIO_2057,
17837 WRITE_RADIO_REG3(pi, RADIO_2057,
17846 write_radio_reg(pi, RADIO_2056_TX_TX_SSI_MUX |
17849 (pi->radio_chanspec)) ?
17851 write_radio_reg(pi,
17852 RADIO_2056_TX_TX_SSI_MUX |
17855 (pi->radio_chanspec)) ?
17859 write_radio_reg(pi, RADIO_2056_TX_TX_SSI_MUX |
17860 RADIO_2056_TX0, 0x11);
17861 write_radio_reg(pi, RADIO_2056_TX_TX_SSI_MUX |
17862 RADIO_2056_TX1, 0x11);
17867 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12)) {
17868 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, MCTL_PHYLOCK);
17869 (void)R_REG(&pi->regs->maccontrol);
17873 if (NREV_GE(pi->pubpi.phy_rev, 7))
17874 mod_phy_reg(pi, 0x1e7, (0x7f << 0),
17875 (NPHY_TxPwrCtrlCmd_pwrIndex_init_rev7 << 0));
17877 mod_phy_reg(pi, 0x1e7, (0x7f << 0),
17878 (NPHY_TxPwrCtrlCmd_pwrIndex_init << 0));
17880 if (NREV_GE(pi->pubpi.phy_rev, 7))
17881 mod_phy_reg(pi, 0x222, (0xff << 0),
17882 (NPHY_TxPwrCtrlCmd_pwrIndex_init_rev7 << 0));
17883 else if (NREV_GT(pi->pubpi.phy_rev, 1))
17884 mod_phy_reg(pi, 0x222, (0xff << 0),
17885 (NPHY_TxPwrCtrlCmd_pwrIndex_init << 0));
17887 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12))
17888 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, 0);
17890 write_phy_reg(pi, 0x1e8, (0x3 << 8) | (240 << 0));
17892 write_phy_reg(pi, 0x1e9,
17893 (1 << 15) | (idle_tssi[0] << 0) | (idle_tssi[1] << 8));
17895 write_phy_reg(pi, 0x1ea,
17896 (target_pwr_qtrdbm[0] << 0) |
17897 (target_pwr_qtrdbm[1] << 8));
17901 for (tbl_id = NPHY_TBL_ID_CORE1TXPWRCTL;
17902 tbl_id <= NPHY_TBL_ID_CORE2TXPWRCTL; tbl_id++) {
17904 for (idx = 0; idx < tbl_len; idx++) {
17906 (16 * b0[tbl_id - 26] + b1[tbl_id - 26] * idx);
17907 den = 32768 + a1[tbl_id - 26] * idx;
17908 pwr_est = max(((4 * num + den / 2) / den), -8);
17909 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
17911 (uint) (31 - idle_tssi[tbl_id - 26] + 1))
17915 [tbl_id - 26] + 1);
17917 regval[idx] = (u32) pwr_est;
17919 wlc_phy_table_write_nphy(pi, tbl_id, tbl_len, tbl_offset, 32,
17923 wlc_phy_txpwr_limit_to_tbl_nphy(pi);
17924 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 84, 64, 8,
17925 pi->adj_pwr_tbl_nphy);
17926 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 84, 64, 8,
17927 pi->adj_pwr_tbl_nphy);
17929 if (pi->phyhang_avoid)
17930 wlc_phy_stay_in_carriersearch_nphy(pi, false);
17933 static u32 *wlc_phy_get_ipa_gaintbl_nphy(struct brcms_phy *pi)
17935 u32 *tx_pwrctrl_tbl = NULL;
17937 if (CHSPEC_IS2G(pi->radio_chanspec)) {
17938 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
17939 if ((pi->pubpi.radiorev == 4)
17940 || (pi->pubpi.radiorev == 6))
17942 nphy_tpc_txgain_ipa_2g_2057rev4n6;
17943 else if (pi->pubpi.radiorev == 3)
17945 nphy_tpc_txgain_ipa_2g_2057rev3;
17946 else if (pi->pubpi.radiorev == 5)
17948 nphy_tpc_txgain_ipa_2g_2057rev5;
17949 else if ((pi->pubpi.radiorev == 7)
17950 || (pi->pubpi.radiorev == 8))
17952 nphy_tpc_txgain_ipa_2g_2057rev7;
17953 } else if (NREV_IS(pi->pubpi.phy_rev, 6)) {
17954 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_rev6;
17955 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
17956 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_rev5;
17958 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa;
17962 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
17963 if ((pi->pubpi.radiorev == 3) ||
17964 (pi->pubpi.radiorev == 4) ||
17965 (pi->pubpi.radiorev == 6))
17966 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_5g_2057;
17967 else if ((pi->pubpi.radiorev == 7)
17968 || (pi->pubpi.radiorev == 8))
17970 nphy_tpc_txgain_ipa_5g_2057rev7;
17972 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_5g;
17976 return tx_pwrctrl_tbl;
17979 static void wlc_phy_restore_rssical_nphy(struct brcms_phy *pi)
17981 if (CHSPEC_IS2G(pi->radio_chanspec)) {
17982 if (pi->nphy_rssical_chanspec_2G == 0)
17985 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
17986 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0,
17987 RADIO_2057_VCM_MASK,
17989 rssical_radio_regs_2G[0]);
17990 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1,
17991 RADIO_2057_VCM_MASK,
17993 rssical_radio_regs_2G[1]);
17996 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX0,
17997 RADIO_2056_VCM_MASK,
17999 rssical_radio_regs_2G[0]);
18001 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX1,
18002 RADIO_2056_VCM_MASK,
18004 rssical_radio_regs_2G[1]);
18007 write_phy_reg(pi, 0x1a6,
18008 pi->rssical_cache.rssical_phyregs_2G[0]);
18009 write_phy_reg(pi, 0x1ac,
18010 pi->rssical_cache.rssical_phyregs_2G[1]);
18011 write_phy_reg(pi, 0x1b2,
18012 pi->rssical_cache.rssical_phyregs_2G[2]);
18013 write_phy_reg(pi, 0x1b8,
18014 pi->rssical_cache.rssical_phyregs_2G[3]);
18015 write_phy_reg(pi, 0x1a4,
18016 pi->rssical_cache.rssical_phyregs_2G[4]);
18017 write_phy_reg(pi, 0x1aa,
18018 pi->rssical_cache.rssical_phyregs_2G[5]);
18019 write_phy_reg(pi, 0x1b0,
18020 pi->rssical_cache.rssical_phyregs_2G[6]);
18021 write_phy_reg(pi, 0x1b6,
18022 pi->rssical_cache.rssical_phyregs_2G[7]);
18023 write_phy_reg(pi, 0x1a5,
18024 pi->rssical_cache.rssical_phyregs_2G[8]);
18025 write_phy_reg(pi, 0x1ab,
18026 pi->rssical_cache.rssical_phyregs_2G[9]);
18027 write_phy_reg(pi, 0x1b1,
18028 pi->rssical_cache.rssical_phyregs_2G[10]);
18029 write_phy_reg(pi, 0x1b7,
18030 pi->rssical_cache.rssical_phyregs_2G[11]);
18033 if (pi->nphy_rssical_chanspec_5G == 0)
18036 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18037 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0,
18038 RADIO_2057_VCM_MASK,
18040 rssical_radio_regs_5G[0]);
18041 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1,
18042 RADIO_2057_VCM_MASK,
18044 rssical_radio_regs_5G[1]);
18047 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX0,
18048 RADIO_2056_VCM_MASK,
18050 rssical_radio_regs_5G[0]);
18052 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX1,
18053 RADIO_2056_VCM_MASK,
18055 rssical_radio_regs_5G[1]);
18058 write_phy_reg(pi, 0x1a6,
18059 pi->rssical_cache.rssical_phyregs_5G[0]);
18060 write_phy_reg(pi, 0x1ac,
18061 pi->rssical_cache.rssical_phyregs_5G[1]);
18062 write_phy_reg(pi, 0x1b2,
18063 pi->rssical_cache.rssical_phyregs_5G[2]);
18064 write_phy_reg(pi, 0x1b8,
18065 pi->rssical_cache.rssical_phyregs_5G[3]);
18066 write_phy_reg(pi, 0x1a4,
18067 pi->rssical_cache.rssical_phyregs_5G[4]);
18068 write_phy_reg(pi, 0x1aa,
18069 pi->rssical_cache.rssical_phyregs_5G[5]);
18070 write_phy_reg(pi, 0x1b0,
18071 pi->rssical_cache.rssical_phyregs_5G[6]);
18072 write_phy_reg(pi, 0x1b6,
18073 pi->rssical_cache.rssical_phyregs_5G[7]);
18074 write_phy_reg(pi, 0x1a5,
18075 pi->rssical_cache.rssical_phyregs_5G[8]);
18076 write_phy_reg(pi, 0x1ab,
18077 pi->rssical_cache.rssical_phyregs_5G[9]);
18078 write_phy_reg(pi, 0x1b1,
18079 pi->rssical_cache.rssical_phyregs_5G[10]);
18080 write_phy_reg(pi, 0x1b7,
18081 pi->rssical_cache.rssical_phyregs_5G[11]);
18085 static void wlc_phy_internal_cal_txgain_nphy(struct brcms_phy *pi)
18089 pi->nphy_txcal_pwr_idx[0] = pi->nphy_cal_orig_pwr_idx[0];
18090 pi->nphy_txcal_pwr_idx[1] = pi->nphy_cal_orig_pwr_idx[0];
18091 wlc_phy_txpwr_index_nphy(pi, 1, pi->nphy_cal_orig_pwr_idx[0], true);
18092 wlc_phy_txpwr_index_nphy(pi, 2, pi->nphy_cal_orig_pwr_idx[1], true);
18094 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
18097 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18098 txcal_gain[0] = (txcal_gain[0] & 0xF000) | 0x0F40;
18099 txcal_gain[1] = (txcal_gain[1] & 0xF000) | 0x0F40;
18101 txcal_gain[0] = (txcal_gain[0] & 0xF000) | 0x0F60;
18102 txcal_gain[1] = (txcal_gain[1] & 0xF000) | 0x0F60;
18105 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
18109 static void wlc_phy_precal_txgain_nphy(struct brcms_phy *pi)
18111 bool save_bbmult = false;
18112 u8 txcal_index_2057_rev5n7 = 0;
18113 u8 txcal_index_2057_rev3n4n6 = 10;
18115 if (pi->use_int_tx_iqlo_cal_nphy) {
18116 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18117 if ((pi->pubpi.radiorev == 3) ||
18118 (pi->pubpi.radiorev == 4) ||
18119 (pi->pubpi.radiorev == 6)) {
18121 pi->nphy_txcal_pwr_idx[0] =
18122 txcal_index_2057_rev3n4n6;
18123 pi->nphy_txcal_pwr_idx[1] =
18124 txcal_index_2057_rev3n4n6;
18125 wlc_phy_txpwr_index_nphy(
18127 txcal_index_2057_rev3n4n6,
18131 pi->nphy_txcal_pwr_idx[0] =
18132 txcal_index_2057_rev5n7;
18133 pi->nphy_txcal_pwr_idx[1] =
18134 txcal_index_2057_rev5n7;
18135 wlc_phy_txpwr_index_nphy(
18137 txcal_index_2057_rev5n7,
18140 save_bbmult = true;
18142 } else if (NREV_LT(pi->pubpi.phy_rev, 5)) {
18143 wlc_phy_cal_txgainctrl_nphy(pi, 11, false);
18144 if (pi->sh->hw_phytxchain != 3) {
18145 pi->nphy_txcal_pwr_idx[1] =
18146 pi->nphy_txcal_pwr_idx[0];
18147 wlc_phy_txpwr_index_nphy(pi, 3,
18149 nphy_txcal_pwr_idx[0],
18151 save_bbmult = true;
18154 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
18156 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18157 wlc_phy_cal_txgainctrl_nphy(pi, 12,
18160 pi->nphy_txcal_pwr_idx[0] = 80;
18161 pi->nphy_txcal_pwr_idx[1] = 80;
18162 wlc_phy_txpwr_index_nphy(pi, 3, 80,
18164 save_bbmult = true;
18167 wlc_phy_internal_cal_txgain_nphy(pi);
18168 save_bbmult = true;
18171 } else if (NREV_IS(pi->pubpi.phy_rev, 6)) {
18173 if (CHSPEC_IS2G(pi->radio_chanspec))
18174 wlc_phy_cal_txgainctrl_nphy(pi, 12,
18177 wlc_phy_cal_txgainctrl_nphy(pi, 14,
18180 wlc_phy_internal_cal_txgain_nphy(pi);
18181 save_bbmult = true;
18186 wlc_phy_cal_txgainctrl_nphy(pi, 10, false);
18190 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16,
18191 &pi->nphy_txcal_bbmult);
18195 wlc_phy_rfctrlintc_override_nphy(struct brcms_phy *pi, u8 field, u16 value,
18202 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18203 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
18204 if (core_code == RADIO_MIMO_CORESEL_CORE1
18205 && core == PHY_CORE_1)
18207 else if (core_code == RADIO_MIMO_CORESEL_CORE2
18208 && core == PHY_CORE_0)
18211 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
18213 mask = (0x1 << 10);
18215 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x91 :
18219 if (field == NPHY_RfctrlIntc_override_OFF) {
18221 write_phy_reg(pi, (core == PHY_CORE_0) ? 0x91 :
18224 wlc_phy_force_rfseq_nphy(pi,
18225 NPHY_RFSEQ_RESET2RX);
18226 } else if (field == NPHY_RfctrlIntc_override_TRSW) {
18228 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18230 mask = (0x1 << 6) | (0x1 << 7);
18235 PHY_CORE_0) ? 0x91 : 0x92,
18240 PHY_CORE_0) ? 0x91 : 0x92,
18243 and_phy_reg(pi, 0x2ff, (u16)
18245 or_phy_reg(pi, 0x2ff, (0x1 << 13));
18246 or_phy_reg(pi, 0x2ff, (0x1 << 0));
18249 mask = (0x1 << 6) |
18251 (0x1 << 8) | (0x1 << 9);
18255 PHY_CORE_0) ? 0x91 : 0x92,
18262 PHY_CORE_0) ? 0xe7 : 0xec,
18265 mask = (core == PHY_CORE_0) ?
18266 (0x1 << 0) : (0x1 << 1);
18267 val = 1 << ((core == PHY_CORE_0) ?
18269 mod_phy_reg(pi, 0x78, mask, val);
18271 SPINWAIT(((read_phy_reg(pi, 0x78) & val)
18273 if (WARN(read_phy_reg(pi, 0x78) & val,
18274 "HW error: override failed"))
18281 PHY_CORE_0) ? 0xe7 : 0xec,
18284 } else if (field == NPHY_RfctrlIntc_override_PA) {
18285 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18287 mask = (0x1 << 4) | (0x1 << 5);
18289 if (CHSPEC_IS5G(pi->radio_chanspec))
18296 PHY_CORE_0) ? 0x91 : 0x92,
18301 PHY_CORE_0) ? 0x91 : 0x92,
18305 if (CHSPEC_IS5G(pi->radio_chanspec)) {
18314 PHY_CORE_0) ? 0x91 : 0x92,
18317 } else if (field ==
18318 NPHY_RfctrlIntc_override_EXT_LNA_PU) {
18319 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18320 if (CHSPEC_IS5G(pi->radio_chanspec)) {
18327 : 0x92, mask, val);
18341 : 0x92, mask, val);
18350 mask = (0x1 << 11);
18354 PHY_CORE_0) ? 0x91 : 0x92,
18358 if (CHSPEC_IS5G(pi->radio_chanspec)) {
18367 PHY_CORE_0) ? 0x91 : 0x92,
18370 } else if (field ==
18371 NPHY_RfctrlIntc_override_EXT_LNA_GAIN) {
18372 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18373 if (CHSPEC_IS5G(pi->radio_chanspec)) {
18380 : 0x92, mask, val);
18394 : 0x92, mask, val);
18403 mask = (0x1 << 11);
18407 PHY_CORE_0) ? 0x91 : 0x92,
18411 if (CHSPEC_IS5G(pi->radio_chanspec)) {
18420 PHY_CORE_0) ? 0x91 : 0x92,
18429 wlc_phy_cal_txgainctrl_nphy(struct brcms_phy *pi, s32 dBm_targetpower,
18432 int gainctrl_loopidx;
18434 u16 m0m1, curr_m0m1;
18439 u16 phy_saveregs[4];
18441 u16 ampl_test = 250;
18443 bool phyhang_avoid_state = false;
18445 if (NREV_GE(pi->pubpi.phy_rev, 7))
18450 if (CHSPEC_IS40(pi->radio_chanspec))
18455 wlc_phy_txpwr_index_nphy(pi, 1, pi->nphy_cal_orig_pwr_idx[0], true);
18456 wlc_phy_txpwr_index_nphy(pi, 2, pi->nphy_cal_orig_pwr_idx[1], true);
18458 if (pi->phyhang_avoid)
18459 wlc_phy_stay_in_carriersearch_nphy(pi, true);
18461 phyhang_avoid_state = pi->phyhang_avoid;
18462 pi->phyhang_avoid = false;
18464 phy_saveregs[0] = read_phy_reg(pi, 0x91);
18465 phy_saveregs[1] = read_phy_reg(pi, 0x92);
18466 phy_saveregs[2] = read_phy_reg(pi, 0xe7);
18467 phy_saveregs[3] = read_phy_reg(pi, 0xec);
18468 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_PA, 1,
18469 RADIO_MIMO_CORESEL_CORE1 |
18470 RADIO_MIMO_CORESEL_CORE2);
18473 wlc_phy_rfctrlintc_override_nphy(pi,
18474 NPHY_RfctrlIntc_override_TRSW,
18475 0x2, RADIO_MIMO_CORESEL_CORE1);
18476 wlc_phy_rfctrlintc_override_nphy(pi,
18477 NPHY_RfctrlIntc_override_TRSW,
18478 0x8, RADIO_MIMO_CORESEL_CORE2);
18480 wlc_phy_rfctrlintc_override_nphy(pi,
18481 NPHY_RfctrlIntc_override_TRSW,
18482 0x1, RADIO_MIMO_CORESEL_CORE1);
18483 wlc_phy_rfctrlintc_override_nphy(pi,
18484 NPHY_RfctrlIntc_override_TRSW,
18485 0x7, RADIO_MIMO_CORESEL_CORE2);
18488 orig_BBConfig = read_phy_reg(pi, 0x01);
18489 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
18491 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m0m1);
18493 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
18494 txpwrindex = (s32) pi->nphy_cal_orig_pwr_idx[core];
18496 for (gainctrl_loopidx = 0; gainctrl_loopidx < 2;
18497 gainctrl_loopidx++) {
18498 wlc_phy_tx_tone_nphy(pi, freq_test, ampl_test, 0, 0,
18501 if (core == PHY_CORE_0)
18502 curr_m0m1 = m0m1 & 0xff00;
18504 curr_m0m1 = m0m1 & 0x00ff;
18506 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &curr_m0m1);
18507 wlc_phy_table_write_nphy(pi, 15, 1, 95, 16, &curr_m0m1);
18511 wlc_phy_est_tonepwr_nphy(pi, qdBm_power,
18512 NPHY_CAL_TSSISAMPS);
18514 pi->nphy_bb_mult_save = 0;
18515 wlc_phy_stopplayback_nphy(pi);
18517 delta_power = (dBm_targetpower * 4) - qdBm_power[core];
18519 txpwrindex -= stepsize * delta_power;
18520 if (txpwrindex < 0)
18522 else if (txpwrindex > 127)
18525 if (CHSPEC_IS5G(pi->radio_chanspec)) {
18526 if (NREV_IS(pi->pubpi.phy_rev, 4) &&
18527 (pi->srom_fem5g.extpagain == 3)) {
18528 if (txpwrindex < 30)
18532 if (NREV_GE(pi->pubpi.phy_rev, 5) &&
18533 (pi->srom_fem2g.extpagain == 3)) {
18534 if (txpwrindex < 50)
18539 wlc_phy_txpwr_index_nphy(pi, (1 << core),
18540 (u8) txpwrindex, true);
18543 pi->nphy_txcal_pwr_idx[core] = (u8) txpwrindex;
18549 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &dbg_m0m1);
18551 wlc_phy_tx_tone_nphy(pi, freq_test, ampl_test, 0, 0,
18554 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &dbg_m0m1);
18555 wlc_phy_table_write_nphy(pi, 15, 1, 95, 16, &dbg_m0m1);
18559 wlc_phy_est_tonepwr_nphy(pi, qdBm_power,
18560 NPHY_CAL_TSSISAMPS);
18562 wlc_phy_table_read_nphy(pi, 7, 1, (0x110 + core), 16,
18566 pi->nphy_bb_mult_save = 0;
18567 wlc_phy_stopplayback_nphy(pi);
18571 wlc_phy_txpwr_index_nphy(pi, 1, pi->nphy_txcal_pwr_idx[0], true);
18572 wlc_phy_txpwr_index_nphy(pi, 2, pi->nphy_txcal_pwr_idx[1], true);
18574 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &pi->nphy_txcal_bbmult);
18576 write_phy_reg(pi, 0x01, orig_BBConfig);
18578 write_phy_reg(pi, 0x91, phy_saveregs[0]);
18579 write_phy_reg(pi, 0x92, phy_saveregs[1]);
18580 write_phy_reg(pi, 0xe7, phy_saveregs[2]);
18581 write_phy_reg(pi, 0xec, phy_saveregs[3]);
18583 pi->phyhang_avoid = phyhang_avoid_state;
18585 if (pi->phyhang_avoid)
18586 wlc_phy_stay_in_carriersearch_nphy(pi, false);
18589 static void wlc_phy_savecal_nphy(struct brcms_phy *pi)
18593 u16 *txcal_radio_regs = NULL;
18595 if (pi->phyhang_avoid)
18596 wlc_phy_stay_in_carriersearch_nphy(pi, true);
18598 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18600 wlc_phy_rx_iq_coeffs_nphy(pi, 0,
18601 &pi->calibration_cache.
18604 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18606 pi->calibration_cache.txcal_radio_regs_2G;
18607 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18609 pi->calibration_cache.txcal_radio_regs_2G[0] =
18611 RADIO_2056_TX_LOFT_FINE_I |
18613 pi->calibration_cache.txcal_radio_regs_2G[1] =
18615 RADIO_2056_TX_LOFT_FINE_Q |
18617 pi->calibration_cache.txcal_radio_regs_2G[2] =
18619 RADIO_2056_TX_LOFT_FINE_I |
18621 pi->calibration_cache.txcal_radio_regs_2G[3] =
18623 RADIO_2056_TX_LOFT_FINE_Q |
18626 pi->calibration_cache.txcal_radio_regs_2G[4] =
18628 RADIO_2056_TX_LOFT_COARSE_I |
18630 pi->calibration_cache.txcal_radio_regs_2G[5] =
18632 RADIO_2056_TX_LOFT_COARSE_Q |
18634 pi->calibration_cache.txcal_radio_regs_2G[6] =
18636 RADIO_2056_TX_LOFT_COARSE_I |
18638 pi->calibration_cache.txcal_radio_regs_2G[7] =
18640 RADIO_2056_TX_LOFT_COARSE_Q |
18643 pi->calibration_cache.txcal_radio_regs_2G[0] =
18644 read_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL);
18645 pi->calibration_cache.txcal_radio_regs_2G[1] =
18646 read_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL);
18647 pi->calibration_cache.txcal_radio_regs_2G[2] =
18648 read_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM);
18649 pi->calibration_cache.txcal_radio_regs_2G[3] =
18650 read_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM);
18653 pi->nphy_iqcal_chanspec_2G = pi->radio_chanspec;
18654 tbl_ptr = pi->calibration_cache.txcal_coeffs_2G;
18657 wlc_phy_rx_iq_coeffs_nphy(pi, 0,
18658 &pi->calibration_cache.
18661 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18663 pi->calibration_cache.txcal_radio_regs_5G;
18664 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18666 pi->calibration_cache.txcal_radio_regs_5G[0] =
18668 RADIO_2056_TX_LOFT_FINE_I |
18670 pi->calibration_cache.txcal_radio_regs_5G[1] =
18672 RADIO_2056_TX_LOFT_FINE_Q |
18674 pi->calibration_cache.txcal_radio_regs_5G[2] =
18676 RADIO_2056_TX_LOFT_FINE_I |
18678 pi->calibration_cache.txcal_radio_regs_5G[3] =
18680 RADIO_2056_TX_LOFT_FINE_Q |
18683 pi->calibration_cache.txcal_radio_regs_5G[4] =
18685 RADIO_2056_TX_LOFT_COARSE_I |
18687 pi->calibration_cache.txcal_radio_regs_5G[5] =
18689 RADIO_2056_TX_LOFT_COARSE_Q |
18691 pi->calibration_cache.txcal_radio_regs_5G[6] =
18693 RADIO_2056_TX_LOFT_COARSE_I |
18695 pi->calibration_cache.txcal_radio_regs_5G[7] =
18697 RADIO_2056_TX_LOFT_COARSE_Q |
18700 pi->calibration_cache.txcal_radio_regs_5G[0] =
18701 read_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL);
18702 pi->calibration_cache.txcal_radio_regs_5G[1] =
18703 read_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL);
18704 pi->calibration_cache.txcal_radio_regs_5G[2] =
18705 read_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM);
18706 pi->calibration_cache.txcal_radio_regs_5G[3] =
18707 read_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM);
18710 pi->nphy_iqcal_chanspec_5G = pi->radio_chanspec;
18711 tbl_ptr = pi->calibration_cache.txcal_coeffs_5G;
18713 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18714 for (coreNum = 0; coreNum <= 1; coreNum++) {
18716 txcal_radio_regs[2 * coreNum] =
18717 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
18719 txcal_radio_regs[2 * coreNum + 1] =
18720 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
18723 txcal_radio_regs[2 * coreNum + 4] =
18724 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
18726 txcal_radio_regs[2 * coreNum + 5] =
18727 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
18732 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 8, 80, 16, tbl_ptr);
18734 if (pi->phyhang_avoid)
18735 wlc_phy_stay_in_carriersearch_nphy(pi, false);
18738 static void wlc_phy_tx_iq_war_nphy(struct brcms_phy *pi)
18740 struct nphy_iq_comp tx_comp;
18742 wlc_phy_table_read_nphy(pi, 15, 4, 0x50, 16, &tx_comp);
18744 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ, tx_comp.a0);
18745 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ + 2, tx_comp.b0);
18746 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ + 4, tx_comp.a1);
18747 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ + 6, tx_comp.b1);
18750 static void wlc_phy_restorecal_nphy(struct brcms_phy *pi)
18753 u16 txcal_coeffs_bphy[4];
18756 u16 *txcal_radio_regs = NULL;
18758 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18759 if (pi->nphy_iqcal_chanspec_2G == 0)
18762 tbl_ptr = pi->calibration_cache.txcal_coeffs_2G;
18763 loft_comp = &pi->calibration_cache.txcal_coeffs_2G[5];
18765 if (pi->nphy_iqcal_chanspec_5G == 0)
18768 tbl_ptr = pi->calibration_cache.txcal_coeffs_5G;
18769 loft_comp = &pi->calibration_cache.txcal_coeffs_5G[5];
18772 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 80, 16, tbl_ptr);
18774 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18775 txcal_coeffs_bphy[0] = tbl_ptr[0];
18776 txcal_coeffs_bphy[1] = tbl_ptr[1];
18777 txcal_coeffs_bphy[2] = tbl_ptr[2];
18778 txcal_coeffs_bphy[3] = tbl_ptr[3];
18780 txcal_coeffs_bphy[0] = 0;
18781 txcal_coeffs_bphy[1] = 0;
18782 txcal_coeffs_bphy[2] = 0;
18783 txcal_coeffs_bphy[3] = 0;
18786 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 88, 16,
18787 txcal_coeffs_bphy);
18789 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 85, 16, loft_comp);
18791 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 93, 16, loft_comp);
18793 if (NREV_LT(pi->pubpi.phy_rev, 2))
18794 wlc_phy_tx_iq_war_nphy(pi);
18796 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18797 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18799 pi->calibration_cache.txcal_radio_regs_2G;
18800 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18802 write_radio_reg(pi,
18803 RADIO_2056_TX_LOFT_FINE_I |
18805 pi->calibration_cache.
18806 txcal_radio_regs_2G[0]);
18807 write_radio_reg(pi,
18808 RADIO_2056_TX_LOFT_FINE_Q |
18810 pi->calibration_cache.
18811 txcal_radio_regs_2G[1]);
18812 write_radio_reg(pi,
18813 RADIO_2056_TX_LOFT_FINE_I |
18815 pi->calibration_cache.
18816 txcal_radio_regs_2G[2]);
18817 write_radio_reg(pi,
18818 RADIO_2056_TX_LOFT_FINE_Q |
18820 pi->calibration_cache.
18821 txcal_radio_regs_2G[3]);
18823 write_radio_reg(pi,
18824 RADIO_2056_TX_LOFT_COARSE_I |
18826 pi->calibration_cache.
18827 txcal_radio_regs_2G[4]);
18828 write_radio_reg(pi,
18829 RADIO_2056_TX_LOFT_COARSE_Q |
18831 pi->calibration_cache.
18832 txcal_radio_regs_2G[5]);
18833 write_radio_reg(pi,
18834 RADIO_2056_TX_LOFT_COARSE_I |
18836 pi->calibration_cache.
18837 txcal_radio_regs_2G[6]);
18838 write_radio_reg(pi,
18839 RADIO_2056_TX_LOFT_COARSE_Q |
18841 pi->calibration_cache.
18842 txcal_radio_regs_2G[7]);
18844 write_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL,
18845 pi->calibration_cache.
18846 txcal_radio_regs_2G[0]);
18847 write_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL,
18848 pi->calibration_cache.
18849 txcal_radio_regs_2G[1]);
18850 write_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM,
18851 pi->calibration_cache.
18852 txcal_radio_regs_2G[2]);
18853 write_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM,
18854 pi->calibration_cache.
18855 txcal_radio_regs_2G[3]);
18858 wlc_phy_rx_iq_coeffs_nphy(pi, 1,
18859 &pi->calibration_cache.
18862 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18864 pi->calibration_cache.txcal_radio_regs_5G;
18865 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18867 write_radio_reg(pi,
18868 RADIO_2056_TX_LOFT_FINE_I |
18870 pi->calibration_cache.
18871 txcal_radio_regs_5G[0]);
18872 write_radio_reg(pi,
18873 RADIO_2056_TX_LOFT_FINE_Q |
18875 pi->calibration_cache.
18876 txcal_radio_regs_5G[1]);
18877 write_radio_reg(pi,
18878 RADIO_2056_TX_LOFT_FINE_I |
18880 pi->calibration_cache.
18881 txcal_radio_regs_5G[2]);
18882 write_radio_reg(pi,
18883 RADIO_2056_TX_LOFT_FINE_Q |
18885 pi->calibration_cache.
18886 txcal_radio_regs_5G[3]);
18888 write_radio_reg(pi,
18889 RADIO_2056_TX_LOFT_COARSE_I |
18891 pi->calibration_cache.
18892 txcal_radio_regs_5G[4]);
18893 write_radio_reg(pi,
18894 RADIO_2056_TX_LOFT_COARSE_Q |
18896 pi->calibration_cache.
18897 txcal_radio_regs_5G[5]);
18898 write_radio_reg(pi,
18899 RADIO_2056_TX_LOFT_COARSE_I |
18901 pi->calibration_cache.
18902 txcal_radio_regs_5G[6]);
18903 write_radio_reg(pi,
18904 RADIO_2056_TX_LOFT_COARSE_Q |
18906 pi->calibration_cache.
18907 txcal_radio_regs_5G[7]);
18909 write_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL,
18910 pi->calibration_cache.
18911 txcal_radio_regs_5G[0]);
18912 write_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL,
18913 pi->calibration_cache.
18914 txcal_radio_regs_5G[1]);
18915 write_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM,
18916 pi->calibration_cache.
18917 txcal_radio_regs_5G[2]);
18918 write_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM,
18919 pi->calibration_cache.
18920 txcal_radio_regs_5G[3]);
18923 wlc_phy_rx_iq_coeffs_nphy(pi, 1,
18924 &pi->calibration_cache.
18928 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18929 for (coreNum = 0; coreNum <= 1; coreNum++) {
18931 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
18933 txcal_radio_regs[2 * coreNum]);
18934 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
18936 txcal_radio_regs[2 * coreNum + 1]);
18938 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
18940 txcal_radio_regs[2 * coreNum + 4]);
18941 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
18943 txcal_radio_regs[2 * coreNum + 5]);
18948 static void wlc_phy_txpwrctrl_coeff_setup_nphy(struct brcms_phy *pi)
18952 u32 iqcomp, locomp, curr_locomp;
18953 s8 locomp_i, locomp_q;
18954 s8 curr_locomp_i, curr_locomp_q;
18955 u32 tbl_id, tbl_len, tbl_offset;
18958 if (pi->phyhang_avoid)
18959 wlc_phy_stay_in_carriersearch_nphy(pi, true);
18961 wlc_phy_table_read_nphy(pi, 15, 7, 80, 16, iqloCalbuf);
18965 for (tbl_id = NPHY_TBL_ID_CORE1TXPWRCTL;
18966 tbl_id <= NPHY_TBL_ID_CORE2TXPWRCTL; tbl_id++) {
18969 26) ? (((u32) (iqloCalbuf[0] & 0x3ff)) << 10) |
18970 (iqloCalbuf[1] & 0x3ff)
18971 : (((u32) (iqloCalbuf[2] & 0x3ff)) << 10) |
18972 (iqloCalbuf[3] & 0x3ff);
18974 for (idx = 0; idx < tbl_len; idx++)
18975 regval[idx] = iqcomp;
18976 wlc_phy_table_write_nphy(pi, tbl_id, tbl_len, tbl_offset, 32,
18981 for (tbl_id = NPHY_TBL_ID_CORE1TXPWRCTL;
18982 tbl_id <= NPHY_TBL_ID_CORE2TXPWRCTL; tbl_id++) {
18985 (u32) ((tbl_id == 26) ? iqloCalbuf[5] : iqloCalbuf[6]);
18986 locomp_i = (s8) ((locomp >> 8) & 0xff);
18987 locomp_q = (s8) ((locomp) & 0xff);
18988 for (idx = 0; idx < tbl_len; idx++) {
18989 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18990 curr_locomp_i = locomp_i;
18991 curr_locomp_q = locomp_q;
18993 curr_locomp_i = (s8) ((locomp_i *
18994 nphy_tpc_loscale[idx] +
18998 nphy_tpc_loscale[idx] +
19001 curr_locomp = (u32) ((curr_locomp_i & 0xff) << 8);
19002 curr_locomp |= (u32) (curr_locomp_q & 0xff);
19003 regval[idx] = curr_locomp;
19005 wlc_phy_table_write_nphy(pi, tbl_id, tbl_len, tbl_offset, 32,
19009 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
19011 wlapi_bmac_write_shm(pi->sh->physhim, M_CURR_IDX1, 0xFFFF);
19012 wlapi_bmac_write_shm(pi->sh->physhim, M_CURR_IDX2, 0xFFFF);
19015 if (pi->phyhang_avoid)
19016 wlc_phy_stay_in_carriersearch_nphy(pi, false);
19019 static void wlc_phy_txlpfbw_nphy(struct brcms_phy *pi)
19023 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
19024 if (CHSPEC_IS40(pi->radio_chanspec))
19030 if (CHSPEC_IS40(pi->radio_chanspec))
19036 write_phy_reg(pi, 0xe8,
19039 (tx_lpf_bw << 6) | (tx_lpf_bw << 9));
19043 if (CHSPEC_IS40(pi->radio_chanspec))
19048 write_phy_reg(pi, 0xe9,
19051 (tx_lpf_bw << 6) | (tx_lpf_bw << 9));
19057 wlc_phy_adjust_rx_analpfbw_nphy(struct brcms_phy *pi, u16 reduction_factr)
19059 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
19060 if ((CHSPEC_CHANNEL(pi->radio_chanspec) == 11) &&
19061 CHSPEC_IS40(pi->radio_chanspec)) {
19062 if (!pi->nphy_anarxlpf_adjusted) {
19063 write_radio_reg(pi,
19064 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
19066 ((pi->nphy_rccal_value +
19067 reduction_factr) | 0x80));
19069 pi->nphy_anarxlpf_adjusted = true;
19072 if (pi->nphy_anarxlpf_adjusted) {
19073 write_radio_reg(pi,
19074 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
19076 (pi->nphy_rccal_value | 0x80));
19078 pi->nphy_anarxlpf_adjusted = false;
19085 wlc_phy_adjust_min_noisevar_nphy(struct brcms_phy *pi, int ntones,
19086 int *tone_id_buf, u32 *noise_var_buf)
19092 CHSPEC_IS40(pi->radio_chanspec) ?
19093 NPHY_NOISEVAR_TBLLEN40 : NPHY_NOISEVAR_TBLLEN20;
19095 if (pi->nphy_noisevars_adjusted) {
19096 for (i = 0; i < pi->nphy_saved_noisevars.bufcount; i++) {
19097 tone_id = pi->nphy_saved_noisevars.tone_id[i];
19098 offset = (tone_id >= 0) ?
19100 2) + 1) : (tbllen + (tone_id * 2) + 1);
19101 wlc_phy_table_write_nphy(
19102 pi, NPHY_TBL_ID_NOISEVAR, 1,
19104 &pi->nphy_saved_noisevars.min_noise_vars[i]);
19107 pi->nphy_saved_noisevars.bufcount = 0;
19108 pi->nphy_noisevars_adjusted = false;
19111 if ((noise_var_buf != NULL) && (tone_id_buf != NULL)) {
19112 pi->nphy_saved_noisevars.bufcount = 0;
19114 for (i = 0; i < ntones; i++) {
19115 tone_id = tone_id_buf[i];
19116 offset = (tone_id >= 0) ?
19117 ((tone_id * 2) + 1) :
19118 (tbllen + (tone_id * 2) + 1);
19119 pi->nphy_saved_noisevars.tone_id[i] = tone_id;
19120 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
19122 &pi->nphy_saved_noisevars.
19123 min_noise_vars[i]);
19124 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
19125 offset, 32, &noise_var_buf[i]);
19126 pi->nphy_saved_noisevars.bufcount++;
19129 pi->nphy_noisevars_adjusted = true;
19133 static void wlc_phy_adjust_crsminpwr_nphy(struct brcms_phy *pi, u8 minpwr)
19137 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19138 if ((CHSPEC_CHANNEL(pi->radio_chanspec) == 11) &&
19139 CHSPEC_IS40(pi->radio_chanspec)) {
19140 if (!pi->nphy_crsminpwr_adjusted) {
19141 regval = read_phy_reg(pi, 0x27d);
19142 pi->nphy_crsminpwr[0] = regval & 0xff;
19144 regval |= (u16) minpwr;
19145 write_phy_reg(pi, 0x27d, regval);
19147 regval = read_phy_reg(pi, 0x280);
19148 pi->nphy_crsminpwr[1] = regval & 0xff;
19150 regval |= (u16) minpwr;
19151 write_phy_reg(pi, 0x280, regval);
19153 regval = read_phy_reg(pi, 0x283);
19154 pi->nphy_crsminpwr[2] = regval & 0xff;
19156 regval |= (u16) minpwr;
19157 write_phy_reg(pi, 0x283, regval);
19159 pi->nphy_crsminpwr_adjusted = true;
19162 if (pi->nphy_crsminpwr_adjusted) {
19163 regval = read_phy_reg(pi, 0x27d);
19165 regval |= pi->nphy_crsminpwr[0];
19166 write_phy_reg(pi, 0x27d, regval);
19168 regval = read_phy_reg(pi, 0x280);
19170 regval |= pi->nphy_crsminpwr[1];
19171 write_phy_reg(pi, 0x280, regval);
19173 regval = read_phy_reg(pi, 0x283);
19175 regval |= pi->nphy_crsminpwr[2];
19176 write_phy_reg(pi, 0x283, regval);
19178 pi->nphy_crsminpwr_adjusted = false;
19184 static void wlc_phy_spurwar_nphy(struct brcms_phy *pi)
19186 u16 cur_channel = 0;
19187 int nphy_adj_tone_id_buf[] = { 57, 58 };
19188 u32 nphy_adj_noise_var_buf[] = { 0x3ff, 0x3ff };
19189 bool isAdjustNoiseVar = false;
19190 uint numTonesAdjust = 0;
19193 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19194 if (pi->phyhang_avoid)
19195 wlc_phy_stay_in_carriersearch_nphy(pi, true);
19197 cur_channel = CHSPEC_CHANNEL(pi->radio_chanspec);
19199 if (pi->nphy_gband_spurwar_en) {
19201 wlc_phy_adjust_rx_analpfbw_nphy(
19203 NPHY_ANARXLPFBW_REDUCTIONFACT);
19205 if (CHSPEC_IS2G(pi->radio_chanspec)) {
19206 if ((cur_channel == 11)
19207 && CHSPEC_IS40(pi->radio_chanspec))
19208 wlc_phy_adjust_min_noisevar_nphy(
19210 nphy_adj_tone_id_buf,
19211 nphy_adj_noise_var_buf);
19213 wlc_phy_adjust_min_noisevar_nphy(pi, 0,
19218 wlc_phy_adjust_crsminpwr_nphy(pi,
19219 NPHY_ADJUSTED_MINCRSPOWER);
19222 if ((pi->nphy_gband_spurwar2_en)
19223 && CHSPEC_IS2G(pi->radio_chanspec)) {
19225 if (CHSPEC_IS40(pi->radio_chanspec)) {
19226 switch (cur_channel) {
19228 nphy_adj_tone_id_buf[0] = 57;
19229 nphy_adj_tone_id_buf[1] = 58;
19230 nphy_adj_noise_var_buf[0] = 0x22f;
19231 nphy_adj_noise_var_buf[1] = 0x25f;
19232 isAdjustNoiseVar = true;
19235 nphy_adj_tone_id_buf[0] = 41;
19236 nphy_adj_tone_id_buf[1] = 42;
19237 nphy_adj_noise_var_buf[0] = 0x22f;
19238 nphy_adj_noise_var_buf[1] = 0x25f;
19239 isAdjustNoiseVar = true;
19242 nphy_adj_tone_id_buf[0] = 25;
19243 nphy_adj_tone_id_buf[1] = 26;
19244 nphy_adj_noise_var_buf[0] = 0x24f;
19245 nphy_adj_noise_var_buf[1] = 0x25f;
19246 isAdjustNoiseVar = true;
19249 nphy_adj_tone_id_buf[0] = 9;
19250 nphy_adj_tone_id_buf[1] = 10;
19251 nphy_adj_noise_var_buf[0] = 0x22f;
19252 nphy_adj_noise_var_buf[1] = 0x24f;
19253 isAdjustNoiseVar = true;
19256 nphy_adj_tone_id_buf[0] = 121;
19257 nphy_adj_tone_id_buf[1] = 122;
19258 nphy_adj_noise_var_buf[0] = 0x18f;
19259 nphy_adj_noise_var_buf[1] = 0x24f;
19260 isAdjustNoiseVar = true;
19263 nphy_adj_tone_id_buf[0] = 105;
19264 nphy_adj_tone_id_buf[1] = 106;
19265 nphy_adj_noise_var_buf[0] = 0x22f;
19266 nphy_adj_noise_var_buf[1] = 0x25f;
19267 isAdjustNoiseVar = true;
19270 nphy_adj_tone_id_buf[0] = 89;
19271 nphy_adj_tone_id_buf[1] = 90;
19272 nphy_adj_noise_var_buf[0] = 0x22f;
19273 nphy_adj_noise_var_buf[1] = 0x24f;
19274 isAdjustNoiseVar = true;
19277 nphy_adj_tone_id_buf[0] = 73;
19278 nphy_adj_tone_id_buf[1] = 74;
19279 nphy_adj_noise_var_buf[0] = 0x22f;
19280 nphy_adj_noise_var_buf[1] = 0x24f;
19281 isAdjustNoiseVar = true;
19284 isAdjustNoiseVar = false;
19289 if (isAdjustNoiseVar) {
19290 numTonesAdjust = sizeof(nphy_adj_tone_id_buf) /
19291 sizeof(nphy_adj_tone_id_buf[0]);
19293 wlc_phy_adjust_min_noisevar_nphy(
19296 nphy_adj_tone_id_buf,
19297 nphy_adj_noise_var_buf);
19302 wlc_phy_adjust_min_noisevar_nphy(pi, 0, NULL,
19307 if ((pi->nphy_aband_spurwar_en) &&
19308 (CHSPEC_IS5G(pi->radio_chanspec))) {
19309 switch (cur_channel) {
19311 nphy_adj_tone_id_buf[0] = 32;
19312 nphy_adj_noise_var_buf[0] = 0x25f;
19317 nphy_adj_tone_id_buf[0] = 0;
19318 nphy_adj_noise_var_buf[0] = 0x0;
19321 nphy_adj_tone_id_buf[0] = 32;
19322 nphy_adj_noise_var_buf[0] = 0x21f;
19325 nphy_adj_tone_id_buf[0] = 16;
19326 nphy_adj_noise_var_buf[0] = 0x23f;
19330 nphy_adj_tone_id_buf[0] = 48;
19331 nphy_adj_noise_var_buf[0] = 0x23f;
19334 nphy_adj_tone_id_buf[0] = 0;
19335 nphy_adj_noise_var_buf[0] = 0x0;
19339 if (nphy_adj_tone_id_buf[0]
19340 && nphy_adj_noise_var_buf[0])
19341 wlc_phy_adjust_min_noisevar_nphy(
19343 nphy_adj_tone_id_buf,
19344 nphy_adj_noise_var_buf);
19346 wlc_phy_adjust_min_noisevar_nphy(pi, 0, NULL,
19350 if (pi->phyhang_avoid)
19351 wlc_phy_stay_in_carriersearch_nphy(pi, false);
19355 void wlc_phy_init_nphy(struct brcms_phy *pi)
19359 struct nphy_txgains target_gain;
19360 u8 tx_pwr_ctrl_state;
19361 bool do_nphy_cal = false;
19363 uint origidx, intr_val;
19364 struct d11regs *regs;
19365 u32 d11_clk_ctl_st;
19366 bool do_rssi_cal = false;
19370 if (!(pi->measure_hold & PHY_HOLD_FOR_SCAN))
19371 pi->measure_hold |= PHY_HOLD_FOR_NOT_ASSOC;
19373 if ((ISNPHY(pi)) && (NREV_GE(pi->pubpi.phy_rev, 5)) &&
19374 ((pi->sh->chippkg == BCM4717_PKG_ID) ||
19375 (pi->sh->chippkg == BCM4718_PKG_ID))) {
19376 if ((pi->sh->boardflags & BFL_EXTLNA) &&
19377 (CHSPEC_IS2G(pi->radio_chanspec)))
19378 ai_corereg(pi->sh->sih, SI_CC_IDX,
19379 offsetof(struct chipcregs, chipcontrol),
19383 if ((pi->nphy_gband_spurwar2_en) && CHSPEC_IS2G(pi->radio_chanspec) &&
19384 CHSPEC_IS40(pi->radio_chanspec)) {
19386 regs = (struct d11regs *) ai_switch_core(pi->sh->sih,
19387 D11_CORE_ID, &origidx,
19389 d11_clk_ctl_st = R_REG(®s->clk_ctl_st);
19390 AND_REG(®s->clk_ctl_st,
19391 ~(CCS_FORCEHT | CCS_HTAREQ));
19393 W_REG(®s->clk_ctl_st, d11_clk_ctl_st);
19395 ai_restore_core(pi->sh->sih, origidx, intr_val);
19398 pi->use_int_tx_iqlo_cal_nphy =
19400 (NREV_GE(pi->pubpi.phy_rev, 7) ||
19401 (NREV_GE(pi->pubpi.phy_rev, 5)
19402 && pi->sh->boardflags2 & BFL2_INTERNDET_TXIQCAL)));
19404 pi->internal_tx_iqlo_cal_tapoff_intpa_nphy = false;
19406 pi->nphy_deaf_count = 0;
19408 wlc_phy_tbl_init_nphy(pi);
19410 pi->nphy_crsminpwr_adjusted = false;
19411 pi->nphy_noisevars_adjusted = false;
19413 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19414 write_phy_reg(pi, 0xe7, 0);
19415 write_phy_reg(pi, 0xec, 0);
19416 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19417 write_phy_reg(pi, 0x342, 0);
19418 write_phy_reg(pi, 0x343, 0);
19419 write_phy_reg(pi, 0x346, 0);
19420 write_phy_reg(pi, 0x347, 0);
19422 write_phy_reg(pi, 0xe5, 0);
19423 write_phy_reg(pi, 0xe6, 0);
19425 write_phy_reg(pi, 0xec, 0);
19428 write_phy_reg(pi, 0x91, 0);
19429 write_phy_reg(pi, 0x92, 0);
19430 if (NREV_LT(pi->pubpi.phy_rev, 6)) {
19431 write_phy_reg(pi, 0x93, 0);
19432 write_phy_reg(pi, 0x94, 0);
19435 and_phy_reg(pi, 0xa1, ~3);
19437 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19438 write_phy_reg(pi, 0x8f, 0);
19439 write_phy_reg(pi, 0xa5, 0);
19441 write_phy_reg(pi, 0xa5, 0);
19444 if (NREV_IS(pi->pubpi.phy_rev, 2))
19445 mod_phy_reg(pi, 0xdc, 0x00ff, 0x3b);
19446 else if (NREV_LT(pi->pubpi.phy_rev, 2))
19447 mod_phy_reg(pi, 0xdc, 0x00ff, 0x40);
19449 write_phy_reg(pi, 0x203, 32);
19450 write_phy_reg(pi, 0x201, 32);
19452 if (pi->sh->boardflags2 & BFL2_SKWRKFEM_BRD)
19453 write_phy_reg(pi, 0x20d, 160);
19455 write_phy_reg(pi, 0x20d, 184);
19457 write_phy_reg(pi, 0x13a, 200);
19459 write_phy_reg(pi, 0x70, 80);
19461 write_phy_reg(pi, 0x1ff, 48);
19463 if (NREV_LT(pi->pubpi.phy_rev, 8))
19464 wlc_phy_update_mimoconfig_nphy(pi, pi->n_preamble_override);
19466 wlc_phy_stf_chain_upd_nphy(pi);
19468 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
19469 write_phy_reg(pi, 0x180, 0xaa8);
19470 write_phy_reg(pi, 0x181, 0x9a4);
19474 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
19476 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
19477 0x29b, (0x1 << 0), (1) << 0);
19479 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x298 :
19480 0x29c, (0x1ff << 7),
19481 (pi->nphy_papd_epsilon_offset[core]) << 7);
19485 wlc_phy_ipa_set_tx_digi_filts_nphy(pi);
19486 } else if (NREV_GE(pi->pubpi.phy_rev, 5)) {
19487 wlc_phy_extpa_set_tx_digi_filts_nphy(pi);
19490 wlc_phy_workarounds_nphy(pi);
19492 wlapi_bmac_phyclk_fgc(pi->sh->physhim, ON);
19494 val = read_phy_reg(pi, 0x01);
19495 write_phy_reg(pi, 0x01, val | BBCFG_RESETCCA);
19496 write_phy_reg(pi, 0x01, val & (~BBCFG_RESETCCA));
19497 wlapi_bmac_phyclk_fgc(pi->sh->physhim, OFF);
19499 wlapi_bmac_macphyclk_set(pi->sh->physhim, ON);
19501 wlc_phy_pa_override_nphy(pi, OFF);
19502 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX);
19503 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
19504 wlc_phy_pa_override_nphy(pi, ON);
19506 wlc_phy_classifier_nphy(pi, 0, 0);
19507 wlc_phy_clip_det_nphy(pi, 0, clip1_ths);
19509 if (CHSPEC_IS2G(pi->radio_chanspec))
19510 wlc_phy_bphy_init_nphy(pi);
19512 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
19513 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
19515 wlc_phy_txpwr_fixpower_nphy(pi);
19517 wlc_phy_txpwrctrl_idle_tssi_nphy(pi);
19519 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
19521 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19522 u32 *tx_pwrctrl_tbl = NULL;
19529 tx_pwrctrl_tbl = wlc_phy_get_ipa_gaintbl_nphy(pi);
19531 if (CHSPEC_IS5G(pi->radio_chanspec)) {
19532 if (NREV_IS(pi->pubpi.phy_rev, 3))
19534 nphy_tpc_5GHz_txgain_rev3;
19535 else if (NREV_IS(pi->pubpi.phy_rev, 4))
19537 (pi->srom_fem5g.extpagain ==
19539 nphy_tpc_5GHz_txgain_HiPwrEPA :
19540 nphy_tpc_5GHz_txgain_rev4;
19543 nphy_tpc_5GHz_txgain_rev5;
19545 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19546 if (pi->pubpi.radiorev == 5)
19548 nphy_tpc_txgain_epa_2057rev5;
19549 else if (pi->pubpi.radiorev == 3)
19551 nphy_tpc_txgain_epa_2057rev3;
19553 if (NREV_GE(pi->pubpi.phy_rev, 5) &&
19554 (pi->srom_fem2g.extpagain == 3))
19556 nphy_tpc_txgain_HiPwrEPA;
19559 nphy_tpc_txgain_rev3;
19564 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 128,
19565 192, 32, tx_pwrctrl_tbl);
19566 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 128,
19567 192, 32, tx_pwrctrl_tbl);
19569 pi->nphy_gmval = (u16) ((*tx_pwrctrl_tbl >> 16) & 0x7000);
19571 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19573 for (idx = 0; idx < 128; idx++) {
19574 pga_gn = (tx_pwrctrl_tbl[idx] >> 24) & 0xf;
19575 pad_gn = (tx_pwrctrl_tbl[idx] >> 19) & 0x1f;
19576 rfpwr_offset = get_rf_pwr_offset(pi, pga_gn,
19578 wlc_phy_table_write_nphy(
19580 NPHY_TBL_ID_CORE1TXPWRCTL,
19583 wlc_phy_table_write_nphy(
19585 NPHY_TBL_ID_CORE2TXPWRCTL,
19591 for (idx = 0; idx < 128; idx++) {
19592 pga_gn = (tx_pwrctrl_tbl[idx] >> 24) & 0xf;
19593 if (CHSPEC_IS2G(pi->radio_chanspec))
19594 rfpwr_offset = (s16)
19595 nphy_papd_pga_gain_delta_ipa_2g
19598 rfpwr_offset = (s16)
19599 nphy_papd_pga_gain_delta_ipa_5g
19602 wlc_phy_table_write_nphy(
19604 NPHY_TBL_ID_CORE1TXPWRCTL,
19607 wlc_phy_table_write_nphy(
19609 NPHY_TBL_ID_CORE2TXPWRCTL,
19617 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 128,
19618 192, 32, nphy_tpc_txgain);
19619 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 128,
19620 192, 32, nphy_tpc_txgain);
19623 if (pi->sh->phyrxchain != 0x3)
19624 wlc_phy_rxcore_setstate_nphy((struct brcms_phy_pub *) pi,
19625 pi->sh->phyrxchain);
19627 if (PHY_PERICAL_MPHASE_PENDING(pi))
19628 wlc_phy_cal_perical_mphase_restart(pi);
19630 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19631 do_rssi_cal = (CHSPEC_IS2G(pi->radio_chanspec)) ?
19632 (pi->nphy_rssical_chanspec_2G == 0) :
19633 (pi->nphy_rssical_chanspec_5G == 0);
19636 wlc_phy_rssi_cal_nphy(pi);
19638 wlc_phy_restore_rssical_nphy(pi);
19640 wlc_phy_rssi_cal_nphy(pi);
19643 if (!SCAN_RM_IN_PROGRESS(pi))
19644 do_nphy_cal = (CHSPEC_IS2G(pi->radio_chanspec)) ?
19645 (pi->nphy_iqcal_chanspec_2G == 0) :
19646 (pi->nphy_iqcal_chanspec_5G == 0);
19648 if (!pi->do_initcal)
19649 do_nphy_cal = false;
19653 target_gain = wlc_phy_get_tx_gain_nphy(pi);
19655 if (pi->antsel_type == ANTSEL_2x3)
19656 wlc_phy_antsel_init((struct brcms_phy_pub *) pi,
19659 if (pi->nphy_perical != PHY_PERICAL_MPHASE) {
19660 wlc_phy_rssi_cal_nphy(pi);
19662 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19663 pi->nphy_cal_orig_pwr_idx[0] =
19664 pi->nphy_txpwrindex[PHY_CORE_0]
19667 pi->nphy_cal_orig_pwr_idx[1] =
19668 pi->nphy_txpwrindex[PHY_CORE_1]
19672 wlc_phy_precal_txgain_nphy(pi);
19674 wlc_phy_get_tx_gain_nphy(pi);
19677 if (wlc_phy_cal_txiqlo_nphy
19678 (pi, target_gain, true,
19680 if (wlc_phy_cal_rxiq_nphy
19681 (pi, target_gain, 2,
19683 wlc_phy_savecal_nphy(pi);
19686 } else if (pi->mphase_cal_phase_id ==
19687 MPHASE_CAL_STATE_IDLE) {
19688 wlc_phy_cal_perical((struct brcms_phy_pub *) pi,
19689 PHY_PERICAL_PHYINIT);
19692 wlc_phy_restorecal_nphy(pi);
19695 wlc_phy_txpwrctrl_coeff_setup_nphy(pi);
19697 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
19699 wlc_phy_nphy_tkip_rifs_war(pi, pi->sh->_rifs_phy);
19701 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LE(pi->pubpi.phy_rev, 6))
19703 write_phy_reg(pi, 0x70, 50);
19705 wlc_phy_txlpfbw_nphy(pi);
19707 wlc_phy_spurwar_nphy(pi);
19711 static void wlc_phy_resetcca_nphy(struct brcms_phy *pi)
19715 wlapi_bmac_phyclk_fgc(pi->sh->physhim, ON);
19717 val = read_phy_reg(pi, 0x01);
19718 write_phy_reg(pi, 0x01, val | BBCFG_RESETCCA);
19720 write_phy_reg(pi, 0x01, val & (~BBCFG_RESETCCA));
19722 wlapi_bmac_phyclk_fgc(pi->sh->physhim, OFF);
19724 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
19727 void wlc_phy_pa_override_nphy(struct brcms_phy *pi, bool en)
19729 u16 rfctrlintc_override_val;
19733 pi->rfctrlIntc1_save = read_phy_reg(pi, 0x91);
19734 pi->rfctrlIntc2_save = read_phy_reg(pi, 0x92);
19736 if (NREV_GE(pi->pubpi.phy_rev, 7))
19737 rfctrlintc_override_val = 0x1480;
19738 else if (NREV_GE(pi->pubpi.phy_rev, 3))
19739 rfctrlintc_override_val =
19740 CHSPEC_IS5G(pi->radio_chanspec) ? 0x600 : 0x480;
19742 rfctrlintc_override_val =
19743 CHSPEC_IS5G(pi->radio_chanspec) ? 0x180 : 0x120;
19745 write_phy_reg(pi, 0x91, rfctrlintc_override_val);
19746 write_phy_reg(pi, 0x92, rfctrlintc_override_val);
19748 write_phy_reg(pi, 0x91, pi->rfctrlIntc1_save);
19749 write_phy_reg(pi, 0x92, pi->rfctrlIntc2_save);
19754 void wlc_phy_stf_chain_upd_nphy(struct brcms_phy *pi)
19758 (NPHY_RfseqCoreActv_TxRxChain0 | NPHY_RfseqCoreActv_TxRxChain1);
19759 bool CoreActv_override = false;
19761 if (pi->nphy_txrx_chain == BRCMS_N_TXRX_CHAIN0) {
19762 txrx_chain = NPHY_RfseqCoreActv_TxRxChain0;
19763 CoreActv_override = true;
19765 if (NREV_LE(pi->pubpi.phy_rev, 2))
19766 and_phy_reg(pi, 0xa0, ~0x20);
19767 } else if (pi->nphy_txrx_chain == BRCMS_N_TXRX_CHAIN1) {
19768 txrx_chain = NPHY_RfseqCoreActv_TxRxChain1;
19769 CoreActv_override = true;
19771 if (NREV_LE(pi->pubpi.phy_rev, 2))
19772 or_phy_reg(pi, 0xa0, 0x20);
19775 mod_phy_reg(pi, 0xa2, ((0xf << 0) | (0xf << 4)), txrx_chain);
19777 if (CoreActv_override) {
19778 pi->nphy_perical = PHY_PERICAL_DISABLE;
19779 or_phy_reg(pi, 0xa1, NPHY_RfseqMode_CoreActv_override);
19781 pi->nphy_perical = PHY_PERICAL_MPHASE;
19782 and_phy_reg(pi, 0xa1, ~NPHY_RfseqMode_CoreActv_override);
19786 void wlc_phy_rxcore_setstate_nphy(struct brcms_phy_pub *pih, u8 rxcore_bitmask)
19791 struct brcms_phy *pi = (struct brcms_phy *) pih;
19795 pi->sh->phyrxchain = rxcore_bitmask;
19800 suspend = (0 == (R_REG(&pi->regs->maccontrol) & MCTL_EN_MAC));
19802 wlapi_suspend_mac_and_wait(pi->sh->physhim);
19804 if (pi->phyhang_avoid)
19805 wlc_phy_stay_in_carriersearch_nphy(pi, true);
19807 regval = read_phy_reg(pi, 0xa2);
19808 regval &= ~(0xf << 4);
19809 regval |= ((u16) (rxcore_bitmask & 0x3)) << 4;
19810 write_phy_reg(pi, 0xa2, regval);
19812 if ((rxcore_bitmask & 0x3) != 0x3) {
19814 write_phy_reg(pi, 0x20e, 1);
19816 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19817 if (pi->rx2tx_biasentry == -1) {
19818 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ,
19819 ARRAY_SIZE(tbl_buf), 80,
19822 for (i = 0; i < ARRAY_SIZE(tbl_buf); i++) {
19824 NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS) {
19825 pi->rx2tx_biasentry = (u8) i;
19827 NPHY_REV3_RFSEQ_CMD_NOP;
19828 wlc_phy_table_write_nphy(
19835 } else if (tbl_buf[i] ==
19836 NPHY_REV3_RFSEQ_CMD_END)
19843 write_phy_reg(pi, 0x20e, 30);
19845 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19846 if (pi->rx2tx_biasentry != -1) {
19847 tbl_opcode = NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS;
19848 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
19849 1, pi->rx2tx_biasentry,
19851 pi->rx2tx_biasentry = -1;
19856 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
19858 if (pi->phyhang_avoid)
19859 wlc_phy_stay_in_carriersearch_nphy(pi, false);
19862 wlapi_enable_mac(pi->sh->physhim);
19865 u8 wlc_phy_rxcore_getstate_nphy(struct brcms_phy_pub *pih)
19867 u16 regval, rxen_bits;
19868 struct brcms_phy *pi = (struct brcms_phy *) pih;
19870 regval = read_phy_reg(pi, 0xa2);
19871 rxen_bits = (regval >> 4) & 0xf;
19873 return (u8) rxen_bits;
19876 bool wlc_phy_n_txpower_ipa_ison(struct brcms_phy *pi)
19878 return PHY_IPA(pi);
19881 void wlc_phy_cal_init_nphy(struct brcms_phy *pi)
19885 static void wlc_phy_radio_preinit_205x(struct brcms_phy *pi)
19888 and_phy_reg(pi, 0x78, ~RFCC_CHIP0_PU);
19889 and_phy_reg(pi, 0x78, RFCC_OE_POR_FORCE);
19891 or_phy_reg(pi, 0x78, ~RFCC_OE_POR_FORCE);
19892 or_phy_reg(pi, 0x78, RFCC_CHIP0_PU);
19896 static void wlc_phy_radio_init_2057(struct brcms_phy *pi)
19898 struct radio_20xx_regs *regs_2057_ptr = NULL;
19900 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
19901 regs_2057_ptr = regs_2057_rev4;
19902 } else if (NREV_IS(pi->pubpi.phy_rev, 8)
19903 || NREV_IS(pi->pubpi.phy_rev, 9)) {
19904 switch (pi->pubpi.radiorev) {
19907 if (pi->pubpi.radiover == 0x0)
19908 regs_2057_ptr = regs_2057_rev5;
19909 else if (pi->pubpi.radiover == 0x1)
19910 regs_2057_ptr = regs_2057_rev5v1;
19916 regs_2057_ptr = regs_2057_rev7;
19921 regs_2057_ptr = regs_2057_rev8;
19929 wlc_phy_init_radio_regs_allbands(pi, regs_2057_ptr);
19932 static u16 wlc_phy_radio205x_rcal(struct brcms_phy *pi)
19937 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19939 if (pi->pubpi.radiorev == 5) {
19941 and_phy_reg(pi, 0x342, ~(0x1 << 1));
19945 mod_radio_reg(pi, RADIO_2057_IQTEST_SEL_PU, 0x1, 0x1);
19946 mod_radio_reg(pi, RADIO_2057v7_IQTEST_SEL_PU2, 0x2,
19949 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x1, 0x1);
19953 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x3, 0x3);
19955 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
19956 rcal_reg = read_radio_reg(pi, RADIO_2057_RCAL_STATUS);
19957 if (rcal_reg & 0x1)
19963 if (WARN(i == MAX_205x_RCAL_WAITLOOPS,
19964 "HW error: radio calib2"))
19967 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x2, 0x0);
19969 rcal_reg = read_radio_reg(pi, RADIO_2057_RCAL_STATUS) & 0x3e;
19971 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x1, 0x0);
19972 if (pi->pubpi.radiorev == 5) {
19974 mod_radio_reg(pi, RADIO_2057_IQTEST_SEL_PU, 0x1, 0x0);
19975 mod_radio_reg(pi, RADIO_2057v7_IQTEST_SEL_PU2, 0x2,
19979 if ((pi->pubpi.radiorev <= 4) || (pi->pubpi.radiorev == 6)) {
19981 mod_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG, 0x3c,
19983 mod_radio_reg(pi, RADIO_2057_BANDGAP_RCAL_TRIM, 0xf0,
19987 } else if (NREV_IS(pi->pubpi.phy_rev, 3)) {
19993 RADIO_2056_SYN_PLL_MAST2 |
19995 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2 | RADIO_2056_SYN,
19999 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
20003 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
20006 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
20007 rcal_reg = read_radio_reg(
20009 RADIO_2056_SYN_RCAL_CODE_OUT |
20011 if (rcal_reg & 0x80)
20017 if (WARN(i == MAX_205x_RCAL_WAITLOOPS,
20018 "HW error: radio calib3"))
20021 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
20026 RADIO_2056_SYN_RCAL_CODE_OUT |
20029 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
20032 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2 | RADIO_2056_SYN,
20035 return rcal_reg & 0x1f;
20037 return rcal_reg & 0x3e;
20040 static u16 wlc_phy_radio2057_rccal(struct brcms_phy *pi)
20044 bool chip43226_6362A0;
20046 chip43226_6362A0 = ((pi->pubpi.radiorev == 3)
20047 || (pi->pubpi.radiorev == 4)
20048 || (pi->pubpi.radiorev == 6));
20051 if (chip43226_6362A0) {
20052 write_radio_reg(pi, RADIO_2057_RCCAL_MASTER, 0x61);
20053 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xc0);
20055 write_radio_reg(pi, RADIO_2057v7_RCCAL_MASTER, 0x61);
20057 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xe9);
20059 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x6e);
20060 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x55);
20062 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
20063 rccal_valid = read_radio_reg(pi, RADIO_2057_RCCAL_DONE_OSCCAP);
20064 if (rccal_valid & 0x2)
20070 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x15);
20073 if (chip43226_6362A0) {
20074 write_radio_reg(pi, RADIO_2057_RCCAL_MASTER, 0x69);
20075 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xb0);
20077 write_radio_reg(pi, RADIO_2057v7_RCCAL_MASTER, 0x69);
20079 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xd5);
20081 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x6e);
20082 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x55);
20084 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
20085 rccal_valid = read_radio_reg(pi, RADIO_2057_RCCAL_DONE_OSCCAP);
20086 if (rccal_valid & 0x2)
20092 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x15);
20095 if (chip43226_6362A0) {
20096 write_radio_reg(pi, RADIO_2057_RCCAL_MASTER, 0x73);
20098 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x28);
20099 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xb0);
20101 write_radio_reg(pi, RADIO_2057v7_RCCAL_MASTER, 0x73);
20102 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x6e);
20103 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0x99);
20105 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x55);
20107 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
20108 rccal_valid = read_radio_reg(pi, RADIO_2057_RCCAL_DONE_OSCCAP);
20109 if (rccal_valid & 0x2)
20115 if (WARN(!(rccal_valid & 0x2), "HW error: radio calib4"))
20118 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x15);
20120 return rccal_valid;
20123 static void wlc_phy_radio_postinit_2057(struct brcms_phy *pi)
20126 mod_radio_reg(pi, RADIO_2057_XTALPUOVR_PINCTRL, 0x1, 0x1);
20128 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x78, 0x78);
20129 mod_radio_reg(pi, RADIO_2057_XTAL_CONFIG2, 0x80, 0x80);
20131 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x78, 0x0);
20132 mod_radio_reg(pi, RADIO_2057_XTAL_CONFIG2, 0x80, 0x0);
20134 if (pi->phy_init_por) {
20135 wlc_phy_radio205x_rcal(pi);
20136 wlc_phy_radio2057_rccal(pi);
20139 mod_radio_reg(pi, RADIO_2057_RFPLL_MASTER, 0x8, 0x0);
20142 static void wlc_phy_radio_init_2056(struct brcms_phy *pi)
20144 const struct radio_regs *regs_SYN_2056_ptr = NULL;
20145 const struct radio_regs *regs_TX_2056_ptr = NULL;
20146 const struct radio_regs *regs_RX_2056_ptr = NULL;
20148 if (NREV_IS(pi->pubpi.phy_rev, 3)) {
20149 regs_SYN_2056_ptr = regs_SYN_2056;
20150 regs_TX_2056_ptr = regs_TX_2056;
20151 regs_RX_2056_ptr = regs_RX_2056;
20152 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
20153 regs_SYN_2056_ptr = regs_SYN_2056_A1;
20154 regs_TX_2056_ptr = regs_TX_2056_A1;
20155 regs_RX_2056_ptr = regs_RX_2056_A1;
20157 switch (pi->pubpi.radiorev) {
20159 regs_SYN_2056_ptr = regs_SYN_2056_rev5;
20160 regs_TX_2056_ptr = regs_TX_2056_rev5;
20161 regs_RX_2056_ptr = regs_RX_2056_rev5;
20165 regs_SYN_2056_ptr = regs_SYN_2056_rev6;
20166 regs_TX_2056_ptr = regs_TX_2056_rev6;
20167 regs_RX_2056_ptr = regs_RX_2056_rev6;
20172 regs_SYN_2056_ptr = regs_SYN_2056_rev7;
20173 regs_TX_2056_ptr = regs_TX_2056_rev7;
20174 regs_RX_2056_ptr = regs_RX_2056_rev7;
20178 regs_SYN_2056_ptr = regs_SYN_2056_rev8;
20179 regs_TX_2056_ptr = regs_TX_2056_rev8;
20180 regs_RX_2056_ptr = regs_RX_2056_rev8;
20184 regs_SYN_2056_ptr = regs_SYN_2056_rev11;
20185 regs_TX_2056_ptr = regs_TX_2056_rev11;
20186 regs_RX_2056_ptr = regs_RX_2056_rev11;
20194 wlc_phy_init_radio_regs(pi, regs_SYN_2056_ptr, (u16) RADIO_2056_SYN);
20196 wlc_phy_init_radio_regs(pi, regs_TX_2056_ptr, (u16) RADIO_2056_TX0);
20198 wlc_phy_init_radio_regs(pi, regs_TX_2056_ptr, (u16) RADIO_2056_TX1);
20200 wlc_phy_init_radio_regs(pi, regs_RX_2056_ptr, (u16) RADIO_2056_RX0);
20202 wlc_phy_init_radio_regs(pi, regs_RX_2056_ptr, (u16) RADIO_2056_RX1);
20205 static void wlc_phy_radio_postinit_2056(struct brcms_phy *pi)
20207 mod_radio_reg(pi, RADIO_2056_SYN_COM_CTRL, 0xb, 0xb);
20209 mod_radio_reg(pi, RADIO_2056_SYN_COM_PU, 0x2, 0x2);
20210 mod_radio_reg(pi, RADIO_2056_SYN_COM_RESET, 0x2, 0x2);
20212 mod_radio_reg(pi, RADIO_2056_SYN_COM_RESET, 0x2, 0x0);
20214 if ((pi->sh->boardflags2 & BFL2_LEGACY)
20215 || (pi->sh->boardflags2 & BFL2_XTALBUFOUTEN))
20216 mod_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2, 0xf4, 0x0);
20218 mod_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2, 0xfc, 0x0);
20220 mod_radio_reg(pi, RADIO_2056_SYN_RCCAL_CTRL0, 0x1, 0x0);
20222 if (pi->phy_init_por)
20223 wlc_phy_radio205x_rcal(pi);
20226 static void wlc_phy_radio_preinit_2055(struct brcms_phy *pi)
20229 and_phy_reg(pi, 0x78, ~RFCC_POR_FORCE);
20230 or_phy_reg(pi, 0x78, RFCC_CHIP0_PU | RFCC_OE_POR_FORCE);
20232 or_phy_reg(pi, 0x78, RFCC_POR_FORCE);
20235 static void wlc_phy_radio_init_2055(struct brcms_phy *pi)
20237 wlc_phy_init_radio_regs(pi, regs_2055, RADIO_DEFAULT_CORE);
20240 static void wlc_phy_radio_postinit_2055(struct brcms_phy *pi)
20243 and_radio_reg(pi, RADIO_2055_MASTER_CNTRL1,
20244 ~(RADIO_2055_JTAGCTRL_MASK | RADIO_2055_JTAGSYNC_MASK));
20246 if (((pi->sh->sromrev >= 4)
20247 && !(pi->sh->boardflags2 & BFL2_RXBB_INT_REG_DIS))
20248 || ((pi->sh->sromrev < 4))) {
20249 and_radio_reg(pi, RADIO_2055_CORE1_RXBB_REGULATOR, 0x7F);
20250 and_radio_reg(pi, RADIO_2055_CORE2_RXBB_REGULATOR, 0x7F);
20253 mod_radio_reg(pi, RADIO_2055_RRCCAL_N_OPT_SEL, 0x3F, 0x2C);
20254 write_radio_reg(pi, RADIO_2055_CAL_MISC, 0x3C);
20256 and_radio_reg(pi, RADIO_2055_CAL_MISC,
20257 ~(RADIO_2055_RRCAL_START | RADIO_2055_RRCAL_RST_N));
20259 or_radio_reg(pi, RADIO_2055_CAL_LPO_CNTRL, RADIO_2055_CAL_LPO_ENABLE);
20261 or_radio_reg(pi, RADIO_2055_CAL_MISC, RADIO_2055_RRCAL_RST_N);
20265 or_radio_reg(pi, RADIO_2055_CAL_MISC, RADIO_2055_RRCAL_START);
20267 SPINWAIT(((read_radio_reg(pi, RADIO_2055_CAL_COUNTER_OUT2) &
20268 RADIO_2055_RCAL_DONE) != RADIO_2055_RCAL_DONE), 2000);
20270 if (WARN((read_radio_reg(pi, RADIO_2055_CAL_COUNTER_OUT2) &
20271 RADIO_2055_RCAL_DONE) != RADIO_2055_RCAL_DONE,
20272 "HW error: radio calibration1\n"))
20275 and_radio_reg(pi, RADIO_2055_CAL_LPO_CNTRL,
20276 ~(RADIO_2055_CAL_LPO_ENABLE));
20278 wlc_phy_chanspec_set((struct brcms_phy_pub *) pi, pi->radio_chanspec);
20280 write_radio_reg(pi, RADIO_2055_CORE1_RXBB_LPF, 9);
20281 write_radio_reg(pi, RADIO_2055_CORE2_RXBB_LPF, 9);
20283 write_radio_reg(pi, RADIO_2055_CORE1_RXBB_MIDAC_HIPAS, 0x83);
20284 write_radio_reg(pi, RADIO_2055_CORE2_RXBB_MIDAC_HIPAS, 0x83);
20286 mod_radio_reg(pi, RADIO_2055_CORE1_LNA_GAINBST,
20287 RADIO_2055_GAINBST_VAL_MASK, RADIO_2055_GAINBST_CODE);
20288 mod_radio_reg(pi, RADIO_2055_CORE2_LNA_GAINBST,
20289 RADIO_2055_GAINBST_VAL_MASK, RADIO_2055_GAINBST_CODE);
20290 if (pi->nphy_gain_boost) {
20291 and_radio_reg(pi, RADIO_2055_CORE1_RXRF_SPC1,
20292 ~(RADIO_2055_GAINBST_DISABLE));
20293 and_radio_reg(pi, RADIO_2055_CORE2_RXRF_SPC1,
20294 ~(RADIO_2055_GAINBST_DISABLE));
20296 or_radio_reg(pi, RADIO_2055_CORE1_RXRF_SPC1,
20297 RADIO_2055_GAINBST_DISABLE);
20298 or_radio_reg(pi, RADIO_2055_CORE2_RXRF_SPC1,
20299 RADIO_2055_GAINBST_DISABLE);
20305 void wlc_phy_switch_radio_nphy(struct brcms_phy *pi, bool on)
20308 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
20309 if (!pi->radio_is_on) {
20310 wlc_phy_radio_preinit_205x(pi);
20311 wlc_phy_radio_init_2057(pi);
20312 wlc_phy_radio_postinit_2057(pi);
20315 wlc_phy_chanspec_set((struct brcms_phy_pub *) pi,
20316 pi->radio_chanspec);
20317 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
20318 wlc_phy_radio_preinit_205x(pi);
20319 wlc_phy_radio_init_2056(pi);
20320 wlc_phy_radio_postinit_2056(pi);
20322 wlc_phy_chanspec_set((struct brcms_phy_pub *) pi,
20323 pi->radio_chanspec);
20325 wlc_phy_radio_preinit_2055(pi);
20326 wlc_phy_radio_init_2055(pi);
20327 wlc_phy_radio_postinit_2055(pi);
20330 pi->radio_is_on = true;
20334 if (NREV_GE(pi->pubpi.phy_rev, 3)
20335 && NREV_LT(pi->pubpi.phy_rev, 7)) {
20336 and_phy_reg(pi, 0x78, ~RFCC_CHIP0_PU);
20337 mod_radio_reg(pi, RADIO_2056_SYN_COM_PU, 0x2, 0x0);
20339 write_radio_reg(pi,
20340 RADIO_2056_TX_PADA_BOOST_TUNE |
20341 RADIO_2056_TX0, 0);
20342 write_radio_reg(pi,
20343 RADIO_2056_TX_PADG_BOOST_TUNE |
20344 RADIO_2056_TX0, 0);
20345 write_radio_reg(pi,
20346 RADIO_2056_TX_PGAA_BOOST_TUNE |
20347 RADIO_2056_TX0, 0);
20348 write_radio_reg(pi,
20349 RADIO_2056_TX_PGAG_BOOST_TUNE |
20350 RADIO_2056_TX0, 0);
20352 RADIO_2056_TX_MIXA_BOOST_TUNE |
20353 RADIO_2056_TX0, 0xf0, 0);
20354 write_radio_reg(pi,
20355 RADIO_2056_TX_MIXG_BOOST_TUNE |
20356 RADIO_2056_TX0, 0);
20358 write_radio_reg(pi,
20359 RADIO_2056_TX_PADA_BOOST_TUNE |
20360 RADIO_2056_TX1, 0);
20361 write_radio_reg(pi,
20362 RADIO_2056_TX_PADG_BOOST_TUNE |
20363 RADIO_2056_TX1, 0);
20364 write_radio_reg(pi,
20365 RADIO_2056_TX_PGAA_BOOST_TUNE |
20366 RADIO_2056_TX1, 0);
20367 write_radio_reg(pi,
20368 RADIO_2056_TX_PGAG_BOOST_TUNE |
20369 RADIO_2056_TX1, 0);
20371 RADIO_2056_TX_MIXA_BOOST_TUNE |
20372 RADIO_2056_TX1, 0xf0, 0);
20373 write_radio_reg(pi,
20374 RADIO_2056_TX_MIXG_BOOST_TUNE |
20375 RADIO_2056_TX1, 0);
20377 pi->radio_is_on = false;
20380 if (NREV_GE(pi->pubpi.phy_rev, 8)) {
20381 and_phy_reg(pi, 0x78, ~RFCC_CHIP0_PU);
20382 pi->radio_is_on = false;
20389 wlc_phy_chan2freq_nphy(struct brcms_phy *pi, uint channel, int *f,
20390 struct chan_info_nphy_radio2057 **t0,
20391 struct chan_info_nphy_radio205x **t1,
20392 struct chan_info_nphy_radio2057_rev5 **t2,
20393 struct chan_info_nphy_2055 **t3)
20396 struct chan_info_nphy_radio2057 *chan_info_tbl_p_0 = NULL;
20397 struct chan_info_nphy_radio205x *chan_info_tbl_p_1 = NULL;
20398 struct chan_info_nphy_radio2057_rev5 *chan_info_tbl_p_2 = NULL;
20403 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
20405 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
20407 chan_info_tbl_p_0 = chan_info_nphyrev7_2057_rev4;
20408 tbl_len = ARRAY_SIZE(chan_info_nphyrev7_2057_rev4);
20410 } else if (NREV_IS(pi->pubpi.phy_rev, 8)
20411 || NREV_IS(pi->pubpi.phy_rev, 9)) {
20412 switch (pi->pubpi.radiorev) {
20416 if (pi->pubpi.radiover == 0x0) {
20418 chan_info_tbl_p_2 =
20419 chan_info_nphyrev8_2057_rev5;
20420 tbl_len = ARRAY_SIZE(
20421 chan_info_nphyrev8_2057_rev5);
20423 } else if (pi->pubpi.radiover == 0x1) {
20425 chan_info_tbl_p_2 =
20426 chan_info_nphyrev9_2057_rev5v1;
20427 tbl_len = ARRAY_SIZE(
20428 chan_info_nphyrev9_2057_rev5v1);
20434 chan_info_tbl_p_0 =
20435 chan_info_nphyrev8_2057_rev7;
20436 tbl_len = ARRAY_SIZE(
20437 chan_info_nphyrev8_2057_rev7);
20441 chan_info_tbl_p_0 =
20442 chan_info_nphyrev8_2057_rev8;
20443 tbl_len = ARRAY_SIZE(
20444 chan_info_nphyrev8_2057_rev8);
20450 } else if (NREV_IS(pi->pubpi.phy_rev, 16)) {
20452 chan_info_tbl_p_0 = chan_info_nphyrev8_2057_rev8;
20453 tbl_len = ARRAY_SIZE(chan_info_nphyrev8_2057_rev8);
20458 for (i = 0; i < tbl_len; i++) {
20459 if (pi->pubpi.radiorev == 5) {
20461 if (chan_info_tbl_p_2[i].chan == channel)
20465 if (chan_info_tbl_p_0[i].chan == channel)
20473 if (pi->pubpi.radiorev == 5) {
20474 *t2 = &chan_info_tbl_p_2[i];
20475 freq = chan_info_tbl_p_2[i].freq;
20477 *t0 = &chan_info_tbl_p_0[i];
20478 freq = chan_info_tbl_p_0[i].freq;
20481 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
20482 if (NREV_IS(pi->pubpi.phy_rev, 3)) {
20483 chan_info_tbl_p_1 = chan_info_nphyrev3_2056;
20484 tbl_len = ARRAY_SIZE(chan_info_nphyrev3_2056);
20485 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
20486 chan_info_tbl_p_1 = chan_info_nphyrev4_2056_A1;
20487 tbl_len = ARRAY_SIZE(chan_info_nphyrev4_2056_A1);
20488 } else if (NREV_IS(pi->pubpi.phy_rev, 5)
20489 || NREV_IS(pi->pubpi.phy_rev, 6)) {
20490 switch (pi->pubpi.radiorev) {
20492 chan_info_tbl_p_1 = chan_info_nphyrev5_2056v5;
20493 tbl_len = ARRAY_SIZE(chan_info_nphyrev5_2056v5);
20496 chan_info_tbl_p_1 = chan_info_nphyrev6_2056v6;
20497 tbl_len = ARRAY_SIZE(chan_info_nphyrev6_2056v6);
20501 chan_info_tbl_p_1 = chan_info_nphyrev5n6_2056v7;
20503 ARRAY_SIZE(chan_info_nphyrev5n6_2056v7);
20506 chan_info_tbl_p_1 = chan_info_nphyrev6_2056v8;
20507 tbl_len = ARRAY_SIZE(chan_info_nphyrev6_2056v8);
20510 chan_info_tbl_p_1 = chan_info_nphyrev6_2056v11;
20511 tbl_len = ARRAY_SIZE(
20512 chan_info_nphyrev6_2056v11);
20519 for (i = 0; i < tbl_len; i++) {
20520 if (chan_info_tbl_p_1[i].chan == channel)
20527 *t1 = &chan_info_tbl_p_1[i];
20528 freq = chan_info_tbl_p_1[i].freq;
20531 for (i = 0; i < ARRAY_SIZE(chan_info_nphy_2055); i++)
20532 if (chan_info_nphy_2055[i].chan == channel)
20535 if (i >= ARRAY_SIZE(chan_info_nphy_2055))
20538 *t3 = &chan_info_nphy_2055[i];
20539 freq = chan_info_nphy_2055[i].freq;
20546 *f = WL_CHAN_FREQ_RANGE_2G;
20550 u8 wlc_phy_get_chan_freq_range_nphy(struct brcms_phy *pi, uint channel)
20553 struct chan_info_nphy_radio2057 *t0 = NULL;
20554 struct chan_info_nphy_radio205x *t1 = NULL;
20555 struct chan_info_nphy_radio2057_rev5 *t2 = NULL;
20556 struct chan_info_nphy_2055 *t3 = NULL;
20559 channel = CHSPEC_CHANNEL(pi->radio_chanspec);
20561 wlc_phy_chan2freq_nphy(pi, channel, &freq, &t0, &t1, &t2, &t3);
20563 if (CHSPEC_IS2G(pi->radio_chanspec))
20564 return WL_CHAN_FREQ_RANGE_2G;
20566 if ((freq >= BASE_LOW_5G_CHAN) && (freq < BASE_MID_5G_CHAN))
20567 return WL_CHAN_FREQ_RANGE_5GL;
20568 else if ((freq >= BASE_MID_5G_CHAN) && (freq < BASE_HIGH_5G_CHAN))
20569 return WL_CHAN_FREQ_RANGE_5GM;
20571 return WL_CHAN_FREQ_RANGE_5GH;
20575 wlc_phy_chanspec_radio2055_setup(struct brcms_phy *pi,
20576 struct chan_info_nphy_2055 *ci)
20579 write_radio_reg(pi, RADIO_2055_PLL_REF, ci->RF_pll_ref);
20580 write_radio_reg(pi, RADIO_2055_RF_PLL_MOD0, ci->RF_rf_pll_mod0);
20581 write_radio_reg(pi, RADIO_2055_RF_PLL_MOD1, ci->RF_rf_pll_mod1);
20582 write_radio_reg(pi, RADIO_2055_VCO_CAP_TAIL, ci->RF_vco_cap_tail);
20584 BRCMS_PHY_WAR_PR51571(pi);
20586 write_radio_reg(pi, RADIO_2055_VCO_CAL1, ci->RF_vco_cal1);
20587 write_radio_reg(pi, RADIO_2055_VCO_CAL2, ci->RF_vco_cal2);
20588 write_radio_reg(pi, RADIO_2055_PLL_LF_C1, ci->RF_pll_lf_c1);
20589 write_radio_reg(pi, RADIO_2055_PLL_LF_R1, ci->RF_pll_lf_r1);
20591 BRCMS_PHY_WAR_PR51571(pi);
20593 write_radio_reg(pi, RADIO_2055_PLL_LF_C2, ci->RF_pll_lf_c2);
20594 write_radio_reg(pi, RADIO_2055_LGBUF_CEN_BUF, ci->RF_lgbuf_cen_buf);
20595 write_radio_reg(pi, RADIO_2055_LGEN_TUNE1, ci->RF_lgen_tune1);
20596 write_radio_reg(pi, RADIO_2055_LGEN_TUNE2, ci->RF_lgen_tune2);
20598 BRCMS_PHY_WAR_PR51571(pi);
20600 write_radio_reg(pi, RADIO_2055_CORE1_LGBUF_A_TUNE,
20601 ci->RF_core1_lgbuf_a_tune);
20602 write_radio_reg(pi, RADIO_2055_CORE1_LGBUF_G_TUNE,
20603 ci->RF_core1_lgbuf_g_tune);
20604 write_radio_reg(pi, RADIO_2055_CORE1_RXRF_REG1, ci->RF_core1_rxrf_reg1);
20605 write_radio_reg(pi, RADIO_2055_CORE1_TX_PGA_PAD_TN,
20606 ci->RF_core1_tx_pga_pad_tn);
20608 BRCMS_PHY_WAR_PR51571(pi);
20610 write_radio_reg(pi, RADIO_2055_CORE1_TX_MX_BGTRIM,
20611 ci->RF_core1_tx_mx_bgtrim);
20612 write_radio_reg(pi, RADIO_2055_CORE2_LGBUF_A_TUNE,
20613 ci->RF_core2_lgbuf_a_tune);
20614 write_radio_reg(pi, RADIO_2055_CORE2_LGBUF_G_TUNE,
20615 ci->RF_core2_lgbuf_g_tune);
20616 write_radio_reg(pi, RADIO_2055_CORE2_RXRF_REG1, ci->RF_core2_rxrf_reg1);
20618 BRCMS_PHY_WAR_PR51571(pi);
20620 write_radio_reg(pi, RADIO_2055_CORE2_TX_PGA_PAD_TN,
20621 ci->RF_core2_tx_pga_pad_tn);
20622 write_radio_reg(pi, RADIO_2055_CORE2_TX_MX_BGTRIM,
20623 ci->RF_core2_tx_mx_bgtrim);
20627 write_radio_reg(pi, RADIO_2055_VCO_CAL10, 0x05);
20628 write_radio_reg(pi, RADIO_2055_VCO_CAL10, 0x45);
20630 BRCMS_PHY_WAR_PR51571(pi);
20632 write_radio_reg(pi, RADIO_2055_VCO_CAL10, 0x65);
20638 wlc_phy_chanspec_radio2056_setup(struct brcms_phy *pi,
20639 const struct chan_info_nphy_radio205x *ci)
20641 const struct radio_regs *regs_SYN_2056_ptr = NULL;
20643 write_radio_reg(pi,
20644 RADIO_2056_SYN_PLL_VCOCAL1 | RADIO_2056_SYN,
20645 ci->RF_SYN_pll_vcocal1);
20646 write_radio_reg(pi, RADIO_2056_SYN_PLL_VCOCAL2 | RADIO_2056_SYN,
20647 ci->RF_SYN_pll_vcocal2);
20648 write_radio_reg(pi, RADIO_2056_SYN_PLL_REFDIV | RADIO_2056_SYN,
20649 ci->RF_SYN_pll_refdiv);
20650 write_radio_reg(pi, RADIO_2056_SYN_PLL_MMD2 | RADIO_2056_SYN,
20651 ci->RF_SYN_pll_mmd2);
20652 write_radio_reg(pi, RADIO_2056_SYN_PLL_MMD1 | RADIO_2056_SYN,
20653 ci->RF_SYN_pll_mmd1);
20654 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER1 | RADIO_2056_SYN,
20655 ci->RF_SYN_pll_loopfilter1);
20656 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER2 | RADIO_2056_SYN,
20657 ci->RF_SYN_pll_loopfilter2);
20658 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER3 | RADIO_2056_SYN,
20659 ci->RF_SYN_pll_loopfilter3);
20660 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER4 | RADIO_2056_SYN,
20661 ci->RF_SYN_pll_loopfilter4);
20662 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER5 | RADIO_2056_SYN,
20663 ci->RF_SYN_pll_loopfilter5);
20664 write_radio_reg(pi, RADIO_2056_SYN_RESERVED_ADDR27 | RADIO_2056_SYN,
20665 ci->RF_SYN_reserved_addr27);
20666 write_radio_reg(pi, RADIO_2056_SYN_RESERVED_ADDR28 | RADIO_2056_SYN,
20667 ci->RF_SYN_reserved_addr28);
20668 write_radio_reg(pi, RADIO_2056_SYN_RESERVED_ADDR29 | RADIO_2056_SYN,
20669 ci->RF_SYN_reserved_addr29);
20670 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_VCOBUF1 | RADIO_2056_SYN,
20671 ci->RF_SYN_logen_VCOBUF1);
20672 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_MIXER2 | RADIO_2056_SYN,
20673 ci->RF_SYN_logen_MIXER2);
20674 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_BUF3 | RADIO_2056_SYN,
20675 ci->RF_SYN_logen_BUF3);
20676 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_BUF4 | RADIO_2056_SYN,
20677 ci->RF_SYN_logen_BUF4);
20679 write_radio_reg(pi,
20680 RADIO_2056_RX_LNAA_TUNE | RADIO_2056_RX0,
20681 ci->RF_RX0_lnaa_tune);
20682 write_radio_reg(pi, RADIO_2056_RX_LNAG_TUNE | RADIO_2056_RX0,
20683 ci->RF_RX0_lnag_tune);
20684 write_radio_reg(pi, RADIO_2056_TX_INTPAA_BOOST_TUNE | RADIO_2056_TX0,
20685 ci->RF_TX0_intpaa_boost_tune);
20686 write_radio_reg(pi, RADIO_2056_TX_INTPAG_BOOST_TUNE | RADIO_2056_TX0,
20687 ci->RF_TX0_intpag_boost_tune);
20688 write_radio_reg(pi, RADIO_2056_TX_PADA_BOOST_TUNE | RADIO_2056_TX0,
20689 ci->RF_TX0_pada_boost_tune);
20690 write_radio_reg(pi, RADIO_2056_TX_PADG_BOOST_TUNE | RADIO_2056_TX0,
20691 ci->RF_TX0_padg_boost_tune);
20692 write_radio_reg(pi, RADIO_2056_TX_PGAA_BOOST_TUNE | RADIO_2056_TX0,
20693 ci->RF_TX0_pgaa_boost_tune);
20694 write_radio_reg(pi, RADIO_2056_TX_PGAG_BOOST_TUNE | RADIO_2056_TX0,
20695 ci->RF_TX0_pgag_boost_tune);
20696 write_radio_reg(pi, RADIO_2056_TX_MIXA_BOOST_TUNE | RADIO_2056_TX0,
20697 ci->RF_TX0_mixa_boost_tune);
20698 write_radio_reg(pi, RADIO_2056_TX_MIXG_BOOST_TUNE | RADIO_2056_TX0,
20699 ci->RF_TX0_mixg_boost_tune);
20701 write_radio_reg(pi,
20702 RADIO_2056_RX_LNAA_TUNE | RADIO_2056_RX1,
20703 ci->RF_RX1_lnaa_tune);
20704 write_radio_reg(pi, RADIO_2056_RX_LNAG_TUNE | RADIO_2056_RX1,
20705 ci->RF_RX1_lnag_tune);
20706 write_radio_reg(pi, RADIO_2056_TX_INTPAA_BOOST_TUNE | RADIO_2056_TX1,
20707 ci->RF_TX1_intpaa_boost_tune);
20708 write_radio_reg(pi, RADIO_2056_TX_INTPAG_BOOST_TUNE | RADIO_2056_TX1,
20709 ci->RF_TX1_intpag_boost_tune);
20710 write_radio_reg(pi, RADIO_2056_TX_PADA_BOOST_TUNE | RADIO_2056_TX1,
20711 ci->RF_TX1_pada_boost_tune);
20712 write_radio_reg(pi, RADIO_2056_TX_PADG_BOOST_TUNE | RADIO_2056_TX1,
20713 ci->RF_TX1_padg_boost_tune);
20714 write_radio_reg(pi, RADIO_2056_TX_PGAA_BOOST_TUNE | RADIO_2056_TX1,
20715 ci->RF_TX1_pgaa_boost_tune);
20716 write_radio_reg(pi, RADIO_2056_TX_PGAG_BOOST_TUNE | RADIO_2056_TX1,
20717 ci->RF_TX1_pgag_boost_tune);
20718 write_radio_reg(pi, RADIO_2056_TX_MIXA_BOOST_TUNE | RADIO_2056_TX1,
20719 ci->RF_TX1_mixa_boost_tune);
20720 write_radio_reg(pi, RADIO_2056_TX_MIXG_BOOST_TUNE | RADIO_2056_TX1,
20721 ci->RF_TX1_mixg_boost_tune);
20723 if (NREV_IS(pi->pubpi.phy_rev, 3))
20724 regs_SYN_2056_ptr = regs_SYN_2056;
20725 else if (NREV_IS(pi->pubpi.phy_rev, 4))
20726 regs_SYN_2056_ptr = regs_SYN_2056_A1;
20728 switch (pi->pubpi.radiorev) {
20730 regs_SYN_2056_ptr = regs_SYN_2056_rev5;
20733 regs_SYN_2056_ptr = regs_SYN_2056_rev6;
20737 regs_SYN_2056_ptr = regs_SYN_2056_rev7;
20740 regs_SYN_2056_ptr = regs_SYN_2056_rev8;
20743 regs_SYN_2056_ptr = regs_SYN_2056_rev11;
20747 if (CHSPEC_IS2G(pi->radio_chanspec))
20748 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 |
20750 (u16) regs_SYN_2056_ptr[0x49 - 2].init_g);
20752 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 |
20754 (u16) regs_SYN_2056_ptr[0x49 - 2].init_a);
20756 if (pi->sh->boardflags2 & BFL2_GPLL_WAR) {
20757 if (CHSPEC_IS2G(pi->radio_chanspec)) {
20758 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER1 |
20759 RADIO_2056_SYN, 0x1f);
20760 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER2 |
20761 RADIO_2056_SYN, 0x1f);
20763 write_radio_reg(pi,
20764 RADIO_2056_SYN_PLL_LOOPFILTER4 |
20765 RADIO_2056_SYN, 0xb);
20766 write_radio_reg(pi,
20767 RADIO_2056_SYN_PLL_CP2 |
20768 RADIO_2056_SYN, 0x14);
20772 if ((pi->sh->boardflags2 & BFL2_GPLL_WAR2) &&
20773 (CHSPEC_IS2G(pi->radio_chanspec))) {
20774 write_radio_reg(pi,
20775 RADIO_2056_SYN_PLL_LOOPFILTER1 | RADIO_2056_SYN,
20777 write_radio_reg(pi,
20778 RADIO_2056_SYN_PLL_LOOPFILTER2 | RADIO_2056_SYN,
20780 write_radio_reg(pi,
20781 RADIO_2056_SYN_PLL_LOOPFILTER4 | RADIO_2056_SYN,
20783 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 | RADIO_2056_SYN,
20787 if (pi->sh->boardflags2 & BFL2_APLL_WAR) {
20788 if (CHSPEC_IS5G(pi->radio_chanspec)) {
20789 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER1 |
20790 RADIO_2056_SYN, 0x1f);
20791 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER2 |
20792 RADIO_2056_SYN, 0x1f);
20793 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER4 |
20794 RADIO_2056_SYN, 0x5);
20795 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 |
20796 RADIO_2056_SYN, 0xc);
20800 if (PHY_IPA(pi) && CHSPEC_IS2G(pi->radio_chanspec)) {
20801 u16 pag_boost_tune;
20802 u16 padg_boost_tune;
20803 u16 pgag_boost_tune;
20804 u16 mixg_boost_tune;
20805 u16 bias, cascbias;
20808 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
20810 if (NREV_GE(pi->pubpi.phy_rev, 5)) {
20812 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
20818 if ((pi->sh->chip ==
20820 || (pi->sh->chip ==
20821 BCM43225_CHIP_ID)) {
20822 if (pi->sh->chippkg ==
20823 BCM43224_FAB_SMIC) {
20829 pag_boost_tune = 0x4;
20830 pgag_boost_tune = 0x03;
20831 padg_boost_tune = 0x77;
20832 mixg_boost_tune = 0x65;
20834 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
20835 INTPAG_IMAIN_STAT, bias);
20836 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
20837 INTPAG_IAUX_STAT, bias);
20838 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
20839 INTPAG_CASCBIAS, cascbias);
20841 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
20844 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
20847 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
20850 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
20855 bias = (pi->bw == WL_CHANSPEC_BW_40) ?
20858 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
20859 INTPAG_IMAIN_STAT, bias);
20860 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
20861 INTPAG_IAUX_STAT, bias);
20862 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
20863 INTPAG_CASCBIAS, 0x30);
20865 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, PA_SPARE1,
20870 if (PHY_IPA(pi) && NREV_IS(pi->pubpi.phy_rev, 6)
20871 && CHSPEC_IS5G(pi->radio_chanspec)) {
20872 u16 paa_boost_tune;
20873 u16 pada_boost_tune;
20874 u16 pgaa_boost_tune;
20875 u16 mixa_boost_tune;
20876 u16 freq, pabias, cascbias;
20879 freq = CHAN5G_FREQ(CHSPEC_CHANNEL(pi->radio_chanspec));
20883 paa_boost_tune = 0xa;
20884 pada_boost_tune = 0x77;
20885 pgaa_boost_tune = 0xf;
20886 mixa_boost_tune = 0xf;
20887 } else if (freq < 5340) {
20889 paa_boost_tune = 0x8;
20890 pada_boost_tune = 0x77;
20891 pgaa_boost_tune = 0xfb;
20892 mixa_boost_tune = 0xf;
20893 } else if (freq < 5650) {
20895 paa_boost_tune = 0x0;
20896 pada_boost_tune = 0x77;
20897 pgaa_boost_tune = 0xb;
20898 mixa_boost_tune = 0xf;
20901 paa_boost_tune = 0x0;
20902 pada_boost_tune = 0x77;
20904 pgaa_boost_tune = -(int)(freq - 18) / 36 + 168;
20906 pgaa_boost_tune = 6;
20908 mixa_boost_tune = 0xf;
20911 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
20912 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
20913 INTPAA_BOOST_TUNE, paa_boost_tune);
20914 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
20915 PADA_BOOST_TUNE, pada_boost_tune);
20916 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
20917 PGAA_BOOST_TUNE, pgaa_boost_tune);
20918 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
20919 MIXA_BOOST_TUNE, mixa_boost_tune);
20921 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
20923 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
20926 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
20927 PADA_CASCBIAS, 0x3);
20931 if ((pi->sh->chip == BCM43224_CHIP_ID) ||
20932 (pi->sh->chip == BCM43225_CHIP_ID)) {
20933 if (pi->sh->chippkg == BCM43224_FAB_SMIC)
20937 pabias = (pi->phy_pabias == 0) ? 0x30 : pi->phy_pabias;
20939 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
20940 INTPAA_IAUX_STAT, pabias);
20941 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
20942 INTPAA_IMAIN_STAT, pabias);
20943 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
20944 INTPAA_CASCBIAS, cascbias);
20950 wlc_phy_radio205x_vcocal_nphy(pi);
20953 void wlc_phy_radio205x_vcocal_nphy(struct brcms_phy *pi)
20955 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
20956 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_EN, 0x01, 0x0);
20957 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x04, 0x0);
20958 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x04,
20960 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_EN, 0x01, 0x01);
20961 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
20962 write_radio_reg(pi, RADIO_2056_SYN_PLL_VCOCAL12, 0x0);
20963 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x38);
20964 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x18);
20965 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x38);
20966 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x39);
20973 wlc_phy_chanspec_radio2057_setup(
20974 struct brcms_phy *pi,
20975 const struct chan_info_nphy_radio2057 *ci,
20976 const struct chan_info_nphy_radio2057_rev5 *
20980 u16 txmix2g_tune_boost_pu = 0;
20981 u16 pad2g_tune_pus = 0;
20983 if (pi->pubpi.radiorev == 5) {
20985 write_radio_reg(pi,
20986 RADIO_2057_VCOCAL_COUNTVAL0,
20987 ci2->RF_vcocal_countval0);
20988 write_radio_reg(pi, RADIO_2057_VCOCAL_COUNTVAL1,
20989 ci2->RF_vcocal_countval1);
20990 write_radio_reg(pi, RADIO_2057_RFPLL_REFMASTER_SPAREXTALSIZE,
20991 ci2->RF_rfpll_refmaster_sparextalsize);
20992 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
20993 ci2->RF_rfpll_loopfilter_r1);
20994 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
20995 ci2->RF_rfpll_loopfilter_c2);
20996 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
20997 ci2->RF_rfpll_loopfilter_c1);
20998 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC,
20999 ci2->RF_cp_kpd_idac);
21000 write_radio_reg(pi, RADIO_2057_RFPLL_MMD0, ci2->RF_rfpll_mmd0);
21001 write_radio_reg(pi, RADIO_2057_RFPLL_MMD1, ci2->RF_rfpll_mmd1);
21002 write_radio_reg(pi,
21003 RADIO_2057_VCOBUF_TUNE, ci2->RF_vcobuf_tune);
21004 write_radio_reg(pi,
21005 RADIO_2057_LOGEN_MX2G_TUNE,
21006 ci2->RF_logen_mx2g_tune);
21007 write_radio_reg(pi, RADIO_2057_LOGEN_INDBUF2G_TUNE,
21008 ci2->RF_logen_indbuf2g_tune);
21010 write_radio_reg(pi,
21011 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE0,
21012 ci2->RF_txmix2g_tune_boost_pu_core0);
21013 write_radio_reg(pi,
21014 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
21015 ci2->RF_pad2g_tune_pus_core0);
21016 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE0,
21017 ci2->RF_lna2g_tune_core0);
21019 write_radio_reg(pi,
21020 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE1,
21021 ci2->RF_txmix2g_tune_boost_pu_core1);
21022 write_radio_reg(pi,
21023 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
21024 ci2->RF_pad2g_tune_pus_core1);
21025 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE1,
21026 ci2->RF_lna2g_tune_core1);
21030 write_radio_reg(pi,
21031 RADIO_2057_VCOCAL_COUNTVAL0,
21032 ci->RF_vcocal_countval0);
21033 write_radio_reg(pi, RADIO_2057_VCOCAL_COUNTVAL1,
21034 ci->RF_vcocal_countval1);
21035 write_radio_reg(pi, RADIO_2057_RFPLL_REFMASTER_SPAREXTALSIZE,
21036 ci->RF_rfpll_refmaster_sparextalsize);
21037 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
21038 ci->RF_rfpll_loopfilter_r1);
21039 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
21040 ci->RF_rfpll_loopfilter_c2);
21041 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
21042 ci->RF_rfpll_loopfilter_c1);
21043 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, ci->RF_cp_kpd_idac);
21044 write_radio_reg(pi, RADIO_2057_RFPLL_MMD0, ci->RF_rfpll_mmd0);
21045 write_radio_reg(pi, RADIO_2057_RFPLL_MMD1, ci->RF_rfpll_mmd1);
21046 write_radio_reg(pi, RADIO_2057_VCOBUF_TUNE, ci->RF_vcobuf_tune);
21047 write_radio_reg(pi,
21048 RADIO_2057_LOGEN_MX2G_TUNE,
21049 ci->RF_logen_mx2g_tune);
21050 write_radio_reg(pi, RADIO_2057_LOGEN_MX5G_TUNE,
21051 ci->RF_logen_mx5g_tune);
21052 write_radio_reg(pi, RADIO_2057_LOGEN_INDBUF2G_TUNE,
21053 ci->RF_logen_indbuf2g_tune);
21054 write_radio_reg(pi, RADIO_2057_LOGEN_INDBUF5G_TUNE,
21055 ci->RF_logen_indbuf5g_tune);
21057 write_radio_reg(pi,
21058 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE0,
21059 ci->RF_txmix2g_tune_boost_pu_core0);
21060 write_radio_reg(pi,
21061 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
21062 ci->RF_pad2g_tune_pus_core0);
21063 write_radio_reg(pi, RADIO_2057_PGA_BOOST_TUNE_CORE0,
21064 ci->RF_pga_boost_tune_core0);
21065 write_radio_reg(pi, RADIO_2057_TXMIX5G_BOOST_TUNE_CORE0,
21066 ci->RF_txmix5g_boost_tune_core0);
21067 write_radio_reg(pi, RADIO_2057_PAD5G_TUNE_MISC_PUS_CORE0,
21068 ci->RF_pad5g_tune_misc_pus_core0);
21069 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE0,
21070 ci->RF_lna2g_tune_core0);
21071 write_radio_reg(pi, RADIO_2057_LNA5G_TUNE_CORE0,
21072 ci->RF_lna5g_tune_core0);
21074 write_radio_reg(pi,
21075 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE1,
21076 ci->RF_txmix2g_tune_boost_pu_core1);
21077 write_radio_reg(pi,
21078 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
21079 ci->RF_pad2g_tune_pus_core1);
21080 write_radio_reg(pi, RADIO_2057_PGA_BOOST_TUNE_CORE1,
21081 ci->RF_pga_boost_tune_core1);
21082 write_radio_reg(pi, RADIO_2057_TXMIX5G_BOOST_TUNE_CORE1,
21083 ci->RF_txmix5g_boost_tune_core1);
21084 write_radio_reg(pi, RADIO_2057_PAD5G_TUNE_MISC_PUS_CORE1,
21085 ci->RF_pad5g_tune_misc_pus_core1);
21086 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE1,
21087 ci->RF_lna2g_tune_core1);
21088 write_radio_reg(pi, RADIO_2057_LNA5G_TUNE_CORE1,
21089 ci->RF_lna5g_tune_core1);
21092 if ((pi->pubpi.radiorev <= 4) || (pi->pubpi.radiorev == 6)) {
21094 if (CHSPEC_IS2G(pi->radio_chanspec)) {
21095 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
21097 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x3f);
21098 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
21100 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
21103 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
21105 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x3f);
21106 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
21108 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
21111 } else if ((pi->pubpi.radiorev == 5) || (pi->pubpi.radiorev == 7) ||
21112 (pi->pubpi.radiorev == 8)) {
21114 if (CHSPEC_IS2G(pi->radio_chanspec)) {
21115 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
21117 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x30);
21118 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
21120 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
21123 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
21125 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x3f);
21126 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
21128 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
21134 if (CHSPEC_IS2G(pi->radio_chanspec)) {
21136 if (pi->pubpi.radiorev == 3)
21137 txmix2g_tune_boost_pu = 0x6b;
21139 if (pi->pubpi.radiorev == 5)
21140 pad2g_tune_pus = 0x73;
21143 if (pi->pubpi.radiorev != 5) {
21144 pad2g_tune_pus = 0x3;
21146 txmix2g_tune_boost_pu = 0x61;
21150 for (coreNum = 0; coreNum <= 1; coreNum++) {
21152 if (txmix2g_tune_boost_pu != 0)
21153 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
21154 TXMIX2G_TUNE_BOOST_PU,
21155 txmix2g_tune_boost_pu);
21157 if (pad2g_tune_pus != 0)
21158 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
21166 wlc_phy_radio205x_vcocal_nphy(pi);
21170 wlc_phy_chanspec_nphy_setup(struct brcms_phy *pi, u16 chanspec,
21171 const struct nphy_sfo_cfg *ci)
21175 val = read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand;
21176 if (CHSPEC_IS5G(chanspec) && !val) {
21178 val = R_REG(&pi->regs->psm_phy_hdr_param);
21179 W_REG(&pi->regs->psm_phy_hdr_param,
21180 (val | MAC_PHY_FORCE_CLK));
21182 or_phy_reg(pi, (NPHY_TO_BPHY_OFF + BPHY_BB_CONFIG),
21183 (BBCFG_RESETCCA | BBCFG_RESETRX));
21185 W_REG(&pi->regs->psm_phy_hdr_param, val);
21187 or_phy_reg(pi, 0x09, NPHY_BandControl_currentBand);
21188 } else if (!CHSPEC_IS5G(chanspec) && val) {
21190 and_phy_reg(pi, 0x09, ~NPHY_BandControl_currentBand);
21192 val = R_REG(&pi->regs->psm_phy_hdr_param);
21193 W_REG(&pi->regs->psm_phy_hdr_param,
21194 (val | MAC_PHY_FORCE_CLK));
21196 and_phy_reg(pi, (NPHY_TO_BPHY_OFF + BPHY_BB_CONFIG),
21197 (u16) (~(BBCFG_RESETCCA | BBCFG_RESETRX)));
21199 W_REG(&pi->regs->psm_phy_hdr_param, val);
21202 write_phy_reg(pi, 0x1ce, ci->PHY_BW1a);
21203 write_phy_reg(pi, 0x1cf, ci->PHY_BW2);
21204 write_phy_reg(pi, 0x1d0, ci->PHY_BW3);
21206 write_phy_reg(pi, 0x1d1, ci->PHY_BW4);
21207 write_phy_reg(pi, 0x1d2, ci->PHY_BW5);
21208 write_phy_reg(pi, 0x1d3, ci->PHY_BW6);
21210 if (CHSPEC_CHANNEL(pi->radio_chanspec) == 14) {
21211 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_ofdm_en, 0);
21213 or_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_TEST, 0x800);
21215 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_ofdm_en,
21216 NPHY_ClassifierCtrl_ofdm_en);
21218 if (CHSPEC_IS2G(chanspec))
21219 and_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_TEST, ~0x840);
21222 if (pi->nphy_txpwrctrl == PHY_TPC_HW_OFF)
21223 wlc_phy_txpwr_fixpower_nphy(pi);
21225 if (NREV_LT(pi->pubpi.phy_rev, 3))
21226 wlc_phy_adjust_lnagaintbl_nphy(pi);
21228 wlc_phy_txlpfbw_nphy(pi);
21230 if (NREV_GE(pi->pubpi.phy_rev, 3)
21231 && (pi->phy_spuravoid != SPURAVOID_DISABLE)) {
21234 val = CHSPEC_CHANNEL(chanspec);
21235 if (!CHSPEC_IS40(pi->radio_chanspec)) {
21236 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21237 if ((val == 13) || (val == 14) || (val == 153))
21239 } else if (((val >= 5) && (val <= 8)) || (val == 13)
21243 } else if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21247 if (pi->nphy_aband_spurwar_en &&
21248 ((val == 38) || (val == 102)
21253 if (pi->phy_spuravoid == SPURAVOID_FORCEON)
21256 wlapi_bmac_core_phypll_ctl(pi->sh->physhim, false);
21257 si_pmu_spuravoid(pi->sh->sih, spuravoid);
21258 wlapi_bmac_core_phypll_ctl(pi->sh->physhim, true);
21260 if ((pi->sh->chip == BCM43224_CHIP_ID) ||
21261 (pi->sh->chip == BCM43225_CHIP_ID)) {
21263 if (spuravoid == 1) {
21265 W_REG(&pi->regs->tsf_clk_frac_l,
21267 W_REG(&pi->regs->tsf_clk_frac_h,
21271 W_REG(&pi->regs->tsf_clk_frac_l,
21273 W_REG(&pi->regs->tsf_clk_frac_h,
21278 wlapi_bmac_core_phypll_reset(pi->sh->physhim);
21280 mod_phy_reg(pi, 0x01, (0x1 << 15),
21281 ((spuravoid > 0) ? (0x1 << 15) : 0));
21283 wlc_phy_resetcca_nphy(pi);
21285 pi->phy_isspuravoid = (spuravoid > 0);
21288 if (NREV_LT(pi->pubpi.phy_rev, 7))
21289 write_phy_reg(pi, 0x17e, 0x3830);
21291 wlc_phy_spurwar_nphy(pi);
21294 void wlc_phy_chanspec_set_nphy(struct brcms_phy *pi, u16 chanspec)
21297 struct chan_info_nphy_radio2057 *t0 = NULL;
21298 struct chan_info_nphy_radio205x *t1 = NULL;
21299 struct chan_info_nphy_radio2057_rev5 *t2 = NULL;
21300 struct chan_info_nphy_2055 *t3 = NULL;
21302 if (!wlc_phy_chan2freq_nphy
21303 (pi, CHSPEC_CHANNEL(chanspec), &freq, &t0, &t1, &t2, &t3))
21306 wlc_phy_chanspec_radio_set((struct brcms_phy_pub *) pi, chanspec);
21308 if (CHSPEC_BW(chanspec) != pi->bw)
21309 wlapi_bmac_bw_set(pi->sh->physhim, CHSPEC_BW(chanspec));
21311 if (CHSPEC_IS40(chanspec)) {
21312 if (CHSPEC_SB_UPPER(chanspec)) {
21313 or_phy_reg(pi, 0xa0, BPHY_BAND_SEL_UP20);
21314 if (NREV_GE(pi->pubpi.phy_rev, 7))
21315 or_phy_reg(pi, 0x310, PRIM_SEL_UP20);
21317 and_phy_reg(pi, 0xa0, ~BPHY_BAND_SEL_UP20);
21318 if (NREV_GE(pi->pubpi.phy_rev, 7))
21319 and_phy_reg(pi, 0x310,
21320 (~PRIM_SEL_UP20 & 0xffff));
21324 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
21325 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21327 if ((pi->pubpi.radiorev <= 4)
21328 || (pi->pubpi.radiorev == 6)) {
21329 mod_radio_reg(pi, RADIO_2057_TIA_CONFIG_CORE0,
21331 (CHSPEC_IS5G(chanspec) ? (1 << 1)
21333 mod_radio_reg(pi, RADIO_2057_TIA_CONFIG_CORE1,
21335 (CHSPEC_IS5G(chanspec) ? (1 << 1)
21339 wlc_phy_chanspec_radio2057_setup(pi, t0, t2);
21340 wlc_phy_chanspec_nphy_setup(pi, chanspec,
21341 (pi->pubpi.radiorev == 5) ?
21342 (const struct nphy_sfo_cfg *)&(t2->PHY_BW1a) :
21343 (const struct nphy_sfo_cfg *)&(t0->PHY_BW1a));
21348 RADIO_2056_SYN_COM_CTRL | RADIO_2056_SYN,
21350 (CHSPEC_IS5G(chanspec) ? (0x1 << 2) : 0));
21351 wlc_phy_chanspec_radio2056_setup(pi, t1);
21353 wlc_phy_chanspec_nphy_setup(pi, chanspec,
21354 (const struct nphy_sfo_cfg *) &(t1->PHY_BW1a));
21359 mod_radio_reg(pi, RADIO_2055_MASTER_CNTRL1, 0x70,
21360 (CHSPEC_IS5G(chanspec) ? (0x02 << 4)
21363 wlc_phy_chanspec_radio2055_setup(pi, t3);
21364 wlc_phy_chanspec_nphy_setup(pi, chanspec,
21365 (const struct nphy_sfo_cfg *)
21371 void wlc_phy_antsel_init(struct brcms_phy_pub *ppi, bool lut_init)
21373 struct brcms_phy *pi = (struct brcms_phy *) ppi;
21377 if (NREV_GE(pi->pubpi.phy_rev, 7))
21380 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
21381 u16 v0 = 0x211, v1 = 0x222, v2 = 0x144, v3 = 0x188;
21383 if (lut_init == false)
21386 if (pi->srom_fem2g.antswctrllut == 0) {
21387 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
21389 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
21391 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
21393 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
21397 if (pi->srom_fem5g.antswctrllut == 0) {
21398 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
21400 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
21402 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
21404 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
21409 write_phy_reg(pi, 0xc8, 0x0);
21410 write_phy_reg(pi, 0xc9, 0x0);
21412 ai_gpiocontrol(pi->sh->sih, mask, mask, GPIO_DRV_PRIORITY);
21414 mc = R_REG(&pi->regs->maccontrol);
21415 mc &= ~MCTL_GPOUT_SEL_MASK;
21416 W_REG(&pi->regs->maccontrol, mc);
21418 OR_REG(&pi->regs->psm_gpio_oe, mask);
21420 AND_REG(&pi->regs->psm_gpio_out, ~mask);
21423 write_phy_reg(pi, 0xf8, 0x02d8);
21424 write_phy_reg(pi, 0xf9, 0x0301);
21425 write_phy_reg(pi, 0xfa, 0x02d8);
21426 write_phy_reg(pi, 0xfb, 0x0301);
21431 u16 wlc_phy_classifier_nphy(struct brcms_phy *pi, u16 mask, u16 val)
21433 u16 curr_ctl, new_ctl;
21434 bool suspended = false;
21436 if (D11REV_IS(pi->sh->corerev, 16)) {
21438 (R_REG(&pi->regs->maccontrol) & MCTL_EN_MAC) ?
21441 wlapi_suspend_mac_and_wait(pi->sh->physhim);
21444 curr_ctl = read_phy_reg(pi, 0xb0) & (0x7 << 0);
21446 new_ctl = (curr_ctl & (~mask)) | (val & mask);
21448 mod_phy_reg(pi, 0xb0, (0x7 << 0), new_ctl);
21450 if (D11REV_IS(pi->sh->corerev, 16) && !suspended)
21451 wlapi_enable_mac(pi->sh->physhim);
21456 void wlc_phy_force_rfseq_nphy(struct brcms_phy *pi, u8 cmd)
21458 u16 trigger_mask, status_mask;
21459 u16 orig_RfseqCoreActv;
21462 case NPHY_RFSEQ_RX2TX:
21463 trigger_mask = NPHY_RfseqTrigger_rx2tx;
21464 status_mask = NPHY_RfseqStatus_rx2tx;
21466 case NPHY_RFSEQ_TX2RX:
21467 trigger_mask = NPHY_RfseqTrigger_tx2rx;
21468 status_mask = NPHY_RfseqStatus_tx2rx;
21470 case NPHY_RFSEQ_RESET2RX:
21471 trigger_mask = NPHY_RfseqTrigger_reset2rx;
21472 status_mask = NPHY_RfseqStatus_reset2rx;
21474 case NPHY_RFSEQ_UPDATEGAINH:
21475 trigger_mask = NPHY_RfseqTrigger_updategainh;
21476 status_mask = NPHY_RfseqStatus_updategainh;
21478 case NPHY_RFSEQ_UPDATEGAINL:
21479 trigger_mask = NPHY_RfseqTrigger_updategainl;
21480 status_mask = NPHY_RfseqStatus_updategainl;
21482 case NPHY_RFSEQ_UPDATEGAINU:
21483 trigger_mask = NPHY_RfseqTrigger_updategainu;
21484 status_mask = NPHY_RfseqStatus_updategainu;
21490 orig_RfseqCoreActv = read_phy_reg(pi, 0xa1);
21491 or_phy_reg(pi, 0xa1,
21492 (NPHY_RfseqMode_CoreActv_override |
21493 NPHY_RfseqMode_Trigger_override));
21494 or_phy_reg(pi, 0xa3, trigger_mask);
21495 SPINWAIT((read_phy_reg(pi, 0xa4) & status_mask), 200000);
21496 write_phy_reg(pi, 0xa1, orig_RfseqCoreActv);
21497 WARN(read_phy_reg(pi, 0xa4) & status_mask, "HW error in rf");
21501 wlc_phy_rfctrl_override_1tomany_nphy(struct brcms_phy *pi, u16 cmd, u16 value,
21502 u8 core_mask, u8 off)
21504 u16 rfmxgain = 0, lpfgain = 0;
21507 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21510 case NPHY_REV7_RfctrlOverride_cmd_rxrf_pu:
21511 wlc_phy_rfctrl_override_nphy_rev7(
21513 value, core_mask, off,
21514 NPHY_REV7_RFCTRLOVERRIDE_ID1);
21515 wlc_phy_rfctrl_override_nphy_rev7(
21516 pi, (0x1 << 4), value,
21518 NPHY_REV7_RFCTRLOVERRIDE_ID1);
21519 wlc_phy_rfctrl_override_nphy_rev7(
21520 pi, (0x1 << 3), value,
21522 NPHY_REV7_RFCTRLOVERRIDE_ID1);
21524 case NPHY_REV7_RfctrlOverride_cmd_rx_pu:
21525 wlc_phy_rfctrl_override_nphy_rev7(
21527 value, core_mask, off,
21528 NPHY_REV7_RFCTRLOVERRIDE_ID1);
21529 wlc_phy_rfctrl_override_nphy_rev7(
21530 pi, (0x1 << 1), value,
21532 NPHY_REV7_RFCTRLOVERRIDE_ID1);
21533 wlc_phy_rfctrl_override_nphy_rev7(
21534 pi, (0x1 << 0), value,
21536 NPHY_REV7_RFCTRLOVERRIDE_ID1);
21537 wlc_phy_rfctrl_override_nphy_rev7(
21538 pi, (0x1 << 1), value,
21540 NPHY_REV7_RFCTRLOVERRIDE_ID2);
21541 wlc_phy_rfctrl_override_nphy_rev7(
21542 pi, (0x1 << 11), 0,
21544 NPHY_REV7_RFCTRLOVERRIDE_ID1);
21546 case NPHY_REV7_RfctrlOverride_cmd_tx_pu:
21547 wlc_phy_rfctrl_override_nphy_rev7(
21549 value, core_mask, off,
21550 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21551 wlc_phy_rfctrl_override_nphy_rev7(
21552 pi, (0x1 << 1), value,
21554 NPHY_REV7_RFCTRLOVERRIDE_ID1);
21555 wlc_phy_rfctrl_override_nphy_rev7(
21556 pi, (0x1 << 0), value,
21558 NPHY_REV7_RFCTRLOVERRIDE_ID2);
21559 wlc_phy_rfctrl_override_nphy_rev7(
21560 pi, (0x1 << 2), value,
21562 NPHY_REV7_RFCTRLOVERRIDE_ID2);
21563 wlc_phy_rfctrl_override_nphy_rev7(
21564 pi, (0x1 << 11), 1,
21566 NPHY_REV7_RFCTRLOVERRIDE_ID1);
21568 case NPHY_REV7_RfctrlOverride_cmd_rxgain:
21569 rfmxgain = value & 0x000ff;
21570 lpfgain = value & 0x0ff00;
21571 lpfgain = lpfgain >> 8;
21573 wlc_phy_rfctrl_override_nphy_rev7(
21575 rfmxgain, core_mask,
21577 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21578 wlc_phy_rfctrl_override_nphy_rev7(
21580 lpfgain, core_mask,
21582 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21584 case NPHY_REV7_RfctrlOverride_cmd_txgain:
21585 tgain = value & 0x7fff;
21586 lpfgain = value & 0x8000;
21587 lpfgain = lpfgain >> 14;
21589 wlc_phy_rfctrl_override_nphy_rev7(
21591 tgain, core_mask, off,
21592 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21593 wlc_phy_rfctrl_override_nphy_rev7(
21595 lpfgain, core_mask,
21597 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21604 wlc_phy_scale_offset_rssi_nphy(struct brcms_phy *pi, u16 scale, s8 offset,
21605 u8 coresel, u8 rail, u8 rssi_type)
21609 offset = (offset > NPHY_RSSICAL_MAXREAD) ?
21610 NPHY_RSSICAL_MAXREAD : offset;
21611 offset = (offset < (-NPHY_RSSICAL_MAXREAD - 1)) ?
21612 -NPHY_RSSICAL_MAXREAD - 1 : offset;
21614 valuetostuff = ((scale & 0x3f) << 8) | (offset & 0x3f);
21616 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
21617 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
21618 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_NB))
21619 write_phy_reg(pi, 0x1a6, valuetostuff);
21621 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
21622 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
21623 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_NB))
21624 write_phy_reg(pi, 0x1ac, valuetostuff);
21626 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
21627 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
21628 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_NB))
21629 write_phy_reg(pi, 0x1b2, valuetostuff);
21631 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
21632 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
21633 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_NB))
21634 write_phy_reg(pi, 0x1b8, valuetostuff);
21636 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
21637 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
21638 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W1))
21639 write_phy_reg(pi, 0x1a4, valuetostuff);
21641 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
21642 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
21643 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W1))
21644 write_phy_reg(pi, 0x1aa, valuetostuff);
21646 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
21647 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
21648 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W1))
21649 write_phy_reg(pi, 0x1b0, valuetostuff);
21651 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
21652 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
21653 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W1))
21654 write_phy_reg(pi, 0x1b6, valuetostuff);
21656 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
21657 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
21658 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W2))
21659 write_phy_reg(pi, 0x1a5, valuetostuff);
21660 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
21661 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
21662 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W2))
21663 write_phy_reg(pi, 0x1ab, valuetostuff);
21665 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
21666 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
21667 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W2))
21668 write_phy_reg(pi, 0x1b1, valuetostuff);
21670 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
21671 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
21672 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W2))
21673 write_phy_reg(pi, 0x1b7, valuetostuff);
21675 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
21676 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
21677 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_TBD))
21678 write_phy_reg(pi, 0x1a7, valuetostuff);
21679 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
21680 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
21681 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_TBD))
21682 write_phy_reg(pi, 0x1ad, valuetostuff);
21683 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
21684 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
21685 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_TBD))
21686 write_phy_reg(pi, 0x1b3, valuetostuff);
21687 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
21688 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
21689 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_TBD))
21690 write_phy_reg(pi, 0x1b9, valuetostuff);
21692 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
21693 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
21694 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_IQ))
21695 write_phy_reg(pi, 0x1a8, valuetostuff);
21697 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
21698 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
21699 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_IQ))
21700 write_phy_reg(pi, 0x1ae, valuetostuff);
21702 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
21703 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
21704 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_IQ))
21705 write_phy_reg(pi, 0x1b4, valuetostuff);
21707 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
21708 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
21709 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_IQ))
21710 write_phy_reg(pi, 0x1ba, valuetostuff);
21712 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
21713 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
21714 (rssi_type == NPHY_RSSI_SEL_TSSI_2G))
21715 write_phy_reg(pi, 0x1a9, valuetostuff);
21716 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
21717 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
21718 (rssi_type == NPHY_RSSI_SEL_TSSI_2G))
21719 write_phy_reg(pi, 0x1b5, valuetostuff);
21721 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
21722 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
21723 (rssi_type == NPHY_RSSI_SEL_TSSI_5G))
21724 write_phy_reg(pi, 0x1af, valuetostuff);
21726 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
21727 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
21728 (rssi_type == NPHY_RSSI_SEL_TSSI_5G))
21729 write_phy_reg(pi, 0x1bb, valuetostuff);
21732 static void brcms_phy_wr_tx_mux(struct brcms_phy *pi, u8 core)
21735 if (NREV_GE(pi->pubpi.phy_rev, 7))
21736 write_radio_reg(pi,
21737 ((core == PHY_CORE_0) ?
21738 RADIO_2057_TX0_TX_SSI_MUX :
21739 RADIO_2057_TX1_TX_SSI_MUX),
21740 (CHSPEC_IS5G(pi->radio_chanspec) ?
21743 write_radio_reg(pi,
21744 RADIO_2056_TX_TX_SSI_MUX |
21745 ((core == PHY_CORE_0) ?
21746 RADIO_2056_TX0 : RADIO_2056_TX1),
21747 (CHSPEC_IS5G(pi->radio_chanspec) ?
21750 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21751 write_radio_reg(pi,
21752 ((core == PHY_CORE_0) ?
21753 RADIO_2057_TX0_TX_SSI_MUX :
21754 RADIO_2057_TX1_TX_SSI_MUX),
21757 if (pi->pubpi.radioid == BCM2057_ID)
21758 write_radio_reg(pi,
21759 RADIO_2057_IQTEST_SEL_PU, 0x1);
21762 write_radio_reg(pi,
21763 RADIO_2056_TX_TX_SSI_MUX |
21764 ((core == PHY_CORE_0) ?
21765 RADIO_2056_TX0 : RADIO_2056_TX1),
21771 void wlc_phy_rssisel_nphy(struct brcms_phy *pi, u8 core_code, u8 rssi_type)
21774 u16 afectrlovr_rssi_val, rfctrlcmd_rxen_val, rfctrlcmd_coresel_val,
21776 u16 rfctrlovr_rssi_val, rfctrlovr_rxen_val, rfctrlovr_coresel_val,
21777 rfctrlovr_trigger_val;
21778 u16 afectrlovr_rssi_mask, rfctrlcmd_mask, rfctrlovr_mask;
21779 u16 rfctrlcmd_val, rfctrlovr_val;
21782 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
21783 if (core_code == RADIO_MIMO_CORESEL_OFF) {
21784 mod_phy_reg(pi, 0x8f, (0x1 << 9), 0);
21785 mod_phy_reg(pi, 0xa5, (0x1 << 9), 0);
21787 mod_phy_reg(pi, 0xa6, (0x3 << 8), 0);
21788 mod_phy_reg(pi, 0xa7, (0x3 << 8), 0);
21790 mod_phy_reg(pi, 0xe5, (0x1 << 5), 0);
21791 mod_phy_reg(pi, 0xe6, (0x1 << 5), 0);
21793 mask = (0x1 << 2) |
21794 (0x1 << 3) | (0x1 << 4) | (0x1 << 5);
21795 mod_phy_reg(pi, 0xf9, mask, 0);
21796 mod_phy_reg(pi, 0xfb, mask, 0);
21799 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
21800 if (core_code == RADIO_MIMO_CORESEL_CORE1
21801 && core == PHY_CORE_1)
21803 else if (core_code == RADIO_MIMO_CORESEL_CORE2
21804 && core == PHY_CORE_0)
21807 mod_phy_reg(pi, (core == PHY_CORE_0) ?
21808 0x8f : 0xa5, (0x1 << 9), 1 << 9);
21810 if (rssi_type == NPHY_RSSI_SEL_W1 ||
21811 rssi_type == NPHY_RSSI_SEL_W2 ||
21812 rssi_type == NPHY_RSSI_SEL_NB) {
21815 PHY_CORE_0) ? 0xa6 : 0xa7,
21818 mask = (0x1 << 2) |
21820 (0x1 << 4) | (0x1 << 5);
21823 PHY_CORE_0) ? 0xf9 : 0xfb,
21826 if (rssi_type == NPHY_RSSI_SEL_W1) {
21828 pi->radio_chanspec)) {
21835 } else if (rssi_type ==
21836 NPHY_RSSI_SEL_W2) {
21845 PHY_CORE_0) ? 0xf9 : 0xfb,
21850 mod_phy_reg(pi, (core == PHY_CORE_0) ?
21851 0xe5 : 0xe6, mask, val);
21853 if (rssi_type == NPHY_RSSI_SEL_TBD) {
21859 : 0xa7, mask, val);
21860 mask = (0x3 << 10);
21865 : 0xa7, mask, val);
21866 } else if (rssi_type ==
21867 NPHY_RSSI_SEL_IQ) {
21873 : 0xa7, mask, val);
21874 mask = (0x3 << 10);
21879 : 0xa7, mask, val);
21886 : 0xa7, mask, val);
21887 mask = (0x3 << 10);
21892 : 0xa7, mask, val);
21893 brcms_phy_wr_tx_mux(pi, core);
21894 afectrlovr_rssi_val = 1 << 9;
21898 : 0xa5, (0x1 << 9),
21899 afectrlovr_rssi_val);
21906 if ((rssi_type == NPHY_RSSI_SEL_W1) ||
21907 (rssi_type == NPHY_RSSI_SEL_W2) ||
21908 (rssi_type == NPHY_RSSI_SEL_NB))
21910 else if (rssi_type == NPHY_RSSI_SEL_TBD)
21912 else if (rssi_type == NPHY_RSSI_SEL_IQ)
21917 mask = ((0x3 << 12) | (0x3 << 14));
21918 val = (val << 12) | (val << 14);
21919 mod_phy_reg(pi, 0xa6, mask, val);
21920 mod_phy_reg(pi, 0xa7, mask, val);
21922 if ((rssi_type == NPHY_RSSI_SEL_W1) ||
21923 (rssi_type == NPHY_RSSI_SEL_W2) ||
21924 (rssi_type == NPHY_RSSI_SEL_NB)) {
21925 if (rssi_type == NPHY_RSSI_SEL_W1)
21927 if (rssi_type == NPHY_RSSI_SEL_W2)
21929 if (rssi_type == NPHY_RSSI_SEL_NB)
21934 mod_phy_reg(pi, 0x7a, mask, val);
21935 mod_phy_reg(pi, 0x7d, mask, val);
21938 if (core_code == RADIO_MIMO_CORESEL_OFF) {
21939 afectrlovr_rssi_val = 0;
21940 rfctrlcmd_rxen_val = 0;
21941 rfctrlcmd_coresel_val = 0;
21942 rfctrlovr_rssi_val = 0;
21943 rfctrlovr_rxen_val = 0;
21944 rfctrlovr_coresel_val = 0;
21945 rfctrlovr_trigger_val = 0;
21948 afectrlovr_rssi_val = 1;
21949 rfctrlcmd_rxen_val = 1;
21950 rfctrlcmd_coresel_val = core_code;
21951 rfctrlovr_rssi_val = 1;
21952 rfctrlovr_rxen_val = 1;
21953 rfctrlovr_coresel_val = 1;
21954 rfctrlovr_trigger_val = 1;
21958 afectrlovr_rssi_mask = ((0x1 << 12) | (0x1 << 13));
21959 afectrlovr_rssi_val = (afectrlovr_rssi_val <<
21960 12) | (afectrlovr_rssi_val << 13);
21961 mod_phy_reg(pi, 0xa5, afectrlovr_rssi_mask,
21962 afectrlovr_rssi_val);
21964 if ((rssi_type == NPHY_RSSI_SEL_W1) ||
21965 (rssi_type == NPHY_RSSI_SEL_W2) ||
21966 (rssi_type == NPHY_RSSI_SEL_NB)) {
21967 rfctrlcmd_mask = ((0x1 << 8) | (0x7 << 3));
21968 rfctrlcmd_val = (rfctrlcmd_rxen_val << 8) |
21969 (rfctrlcmd_coresel_val << 3);
21971 rfctrlovr_mask = ((0x1 << 5) |
21973 (0x1 << 1) | (0x1 << 0));
21974 rfctrlovr_val = (rfctrlovr_rssi_val <<
21976 (rfctrlovr_rxen_val << 12) |
21977 (rfctrlovr_coresel_val << 1) |
21978 (rfctrlovr_trigger_val << 0);
21980 mod_phy_reg(pi, 0x78, rfctrlcmd_mask, rfctrlcmd_val);
21981 mod_phy_reg(pi, 0xec, rfctrlovr_mask, rfctrlovr_val);
21983 mod_phy_reg(pi, 0x78, (0x1 << 0), (startseq << 0));
21986 mod_phy_reg(pi, 0xec, (0x1 << 0), 0);
21992 wlc_phy_poll_rssi_nphy(struct brcms_phy *pi, u8 rssi_type, s32 *rssi_buf,
21996 u16 afectrlCore1_save = 0;
21997 u16 afectrlCore2_save = 0;
21998 u16 afectrlOverride1_save = 0;
21999 u16 afectrlOverride2_save = 0;
22000 u16 rfctrlOverrideAux0_save = 0;
22001 u16 rfctrlOverrideAux1_save = 0;
22002 u16 rfctrlMiscReg1_save = 0;
22003 u16 rfctrlMiscReg2_save = 0;
22004 u16 rfctrlcmd_save = 0;
22005 u16 rfctrloverride_save = 0;
22006 u16 rfctrlrssiothers1_save = 0;
22007 u16 rfctrlrssiothers2_save = 0;
22009 u8 ctr = 0, samp = 0;
22013 afectrlCore1_save = read_phy_reg(pi, 0xa6);
22014 afectrlCore2_save = read_phy_reg(pi, 0xa7);
22015 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22016 rfctrlMiscReg1_save = read_phy_reg(pi, 0xf9);
22017 rfctrlMiscReg2_save = read_phy_reg(pi, 0xfb);
22018 afectrlOverride1_save = read_phy_reg(pi, 0x8f);
22019 afectrlOverride2_save = read_phy_reg(pi, 0xa5);
22020 rfctrlOverrideAux0_save = read_phy_reg(pi, 0xe5);
22021 rfctrlOverrideAux1_save = read_phy_reg(pi, 0xe6);
22023 afectrlOverride1_save = read_phy_reg(pi, 0xa5);
22024 rfctrlcmd_save = read_phy_reg(pi, 0x78);
22025 rfctrloverride_save = read_phy_reg(pi, 0xec);
22026 rfctrlrssiothers1_save = read_phy_reg(pi, 0x7a);
22027 rfctrlrssiothers2_save = read_phy_reg(pi, 0x7d);
22030 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_ALLRX, rssi_type);
22032 gpiosel_orig = read_phy_reg(pi, 0xca);
22033 if (NREV_LT(pi->pubpi.phy_rev, 2))
22034 write_phy_reg(pi, 0xca, 5);
22036 for (ctr = 0; ctr < 4; ctr++)
22039 for (samp = 0; samp < nsamps; samp++) {
22040 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
22041 rssi0 = read_phy_reg(pi, 0x1c9);
22042 rssi1 = read_phy_reg(pi, 0x1ca);
22044 rssi0 = read_phy_reg(pi, 0x219);
22045 rssi1 = read_phy_reg(pi, 0x21a);
22049 tmp_buf[ctr++] = ((s8) ((rssi0 & 0x3f) << 2)) >> 2;
22050 tmp_buf[ctr++] = ((s8) (((rssi0 >> 8) & 0x3f) << 2)) >> 2;
22051 tmp_buf[ctr++] = ((s8) ((rssi1 & 0x3f) << 2)) >> 2;
22052 tmp_buf[ctr++] = ((s8) (((rssi1 >> 8) & 0x3f) << 2)) >> 2;
22054 for (ctr = 0; ctr < 4; ctr++)
22055 rssi_buf[ctr] += tmp_buf[ctr];
22059 rssi_out_val = rssi_buf[3] & 0xff;
22060 rssi_out_val |= (rssi_buf[2] & 0xff) << 8;
22061 rssi_out_val |= (rssi_buf[1] & 0xff) << 16;
22062 rssi_out_val |= (rssi_buf[0] & 0xff) << 24;
22064 if (NREV_LT(pi->pubpi.phy_rev, 2))
22065 write_phy_reg(pi, 0xca, gpiosel_orig);
22067 write_phy_reg(pi, 0xa6, afectrlCore1_save);
22068 write_phy_reg(pi, 0xa7, afectrlCore2_save);
22069 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22070 write_phy_reg(pi, 0xf9, rfctrlMiscReg1_save);
22071 write_phy_reg(pi, 0xfb, rfctrlMiscReg2_save);
22072 write_phy_reg(pi, 0x8f, afectrlOverride1_save);
22073 write_phy_reg(pi, 0xa5, afectrlOverride2_save);
22074 write_phy_reg(pi, 0xe5, rfctrlOverrideAux0_save);
22075 write_phy_reg(pi, 0xe6, rfctrlOverrideAux1_save);
22077 write_phy_reg(pi, 0xa5, afectrlOverride1_save);
22078 write_phy_reg(pi, 0x78, rfctrlcmd_save);
22079 write_phy_reg(pi, 0xec, rfctrloverride_save);
22080 write_phy_reg(pi, 0x7a, rfctrlrssiothers1_save);
22081 write_phy_reg(pi, 0x7d, rfctrlrssiothers2_save);
22084 return rssi_out_val;
22087 s16 wlc_phy_tempsense_nphy(struct brcms_phy *pi)
22089 u16 core1_txrf_iqcal1_save, core1_txrf_iqcal2_save;
22090 u16 core2_txrf_iqcal1_save, core2_txrf_iqcal2_save;
22091 u16 pwrdet_rxtx_core1_save;
22092 u16 pwrdet_rxtx_core2_save;
22093 u16 afectrlCore1_save;
22094 u16 afectrlCore2_save;
22095 u16 afectrlOverride_save;
22096 u16 afectrlOverride2_save;
22097 u16 pd_pll_ts_save;
22100 s32 radio_temp2[4];
22101 u16 syn_tempprocsense_save;
22104 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22105 u16 auxADC_Vmid, auxADC_Av, auxADC_Vmid_save, auxADC_Av_save;
22106 u16 auxADC_rssi_ctrlL_save, auxADC_rssi_ctrlH_save;
22107 u16 auxADC_rssi_ctrlL, auxADC_rssi_ctrlH;
22109 u16 RfctrlOverride5_save, RfctrlOverride6_save;
22110 u16 RfctrlMiscReg5_save, RfctrlMiscReg6_save;
22111 u16 RSSIMultCoef0QPowerDet_save;
22112 u16 tempsense_Rcal;
22114 syn_tempprocsense_save =
22115 read_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG);
22117 afectrlCore1_save = read_phy_reg(pi, 0xa6);
22118 afectrlCore2_save = read_phy_reg(pi, 0xa7);
22119 afectrlOverride_save = read_phy_reg(pi, 0x8f);
22120 afectrlOverride2_save = read_phy_reg(pi, 0xa5);
22121 RSSIMultCoef0QPowerDet_save = read_phy_reg(pi, 0x1ae);
22122 RfctrlOverride5_save = read_phy_reg(pi, 0x346);
22123 RfctrlOverride6_save = read_phy_reg(pi, 0x347);
22124 RfctrlMiscReg5_save = read_phy_reg(pi, 0x344);
22125 RfctrlMiscReg6_save = read_phy_reg(pi, 0x345);
22127 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
22128 &auxADC_Vmid_save);
22129 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
22131 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x02, 16,
22132 &auxADC_rssi_ctrlL_save);
22133 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x03, 16,
22134 &auxADC_rssi_ctrlH_save);
22136 write_phy_reg(pi, 0x1ae, 0x0);
22138 auxADC_rssi_ctrlL = 0x0;
22139 auxADC_rssi_ctrlH = 0x20;
22140 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x02, 16,
22141 &auxADC_rssi_ctrlL);
22142 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x03, 16,
22143 &auxADC_rssi_ctrlH);
22145 tempsense_Rcal = syn_tempprocsense_save & 0x1c;
22147 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
22148 tempsense_Rcal | 0x01);
22150 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1),
22152 NPHY_REV7_RFCTRLOVERRIDE_ID2);
22153 mod_phy_reg(pi, 0xa6, (0x1 << 7), 0);
22154 mod_phy_reg(pi, 0xa7, (0x1 << 7), 0);
22155 mod_phy_reg(pi, 0x8f, (0x1 << 7), (0x1 << 7));
22156 mod_phy_reg(pi, 0xa5, (0x1 << 7), (0x1 << 7));
22158 mod_phy_reg(pi, 0xa6, (0x1 << 2), (0x1 << 2));
22159 mod_phy_reg(pi, 0xa7, (0x1 << 2), (0x1 << 2));
22160 mod_phy_reg(pi, 0x8f, (0x1 << 2), (0x1 << 2));
22161 mod_phy_reg(pi, 0xa5, (0x1 << 2), (0x1 << 2));
22163 mod_phy_reg(pi, 0xa6, (0x1 << 2), 0);
22164 mod_phy_reg(pi, 0xa7, (0x1 << 2), 0);
22165 mod_phy_reg(pi, 0xa6, (0x1 << 3), 0);
22166 mod_phy_reg(pi, 0xa7, (0x1 << 3), 0);
22167 mod_phy_reg(pi, 0x8f, (0x1 << 3), (0x1 << 3));
22168 mod_phy_reg(pi, 0xa5, (0x1 << 3), (0x1 << 3));
22169 mod_phy_reg(pi, 0xa6, (0x1 << 6), 0);
22170 mod_phy_reg(pi, 0xa7, (0x1 << 6), 0);
22171 mod_phy_reg(pi, 0x8f, (0x1 << 6), (0x1 << 6));
22172 mod_phy_reg(pi, 0xa5, (0x1 << 6), (0x1 << 6));
22174 auxADC_Vmid = 0xA3;
22176 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
22178 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
22183 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
22184 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
22185 tempsense_Rcal | 0x03);
22188 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
22191 if (radio_temp[1] + radio_temp2[1] < -30) {
22192 auxADC_Vmid = 0x45;
22194 } else if (radio_temp[1] + radio_temp2[1] < -9) {
22195 auxADC_Vmid = 0x200;
22197 } else if (radio_temp[1] + radio_temp2[1] < 11) {
22198 auxADC_Vmid = 0x266;
22201 auxADC_Vmid = 0x2D5;
22205 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
22207 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
22212 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
22213 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
22214 tempsense_Rcal | 0x01);
22217 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
22219 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
22220 syn_tempprocsense_save);
22222 write_phy_reg(pi, 0xa6, afectrlCore1_save);
22223 write_phy_reg(pi, 0xa7, afectrlCore2_save);
22224 write_phy_reg(pi, 0x8f, afectrlOverride_save);
22225 write_phy_reg(pi, 0xa5, afectrlOverride2_save);
22226 write_phy_reg(pi, 0x1ae, RSSIMultCoef0QPowerDet_save);
22227 write_phy_reg(pi, 0x346, RfctrlOverride5_save);
22228 write_phy_reg(pi, 0x347, RfctrlOverride6_save);
22229 write_phy_reg(pi, 0x344, RfctrlMiscReg5_save);
22230 write_phy_reg(pi, 0x345, RfctrlMiscReg5_save);
22232 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
22233 &auxADC_Vmid_save);
22234 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
22236 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x02, 16,
22237 &auxADC_rssi_ctrlL_save);
22238 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x03, 16,
22239 &auxADC_rssi_ctrlH_save);
22241 radio_temp[0] = (179 * (radio_temp[1] + radio_temp2[1])
22242 + 82 * (auxADC_Vl) - 28861 +
22245 offset = (s16) pi->phy_tempsense_offset;
22247 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22248 syn_tempprocsense_save =
22249 read_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE);
22251 afectrlCore1_save = read_phy_reg(pi, 0xa6);
22252 afectrlCore2_save = read_phy_reg(pi, 0xa7);
22253 afectrlOverride_save = read_phy_reg(pi, 0x8f);
22254 afectrlOverride2_save = read_phy_reg(pi, 0xa5);
22255 gpioSel_save = read_phy_reg(pi, 0xca);
22257 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE, 0x01);
22259 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
22260 if (NREV_LT(pi->pubpi.phy_rev, 7))
22261 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE, 0x05);
22263 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
22264 if (NREV_GE(pi->pubpi.phy_rev, 7))
22265 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG, 0x01);
22267 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE, 0x01);
22270 (126 * (radio_temp[1] + radio_temp2[1]) + 3987) / 64;
22272 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE,
22273 syn_tempprocsense_save);
22275 write_phy_reg(pi, 0xca, gpioSel_save);
22276 write_phy_reg(pi, 0xa6, afectrlCore1_save);
22277 write_phy_reg(pi, 0xa7, afectrlCore2_save);
22278 write_phy_reg(pi, 0x8f, afectrlOverride_save);
22279 write_phy_reg(pi, 0xa5, afectrlOverride2_save);
22281 offset = (s16) pi->phy_tempsense_offset;
22284 pwrdet_rxtx_core1_save =
22285 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1);
22286 pwrdet_rxtx_core2_save =
22287 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2);
22288 core1_txrf_iqcal1_save =
22289 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1);
22290 core1_txrf_iqcal2_save =
22291 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2);
22292 core2_txrf_iqcal1_save =
22293 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1);
22294 core2_txrf_iqcal2_save =
22295 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2);
22296 pd_pll_ts_save = read_radio_reg(pi, RADIO_2055_PD_PLL_TS);
22298 afectrlCore1_save = read_phy_reg(pi, 0xa6);
22299 afectrlCore2_save = read_phy_reg(pi, 0xa7);
22300 afectrlOverride_save = read_phy_reg(pi, 0xa5);
22301 gpioSel_save = read_phy_reg(pi, 0xca);
22303 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1, 0x01);
22304 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1, 0x01);
22305 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2, 0x08);
22306 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2, 0x08);
22307 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1, 0x04);
22308 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2, 0x04);
22309 write_radio_reg(pi, RADIO_2055_PD_PLL_TS, 0x00);
22311 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
22312 xor_radio_reg(pi, RADIO_2055_CAL_TS, 0x80);
22314 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
22315 xor_radio_reg(pi, RADIO_2055_CAL_TS, 0x80);
22317 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
22318 xor_radio_reg(pi, RADIO_2055_CAL_TS, 0x80);
22320 radio_temp[0] = (radio_temp[0] + radio_temp2[0]);
22321 radio_temp[1] = (radio_temp[1] + radio_temp2[1]);
22322 radio_temp[2] = (radio_temp[2] + radio_temp2[2]);
22323 radio_temp[3] = (radio_temp[3] + radio_temp2[3]);
22326 (radio_temp[0] + radio_temp[1] + radio_temp[2] +
22331 (8 * 32)) * (950 - 350) / 63 + (350 * 8);
22333 radio_temp[0] = (radio_temp[0] - (8 * 420)) / 38;
22335 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1,
22336 pwrdet_rxtx_core1_save);
22337 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2,
22338 pwrdet_rxtx_core2_save);
22339 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1,
22340 core1_txrf_iqcal1_save);
22341 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1,
22342 core2_txrf_iqcal1_save);
22343 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2,
22344 core1_txrf_iqcal2_save);
22345 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2,
22346 core2_txrf_iqcal2_save);
22347 write_radio_reg(pi, RADIO_2055_PD_PLL_TS, pd_pll_ts_save);
22349 write_phy_reg(pi, 0xca, gpioSel_save);
22350 write_phy_reg(pi, 0xa6, afectrlCore1_save);
22351 write_phy_reg(pi, 0xa7, afectrlCore2_save);
22352 write_phy_reg(pi, 0xa5, afectrlOverride_save);
22355 return (s16) radio_temp[0] + offset;
22359 wlc_phy_set_rssi_2055_vcm(struct brcms_phy *pi, u8 rssi_type, u8 *vcm_buf)
22363 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
22364 if (rssi_type == NPHY_RSSI_SEL_NB) {
22365 if (core == PHY_CORE_0) {
22367 RADIO_2055_CORE1_B0_NBRSSI_VCM,
22368 RADIO_2055_NBRSSI_VCM_I_MASK,
22371 RADIO_2055_NBRSSI_VCM_I_SHIFT);
22373 RADIO_2055_CORE1_RXBB_RSSI_CTRL5,
22374 RADIO_2055_NBRSSI_VCM_Q_MASK,
22377 RADIO_2055_NBRSSI_VCM_Q_SHIFT);
22380 RADIO_2055_CORE2_B0_NBRSSI_VCM,
22381 RADIO_2055_NBRSSI_VCM_I_MASK,
22384 RADIO_2055_NBRSSI_VCM_I_SHIFT);
22386 RADIO_2055_CORE2_RXBB_RSSI_CTRL5,
22387 RADIO_2055_NBRSSI_VCM_Q_MASK,
22390 RADIO_2055_NBRSSI_VCM_Q_SHIFT);
22393 if (core == PHY_CORE_0)
22395 RADIO_2055_CORE1_RXBB_RSSI_CTRL5,
22396 RADIO_2055_WBRSSI_VCM_IQ_MASK,
22399 RADIO_2055_WBRSSI_VCM_IQ_SHIFT);
22402 RADIO_2055_CORE2_RXBB_RSSI_CTRL5,
22403 RADIO_2055_WBRSSI_VCM_IQ_MASK,
22406 RADIO_2055_WBRSSI_VCM_IQ_SHIFT);
22411 static void wlc_phy_rssi_cal_nphy_rev3(struct brcms_phy *pi)
22415 u16 clip_off[] = { 0xffff, 0xffff };
22420 s32 poll_results[8][4] = {
22430 s32 poll_result_core[4] = { 0, 0, 0, 0 };
22431 s32 min_d = NPHY_RSSICAL_MAXD, curr_d;
22432 s32 fine_digital_offset[4];
22433 s32 poll_results_min[4] = { 0, 0, 0, 0 };
22439 u16 NPHY_Rfctrlintc1_save, NPHY_Rfctrlintc2_save;
22440 u16 NPHY_AfectrlOverride1_save, NPHY_AfectrlOverride2_save;
22441 u16 NPHY_AfectrlCore1_save, NPHY_AfectrlCore2_save;
22442 u16 NPHY_RfctrlOverride0_save, NPHY_RfctrlOverride1_save;
22443 u16 NPHY_RfctrlOverrideAux0_save, NPHY_RfctrlOverrideAux1_save;
22444 u16 NPHY_RfctrlCmd_save;
22445 u16 NPHY_RfctrlMiscReg1_save, NPHY_RfctrlMiscReg2_save;
22446 u16 NPHY_RfctrlRSSIOTHERS1_save, NPHY_RfctrlRSSIOTHERS2_save;
22448 u16 NPHY_REV7_RfctrlOverride3_save, NPHY_REV7_RfctrlOverride4_save;
22449 u16 NPHY_REV7_RfctrlOverride5_save, NPHY_REV7_RfctrlOverride6_save;
22450 u16 NPHY_REV7_RfctrlMiscReg3_save, NPHY_REV7_RfctrlMiscReg4_save;
22451 u16 NPHY_REV7_RfctrlMiscReg5_save, NPHY_REV7_RfctrlMiscReg6_save;
22453 NPHY_REV7_RfctrlOverride3_save =
22454 NPHY_REV7_RfctrlOverride4_save =
22455 NPHY_REV7_RfctrlOverride5_save =
22456 NPHY_REV7_RfctrlOverride6_save =
22457 NPHY_REV7_RfctrlMiscReg3_save =
22458 NPHY_REV7_RfctrlMiscReg4_save =
22459 NPHY_REV7_RfctrlMiscReg5_save =
22460 NPHY_REV7_RfctrlMiscReg6_save = 0;
22462 classif_state = wlc_phy_classifier_nphy(pi, 0, 0);
22463 wlc_phy_classifier_nphy(pi, (0x7 << 0), 4);
22464 wlc_phy_clip_det_nphy(pi, 0, clip_state);
22465 wlc_phy_clip_det_nphy(pi, 1, clip_off);
22467 NPHY_Rfctrlintc1_save = read_phy_reg(pi, 0x91);
22468 NPHY_Rfctrlintc2_save = read_phy_reg(pi, 0x92);
22469 NPHY_AfectrlOverride1_save = read_phy_reg(pi, 0x8f);
22470 NPHY_AfectrlOverride2_save = read_phy_reg(pi, 0xa5);
22471 NPHY_AfectrlCore1_save = read_phy_reg(pi, 0xa6);
22472 NPHY_AfectrlCore2_save = read_phy_reg(pi, 0xa7);
22473 NPHY_RfctrlOverride0_save = read_phy_reg(pi, 0xe7);
22474 NPHY_RfctrlOverride1_save = read_phy_reg(pi, 0xec);
22475 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22476 NPHY_REV7_RfctrlOverride3_save = read_phy_reg(pi, 0x342);
22477 NPHY_REV7_RfctrlOverride4_save = read_phy_reg(pi, 0x343);
22478 NPHY_REV7_RfctrlOverride5_save = read_phy_reg(pi, 0x346);
22479 NPHY_REV7_RfctrlOverride6_save = read_phy_reg(pi, 0x347);
22481 NPHY_RfctrlOverrideAux0_save = read_phy_reg(pi, 0xe5);
22482 NPHY_RfctrlOverrideAux1_save = read_phy_reg(pi, 0xe6);
22483 NPHY_RfctrlCmd_save = read_phy_reg(pi, 0x78);
22484 NPHY_RfctrlMiscReg1_save = read_phy_reg(pi, 0xf9);
22485 NPHY_RfctrlMiscReg2_save = read_phy_reg(pi, 0xfb);
22486 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22487 NPHY_REV7_RfctrlMiscReg3_save = read_phy_reg(pi, 0x340);
22488 NPHY_REV7_RfctrlMiscReg4_save = read_phy_reg(pi, 0x341);
22489 NPHY_REV7_RfctrlMiscReg5_save = read_phy_reg(pi, 0x344);
22490 NPHY_REV7_RfctrlMiscReg6_save = read_phy_reg(pi, 0x345);
22492 NPHY_RfctrlRSSIOTHERS1_save = read_phy_reg(pi, 0x7a);
22493 NPHY_RfctrlRSSIOTHERS2_save = read_phy_reg(pi, 0x7d);
22495 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_OFF, 0,
22496 RADIO_MIMO_CORESEL_ALLRXTX);
22497 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_TRSW, 1,
22498 RADIO_MIMO_CORESEL_ALLRXTX);
22500 if (NREV_GE(pi->pubpi.phy_rev, 7))
22501 wlc_phy_rfctrl_override_1tomany_nphy(
22503 NPHY_REV7_RfctrlOverride_cmd_rxrf_pu,
22506 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 0), 0, 0, 0);
22508 if (NREV_GE(pi->pubpi.phy_rev, 7))
22509 wlc_phy_rfctrl_override_1tomany_nphy(
22511 NPHY_REV7_RfctrlOverride_cmd_rx_pu,
22514 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 1), 1, 0, 0);
22516 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22517 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
22519 NPHY_REV7_RFCTRLOVERRIDE_ID0);
22520 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 6), 1, 0, 0,
22521 NPHY_REV7_RFCTRLOVERRIDE_ID0);
22523 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 7), 1, 0, 0);
22524 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 6), 1, 0, 0);
22527 if (CHSPEC_IS5G(pi->radio_chanspec)) {
22528 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22529 wlc_phy_rfctrl_override_nphy_rev7(
22532 NPHY_REV7_RFCTRLOVERRIDE_ID0);
22533 wlc_phy_rfctrl_override_nphy_rev7(
22534 pi, (0x1 << 4), 1, 0,
22536 NPHY_REV7_RFCTRLOVERRIDE_ID0);
22538 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 5), 0, 0, 0);
22539 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 4), 1, 0, 0);
22543 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22544 wlc_phy_rfctrl_override_nphy_rev7(
22547 NPHY_REV7_RFCTRLOVERRIDE_ID0);
22548 wlc_phy_rfctrl_override_nphy_rev7(
22549 pi, (0x1 << 5), 1, 0,
22551 NPHY_REV7_RFCTRLOVERRIDE_ID0);
22553 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 4), 0, 0, 0);
22554 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 5), 1, 0, 0);
22558 rxcore_state = wlc_phy_rxcore_getstate_nphy(
22559 (struct brcms_phy_pub *) pi);
22563 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
22565 if ((rxcore_state & (1 << core)) == 0)
22568 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
22571 RADIO_MIMO_CORESEL_CORE1 :
22572 RADIO_MIMO_CORESEL_CORE2,
22573 NPHY_RAIL_I, NPHY_RSSI_SEL_NB);
22574 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
22577 RADIO_MIMO_CORESEL_CORE1 :
22578 RADIO_MIMO_CORESEL_CORE2,
22579 NPHY_RAIL_Q, NPHY_RSSI_SEL_NB);
22581 for (vcm = 0; vcm < vcm_level_max; vcm++) {
22582 if (NREV_GE(pi->pubpi.phy_rev, 7))
22583 mod_radio_reg(pi, (core == PHY_CORE_0) ?
22584 RADIO_2057_NB_MASTER_CORE0 :
22585 RADIO_2057_NB_MASTER_CORE1,
22586 RADIO_2057_VCM_MASK, vcm);
22588 mod_radio_reg(pi, RADIO_2056_RX_RSSI_MISC |
22590 PHY_CORE_0) ? RADIO_2056_RX0 :
22592 RADIO_2056_VCM_MASK,
22593 vcm << RADIO_2056_RSSI_VCM_SHIFT);
22595 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_NB,
22596 &poll_results[vcm][0],
22597 NPHY_RSSICAL_NPOLL);
22600 for (result_idx = 0; result_idx < 4; result_idx++) {
22601 if ((core == result_idx / 2) &&
22602 (result_idx % 2 == 0)) {
22604 min_d = NPHY_RSSICAL_MAXD;
22607 NPHY_RSSICAL_MAXREAD *
22608 NPHY_RSSICAL_NPOLL + 1;
22609 for (vcm = 0; vcm < vcm_level_max; vcm++) {
22611 poll_results[vcm][result_idx] *
22612 poll_results[vcm][result_idx] +
22613 poll_results[vcm][result_idx +
22615 poll_results[vcm][result_idx +
22617 if (curr_d < min_d) {
22621 if (poll_results[vcm][result_idx] <
22627 vcm_final = min_vcm;
22628 poll_results_min[result_idx] = min_poll;
22632 if (NREV_GE(pi->pubpi.phy_rev, 7))
22633 mod_radio_reg(pi, (core == PHY_CORE_0) ?
22634 RADIO_2057_NB_MASTER_CORE0 :
22635 RADIO_2057_NB_MASTER_CORE1,
22636 RADIO_2057_VCM_MASK, vcm_final);
22638 mod_radio_reg(pi, RADIO_2056_RX_RSSI_MISC |
22640 PHY_CORE_0) ? RADIO_2056_RX0 :
22641 RADIO_2056_RX1), RADIO_2056_VCM_MASK,
22642 vcm_final << RADIO_2056_RSSI_VCM_SHIFT);
22644 for (result_idx = 0; result_idx < 4; result_idx++) {
22645 if (core == result_idx / 2) {
22646 fine_digital_offset[result_idx] =
22647 (NPHY_RSSICAL_NB_TARGET *
22648 NPHY_RSSICAL_NPOLL) -
22649 poll_results[vcm_final][result_idx];
22650 if (fine_digital_offset[result_idx] < 0) {
22651 fine_digital_offset[result_idx] =
22652 abs(fine_digital_offset
22654 fine_digital_offset[result_idx] +=
22655 (NPHY_RSSICAL_NPOLL / 2);
22656 fine_digital_offset[result_idx] /=
22657 NPHY_RSSICAL_NPOLL;
22658 fine_digital_offset[result_idx] =
22659 -fine_digital_offset[
22662 fine_digital_offset[result_idx] +=
22663 (NPHY_RSSICAL_NPOLL / 2);
22664 fine_digital_offset[result_idx] /=
22665 NPHY_RSSICAL_NPOLL;
22668 if (poll_results_min[result_idx] ==
22669 NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL)
22670 fine_digital_offset[result_idx] =
22671 (NPHY_RSSICAL_NB_TARGET -
22672 NPHY_RSSICAL_MAXREAD - 1);
22674 wlc_phy_scale_offset_rssi_nphy(
22677 fine_digital_offset
22679 (result_idx / 2 == 0) ?
22680 RADIO_MIMO_CORESEL_CORE1 :
22681 RADIO_MIMO_CORESEL_CORE2,
22682 (result_idx % 2 == 0) ?
22683 NPHY_RAIL_I : NPHY_RAIL_Q,
22690 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
22692 if ((rxcore_state & (1 << core)) == 0)
22695 for (wb_cnt = 0; wb_cnt < 2; wb_cnt++) {
22697 rssi_type = NPHY_RSSI_SEL_W1;
22698 target_code = NPHY_RSSICAL_W1_TARGET_REV3;
22700 rssi_type = NPHY_RSSI_SEL_W2;
22701 target_code = NPHY_RSSICAL_W2_TARGET_REV3;
22704 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
22707 RADIO_MIMO_CORESEL_CORE1
22709 RADIO_MIMO_CORESEL_CORE2,
22710 NPHY_RAIL_I, rssi_type);
22711 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
22714 RADIO_MIMO_CORESEL_CORE1
22716 RADIO_MIMO_CORESEL_CORE2,
22717 NPHY_RAIL_Q, rssi_type);
22719 wlc_phy_poll_rssi_nphy(pi, rssi_type, poll_result_core,
22720 NPHY_RSSICAL_NPOLL);
22722 for (result_idx = 0; result_idx < 4; result_idx++) {
22723 if (core == result_idx / 2) {
22724 fine_digital_offset[result_idx] =
22726 NPHY_RSSICAL_NPOLL) -
22727 poll_result_core[result_idx];
22728 if (fine_digital_offset[result_idx] <
22730 fine_digital_offset[result_idx]
22732 fine_digital_offset
22734 fine_digital_offset[result_idx]
22735 += (NPHY_RSSICAL_NPOLL
22737 fine_digital_offset[result_idx]
22738 /= NPHY_RSSICAL_NPOLL;
22739 fine_digital_offset[result_idx]
22740 = -fine_digital_offset
22743 fine_digital_offset[result_idx]
22744 += (NPHY_RSSICAL_NPOLL
22746 fine_digital_offset[result_idx]
22747 /= NPHY_RSSICAL_NPOLL;
22750 wlc_phy_scale_offset_rssi_nphy(
22753 fine_digital_offset
22756 (core == PHY_CORE_0) ?
22757 RADIO_MIMO_CORESEL_CORE1 :
22758 RADIO_MIMO_CORESEL_CORE2,
22759 (result_idx % 2 == 0) ?
22769 write_phy_reg(pi, 0x91, NPHY_Rfctrlintc1_save);
22770 write_phy_reg(pi, 0x92, NPHY_Rfctrlintc2_save);
22772 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
22774 mod_phy_reg(pi, 0xe7, (0x1 << 0), 1 << 0);
22775 mod_phy_reg(pi, 0x78, (0x1 << 0), 1 << 0);
22776 mod_phy_reg(pi, 0xe7, (0x1 << 0), 0);
22778 mod_phy_reg(pi, 0xec, (0x1 << 0), 1 << 0);
22779 mod_phy_reg(pi, 0x78, (0x1 << 1), 1 << 1);
22780 mod_phy_reg(pi, 0xec, (0x1 << 0), 0);
22782 write_phy_reg(pi, 0x8f, NPHY_AfectrlOverride1_save);
22783 write_phy_reg(pi, 0xa5, NPHY_AfectrlOverride2_save);
22784 write_phy_reg(pi, 0xa6, NPHY_AfectrlCore1_save);
22785 write_phy_reg(pi, 0xa7, NPHY_AfectrlCore2_save);
22786 write_phy_reg(pi, 0xe7, NPHY_RfctrlOverride0_save);
22787 write_phy_reg(pi, 0xec, NPHY_RfctrlOverride1_save);
22788 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22789 write_phy_reg(pi, 0x342, NPHY_REV7_RfctrlOverride3_save);
22790 write_phy_reg(pi, 0x343, NPHY_REV7_RfctrlOverride4_save);
22791 write_phy_reg(pi, 0x346, NPHY_REV7_RfctrlOverride5_save);
22792 write_phy_reg(pi, 0x347, NPHY_REV7_RfctrlOverride6_save);
22794 write_phy_reg(pi, 0xe5, NPHY_RfctrlOverrideAux0_save);
22795 write_phy_reg(pi, 0xe6, NPHY_RfctrlOverrideAux1_save);
22796 write_phy_reg(pi, 0x78, NPHY_RfctrlCmd_save);
22797 write_phy_reg(pi, 0xf9, NPHY_RfctrlMiscReg1_save);
22798 write_phy_reg(pi, 0xfb, NPHY_RfctrlMiscReg2_save);
22799 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22800 write_phy_reg(pi, 0x340, NPHY_REV7_RfctrlMiscReg3_save);
22801 write_phy_reg(pi, 0x341, NPHY_REV7_RfctrlMiscReg4_save);
22802 write_phy_reg(pi, 0x344, NPHY_REV7_RfctrlMiscReg5_save);
22803 write_phy_reg(pi, 0x345, NPHY_REV7_RfctrlMiscReg6_save);
22805 write_phy_reg(pi, 0x7a, NPHY_RfctrlRSSIOTHERS1_save);
22806 write_phy_reg(pi, 0x7d, NPHY_RfctrlRSSIOTHERS2_save);
22808 if (CHSPEC_IS2G(pi->radio_chanspec)) {
22809 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22810 pi->rssical_cache.rssical_radio_regs_2G[0] =
22811 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0);
22812 pi->rssical_cache.rssical_radio_regs_2G[1] =
22813 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1);
22815 pi->rssical_cache.rssical_radio_regs_2G[0] =
22817 RADIO_2056_RX_RSSI_MISC |
22819 pi->rssical_cache.rssical_radio_regs_2G[1] =
22821 RADIO_2056_RX_RSSI_MISC |
22825 pi->rssical_cache.rssical_phyregs_2G[0] =
22826 read_phy_reg(pi, 0x1a6);
22827 pi->rssical_cache.rssical_phyregs_2G[1] =
22828 read_phy_reg(pi, 0x1ac);
22829 pi->rssical_cache.rssical_phyregs_2G[2] =
22830 read_phy_reg(pi, 0x1b2);
22831 pi->rssical_cache.rssical_phyregs_2G[3] =
22832 read_phy_reg(pi, 0x1b8);
22833 pi->rssical_cache.rssical_phyregs_2G[4] =
22834 read_phy_reg(pi, 0x1a4);
22835 pi->rssical_cache.rssical_phyregs_2G[5] =
22836 read_phy_reg(pi, 0x1aa);
22837 pi->rssical_cache.rssical_phyregs_2G[6] =
22838 read_phy_reg(pi, 0x1b0);
22839 pi->rssical_cache.rssical_phyregs_2G[7] =
22840 read_phy_reg(pi, 0x1b6);
22841 pi->rssical_cache.rssical_phyregs_2G[8] =
22842 read_phy_reg(pi, 0x1a5);
22843 pi->rssical_cache.rssical_phyregs_2G[9] =
22844 read_phy_reg(pi, 0x1ab);
22845 pi->rssical_cache.rssical_phyregs_2G[10] =
22846 read_phy_reg(pi, 0x1b1);
22847 pi->rssical_cache.rssical_phyregs_2G[11] =
22848 read_phy_reg(pi, 0x1b7);
22850 pi->nphy_rssical_chanspec_2G = pi->radio_chanspec;
22852 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22853 pi->rssical_cache.rssical_radio_regs_5G[0] =
22854 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0);
22855 pi->rssical_cache.rssical_radio_regs_5G[1] =
22856 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1);
22858 pi->rssical_cache.rssical_radio_regs_5G[0] =
22860 RADIO_2056_RX_RSSI_MISC |
22862 pi->rssical_cache.rssical_radio_regs_5G[1] =
22864 RADIO_2056_RX_RSSI_MISC |
22868 pi->rssical_cache.rssical_phyregs_5G[0] =
22869 read_phy_reg(pi, 0x1a6);
22870 pi->rssical_cache.rssical_phyregs_5G[1] =
22871 read_phy_reg(pi, 0x1ac);
22872 pi->rssical_cache.rssical_phyregs_5G[2] =
22873 read_phy_reg(pi, 0x1b2);
22874 pi->rssical_cache.rssical_phyregs_5G[3] =
22875 read_phy_reg(pi, 0x1b8);
22876 pi->rssical_cache.rssical_phyregs_5G[4] =
22877 read_phy_reg(pi, 0x1a4);
22878 pi->rssical_cache.rssical_phyregs_5G[5] =
22879 read_phy_reg(pi, 0x1aa);
22880 pi->rssical_cache.rssical_phyregs_5G[6] =
22881 read_phy_reg(pi, 0x1b0);
22882 pi->rssical_cache.rssical_phyregs_5G[7] =
22883 read_phy_reg(pi, 0x1b6);
22884 pi->rssical_cache.rssical_phyregs_5G[8] =
22885 read_phy_reg(pi, 0x1a5);
22886 pi->rssical_cache.rssical_phyregs_5G[9] =
22887 read_phy_reg(pi, 0x1ab);
22888 pi->rssical_cache.rssical_phyregs_5G[10] =
22889 read_phy_reg(pi, 0x1b1);
22890 pi->rssical_cache.rssical_phyregs_5G[11] =
22891 read_phy_reg(pi, 0x1b7);
22893 pi->nphy_rssical_chanspec_5G = pi->radio_chanspec;
22896 wlc_phy_classifier_nphy(pi, (0x7 << 0), classif_state);
22897 wlc_phy_clip_det_nphy(pi, 1, clip_state);
22900 static void wlc_phy_rssi_cal_nphy_rev2(struct brcms_phy *pi, u8 rssi_type)
22905 u16 rssi_ctrl_state[2], pd_state[2];
22906 u16 rfctrlintc_state[2], rfpdcorerxtx_state[2];
22907 u16 rfctrlintc_override_val;
22908 u16 clip_off[] = { 0xffff, 0xffff };
22909 u16 rf_pd_val, pd_mask, rssi_ctrl_mask;
22910 u8 vcm, min_vcm, vcm_tmp[4];
22911 u8 vcm_final[4] = { 0, 0, 0, 0 };
22912 u8 result_idx, ctr;
22913 s32 poll_results[4][4] = {
22919 s32 poll_miniq[4][2] = {
22926 s32 fine_digital_offset[4];
22927 s32 poll_results_min[4] = { 0, 0, 0, 0 };
22930 switch (rssi_type) {
22931 case NPHY_RSSI_SEL_NB:
22932 target_code = NPHY_RSSICAL_NB_TARGET;
22934 case NPHY_RSSI_SEL_W1:
22935 target_code = NPHY_RSSICAL_W1_TARGET;
22937 case NPHY_RSSI_SEL_W2:
22938 target_code = NPHY_RSSICAL_W2_TARGET;
22945 classif_state = wlc_phy_classifier_nphy(pi, 0, 0);
22946 wlc_phy_classifier_nphy(pi, (0x7 << 0), 4);
22947 wlc_phy_clip_det_nphy(pi, 0, clip_state);
22948 wlc_phy_clip_det_nphy(pi, 1, clip_off);
22950 rf_pd_val = (rssi_type == NPHY_RSSI_SEL_NB) ? 0x6 : 0x4;
22951 rfctrlintc_override_val =
22952 CHSPEC_IS5G(pi->radio_chanspec) ? 0x140 : 0x110;
22954 rfctrlintc_state[0] = read_phy_reg(pi, 0x91);
22955 rfpdcorerxtx_state[0] = read_radio_reg(pi, RADIO_2055_PD_CORE1_RXTX);
22956 write_phy_reg(pi, 0x91, rfctrlintc_override_val);
22957 write_radio_reg(pi, RADIO_2055_PD_CORE1_RXTX, rf_pd_val);
22959 rfctrlintc_state[1] = read_phy_reg(pi, 0x92);
22960 rfpdcorerxtx_state[1] = read_radio_reg(pi, RADIO_2055_PD_CORE2_RXTX);
22961 write_phy_reg(pi, 0x92, rfctrlintc_override_val);
22962 write_radio_reg(pi, RADIO_2055_PD_CORE2_RXTX, rf_pd_val);
22964 pd_mask = RADIO_2055_NBRSSI_PD | RADIO_2055_WBRSSI_G1_PD |
22965 RADIO_2055_WBRSSI_G2_PD;
22967 read_radio_reg(pi, RADIO_2055_PD_CORE1_RSSI_MISC) & pd_mask;
22969 read_radio_reg(pi, RADIO_2055_PD_CORE2_RSSI_MISC) & pd_mask;
22970 mod_radio_reg(pi, RADIO_2055_PD_CORE1_RSSI_MISC, pd_mask, 0);
22971 mod_radio_reg(pi, RADIO_2055_PD_CORE2_RSSI_MISC, pd_mask, 0);
22972 rssi_ctrl_mask = RADIO_2055_NBRSSI_SEL | RADIO_2055_WBRSSI_G1_SEL |
22973 RADIO_2055_WBRSSI_G2_SEL;
22974 rssi_ctrl_state[0] =
22975 read_radio_reg(pi, RADIO_2055_SP_RSSI_CORE1) & rssi_ctrl_mask;
22976 rssi_ctrl_state[1] =
22977 read_radio_reg(pi, RADIO_2055_SP_RSSI_CORE2) & rssi_ctrl_mask;
22978 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_ALLRX, rssi_type);
22980 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0, RADIO_MIMO_CORESEL_ALLRX,
22981 NPHY_RAIL_I, rssi_type);
22982 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0, RADIO_MIMO_CORESEL_ALLRX,
22983 NPHY_RAIL_Q, rssi_type);
22985 for (vcm = 0; vcm < 4; vcm++) {
22987 vcm_tmp[0] = vcm_tmp[1] = vcm_tmp[2] = vcm_tmp[3] = vcm;
22988 if (rssi_type != NPHY_RSSI_SEL_W2)
22989 wlc_phy_set_rssi_2055_vcm(pi, rssi_type, vcm_tmp);
22991 wlc_phy_poll_rssi_nphy(pi, rssi_type, &poll_results[vcm][0],
22992 NPHY_RSSICAL_NPOLL);
22994 if ((rssi_type == NPHY_RSSI_SEL_W1)
22995 || (rssi_type == NPHY_RSSI_SEL_W2)) {
22996 for (ctr = 0; ctr < 2; ctr++)
22997 poll_miniq[vcm][ctr] =
22998 min(poll_results[vcm][ctr * 2 + 0],
22999 poll_results[vcm][ctr * 2 + 1]);
23003 for (result_idx = 0; result_idx < 4; result_idx++) {
23004 min_d = NPHY_RSSICAL_MAXD;
23006 min_poll = NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL + 1;
23007 for (vcm = 0; vcm < 4; vcm++) {
23008 curr_d = abs(((rssi_type == NPHY_RSSI_SEL_NB) ?
23009 poll_results[vcm][result_idx] :
23010 poll_miniq[vcm][result_idx / 2]) -
23011 (target_code * NPHY_RSSICAL_NPOLL));
23012 if (curr_d < min_d) {
23016 if (poll_results[vcm][result_idx] < min_poll)
23017 min_poll = poll_results[vcm][result_idx];
23019 vcm_final[result_idx] = min_vcm;
23020 poll_results_min[result_idx] = min_poll;
23023 if (rssi_type != NPHY_RSSI_SEL_W2)
23024 wlc_phy_set_rssi_2055_vcm(pi, rssi_type, vcm_final);
23026 for (result_idx = 0; result_idx < 4; result_idx++) {
23027 fine_digital_offset[result_idx] =
23028 (target_code * NPHY_RSSICAL_NPOLL) -
23029 poll_results[vcm_final[result_idx]][result_idx];
23030 if (fine_digital_offset[result_idx] < 0) {
23031 fine_digital_offset[result_idx] =
23032 abs(fine_digital_offset[result_idx]);
23033 fine_digital_offset[result_idx] +=
23034 (NPHY_RSSICAL_NPOLL / 2);
23035 fine_digital_offset[result_idx] /= NPHY_RSSICAL_NPOLL;
23036 fine_digital_offset[result_idx] =
23037 -fine_digital_offset[result_idx];
23039 fine_digital_offset[result_idx] +=
23040 (NPHY_RSSICAL_NPOLL / 2);
23041 fine_digital_offset[result_idx] /= NPHY_RSSICAL_NPOLL;
23044 if (poll_results_min[result_idx] ==
23045 NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL)
23046 fine_digital_offset[result_idx] =
23047 (target_code - NPHY_RSSICAL_MAXREAD - 1);
23049 wlc_phy_scale_offset_rssi_nphy(pi, 0x0,
23051 fine_digital_offset[result_idx],
23053 0) ? RADIO_MIMO_CORESEL_CORE1 :
23054 RADIO_MIMO_CORESEL_CORE2,
23056 0) ? NPHY_RAIL_I : NPHY_RAIL_Q,
23060 mod_radio_reg(pi, RADIO_2055_PD_CORE1_RSSI_MISC, pd_mask, pd_state[0]);
23061 mod_radio_reg(pi, RADIO_2055_PD_CORE2_RSSI_MISC, pd_mask, pd_state[1]);
23062 if (rssi_ctrl_state[0] == RADIO_2055_NBRSSI_SEL)
23063 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
23065 else if (rssi_ctrl_state[0] == RADIO_2055_WBRSSI_G1_SEL)
23066 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
23068 else if (rssi_ctrl_state[0] == RADIO_2055_WBRSSI_G2_SEL)
23069 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
23072 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
23074 if (rssi_ctrl_state[1] == RADIO_2055_NBRSSI_SEL)
23075 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
23077 else if (rssi_ctrl_state[1] == RADIO_2055_WBRSSI_G1_SEL)
23078 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
23080 else if (rssi_ctrl_state[1] == RADIO_2055_WBRSSI_G2_SEL)
23081 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
23084 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
23087 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_OFF, rssi_type);
23089 write_phy_reg(pi, 0x91, rfctrlintc_state[0]);
23090 write_radio_reg(pi, RADIO_2055_PD_CORE1_RXTX, rfpdcorerxtx_state[0]);
23091 write_phy_reg(pi, 0x92, rfctrlintc_state[1]);
23092 write_radio_reg(pi, RADIO_2055_PD_CORE2_RXTX, rfpdcorerxtx_state[1]);
23094 wlc_phy_classifier_nphy(pi, (0x7 << 0), classif_state);
23095 wlc_phy_clip_det_nphy(pi, 1, clip_state);
23097 wlc_phy_resetcca_nphy(pi);
23100 void wlc_phy_rssi_cal_nphy(struct brcms_phy *pi)
23102 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23103 wlc_phy_rssi_cal_nphy_rev3(pi);
23105 wlc_phy_rssi_cal_nphy_rev2(pi, NPHY_RSSI_SEL_NB);
23106 wlc_phy_rssi_cal_nphy_rev2(pi, NPHY_RSSI_SEL_W1);
23107 wlc_phy_rssi_cal_nphy_rev2(pi, NPHY_RSSI_SEL_W2);
23112 wlc_phy_rssi_compute_nphy(struct brcms_phy *pi, struct d11rxhdr *rxh)
23114 s16 rxpwr, rxpwr0, rxpwr1;
23115 s16 phyRx0_l, phyRx2_l;
23118 rxpwr0 = le16_to_cpu(rxh->PhyRxStatus_1) & PRXS1_nphy_PWR0_MASK;
23119 rxpwr1 = (le16_to_cpu(rxh->PhyRxStatus_1) & PRXS1_nphy_PWR1_MASK) >> 8;
23126 phyRx0_l = le16_to_cpu(rxh->PhyRxStatus_0) & 0x00ff;
23127 phyRx2_l = le16_to_cpu(rxh->PhyRxStatus_2) & 0x00ff;
23128 if (phyRx2_l > 127)
23131 if (((rxpwr0 == 16) || (rxpwr0 == 32))) {
23136 if (pi->sh->rssi_mode == RSSI_ANT_MERGE_MAX)
23137 rxpwr = (rxpwr0 > rxpwr1) ? rxpwr0 : rxpwr1;
23138 else if (pi->sh->rssi_mode == RSSI_ANT_MERGE_MIN)
23139 rxpwr = (rxpwr0 < rxpwr1) ? rxpwr0 : rxpwr1;
23140 else if (pi->sh->rssi_mode == RSSI_ANT_MERGE_AVG)
23141 rxpwr = (rxpwr0 + rxpwr1) >> 1;
23147 wlc_phy_loadsampletable_nphy(struct brcms_phy *pi, struct cordic_iq *tone_buf,
23151 u32 *data_buf = NULL;
23153 data_buf = kmalloc(sizeof(u32) * num_samps, GFP_ATOMIC);
23154 if (data_buf == NULL)
23157 if (pi->phyhang_avoid)
23158 wlc_phy_stay_in_carriersearch_nphy(pi, true);
23160 for (t = 0; t < num_samps; t++)
23161 data_buf[t] = ((((unsigned int)tone_buf[t].i) & 0x3ff) << 10) |
23162 (((unsigned int)tone_buf[t].q) & 0x3ff);
23163 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_SAMPLEPLAY, num_samps, 0, 32,
23168 if (pi->phyhang_avoid)
23169 wlc_phy_stay_in_carriersearch_nphy(pi, false);
23173 wlc_phy_gen_load_samples_nphy(struct brcms_phy *pi, u32 f_kHz, u16 max_val,
23176 u8 phy_bw, is_phybw40;
23177 u16 num_samps, t, spur;
23178 s32 theta = 0, rot = 0;
23180 struct cordic_iq *tone_buf = NULL;
23182 is_phybw40 = CHSPEC_IS40(pi->radio_chanspec);
23183 phy_bw = (is_phybw40 == 1) ? 40 : 20;
23184 tbl_len = (phy_bw << 3);
23186 if (dac_test_mode == 1) {
23187 spur = read_phy_reg(pi, 0x01);
23188 spur = (spur >> 15) & 1;
23189 phy_bw = (spur == 1) ? 82 : 80;
23190 phy_bw = (is_phybw40 == 1) ? (phy_bw << 1) : phy_bw;
23192 tbl_len = (phy_bw << 1);
23195 tone_buf = kmalloc(sizeof(struct cordic_iq) * tbl_len, GFP_ATOMIC);
23196 if (tone_buf == NULL)
23199 num_samps = (u16) tbl_len;
23200 rot = ((f_kHz * 36) / phy_bw) / 100;
23203 for (t = 0; t < num_samps; t++) {
23205 tone_buf[t] = cordic_calc_iq(theta);
23209 tone_buf[t].q = (s32) FLOAT(tone_buf[t].q * max_val);
23210 tone_buf[t].i = (s32) FLOAT(tone_buf[t].i * max_val);
23213 wlc_phy_loadsampletable_nphy(pi, tone_buf, num_samps);
23221 wlc_phy_runsamples_nphy(struct brcms_phy *pi, u16 num_samps, u16 loops,
23222 u16 wait, u8 iqmode, u8 dac_test_mode,
23223 bool modify_bbmult)
23226 u8 phy_bw, sample_cmd;
23227 u16 orig_RfseqCoreActv;
23228 u16 lpf_bw_ctl_override3, lpf_bw_ctl_override4, lpf_bw_ctl_miscreg3,
23229 lpf_bw_ctl_miscreg4;
23231 if (pi->phyhang_avoid)
23232 wlc_phy_stay_in_carriersearch_nphy(pi, true);
23235 if (CHSPEC_IS40(pi->radio_chanspec))
23238 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
23240 lpf_bw_ctl_override3 = read_phy_reg(pi, 0x342) & (0x1 << 7);
23241 lpf_bw_ctl_override4 = read_phy_reg(pi, 0x343) & (0x1 << 7);
23242 if (lpf_bw_ctl_override3 | lpf_bw_ctl_override4) {
23243 lpf_bw_ctl_miscreg3 = read_phy_reg(pi, 0x340) &
23245 lpf_bw_ctl_miscreg4 = read_phy_reg(pi, 0x341) &
23248 wlc_phy_rfctrl_override_nphy_rev7(
23251 wlc_phy_read_lpf_bw_ctl_nphy
23254 NPHY_REV7_RFCTRLOVERRIDE_ID1);
23256 pi->nphy_sample_play_lpf_bw_ctl_ovr = true;
23258 lpf_bw_ctl_miscreg3 = read_phy_reg(pi, 0x340) &
23260 lpf_bw_ctl_miscreg4 = read_phy_reg(pi, 0x341) &
23265 if ((pi->nphy_bb_mult_save & BB_MULT_VALID_MASK) == 0) {
23267 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, 87, 16,
23269 pi->nphy_bb_mult_save =
23270 BB_MULT_VALID_MASK | (bb_mult & BB_MULT_MASK);
23273 if (modify_bbmult) {
23274 bb_mult = (phy_bw == 20) ? 100 : 71;
23275 bb_mult = (bb_mult << 8) + bb_mult;
23276 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, 87, 16,
23280 if (pi->phyhang_avoid)
23281 wlc_phy_stay_in_carriersearch_nphy(pi, false);
23283 write_phy_reg(pi, 0xc6, num_samps - 1);
23285 if (loops != 0xffff)
23286 write_phy_reg(pi, 0xc4, loops - 1);
23288 write_phy_reg(pi, 0xc4, loops);
23290 write_phy_reg(pi, 0xc5, wait);
23292 orig_RfseqCoreActv = read_phy_reg(pi, 0xa1);
23293 or_phy_reg(pi, 0xa1, NPHY_RfseqMode_CoreActv_override);
23296 and_phy_reg(pi, 0xc2, 0x7FFF);
23298 or_phy_reg(pi, 0xc2, 0x8000);
23301 sample_cmd = (dac_test_mode == 1) ? 0x5 : 0x1;
23302 write_phy_reg(pi, 0xc3, sample_cmd);
23305 SPINWAIT(((read_phy_reg(pi, 0xa4) & 0x1) == 1), 1000);
23307 write_phy_reg(pi, 0xa1, orig_RfseqCoreActv);
23311 wlc_phy_tx_tone_nphy(struct brcms_phy *pi, u32 f_kHz, u16 max_val,
23312 u8 iqmode, u8 dac_test_mode, bool modify_bbmult)
23315 u16 loops = 0xffff;
23318 num_samps = wlc_phy_gen_load_samples_nphy(pi, f_kHz, max_val,
23320 if (num_samps == 0)
23323 wlc_phy_runsamples_nphy(pi, num_samps, loops, wait, iqmode,
23324 dac_test_mode, modify_bbmult);
23329 void wlc_phy_stopplayback_nphy(struct brcms_phy *pi)
23331 u16 playback_status;
23334 if (pi->phyhang_avoid)
23335 wlc_phy_stay_in_carriersearch_nphy(pi, true);
23337 playback_status = read_phy_reg(pi, 0xc7);
23338 if (playback_status & 0x1)
23339 or_phy_reg(pi, 0xc3, NPHY_sampleCmd_STOP);
23340 else if (playback_status & 0x2)
23341 and_phy_reg(pi, 0xc2,
23342 (u16) ~NPHY_iqloCalCmdGctl_IQLO_CAL_EN);
23344 and_phy_reg(pi, 0xc3, (u16) ~(0x1 << 2));
23346 if ((pi->nphy_bb_mult_save & BB_MULT_VALID_MASK) != 0) {
23348 bb_mult = pi->nphy_bb_mult_save & BB_MULT_MASK;
23349 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, 87, 16,
23352 pi->nphy_bb_mult_save = 0;
23355 if (NREV_IS(pi->pubpi.phy_rev, 7) || NREV_GE(pi->pubpi.phy_rev, 8)) {
23356 if (pi->nphy_sample_play_lpf_bw_ctl_ovr) {
23357 wlc_phy_rfctrl_override_nphy_rev7(
23361 NPHY_REV7_RFCTRLOVERRIDE_ID1);
23362 pi->nphy_sample_play_lpf_bw_ctl_ovr = false;
23366 if (pi->phyhang_avoid)
23367 wlc_phy_stay_in_carriersearch_nphy(pi, false);
23370 static u32 *brcms_phy_get_tx_pwrctrl_tbl(struct brcms_phy *pi)
23372 u32 *tx_pwrctrl_tbl = NULL;
23373 uint phyrev = pi->pubpi.phy_rev;
23377 wlc_phy_get_ipa_gaintbl_nphy(pi);
23379 if (CHSPEC_IS5G(pi->radio_chanspec)) {
23380 if (NREV_IS(phyrev, 3))
23381 tx_pwrctrl_tbl = nphy_tpc_5GHz_txgain_rev3;
23382 else if (NREV_IS(phyrev, 4))
23384 (pi->srom_fem5g.extpagain == 3) ?
23385 nphy_tpc_5GHz_txgain_HiPwrEPA :
23386 nphy_tpc_5GHz_txgain_rev4;
23388 tx_pwrctrl_tbl = nphy_tpc_5GHz_txgain_rev5;
23390 if (NREV_GE(phyrev, 7)) {
23391 if (pi->pubpi.radiorev == 3)
23393 nphy_tpc_txgain_epa_2057rev3;
23394 else if (pi->pubpi.radiorev == 5)
23396 nphy_tpc_txgain_epa_2057rev5;
23398 if (NREV_GE(phyrev, 5) &&
23399 (pi->srom_fem2g.extpagain == 3))
23401 nphy_tpc_txgain_HiPwrEPA;
23404 nphy_tpc_txgain_rev3;
23408 return tx_pwrctrl_tbl;
23411 struct nphy_txgains wlc_phy_get_tx_gain_nphy(struct brcms_phy *pi)
23413 u16 base_idx[2], curr_gain[2];
23415 struct nphy_txgains target_gain;
23416 u32 *tx_pwrctrl_tbl = NULL;
23418 if (pi->nphy_txpwrctrl == PHY_TPC_HW_OFF) {
23419 if (pi->phyhang_avoid)
23420 wlc_phy_stay_in_carriersearch_nphy(pi, true);
23422 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
23425 if (pi->phyhang_avoid)
23426 wlc_phy_stay_in_carriersearch_nphy(pi, false);
23428 for (core_no = 0; core_no < 2; core_no++) {
23429 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
23430 target_gain.ipa[core_no] =
23431 curr_gain[core_no] & 0x0007;
23432 target_gain.pad[core_no] =
23433 ((curr_gain[core_no] & 0x00F8) >> 3);
23434 target_gain.pga[core_no] =
23435 ((curr_gain[core_no] & 0x0F00) >> 8);
23436 target_gain.txgm[core_no] =
23437 ((curr_gain[core_no] & 0x7000) >> 12);
23438 target_gain.txlpf[core_no] =
23439 ((curr_gain[core_no] & 0x8000) >> 15);
23440 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23441 target_gain.ipa[core_no] =
23442 curr_gain[core_no] & 0x000F;
23443 target_gain.pad[core_no] =
23444 ((curr_gain[core_no] & 0x00F0) >> 4);
23445 target_gain.pga[core_no] =
23446 ((curr_gain[core_no] & 0x0F00) >> 8);
23447 target_gain.txgm[core_no] =
23448 ((curr_gain[core_no] & 0x7000) >> 12);
23450 target_gain.ipa[core_no] =
23451 curr_gain[core_no] & 0x0003;
23452 target_gain.pad[core_no] =
23453 ((curr_gain[core_no] & 0x000C) >> 2);
23454 target_gain.pga[core_no] =
23455 ((curr_gain[core_no] & 0x0070) >> 4);
23456 target_gain.txgm[core_no] =
23457 ((curr_gain[core_no] & 0x0380) >> 7);
23461 uint phyrev = pi->pubpi.phy_rev;
23463 base_idx[0] = (read_phy_reg(pi, 0x1ed) >> 8) & 0x7f;
23464 base_idx[1] = (read_phy_reg(pi, 0x1ee) >> 8) & 0x7f;
23465 for (core_no = 0; core_no < 2; core_no++) {
23466 if (NREV_GE(phyrev, 3)) {
23468 brcms_phy_get_tx_pwrctrl_tbl(pi);
23469 if (NREV_GE(phyrev, 7)) {
23470 target_gain.ipa[core_no] =
23472 [base_idx[core_no]]
23474 target_gain.pad[core_no] =
23476 [base_idx[core_no]]
23478 target_gain.pga[core_no] =
23480 [base_idx[core_no]]
23482 target_gain.txgm[core_no] =
23484 [base_idx[core_no]]
23486 target_gain.txlpf[core_no] =
23488 [base_idx[core_no]]
23491 target_gain.ipa[core_no] =
23493 [base_idx[core_no]]
23495 target_gain.pad[core_no] =
23497 [base_idx[core_no]]
23499 target_gain.pga[core_no] =
23501 [base_idx[core_no]]
23503 target_gain.txgm[core_no] =
23505 [base_idx[core_no]]
23509 target_gain.ipa[core_no] =
23510 (nphy_tpc_txgain[base_idx[core_no]] >>
23512 target_gain.pad[core_no] =
23513 (nphy_tpc_txgain[base_idx[core_no]] >>
23515 target_gain.pga[core_no] =
23516 (nphy_tpc_txgain[base_idx[core_no]] >>
23518 target_gain.txgm[core_no] =
23519 (nphy_tpc_txgain[base_idx[core_no]] >>
23525 return target_gain;
23529 wlc_phy_iqcal_gainparams_nphy(struct brcms_phy *pi, u16 core_no,
23530 struct nphy_txgains target_gain,
23531 struct nphy_iqcal_params *params)
23536 u8 band_idx = (CHSPEC_IS5G(pi->radio_chanspec) ? 1 : 0);
23538 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23539 if (NREV_GE(pi->pubpi.phy_rev, 7))
23540 params->txlpf = target_gain.txlpf[core_no];
23542 params->txgm = target_gain.txgm[core_no];
23543 params->pga = target_gain.pga[core_no];
23544 params->pad = target_gain.pad[core_no];
23545 params->ipa = target_gain.ipa[core_no];
23546 if (NREV_GE(pi->pubpi.phy_rev, 7))
23548 ((params->txlpf << 15) | (params->txgm << 12) |
23549 (params->pga << 8) |
23550 (params->pad << 3) | (params->ipa));
23553 ((params->txgm << 12) | (params->pga << 8) |
23554 (params->pad << 4) | (params->ipa));
23556 params->ncorr[0] = 0x79;
23557 params->ncorr[1] = 0x79;
23558 params->ncorr[2] = 0x79;
23559 params->ncorr[3] = 0x79;
23560 params->ncorr[4] = 0x79;
23563 gain_index = ((target_gain.pad[core_no] << 0) |
23564 (target_gain.pga[core_no] << 4) |
23565 (target_gain.txgm[core_no] << 8));
23568 for (k = 0; k < NPHY_IQCAL_NUMGAINS; k++) {
23569 if (tbl_iqcal_gainparams_nphy[band_idx][k][0] ==
23576 params->txgm = tbl_iqcal_gainparams_nphy[band_idx][k][1];
23577 params->pga = tbl_iqcal_gainparams_nphy[band_idx][k][2];
23578 params->pad = tbl_iqcal_gainparams_nphy[band_idx][k][3];
23579 params->cal_gain = ((params->txgm << 7) | (params->pga << 4) |
23580 (params->pad << 2));
23581 params->ncorr[0] = tbl_iqcal_gainparams_nphy[band_idx][k][4];
23582 params->ncorr[1] = tbl_iqcal_gainparams_nphy[band_idx][k][5];
23583 params->ncorr[2] = tbl_iqcal_gainparams_nphy[band_idx][k][6];
23584 params->ncorr[3] = tbl_iqcal_gainparams_nphy[band_idx][k][7];
23588 static void wlc_phy_txcal_radio_setup_nphy(struct brcms_phy *pi)
23590 u16 jtag_core, core;
23592 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
23594 for (core = 0; core <= 1; core++) {
23596 pi->tx_rx_cal_radio_saveregs[(core * 11) + 0] =
23597 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
23600 pi->tx_rx_cal_radio_saveregs[(core * 11) + 1] =
23601 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
23604 pi->tx_rx_cal_radio_saveregs[(core * 11) + 2] =
23605 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
23608 pi->tx_rx_cal_radio_saveregs[(core * 11) + 3] =
23609 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
23612 pi->tx_rx_cal_radio_saveregs[(core * 11) + 4] = 0;
23614 pi->tx_rx_cal_radio_saveregs[(core * 11) + 5] =
23615 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
23618 if (pi->pubpi.radiorev != 5)
23619 pi->tx_rx_cal_radio_saveregs[(core * 11) + 6] =
23620 READ_RADIO_REG3(pi, RADIO_2057, TX,
23624 pi->tx_rx_cal_radio_saveregs[(core * 11) + 7] =
23625 READ_RADIO_REG3(pi, RADIO_2057, TX, core, TSSIG);
23627 pi->tx_rx_cal_radio_saveregs[(core * 11) + 8] =
23628 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
23631 if (CHSPEC_IS5G(pi->radio_chanspec)) {
23632 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23633 TX_SSI_MASTER, 0x0a);
23634 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23635 IQCAL_VCM_HG, 0x43);
23636 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23638 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23640 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23642 if (pi->use_int_tx_iqlo_cal_nphy) {
23643 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
23644 core, TX_SSI_MUX, 0x4);
23646 internal_tx_iqlo_cal_tapoff_intpa_nphy))
23647 WRITE_RADIO_REG3(pi, RADIO_2057,
23651 WRITE_RADIO_REG3(pi, RADIO_2057,
23655 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23658 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23659 TX_SSI_MASTER, 0x06);
23660 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23661 IQCAL_VCM_HG, 0x43);
23662 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23664 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23667 if (pi->pubpi.radiorev != 5)
23668 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
23669 core, TSSIA, 0x00);
23670 if (pi->use_int_tx_iqlo_cal_nphy) {
23671 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
23675 internal_tx_iqlo_cal_tapoff_intpa_nphy))
23676 WRITE_RADIO_REG3(pi, RADIO_2057,
23680 WRITE_RADIO_REG3(pi, RADIO_2057,
23684 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23688 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23690 for (core = 0; core <= 1; core++) {
23693 PHY_CORE_0) ? RADIO_2056_TX0 : RADIO_2056_TX1;
23695 pi->tx_rx_cal_radio_saveregs[(core * 11) + 0] =
23697 RADIO_2056_TX_TX_SSI_MASTER |
23700 pi->tx_rx_cal_radio_saveregs[(core * 11) + 1] =
23702 RADIO_2056_TX_IQCAL_VCM_HG |
23705 pi->tx_rx_cal_radio_saveregs[(core * 11) + 2] =
23707 RADIO_2056_TX_IQCAL_IDAC |
23710 pi->tx_rx_cal_radio_saveregs[(core * 11) + 3] =
23713 RADIO_2056_TX_TSSI_VCM |
23716 pi->tx_rx_cal_radio_saveregs[(core * 11) + 4] =
23718 RADIO_2056_TX_TX_AMP_DET |
23721 pi->tx_rx_cal_radio_saveregs[(core * 11) + 5] =
23723 RADIO_2056_TX_TX_SSI_MUX |
23726 pi->tx_rx_cal_radio_saveregs[(core * 11) + 6] =
23728 RADIO_2056_TX_TSSIA | jtag_core);
23730 pi->tx_rx_cal_radio_saveregs[(core * 11) + 7] =
23732 RADIO_2056_TX_TSSIG | jtag_core);
23734 pi->tx_rx_cal_radio_saveregs[(core * 11) + 8] =
23736 RADIO_2056_TX_TSSI_MISC1 |
23739 pi->tx_rx_cal_radio_saveregs[(core * 11) + 9] =
23741 RADIO_2056_TX_TSSI_MISC2 |
23744 pi->tx_rx_cal_radio_saveregs[(core * 11) + 10] =
23746 RADIO_2056_TX_TSSI_MISC3 |
23749 if (CHSPEC_IS5G(pi->radio_chanspec)) {
23750 write_radio_reg(pi,
23751 RADIO_2056_TX_TX_SSI_MASTER |
23753 write_radio_reg(pi,
23754 RADIO_2056_TX_IQCAL_VCM_HG |
23756 write_radio_reg(pi,
23757 RADIO_2056_TX_IQCAL_IDAC |
23759 write_radio_reg(pi,
23760 RADIO_2056_TX_TSSI_VCM |
23762 write_radio_reg(pi,
23763 RADIO_2056_TX_TX_AMP_DET |
23769 RADIO_2056_TX_TX_SSI_MUX
23771 write_radio_reg(pi,
23772 RADIO_2056_TX_TSSIA |
23777 RADIO_2056_TX_TX_SSI_MUX
23778 | jtag_core, 0x00);
23779 write_radio_reg(pi,
23780 RADIO_2056_TX_TSSIA |
23783 write_radio_reg(pi,
23784 RADIO_2056_TX_TSSIG | jtag_core,
23786 write_radio_reg(pi,
23787 RADIO_2056_TX_TSSI_MISC1 |
23790 write_radio_reg(pi,
23791 RADIO_2056_TX_TSSI_MISC2 |
23793 write_radio_reg(pi,
23794 RADIO_2056_TX_TSSI_MISC3 |
23797 write_radio_reg(pi,
23798 RADIO_2056_TX_TX_SSI_MASTER |
23800 write_radio_reg(pi,
23801 RADIO_2056_TX_IQCAL_VCM_HG |
23803 write_radio_reg(pi,
23804 RADIO_2056_TX_IQCAL_IDAC |
23806 write_radio_reg(pi,
23807 RADIO_2056_TX_TSSI_VCM |
23809 write_radio_reg(pi,
23810 RADIO_2056_TX_TX_AMP_DET |
23812 write_radio_reg(pi,
23813 RADIO_2056_TX_TSSIA | jtag_core,
23820 RADIO_2056_TX_TX_SSI_MUX
23821 | jtag_core, 0x06);
23822 if (NREV_LT(pi->pubpi.phy_rev, 5))
23825 RADIO_2056_TX_TSSIG
23831 RADIO_2056_TX_TSSIG
23837 RADIO_2056_TX_TX_SSI_MUX
23838 | jtag_core, 0x00);
23839 write_radio_reg(pi,
23840 RADIO_2056_TX_TSSIG |
23844 write_radio_reg(pi,
23845 RADIO_2056_TX_TSSI_MISC1 |
23847 write_radio_reg(pi,
23848 RADIO_2056_TX_TSSI_MISC2 |
23850 write_radio_reg(pi,
23851 RADIO_2056_TX_TSSI_MISC3 |
23857 pi->tx_rx_cal_radio_saveregs[0] =
23858 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1);
23859 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1, 0x29);
23860 pi->tx_rx_cal_radio_saveregs[1] =
23861 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2);
23862 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2, 0x54);
23864 pi->tx_rx_cal_radio_saveregs[2] =
23865 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1);
23866 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1, 0x29);
23867 pi->tx_rx_cal_radio_saveregs[3] =
23868 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2);
23869 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2, 0x54);
23871 pi->tx_rx_cal_radio_saveregs[4] =
23872 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1);
23873 pi->tx_rx_cal_radio_saveregs[5] =
23874 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2);
23876 if ((read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand) ==
23879 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1, 0x04);
23880 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2, 0x04);
23883 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1, 0x20);
23884 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2, 0x20);
23887 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
23889 or_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM, 0x20);
23890 or_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM, 0x20);
23893 and_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM, 0xdf);
23894 and_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM, 0xdf);
23899 static void wlc_phy_txcal_radio_cleanup_nphy(struct brcms_phy *pi)
23901 u16 jtag_core, core;
23903 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
23904 for (core = 0; core <= 1; core++) {
23906 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23909 tx_rx_cal_radio_saveregs[(core * 11) +
23912 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_VCM_HG,
23914 tx_rx_cal_radio_saveregs[(core * 11) +
23917 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_IDAC,
23919 tx_rx_cal_radio_saveregs[(core * 11) +
23922 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_VCM,
23924 tx_rx_cal_radio_saveregs[(core * 11) +
23927 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TX_SSI_MUX,
23929 tx_rx_cal_radio_saveregs[(core * 11) +
23932 if (pi->pubpi.radiorev != 5)
23933 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23935 pi->tx_rx_cal_radio_saveregs
23936 [(core * 11) + 6]);
23938 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSIG,
23940 tx_rx_cal_radio_saveregs[(core * 11) +
23943 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_MISC1,
23945 tx_rx_cal_radio_saveregs[(core * 11) +
23948 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23949 for (core = 0; core <= 1; core++) {
23950 jtag_core = (core == PHY_CORE_0) ?
23951 RADIO_2056_TX0 : RADIO_2056_TX1;
23953 write_radio_reg(pi,
23954 RADIO_2056_TX_TX_SSI_MASTER | jtag_core,
23956 tx_rx_cal_radio_saveregs[(core * 11) +
23959 write_radio_reg(pi,
23960 RADIO_2056_TX_IQCAL_VCM_HG | jtag_core,
23962 tx_rx_cal_radio_saveregs[(core * 11) +
23965 write_radio_reg(pi,
23966 RADIO_2056_TX_IQCAL_IDAC | jtag_core,
23968 tx_rx_cal_radio_saveregs[(core * 11) +
23971 write_radio_reg(pi, RADIO_2056_TX_TSSI_VCM | jtag_core,
23973 tx_rx_cal_radio_saveregs[(core * 11) +
23976 write_radio_reg(pi,
23977 RADIO_2056_TX_TX_AMP_DET | jtag_core,
23979 tx_rx_cal_radio_saveregs[(core * 11) +
23982 write_radio_reg(pi,
23983 RADIO_2056_TX_TX_SSI_MUX | jtag_core,
23985 tx_rx_cal_radio_saveregs[(core * 11) +
23988 write_radio_reg(pi, RADIO_2056_TX_TSSIA | jtag_core,
23990 tx_rx_cal_radio_saveregs[(core * 11) +
23993 write_radio_reg(pi, RADIO_2056_TX_TSSIG | jtag_core,
23995 tx_rx_cal_radio_saveregs[(core * 11) +
23998 write_radio_reg(pi,
23999 RADIO_2056_TX_TSSI_MISC1 | jtag_core,
24001 tx_rx_cal_radio_saveregs[(core * 11) +
24004 write_radio_reg(pi,
24005 RADIO_2056_TX_TSSI_MISC2 | jtag_core,
24007 tx_rx_cal_radio_saveregs[(core * 11) +
24010 write_radio_reg(pi,
24011 RADIO_2056_TX_TSSI_MISC3 | jtag_core,
24013 tx_rx_cal_radio_saveregs[(core * 11) +
24018 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1,
24019 pi->tx_rx_cal_radio_saveregs[0]);
24020 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2,
24021 pi->tx_rx_cal_radio_saveregs[1]);
24022 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1,
24023 pi->tx_rx_cal_radio_saveregs[2]);
24024 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2,
24025 pi->tx_rx_cal_radio_saveregs[3]);
24026 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1,
24027 pi->tx_rx_cal_radio_saveregs[4]);
24028 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2,
24029 pi->tx_rx_cal_radio_saveregs[5]);
24033 static void wlc_phy_txcal_physetup_nphy(struct brcms_phy *pi)
24037 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24038 pi->tx_rx_cal_phy_saveregs[0] = read_phy_reg(pi, 0xa6);
24039 pi->tx_rx_cal_phy_saveregs[1] = read_phy_reg(pi, 0xa7);
24041 mask = ((0x3 << 8) | (0x3 << 10));
24043 val |= (0x2 << 10);
24044 mod_phy_reg(pi, 0xa6, mask, val);
24045 mod_phy_reg(pi, 0xa7, mask, val);
24047 val = read_phy_reg(pi, 0x8f);
24048 pi->tx_rx_cal_phy_saveregs[2] = val;
24049 val |= ((0x1 << 9) | (0x1 << 10));
24050 write_phy_reg(pi, 0x8f, val);
24052 val = read_phy_reg(pi, 0xa5);
24053 pi->tx_rx_cal_phy_saveregs[3] = val;
24054 val |= ((0x1 << 9) | (0x1 << 10));
24055 write_phy_reg(pi, 0xa5, val);
24057 pi->tx_rx_cal_phy_saveregs[4] = read_phy_reg(pi, 0x01);
24058 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
24060 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 3, 16,
24062 pi->tx_rx_cal_phy_saveregs[5] = val;
24064 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 3, 16,
24067 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 19, 16,
24069 pi->tx_rx_cal_phy_saveregs[6] = val;
24071 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 19, 16,
24074 pi->tx_rx_cal_phy_saveregs[7] = read_phy_reg(pi, 0x91);
24075 pi->tx_rx_cal_phy_saveregs[8] = read_phy_reg(pi, 0x92);
24077 if (!(pi->use_int_tx_iqlo_cal_nphy))
24078 wlc_phy_rfctrlintc_override_nphy(
24080 NPHY_RfctrlIntc_override_PA,
24082 RADIO_MIMO_CORESEL_CORE1
24084 RADIO_MIMO_CORESEL_CORE2);
24086 wlc_phy_rfctrlintc_override_nphy(
24088 NPHY_RfctrlIntc_override_PA,
24090 RADIO_MIMO_CORESEL_CORE1
24092 RADIO_MIMO_CORESEL_CORE2);
24094 wlc_phy_rfctrlintc_override_nphy(pi,
24095 NPHY_RfctrlIntc_override_TRSW,
24096 0x2, RADIO_MIMO_CORESEL_CORE1);
24097 wlc_phy_rfctrlintc_override_nphy(pi,
24098 NPHY_RfctrlIntc_override_TRSW,
24099 0x8, RADIO_MIMO_CORESEL_CORE2);
24101 pi->tx_rx_cal_phy_saveregs[9] = read_phy_reg(pi, 0x297);
24102 pi->tx_rx_cal_phy_saveregs[10] = read_phy_reg(pi, 0x29b);
24103 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
24104 0x29b, (0x1 << 0), (0) << 0);
24106 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
24107 0x29b, (0x1 << 0), (0) << 0);
24109 if (NREV_IS(pi->pubpi.phy_rev, 7)
24110 || NREV_GE(pi->pubpi.phy_rev, 8))
24111 wlc_phy_rfctrl_override_nphy_rev7(
24113 wlc_phy_read_lpf_bw_ctl_nphy
24116 NPHY_REV7_RFCTRLOVERRIDE_ID1);
24118 if (pi->use_int_tx_iqlo_cal_nphy
24119 && !(pi->internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
24121 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
24123 mod_radio_reg(pi, RADIO_2057_OVR_REG0, 1 << 4,
24126 if (CHSPEC_IS2G(pi->radio_chanspec)) {
24129 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
24133 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
24138 RADIO_2057_IPA5G_CASCOFFV_PU_CORE0,
24142 RADIO_2057_IPA5G_CASCOFFV_PU_CORE1,
24145 } else if (NREV_GE(pi->pubpi.phy_rev, 8)) {
24146 wlc_phy_rfctrl_override_nphy_rev7(
24150 NPHY_REV7_RFCTRLOVERRIDE_ID0);
24154 pi->tx_rx_cal_phy_saveregs[0] = read_phy_reg(pi, 0xa6);
24155 pi->tx_rx_cal_phy_saveregs[1] = read_phy_reg(pi, 0xa7);
24157 mask = ((0x3 << 12) | (0x3 << 14));
24159 val |= (0x2 << 14);
24160 mod_phy_reg(pi, 0xa6, mask, val);
24161 mod_phy_reg(pi, 0xa7, mask, val);
24163 val = read_phy_reg(pi, 0xa5);
24164 pi->tx_rx_cal_phy_saveregs[2] = val;
24165 val |= ((0x1 << 12) | (0x1 << 13));
24166 write_phy_reg(pi, 0xa5, val);
24168 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 2, 16,
24170 pi->tx_rx_cal_phy_saveregs[3] = val;
24172 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 2, 16,
24175 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 18, 16,
24177 pi->tx_rx_cal_phy_saveregs[4] = val;
24179 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 18, 16,
24182 pi->tx_rx_cal_phy_saveregs[5] = read_phy_reg(pi, 0x91);
24183 pi->tx_rx_cal_phy_saveregs[6] = read_phy_reg(pi, 0x92);
24184 val = CHSPEC_IS5G(pi->radio_chanspec) ? 0x180 : 0x120;
24185 write_phy_reg(pi, 0x91, val);
24186 write_phy_reg(pi, 0x92, val);
24190 static void wlc_phy_txcal_phycleanup_nphy(struct brcms_phy *pi)
24194 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24195 write_phy_reg(pi, 0xa6, pi->tx_rx_cal_phy_saveregs[0]);
24196 write_phy_reg(pi, 0xa7, pi->tx_rx_cal_phy_saveregs[1]);
24197 write_phy_reg(pi, 0x8f, pi->tx_rx_cal_phy_saveregs[2]);
24198 write_phy_reg(pi, 0xa5, pi->tx_rx_cal_phy_saveregs[3]);
24199 write_phy_reg(pi, 0x01, pi->tx_rx_cal_phy_saveregs[4]);
24201 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 3, 16,
24202 &pi->tx_rx_cal_phy_saveregs[5]);
24203 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 19, 16,
24204 &pi->tx_rx_cal_phy_saveregs[6]);
24206 write_phy_reg(pi, 0x91, pi->tx_rx_cal_phy_saveregs[7]);
24207 write_phy_reg(pi, 0x92, pi->tx_rx_cal_phy_saveregs[8]);
24209 write_phy_reg(pi, 0x297, pi->tx_rx_cal_phy_saveregs[9]);
24210 write_phy_reg(pi, 0x29b, pi->tx_rx_cal_phy_saveregs[10]);
24212 if (NREV_IS(pi->pubpi.phy_rev, 7)
24213 || NREV_GE(pi->pubpi.phy_rev, 8))
24214 wlc_phy_rfctrl_override_nphy_rev7(
24215 pi, (0x1 << 7), 0, 0,
24217 NPHY_REV7_RFCTRLOVERRIDE_ID1);
24219 wlc_phy_resetcca_nphy(pi);
24221 if (pi->use_int_tx_iqlo_cal_nphy
24222 && !(pi->internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
24224 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
24225 if (CHSPEC_IS2G(pi->radio_chanspec)) {
24228 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
24232 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
24237 RADIO_2057_IPA5G_CASCOFFV_PU_CORE0,
24241 RADIO_2057_IPA5G_CASCOFFV_PU_CORE1,
24245 mod_radio_reg(pi, RADIO_2057_OVR_REG0, 1 << 4,
24247 } else if (NREV_GE(pi->pubpi.phy_rev, 8)) {
24248 wlc_phy_rfctrl_override_nphy_rev7(
24252 NPHY_REV7_RFCTRLOVERRIDE_ID0);
24256 mask = ((0x3 << 12) | (0x3 << 14));
24257 mod_phy_reg(pi, 0xa6, mask, pi->tx_rx_cal_phy_saveregs[0]);
24258 mod_phy_reg(pi, 0xa7, mask, pi->tx_rx_cal_phy_saveregs[1]);
24259 write_phy_reg(pi, 0xa5, pi->tx_rx_cal_phy_saveregs[2]);
24261 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 2, 16,
24262 &pi->tx_rx_cal_phy_saveregs[3]);
24264 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 18, 16,
24265 &pi->tx_rx_cal_phy_saveregs[4]);
24267 write_phy_reg(pi, 0x91, pi->tx_rx_cal_phy_saveregs[5]);
24268 write_phy_reg(pi, 0x92, pi->tx_rx_cal_phy_saveregs[6]);
24273 wlc_phy_est_tonepwr_nphy(struct brcms_phy *pi, s32 *qdBm_pwrbuf, u8 num_samps)
24276 s32 temp, pwrindex[2];
24282 tssi_reg = read_phy_reg(pi, 0x1e9);
24284 temp = (s32) (tssi_reg & 0x3f);
24285 idle_tssi[0] = (temp <= 31) ? temp : (temp - 64);
24287 temp = (s32) ((tssi_reg >> 8) & 0x3f);
24288 idle_tssi[1] = (temp <= 31) ? temp : (temp - 64);
24291 CHSPEC_IS5G(pi->radio_chanspec) ?
24292 (u8)NPHY_RSSI_SEL_TSSI_5G : (u8)NPHY_RSSI_SEL_TSSI_2G;
24294 wlc_phy_poll_rssi_nphy(pi, tssi_type, rssi_buf, num_samps);
24296 tssival[0] = rssi_buf[0] / ((s32) num_samps);
24297 tssival[1] = rssi_buf[2] / ((s32) num_samps);
24299 pwrindex[0] = idle_tssi[0] - tssival[0] + 64;
24300 pwrindex[1] = idle_tssi[1] - tssival[1] + 64;
24302 if (pwrindex[0] < 0)
24304 else if (pwrindex[0] > 63)
24307 if (pwrindex[1] < 0)
24309 else if (pwrindex[1] > 63)
24312 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 1,
24313 (u32) pwrindex[0], 32, &qdBm_pwrbuf[0]);
24314 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 1,
24315 (u32) pwrindex[1], 32, &qdBm_pwrbuf[1]);
24318 static void wlc_phy_update_txcal_ladder_nphy(struct brcms_phy *pi, u16 core)
24325 struct nphy_txiqcal_ladder ladder_lo[] = {
24326 {3, 0}, {4, 0}, {6, 0}, {9, 0}, {13, 0}, {18, 0},
24327 {25, 0}, {25, 1}, {25, 2}, {25, 3}, {25, 4}, {25, 5},
24328 {25, 6}, {25, 7}, {35, 7}, {50, 7}, {71, 7}, {100, 7}
24331 struct nphy_txiqcal_ladder ladder_iq[] = {
24332 {3, 0}, {4, 0}, {6, 0}, {9, 0}, {13, 0}, {18, 0},
24333 {25, 0}, {35, 0}, {50, 0}, {71, 0}, {100, 0}, {100, 1},
24334 {100, 2}, {100, 3}, {100, 4}, {100, 5}, {100, 6}, {100, 7}
24337 bbmult = (core == PHY_CORE_0) ?
24338 ((pi->nphy_txcal_bbmult >> 8) & 0xff) :
24339 (pi->nphy_txcal_bbmult & 0xff);
24341 for (index = 0; index < 18; index++) {
24342 bbmult_scale = ladder_lo[index].percent * bbmult;
24343 bbmult_scale /= 100;
24346 ((bbmult_scale & 0xff) << 8) | ladder_lo[index].g_env;
24347 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, index, 16,
24350 bbmult_scale = ladder_iq[index].percent * bbmult;
24351 bbmult_scale /= 100;
24354 ((bbmult_scale & 0xff) << 8) | ladder_iq[index].g_env;
24355 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, index + 32,
24360 static u8 wlc_phy_txpwr_idx_cur_get_nphy(struct brcms_phy *pi, u8 core)
24363 tmp = read_phy_reg(pi, ((core == PHY_CORE_0) ? 0x1ed : 0x1ee));
24365 tmp = (tmp & (0x7f << 8)) >> 8;
24370 wlc_phy_txpwr_idx_cur_set_nphy(struct brcms_phy *pi, u8 idx0, u8 idx1)
24372 mod_phy_reg(pi, 0x1e7, (0x7f << 0), idx0);
24374 if (NREV_GT(pi->pubpi.phy_rev, 1))
24375 mod_phy_reg(pi, 0x222, (0xff << 0), idx1);
24378 static u16 wlc_phy_ipa_get_bbmult_nphy(struct brcms_phy *pi)
24382 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m0m1);
24387 static void wlc_phy_ipa_set_bbmult_nphy(struct brcms_phy *pi, u8 m0, u8 m1)
24389 u16 m0m1 = (u16) ((m0 << 8) | m1);
24391 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m0m1);
24392 wlc_phy_table_write_nphy(pi, 15, 1, 95, 16, &m0m1);
24396 wlc_phy_papd_cal_setup_nphy(struct brcms_phy *pi,
24397 struct nphy_papd_restore_state *state, u8 core)
24403 off_core = core ^ 0x1;
24404 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
24406 if (NREV_IS(pi->pubpi.phy_rev, 7)
24407 || NREV_GE(pi->pubpi.phy_rev, 8))
24408 wlc_phy_rfctrl_override_nphy_rev7(
24410 wlc_phy_read_lpf_bw_ctl_nphy
24413 NPHY_REV7_RFCTRLOVERRIDE_ID1);
24415 if (CHSPEC_IS2G(pi->radio_chanspec)) {
24416 if (pi->pubpi.radiorev == 5)
24417 mixgain = (core == 0) ? 0x20 : 0x00;
24418 else if ((pi->pubpi.radiorev == 7)
24419 || (pi->pubpi.radiorev == 8))
24421 else if ((pi->pubpi.radiorev <= 4)
24422 || (pi->pubpi.radiorev == 6))
24425 if ((pi->pubpi.radiorev == 4) ||
24426 (pi->pubpi.radiorev == 6))
24428 else if ((pi->pubpi.radiorev == 3)
24429 || (pi->pubpi.radiorev == 7)
24430 || (pi->pubpi.radiorev == 8))
24434 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11),
24435 mixgain, (1 << core), 0,
24436 NPHY_REV7_RFCTRLOVERRIDE_ID0);
24438 wlc_phy_rfctrl_override_1tomany_nphy(
24440 NPHY_REV7_RfctrlOverride_cmd_tx_pu,
24441 1, (1 << core), 0);
24442 wlc_phy_rfctrl_override_1tomany_nphy(
24444 NPHY_REV7_RfctrlOverride_cmd_tx_pu,
24445 0, (1 << off_core), 0);
24447 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
24449 NPHY_REV7_RFCTRLOVERRIDE_ID0);
24450 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), 1,
24452 NPHY_REV7_RFCTRLOVERRIDE_ID1);
24453 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 0,
24455 NPHY_REV7_RFCTRLOVERRIDE_ID1);
24456 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), 1,
24458 NPHY_REV7_RFCTRLOVERRIDE_ID2);
24459 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 8), 0,
24461 NPHY_REV7_RFCTRLOVERRIDE_ID1);
24462 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 9), 1,
24464 NPHY_REV7_RFCTRLOVERRIDE_ID1);
24465 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 10), 0,
24467 NPHY_REV7_RFCTRLOVERRIDE_ID1);
24468 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), 1,
24470 NPHY_REV7_RFCTRLOVERRIDE_ID1);
24472 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5),
24474 NPHY_REV7_RFCTRLOVERRIDE_ID1);
24475 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), 0,
24477 NPHY_REV7_RFCTRLOVERRIDE_ID1);
24479 state->afectrl[core] = read_phy_reg(pi, (core == PHY_CORE_0) ?
24481 state->afeoverride[core] =
24482 read_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f : 0xa5);
24483 state->afectrl[off_core] =
24484 read_phy_reg(pi, (core == PHY_CORE_0) ? 0xa7 : 0xa6);
24485 state->afeoverride[off_core] =
24486 read_phy_reg(pi, (core == PHY_CORE_0) ? 0xa5 : 0x8f);
24488 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa6 : 0xa7),
24490 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
24491 0xa5), (0x1 << 2), (0x1 << 2));
24493 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa7 : 0xa6),
24494 (0x1 << 2), (0x1 << 2));
24495 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa5 :
24496 0x8f), (0x1 << 2), (0x1 << 2));
24498 if (CHSPEC_IS2G(pi->radio_chanspec)) {
24499 state->pwrup[core] =
24500 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
24501 TXRXCOUPLE_2G_PWRUP);
24502 state->atten[core] =
24503 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
24504 TXRXCOUPLE_2G_ATTEN);
24505 state->pwrup[off_core] =
24506 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
24507 TXRXCOUPLE_2G_PWRUP);
24508 state->atten[off_core] =
24509 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
24510 TXRXCOUPLE_2G_ATTEN);
24512 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
24513 TXRXCOUPLE_2G_PWRUP, 0xc);
24515 if ((pi->pubpi.radiorev == 3) ||
24516 (pi->pubpi.radiorev == 4) ||
24517 (pi->pubpi.radiorev == 6))
24518 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
24519 TXRXCOUPLE_2G_ATTEN, 0xf0);
24520 else if (pi->pubpi.radiorev == 5)
24521 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
24522 TXRXCOUPLE_2G_ATTEN,
24523 (core == 0) ? 0xf7 : 0xf2);
24524 else if ((pi->pubpi.radiorev == 7)
24525 || (pi->pubpi.radiorev == 8))
24526 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
24527 TXRXCOUPLE_2G_ATTEN, 0xf0);
24529 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
24530 TXRXCOUPLE_2G_PWRUP, 0x0);
24531 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
24532 TXRXCOUPLE_2G_ATTEN, 0xff);
24534 state->pwrup[core] =
24535 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
24536 TXRXCOUPLE_5G_PWRUP);
24537 state->atten[core] =
24538 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
24539 TXRXCOUPLE_5G_ATTEN);
24540 state->pwrup[off_core] =
24541 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
24542 TXRXCOUPLE_5G_PWRUP);
24543 state->atten[off_core] =
24544 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
24545 TXRXCOUPLE_5G_ATTEN);
24547 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
24548 TXRXCOUPLE_5G_PWRUP, 0xc);
24550 if ((pi->pubpi.radiorev == 7)
24551 || (pi->pubpi.radiorev == 8))
24552 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
24553 TXRXCOUPLE_5G_ATTEN, 0xf4);
24556 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
24557 TXRXCOUPLE_5G_ATTEN, 0xf0);
24559 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
24560 TXRXCOUPLE_5G_PWRUP, 0x0);
24561 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
24562 TXRXCOUPLE_5G_ATTEN, 0xff);
24567 wlc_phy_tx_tone_nphy(pi, tone_freq, 181, 0, 0, false);
24569 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
24570 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON) << 0);
24572 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
24573 0x2a4, (0x1 << 13), (1) << 13);
24575 mod_phy_reg(pi, (off_core == PHY_CORE_0) ? 0x297 :
24576 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_OFF) << 0);
24578 mod_phy_reg(pi, (off_core == PHY_CORE_0) ? 0x2a3 :
24579 0x2a4, (0x1 << 13), (0) << 13);
24583 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12), 0, 0x3, 0);
24585 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 1, 0, 0);
24587 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 0), 0, 0x3, 0);
24589 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 2), 1, 0x3, 0);
24590 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 1), 1, 0x3, 0);
24592 state->afectrl[core] = read_phy_reg(pi, (core == PHY_CORE_0) ?
24594 state->afeoverride[core] =
24595 read_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f : 0xa5);
24597 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa6 : 0xa7),
24598 (0x1 << 0) | (0x1 << 1) | (0x1 << 2), 0);
24599 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
24603 (0x1 << 2), (0x1 << 0) | (0x1 << 1) | (0x1 << 2));
24605 state->vga_master[core] =
24606 READ_RADIO_REG2(pi, RADIO_2056, RX, core, VGA_MASTER);
24607 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, VGA_MASTER, 0x2b);
24608 if (CHSPEC_IS2G(pi->radio_chanspec)) {
24609 state->fbmix[core] =
24610 READ_RADIO_REG2(pi, RADIO_2056, RX, core,
24612 state->intpa_master[core] =
24613 READ_RADIO_REG2(pi, RADIO_2056, TX, core,
24616 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, TXFBMIX_G,
24618 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
24619 INTPAG_MASTER, 0x04);
24621 state->fbmix[core] =
24622 READ_RADIO_REG2(pi, RADIO_2056, RX, core,
24624 state->intpa_master[core] =
24625 READ_RADIO_REG2(pi, RADIO_2056, TX, core,
24628 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, TXFBMIX_A,
24630 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
24631 INTPAA_MASTER, 0x04);
24637 wlc_phy_tx_tone_nphy(pi, tone_freq, 181, 0, 0, false);
24639 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
24640 0x29b, (0x1 << 0), (1) << 0);
24642 mod_phy_reg(pi, (off_core == PHY_CORE_0) ? 0x297 :
24643 0x29b, (0x1 << 0), (0) << 0);
24645 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 0x3, 0);
24650 wlc_phy_papd_cal_cleanup_nphy(struct brcms_phy *pi,
24651 struct nphy_papd_restore_state *state)
24655 wlc_phy_stopplayback_nphy(pi);
24657 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
24659 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
24661 if (CHSPEC_IS2G(pi->radio_chanspec)) {
24662 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
24663 TXRXCOUPLE_2G_PWRUP, 0);
24664 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
24665 TXRXCOUPLE_2G_ATTEN,
24666 state->atten[core]);
24668 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
24669 TXRXCOUPLE_5G_PWRUP, 0);
24670 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
24671 TXRXCOUPLE_5G_ATTEN,
24672 state->atten[core]);
24676 if ((pi->pubpi.radiorev == 4) || (pi->pubpi.radiorev == 6))
24677 wlc_phy_rfctrl_override_nphy_rev7(
24680 NPHY_REV7_RFCTRLOVERRIDE_ID0);
24682 wlc_phy_rfctrl_override_nphy_rev7(
24685 NPHY_REV7_RFCTRLOVERRIDE_ID0);
24687 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1),
24689 NPHY_REV7_RFCTRLOVERRIDE_ID1);
24690 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 0, 0x3, 1,
24691 NPHY_REV7_RFCTRLOVERRIDE_ID2);
24692 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), 0, 0x3, 1,
24693 NPHY_REV7_RFCTRLOVERRIDE_ID2);
24694 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 1, 0x3, 1,
24695 NPHY_REV7_RFCTRLOVERRIDE_ID1);
24696 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), 0, 0x3, 1,
24697 NPHY_REV7_RFCTRLOVERRIDE_ID0);
24698 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 0, 0x3, 1,
24699 NPHY_REV7_RFCTRLOVERRIDE_ID0);
24700 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12), 0, 0x3, 1,
24701 NPHY_REV7_RFCTRLOVERRIDE_ID0);
24702 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), 1, 0x3, 1,
24703 NPHY_REV7_RFCTRLOVERRIDE_ID1);
24704 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 0, 0x3, 1,
24705 NPHY_REV7_RFCTRLOVERRIDE_ID1);
24706 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), 1, 0x3, 1,
24707 NPHY_REV7_RFCTRLOVERRIDE_ID2);
24708 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 8), 0, 0x3, 1,
24709 NPHY_REV7_RFCTRLOVERRIDE_ID1);
24710 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 9), 1, 0x3, 1,
24711 NPHY_REV7_RFCTRLOVERRIDE_ID1);
24712 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 10), 0, 0x3, 1,
24713 NPHY_REV7_RFCTRLOVERRIDE_ID1);
24714 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), 1, 0x3, 1,
24715 NPHY_REV7_RFCTRLOVERRIDE_ID1);
24716 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5), 0, 0x3, 1,
24717 NPHY_REV7_RFCTRLOVERRIDE_ID1);
24718 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), 0, 0x3, 1,
24719 NPHY_REV7_RFCTRLOVERRIDE_ID1);
24721 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
24723 write_phy_reg(pi, (core == PHY_CORE_0) ?
24724 0xa6 : 0xa7, state->afectrl[core]);
24725 write_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f :
24726 0xa5, state->afeoverride[core]);
24729 wlc_phy_ipa_set_bbmult_nphy(pi, (state->mm >> 8) & 0xff,
24730 (state->mm & 0xff));
24732 if (NREV_IS(pi->pubpi.phy_rev, 7)
24733 || NREV_GE(pi->pubpi.phy_rev, 8))
24734 wlc_phy_rfctrl_override_nphy_rev7(
24735 pi, (0x1 << 7), 0, 0,
24737 NPHY_REV7_RFCTRLOVERRIDE_ID1);
24739 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12), 0, 0x3, 1);
24740 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 13), 0, 0x3, 1);
24741 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 0), 0, 0x3, 1);
24743 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 2), 0, 0x3, 1);
24744 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 1), 0, 0x3, 1);
24746 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
24748 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, VGA_MASTER,
24749 state->vga_master[core]);
24750 if (CHSPEC_IS2G(pi->radio_chanspec)) {
24751 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core,
24752 TXFBMIX_G, state->fbmix[core]);
24753 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
24755 state->intpa_master[core]);
24757 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core,
24758 TXFBMIX_A, state->fbmix[core]);
24759 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
24761 state->intpa_master[core]);
24764 write_phy_reg(pi, (core == PHY_CORE_0) ?
24765 0xa6 : 0xa7, state->afectrl[core]);
24766 write_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f :
24767 0xa5, state->afeoverride[core]);
24770 wlc_phy_ipa_set_bbmult_nphy(pi, (state->mm >> 8) & 0xff,
24771 (state->mm & 0xff));
24773 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 0x3, 1);
24778 wlc_phy_a1_nphy(struct brcms_phy *pi, u8 core, u32 winsz, u32 start,
24781 u32 *buf, *src, *dst, sz;
24783 sz = end - start + 1;
24785 buf = kmalloc(2 * sizeof(u32) * NPHY_PAPD_EPS_TBL_SIZE, GFP_ATOMIC);
24790 dst = buf + NPHY_PAPD_EPS_TBL_SIZE;
24792 wlc_phy_table_read_nphy(pi,
24794 PHY_CORE_0 ? NPHY_TBL_ID_EPSILONTBL0 :
24795 NPHY_TBL_ID_EPSILONTBL1),
24796 NPHY_PAPD_EPS_TBL_SIZE, 0, 32, src);
24799 u32 phy_a1, phy_a2;
24800 s32 phy_a3, phy_a4, phy_a5, phy_a6, phy_a7;
24802 phy_a1 = end - min(end, (winsz >> 1));
24803 phy_a2 = min_t(u32, NPHY_PAPD_EPS_TBL_SIZE - 1,
24804 end + (winsz >> 1));
24805 phy_a3 = phy_a2 - phy_a1 + 1;
24810 wlc_phy_papd_decode_epsilon(src[phy_a2], &phy_a4,
24814 } while (phy_a2-- != phy_a1);
24818 dst[end] = ((u32) phy_a7 << 13) | ((u32) phy_a6 & 0x1fff);
24819 } while (end-- != start);
24821 wlc_phy_table_write_nphy(pi,
24823 PHY_CORE_0) ? NPHY_TBL_ID_EPSILONTBL0 :
24824 NPHY_TBL_ID_EPSILONTBL1, sz, start, 32, dst);
24830 wlc_phy_a2_nphy(struct brcms_phy *pi, struct nphy_ipa_txcalgains *txgains,
24831 enum phy_cal_mode cal_mode, u8 core)
24833 u16 phy_a1, phy_a2, phy_a3;
24834 u16 phy_a4, phy_a5;
24838 struct nphy_txgains phy_a9;
24840 if (NREV_LT(pi->pubpi.phy_rev, 3))
24843 phy_a7 = (core == PHY_CORE_0) ? 1 : 0;
24845 phy_a6 = ((cal_mode == CAL_GCTRL)
24846 || (cal_mode == CAL_SOFT)) ? true : false;
24848 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
24850 phy_a9 = wlc_phy_get_tx_gain_nphy(pi);
24852 if (CHSPEC_IS2G(pi->radio_chanspec))
24853 phy_a5 = ((phy_a9.txlpf[core] << 15) |
24854 (phy_a9.txgm[core] << 12) |
24855 (phy_a9.pga[core] << 8) |
24856 (txgains->gains.pad[core] << 3) |
24857 (phy_a9.ipa[core]));
24859 phy_a5 = ((phy_a9.txlpf[core] << 15) |
24860 (phy_a9.txgm[core] << 12) |
24861 (txgains->gains.pga[core] << 8) |
24862 (phy_a9.pad[core] << 3) | (phy_a9.ipa[core]));
24864 wlc_phy_rfctrl_override_1tomany_nphy(
24866 NPHY_REV7_RfctrlOverride_cmd_txgain,
24867 phy_a5, (1 << core), 0);
24869 if (CHSPEC_IS2G(pi->radio_chanspec)) {
24870 if ((pi->pubpi.radiorev <= 4)
24871 || (pi->pubpi.radiorev == 6))
24872 m[core] = (pi->bw == WL_CHANSPEC_BW_40) ?
24875 m[core] = (pi->bw == WL_CHANSPEC_BW_40) ?
24878 m[core] = (pi->bw == WL_CHANSPEC_BW_40) ? 75 : 107;
24882 wlc_phy_ipa_set_bbmult_nphy(pi, m[0], m[1]);
24886 if (CHSPEC_IS2G(pi->radio_chanspec)) {
24887 if ((pi->pubpi.radiorev == 4)
24888 || (pi->pubpi.radiorev == 6)) {
24896 if ((pi->pubpi.radiorev == 5)
24897 || (pi->pubpi.radiorev == 7)
24898 || (pi->pubpi.radiorev == 8)) {
24907 if (cal_mode == CAL_GCTRL) {
24908 if ((pi->pubpi.radiorev == 5)
24909 && (CHSPEC_IS2G(pi->radio_chanspec)))
24911 else if (((pi->pubpi.radiorev == 7) &&
24912 (CHSPEC_IS2G(pi->radio_chanspec))) ||
24913 ((pi->pubpi.radiorev == 8) &&
24914 (CHSPEC_IS2G(pi->radio_chanspec))))
24919 } else if ((cal_mode != CAL_FULL) && (cal_mode != CAL_SOFT)) {
24925 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
24926 0x29b, (0x1 << 0), (1) << 0);
24928 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x297 :
24929 0x29b, (0x1 << 0), (0) << 0);
24931 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
24932 0x2a4, (0x1 << 13), (1) << 13);
24934 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x2a3 :
24935 0x2a4, (0x1 << 13), (0) << 13);
24937 write_phy_reg(pi, 0x2a1, 0x80);
24938 write_phy_reg(pi, 0x2a2, 0x100);
24940 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
24941 0x2a4, (0x7 << 4), (11) << 4);
24943 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
24944 0x2a4, (0x7 << 8), (11) << 8);
24946 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
24947 0x2a4, (0x7 << 0), (0x3) << 0);
24949 write_phy_reg(pi, 0x2e5, 0x20);
24951 mod_phy_reg(pi, 0x2a0, (0x3f << 0), (phy_a3) << 0);
24953 mod_phy_reg(pi, 0x29f, (0x3f << 0), (phy_a1) << 0);
24955 mod_phy_reg(pi, 0x29f, (0x3f << 8), (phy_a2) << 8);
24957 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
24958 1, ((core == 0) ? 1 : 2), 0,
24959 NPHY_REV7_RFCTRLOVERRIDE_ID0);
24960 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
24961 0, ((core == 0) ? 2 : 1), 0,
24962 NPHY_REV7_RFCTRLOVERRIDE_ID0);
24964 write_phy_reg(pi, 0x2be, 1);
24965 SPINWAIT(read_phy_reg(pi, 0x2be), 10 * 1000 * 1000);
24967 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
24969 NPHY_REV7_RFCTRLOVERRIDE_ID0);
24971 wlc_phy_table_write_nphy(pi,
24973 PHY_CORE_0) ? NPHY_TBL_ID_EPSILONTBL0
24974 : NPHY_TBL_ID_EPSILONTBL1, 1, phy_a3,
24977 if (cal_mode != CAL_GCTRL) {
24978 if (CHSPEC_IS5G(pi->radio_chanspec))
24979 wlc_phy_a1_nphy(pi, core, 5, 0, 35);
24982 wlc_phy_rfctrl_override_1tomany_nphy(
24984 NPHY_REV7_RfctrlOverride_cmd_txgain,
24985 phy_a5, (1 << core), 1);
24990 if (txgains->useindex) {
24991 phy_a4 = 15 - ((txgains->index) >> 3);
24992 if (CHSPEC_IS2G(pi->radio_chanspec)) {
24993 if (NREV_GE(pi->pubpi.phy_rev, 6))
24994 phy_a5 = 0x00f7 | (phy_a4 << 8);
24997 if (NREV_IS(pi->pubpi.phy_rev, 5))
24998 phy_a5 = 0x10f7 | (phy_a4 << 8);
25000 phy_a5 = 0x50f7 | (phy_a4 << 8);
25002 phy_a5 = 0x70f7 | (phy_a4 << 8);
25004 wlc_phy_rfctrl_override_nphy(pi,
25009 wlc_phy_rfctrl_override_nphy(pi,
25016 if (CHSPEC_IS2G(pi->radio_chanspec))
25017 m[core] = (pi->bw == WL_CHANSPEC_BW_40) ? 45 : 64;
25019 m[core] = (pi->bw == WL_CHANSPEC_BW_40) ? 75 : 107;
25022 wlc_phy_ipa_set_bbmult_nphy(pi, m[0], m[1]);
25026 if (cal_mode == CAL_FULL) {
25029 } else if (cal_mode == CAL_SOFT) {
25032 } else if (cal_mode == CAL_GCTRL) {
25041 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
25042 0x29b, (0x1 << 0), (1) << 0);
25044 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x297 :
25045 0x29b, (0x1 << 0), (0) << 0);
25047 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
25048 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
25049 0x2a4, (0x1 << 13), (1) << 13);
25051 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x2a3 :
25052 0x2a4, (0x1 << 13), (0) << 13);
25054 write_phy_reg(pi, 0x2a1, 0x20);
25055 write_phy_reg(pi, 0x2a2, 0x60);
25057 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
25058 0x2a4, (0xf << 4), (9) << 4);
25060 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
25061 0x2a4, (0xf << 8), (9) << 8);
25063 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
25064 0x2a4, (0xf << 0), (0x2) << 0);
25066 write_phy_reg(pi, 0x2e5, 0x20);
25068 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
25069 0x2a4, (0x1 << 11), (1) << 11);
25071 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x2a3 :
25072 0x2a4, (0x1 << 11), (0) << 11);
25074 write_phy_reg(pi, 0x2a1, 0x80);
25075 write_phy_reg(pi, 0x2a2, 0x600);
25077 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
25078 0x2a4, (0x7 << 4), (0) << 4);
25080 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
25081 0x2a4, (0x7 << 8), (0) << 8);
25083 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
25084 0x2a4, (0x7 << 0), (0x3) << 0);
25086 mod_phy_reg(pi, 0x2a0, (0x3f << 8), (0x20) << 8);
25090 mod_phy_reg(pi, 0x2a0, (0x3f << 0), (phy_a3) << 0);
25092 mod_phy_reg(pi, 0x29f, (0x3f << 0), (phy_a1) << 0);
25094 mod_phy_reg(pi, 0x29f, (0x3f << 8), (phy_a2) << 8);
25096 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 1, 0x3, 0);
25098 write_phy_reg(pi, 0x2be, 1);
25099 SPINWAIT(read_phy_reg(pi, 0x2be), 10 * 1000 * 1000);
25101 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 0x3, 0);
25103 wlc_phy_table_write_nphy(pi,
25105 PHY_CORE_0) ? NPHY_TBL_ID_EPSILONTBL0
25106 : NPHY_TBL_ID_EPSILONTBL1, 1, phy_a3,
25109 if (cal_mode != CAL_GCTRL)
25110 wlc_phy_a1_nphy(pi, core, 5, 0, 40);
25114 static u8 wlc_phy_a3_nphy(struct brcms_phy *pi, u8 start_gain, u8 core)
25119 struct nphy_ipa_txcalgains phy_a4;
25120 bool phy_a5 = false;
25121 bool phy_a6 = true;
25122 s32 phy_a7, phy_a8;
25125 bool phy_a11 = false;
25129 u8 *phy_a15 = NULL;
25131 phy_a4.useindex = true;
25132 phy_a12 = start_gain;
25134 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25139 if (CHSPEC_IS2G(pi->radio_chanspec)) {
25140 if (pi->pubpi.radiorev == 5) {
25142 phy_a15 = pad_gain_codes_used_2057rev5;
25144 sizeof(pad_gain_codes_used_2057rev5) /
25145 sizeof(pad_gain_codes_used_2057rev5
25148 } else if ((pi->pubpi.radiorev == 7)
25149 || (pi->pubpi.radiorev == 8)) {
25151 phy_a15 = pad_gain_codes_used_2057rev7;
25153 sizeof(pad_gain_codes_used_2057rev7) /
25154 sizeof(pad_gain_codes_used_2057rev7
25159 phy_a15 = pad_all_gain_codes_2057;
25160 phy_a13 = sizeof(pad_all_gain_codes_2057) /
25161 sizeof(pad_all_gain_codes_2057[0]) -
25167 phy_a15 = pga_all_gain_codes_2057;
25168 phy_a13 = sizeof(pga_all_gain_codes_2057) /
25169 sizeof(pga_all_gain_codes_2057[0]) - 1;
25174 for (phy_a10 = 0; phy_a10 < phy_a2; phy_a10++) {
25175 if (CHSPEC_IS2G(pi->radio_chanspec))
25176 phy_a4.gains.pad[core] =
25177 (u16) phy_a15[phy_a12];
25179 phy_a4.gains.pga[core] =
25180 (u16) phy_a15[phy_a12];
25182 wlc_phy_a2_nphy(pi, &phy_a4, CAL_GCTRL, core);
25184 wlc_phy_table_read_nphy(pi,
25187 NPHY_TBL_ID_EPSILONTBL0 :
25188 NPHY_TBL_ID_EPSILONTBL1), 1,
25191 wlc_phy_papd_decode_epsilon(phy_a9, &phy_a7, &phy_a8);
25193 phy_a3 = ((phy_a7 == 4095) || (phy_a7 == -4096) ||
25194 (phy_a8 == 4095) || (phy_a8 == -4096));
25196 if (!phy_a6 && (phy_a3 != phy_a5)) {
25198 phy_a12 -= (u8) phy_a1;
25205 phy_a12 += (u8) phy_a1;
25207 phy_a12 -= (u8) phy_a1;
25209 if ((phy_a12 < phy_a14) || (phy_a12 > phy_a13)) {
25210 if (phy_a12 < phy_a14)
25226 for (phy_a10 = 0; phy_a10 < phy_a2; phy_a10++) {
25227 phy_a4.index = (u8) phy_a12;
25228 wlc_phy_a2_nphy(pi, &phy_a4, CAL_GCTRL, core);
25230 wlc_phy_table_read_nphy(pi,
25233 NPHY_TBL_ID_EPSILONTBL0 :
25234 NPHY_TBL_ID_EPSILONTBL1), 1,
25237 wlc_phy_papd_decode_epsilon(phy_a9, &phy_a7, &phy_a8);
25239 phy_a3 = ((phy_a7 == 4095) || (phy_a7 == -4096) ||
25240 (phy_a8 == 4095) || (phy_a8 == -4096));
25242 if (!phy_a6 && (phy_a3 != phy_a5)) {
25244 phy_a12 -= (u8) phy_a1;
25251 phy_a12 += (u8) phy_a1;
25253 phy_a12 -= (u8) phy_a1;
25255 if ((phy_a12 < 0) || (phy_a12 > 127)) {
25271 if (NREV_GE(pi->pubpi.phy_rev, 7))
25272 return (u8) phy_a15[phy_a12];
25274 return (u8) phy_a12;
25278 static void wlc_phy_a4(struct brcms_phy *pi, bool full_cal)
25280 struct nphy_ipa_txcalgains phy_b1[2];
25281 struct nphy_papd_restore_state phy_b2;
25285 s16 phy_b6, phy_b7, phy_b8;
25287 s16 phy_b10, phy_b11, phy_b12;
25295 if (pi->nphy_papd_skip == 1)
25298 phy_b3 = (0 == (R_REG(&pi->regs->maccontrol) & MCTL_EN_MAC));
25300 wlapi_suspend_mac_and_wait(pi->sh->physhim);
25302 wlc_phy_stay_in_carriersearch_nphy(pi, true);
25304 pi->nphy_force_papd_cal = false;
25306 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++)
25307 pi->nphy_papd_tx_gain_at_last_cal[phy_b5] =
25308 wlc_phy_txpwr_idx_cur_get_nphy(pi, phy_b5);
25310 pi->nphy_papd_last_cal = pi->sh->now;
25311 pi->nphy_papd_recal_counter++;
25313 phy_b4 = pi->nphy_txpwrctrl;
25314 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
25316 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_SCALARTBL0, 64, 0, 32,
25317 nphy_papd_scaltbl);
25318 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_SCALARTBL1, 64, 0, 32,
25319 nphy_papd_scaltbl);
25321 phy_b9 = read_phy_reg(pi, 0x01);
25322 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
25324 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++) {
25326 for (i = 0; i < 64; i++)
25327 wlc_phy_table_write_nphy(pi,
25330 NPHY_TBL_ID_EPSILONTBL0 :
25331 NPHY_TBL_ID_EPSILONTBL1), 1,
25335 wlc_phy_ipa_restore_tx_digi_filts_nphy(pi);
25337 phy_b2.mm = wlc_phy_ipa_get_bbmult_nphy(pi);
25338 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++) {
25339 wlc_phy_papd_cal_setup_nphy(pi, &phy_b2, phy_b5);
25341 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25342 if (CHSPEC_IS2G(pi->radio_chanspec)) {
25343 if ((pi->pubpi.radiorev == 3)
25344 || (pi->pubpi.radiorev == 4)
25345 || (pi->pubpi.radiorev == 6)) {
25346 pi->nphy_papd_cal_gain_index[phy_b5] =
25348 } else if (pi->pubpi.radiorev == 5) {
25349 pi->nphy_papd_cal_gain_index[phy_b5] =
25351 pi->nphy_papd_cal_gain_index[phy_b5] =
25355 nphy_papd_cal_gain_index
25359 } else if ((pi->pubpi.radiorev == 7)
25360 || (pi->pubpi.radiorev == 8)) {
25362 pi->nphy_papd_cal_gain_index[phy_b5] =
25364 pi->nphy_papd_cal_gain_index[phy_b5] =
25368 nphy_papd_cal_gain_index
25374 phy_b1[phy_b5].gains.pad[phy_b5] =
25375 pi->nphy_papd_cal_gain_index[phy_b5];
25378 pi->nphy_papd_cal_gain_index[phy_b5] = 0;
25379 pi->nphy_papd_cal_gain_index[phy_b5] =
25383 nphy_papd_cal_gain_index
25385 phy_b1[phy_b5].gains.pga[phy_b5] =
25386 pi->nphy_papd_cal_gain_index[phy_b5];
25389 phy_b1[phy_b5].useindex = true;
25390 phy_b1[phy_b5].index = 16;
25391 phy_b1[phy_b5].index =
25392 wlc_phy_a3_nphy(pi, phy_b1[phy_b5].index,
25395 pi->nphy_papd_cal_gain_index[phy_b5] =
25396 15 - ((phy_b1[phy_b5].index) >> 3);
25399 switch (pi->nphy_papd_cal_type) {
25401 wlc_phy_a2_nphy(pi, &phy_b1[phy_b5], CAL_FULL, phy_b5);
25404 wlc_phy_a2_nphy(pi, &phy_b1[phy_b5], CAL_SOFT, phy_b5);
25408 if (NREV_GE(pi->pubpi.phy_rev, 7))
25409 wlc_phy_papd_cal_cleanup_nphy(pi, &phy_b2);
25412 if (NREV_LT(pi->pubpi.phy_rev, 7))
25413 wlc_phy_papd_cal_cleanup_nphy(pi, &phy_b2);
25415 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++) {
25416 int eps_offset = 0;
25418 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25419 if (CHSPEC_IS2G(pi->radio_chanspec)) {
25420 if (pi->pubpi.radiorev == 3)
25422 else if (pi->pubpi.radiorev == 5)
25430 if (CHSPEC_IS2G(pi->radio_chanspec)) {
25431 phy_b8 = phy_b1[phy_b5].gains.pad[phy_b5];
25433 if ((pi->pubpi.radiorev == 3) ||
25434 (pi->pubpi.radiorev == 4) ||
25435 (pi->pubpi.radiorev == 6)) {
25437 nphy_papd_padgain_dlt_2g_2057rev3n4
25440 } else if (pi->pubpi.radiorev == 5) {
25442 nphy_papd_padgain_dlt_2g_2057rev5
25444 } else if ((pi->pubpi.radiorev == 7) ||
25445 (pi->pubpi.radiorev == 8)) {
25447 nphy_papd_padgain_dlt_2g_2057rev7
25451 phy_b7 = phy_b1[phy_b5].gains.pga[phy_b5];
25452 if ((pi->pubpi.radiorev == 3) ||
25453 (pi->pubpi.radiorev == 4) ||
25454 (pi->pubpi.radiorev == 6))
25456 -(nphy_papd_pgagain_dlt_5g_2057
25459 else if ((pi->pubpi.radiorev == 7)
25460 || (pi->pubpi.radiorev == 8))
25462 nphy_papd_pgagain_dlt_5g_2057rev7
25468 if (CHSPEC_IS2G(pi->radio_chanspec))
25470 -60 + 27 + eps_offset + phy_b12 +
25474 -60 + 27 + eps_offset + phy_b11 +
25477 mod_phy_reg(pi, (phy_b5 == PHY_CORE_0) ? 0x298 :
25478 0x29c, (0x1ff << 7), (phy_b6) << 7);
25480 pi->nphy_papd_epsilon_offset[phy_b5] = phy_b6;
25482 if (NREV_LT(pi->pubpi.phy_rev, 5))
25487 phy_b7 = 15 - ((phy_b1[phy_b5].index) >> 3);
25489 if (CHSPEC_IS2G(pi->radio_chanspec)) {
25491 -(nphy_papd_pga_gain_delta_ipa_2g[
25497 -(nphy_papd_pga_gain_delta_ipa_5g[
25503 phy_b6 = -60 + 27 + eps_offset + phy_b11 + phy_b10;
25505 mod_phy_reg(pi, (phy_b5 == PHY_CORE_0) ? 0x298 :
25506 0x29c, (0x1ff << 7), (phy_b6) << 7);
25508 pi->nphy_papd_epsilon_offset[phy_b5] = phy_b6;
25512 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
25513 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON) << 0);
25515 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
25516 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON) << 0);
25518 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
25519 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x2a3 :
25520 0x2a4, (0x1 << 13), (0) << 13);
25522 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x2a3 :
25523 0x2a4, (0x1 << 13), (0) << 13);
25526 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x2a3 :
25527 0x2a4, (0x1 << 11), (0) << 11);
25529 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x2a3 :
25530 0x2a4, (0x1 << 11), (0) << 11);
25533 pi->nphy_papdcomp = NPHY_PAPD_COMP_ON;
25535 write_phy_reg(pi, 0x01, phy_b9);
25537 wlc_phy_ipa_set_tx_digi_filts_nphy(pi);
25539 wlc_phy_txpwrctrl_enable_nphy(pi, phy_b4);
25540 if (phy_b4 == PHY_TPC_HW_OFF) {
25541 wlc_phy_txpwr_index_nphy(pi, (1 << 0),
25542 (s8) (pi->nphy_txpwrindex[0].
25543 index_internal), false);
25544 wlc_phy_txpwr_index_nphy(pi, (1 << 1),
25545 (s8) (pi->nphy_txpwrindex[1].
25546 index_internal), false);
25549 wlc_phy_stay_in_carriersearch_nphy(pi, false);
25552 wlapi_enable_mac(pi->sh->physhim);
25555 void wlc_phy_cal_perical_nphy_run(struct brcms_phy *pi, u8 caltype)
25557 struct nphy_txgains target_gain;
25558 u8 tx_pwr_ctrl_state;
25559 bool fullcal = true;
25560 bool restore_tx_gain = false;
25566 if (caltype == PHY_PERICAL_AUTO)
25567 fullcal = (pi->radio_chanspec != pi->nphy_txiqlocal_chanspec);
25568 else if (caltype == PHY_PERICAL_PARTIAL)
25571 if (pi->cal_type_override != PHY_PERICAL_AUTO)
25573 (pi->cal_type_override ==
25574 PHY_PERICAL_FULL) ? true : false;
25576 if ((pi->mphase_cal_phase_id > MPHASE_CAL_STATE_INIT)) {
25577 if (pi->nphy_txiqlocal_chanspec != pi->radio_chanspec)
25578 wlc_phy_cal_perical_mphase_restart(pi);
25581 if ((pi->mphase_cal_phase_id == MPHASE_CAL_STATE_RXCAL))
25582 wlapi_bmac_write_shm(pi->sh->physhim, M_CTS_DURATION, 10000);
25584 wlapi_suspend_mac_and_wait(pi->sh->physhim);
25586 wlc_phyreg_enter((struct brcms_phy_pub *) pi);
25588 if ((pi->mphase_cal_phase_id == MPHASE_CAL_STATE_IDLE) ||
25589 (pi->mphase_cal_phase_id == MPHASE_CAL_STATE_INIT)) {
25590 pi->nphy_cal_orig_pwr_idx[0] =
25591 (u8) ((read_phy_reg(pi, 0x1ed) >> 8) & 0x7f);
25592 pi->nphy_cal_orig_pwr_idx[1] =
25593 (u8) ((read_phy_reg(pi, 0x1ee) >> 8) & 0x7f);
25595 if (pi->nphy_txpwrctrl != PHY_TPC_HW_OFF) {
25596 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2,
25598 pi->nphy_cal_orig_tx_gain);
25600 pi->nphy_cal_orig_tx_gain[0] = 0;
25601 pi->nphy_cal_orig_tx_gain[1] = 0;
25604 target_gain = wlc_phy_get_tx_gain_nphy(pi);
25605 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
25606 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
25608 if (pi->antsel_type == ANTSEL_2x3)
25609 wlc_phy_antsel_init((struct brcms_phy_pub *) pi, true);
25611 mphase = (pi->mphase_cal_phase_id != MPHASE_CAL_STATE_IDLE);
25614 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
25615 wlc_phy_precal_txgain_nphy(pi);
25616 pi->nphy_cal_target_gain = wlc_phy_get_tx_gain_nphy(pi);
25617 restore_tx_gain = true;
25619 target_gain = pi->nphy_cal_target_gain;
25622 wlc_phy_cal_txiqlo_nphy(pi, target_gain, fullcal,
25625 wlc_phy_a4(pi, true);
25627 wlc_phyreg_exit((struct brcms_phy_pub *) pi);
25628 wlapi_enable_mac(pi->sh->physhim);
25629 wlapi_bmac_write_shm(pi->sh->physhim, M_CTS_DURATION,
25631 wlapi_suspend_mac_and_wait(pi->sh->physhim);
25632 wlc_phyreg_enter((struct brcms_phy_pub *) pi);
25634 if (0 == wlc_phy_cal_rxiq_nphy(pi, target_gain,
25635 (pi->first_cal_after_assoc ||
25636 (pi->cal_type_override ==
25637 PHY_PERICAL_FULL)) ? 2 : 0, false)) {
25638 wlc_phy_savecal_nphy(pi);
25640 wlc_phy_txpwrctrl_coeff_setup_nphy(pi);
25642 pi->nphy_perical_last = pi->sh->now;
25645 if (caltype != PHY_PERICAL_AUTO)
25646 wlc_phy_rssi_cal_nphy(pi);
25648 if (pi->first_cal_after_assoc
25649 || (pi->cal_type_override == PHY_PERICAL_FULL)) {
25650 pi->first_cal_after_assoc = false;
25651 wlc_phy_txpwrctrl_idle_tssi_nphy(pi);
25652 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
25655 if (NREV_GE(pi->pubpi.phy_rev, 3))
25656 wlc_phy_radio205x_vcocal_nphy(pi);
25658 switch (pi->mphase_cal_phase_id) {
25659 case MPHASE_CAL_STATE_INIT:
25660 pi->nphy_perical_last = pi->sh->now;
25661 pi->nphy_txiqlocal_chanspec = pi->radio_chanspec;
25663 if (NREV_GE(pi->pubpi.phy_rev, 3))
25664 wlc_phy_precal_txgain_nphy(pi);
25666 pi->nphy_cal_target_gain = wlc_phy_get_tx_gain_nphy(pi);
25667 pi->mphase_cal_phase_id++;
25670 case MPHASE_CAL_STATE_TXPHASE0:
25671 case MPHASE_CAL_STATE_TXPHASE1:
25672 case MPHASE_CAL_STATE_TXPHASE2:
25673 case MPHASE_CAL_STATE_TXPHASE3:
25674 case MPHASE_CAL_STATE_TXPHASE4:
25675 case MPHASE_CAL_STATE_TXPHASE5:
25676 if ((pi->radar_percal_mask & 0x10) != 0)
25677 pi->nphy_rxcal_active = true;
25679 if (wlc_phy_cal_txiqlo_nphy
25680 (pi, pi->nphy_cal_target_gain, fullcal,
25683 wlc_phy_cal_perical_mphase_reset(pi);
25687 if (NREV_LE(pi->pubpi.phy_rev, 2) &&
25688 (pi->mphase_cal_phase_id ==
25689 MPHASE_CAL_STATE_TXPHASE4))
25690 pi->mphase_cal_phase_id += 2;
25692 pi->mphase_cal_phase_id++;
25695 case MPHASE_CAL_STATE_PAPDCAL:
25696 if ((pi->radar_percal_mask & 0x2) != 0)
25697 pi->nphy_rxcal_active = true;
25700 wlc_phy_a4(pi, true);
25702 pi->mphase_cal_phase_id++;
25705 case MPHASE_CAL_STATE_RXCAL:
25706 if ((pi->radar_percal_mask & 0x1) != 0)
25707 pi->nphy_rxcal_active = true;
25708 if (wlc_phy_cal_rxiq_nphy(pi, target_gain,
25709 (pi->first_cal_after_assoc ||
25710 (pi->cal_type_override ==
25711 PHY_PERICAL_FULL)) ? 2 : 0,
25713 wlc_phy_savecal_nphy(pi);
25715 pi->mphase_cal_phase_id++;
25718 case MPHASE_CAL_STATE_RSSICAL:
25719 if ((pi->radar_percal_mask & 0x4) != 0)
25720 pi->nphy_rxcal_active = true;
25721 wlc_phy_txpwrctrl_coeff_setup_nphy(pi);
25722 wlc_phy_rssi_cal_nphy(pi);
25724 if (NREV_GE(pi->pubpi.phy_rev, 3))
25725 wlc_phy_radio205x_vcocal_nphy(pi);
25727 restore_tx_gain = true;
25729 if (pi->first_cal_after_assoc)
25730 pi->mphase_cal_phase_id++;
25732 wlc_phy_cal_perical_mphase_reset(pi);
25736 case MPHASE_CAL_STATE_IDLETSSI:
25737 if ((pi->radar_percal_mask & 0x8) != 0)
25738 pi->nphy_rxcal_active = true;
25740 if (pi->first_cal_after_assoc) {
25741 pi->first_cal_after_assoc = false;
25742 wlc_phy_txpwrctrl_idle_tssi_nphy(pi);
25743 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
25746 wlc_phy_cal_perical_mphase_reset(pi);
25750 wlc_phy_cal_perical_mphase_reset(pi);
25755 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
25756 if (restore_tx_gain) {
25757 if (tx_pwr_ctrl_state != PHY_TPC_HW_OFF) {
25759 wlc_phy_txpwr_index_nphy(pi, 1,
25761 nphy_cal_orig_pwr_idx
25763 wlc_phy_txpwr_index_nphy(pi, 2,
25765 nphy_cal_orig_pwr_idx
25768 pi->nphy_txpwrindex[0].index = -1;
25769 pi->nphy_txpwrindex[1].index = -1;
25771 wlc_phy_txpwr_index_nphy(pi, (1 << 0),
25777 wlc_phy_txpwr_index_nphy(pi, (1 << 1),
25787 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
25788 wlc_phyreg_exit((struct brcms_phy_pub *) pi);
25789 wlapi_enable_mac(pi->sh->physhim);
25793 wlc_phy_cal_txiqlo_nphy(struct brcms_phy *pi, struct nphy_txgains target_gain,
25794 bool fullcal, bool mphase)
25800 u8 num_cals, max_cal_cmds;
25801 u16 core_no, cal_type;
25808 struct nphy_iqcal_params cal_params[2];
25811 bool ladder_updated[2];
25812 u8 mphase_cal_lastphase = 0;
25814 bool phyhang_avoid_state = false;
25816 u16 tbl_tx_iqlo_cal_loft_ladder_20[] = {
25817 0x0300, 0x0500, 0x0700, 0x0900, 0x0d00, 0x1100, 0x1900, 0x1901,
25819 0x1903, 0x1904, 0x1905, 0x1906, 0x1907, 0x2407, 0x3207, 0x4607,
25823 u16 tbl_tx_iqlo_cal_iqimb_ladder_20[] = {
25824 0x0200, 0x0300, 0x0600, 0x0900, 0x0d00, 0x1100, 0x1900, 0x2400,
25826 0x4600, 0x6400, 0x6401, 0x6402, 0x6403, 0x6404, 0x6405, 0x6406,
25830 u16 tbl_tx_iqlo_cal_loft_ladder_40[] = {
25831 0x0200, 0x0300, 0x0400, 0x0700, 0x0900, 0x0c00, 0x1200, 0x1201,
25833 0x1203, 0x1204, 0x1205, 0x1206, 0x1207, 0x1907, 0x2307, 0x3207,
25837 u16 tbl_tx_iqlo_cal_iqimb_ladder_40[] = {
25838 0x0100, 0x0200, 0x0400, 0x0700, 0x0900, 0x0c00, 0x1200, 0x1900,
25840 0x3200, 0x4700, 0x4701, 0x4702, 0x4703, 0x4704, 0x4705, 0x4706,
25844 u16 tbl_tx_iqlo_cal_startcoefs[] = {
25845 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
25849 u16 tbl_tx_iqlo_cal_cmds_fullcal[] = {
25850 0x8123, 0x8264, 0x8086, 0x8245, 0x8056,
25851 0x9123, 0x9264, 0x9086, 0x9245, 0x9056
25854 u16 tbl_tx_iqlo_cal_cmds_recal[] = {
25855 0x8101, 0x8253, 0x8053, 0x8234, 0x8034,
25856 0x9101, 0x9253, 0x9053, 0x9234, 0x9034
25859 u16 tbl_tx_iqlo_cal_startcoefs_nphyrev3[] = {
25860 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
25861 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
25865 u16 tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3[] = {
25866 0x8434, 0x8334, 0x8084, 0x8267, 0x8056, 0x8234,
25867 0x9434, 0x9334, 0x9084, 0x9267, 0x9056, 0x9234
25870 u16 tbl_tx_iqlo_cal_cmds_recal_nphyrev3[] = {
25871 0x8423, 0x8323, 0x8073, 0x8256, 0x8045, 0x8223,
25872 0x9423, 0x9323, 0x9073, 0x9256, 0x9045, 0x9223
25875 wlc_phy_stay_in_carriersearch_nphy(pi, true);
25877 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
25878 phyhang_avoid_state = pi->phyhang_avoid;
25879 pi->phyhang_avoid = false;
25882 if (CHSPEC_IS40(pi->radio_chanspec))
25887 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, gain_save);
25889 for (core_no = 0; core_no <= 1; core_no++) {
25890 wlc_phy_iqcal_gainparams_nphy(pi, core_no, target_gain,
25891 &cal_params[core_no]);
25892 cal_gain[core_no] = cal_params[core_no].cal_gain;
25895 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, cal_gain);
25897 wlc_phy_txcal_radio_setup_nphy(pi);
25899 wlc_phy_txcal_physetup_nphy(pi);
25901 ladder_updated[0] = ladder_updated[1] = false;
25902 if (!(NREV_GE(pi->pubpi.phy_rev, 6) ||
25903 (NREV_IS(pi->pubpi.phy_rev, 5) && PHY_IPA(pi)
25904 && (CHSPEC_IS2G(pi->radio_chanspec))))) {
25906 if (phy_bw == 40) {
25907 tbl_ptr = tbl_tx_iqlo_cal_loft_ladder_40;
25908 tbl_len = ARRAY_SIZE(tbl_tx_iqlo_cal_loft_ladder_40);
25910 tbl_ptr = tbl_tx_iqlo_cal_loft_ladder_20;
25911 tbl_len = ARRAY_SIZE(tbl_tx_iqlo_cal_loft_ladder_20);
25913 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, tbl_len, 0,
25916 if (phy_bw == 40) {
25917 tbl_ptr = tbl_tx_iqlo_cal_iqimb_ladder_40;
25918 tbl_len = ARRAY_SIZE(tbl_tx_iqlo_cal_iqimb_ladder_40);
25920 tbl_ptr = tbl_tx_iqlo_cal_iqimb_ladder_20;
25921 tbl_len = ARRAY_SIZE(tbl_tx_iqlo_cal_iqimb_ladder_20);
25923 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, tbl_len, 32,
25927 if (NREV_GE(pi->pubpi.phy_rev, 7))
25928 write_phy_reg(pi, 0xc2, 0x8ad9);
25930 write_phy_reg(pi, 0xc2, 0x8aa9);
25933 tone_freq = (phy_bw == 20) ? 2500 : 5000;
25935 if (pi->mphase_cal_phase_id > MPHASE_CAL_STATE_TXPHASE0) {
25936 wlc_phy_runsamples_nphy(pi, phy_bw * 8, 0xffff, 0, 1, 0, false);
25940 wlc_phy_tx_tone_nphy(pi, tone_freq, max_val, 1, 0,
25944 if (bcmerror == 0) {
25946 if (pi->mphase_cal_phase_id > MPHASE_CAL_STATE_TXPHASE0) {
25947 tbl_ptr = pi->mphase_txcal_bestcoeffs;
25948 tbl_len = ARRAY_SIZE(pi->mphase_txcal_bestcoeffs);
25949 if (NREV_LT(pi->pubpi.phy_rev, 3))
25952 if ((!fullcal) && (pi->nphy_txiqlocal_coeffsvalid)) {
25954 tbl_ptr = pi->nphy_txiqlocal_bestc;
25955 tbl_len = ARRAY_SIZE(pi->nphy_txiqlocal_bestc);
25956 if (NREV_LT(pi->pubpi.phy_rev, 3))
25962 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
25964 tbl_tx_iqlo_cal_startcoefs_nphyrev3;
25965 tbl_len = ARRAY_SIZE(
25966 tbl_tx_iqlo_cal_startcoefs_nphyrev3);
25968 tbl_ptr = tbl_tx_iqlo_cal_startcoefs;
25969 tbl_len = ARRAY_SIZE(
25970 tbl_tx_iqlo_cal_startcoefs);
25974 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, tbl_len, 64,
25978 max_cal_cmds = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
25980 tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3) :
25981 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_fullcal);
25983 max_cal_cmds = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
25985 tbl_tx_iqlo_cal_cmds_recal_nphyrev3) :
25986 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_recal);
25990 cal_cnt = pi->mphase_txcal_cmdidx;
25991 if ((cal_cnt + pi->mphase_txcal_numcmds) < max_cal_cmds)
25992 num_cals = cal_cnt + pi->mphase_txcal_numcmds;
25994 num_cals = max_cal_cmds;
25997 num_cals = max_cal_cmds;
26000 for (; cal_cnt < num_cals; cal_cnt++) {
26003 cal_cmd = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
26004 tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3
26006 tbl_tx_iqlo_cal_cmds_fullcal[cal_cnt];
26008 cal_cmd = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
26009 tbl_tx_iqlo_cal_cmds_recal_nphyrev3[
26011 : tbl_tx_iqlo_cal_cmds_recal[cal_cnt];
26014 core_no = ((cal_cmd & 0x3000) >> 12);
26015 cal_type = ((cal_cmd & 0x0F00) >> 8);
26017 if (NREV_GE(pi->pubpi.phy_rev, 6) ||
26018 (NREV_IS(pi->pubpi.phy_rev, 5) &&
26020 && (CHSPEC_IS2G(pi->radio_chanspec)))) {
26021 if (!ladder_updated[core_no]) {
26022 wlc_phy_update_txcal_ladder_nphy(
26025 ladder_updated[core_no] = true;
26030 (cal_params[core_no].
26031 ncorr[cal_type] << 8) | NPHY_N_GCTL;
26032 write_phy_reg(pi, 0xc1, val);
26034 if ((cal_type == 1) || (cal_type == 3)
26035 || (cal_type == 4)) {
26037 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
26038 1, 69 + core_no, 16,
26041 diq_start = tbl_buf[0];
26044 wlc_phy_table_write_nphy(pi,
26045 NPHY_TBL_ID_IQLOCAL, 1,
26050 write_phy_reg(pi, 0xc0, cal_cmd);
26052 SPINWAIT(((read_phy_reg(pi, 0xc0) & 0xc000) != 0),
26054 if (WARN(read_phy_reg(pi, 0xc0) & 0xc000,
26055 "HW error: txiq calib"))
26058 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
26059 tbl_len, 96, 16, tbl_buf);
26060 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL,
26061 tbl_len, 64, 16, tbl_buf);
26063 if ((cal_type == 1) || (cal_type == 3)
26064 || (cal_type == 4)) {
26066 tbl_buf[0] = diq_start;
26073 pi->mphase_txcal_cmdidx = num_cals;
26074 if (pi->mphase_txcal_cmdidx >= max_cal_cmds)
26075 pi->mphase_txcal_cmdidx = 0;
26078 mphase_cal_lastphase =
26079 (NREV_LE(pi->pubpi.phy_rev, 2)) ?
26080 MPHASE_CAL_STATE_TXPHASE4 : MPHASE_CAL_STATE_TXPHASE5;
26083 || (pi->mphase_cal_phase_id == mphase_cal_lastphase)) {
26085 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 96,
26087 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 80,
26090 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
26098 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 88,
26101 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 101,
26103 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 85,
26106 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 93,
26109 tbl_len = ARRAY_SIZE(pi->nphy_txiqlocal_bestc);
26110 if (NREV_LT(pi->pubpi.phy_rev, 3))
26113 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
26115 pi->nphy_txiqlocal_bestc);
26117 pi->nphy_txiqlocal_coeffsvalid = true;
26118 pi->nphy_txiqlocal_chanspec = pi->radio_chanspec;
26120 tbl_len = ARRAY_SIZE(pi->mphase_txcal_bestcoeffs);
26121 if (NREV_LT(pi->pubpi.phy_rev, 3))
26124 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
26126 pi->mphase_txcal_bestcoeffs);
26129 wlc_phy_stopplayback_nphy(pi);
26131 write_phy_reg(pi, 0xc2, 0x0000);
26135 wlc_phy_txcal_phycleanup_nphy(pi);
26137 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
26140 wlc_phy_txcal_radio_cleanup_nphy(pi);
26142 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
26144 || (pi->mphase_cal_phase_id == mphase_cal_lastphase))
26145 wlc_phy_tx_iq_war_nphy(pi);
26148 if (NREV_GE(pi->pubpi.phy_rev, 4))
26149 pi->phyhang_avoid = phyhang_avoid_state;
26151 wlc_phy_stay_in_carriersearch_nphy(pi, false);
26156 static void wlc_phy_reapply_txcal_coeffs_nphy(struct brcms_phy *pi)
26160 if ((pi->nphy_txiqlocal_chanspec == pi->radio_chanspec) &&
26161 (pi->nphy_txiqlocal_coeffsvalid)) {
26162 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
26163 ARRAY_SIZE(tbl_buf), 80, 16, tbl_buf);
26165 if ((pi->nphy_txiqlocal_bestc[0] != tbl_buf[0]) ||
26166 (pi->nphy_txiqlocal_bestc[1] != tbl_buf[1]) ||
26167 (pi->nphy_txiqlocal_bestc[2] != tbl_buf[2]) ||
26168 (pi->nphy_txiqlocal_bestc[3] != tbl_buf[3])) {
26170 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 80,
26171 16, pi->nphy_txiqlocal_bestc);
26177 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 88,
26180 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 85,
26182 &pi->nphy_txiqlocal_bestc[5]);
26184 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 93,
26186 &pi->nphy_txiqlocal_bestc[5]);
26192 wlc_phy_rx_iq_coeffs_nphy(struct brcms_phy *pi, u8 write,
26193 struct nphy_iq_comp *pcomp)
26196 write_phy_reg(pi, 0x9a, pcomp->a0);
26197 write_phy_reg(pi, 0x9b, pcomp->b0);
26198 write_phy_reg(pi, 0x9c, pcomp->a1);
26199 write_phy_reg(pi, 0x9d, pcomp->b1);
26201 pcomp->a0 = read_phy_reg(pi, 0x9a);
26202 pcomp->b0 = read_phy_reg(pi, 0x9b);
26203 pcomp->a1 = read_phy_reg(pi, 0x9c);
26204 pcomp->b1 = read_phy_reg(pi, 0x9d);
26209 wlc_phy_rx_iq_est_nphy(struct brcms_phy *pi, struct phy_iq_est *est,
26210 u16 num_samps, u8 wait_time, u8 wait_for_crs)
26214 write_phy_reg(pi, 0x12b, num_samps);
26215 mod_phy_reg(pi, 0x12a, (0xff << 0), (wait_time << 0));
26216 mod_phy_reg(pi, 0x129, NPHY_IqestCmd_iqMode,
26217 (wait_for_crs) ? NPHY_IqestCmd_iqMode : 0);
26219 mod_phy_reg(pi, 0x129, NPHY_IqestCmd_iqstart, NPHY_IqestCmd_iqstart);
26221 SPINWAIT(((read_phy_reg(pi, 0x129) & NPHY_IqestCmd_iqstart) != 0),
26223 if (WARN(read_phy_reg(pi, 0x129) & NPHY_IqestCmd_iqstart,
26224 "HW error: rxiq est"))
26227 if ((read_phy_reg(pi, 0x129) & NPHY_IqestCmd_iqstart) == 0) {
26228 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
26231 NPHY_IqestipwrAccHi(core)) << 16)
26232 | read_phy_reg(pi, NPHY_IqestipwrAccLo(core));
26235 NPHY_IqestqpwrAccHi(core)) << 16)
26236 | read_phy_reg(pi, NPHY_IqestqpwrAccLo(core));
26237 est[core].iq_prod =
26239 NPHY_IqestIqAccHi(core)) << 16) |
26240 read_phy_reg(pi, NPHY_IqestIqAccLo(core));
26245 #define CAL_RETRY_CNT 2
26246 static void wlc_phy_calc_rx_iq_comp_nphy(struct brcms_phy *pi, u8 core_mask)
26249 struct phy_iq_est est[PHY_CORE_MAX];
26250 struct nphy_iq_comp old_comp, new_comp;
26252 u32 ii = 0, qq = 0;
26253 s16 iq_nbits, qq_nbits, brsh, arsh;
26256 uint cal_retry = 0;
26258 if (core_mask == 0x0)
26261 wlc_phy_rx_iq_coeffs_nphy(pi, 0, &old_comp);
26262 new_comp.a0 = new_comp.b0 = new_comp.a1 = new_comp.b1 = 0x0;
26263 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &new_comp);
26266 wlc_phy_rx_iq_est_nphy(pi, est, 0x4000, 32, 0);
26268 new_comp = old_comp;
26270 for (curr_core = 0; curr_core < pi->pubpi.phy_corenum; curr_core++) {
26272 if ((curr_core == PHY_CORE_0) && (core_mask & 0x1)) {
26273 iq = est[curr_core].iq_prod;
26274 ii = est[curr_core].i_pwr;
26275 qq = est[curr_core].q_pwr;
26276 } else if ((curr_core == PHY_CORE_1) && (core_mask & 0x2)) {
26277 iq = est[curr_core].iq_prod;
26278 ii = est[curr_core].i_pwr;
26279 qq = est[curr_core].q_pwr;
26284 if ((ii + qq) < NPHY_MIN_RXIQ_PWR) {
26289 iq_nbits = wlc_phy_nbits(iq);
26290 qq_nbits = wlc_phy_nbits(qq);
26292 arsh = 10 - (30 - iq_nbits);
26294 a = (-(iq << (30 - iq_nbits)) + (ii >> (1 + arsh)));
26295 temp = (s32) (ii >> arsh);
26301 a = (-(iq << (30 - iq_nbits)) + (ii << (-1 - arsh)));
26302 temp = (s32) (ii << -arsh);
26311 brsh = qq_nbits - 31 + 20;
26313 b = (qq << (31 - qq_nbits));
26314 temp = (s32) (ii >> brsh);
26320 b = (qq << (31 - qq_nbits));
26321 temp = (s32) (ii << -brsh);
26329 b = (s32) int_sqrt((unsigned long) b);
26332 if ((curr_core == PHY_CORE_0) && (core_mask & 0x1)) {
26333 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
26334 new_comp.a0 = (s16) a & 0x3ff;
26335 new_comp.b0 = (s16) b & 0x3ff;
26338 new_comp.a0 = (s16) b & 0x3ff;
26339 new_comp.b0 = (s16) a & 0x3ff;
26342 if ((curr_core == PHY_CORE_1) && (core_mask & 0x2)) {
26343 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
26344 new_comp.a1 = (s16) a & 0x3ff;
26345 new_comp.b1 = (s16) b & 0x3ff;
26348 new_comp.a1 = (s16) b & 0x3ff;
26349 new_comp.b1 = (s16) a & 0x3ff;
26354 if (bcmerror != 0) {
26355 printk(KERN_DEBUG "%s: Failed, cnt = %d\n", __func__,
26358 if (cal_retry < CAL_RETRY_CNT) {
26363 new_comp = old_comp;
26366 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &new_comp);
26369 static void wlc_phy_rxcal_radio_setup_nphy(struct brcms_phy *pi, u8 rx_core)
26375 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26376 if (rx_core == PHY_CORE_0) {
26377 if (CHSPEC_IS5G(pi->radio_chanspec)) {
26378 pi->tx_rx_cal_radio_saveregs[0] =
26380 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP);
26381 pi->tx_rx_cal_radio_saveregs[1] =
26383 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN);
26385 write_radio_reg(pi,
26386 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP,
26388 write_radio_reg(pi,
26389 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN,
26393 pi->tx_rx_cal_radio_saveregs[0] =
26395 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP);
26396 pi->tx_rx_cal_radio_saveregs[1] =
26398 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN);
26402 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP,
26406 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN,
26411 if (CHSPEC_IS5G(pi->radio_chanspec)) {
26412 pi->tx_rx_cal_radio_saveregs[0] =
26414 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP);
26415 pi->tx_rx_cal_radio_saveregs[1] =
26417 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN);
26421 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP,
26425 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN,
26429 pi->tx_rx_cal_radio_saveregs[0] =
26431 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP);
26432 pi->tx_rx_cal_radio_saveregs[1] =
26434 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN);
26436 write_radio_reg(pi,
26437 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP,
26439 write_radio_reg(pi,
26440 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN,
26446 if (rx_core == PHY_CORE_0) {
26447 pi->tx_rx_cal_radio_saveregs[0] =
26449 RADIO_2056_TX_RXIQCAL_TXMUX |
26451 pi->tx_rx_cal_radio_saveregs[1] =
26453 RADIO_2056_RX_RXIQCAL_RXMUX |
26456 if (pi->pubpi.radiorev >= 5) {
26457 pi->tx_rx_cal_radio_saveregs[2] =
26459 RADIO_2056_RX_RXSPARE2 |
26461 pi->tx_rx_cal_radio_saveregs[3] =
26463 RADIO_2056_TX_TXSPARE2 |
26467 if (CHSPEC_IS5G(pi->radio_chanspec)) {
26469 if (pi->pubpi.radiorev >= 5) {
26470 pi->tx_rx_cal_radio_saveregs[4] =
26472 RADIO_2056_RX_LNAA_MASTER
26477 RADIO_2056_RX_LNAA_MASTER
26478 | RADIO_2056_RX0, 0x40);
26480 write_radio_reg(pi,
26481 RADIO_2056_TX_TXSPARE2 |
26482 RADIO_2056_TX1, bias_a);
26484 write_radio_reg(pi,
26485 RADIO_2056_RX_RXSPARE2 |
26486 RADIO_2056_RX0, bias_a);
26488 pi->tx_rx_cal_radio_saveregs[4] =
26490 RADIO_2056_RX_LNAA_TUNE
26494 (pi->tx_rx_cal_radio_saveregs
26497 (offtune_val <= 0x7) ? 0xF : 0;
26500 RADIO_2056_RX_LNAA_TUNE |
26501 RADIO_2056_RX0, 0xF0,
26502 (offtune_val << 8));
26505 write_radio_reg(pi,
26506 RADIO_2056_TX_RXIQCAL_TXMUX |
26507 RADIO_2056_TX1, 0x9);
26508 write_radio_reg(pi,
26509 RADIO_2056_RX_RXIQCAL_RXMUX |
26510 RADIO_2056_RX0, 0x9);
26512 if (pi->pubpi.radiorev >= 5) {
26513 pi->tx_rx_cal_radio_saveregs[4] =
26516 RADIO_2056_RX_LNAG_MASTER
26521 RADIO_2056_RX_LNAG_MASTER
26522 | RADIO_2056_RX0, 0x40);
26526 RADIO_2056_TX_TXSPARE2
26528 RADIO_2056_TX1, bias_g);
26532 RADIO_2056_RX_RXSPARE2
26534 RADIO_2056_RX0, bias_g);
26537 pi->tx_rx_cal_radio_saveregs[4] =
26540 RADIO_2056_RX_LNAG_TUNE
26545 tx_rx_cal_radio_saveregs[2] &
26548 (offtune_val <= 0x7) ? 0xF : 0;
26551 RADIO_2056_RX_LNAG_TUNE |
26552 RADIO_2056_RX0, 0xF0,
26553 (offtune_val << 8));
26556 write_radio_reg(pi,
26557 RADIO_2056_TX_RXIQCAL_TXMUX |
26558 RADIO_2056_TX1, 0x6);
26559 write_radio_reg(pi,
26560 RADIO_2056_RX_RXIQCAL_RXMUX |
26561 RADIO_2056_RX0, 0x6);
26565 pi->tx_rx_cal_radio_saveregs[0] =
26567 RADIO_2056_TX_RXIQCAL_TXMUX |
26569 pi->tx_rx_cal_radio_saveregs[1] =
26571 RADIO_2056_RX_RXIQCAL_RXMUX |
26574 if (pi->pubpi.radiorev >= 5) {
26575 pi->tx_rx_cal_radio_saveregs[2] =
26577 RADIO_2056_RX_RXSPARE2 |
26579 pi->tx_rx_cal_radio_saveregs[3] =
26581 RADIO_2056_TX_TXSPARE2 |
26585 if (CHSPEC_IS5G(pi->radio_chanspec)) {
26587 if (pi->pubpi.radiorev >= 5) {
26588 pi->tx_rx_cal_radio_saveregs[4] =
26591 RADIO_2056_RX_LNAA_MASTER
26596 RADIO_2056_RX_LNAA_MASTER |
26597 RADIO_2056_RX1, 0x40);
26601 RADIO_2056_TX_TXSPARE2
26603 RADIO_2056_TX0, bias_a);
26607 RADIO_2056_RX_RXSPARE2
26609 RADIO_2056_RX1, bias_a);
26611 pi->tx_rx_cal_radio_saveregs[4] =
26614 RADIO_2056_RX_LNAA_TUNE
26619 tx_rx_cal_radio_saveregs[2] &
26622 (offtune_val <= 0x7) ? 0xF : 0;
26625 RADIO_2056_RX_LNAA_TUNE |
26626 RADIO_2056_RX1, 0xF0,
26627 (offtune_val << 8));
26630 write_radio_reg(pi,
26631 RADIO_2056_TX_RXIQCAL_TXMUX |
26632 RADIO_2056_TX0, 0x9);
26633 write_radio_reg(pi,
26634 RADIO_2056_RX_RXIQCAL_RXMUX |
26635 RADIO_2056_RX1, 0x9);
26637 if (pi->pubpi.radiorev >= 5) {
26638 pi->tx_rx_cal_radio_saveregs[4] =
26641 RADIO_2056_RX_LNAG_MASTER
26646 RADIO_2056_RX_LNAG_MASTER
26647 | RADIO_2056_RX1, 0x40);
26651 RADIO_2056_TX_TXSPARE2
26653 RADIO_2056_TX0, bias_g);
26657 RADIO_2056_RX_RXSPARE2
26659 RADIO_2056_RX1, bias_g);
26661 pi->tx_rx_cal_radio_saveregs[4] =
26664 RADIO_2056_RX_LNAG_TUNE
26669 tx_rx_cal_radio_saveregs[2] &
26672 (offtune_val <= 0x7) ? 0xF : 0;
26675 RADIO_2056_RX_LNAG_TUNE |
26676 RADIO_2056_RX1, 0xF0,
26677 (offtune_val << 8));
26680 write_radio_reg(pi,
26681 RADIO_2056_TX_RXIQCAL_TXMUX |
26682 RADIO_2056_TX0, 0x6);
26683 write_radio_reg(pi,
26684 RADIO_2056_RX_RXIQCAL_RXMUX |
26685 RADIO_2056_RX1, 0x6);
26691 static void wlc_phy_rxcal_radio_cleanup_nphy(struct brcms_phy *pi, u8 rx_core)
26693 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26694 if (rx_core == PHY_CORE_0) {
26695 if (CHSPEC_IS5G(pi->radio_chanspec)) {
26698 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP,
26700 tx_rx_cal_radio_saveregs[0]);
26703 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN,
26705 tx_rx_cal_radio_saveregs[1]);
26710 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP,
26712 tx_rx_cal_radio_saveregs[0]);
26715 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN,
26717 tx_rx_cal_radio_saveregs[1]);
26721 if (CHSPEC_IS5G(pi->radio_chanspec)) {
26724 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP,
26726 tx_rx_cal_radio_saveregs[0]);
26729 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN,
26731 tx_rx_cal_radio_saveregs[1]);
26736 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP,
26738 tx_rx_cal_radio_saveregs[0]);
26741 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN,
26743 tx_rx_cal_radio_saveregs[1]);
26748 if (rx_core == PHY_CORE_0) {
26749 write_radio_reg(pi,
26750 RADIO_2056_TX_RXIQCAL_TXMUX |
26752 pi->tx_rx_cal_radio_saveregs[0]);
26754 write_radio_reg(pi,
26755 RADIO_2056_RX_RXIQCAL_RXMUX |
26757 pi->tx_rx_cal_radio_saveregs[1]);
26759 if (pi->pubpi.radiorev >= 5) {
26760 write_radio_reg(pi,
26761 RADIO_2056_RX_RXSPARE2 |
26764 tx_rx_cal_radio_saveregs[2]);
26766 write_radio_reg(pi,
26767 RADIO_2056_TX_TXSPARE2 |
26770 tx_rx_cal_radio_saveregs[3]);
26773 if (CHSPEC_IS5G(pi->radio_chanspec)) {
26774 if (pi->pubpi.radiorev >= 5)
26777 RADIO_2056_RX_LNAA_MASTER
26780 tx_rx_cal_radio_saveregs
26785 RADIO_2056_RX_LNAA_TUNE
26788 tx_rx_cal_radio_saveregs
26791 if (pi->pubpi.radiorev >= 5)
26794 RADIO_2056_RX_LNAG_MASTER
26797 tx_rx_cal_radio_saveregs
26802 RADIO_2056_RX_LNAG_TUNE
26805 tx_rx_cal_radio_saveregs
26810 write_radio_reg(pi,
26811 RADIO_2056_TX_RXIQCAL_TXMUX |
26813 pi->tx_rx_cal_radio_saveregs[0]);
26815 write_radio_reg(pi,
26816 RADIO_2056_RX_RXIQCAL_RXMUX |
26818 pi->tx_rx_cal_radio_saveregs[1]);
26820 if (pi->pubpi.radiorev >= 5) {
26821 write_radio_reg(pi,
26822 RADIO_2056_RX_RXSPARE2 |
26825 tx_rx_cal_radio_saveregs[2]);
26827 write_radio_reg(pi,
26828 RADIO_2056_TX_TXSPARE2 |
26831 tx_rx_cal_radio_saveregs[3]);
26834 if (CHSPEC_IS5G(pi->radio_chanspec)) {
26835 if (pi->pubpi.radiorev >= 5)
26838 RADIO_2056_RX_LNAA_MASTER
26841 tx_rx_cal_radio_saveregs
26846 RADIO_2056_RX_LNAA_TUNE
26849 tx_rx_cal_radio_saveregs
26852 if (pi->pubpi.radiorev >= 5)
26855 RADIO_2056_RX_LNAG_MASTER
26858 tx_rx_cal_radio_saveregs
26863 RADIO_2056_RX_LNAG_TUNE
26866 tx_rx_cal_radio_saveregs
26873 static void wlc_phy_rxcal_physetup_nphy(struct brcms_phy *pi, u8 rx_core)
26876 u16 rx_antval, tx_antval;
26878 if (NREV_GE(pi->pubpi.phy_rev, 7))
26881 tx_core = (rx_core == PHY_CORE_0) ? 1 : 0;
26883 pi->tx_rx_cal_phy_saveregs[0] = read_phy_reg(pi, 0xa2);
26884 pi->tx_rx_cal_phy_saveregs[1] =
26885 read_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0xa6 : 0xa7);
26886 pi->tx_rx_cal_phy_saveregs[2] =
26887 read_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x8f : 0xa5);
26888 pi->tx_rx_cal_phy_saveregs[3] = read_phy_reg(pi, 0x91);
26889 pi->tx_rx_cal_phy_saveregs[4] = read_phy_reg(pi, 0x92);
26890 pi->tx_rx_cal_phy_saveregs[5] = read_phy_reg(pi, 0x7a);
26891 pi->tx_rx_cal_phy_saveregs[6] = read_phy_reg(pi, 0x7d);
26892 pi->tx_rx_cal_phy_saveregs[7] = read_phy_reg(pi, 0xe7);
26893 pi->tx_rx_cal_phy_saveregs[8] = read_phy_reg(pi, 0xec);
26894 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26895 pi->tx_rx_cal_phy_saveregs[11] = read_phy_reg(pi, 0x342);
26896 pi->tx_rx_cal_phy_saveregs[12] = read_phy_reg(pi, 0x343);
26897 pi->tx_rx_cal_phy_saveregs[13] = read_phy_reg(pi, 0x346);
26898 pi->tx_rx_cal_phy_saveregs[14] = read_phy_reg(pi, 0x347);
26901 pi->tx_rx_cal_phy_saveregs[9] = read_phy_reg(pi, 0x297);
26902 pi->tx_rx_cal_phy_saveregs[10] = read_phy_reg(pi, 0x29b);
26903 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
26904 0x29b, (0x1 << 0), (0) << 0);
26906 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
26907 0x29b, (0x1 << 0), (0) << 0);
26909 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26911 mod_phy_reg(pi, 0xa2, (0xf << 0), (1 << tx_core) << 0);
26913 mod_phy_reg(pi, 0xa2, (0xf << 12), (1 << (1 - rx_core)) << 12);
26917 mod_phy_reg(pi, 0xa2, (0xf << 12), (1 << tx_core) << 12);
26918 mod_phy_reg(pi, 0xa2, (0xf << 0), (1 << tx_core) << 0);
26919 mod_phy_reg(pi, 0xa2, (0xf << 4), (1 << rx_core) << 4);
26920 mod_phy_reg(pi, 0xa2, (0xf << 8), (1 << rx_core) << 8);
26923 mod_phy_reg(pi, ((rx_core == PHY_CORE_0) ? 0xa6 : 0xa7), (0x1 << 2), 0);
26924 mod_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x8f : 0xa5,
26925 (0x1 << 2), (0x1 << 2));
26926 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
26927 mod_phy_reg(pi, ((rx_core == PHY_CORE_0) ? 0xa6 : 0xa7),
26928 (0x1 << 0) | (0x1 << 1), 0);
26929 mod_phy_reg(pi, (rx_core == PHY_CORE_0) ?
26931 (0x1 << 0) | (0x1 << 1), (0x1 << 0) | (0x1 << 1));
26934 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_PA, 0,
26935 RADIO_MIMO_CORESEL_CORE1 |
26936 RADIO_MIMO_CORESEL_CORE2);
26938 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26939 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26941 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26942 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 9), 0, 0, 0,
26943 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26944 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 10), 1, 0, 0,
26945 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26946 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 1, 0, 0,
26947 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26948 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), 1, 0, 0,
26949 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26950 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 0, 0, 0,
26951 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26952 if (CHSPEC_IS40(pi->radio_chanspec))
26953 wlc_phy_rfctrl_override_nphy_rev7(
26957 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26959 wlc_phy_rfctrl_override_nphy_rev7(
26963 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26965 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
26967 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26968 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5), 0, 0, 0,
26969 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26971 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 3, 0);
26974 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX);
26976 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26978 wlc_phy_rfctrlintc_override_nphy(pi,
26979 NPHY_RfctrlIntc_override_TRSW,
26983 if (rx_core == PHY_CORE_0) {
26991 wlc_phy_rfctrlintc_override_nphy(pi,
26992 NPHY_RfctrlIntc_override_TRSW,
26993 rx_antval, rx_core + 1);
26994 wlc_phy_rfctrlintc_override_nphy(pi,
26995 NPHY_RfctrlIntc_override_TRSW,
26996 tx_antval, tx_core + 1);
27000 static void wlc_phy_rxcal_phycleanup_nphy(struct brcms_phy *pi, u8 rx_core)
27003 write_phy_reg(pi, 0xa2, pi->tx_rx_cal_phy_saveregs[0]);
27004 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0xa6 : 0xa7,
27005 pi->tx_rx_cal_phy_saveregs[1]);
27006 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x8f : 0xa5,
27007 pi->tx_rx_cal_phy_saveregs[2]);
27008 write_phy_reg(pi, 0x91, pi->tx_rx_cal_phy_saveregs[3]);
27009 write_phy_reg(pi, 0x92, pi->tx_rx_cal_phy_saveregs[4]);
27011 write_phy_reg(pi, 0x7a, pi->tx_rx_cal_phy_saveregs[5]);
27012 write_phy_reg(pi, 0x7d, pi->tx_rx_cal_phy_saveregs[6]);
27013 write_phy_reg(pi, 0xe7, pi->tx_rx_cal_phy_saveregs[7]);
27014 write_phy_reg(pi, 0xec, pi->tx_rx_cal_phy_saveregs[8]);
27015 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27016 write_phy_reg(pi, 0x342, pi->tx_rx_cal_phy_saveregs[11]);
27017 write_phy_reg(pi, 0x343, pi->tx_rx_cal_phy_saveregs[12]);
27018 write_phy_reg(pi, 0x346, pi->tx_rx_cal_phy_saveregs[13]);
27019 write_phy_reg(pi, 0x347, pi->tx_rx_cal_phy_saveregs[14]);
27022 write_phy_reg(pi, 0x297, pi->tx_rx_cal_phy_saveregs[9]);
27023 write_phy_reg(pi, 0x29b, pi->tx_rx_cal_phy_saveregs[10]);
27027 wlc_phy_rxcal_gainctrl_nphy_rev5(struct brcms_phy *pi, u8 rx_core,
27028 u16 *rxgain, u8 cal_type)
27032 struct phy_iq_est est[PHY_CORE_MAX];
27034 struct nphy_iq_comp save_comp, zero_comp;
27035 u32 i_pwr, q_pwr, curr_pwr, optim_pwr = 0, prev_pwr = 0,
27036 thresh_pwr = 10000;
27037 s16 desired_log2_pwr, actual_log2_pwr, delta_pwr;
27038 bool gainctrl_done = false;
27039 u8 mix_tia_gain = 3;
27040 s8 optim_gaintbl_index = 0, prev_gaintbl_index = 0;
27041 s8 curr_gaintbl_index = 3;
27042 u8 gainctrl_dirn = NPHY_RXCAL_GAIN_INIT;
27043 const struct nphy_ipa_txrxgain *nphy_rxcal_gaintbl;
27044 u16 hpvga, lpf_biq1, lpf_biq0, lna2, lna1;
27047 u16 nphy_rxcal_txgain[2];
27049 if (NREV_GE(pi->pubpi.phy_rev, 7))
27052 tx_core = 1 - rx_core;
27055 desired_log2_pwr = (cal_type == 0) ? 13 : 13;
27057 wlc_phy_rx_iq_coeffs_nphy(pi, 0, &save_comp);
27058 zero_comp.a0 = zero_comp.b0 = zero_comp.a1 = zero_comp.b1 = 0x0;
27059 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &zero_comp);
27061 if (CHSPEC_IS5G(pi->radio_chanspec)) {
27062 if (NREV_GE(pi->pubpi.phy_rev, 7))
27064 else if (NREV_GE(pi->pubpi.phy_rev, 4))
27068 if (NREV_GE(pi->pubpi.phy_rev, 7))
27069 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_5GHz_rev7;
27071 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_5GHz;
27073 if (NREV_GE(pi->pubpi.phy_rev, 7))
27074 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_2GHz_rev7;
27076 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_2GHz;
27081 hpvga = (NREV_GE(pi->pubpi.phy_rev, 7)) ?
27082 0 : nphy_rxcal_gaintbl[curr_gaintbl_index].hpvga;
27083 lpf_biq1 = nphy_rxcal_gaintbl[curr_gaintbl_index].lpf_biq1;
27084 lpf_biq0 = nphy_rxcal_gaintbl[curr_gaintbl_index].lpf_biq0;
27085 lna2 = nphy_rxcal_gaintbl[curr_gaintbl_index].lna2;
27086 lna1 = nphy_rxcal_gaintbl[curr_gaintbl_index].lna1;
27087 txpwrindex = nphy_rxcal_gaintbl[curr_gaintbl_index].txpwrindex;
27089 if (NREV_GE(pi->pubpi.phy_rev, 7))
27090 wlc_phy_rfctrl_override_1tomany_nphy(
27092 NPHY_REV7_RfctrlOverride_cmd_rxgain,
27093 ((lpf_biq1 << 12) |
27095 (mix_tia_gain << 4) | (lna2 << 2)
27098 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12),
27102 (mix_tia_gain << 4) |
27103 (lna2 << 2) | lna1), 0x3,
27106 pi->nphy_rxcal_pwr_idx[tx_core] = txpwrindex;
27108 if (txpwrindex == -1) {
27109 nphy_rxcal_txgain[0] = 0x8ff0 | pi->nphy_gmval;
27110 nphy_rxcal_txgain[1] = 0x8ff0 | pi->nphy_gmval;
27111 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
27113 nphy_rxcal_txgain);
27115 wlc_phy_txpwr_index_nphy(pi, tx_core + 1, txpwrindex,
27119 wlc_phy_tx_tone_nphy(pi, (CHSPEC_IS40(pi->radio_chanspec)) ?
27120 NPHY_RXCAL_TONEFREQ_40MHz :
27121 NPHY_RXCAL_TONEFREQ_20MHz,
27122 NPHY_RXCAL_TONEAMP, 0, cal_type, false);
27124 wlc_phy_rx_iq_est_nphy(pi, est, num_samps, 32, 0);
27125 i_pwr = (est[rx_core].i_pwr + num_samps / 2) / num_samps;
27126 q_pwr = (est[rx_core].q_pwr + num_samps / 2) / num_samps;
27127 curr_pwr = i_pwr + q_pwr;
27129 switch (gainctrl_dirn) {
27130 case NPHY_RXCAL_GAIN_INIT:
27131 if (curr_pwr > thresh_pwr) {
27132 gainctrl_dirn = NPHY_RXCAL_GAIN_DOWN;
27133 prev_gaintbl_index = curr_gaintbl_index;
27134 curr_gaintbl_index--;
27136 gainctrl_dirn = NPHY_RXCAL_GAIN_UP;
27137 prev_gaintbl_index = curr_gaintbl_index;
27138 curr_gaintbl_index++;
27142 case NPHY_RXCAL_GAIN_UP:
27143 if (curr_pwr > thresh_pwr) {
27144 gainctrl_done = true;
27145 optim_pwr = prev_pwr;
27146 optim_gaintbl_index = prev_gaintbl_index;
27148 prev_gaintbl_index = curr_gaintbl_index;
27149 curr_gaintbl_index++;
27153 case NPHY_RXCAL_GAIN_DOWN:
27154 if (curr_pwr > thresh_pwr) {
27155 prev_gaintbl_index = curr_gaintbl_index;
27156 curr_gaintbl_index--;
27158 gainctrl_done = true;
27159 optim_pwr = curr_pwr;
27160 optim_gaintbl_index = curr_gaintbl_index;
27168 if ((curr_gaintbl_index < 0) ||
27169 (curr_gaintbl_index > NPHY_IPA_RXCAL_MAXGAININDEX)) {
27170 gainctrl_done = true;
27171 optim_pwr = curr_pwr;
27172 optim_gaintbl_index = prev_gaintbl_index;
27174 prev_pwr = curr_pwr;
27177 wlc_phy_stopplayback_nphy(pi);
27178 } while (!gainctrl_done);
27180 hpvga = nphy_rxcal_gaintbl[optim_gaintbl_index].hpvga;
27181 lpf_biq1 = nphy_rxcal_gaintbl[optim_gaintbl_index].lpf_biq1;
27182 lpf_biq0 = nphy_rxcal_gaintbl[optim_gaintbl_index].lpf_biq0;
27183 lna2 = nphy_rxcal_gaintbl[optim_gaintbl_index].lna2;
27184 lna1 = nphy_rxcal_gaintbl[optim_gaintbl_index].lna1;
27185 txpwrindex = nphy_rxcal_gaintbl[optim_gaintbl_index].txpwrindex;
27187 actual_log2_pwr = wlc_phy_nbits(optim_pwr);
27188 delta_pwr = desired_log2_pwr - actual_log2_pwr;
27190 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27191 fine_gain_idx = (int)lpf_biq1 + delta_pwr;
27193 if (fine_gain_idx + (int)lpf_biq0 > 10)
27194 lpf_biq1 = 10 - lpf_biq0;
27196 lpf_biq1 = (u16) max(fine_gain_idx, 0);
27198 wlc_phy_rfctrl_override_1tomany_nphy(
27200 NPHY_REV7_RfctrlOverride_cmd_rxgain,
27201 ((lpf_biq1 << 12) |
27203 (mix_tia_gain << 4) |
27204 (lna2 << 2) | lna1), 0x3,
27207 hpvga = (u16) max(min(((int)hpvga) + delta_pwr, 10), 0);
27208 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12),
27212 (mix_tia_gain << 4) |
27217 if (rxgain != NULL) {
27220 *rxgain++ = mix_tia_gain;
27221 *rxgain++ = lpf_biq0;
27222 *rxgain++ = lpf_biq1;
27226 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &save_comp);
27230 wlc_phy_rxcal_gainctrl_nphy(struct brcms_phy *pi, u8 rx_core, u16 *rxgain,
27233 wlc_phy_rxcal_gainctrl_nphy_rev5(pi, rx_core, rxgain, cal_type);
27237 wlc_phy_rc_sweep_nphy(struct brcms_phy *pi, u8 core_idx, u8 loopback_type)
27239 u32 target_bws[2] = { 9500, 21000 };
27240 u32 ref_tones[2] = { 3000, 6000 };
27241 u32 target_bw, ref_tone;
27243 u32 target_pwr_ratios[2] = { 28606, 18468 };
27244 u32 target_pwr_ratio, pwr_ratio, last_pwr_ratio = 0;
27246 u16 start_rccal_ovr_val = 128;
27247 u16 txlpf_rccal_lpc_ovr_val = 128;
27248 u16 rxlpf_rccal_hpc_ovr_val = 159;
27250 u16 orig_txlpf_rccal_lpc_ovr_val;
27251 u16 orig_rxlpf_rccal_hpc_ovr_val;
27252 u16 radio_addr_offset_rx;
27253 u16 radio_addr_offset_tx;
27255 u16 orig_RxStrnFilt40Num[6];
27256 u16 orig_RxStrnFilt40Den[4];
27257 u16 orig_rfctrloverride[2];
27258 u16 orig_rfctrlauxreg[2];
27259 u16 orig_rfctrlrssiothers;
27262 u16 rx_lpf_bw, rx_lpf_bws[2] = { 2, 4 };
27263 u16 lpf_hpc = 7, hpvga_hpc = 7;
27266 u16 rccal_val, last_rccal_val = 0, best_rccal_val = 0;
27267 u32 ref_iq_vals = 0, target_iq_vals = 0;
27268 u16 num_samps, log_num_samps = 10;
27269 struct phy_iq_est est[PHY_CORE_MAX];
27271 if (NREV_GE(pi->pubpi.phy_rev, 7))
27274 num_samps = (1 << log_num_samps);
27276 if (CHSPEC_IS40(pi->radio_chanspec)) {
27277 target_bw = target_bws[1];
27278 target_pwr_ratio = target_pwr_ratios[1];
27279 ref_tone = ref_tones[1];
27280 rx_lpf_bw = rx_lpf_bws[1];
27282 target_bw = target_bws[0];
27283 target_pwr_ratio = target_pwr_ratios[0];
27284 ref_tone = ref_tones[0];
27285 rx_lpf_bw = rx_lpf_bws[0];
27288 if (core_idx == 0) {
27289 radio_addr_offset_rx = RADIO_2056_RX0;
27290 radio_addr_offset_tx =
27291 (loopback_type == 0) ? RADIO_2056_TX0 : RADIO_2056_TX1;
27293 radio_addr_offset_rx = RADIO_2056_RX1;
27294 radio_addr_offset_tx =
27295 (loopback_type == 0) ? RADIO_2056_TX1 : RADIO_2056_TX0;
27298 orig_txlpf_rccal_lpc_ovr_val =
27300 (RADIO_2056_TX_TXLPF_RCCAL |
27301 radio_addr_offset_tx));
27302 orig_rxlpf_rccal_hpc_ovr_val =
27304 (RADIO_2056_RX_RXLPF_RCCAL_HPC |
27305 radio_addr_offset_rx));
27307 orig_dcBypass = ((read_phy_reg(pi, 0x48) >> 8) & 1);
27309 orig_RxStrnFilt40Num[0] = read_phy_reg(pi, 0x267);
27310 orig_RxStrnFilt40Num[1] = read_phy_reg(pi, 0x268);
27311 orig_RxStrnFilt40Num[2] = read_phy_reg(pi, 0x269);
27312 orig_RxStrnFilt40Den[0] = read_phy_reg(pi, 0x26a);
27313 orig_RxStrnFilt40Den[1] = read_phy_reg(pi, 0x26b);
27314 orig_RxStrnFilt40Num[3] = read_phy_reg(pi, 0x26c);
27315 orig_RxStrnFilt40Num[4] = read_phy_reg(pi, 0x26d);
27316 orig_RxStrnFilt40Num[5] = read_phy_reg(pi, 0x26e);
27317 orig_RxStrnFilt40Den[2] = read_phy_reg(pi, 0x26f);
27318 orig_RxStrnFilt40Den[3] = read_phy_reg(pi, 0x270);
27320 orig_rfctrloverride[0] = read_phy_reg(pi, 0xe7);
27321 orig_rfctrloverride[1] = read_phy_reg(pi, 0xec);
27322 orig_rfctrlauxreg[0] = read_phy_reg(pi, 0xf8);
27323 orig_rfctrlauxreg[1] = read_phy_reg(pi, 0xfa);
27324 orig_rfctrlrssiothers = read_phy_reg(pi, (core_idx == 0) ? 0x7a : 0x7d);
27326 write_radio_reg(pi, (RADIO_2056_TX_TXLPF_RCCAL | radio_addr_offset_tx),
27327 txlpf_rccal_lpc_ovr_val);
27329 write_radio_reg(pi,
27330 (RADIO_2056_RX_RXLPF_RCCAL_HPC | radio_addr_offset_rx),
27331 rxlpf_rccal_hpc_ovr_val);
27333 mod_phy_reg(pi, 0x48, (0x1 << 8), (0x1 << 8));
27335 write_phy_reg(pi, 0x267, 0x02d4);
27336 write_phy_reg(pi, 0x268, 0x0000);
27337 write_phy_reg(pi, 0x269, 0x0000);
27338 write_phy_reg(pi, 0x26a, 0x0000);
27339 write_phy_reg(pi, 0x26b, 0x0000);
27340 write_phy_reg(pi, 0x26c, 0x02d4);
27341 write_phy_reg(pi, 0x26d, 0x0000);
27342 write_phy_reg(pi, 0x26e, 0x0000);
27343 write_phy_reg(pi, 0x26f, 0x0000);
27344 write_phy_reg(pi, 0x270, 0x0000);
27346 or_phy_reg(pi, (core_idx == 0) ? 0xe7 : 0xec, (0x1 << 8));
27347 or_phy_reg(pi, (core_idx == 0) ? 0xec : 0xe7, (0x1 << 15));
27348 or_phy_reg(pi, (core_idx == 0) ? 0xe7 : 0xec, (0x1 << 9));
27349 or_phy_reg(pi, (core_idx == 0) ? 0xe7 : 0xec, (0x1 << 10));
27351 mod_phy_reg(pi, (core_idx == 0) ? 0xfa : 0xf8,
27352 (0x7 << 10), (tx_lpf_bw << 10));
27353 mod_phy_reg(pi, (core_idx == 0) ? 0xf8 : 0xfa,
27354 (0x7 << 0), (hpvga_hpc << 0));
27355 mod_phy_reg(pi, (core_idx == 0) ? 0xf8 : 0xfa,
27356 (0x7 << 4), (lpf_hpc << 4));
27357 mod_phy_reg(pi, (core_idx == 0) ? 0x7a : 0x7d,
27358 (0x7 << 8), (rx_lpf_bw << 8));
27360 rccal_stepsize = 16;
27361 rccal_val = start_rccal_ovr_val + rccal_stepsize;
27363 while (rccal_stepsize >= 0) {
27364 write_radio_reg(pi,
27365 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
27366 radio_addr_offset_rx), rccal_val);
27368 if (rccal_stepsize == 16) {
27370 wlc_phy_tx_tone_nphy(pi, ref_tone, NPHY_RXCAL_TONEAMP,
27374 wlc_phy_rx_iq_est_nphy(pi, est, num_samps, 32, 0);
27378 max_t(u32, (est[0].i_pwr +
27380 (log_num_samps + 1),
27384 max_t(u32, (est[1].i_pwr +
27386 (log_num_samps + 1),
27389 wlc_phy_tx_tone_nphy(pi, target_bw, NPHY_RXCAL_TONEAMP,
27394 wlc_phy_rx_iq_est_nphy(pi, est, num_samps, 32, 0);
27397 target_iq_vals = (est[0].i_pwr + est[0].q_pwr) >>
27398 (log_num_samps + 1);
27402 est[1].q_pwr) >> (log_num_samps + 1);
27404 pwr_ratio = (uint) ((target_iq_vals << 16) / ref_iq_vals);
27406 if (rccal_stepsize == 0)
27408 else if (rccal_stepsize == 1) {
27409 last_rccal_val = rccal_val;
27410 rccal_val += (pwr_ratio > target_pwr_ratio) ? 1 : -1;
27411 last_pwr_ratio = pwr_ratio;
27414 rccal_stepsize = (rccal_stepsize >> 1);
27415 rccal_val += ((pwr_ratio > target_pwr_ratio) ?
27416 rccal_stepsize : (-rccal_stepsize));
27419 if (rccal_stepsize == -1) {
27421 (abs((int)last_pwr_ratio -
27422 (int)target_pwr_ratio) <
27423 abs((int)pwr_ratio -
27424 (int)target_pwr_ratio)) ? last_rccal_val :
27427 if (CHSPEC_IS40(pi->radio_chanspec)) {
27428 if ((best_rccal_val > 140)
27429 || (best_rccal_val < 135))
27430 best_rccal_val = 138;
27432 if ((best_rccal_val > 142)
27433 || (best_rccal_val < 137))
27434 best_rccal_val = 140;
27437 write_radio_reg(pi,
27438 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
27439 radio_addr_offset_rx), best_rccal_val);
27443 wlc_phy_stopplayback_nphy(pi);
27445 write_radio_reg(pi, (RADIO_2056_TX_TXLPF_RCCAL | radio_addr_offset_tx),
27446 orig_txlpf_rccal_lpc_ovr_val);
27447 write_radio_reg(pi,
27448 (RADIO_2056_RX_RXLPF_RCCAL_HPC | radio_addr_offset_rx),
27449 orig_rxlpf_rccal_hpc_ovr_val);
27451 mod_phy_reg(pi, 0x48, (0x1 << 8), (orig_dcBypass << 8));
27453 write_phy_reg(pi, 0x267, orig_RxStrnFilt40Num[0]);
27454 write_phy_reg(pi, 0x268, orig_RxStrnFilt40Num[1]);
27455 write_phy_reg(pi, 0x269, orig_RxStrnFilt40Num[2]);
27456 write_phy_reg(pi, 0x26a, orig_RxStrnFilt40Den[0]);
27457 write_phy_reg(pi, 0x26b, orig_RxStrnFilt40Den[1]);
27458 write_phy_reg(pi, 0x26c, orig_RxStrnFilt40Num[3]);
27459 write_phy_reg(pi, 0x26d, orig_RxStrnFilt40Num[4]);
27460 write_phy_reg(pi, 0x26e, orig_RxStrnFilt40Num[5]);
27461 write_phy_reg(pi, 0x26f, orig_RxStrnFilt40Den[2]);
27462 write_phy_reg(pi, 0x270, orig_RxStrnFilt40Den[3]);
27464 write_phy_reg(pi, 0xe7, orig_rfctrloverride[0]);
27465 write_phy_reg(pi, 0xec, orig_rfctrloverride[1]);
27466 write_phy_reg(pi, 0xf8, orig_rfctrlauxreg[0]);
27467 write_phy_reg(pi, 0xfa, orig_rfctrlauxreg[1]);
27468 write_phy_reg(pi, (core_idx == 0) ? 0x7a : 0x7d, orig_rfctrlrssiothers);
27470 pi->nphy_anarxlpf_adjusted = false;
27472 return best_rccal_val - 0x80;
27475 #define WAIT_FOR_SCOPE 4000
27476 static int wlc_phy_cal_rxiq_nphy_rev3(struct brcms_phy *pi,
27477 struct nphy_txgains target_gain,
27478 u8 cal_type, bool debug)
27481 u8 core_no, rx_core;
27485 struct nphy_iqcal_params cal_params[2];
27487 s8 rxlpf_rccal_hpc, txlpf_rccal_lpc;
27489 bool phyhang_avoid_state = false;
27490 bool skip_rxiqcal = false;
27492 orig_BBConfig = read_phy_reg(pi, 0x01);
27493 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
27495 wlc_phy_stay_in_carriersearch_nphy(pi, true);
27497 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
27498 phyhang_avoid_state = pi->phyhang_avoid;
27499 pi->phyhang_avoid = false;
27502 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, gain_save);
27504 for (core_no = 0; core_no <= 1; core_no++) {
27505 wlc_phy_iqcal_gainparams_nphy(pi, core_no, target_gain,
27506 &cal_params[core_no]);
27507 cal_gain[core_no] = cal_params[core_no].cal_gain;
27510 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, cal_gain);
27512 rxcore_state = wlc_phy_rxcore_getstate_nphy(
27513 (struct brcms_phy_pub *) pi);
27515 for (rx_core = 0; rx_core < pi->pubpi.phy_corenum; rx_core++) {
27518 ((rxcore_state & (1 << rx_core)) == 0) ? true : false;
27520 wlc_phy_rxcal_physetup_nphy(pi, rx_core);
27522 wlc_phy_rxcal_radio_setup_nphy(pi, rx_core);
27524 if ((!skip_rxiqcal) && ((cal_type == 0) || (cal_type == 2))) {
27526 wlc_phy_rxcal_gainctrl_nphy(pi, rx_core, NULL, 0);
27528 wlc_phy_tx_tone_nphy(pi,
27530 pi->radio_chanspec)) ?
27531 NPHY_RXCAL_TONEFREQ_40MHz :
27532 NPHY_RXCAL_TONEFREQ_20MHz,
27533 NPHY_RXCAL_TONEAMP, 0, cal_type,
27537 mdelay(WAIT_FOR_SCOPE);
27539 wlc_phy_calc_rx_iq_comp_nphy(pi, rx_core + 1);
27540 wlc_phy_stopplayback_nphy(pi);
27543 if (((cal_type == 1) || (cal_type == 2))
27544 && NREV_LT(pi->pubpi.phy_rev, 7)) {
27546 if (rx_core == PHY_CORE_1) {
27548 if (rxcore_state == 1)
27549 wlc_phy_rxcore_setstate_nphy(
27550 (struct brcms_phy_pub *) pi, 3);
27552 wlc_phy_rxcal_gainctrl_nphy(pi, rx_core, NULL,
27555 best_rccal[rx_core] =
27556 wlc_phy_rc_sweep_nphy(pi, rx_core, 1);
27557 pi->nphy_rccal_value = best_rccal[rx_core];
27559 if (rxcore_state == 1)
27560 wlc_phy_rxcore_setstate_nphy(
27561 (struct brcms_phy_pub *) pi,
27566 wlc_phy_rxcal_radio_cleanup_nphy(pi, rx_core);
27568 wlc_phy_rxcal_phycleanup_nphy(pi, rx_core);
27569 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
27572 if ((cal_type == 1) || (cal_type == 2)) {
27574 best_rccal[0] = best_rccal[1];
27575 write_radio_reg(pi,
27576 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
27577 RADIO_2056_RX0), (best_rccal[0] | 0x80));
27579 for (rx_core = 0; rx_core < pi->pubpi.phy_corenum; rx_core++) {
27581 (((int)best_rccal[rx_core] - 12) >> 1) + 10;
27582 txlpf_rccal_lpc = ((int)best_rccal[rx_core] - 12) + 10;
27586 (pi->bw == WL_CHANSPEC_BW_40) ? 24 : 12;
27587 txlpf_idac = (pi->bw == WL_CHANSPEC_BW_40) ?
27589 WRITE_RADIO_REG2(pi, RADIO_2056, TX, rx_core,
27590 TXLPF_IDAC_4, txlpf_idac);
27593 rxlpf_rccal_hpc = max(min_t(u8, rxlpf_rccal_hpc, 31),
27595 txlpf_rccal_lpc = max(min_t(u8, txlpf_rccal_lpc, 31),
27598 write_radio_reg(pi, (RADIO_2056_RX_RXLPF_RCCAL_HPC |
27600 PHY_CORE_0) ? RADIO_2056_RX0 :
27602 (rxlpf_rccal_hpc | 0x80));
27604 write_radio_reg(pi, (RADIO_2056_TX_TXLPF_RCCAL |
27606 PHY_CORE_0) ? RADIO_2056_TX0 :
27608 (txlpf_rccal_lpc | 0x80));
27612 write_phy_reg(pi, 0x01, orig_BBConfig);
27614 wlc_phy_resetcca_nphy(pi);
27616 if (NREV_GE(pi->pubpi.phy_rev, 7))
27617 wlc_phy_rfctrl_override_1tomany_nphy(
27619 NPHY_REV7_RfctrlOverride_cmd_rxgain,
27622 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12), 0, 0x3, 1);
27624 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
27626 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
27629 if (NREV_GE(pi->pubpi.phy_rev, 4))
27630 pi->phyhang_avoid = phyhang_avoid_state;
27632 wlc_phy_stay_in_carriersearch_nphy(pi, false);
27638 wlc_phy_cal_rxiq_nphy_rev2(struct brcms_phy *pi,
27639 struct nphy_txgains target_gain, bool debug)
27641 struct phy_iq_est est[PHY_CORE_MAX];
27642 u8 core_num, rx_core, tx_core;
27643 u16 lna_vals[] = { 0x3, 0x3, 0x1 };
27644 u16 hpf1_vals[] = { 0x7, 0x2, 0x0 };
27645 u16 hpf2_vals[] = { 0x2, 0x0, 0x0 };
27646 s16 curr_hpf1, curr_hpf2, curr_hpf, curr_lna;
27647 s16 desired_log2_pwr, actual_log2_pwr, hpf_change;
27648 u16 orig_RfseqCoreActv, orig_AfectrlCore, orig_AfectrlOverride;
27649 u16 orig_RfctrlIntcRx, orig_RfctrlIntcTx;
27651 u32 i_pwr, q_pwr, tot_pwr[3];
27652 u8 gain_pass, use_hpf_num;
27653 u16 mask, val1, val2;
27657 struct nphy_iqcal_params cal_params[2];
27660 bool first_playtone = true;
27662 wlc_phy_stay_in_carriersearch_nphy(pi, true);
27664 if (NREV_LT(pi->pubpi.phy_rev, 2))
27665 wlc_phy_reapply_txcal_coeffs_nphy(pi);
27667 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, gain_save);
27669 for (core_no = 0; core_no <= 1; core_no++) {
27670 wlc_phy_iqcal_gainparams_nphy(pi, core_no, target_gain,
27671 &cal_params[core_no]);
27672 cal_gain[core_no] = cal_params[core_no].cal_gain;
27675 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, cal_gain);
27678 desired_log2_pwr = 13;
27680 for (core_num = 0; core_num < 2; core_num++) {
27682 rx_core = core_num;
27683 tx_core = 1 - core_num;
27685 orig_RfseqCoreActv = read_phy_reg(pi, 0xa2);
27686 orig_AfectrlCore = read_phy_reg(pi, (rx_core == PHY_CORE_0) ?
27688 orig_AfectrlOverride = read_phy_reg(pi, 0xa5);
27689 orig_RfctrlIntcRx = read_phy_reg(pi, (rx_core == PHY_CORE_0) ?
27691 orig_RfctrlIntcTx = read_phy_reg(pi, (tx_core == PHY_CORE_0) ?
27694 mod_phy_reg(pi, 0xa2, (0xf << 12), (1 << tx_core) << 12);
27695 mod_phy_reg(pi, 0xa2, (0xf << 0), (1 << tx_core) << 0);
27697 or_phy_reg(pi, ((rx_core == PHY_CORE_0) ? 0xa6 : 0xa7),
27698 ((0x1 << 1) | (0x1 << 2)));
27699 or_phy_reg(pi, 0xa5, ((0x1 << 1) | (0x1 << 2)));
27701 if (((pi->nphy_rxcalparams) & 0xff000000))
27703 (rx_core == PHY_CORE_0) ? 0x91 : 0x92,
27704 (CHSPEC_IS5G(pi->radio_chanspec) ?
27708 (rx_core == PHY_CORE_0) ? 0x91 : 0x92,
27709 (CHSPEC_IS5G(pi->radio_chanspec) ?
27712 write_phy_reg(pi, (tx_core == PHY_CORE_0) ? 0x91 : 0x92,
27713 (CHSPEC_IS5G(pi->radio_chanspec) ? 0x148 :
27716 mask = RADIO_2055_COUPLE_RX_MASK | RADIO_2055_COUPLE_TX_MASK;
27717 if (rx_core == PHY_CORE_0) {
27718 val1 = RADIO_2055_COUPLE_RX_MASK;
27719 val2 = RADIO_2055_COUPLE_TX_MASK;
27721 val1 = RADIO_2055_COUPLE_TX_MASK;
27722 val2 = RADIO_2055_COUPLE_RX_MASK;
27725 if ((pi->nphy_rxcalparams & 0x10000)) {
27726 mod_radio_reg(pi, RADIO_2055_CORE1_GEN_SPARE2, mask,
27728 mod_radio_reg(pi, RADIO_2055_CORE2_GEN_SPARE2, mask,
27732 for (gain_pass = 0; gain_pass < 4; gain_pass++) {
27735 mdelay(WAIT_FOR_SCOPE);
27737 if (gain_pass < 3) {
27738 curr_lna = lna_vals[gain_pass];
27739 curr_hpf1 = hpf1_vals[gain_pass];
27740 curr_hpf2 = hpf2_vals[gain_pass];
27743 if (tot_pwr[1] > 10000) {
27744 curr_lna = lna_vals[2];
27745 curr_hpf1 = hpf1_vals[2];
27746 curr_hpf2 = hpf2_vals[2];
27748 curr_hpf = curr_hpf1;
27750 wlc_phy_nbits(tot_pwr[2]);
27752 if (tot_pwr[0] > 10000) {
27753 curr_lna = lna_vals[1];
27754 curr_hpf1 = hpf1_vals[1];
27755 curr_hpf2 = hpf2_vals[1];
27757 curr_hpf = curr_hpf1;
27762 curr_lna = lna_vals[0];
27763 curr_hpf1 = hpf1_vals[0];
27764 curr_hpf2 = hpf2_vals[0];
27766 curr_hpf = curr_hpf2;
27773 hpf_change = desired_log2_pwr - actual_log2_pwr;
27774 curr_hpf += hpf_change;
27775 curr_hpf = max(min_t(u16, curr_hpf, 10), 0);
27776 if (use_hpf_num == 1)
27777 curr_hpf1 = curr_hpf;
27779 curr_hpf2 = curr_hpf;
27782 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 10),
27783 ((curr_hpf2 << 8) |
27785 (curr_lna << 2)), 0x3, 0);
27786 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
27788 wlc_phy_stopplayback_nphy(pi);
27790 if (first_playtone) {
27791 bcmerror = wlc_phy_tx_tone_nphy(pi, 4000,
27792 (u16) (pi->nphy_rxcalparams &
27793 0xffff), 0, 0, true);
27794 first_playtone = false;
27796 phy_bw = (CHSPEC_IS40(pi->radio_chanspec)) ?
27798 wlc_phy_runsamples_nphy(pi, phy_bw * 8, 0xffff,
27802 if (bcmerror == 0) {
27803 if (gain_pass < 3) {
27805 wlc_phy_rx_iq_est_nphy(pi, est,
27808 i_pwr = (est[rx_core].i_pwr +
27809 num_samps / 2) / num_samps;
27810 q_pwr = (est[rx_core].q_pwr +
27811 num_samps / 2) / num_samps;
27812 tot_pwr[gain_pass] = i_pwr + q_pwr;
27815 wlc_phy_calc_rx_iq_comp_nphy(pi,
27820 wlc_phy_stopplayback_nphy(pi);
27827 and_radio_reg(pi, RADIO_2055_CORE1_GEN_SPARE2, ~mask);
27828 and_radio_reg(pi, RADIO_2055_CORE2_GEN_SPARE2, ~mask);
27830 write_phy_reg(pi, (tx_core == PHY_CORE_0) ? 0x91 :
27831 0x92, orig_RfctrlIntcTx);
27832 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x91 :
27833 0x92, orig_RfctrlIntcRx);
27834 write_phy_reg(pi, 0xa5, orig_AfectrlOverride);
27835 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0xa6 :
27836 0xa7, orig_AfectrlCore);
27837 write_phy_reg(pi, 0xa2, orig_RfseqCoreActv);
27843 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 10), 0, 0x3, 1);
27844 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
27846 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
27849 wlc_phy_stay_in_carriersearch_nphy(pi, false);
27855 wlc_phy_cal_rxiq_nphy(struct brcms_phy *pi, struct nphy_txgains target_gain,
27856 u8 cal_type, bool debug)
27858 if (NREV_GE(pi->pubpi.phy_rev, 7))
27861 if (NREV_GE(pi->pubpi.phy_rev, 3))
27862 return wlc_phy_cal_rxiq_nphy_rev3(pi, target_gain, cal_type,
27865 return wlc_phy_cal_rxiq_nphy_rev2(pi, target_gain, debug);
27868 void wlc_phy_txpwr_fixpower_nphy(struct brcms_phy *pi)
27872 u16 rad_gain, dac_gain, bbmult, m1m2;
27873 u8 txpi[2], chan_freq_range;
27876 if (pi->phyhang_avoid)
27877 wlc_phy_stay_in_carriersearch_nphy(pi, true);
27879 if (pi->sh->sromrev < 4) {
27880 txpi[0] = txpi[1] = 72;
27883 chan_freq_range = wlc_phy_get_chan_freq_range_nphy(pi, 0);
27884 switch (chan_freq_range) {
27885 case WL_CHAN_FREQ_RANGE_2G:
27886 txpi[0] = pi->nphy_txpid2g[0];
27887 txpi[1] = pi->nphy_txpid2g[1];
27889 case WL_CHAN_FREQ_RANGE_5GL:
27890 txpi[0] = pi->nphy_txpid5gl[0];
27891 txpi[1] = pi->nphy_txpid5gl[1];
27893 case WL_CHAN_FREQ_RANGE_5GM:
27894 txpi[0] = pi->nphy_txpid5g[0];
27895 txpi[1] = pi->nphy_txpid5g[1];
27897 case WL_CHAN_FREQ_RANGE_5GH:
27898 txpi[0] = pi->nphy_txpid5gh[0];
27899 txpi[1] = pi->nphy_txpid5gh[1];
27902 txpi[0] = txpi[1] = 91;
27907 if (NREV_GE(pi->pubpi.phy_rev, 7))
27908 txpi[0] = txpi[1] = 30;
27909 else if (NREV_GE(pi->pubpi.phy_rev, 3))
27910 txpi[0] = txpi[1] = 40;
27912 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
27914 if ((txpi[0] < 40) || (txpi[0] > 100) ||
27915 (txpi[1] < 40) || (txpi[1] > 100))
27916 txpi[0] = txpi[1] = 91;
27919 pi->nphy_txpwrindex[PHY_CORE_0].index_internal = txpi[0];
27920 pi->nphy_txpwrindex[PHY_CORE_1].index_internal = txpi[1];
27921 pi->nphy_txpwrindex[PHY_CORE_0].index_internal_save = txpi[0];
27922 pi->nphy_txpwrindex[PHY_CORE_1].index_internal_save = txpi[1];
27924 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
27925 uint phyrev = pi->pubpi.phy_rev;
27927 if (NREV_GE(phyrev, 3)) {
27930 wlc_phy_get_ipa_gaintbl_nphy(pi);
27931 txgain = tx_gaintbl[txpi[core]];
27933 if (CHSPEC_IS5G(pi->radio_chanspec)) {
27934 if (NREV_IS(phyrev, 3)) {
27936 nphy_tpc_5GHz_txgain_rev3
27938 } else if (NREV_IS(phyrev, 4)) {
27940 pi->srom_fem5g.extpagain ==
27942 nphy_tpc_5GHz_txgain_HiPwrEPA
27944 nphy_tpc_5GHz_txgain_rev4
27948 nphy_tpc_5GHz_txgain_rev5
27952 if (NREV_GE(phyrev, 5) &&
27953 (pi->srom_fem2g.extpagain == 3)) {
27955 nphy_tpc_txgain_HiPwrEPA
27958 txgain = nphy_tpc_txgain_rev3
27964 txgain = nphy_tpc_txgain[txpi[core]];
27967 if (NREV_GE(phyrev, 3))
27968 rad_gain = (txgain >> 16) & ((1 << (32 - 16 + 1)) - 1);
27970 rad_gain = (txgain >> 16) & ((1 << (28 - 16 + 1)) - 1);
27972 if (NREV_GE(phyrev, 7))
27973 dac_gain = (txgain >> 8) & ((1 << (10 - 8 + 1)) - 1);
27975 dac_gain = (txgain >> 8) & ((1 << (13 - 8 + 1)) - 1);
27977 bbmult = (txgain >> 0) & ((1 << (7 - 0 + 1)) - 1);
27979 if (NREV_GE(phyrev, 3))
27980 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
27981 0xa5), (0x1 << 8), (0x1 << 8));
27983 mod_phy_reg(pi, 0xa5, (0x1 << 14), (0x1 << 14));
27985 write_phy_reg(pi, (core == PHY_CORE_0) ? 0xaa : 0xab, dac_gain);
27987 wlc_phy_table_write_nphy(pi, 7, 1, (0x110 + core), 16,
27990 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m1m2);
27991 m1m2 &= ((core == PHY_CORE_0) ? 0x00ff : 0xff00);
27992 m1m2 |= ((core == PHY_CORE_0) ? (bbmult << 8) : (bbmult << 0));
27993 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m1m2);
27996 wlc_phy_table_read_nphy(pi,
27999 NPHY_TBL_ID_CORE1TXPWRCTL :
28000 NPHY_TBL_ID_CORE2TXPWRCTL), 1,
28001 576 + txpi[core], 32,
28004 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
28005 0x29b, (0x1ff << 4),
28006 ((s16) rfpwr_offset) << 4);
28008 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
28009 0x29b, (0x1 << 2), (1) << 2);
28014 and_phy_reg(pi, 0xbf, (u16) (~(0x1f << 0)));
28016 if (pi->phyhang_avoid)
28017 wlc_phy_stay_in_carriersearch_nphy(pi, false);
28021 wlc_phy_txpwr_nphy_srom_convert(u8 *srom_max, u16 *pwr_offset,
28022 u8 tmp_max_pwr, u8 rate_start,
28026 u8 word_num, nibble_num;
28029 for (rate = rate_start; rate <= rate_end; rate++) {
28030 word_num = (rate - rate_start) >> 2;
28031 nibble_num = (rate - rate_start) & 0x3;
28032 tmp_nibble = (pwr_offset[word_num] >> 4 * nibble_num) & 0xf;
28034 srom_max[rate] = tmp_max_pwr - 2 * tmp_nibble;
28039 wlc_phy_txpwr_nphy_po_apply(u8 *srom_max, u8 pwr_offset,
28040 u8 rate_start, u8 rate_end)
28044 for (rate = rate_start; rate <= rate_end; rate++)
28045 srom_max[rate] -= 2 * pwr_offset;
28049 wlc_phy_ofdm_to_mcs_powers_nphy(u8 *power, u8 rate_mcs_start,
28050 u8 rate_mcs_end, u8 rate_ofdm_start)
28054 rate2 = rate_ofdm_start;
28055 for (rate1 = rate_mcs_start; rate1 <= rate_mcs_end - 1; rate1++) {
28056 power[rate1] = power[rate2];
28057 rate2 += (rate1 == rate_mcs_start) ? 2 : 1;
28059 power[rate_mcs_end] = power[rate_mcs_end - 1];
28063 wlc_phy_mcs_to_ofdm_powers_nphy(u8 *power, u8 rate_ofdm_start,
28064 u8 rate_ofdm_end, u8 rate_mcs_start)
28068 for (rate1 = rate_ofdm_start, rate2 = rate_mcs_start;
28069 rate1 <= rate_ofdm_end; rate1++, rate2++) {
28070 power[rate1] = power[rate2];
28071 if (rate1 == rate_ofdm_start)
28072 power[++rate1] = power[rate2];
28076 void wlc_phy_txpwr_apply_nphy(struct brcms_phy *pi)
28078 uint rate1, rate2, band_num;
28079 u8 tmp_bw40po = 0, tmp_cddpo = 0, tmp_stbcpo = 0;
28080 u8 tmp_max_pwr = 0;
28081 u16 pwr_offsets1[2], *pwr_offsets2 = NULL;
28082 u8 *tx_srom_max_rate = NULL;
28084 for (band_num = 0; band_num < (CH_2G_GROUP + CH_5G_GROUP);
28086 switch (band_num) {
28089 tmp_max_pwr = min(pi->nphy_pwrctrl_info[0].max_pwr_2g,
28090 pi->nphy_pwrctrl_info[1].max_pwr_2g);
28092 pwr_offsets1[0] = pi->cck2gpo;
28093 wlc_phy_txpwr_nphy_srom_convert(pi->tx_srom_max_rate_2g,
28099 pwr_offsets1[0] = (u16) (pi->ofdm2gpo & 0xffff);
28101 (u16) (pi->ofdm2gpo >> 16) & 0xffff;
28103 pwr_offsets2 = pi->mcs2gpo;
28105 tmp_cddpo = pi->cdd2gpo;
28106 tmp_stbcpo = pi->stbc2gpo;
28107 tmp_bw40po = pi->bw402gpo;
28109 tx_srom_max_rate = pi->tx_srom_max_rate_2g;
28113 tmp_max_pwr = min(pi->nphy_pwrctrl_info[0].max_pwr_5gm,
28114 pi->nphy_pwrctrl_info[1].max_pwr_5gm);
28116 pwr_offsets1[0] = (u16) (pi->ofdm5gpo & 0xffff);
28118 (u16) (pi->ofdm5gpo >> 16) & 0xffff;
28120 pwr_offsets2 = pi->mcs5gpo;
28122 tmp_cddpo = pi->cdd5gpo;
28123 tmp_stbcpo = pi->stbc5gpo;
28124 tmp_bw40po = pi->bw405gpo;
28126 tx_srom_max_rate = pi->tx_srom_max_rate_5g_mid;
28130 tmp_max_pwr = min(pi->nphy_pwrctrl_info[0].max_pwr_5gl,
28131 pi->nphy_pwrctrl_info[1].max_pwr_5gl);
28133 pwr_offsets1[0] = (u16) (pi->ofdm5glpo & 0xffff);
28135 (u16) (pi->ofdm5glpo >> 16) & 0xffff;
28137 pwr_offsets2 = pi->mcs5glpo;
28139 tmp_cddpo = pi->cdd5glpo;
28140 tmp_stbcpo = pi->stbc5glpo;
28141 tmp_bw40po = pi->bw405glpo;
28143 tx_srom_max_rate = pi->tx_srom_max_rate_5g_low;
28147 tmp_max_pwr = min(pi->nphy_pwrctrl_info[0].max_pwr_5gh,
28148 pi->nphy_pwrctrl_info[1].max_pwr_5gh);
28150 pwr_offsets1[0] = (u16) (pi->ofdm5ghpo & 0xffff);
28152 (u16) (pi->ofdm5ghpo >> 16) & 0xffff;
28154 pwr_offsets2 = pi->mcs5ghpo;
28156 tmp_cddpo = pi->cdd5ghpo;
28157 tmp_stbcpo = pi->stbc5ghpo;
28158 tmp_bw40po = pi->bw405ghpo;
28160 tx_srom_max_rate = pi->tx_srom_max_rate_5g_hi;
28164 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate, pwr_offsets1,
28165 tmp_max_pwr, TXP_FIRST_OFDM,
28168 wlc_phy_ofdm_to_mcs_powers_nphy(tx_srom_max_rate,
28169 TXP_FIRST_MCS_20_SISO,
28170 TXP_LAST_MCS_20_SISO,
28173 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate, pwr_offsets2,
28175 TXP_FIRST_MCS_20_CDD,
28176 TXP_LAST_MCS_20_CDD);
28178 if (NREV_GE(pi->pubpi.phy_rev, 3))
28179 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate, tmp_cddpo,
28180 TXP_FIRST_MCS_20_CDD,
28181 TXP_LAST_MCS_20_CDD);
28183 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate,
28184 TXP_FIRST_OFDM_20_CDD,
28185 TXP_LAST_OFDM_20_CDD,
28186 TXP_FIRST_MCS_20_CDD);
28188 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate, pwr_offsets2,
28190 TXP_FIRST_MCS_20_STBC,
28191 TXP_LAST_MCS_20_STBC);
28193 if (NREV_GE(pi->pubpi.phy_rev, 3))
28194 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate,
28196 TXP_FIRST_MCS_20_STBC,
28197 TXP_LAST_MCS_20_STBC);
28199 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
28200 &pwr_offsets2[2], tmp_max_pwr,
28201 TXP_FIRST_MCS_20_SDM,
28202 TXP_LAST_MCS_20_SDM);
28204 if (NPHY_IS_SROM_REINTERPRET) {
28206 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
28209 TXP_FIRST_MCS_40_SISO,
28210 TXP_LAST_MCS_40_SISO);
28212 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate,
28213 TXP_FIRST_OFDM_40_SISO,
28214 TXP_LAST_OFDM_40_SISO,
28215 TXP_FIRST_MCS_40_SISO);
28217 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
28220 TXP_FIRST_MCS_40_CDD,
28221 TXP_LAST_MCS_40_CDD);
28223 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate, tmp_cddpo,
28224 TXP_FIRST_MCS_40_CDD,
28225 TXP_LAST_MCS_40_CDD);
28227 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate,
28228 TXP_FIRST_OFDM_40_CDD,
28229 TXP_LAST_OFDM_40_CDD,
28230 TXP_FIRST_MCS_40_CDD);
28232 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
28235 TXP_FIRST_MCS_40_STBC,
28236 TXP_LAST_MCS_40_STBC);
28238 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate,
28240 TXP_FIRST_MCS_40_STBC,
28241 TXP_LAST_MCS_40_STBC);
28243 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
28246 TXP_FIRST_MCS_40_SDM,
28247 TXP_LAST_MCS_40_SDM);
28250 for (rate1 = TXP_FIRST_OFDM_40_SISO, rate2 =
28252 rate1 <= TXP_LAST_MCS_40_SDM;
28254 tx_srom_max_rate[rate1] =
28255 tx_srom_max_rate[rate2];
28258 if (NREV_GE(pi->pubpi.phy_rev, 3))
28259 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate,
28261 TXP_FIRST_OFDM_40_SISO,
28262 TXP_LAST_MCS_40_SDM);
28264 tx_srom_max_rate[TXP_MCS_32] =
28265 tx_srom_max_rate[TXP_FIRST_MCS_40_CDD];
28271 void wlc_phy_txpower_recalc_target_nphy(struct brcms_phy *pi)
28273 u8 tx_pwr_ctrl_state;
28274 wlc_phy_txpwr_limit_to_tbl_nphy(pi);
28275 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
28277 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
28279 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12)) {
28280 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, MCTL_PHYLOCK);
28281 (void)R_REG(&pi->regs->maccontrol);
28285 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
28287 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12))
28288 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, 0);
28291 static bool wlc_phy_txpwr_ison_nphy(struct brcms_phy *pi)
28293 return read_phy_reg((pi), 0x1e7) & ((0x1 << 15) |
28294 (0x1 << 14) | (0x1 << 13));
28297 u16 wlc_phy_txpwr_idx_get_nphy(struct brcms_phy *pi)
28302 if (wlc_phy_txpwr_ison_nphy(pi)) {
28303 pwr_idx[0] = wlc_phy_txpwr_idx_cur_get_nphy(pi, PHY_CORE_0);
28304 pwr_idx[1] = wlc_phy_txpwr_idx_cur_get_nphy(pi, PHY_CORE_1);
28306 tmp = (pwr_idx[0] << 8) | pwr_idx[1];
28308 tmp = ((pi->nphy_txpwrindex[PHY_CORE_0].index_internal & 0xff)
28310 (pi->nphy_txpwrindex[PHY_CORE_1].index_internal & 0xff);
28316 void wlc_phy_txpwr_papd_cal_nphy(struct brcms_phy *pi)
28319 && (pi->nphy_force_papd_cal
28320 || (wlc_phy_txpwr_ison_nphy(pi)
28323 abs(wlc_phy_txpwr_idx_cur_get_nphy(pi, 0) -
28324 pi->nphy_papd_tx_gain_at_last_cal[0]) >= 4)
28326 abs(wlc_phy_txpwr_idx_cur_get_nphy(pi, 1) -
28327 pi->nphy_papd_tx_gain_at_last_cal[1]) >= 4)))))
28328 wlc_phy_a4(pi, true);
28331 void wlc_phy_txpwrctrl_enable_nphy(struct brcms_phy *pi, u8 ctrl_type)
28333 u16 mask = 0, val = 0, ishw = 0;
28340 if (pi->phyhang_avoid)
28341 wlc_phy_stay_in_carriersearch_nphy(pi, true);
28343 switch (ctrl_type) {
28344 case PHY_TPC_HW_OFF:
28345 case PHY_TPC_HW_ON:
28346 pi->nphy_txpwrctrl = ctrl_type;
28352 if (ctrl_type == PHY_TPC_HW_OFF) {
28353 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28355 if (wlc_phy_txpwr_ison_nphy(pi)) {
28356 for (core = 0; core < pi->pubpi.phy_corenum;
28358 pi->nphy_txpwr_idx[core] =
28359 wlc_phy_txpwr_idx_cur_get_nphy(
28368 for (ctr = 0; ctr < tbl_len; ctr++)
28370 wlc_phy_table_write_nphy(pi, 26, tbl_len, tbl_offset, 16,
28372 wlc_phy_table_write_nphy(pi, 27, tbl_len, tbl_offset, 16,
28375 if (NREV_GE(pi->pubpi.phy_rev, 3))
28376 and_phy_reg(pi, 0x1e7,
28377 (u16) (~((0x1 << 15) |
28378 (0x1 << 14) | (0x1 << 13))));
28380 and_phy_reg(pi, 0x1e7,
28381 (u16) (~((0x1 << 14) | (0x1 << 13))));
28383 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28384 or_phy_reg(pi, 0x8f, (0x1 << 8));
28385 or_phy_reg(pi, 0xa5, (0x1 << 8));
28387 or_phy_reg(pi, 0xa5, (0x1 << 14));
28390 if (NREV_IS(pi->pubpi.phy_rev, 2))
28391 mod_phy_reg(pi, 0xdc, 0x00ff, 0x53);
28392 else if (NREV_LT(pi->pubpi.phy_rev, 2))
28393 mod_phy_reg(pi, 0xdc, 0x00ff, 0x5a);
28395 if (NREV_LT(pi->pubpi.phy_rev, 2) &&
28396 pi->bw == WL_CHANSPEC_BW_40)
28397 wlapi_bmac_mhf(pi->sh->physhim, MHF1, MHF1_IQSWAP_WAR,
28398 MHF1_IQSWAP_WAR, BRCM_BAND_ALL);
28402 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 84, 64,
28403 8, pi->adj_pwr_tbl_nphy);
28404 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 84, 64,
28405 8, pi->adj_pwr_tbl_nphy);
28407 ishw = (ctrl_type == PHY_TPC_HW_ON) ? 0x1 : 0x0;
28408 mask = (0x1 << 14) | (0x1 << 13);
28409 val = (ishw << 14) | (ishw << 13);
28411 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28412 mask |= (0x1 << 15);
28413 val |= (ishw << 15);
28416 mod_phy_reg(pi, 0x1e7, mask, val);
28418 if (CHSPEC_IS5G(pi->radio_chanspec)) {
28419 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28420 mod_phy_reg(pi, 0x1e7, (0x7f << 0), 0x32);
28421 mod_phy_reg(pi, 0x222, (0xff << 0), 0x32);
28423 mod_phy_reg(pi, 0x1e7, (0x7f << 0), 0x64);
28424 if (NREV_GT(pi->pubpi.phy_rev, 1))
28425 mod_phy_reg(pi, 0x222,
28426 (0xff << 0), 0x64);
28430 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28431 if ((pi->nphy_txpwr_idx[0] != 128)
28432 && (pi->nphy_txpwr_idx[1] != 128))
28433 wlc_phy_txpwr_idx_cur_set_nphy(pi,
28442 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28443 and_phy_reg(pi, 0x8f, ~(0x1 << 8));
28444 and_phy_reg(pi, 0xa5, ~(0x1 << 8));
28446 and_phy_reg(pi, 0xa5, ~(0x1 << 14));
28449 if (NREV_IS(pi->pubpi.phy_rev, 2))
28450 mod_phy_reg(pi, 0xdc, 0x00ff, 0x3b);
28451 else if (NREV_LT(pi->pubpi.phy_rev, 2))
28452 mod_phy_reg(pi, 0xdc, 0x00ff, 0x40);
28454 if (NREV_LT(pi->pubpi.phy_rev, 2) &&
28455 pi->bw == WL_CHANSPEC_BW_40)
28456 wlapi_bmac_mhf(pi->sh->physhim, MHF1, MHF1_IQSWAP_WAR,
28457 0x0, BRCM_BAND_ALL);
28460 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
28461 0x29b, (0x1 << 2), (0) << 2);
28463 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
28464 0x29b, (0x1 << 2), (0) << 2);
28470 if (pi->phyhang_avoid)
28471 wlc_phy_stay_in_carriersearch_nphy(pi, false);
28475 wlc_phy_txpwr_index_nphy(struct brcms_phy *pi, u8 core_mask, s8 txpwrindex,
28478 u8 core, txpwrctl_tbl;
28479 u16 tx_ind0, iq_ind0, lo_ind0;
28482 u16 rad_gain, dac_gain;
28485 u16 iqcomp_a, iqcomp_b;
28488 u8 tx_pwr_ctrl_state;
28492 if (pi->phyhang_avoid)
28493 wlc_phy_stay_in_carriersearch_nphy(pi, true);
28499 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
28501 if ((core_mask & (1 << core)) == 0)
28504 txpwrctl_tbl = (core == PHY_CORE_0) ? 26 : 27;
28506 if (txpwrindex < 0) {
28507 if (pi->nphy_txpwrindex[core].index < 0)
28510 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28511 mod_phy_reg(pi, 0x8f,
28513 pi->nphy_txpwrindex[core].
28515 mod_phy_reg(pi, 0xa5, (0x1 << 8),
28516 pi->nphy_txpwrindex[core].
28519 mod_phy_reg(pi, 0xa5,
28521 pi->nphy_txpwrindex[core].
28525 write_phy_reg(pi, (core == PHY_CORE_0) ?
28527 pi->nphy_txpwrindex[core].AfeCtrlDacGain);
28529 wlc_phy_table_write_nphy(pi, 7, 1, (0x110 + core), 16,
28530 &pi->nphy_txpwrindex[core].
28533 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m1m2);
28534 m1m2 &= ((core == PHY_CORE_0) ? 0x00ff : 0xff00);
28535 m1m2 |= ((core == PHY_CORE_0) ?
28536 (pi->nphy_txpwrindex[core].bbmult << 8) :
28537 (pi->nphy_txpwrindex[core].bbmult << 0));
28538 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m1m2);
28540 if (restore_cals) {
28541 wlc_phy_table_write_nphy(
28542 pi, 15, 2, (80 + 2 * core), 16,
28543 &pi->nphy_txpwrindex[core].iqcomp_a);
28544 wlc_phy_table_write_nphy(
28545 pi, 15, 1, (85 + core), 16,
28546 &pi->nphy_txpwrindex[core].locomp);
28547 wlc_phy_table_write_nphy(
28548 pi, 15, 1, (93 + core), 16,
28549 &pi->nphy_txpwrindex[core].locomp);
28552 wlc_phy_txpwrctrl_enable_nphy(pi, pi->nphy_txpwrctrl);
28554 pi->nphy_txpwrindex[core].index_internal =
28555 pi->nphy_txpwrindex[core].index_internal_save;
28558 if (pi->nphy_txpwrindex[core].index < 0) {
28560 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28561 mod_phy_reg(pi, 0x8f,
28563 pi->nphy_txpwrindex[core].
28565 mod_phy_reg(pi, 0xa5, (0x1 << 8),
28566 pi->nphy_txpwrindex[core].
28569 pi->nphy_txpwrindex[core].
28571 read_phy_reg(pi, 0xa5);
28574 pi->nphy_txpwrindex[core].AfeCtrlDacGain =
28575 read_phy_reg(pi, (core == PHY_CORE_0) ?
28578 wlc_phy_table_read_nphy(pi, 7, 1,
28579 (0x110 + core), 16,
28581 nphy_txpwrindex[core].
28584 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16,
28586 tmpval >>= ((core == PHY_CORE_0) ? 8 : 0);
28588 pi->nphy_txpwrindex[core].bbmult = (u8) tmpval;
28590 wlc_phy_table_read_nphy(pi, 15, 2,
28591 (80 + 2 * core), 16,
28593 nphy_txpwrindex[core].
28596 wlc_phy_table_read_nphy(pi, 15, 1, (85 + core),
28599 nphy_txpwrindex[core].
28602 pi->nphy_txpwrindex[core].index_internal_save =
28603 pi->nphy_txpwrindex[core].
28607 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
28608 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
28610 if (NREV_IS(pi->pubpi.phy_rev, 1))
28611 wlapi_bmac_phyclk_fgc(pi->sh->physhim, ON);
28613 wlc_phy_table_read_nphy(pi, txpwrctl_tbl, 1,
28614 (tx_ind0 + txpwrindex), 32,
28617 if (NREV_GE(pi->pubpi.phy_rev, 3))
28618 rad_gain = (txgain >> 16) &
28619 ((1 << (32 - 16 + 1)) - 1);
28621 rad_gain = (txgain >> 16) &
28622 ((1 << (28 - 16 + 1)) - 1);
28624 dac_gain = (txgain >> 8) & ((1 << (13 - 8 + 1)) - 1);
28625 bbmult = (txgain >> 0) & ((1 << (7 - 0 + 1)) - 1);
28627 if (NREV_GE(pi->pubpi.phy_rev, 3))
28628 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
28629 0xa5), (0x1 << 8), (0x1 << 8));
28631 mod_phy_reg(pi, 0xa5, (0x1 << 14), (0x1 << 14));
28633 write_phy_reg(pi, (core == PHY_CORE_0) ?
28634 0xaa : 0xab, dac_gain);
28636 wlc_phy_table_write_nphy(pi, 7, 1, (0x110 + core), 16,
28639 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m1m2);
28640 m1m2 &= ((core == PHY_CORE_0) ? 0x00ff : 0xff00);
28641 m1m2 |= ((core == PHY_CORE_0) ?
28642 (bbmult << 8) : (bbmult << 0));
28644 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m1m2);
28646 wlc_phy_table_read_nphy(pi, txpwrctl_tbl, 1,
28647 (iq_ind0 + txpwrindex), 32,
28649 iqcomp_a = (iqcomp >> 10) & ((1 << (19 - 10 + 1)) - 1);
28650 iqcomp_b = (iqcomp >> 0) & ((1 << (9 - 0 + 1)) - 1);
28652 if (restore_cals) {
28653 regval[0] = (u16) iqcomp_a;
28654 regval[1] = (u16) iqcomp_b;
28655 wlc_phy_table_write_nphy(pi, 15, 2,
28656 (80 + 2 * core), 16,
28660 wlc_phy_table_read_nphy(pi, txpwrctl_tbl, 1,
28661 (lo_ind0 + txpwrindex), 32,
28664 wlc_phy_table_write_nphy(pi, 15, 1, (85 + core),
28667 if (NREV_IS(pi->pubpi.phy_rev, 1))
28668 wlapi_bmac_phyclk_fgc(pi->sh->physhim, OFF);
28671 wlc_phy_table_read_nphy(pi,
28672 (core == PHY_CORE_0 ?
28673 NPHY_TBL_ID_CORE1TXPWRCTL :
28674 NPHY_TBL_ID_CORE2TXPWRCTL),
28675 1, 576 + txpwrindex, 32,
28678 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
28679 0x29b, (0x1ff << 4),
28680 ((s16) rfpwr_offset) << 4);
28682 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
28683 0x29b, (0x1 << 2), (1) << 2);
28687 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
28690 pi->nphy_txpwrindex[core].index = txpwrindex;
28693 if (pi->phyhang_avoid)
28694 wlc_phy_stay_in_carriersearch_nphy(pi, false);
28698 wlc_phy_txpower_sromlimit_get_nphy(struct brcms_phy *pi, uint chan, u8 *max_pwr,
28701 u8 chan_freq_range;
28703 chan_freq_range = wlc_phy_get_chan_freq_range_nphy(pi, chan);
28704 switch (chan_freq_range) {
28705 case WL_CHAN_FREQ_RANGE_2G:
28706 *max_pwr = pi->tx_srom_max_rate_2g[txp_rate_idx];
28708 case WL_CHAN_FREQ_RANGE_5GM:
28709 *max_pwr = pi->tx_srom_max_rate_5g_mid[txp_rate_idx];
28711 case WL_CHAN_FREQ_RANGE_5GL:
28712 *max_pwr = pi->tx_srom_max_rate_5g_low[txp_rate_idx];
28714 case WL_CHAN_FREQ_RANGE_5GH:
28715 *max_pwr = pi->tx_srom_max_rate_5g_hi[txp_rate_idx];
28718 *max_pwr = pi->tx_srom_max_rate_2g[txp_rate_idx];
28725 void wlc_phy_stay_in_carriersearch_nphy(struct brcms_phy *pi, bool enable)
28727 u16 clip_off[] = { 0xffff, 0xffff };
28730 if (pi->nphy_deaf_count == 0) {
28731 pi->classifier_state =
28732 wlc_phy_classifier_nphy(pi, 0, 0);
28733 wlc_phy_classifier_nphy(pi, (0x7 << 0), 4);
28734 wlc_phy_clip_det_nphy(pi, 0, pi->clip_state);
28735 wlc_phy_clip_det_nphy(pi, 1, clip_off);
28738 pi->nphy_deaf_count++;
28740 wlc_phy_resetcca_nphy(pi);
28743 pi->nphy_deaf_count--;
28745 if (pi->nphy_deaf_count == 0) {
28746 wlc_phy_classifier_nphy(pi, (0x7 << 0),
28747 pi->classifier_state);
28748 wlc_phy_clip_det_nphy(pi, 1, pi->clip_state);
28753 void wlc_nphy_deaf_mode(struct brcms_phy *pi, bool mode)
28755 wlapi_suspend_mac_and_wait(pi->sh->physhim);
28758 if (pi->nphy_deaf_count == 0)
28759 wlc_phy_stay_in_carriersearch_nphy(pi, true);
28760 } else if (pi->nphy_deaf_count > 0) {
28761 wlc_phy_stay_in_carriersearch_nphy(pi, false);
28764 wlapi_enable_mac(pi->sh->physhim);