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.
19 #include <linux/kernel.h>
20 #include <linux/string.h>
26 #include <bcmendian.h>
28 #include <wlc_phy_radio.h>
29 #include <wlc_phy_int.h>
30 #include <wlc_phyreg_n.h>
31 #include <wlc_phytbl_n.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) ? radio_type##_##jspace##0 : radio_type##_##jspace##1))
36 #define WRITE_RADIO_REG2(pi, radio_type, jspace, core, reg_name, value) \
37 write_radio_reg(pi, radio_type##_##jspace##_##reg_name | \
38 ((core == PHY_CORE_0) ? radio_type##_##jspace##0 : radio_type##_##jspace##1), value);
39 #define WRITE_RADIO_SYN(pi, radio_type, reg_name, value) \
40 write_radio_reg(pi, radio_type##_##SYN##_##reg_name, value);
42 #define READ_RADIO_REG3(pi, radio_type, jspace, core, reg_name) \
43 read_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##jspace##0##_##reg_name : \
44 radio_type##_##jspace##1##_##reg_name));
45 #define WRITE_RADIO_REG3(pi, radio_type, jspace, core, reg_name, value) \
46 write_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##jspace##0##_##reg_name : \
47 radio_type##_##jspace##1##_##reg_name), value);
48 #define READ_RADIO_REG4(pi, radio_type, jspace, core, reg_name) \
49 read_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##reg_name##_##jspace##0 : \
50 radio_type##_##reg_name##_##jspace##1));
51 #define WRITE_RADIO_REG4(pi, radio_type, jspace, core, reg_name, value) \
52 write_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##reg_name##_##jspace##0 : \
53 radio_type##_##reg_name##_##jspace##1), value);
55 #define NPHY_ACI_MAX_UNDETECT_WINDOW_SZ 40
56 #define NPHY_ACI_CHANNEL_DELTA 5
57 #define NPHY_ACI_CHANNEL_SKIP 4
58 #define NPHY_ACI_40MHZ_CHANNEL_DELTA 6
59 #define NPHY_ACI_40MHZ_CHANNEL_SKIP 5
60 #define NPHY_ACI_40MHZ_CHANNEL_DELTA_GE_REV3 6
61 #define NPHY_ACI_40MHZ_CHANNEL_SKIP_GE_REV3 5
62 #define NPHY_ACI_CHANNEL_DELTA_GE_REV3 4
63 #define NPHY_ACI_CHANNEL_SKIP_GE_REV3 3
65 #define NPHY_NOISE_NOASSOC_GLITCH_TH_UP 2
67 #define NPHY_NOISE_NOASSOC_GLITCH_TH_DN 8
69 #define NPHY_NOISE_ASSOC_GLITCH_TH_UP 2
71 #define NPHY_NOISE_ASSOC_GLITCH_TH_DN 8
73 #define NPHY_NOISE_ASSOC_ACI_GLITCH_TH_UP 2
75 #define NPHY_NOISE_ASSOC_ACI_GLITCH_TH_DN 8
77 #define NPHY_NOISE_NOASSOC_ENTER_TH 400
79 #define NPHY_NOISE_ASSOC_ENTER_TH 400
81 #define NPHY_NOISE_ASSOC_RX_GLITCH_BADPLCP_ENTER_TH 400
83 #define NPHY_NOISE_CRSMINPWR_ARRAY_MAX_INDEX 44
84 #define NPHY_NOISE_CRSMINPWR_ARRAY_MAX_INDEX_REV_7 56
86 #define NPHY_NOISE_NOASSOC_CRSIDX_INCR 16
88 #define NPHY_NOISE_ASSOC_CRSIDX_INCR 8
90 #define NPHY_IS_SROM_REINTERPRET NREV_GE(pi->pubpi.phy_rev, 5)
92 #define NPHY_RSSICAL_MAXREAD 31
94 #define NPHY_RSSICAL_NPOLL 8
95 #define NPHY_RSSICAL_MAXD (1<<20)
96 #define NPHY_MIN_RXIQ_PWR 2
98 #define NPHY_RSSICAL_W1_TARGET 25
99 #define NPHY_RSSICAL_W2_TARGET NPHY_RSSICAL_W1_TARGET
100 #define NPHY_RSSICAL_NB_TARGET 0
102 #define NPHY_RSSICAL_W1_TARGET_REV3 29
103 #define NPHY_RSSICAL_W2_TARGET_REV3 NPHY_RSSICAL_W1_TARGET_REV3
105 #define NPHY_CALSANITY_RSSI_NB_MAX_POS 9
106 #define NPHY_CALSANITY_RSSI_NB_MAX_NEG -9
107 #define NPHY_CALSANITY_RSSI_W1_MAX_POS 12
108 #define NPHY_CALSANITY_RSSI_W1_MAX_NEG (NPHY_RSSICAL_W1_TARGET - NPHY_RSSICAL_MAXREAD)
109 #define NPHY_CALSANITY_RSSI_W2_MAX_POS NPHY_CALSANITY_RSSI_W1_MAX_POS
110 #define NPHY_CALSANITY_RSSI_W2_MAX_NEG (NPHY_RSSICAL_W2_TARGET - NPHY_RSSICAL_MAXREAD)
111 #define NPHY_RSSI_SXT(x) ((s8) (-((x) & 0x20) + ((x) & 0x1f)))
112 #define NPHY_RSSI_NB_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_NB_MAX_POS) || \
113 ((x) < NPHY_CALSANITY_RSSI_NB_MAX_NEG))
114 #define NPHY_RSSI_W1_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_W1_MAX_POS) || \
115 ((x) < NPHY_CALSANITY_RSSI_W1_MAX_NEG))
116 #define NPHY_RSSI_W2_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_W2_MAX_POS) || \
117 ((x) < NPHY_CALSANITY_RSSI_W2_MAX_NEG))
119 #define NPHY_IQCAL_NUMGAINS 9
120 #define NPHY_N_GCTL 0x66
122 #define NPHY_PAPD_EPS_TBL_SIZE 64
123 #define NPHY_PAPD_SCL_TBL_SIZE 64
124 #define NPHY_NUM_DIG_FILT_COEFFS 15
126 #define NPHY_PAPD_COMP_OFF 0
127 #define NPHY_PAPD_COMP_ON 1
129 #define NPHY_SROM_TEMPSHIFT 32
130 #define NPHY_SROM_MAXTEMPOFFSET 16
131 #define NPHY_SROM_MINTEMPOFFSET -16
133 #define NPHY_CAL_MAXTEMPDELTA 64
135 #define NPHY_NOISEVAR_TBLLEN40 256
136 #define NPHY_NOISEVAR_TBLLEN20 128
138 #define NPHY_ANARXLPFBW_REDUCTIONFACT 7
140 #define NPHY_ADJUSTED_MINCRSPOWER 0x1e
142 typedef struct _nphy_iqcal_params {
150 } nphy_iqcal_params_t;
152 typedef struct _nphy_txiqcal_ladder {
155 } nphy_txiqcal_ladder_t;
158 nphy_txgains_t gains;
161 } nphy_ipa_txcalgains_t;
163 typedef struct nphy_papd_restore_state_t {
172 } nphy_papd_restore_state;
174 typedef struct _nphy_ipa_txrxgain {
181 } nphy_ipa_txrxgain_t;
183 #define NPHY_IPA_RXCAL_MAXGAININDEX (6 - 1)
185 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_5GHz[] = { {0, 0, 0, 0, 0, 100},
193 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_2GHz[] = { {0, 0, 0, 0, 0, 128},
201 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_5GHz_rev7[] = { {0, 0, 0, 0, 0, 100},
209 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_2GHz_rev7[] = { {0, 0, 0, 0, 0, 10},
217 #define NPHY_RXCAL_TONEAMP 181
218 #define NPHY_RXCAL_TONEFREQ_40MHz 4000
219 #define NPHY_RXCAL_TONEFREQ_20MHz 2000
222 NPHY_RXCAL_GAIN_INIT = 0,
227 #define wlc_phy_get_papd_nphy(pi) \
228 (read_phy_reg((pi), 0x1e7) & \
233 #define TXFILT_SHAPING_OFDM20 0
234 #define TXFILT_SHAPING_OFDM40 1
235 #define TXFILT_SHAPING_CCK 2
236 #define TXFILT_DEFAULT_OFDM20 3
237 #define TXFILT_DEFAULT_OFDM40 4
239 u16 NPHY_IPA_REV4_txdigi_filtcoeffs[][NPHY_NUM_DIG_FILT_COEFFS] = {
240 {-377, 137, -407, 208, -1527, 956, 93, 186, 93,
241 230, -44, 230, 201, -191, 201},
242 {-77, 20, -98, 49, -93, 60, 56, 111, 56, 26, -5,
244 {-360, 164, -376, 164, -1533, 576, 308, -314, 308,
245 121, -73, 121, 91, 124, 91},
246 {-295, 200, -363, 142, -1391, 826, 151, 301, 151,
247 151, 301, 151, 602, -752, 602},
248 {-92, 58, -96, 49, -104, 44, 17, 35, 17,
249 12, 25, 12, 13, 27, 13},
250 {-375, 136, -399, 209, -1479, 949, 130, 260, 130,
251 230, -44, 230, 201, -191, 201},
252 {0xed9, 0xc8, 0xe95, 0x8e, 0xa91, 0x33a, 0x97, 0x12d, 0x97,
253 0x97, 0x12d, 0x97, 0x25a, 0xd10, 0x25a}
256 typedef struct _chan_info_nphy_2055 {
272 u8 RF_core1_lgbuf_a_tune;
273 u8 RF_core1_lgbuf_g_tune;
274 u8 RF_core1_rxrf_reg1;
275 u8 RF_core1_tx_pga_pad_tn;
276 u8 RF_core1_tx_mx_bgtrim;
277 u8 RF_core2_lgbuf_a_tune;
278 u8 RF_core2_lgbuf_g_tune;
279 u8 RF_core2_rxrf_reg1;
280 u8 RF_core2_tx_pga_pad_tn;
281 u8 RF_core2_tx_mx_bgtrim;
288 } chan_info_nphy_2055_t;
290 typedef struct _chan_info_nphy_radio205x {
293 u8 RF_SYN_pll_vcocal1;
294 u8 RF_SYN_pll_vcocal2;
295 u8 RF_SYN_pll_refdiv;
298 u8 RF_SYN_pll_loopfilter1;
299 u8 RF_SYN_pll_loopfilter2;
300 u8 RF_SYN_pll_loopfilter3;
301 u8 RF_SYN_pll_loopfilter4;
302 u8 RF_SYN_pll_loopfilter5;
303 u8 RF_SYN_reserved_addr27;
304 u8 RF_SYN_reserved_addr28;
305 u8 RF_SYN_reserved_addr29;
306 u8 RF_SYN_logen_VCOBUF1;
307 u8 RF_SYN_logen_MIXER2;
308 u8 RF_SYN_logen_BUF3;
309 u8 RF_SYN_logen_BUF4;
312 u8 RF_TX0_intpaa_boost_tune;
313 u8 RF_TX0_intpag_boost_tune;
314 u8 RF_TX0_pada_boost_tune;
315 u8 RF_TX0_padg_boost_tune;
316 u8 RF_TX0_pgaa_boost_tune;
317 u8 RF_TX0_pgag_boost_tune;
318 u8 RF_TX0_mixa_boost_tune;
319 u8 RF_TX0_mixg_boost_tune;
322 u8 RF_TX1_intpaa_boost_tune;
323 u8 RF_TX1_intpag_boost_tune;
324 u8 RF_TX1_pada_boost_tune;
325 u8 RF_TX1_padg_boost_tune;
326 u8 RF_TX1_pgaa_boost_tune;
327 u8 RF_TX1_pgag_boost_tune;
328 u8 RF_TX1_mixa_boost_tune;
329 u8 RF_TX1_mixg_boost_tune;
336 } chan_info_nphy_radio205x_t;
338 typedef struct _chan_info_nphy_radio2057 {
341 u8 RF_vcocal_countval0;
342 u8 RF_vcocal_countval1;
343 u8 RF_rfpll_refmaster_sparextalsize;
344 u8 RF_rfpll_loopfilter_r1;
345 u8 RF_rfpll_loopfilter_c2;
346 u8 RF_rfpll_loopfilter_c1;
351 u8 RF_logen_mx2g_tune;
352 u8 RF_logen_mx5g_tune;
353 u8 RF_logen_indbuf2g_tune;
354 u8 RF_logen_indbuf5g_tune;
355 u8 RF_txmix2g_tune_boost_pu_core0;
356 u8 RF_pad2g_tune_pus_core0;
357 u8 RF_pga_boost_tune_core0;
358 u8 RF_txmix5g_boost_tune_core0;
359 u8 RF_pad5g_tune_misc_pus_core0;
360 u8 RF_lna2g_tune_core0;
361 u8 RF_lna5g_tune_core0;
362 u8 RF_txmix2g_tune_boost_pu_core1;
363 u8 RF_pad2g_tune_pus_core1;
364 u8 RF_pga_boost_tune_core1;
365 u8 RF_txmix5g_boost_tune_core1;
366 u8 RF_pad5g_tune_misc_pus_core1;
367 u8 RF_lna2g_tune_core1;
368 u8 RF_lna5g_tune_core1;
375 } chan_info_nphy_radio2057_t;
377 typedef struct _chan_info_nphy_radio2057_rev5 {
380 u8 RF_vcocal_countval0;
381 u8 RF_vcocal_countval1;
382 u8 RF_rfpll_refmaster_sparextalsize;
383 u8 RF_rfpll_loopfilter_r1;
384 u8 RF_rfpll_loopfilter_c2;
385 u8 RF_rfpll_loopfilter_c1;
390 u8 RF_logen_mx2g_tune;
391 u8 RF_logen_indbuf2g_tune;
392 u8 RF_txmix2g_tune_boost_pu_core0;
393 u8 RF_pad2g_tune_pus_core0;
394 u8 RF_lna2g_tune_core0;
395 u8 RF_txmix2g_tune_boost_pu_core1;
396 u8 RF_pad2g_tune_pus_core1;
397 u8 RF_lna2g_tune_core1;
404 } chan_info_nphy_radio2057_rev5_t;
406 typedef struct nphy_sfo_cfg {
415 static chan_info_nphy_2055_t chan_info_nphy_2055[] = {
417 184, 4920, 3280, 0x71, 0x01, 0xEC, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
418 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
419 0x0F, 0x8F, 0x7B4, 0x7B0, 0x7AC, 0x214, 0x215, 0x216},
421 186, 4930, 3287, 0x71, 0x01, 0xED, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
422 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
423 0x0F, 0x8F, 0x7B8, 0x7B4, 0x7B0, 0x213, 0x214, 0x215},
425 188, 4940, 3293, 0x71, 0x01, 0xEE, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
426 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
427 0x0F, 0x8F, 0x7BC, 0x7B8, 0x7B4, 0x212, 0x213, 0x214},
429 190, 4950, 3300, 0x71, 0x01, 0xEF, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
430 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
431 0x0F, 0x8F, 0x7C0, 0x7BC, 0x7B8, 0x211, 0x212, 0x213},
433 192, 4960, 3307, 0x71, 0x01, 0xF0, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
434 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
435 0x0F, 0x8F, 0x7C4, 0x7C0, 0x7BC, 0x20F, 0x211, 0x212},
437 194, 4970, 3313, 0x71, 0x01, 0xF1, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
438 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
439 0x0F, 0x8F, 0x7C8, 0x7C4, 0x7C0, 0x20E, 0x20F, 0x211},
441 196, 4980, 3320, 0x71, 0x01, 0xF2, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
442 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
443 0x0F, 0x8F, 0x7CC, 0x7C8, 0x7C4, 0x20D, 0x20E, 0x20F},
445 198, 4990, 3327, 0x71, 0x01, 0xF3, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
446 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
447 0x0F, 0x8F, 0x7D0, 0x7CC, 0x7C8, 0x20C, 0x20D, 0x20E},
449 200, 5000, 3333, 0x71, 0x01, 0xF4, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
450 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
451 0x0F, 0x8F, 0x7D4, 0x7D0, 0x7CC, 0x20B, 0x20C, 0x20D},
453 202, 5010, 3340, 0x71, 0x01, 0xF5, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
454 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
455 0x0F, 0x8F, 0x7D8, 0x7D4, 0x7D0, 0x20A, 0x20B, 0x20C},
457 204, 5020, 3347, 0x71, 0x01, 0xF6, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
458 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
459 0x0F, 0x8F, 0x7DC, 0x7D8, 0x7D4, 0x209, 0x20A, 0x20B},
461 206, 5030, 3353, 0x71, 0x01, 0xF7, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
462 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
463 0x0F, 0x8F, 0x7E0, 0x7DC, 0x7D8, 0x208, 0x209, 0x20A},
465 208, 5040, 3360, 0x71, 0x01, 0xF8, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
466 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
467 0x0F, 0x8F, 0x7E4, 0x7E0, 0x7DC, 0x207, 0x208, 0x209},
469 210, 5050, 3367, 0x71, 0x01, 0xF9, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
470 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
471 0x0F, 0x8F, 0x7E8, 0x7E4, 0x7E0, 0x206, 0x207, 0x208},
473 212, 5060, 3373, 0x71, 0x01, 0xFA, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
474 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, 0x8E, 0xFF, 0x00, 0x0E,
475 0x0F, 0x8E, 0x7EC, 0x7E8, 0x7E4, 0x205, 0x206, 0x207},
477 214, 5070, 3380, 0x71, 0x01, 0xFB, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
478 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, 0x8E, 0xFF, 0x00, 0x0E,
479 0x0F, 0x8E, 0x7F0, 0x7EC, 0x7E8, 0x204, 0x205, 0x206},
481 216, 5080, 3387, 0x71, 0x01, 0xFC, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
482 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, 0x8D, 0xEE, 0x00, 0x0E,
483 0x0F, 0x8D, 0x7F4, 0x7F0, 0x7EC, 0x203, 0x204, 0x205},
485 218, 5090, 3393, 0x71, 0x01, 0xFD, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
486 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, 0x8D, 0xEE, 0x00, 0x0E,
487 0x0F, 0x8D, 0x7F8, 0x7F4, 0x7F0, 0x202, 0x203, 0x204},
489 220, 5100, 3400, 0x71, 0x01, 0xFE, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
490 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, 0x8D, 0xEE, 0x00, 0x0D,
491 0x0F, 0x8D, 0x7FC, 0x7F8, 0x7F4, 0x201, 0x202, 0x203},
493 222, 5110, 3407, 0x71, 0x01, 0xFF, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
494 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, 0x8D, 0xEE, 0x00, 0x0D,
495 0x0F, 0x8D, 0x800, 0x7FC, 0x7F8, 0x200, 0x201, 0x202},
497 224, 5120, 3413, 0x71, 0x02, 0x00, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
498 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, 0x8C, 0xDD, 0x00, 0x0D,
499 0x0F, 0x8C, 0x804, 0x800, 0x7FC, 0x1FF, 0x200, 0x201},
501 226, 5130, 3420, 0x71, 0x02, 0x01, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
502 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, 0x8C, 0xDD, 0x00, 0x0D,
503 0x0F, 0x8C, 0x808, 0x804, 0x800, 0x1FE, 0x1FF, 0x200},
505 228, 5140, 3427, 0x71, 0x02, 0x02, 0x0C, 0xC6, 0x01, 0x04, 0x0A,
506 0x00, 0x8D, 0x99, 0x99, 0xDD, 0x00, 0x0C, 0x0E, 0x8B, 0xDD, 0x00, 0x0C,
507 0x0E, 0x8B, 0x80C, 0x808, 0x804, 0x1FD, 0x1FE, 0x1FF},
509 32, 5160, 3440, 0x71, 0x02, 0x04, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
510 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, 0x8A, 0xCC, 0x00, 0x0B,
511 0x0D, 0x8A, 0x814, 0x810, 0x80C, 0x1FB, 0x1FC, 0x1FD},
513 34, 5170, 3447, 0x71, 0x02, 0x05, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
514 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, 0x8A, 0xCC, 0x00, 0x0B,
515 0x0D, 0x8A, 0x818, 0x814, 0x810, 0x1FA, 0x1FB, 0x1FC},
517 36, 5180, 3453, 0x71, 0x02, 0x06, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
518 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, 0x89, 0xCC, 0x00, 0x0B,
519 0x0C, 0x89, 0x81C, 0x818, 0x814, 0x1F9, 0x1FA, 0x1FB},
521 38, 5190, 3460, 0x71, 0x02, 0x07, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
522 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, 0x89, 0xCC, 0x00, 0x0B,
523 0x0C, 0x89, 0x820, 0x81C, 0x818, 0x1F8, 0x1F9, 0x1FA},
525 40, 5200, 3467, 0x71, 0x02, 0x08, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
526 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, 0x89, 0xBB, 0x00, 0x0A,
527 0x0B, 0x89, 0x824, 0x820, 0x81C, 0x1F7, 0x1F8, 0x1F9},
529 42, 5210, 3473, 0x71, 0x02, 0x09, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
530 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, 0x89, 0xBB, 0x00, 0x0A,
531 0x0B, 0x89, 0x828, 0x824, 0x820, 0x1F6, 0x1F7, 0x1F8},
533 44, 5220, 3480, 0x71, 0x02, 0x0A, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
534 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, 0x88, 0xBB, 0x00, 0x09,
535 0x0A, 0x88, 0x82C, 0x828, 0x824, 0x1F5, 0x1F6, 0x1F7},
537 46, 5230, 3487, 0x71, 0x02, 0x0B, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
538 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, 0x88, 0xBB, 0x00, 0x09,
539 0x0A, 0x88, 0x830, 0x82C, 0x828, 0x1F4, 0x1F5, 0x1F6},
541 48, 5240, 3493, 0x71, 0x02, 0x0C, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
542 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, 0x87, 0xAA, 0x00, 0x09,
543 0x0A, 0x87, 0x834, 0x830, 0x82C, 0x1F3, 0x1F4, 0x1F5},
545 50, 5250, 3500, 0x71, 0x02, 0x0D, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
546 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, 0x87, 0xAA, 0x00, 0x09,
547 0x0A, 0x87, 0x838, 0x834, 0x830, 0x1F2, 0x1F3, 0x1F4},
549 52, 5260, 3507, 0x71, 0x02, 0x0E, 0x0A, 0x98, 0x01, 0x04, 0x0A,
550 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, 0x87, 0xAA, 0x00, 0x08,
551 0x09, 0x87, 0x83C, 0x838, 0x834, 0x1F1, 0x1F2, 0x1F3},
553 54, 5270, 3513, 0x71, 0x02, 0x0F, 0x0A, 0x98, 0x01, 0x04, 0x0A,
554 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, 0x87, 0xAA, 0x00, 0x08,
555 0x09, 0x87, 0x840, 0x83C, 0x838, 0x1F0, 0x1F1, 0x1F2},
557 56, 5280, 3520, 0x71, 0x02, 0x10, 0x09, 0x91, 0x01, 0x04, 0x0A,
558 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, 0x86, 0x99, 0x00, 0x08,
559 0x08, 0x86, 0x844, 0x840, 0x83C, 0x1F0, 0x1F0, 0x1F1},
561 58, 5290, 3527, 0x71, 0x02, 0x11, 0x09, 0x91, 0x01, 0x04, 0x0A,
562 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, 0x86, 0x99, 0x00, 0x08,
563 0x08, 0x86, 0x848, 0x844, 0x840, 0x1EF, 0x1F0, 0x1F0},
565 60, 5300, 3533, 0x71, 0x02, 0x12, 0x09, 0x8A, 0x01, 0x04, 0x0A,
566 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, 0x85, 0x99, 0x00, 0x08,
567 0x07, 0x85, 0x84C, 0x848, 0x844, 0x1EE, 0x1EF, 0x1F0},
569 62, 5310, 3540, 0x71, 0x02, 0x13, 0x09, 0x8A, 0x01, 0x04, 0x0A,
570 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, 0x85, 0x99, 0x00, 0x08,
571 0x07, 0x85, 0x850, 0x84C, 0x848, 0x1ED, 0x1EE, 0x1EF},
573 64, 5320, 3547, 0x71, 0x02, 0x14, 0x09, 0x83, 0x01, 0x04, 0x0A,
574 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, 0x84, 0x88, 0x00, 0x07,
575 0x07, 0x84, 0x854, 0x850, 0x84C, 0x1EC, 0x1ED, 0x1EE},
577 66, 5330, 3553, 0x71, 0x02, 0x15, 0x09, 0x83, 0x01, 0x04, 0x0A,
578 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, 0x84, 0x88, 0x00, 0x07,
579 0x07, 0x84, 0x858, 0x854, 0x850, 0x1EB, 0x1EC, 0x1ED},
581 68, 5340, 3560, 0x71, 0x02, 0x16, 0x08, 0x7C, 0x01, 0x04, 0x0A,
582 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, 0x84, 0x88, 0x00, 0x07,
583 0x06, 0x84, 0x85C, 0x858, 0x854, 0x1EA, 0x1EB, 0x1EC},
585 70, 5350, 3567, 0x71, 0x02, 0x17, 0x08, 0x7C, 0x01, 0x04, 0x0A,
586 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, 0x84, 0x88, 0x00, 0x07,
587 0x06, 0x84, 0x860, 0x85C, 0x858, 0x1E9, 0x1EA, 0x1EB},
589 72, 5360, 3573, 0x71, 0x02, 0x18, 0x08, 0x75, 0x01, 0x04, 0x0A,
590 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, 0x83, 0x77, 0x00, 0x06,
591 0x05, 0x83, 0x864, 0x860, 0x85C, 0x1E8, 0x1E9, 0x1EA},
593 74, 5370, 3580, 0x71, 0x02, 0x19, 0x08, 0x75, 0x01, 0x04, 0x0A,
594 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, 0x83, 0x77, 0x00, 0x06,
595 0x05, 0x83, 0x868, 0x864, 0x860, 0x1E7, 0x1E8, 0x1E9},
597 76, 5380, 3587, 0x71, 0x02, 0x1A, 0x08, 0x6E, 0x01, 0x04, 0x0A,
598 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, 0x82, 0x77, 0x00, 0x06,
599 0x04, 0x82, 0x86C, 0x868, 0x864, 0x1E6, 0x1E7, 0x1E8},
601 78, 5390, 3593, 0x71, 0x02, 0x1B, 0x08, 0x6E, 0x01, 0x04, 0x0A,
602 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, 0x82, 0x77, 0x00, 0x06,
603 0x04, 0x82, 0x870, 0x86C, 0x868, 0x1E5, 0x1E6, 0x1E7},
605 80, 5400, 3600, 0x71, 0x02, 0x1C, 0x07, 0x67, 0x01, 0x04, 0x0A,
606 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, 0x81, 0x66, 0x00, 0x05,
607 0x04, 0x81, 0x874, 0x870, 0x86C, 0x1E5, 0x1E5, 0x1E6},
609 82, 5410, 3607, 0x71, 0x02, 0x1D, 0x07, 0x67, 0x01, 0x04, 0x0A,
610 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, 0x81, 0x66, 0x00, 0x05,
611 0x04, 0x81, 0x878, 0x874, 0x870, 0x1E4, 0x1E5, 0x1E5},
613 84, 5420, 3613, 0x71, 0x02, 0x1E, 0x07, 0x61, 0x01, 0x04, 0x0A,
614 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, 0x80, 0x66, 0x00, 0x05,
615 0x03, 0x80, 0x87C, 0x878, 0x874, 0x1E3, 0x1E4, 0x1E5},
617 86, 5430, 3620, 0x71, 0x02, 0x1F, 0x07, 0x61, 0x01, 0x04, 0x0A,
618 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, 0x80, 0x66, 0x00, 0x05,
619 0x03, 0x80, 0x880, 0x87C, 0x878, 0x1E2, 0x1E3, 0x1E4},
621 88, 5440, 3627, 0x71, 0x02, 0x20, 0x07, 0x5A, 0x01, 0x04, 0x0A,
622 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, 0x80, 0x55, 0x00, 0x04,
623 0x02, 0x80, 0x884, 0x880, 0x87C, 0x1E1, 0x1E2, 0x1E3},
625 90, 5450, 3633, 0x71, 0x02, 0x21, 0x07, 0x5A, 0x01, 0x04, 0x0A,
626 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, 0x80, 0x55, 0x00, 0x04,
627 0x02, 0x80, 0x888, 0x884, 0x880, 0x1E0, 0x1E1, 0x1E2},
629 92, 5460, 3640, 0x71, 0x02, 0x22, 0x06, 0x53, 0x01, 0x04, 0x0A,
630 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, 0x80, 0x55, 0x00, 0x04,
631 0x01, 0x80, 0x88C, 0x888, 0x884, 0x1DF, 0x1E0, 0x1E1},
633 94, 5470, 3647, 0x71, 0x02, 0x23, 0x06, 0x53, 0x01, 0x04, 0x0A,
634 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, 0x80, 0x55, 0x00, 0x04,
635 0x01, 0x80, 0x890, 0x88C, 0x888, 0x1DE, 0x1DF, 0x1E0},
637 96, 5480, 3653, 0x71, 0x02, 0x24, 0x06, 0x4D, 0x01, 0x04, 0x0A,
638 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
639 0x00, 0x80, 0x894, 0x890, 0x88C, 0x1DD, 0x1DE, 0x1DF},
641 98, 5490, 3660, 0x71, 0x02, 0x25, 0x06, 0x4D, 0x01, 0x04, 0x0A,
642 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
643 0x00, 0x80, 0x898, 0x894, 0x890, 0x1DD, 0x1DD, 0x1DE},
645 100, 5500, 3667, 0x71, 0x02, 0x26, 0x06, 0x47, 0x01, 0x04, 0x0A,
646 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
647 0x00, 0x80, 0x89C, 0x898, 0x894, 0x1DC, 0x1DD, 0x1DD},
649 102, 5510, 3673, 0x71, 0x02, 0x27, 0x06, 0x47, 0x01, 0x04, 0x0A,
650 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
651 0x00, 0x80, 0x8A0, 0x89C, 0x898, 0x1DB, 0x1DC, 0x1DD},
653 104, 5520, 3680, 0x71, 0x02, 0x28, 0x05, 0x40, 0x01, 0x04, 0x0A,
654 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
655 0x00, 0x80, 0x8A4, 0x8A0, 0x89C, 0x1DA, 0x1DB, 0x1DC},
657 106, 5530, 3687, 0x71, 0x02, 0x29, 0x05, 0x40, 0x01, 0x04, 0x0A,
658 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
659 0x00, 0x80, 0x8A8, 0x8A4, 0x8A0, 0x1D9, 0x1DA, 0x1DB},
661 108, 5540, 3693, 0x71, 0x02, 0x2A, 0x05, 0x3A, 0x01, 0x04, 0x0A,
662 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
663 0x00, 0x80, 0x8AC, 0x8A8, 0x8A4, 0x1D8, 0x1D9, 0x1DA},
665 110, 5550, 3700, 0x71, 0x02, 0x2B, 0x05, 0x3A, 0x01, 0x04, 0x0A,
666 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
667 0x00, 0x80, 0x8B0, 0x8AC, 0x8A8, 0x1D7, 0x1D8, 0x1D9},
669 112, 5560, 3707, 0x71, 0x02, 0x2C, 0x05, 0x34, 0x01, 0x04, 0x0A,
670 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
671 0x00, 0x80, 0x8B4, 0x8B0, 0x8AC, 0x1D7, 0x1D7, 0x1D8},
673 114, 5570, 3713, 0x71, 0x02, 0x2D, 0x05, 0x34, 0x01, 0x04, 0x0A,
674 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
675 0x00, 0x80, 0x8B8, 0x8B4, 0x8B0, 0x1D6, 0x1D7, 0x1D7},
677 116, 5580, 3720, 0x71, 0x02, 0x2E, 0x04, 0x2E, 0x01, 0x04, 0x0A,
678 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
679 0x00, 0x80, 0x8BC, 0x8B8, 0x8B4, 0x1D5, 0x1D6, 0x1D7},
681 118, 5590, 3727, 0x71, 0x02, 0x2F, 0x04, 0x2E, 0x01, 0x04, 0x0A,
682 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
683 0x00, 0x80, 0x8C0, 0x8BC, 0x8B8, 0x1D4, 0x1D5, 0x1D6},
685 120, 5600, 3733, 0x71, 0x02, 0x30, 0x04, 0x28, 0x01, 0x04, 0x0A,
686 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x80, 0x11, 0x00, 0x01,
687 0x00, 0x80, 0x8C4, 0x8C0, 0x8BC, 0x1D3, 0x1D4, 0x1D5},
689 122, 5610, 3740, 0x71, 0x02, 0x31, 0x04, 0x28, 0x01, 0x04, 0x0A,
690 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x80, 0x11, 0x00, 0x01,
691 0x00, 0x80, 0x8C8, 0x8C4, 0x8C0, 0x1D2, 0x1D3, 0x1D4},
693 124, 5620, 3747, 0x71, 0x02, 0x32, 0x04, 0x21, 0x01, 0x04, 0x0A,
694 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00,
695 0x00, 0x80, 0x8CC, 0x8C8, 0x8C4, 0x1D2, 0x1D2, 0x1D3},
697 126, 5630, 3753, 0x71, 0x02, 0x33, 0x04, 0x21, 0x01, 0x04, 0x0A,
698 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00,
699 0x00, 0x80, 0x8D0, 0x8CC, 0x8C8, 0x1D1, 0x1D2, 0x1D2},
701 128, 5640, 3760, 0x71, 0x02, 0x34, 0x03, 0x1C, 0x01, 0x04, 0x0A,
702 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
703 0x00, 0x80, 0x8D4, 0x8D0, 0x8CC, 0x1D0, 0x1D1, 0x1D2},
705 130, 5650, 3767, 0x71, 0x02, 0x35, 0x03, 0x1C, 0x01, 0x04, 0x0A,
706 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
707 0x00, 0x80, 0x8D8, 0x8D4, 0x8D0, 0x1CF, 0x1D0, 0x1D1},
709 132, 5660, 3773, 0x71, 0x02, 0x36, 0x03, 0x16, 0x01, 0x04, 0x0A,
710 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
711 0x00, 0x80, 0x8DC, 0x8D8, 0x8D4, 0x1CE, 0x1CF, 0x1D0},
713 134, 5670, 3780, 0x71, 0x02, 0x37, 0x03, 0x16, 0x01, 0x04, 0x0A,
714 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
715 0x00, 0x80, 0x8E0, 0x8DC, 0x8D8, 0x1CE, 0x1CE, 0x1CF},
717 136, 5680, 3787, 0x71, 0x02, 0x38, 0x03, 0x10, 0x01, 0x04, 0x0A,
718 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
719 0x00, 0x80, 0x8E4, 0x8E0, 0x8DC, 0x1CD, 0x1CE, 0x1CE},
721 138, 5690, 3793, 0x71, 0x02, 0x39, 0x03, 0x10, 0x01, 0x04, 0x0A,
722 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
723 0x00, 0x80, 0x8E8, 0x8E4, 0x8E0, 0x1CC, 0x1CD, 0x1CE},
725 140, 5700, 3800, 0x71, 0x02, 0x3A, 0x02, 0x0A, 0x01, 0x04, 0x0A,
726 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
727 0x00, 0x80, 0x8EC, 0x8E8, 0x8E4, 0x1CB, 0x1CC, 0x1CD},
729 142, 5710, 3807, 0x71, 0x02, 0x3B, 0x02, 0x0A, 0x01, 0x04, 0x0A,
730 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
731 0x00, 0x80, 0x8F0, 0x8EC, 0x8E8, 0x1CA, 0x1CB, 0x1CC},
733 144, 5720, 3813, 0x71, 0x02, 0x3C, 0x02, 0x0A, 0x01, 0x04, 0x0A,
734 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
735 0x00, 0x80, 0x8F4, 0x8F0, 0x8EC, 0x1C9, 0x1CA, 0x1CB},
737 145, 5725, 3817, 0x72, 0x04, 0x79, 0x02, 0x03, 0x01, 0x03, 0x14,
738 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
739 0x00, 0x80, 0x8F6, 0x8F2, 0x8EE, 0x1C9, 0x1CA, 0x1CB},
741 146, 5730, 3820, 0x71, 0x02, 0x3D, 0x02, 0x0A, 0x01, 0x04, 0x0A,
742 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
743 0x00, 0x80, 0x8F8, 0x8F4, 0x8F0, 0x1C9, 0x1C9, 0x1CA},
745 147, 5735, 3823, 0x72, 0x04, 0x7B, 0x02, 0x03, 0x01, 0x03, 0x14,
746 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
747 0x00, 0x80, 0x8FA, 0x8F6, 0x8F2, 0x1C8, 0x1C9, 0x1CA},
749 148, 5740, 3827, 0x71, 0x02, 0x3E, 0x02, 0x0A, 0x01, 0x04, 0x0A,
750 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
751 0x00, 0x80, 0x8FC, 0x8F8, 0x8F4, 0x1C8, 0x1C9, 0x1C9},
753 149, 5745, 3830, 0x72, 0x04, 0x7D, 0x02, 0xFE, 0x00, 0x03, 0x14,
754 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
755 0x00, 0x80, 0x8FE, 0x8FA, 0x8F6, 0x1C8, 0x1C8, 0x1C9},
757 150, 5750, 3833, 0x71, 0x02, 0x3F, 0x02, 0x0A, 0x01, 0x04, 0x0A,
758 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
759 0x00, 0x80, 0x900, 0x8FC, 0x8F8, 0x1C7, 0x1C8, 0x1C9},
761 151, 5755, 3837, 0x72, 0x04, 0x7F, 0x02, 0xFE, 0x00, 0x03, 0x14,
762 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
763 0x00, 0x80, 0x902, 0x8FE, 0x8FA, 0x1C7, 0x1C8, 0x1C8},
765 152, 5760, 3840, 0x71, 0x02, 0x40, 0x02, 0x0A, 0x01, 0x04, 0x0A,
766 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
767 0x00, 0x80, 0x904, 0x900, 0x8FC, 0x1C6, 0x1C7, 0x1C8},
769 153, 5765, 3843, 0x72, 0x04, 0x81, 0x02, 0xF8, 0x00, 0x03, 0x14,
770 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
771 0x00, 0x80, 0x906, 0x902, 0x8FE, 0x1C6, 0x1C7, 0x1C8},
773 154, 5770, 3847, 0x71, 0x02, 0x41, 0x02, 0x0A, 0x01, 0x04, 0x0A,
774 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
775 0x00, 0x80, 0x908, 0x904, 0x900, 0x1C6, 0x1C6, 0x1C7},
777 155, 5775, 3850, 0x72, 0x04, 0x83, 0x02, 0xF8, 0x00, 0x03, 0x14,
778 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
779 0x00, 0x80, 0x90A, 0x906, 0x902, 0x1C5, 0x1C6, 0x1C7},
781 156, 5780, 3853, 0x71, 0x02, 0x42, 0x02, 0x0A, 0x01, 0x04, 0x0A,
782 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
783 0x00, 0x80, 0x90C, 0x908, 0x904, 0x1C5, 0x1C6, 0x1C6},
785 157, 5785, 3857, 0x72, 0x04, 0x85, 0x02, 0xF2, 0x00, 0x03, 0x14,
786 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
787 0x00, 0x80, 0x90E, 0x90A, 0x906, 0x1C4, 0x1C5, 0x1C6},
789 158, 5790, 3860, 0x71, 0x02, 0x43, 0x02, 0x0A, 0x01, 0x04, 0x0A,
790 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
791 0x00, 0x80, 0x910, 0x90C, 0x908, 0x1C4, 0x1C5, 0x1C6},
793 159, 5795, 3863, 0x72, 0x04, 0x87, 0x02, 0xF2, 0x00, 0x03, 0x14,
794 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
795 0x00, 0x80, 0x912, 0x90E, 0x90A, 0x1C4, 0x1C4, 0x1C5},
797 160, 5800, 3867, 0x71, 0x02, 0x44, 0x01, 0x0A, 0x01, 0x04, 0x0A,
798 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
799 0x00, 0x80, 0x914, 0x910, 0x90C, 0x1C3, 0x1C4, 0x1C5},
801 161, 5805, 3870, 0x72, 0x04, 0x89, 0x01, 0xED, 0x00, 0x03, 0x14,
802 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
803 0x00, 0x80, 0x916, 0x912, 0x90E, 0x1C3, 0x1C4, 0x1C4},
805 162, 5810, 3873, 0x71, 0x02, 0x45, 0x01, 0x0A, 0x01, 0x04, 0x0A,
806 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
807 0x00, 0x80, 0x918, 0x914, 0x910, 0x1C2, 0x1C3, 0x1C4},
809 163, 5815, 3877, 0x72, 0x04, 0x8B, 0x01, 0xED, 0x00, 0x03, 0x14,
810 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
811 0x00, 0x80, 0x91A, 0x916, 0x912, 0x1C2, 0x1C3, 0x1C4},
813 164, 5820, 3880, 0x71, 0x02, 0x46, 0x01, 0x0A, 0x01, 0x04, 0x0A,
814 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
815 0x00, 0x80, 0x91C, 0x918, 0x914, 0x1C2, 0x1C2, 0x1C3},
817 165, 5825, 3883, 0x72, 0x04, 0x8D, 0x01, 0xED, 0x00, 0x03, 0x14,
818 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
819 0x00, 0x80, 0x91E, 0x91A, 0x916, 0x1C1, 0x1C2, 0x1C3},
821 166, 5830, 3887, 0x71, 0x02, 0x47, 0x01, 0x0A, 0x01, 0x04, 0x0A,
822 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
823 0x00, 0x80, 0x920, 0x91C, 0x918, 0x1C1, 0x1C2, 0x1C2},
825 168, 5840, 3893, 0x71, 0x02, 0x48, 0x01, 0x0A, 0x01, 0x04, 0x0A,
826 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
827 0x00, 0x80, 0x924, 0x920, 0x91C, 0x1C0, 0x1C1, 0x1C2},
829 170, 5850, 3900, 0x71, 0x02, 0x49, 0x01, 0xE0, 0x00, 0x04, 0x0A,
830 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
831 0x00, 0x80, 0x928, 0x924, 0x920, 0x1BF, 0x1C0, 0x1C1},
833 172, 5860, 3907, 0x71, 0x02, 0x4A, 0x01, 0xDE, 0x00, 0x04, 0x0A,
834 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
835 0x00, 0x80, 0x92C, 0x928, 0x924, 0x1BF, 0x1BF, 0x1C0},
837 174, 5870, 3913, 0x71, 0x02, 0x4B, 0x00, 0xDB, 0x00, 0x04, 0x0A,
838 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
839 0x00, 0x80, 0x930, 0x92C, 0x928, 0x1BE, 0x1BF, 0x1BF},
841 176, 5880, 3920, 0x71, 0x02, 0x4C, 0x00, 0xD8, 0x00, 0x04, 0x0A,
842 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
843 0x00, 0x80, 0x934, 0x930, 0x92C, 0x1BD, 0x1BE, 0x1BF},
845 178, 5890, 3927, 0x71, 0x02, 0x4D, 0x00, 0xD6, 0x00, 0x04, 0x0A,
846 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
847 0x00, 0x80, 0x938, 0x934, 0x930, 0x1BC, 0x1BD, 0x1BE},
849 180, 5900, 3933, 0x71, 0x02, 0x4E, 0x00, 0xD3, 0x00, 0x04, 0x0A,
850 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
851 0x00, 0x80, 0x93C, 0x938, 0x934, 0x1BC, 0x1BC, 0x1BD},
853 182, 5910, 3940, 0x71, 0x02, 0x4F, 0x00, 0xD6, 0x00, 0x04, 0x0A,
854 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
855 0x00, 0x80, 0x940, 0x93C, 0x938, 0x1BB, 0x1BC, 0x1BC},
857 1, 2412, 3216, 0x73, 0x09, 0x6C, 0x0F, 0x00, 0x01, 0x07, 0x15,
858 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0D, 0x0C, 0x80, 0xFF, 0x88, 0x0D,
859 0x0C, 0x80, 0x3C9, 0x3C5, 0x3C1, 0x43A, 0x43F, 0x443},
861 2, 2417, 3223, 0x73, 0x09, 0x71, 0x0F, 0x00, 0x01, 0x07, 0x15,
862 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0B, 0x80, 0xFF, 0x88, 0x0C,
863 0x0B, 0x80, 0x3CB, 0x3C7, 0x3C3, 0x438, 0x43D, 0x441},
865 3, 2422, 3229, 0x73, 0x09, 0x76, 0x0F, 0x00, 0x01, 0x07, 0x15,
866 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, 0x80, 0xFF, 0x88, 0x0C,
867 0x0A, 0x80, 0x3CD, 0x3C9, 0x3C5, 0x436, 0x43A, 0x43F},
869 4, 2427, 3236, 0x73, 0x09, 0x7B, 0x0F, 0x00, 0x01, 0x07, 0x15,
870 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, 0x80, 0xFF, 0x88, 0x0C,
871 0x0A, 0x80, 0x3CF, 0x3CB, 0x3C7, 0x434, 0x438, 0x43D},
873 5, 2432, 3243, 0x73, 0x09, 0x80, 0x0F, 0x00, 0x01, 0x07, 0x15,
874 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x09, 0x80, 0xFF, 0x88, 0x0C,
875 0x09, 0x80, 0x3D1, 0x3CD, 0x3C9, 0x431, 0x436, 0x43A},
877 6, 2437, 3249, 0x73, 0x09, 0x85, 0x0F, 0x00, 0x01, 0x07, 0x15,
878 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0B, 0x08, 0x80, 0xFF, 0x88, 0x0B,
879 0x08, 0x80, 0x3D3, 0x3CF, 0x3CB, 0x42F, 0x434, 0x438},
881 7, 2442, 3256, 0x73, 0x09, 0x8A, 0x0F, 0x00, 0x01, 0x07, 0x15,
882 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x07, 0x80, 0xFF, 0x88, 0x0A,
883 0x07, 0x80, 0x3D5, 0x3D1, 0x3CD, 0x42D, 0x431, 0x436},
885 8, 2447, 3263, 0x73, 0x09, 0x8F, 0x0F, 0x00, 0x01, 0x07, 0x15,
886 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x06, 0x80, 0xFF, 0x88, 0x0A,
887 0x06, 0x80, 0x3D7, 0x3D3, 0x3CF, 0x42B, 0x42F, 0x434},
889 9, 2452, 3269, 0x73, 0x09, 0x94, 0x0F, 0x00, 0x01, 0x07, 0x15,
890 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x09, 0x06, 0x80, 0xFF, 0x88, 0x09,
891 0x06, 0x80, 0x3D9, 0x3D5, 0x3D1, 0x429, 0x42D, 0x431},
893 10, 2457, 3276, 0x73, 0x09, 0x99, 0x0F, 0x00, 0x01, 0x07, 0x15,
894 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x05, 0x80, 0xFF, 0x88, 0x08,
895 0x05, 0x80, 0x3DB, 0x3D7, 0x3D3, 0x427, 0x42B, 0x42F},
897 11, 2462, 3283, 0x73, 0x09, 0x9E, 0x0F, 0x00, 0x01, 0x07, 0x15,
898 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x04, 0x80, 0xFF, 0x88, 0x08,
899 0x04, 0x80, 0x3DD, 0x3D9, 0x3D5, 0x424, 0x429, 0x42D},
901 12, 2467, 3289, 0x73, 0x09, 0xA3, 0x0F, 0x00, 0x01, 0x07, 0x15,
902 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x03, 0x80, 0xFF, 0x88, 0x08,
903 0x03, 0x80, 0x3DF, 0x3DB, 0x3D7, 0x422, 0x427, 0x42B},
905 13, 2472, 3296, 0x73, 0x09, 0xA8, 0x0F, 0x00, 0x01, 0x07, 0x15,
906 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x03, 0x80, 0xFF, 0x88, 0x07,
907 0x03, 0x80, 0x3E1, 0x3DD, 0x3D9, 0x420, 0x424, 0x429},
909 14, 2484, 3312, 0x73, 0x09, 0xB4, 0x0F, 0xFF, 0x01, 0x07, 0x15,
910 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x01, 0x80, 0xFF, 0x88, 0x07,
911 0x01, 0x80, 0x3E6, 0x3E2, 0x3DE, 0x41B, 0x41F, 0x424}
914 static chan_info_nphy_radio205x_t chan_info_nphyrev3_2056[] = {
916 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
917 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
918 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
919 0x00, 0xff, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
921 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
922 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
923 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
924 0x00, 0xff, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
926 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
927 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
928 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
929 0x00, 0xff, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
931 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
932 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
933 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
934 0x00, 0xff, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
936 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
937 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
938 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
939 0x00, 0xff, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
941 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
942 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
943 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
944 0x00, 0xff, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
946 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
947 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
948 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
949 0x00, 0xff, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
951 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
952 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
953 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
954 0x00, 0xff, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
956 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
957 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
958 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
959 0x00, 0xff, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
961 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
962 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
963 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
964 0x00, 0xff, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
966 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
967 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
968 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
969 0x00, 0xff, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
971 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
972 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
973 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
974 0x00, 0xff, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
976 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
977 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
978 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
979 0x00, 0xff, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
981 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
982 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
983 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
984 0x00, 0xff, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
986 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
987 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
988 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
989 0x00, 0xff, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
991 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
992 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
993 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
994 0x00, 0xff, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
996 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
997 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
998 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
999 0x00, 0xff, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
1001 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
1002 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1003 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1004 0x00, 0xff, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
1006 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
1007 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1008 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1009 0x00, 0xff, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
1011 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
1012 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1013 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1014 0x00, 0xfc, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
1016 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
1017 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1018 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1019 0x00, 0xfc, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
1021 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
1022 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1023 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1024 0x00, 0xfc, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
1026 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
1027 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1028 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1029 0x00, 0xfc, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
1031 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
1032 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1033 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1034 0x00, 0xfc, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
1036 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
1037 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1038 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1039 0x00, 0xfc, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
1041 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
1042 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x07, 0x00, 0x7f,
1043 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1044 0x00, 0xfc, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
1046 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
1047 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x07, 0x00, 0x7f,
1048 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1049 0x00, 0xfc, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
1051 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
1052 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x06, 0x00, 0x7f,
1053 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1054 0x00, 0xfc, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
1056 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
1057 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1058 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1059 0x00, 0xfc, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
1061 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1062 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1063 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1064 0x00, 0xfc, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
1066 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1067 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1068 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1069 0x00, 0xfc, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
1071 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1072 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1073 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1074 0x00, 0xfc, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
1076 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1077 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1078 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1079 0x00, 0xfc, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
1081 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1082 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1083 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1084 0x00, 0xfc, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
1086 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1087 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1088 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1089 0x00, 0xfc, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
1091 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
1092 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x06, 0x00, 0x7f,
1093 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1094 0x00, 0xfc, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
1096 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
1097 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x06, 0x00, 0x7f,
1098 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1099 0x00, 0xfc, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
1101 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
1102 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1103 0x00, 0x09, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1104 0x00, 0xfc, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
1106 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
1107 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1108 0x00, 0x09, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1109 0x00, 0xfa, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
1111 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
1112 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1113 0x00, 0x09, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1114 0x00, 0xfa, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
1116 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
1117 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x05, 0x00, 0x7f,
1118 0x00, 0x09, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1119 0x00, 0xfa, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
1121 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
1122 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x05, 0x00, 0x7f,
1123 0x00, 0x09, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1124 0x00, 0xfa, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
1126 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
1127 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1128 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1129 0x00, 0xfa, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
1131 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
1132 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1133 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1134 0x00, 0xfa, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
1136 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
1137 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1138 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1139 0x00, 0xfa, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
1141 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1142 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1143 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1144 0x00, 0xfa, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
1146 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1147 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x8f, 0x00, 0x05, 0x00, 0x7f,
1148 0x00, 0x09, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1149 0x00, 0xfa, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
1151 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1152 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x04, 0x00, 0x7f,
1153 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1154 0x00, 0xfa, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
1156 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1157 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x04, 0x00, 0x7f,
1158 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1159 0x00, 0xfa, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
1161 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1162 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x04, 0x00, 0x7f,
1163 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1164 0x00, 0xfa, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
1166 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1167 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x04, 0x00, 0x7f,
1168 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1169 0x00, 0xfa, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
1171 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
1172 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7e, 0x00, 0x04, 0x00, 0x7f,
1173 0x00, 0x08, 0x00, 0xfa, 0x00, 0x7e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1174 0x00, 0xfa, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
1176 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
1177 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7d, 0x00, 0x04, 0x00, 0x7f,
1178 0x00, 0x08, 0x00, 0xfa, 0x00, 0x7d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1179 0x00, 0xfa, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
1181 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
1182 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x04, 0x00, 0x7f,
1183 0x00, 0x08, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1184 0x00, 0xf8, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
1186 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
1187 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x04, 0x00, 0x7f,
1188 0x00, 0x08, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1189 0x00, 0xf8, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
1191 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
1192 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5d, 0x00, 0x04, 0x00, 0x7f,
1193 0x00, 0x08, 0x00, 0xf8, 0x00, 0x5d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1194 0x00, 0xf8, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
1196 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
1197 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5c, 0x00, 0x04, 0x00, 0x7f,
1198 0x00, 0x08, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1199 0x00, 0xf8, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
1201 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
1202 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x5c, 0x00, 0x03, 0x00, 0x7f,
1203 0x00, 0x07, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1204 0x00, 0xf8, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
1206 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
1207 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x03, 0x00, 0x7f,
1208 0x00, 0x07, 0x00, 0xf8, 0x00, 0x4c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1209 0x00, 0xf8, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
1211 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
1212 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x03, 0x00, 0x7f,
1213 0x00, 0x07, 0x00, 0xf8, 0x00, 0x4c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1214 0x00, 0xf8, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
1216 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
1217 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1218 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1219 0x00, 0xf8, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
1221 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1222 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1223 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1224 0x00, 0xf8, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
1226 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1227 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1228 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1229 0x00, 0xf8, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
1231 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1232 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2b, 0x00, 0x03, 0x00, 0x7f,
1233 0x00, 0x07, 0x00, 0xf8, 0x00, 0x2b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1234 0x00, 0xf8, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
1236 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1237 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2a, 0x00, 0x03, 0x00, 0x7f,
1238 0x00, 0x07, 0x00, 0xf8, 0x00, 0x2a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1239 0x00, 0xf8, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
1241 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1242 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1243 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1244 0x00, 0xf8, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
1246 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1247 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1248 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1249 0x00, 0xf8, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
1251 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
1252 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1253 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1254 0x00, 0xf8, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
1256 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
1257 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x03, 0x00, 0x7f,
1258 0x00, 0x07, 0x00, 0xf8, 0x00, 0x19, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1259 0x00, 0xf8, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
1261 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
1262 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x03, 0x00, 0x7f,
1263 0x00, 0x07, 0x00, 0xf8, 0x00, 0x19, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1264 0x00, 0xf8, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
1266 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
1267 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x03, 0x00, 0x7f,
1268 0x00, 0x07, 0x00, 0xf8, 0x00, 0x09, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1269 0x00, 0xf8, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
1271 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
1272 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x03, 0x00, 0x7f,
1273 0x00, 0x07, 0x00, 0xf8, 0x00, 0x09, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1274 0x00, 0xf8, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
1276 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
1277 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1278 0x00, 0x07, 0x00, 0xf8, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1279 0x00, 0xf8, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
1281 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
1282 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1283 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1284 0x00, 0xf6, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
1286 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
1287 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1288 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1289 0x00, 0xf6, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
1291 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
1292 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1293 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1294 0x00, 0xf6, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
1296 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
1297 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x07, 0x00, 0x03, 0x00, 0x7f,
1298 0x00, 0x07, 0x00, 0xf6, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1299 0x00, 0xf6, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
1301 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1302 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1303 0x00, 0x06, 0x00, 0xf6, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1304 0x00, 0xf6, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
1306 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1307 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1308 0x00, 0x06, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1309 0x00, 0xf4, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
1311 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1312 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1313 0x00, 0x06, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1314 0x00, 0xf4, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
1316 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
1317 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1318 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1319 0x00, 0xf4, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
1321 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1322 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1323 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1324 0x00, 0xf4, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
1326 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
1327 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1328 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1329 0x00, 0xf4, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
1331 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1332 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1333 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1334 0x00, 0xf4, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
1336 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
1337 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1338 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1339 0x00, 0xf4, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
1341 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1342 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1343 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1344 0x00, 0xf4, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
1346 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
1347 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1348 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1349 0x00, 0xf4, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
1351 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
1352 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1353 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1354 0x00, 0xf4, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
1356 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
1357 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1358 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1359 0x00, 0xf4, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
1361 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
1362 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1363 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1364 0x00, 0xf4, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
1366 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
1367 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1368 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1369 0x00, 0xf4, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
1371 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
1372 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1373 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1374 0x00, 0xf4, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
1376 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
1377 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1378 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1379 0x00, 0xf4, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
1381 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
1382 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1383 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1384 0x00, 0xf4, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
1386 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
1387 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1388 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1389 0x00, 0xf4, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
1391 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
1392 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1393 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1394 0x00, 0xf4, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
1396 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
1397 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1398 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1399 0x00, 0xf4, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
1401 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
1402 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1403 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1404 0x00, 0xf4, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
1406 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
1407 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1408 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1409 0x00, 0xf4, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
1411 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
1412 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1413 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1414 0x00, 0xf4, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
1416 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
1417 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1418 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1419 0x00, 0xf4, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
1421 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
1422 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1423 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1424 0x00, 0xf4, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
1426 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
1427 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1428 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1429 0x00, 0xf4, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
1431 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
1432 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1433 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1434 0x00, 0xf4, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
1436 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1437 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1438 0x00, 0x06, 0x00, 0xf2, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1439 0x00, 0xf2, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
1441 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1442 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1443 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1444 0x00, 0xf2, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
1446 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1447 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1448 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1449 0x00, 0xf2, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
1451 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1452 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1453 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1454 0x00, 0xf2, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
1456 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1457 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f,
1458 0x00, 0x05, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x05,
1459 0x00, 0xf2, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
1461 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1462 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f,
1463 0x00, 0x05, 0x00, 0xf2, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x05,
1464 0x00, 0xf2, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
1466 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
1467 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1468 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1469 0x0f, 0x00, 0x0f, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
1471 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
1472 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1473 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1474 0x0f, 0x00, 0x0f, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
1476 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
1477 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1478 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1479 0x0f, 0x00, 0x0f, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
1481 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
1482 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x05, 0x00,
1483 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfd, 0x00, 0x05, 0x00, 0x70, 0x00,
1484 0x0f, 0x00, 0x0f, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
1486 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
1487 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x05, 0x00,
1488 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfb, 0x00, 0x05, 0x00, 0x70, 0x00,
1489 0x0f, 0x00, 0x0f, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
1491 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
1492 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x05, 0x00,
1493 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x05, 0x00, 0x70, 0x00,
1494 0x0f, 0x00, 0x0f, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
1496 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
1497 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x05, 0x00,
1498 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x05, 0x00, 0x70, 0x00,
1499 0x0f, 0x00, 0x0f, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
1501 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
1502 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x05, 0x00,
1503 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf7, 0x00, 0x05, 0x00, 0x70, 0x00,
1504 0x0f, 0x00, 0x0f, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
1506 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
1507 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x05, 0x00,
1508 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf6, 0x00, 0x05, 0x00, 0x70, 0x00,
1509 0x0f, 0x00, 0x0f, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
1511 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
1512 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x05, 0x00,
1513 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf5, 0x00, 0x05, 0x00, 0x70, 0x00,
1514 0x0f, 0x00, 0x0d, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
1516 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
1517 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x05, 0x00,
1518 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x70, 0x00,
1519 0x0f, 0x00, 0x0d, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
1521 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
1522 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x05, 0x00,
1523 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf3, 0x00, 0x05, 0x00, 0x70, 0x00,
1524 0x0f, 0x00, 0x0d, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
1526 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
1527 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x05, 0x00,
1528 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x70, 0x00,
1529 0x0f, 0x00, 0x0d, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
1531 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
1532 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x05, 0x00,
1533 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf0, 0x00, 0x05, 0x00, 0x70, 0x00,
1534 0x0f, 0x00, 0x0d, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
1537 static chan_info_nphy_radio205x_t chan_info_nphyrev4_2056_A1[] = {
1539 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
1540 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1541 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1542 0x00, 0xff, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
1544 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
1545 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1546 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1547 0x00, 0xff, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
1549 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
1550 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1551 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1552 0x00, 0xff, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
1554 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
1555 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1556 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1557 0x00, 0xff, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
1559 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
1560 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1561 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1562 0x00, 0xff, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
1564 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
1565 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1566 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1567 0x00, 0xff, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
1569 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
1570 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1571 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1572 0x00, 0xff, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
1574 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
1575 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1576 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1577 0x00, 0xff, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
1579 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
1580 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1581 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1582 0x00, 0xff, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
1584 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
1585 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1586 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1587 0x00, 0xff, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
1589 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
1590 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1591 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1592 0x00, 0xff, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
1594 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
1595 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1596 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1597 0x00, 0xff, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
1599 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
1600 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1601 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1602 0x00, 0xff, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
1604 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
1605 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1606 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1607 0x00, 0xff, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
1609 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
1610 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1611 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1612 0x00, 0xff, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
1614 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
1615 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1616 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1617 0x00, 0xff, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
1619 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
1620 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1621 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1622 0x00, 0xff, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
1624 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
1625 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1626 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1627 0x00, 0xff, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
1629 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
1630 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1631 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1632 0x00, 0xfe, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
1634 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
1635 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1636 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1637 0x00, 0xfe, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
1639 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
1640 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1641 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1642 0x00, 0xfe, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
1644 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
1645 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1646 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1647 0x00, 0xfe, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
1649 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
1650 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1651 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1652 0x00, 0xfe, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
1654 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
1655 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1656 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1657 0x00, 0xfe, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
1659 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
1660 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1661 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1662 0x00, 0xfe, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
1664 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
1665 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0c, 0x00, 0x7f,
1666 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xef, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1667 0x00, 0xfe, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
1669 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
1670 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0c, 0x00, 0x7f,
1671 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xef, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1672 0x00, 0xfe, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
1674 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
1675 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0a, 0x00, 0x7f,
1676 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1677 0x00, 0xfc, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
1679 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
1680 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1681 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1682 0x00, 0xfc, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
1684 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1685 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1686 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1687 0x00, 0xfc, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
1689 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1690 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1691 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1692 0x00, 0xfc, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
1694 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1695 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1696 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1697 0x00, 0xfc, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
1699 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1700 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1701 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1702 0x00, 0xfc, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
1704 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1705 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1706 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1707 0x00, 0xfc, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
1709 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1710 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1711 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1712 0x00, 0xfc, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
1714 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
1715 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x0a, 0x00, 0x7f,
1716 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1717 0x00, 0xfc, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
1719 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
1720 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x0a, 0x00, 0x7f,
1721 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1722 0x00, 0xfc, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
1724 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
1725 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1726 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1727 0x00, 0xfa, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
1729 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
1730 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1731 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1732 0x00, 0xfa, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
1734 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
1735 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1736 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1737 0x00, 0xfa, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
1739 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
1740 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x08, 0x00, 0x7f,
1741 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1742 0x00, 0xfa, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
1744 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
1745 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x08, 0x00, 0x7f,
1746 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1747 0x00, 0xfa, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
1749 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
1750 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1751 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1752 0x00, 0xfa, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
1754 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
1755 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1756 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1757 0x00, 0xfa, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
1759 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
1760 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1761 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1762 0x00, 0xfa, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
1764 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1765 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1766 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1767 0x00, 0xfa, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
1769 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1770 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x8f, 0x00, 0x08, 0x00, 0x7f,
1771 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1772 0x00, 0xfa, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
1774 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1775 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x07, 0x00, 0x7f,
1776 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8f, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1777 0x00, 0xf8, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
1779 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1780 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x07, 0x00, 0x7f,
1781 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8f, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1782 0x00, 0xf8, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
1784 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1785 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x07, 0x00, 0x7f,
1786 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1787 0x00, 0xf8, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
1789 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1790 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x07, 0x00, 0x7f,
1791 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1792 0x00, 0xf8, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
1794 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
1795 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7e, 0x00, 0x07, 0x00, 0x7f,
1796 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x7e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1797 0x00, 0xf8, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
1799 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
1800 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7d, 0x00, 0x07, 0x00, 0x7f,
1801 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x7d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1802 0x00, 0xf8, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
1804 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
1805 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x07, 0x00, 0x7f,
1806 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1807 0x00, 0xf8, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
1809 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
1810 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x07, 0x00, 0x7f,
1811 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1812 0x00, 0xf8, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
1814 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
1815 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5d, 0x00, 0x07, 0x00, 0x7f,
1816 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x5d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1817 0x00, 0xf8, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
1819 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
1820 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5c, 0x00, 0x07, 0x00, 0x7f,
1821 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1822 0x00, 0xf8, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
1824 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
1825 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x5c, 0x00, 0x06, 0x00, 0x7f,
1826 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x5c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1827 0x00, 0xf6, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
1829 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
1830 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x06, 0x00, 0x7f,
1831 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x4c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1832 0x00, 0xf6, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
1834 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
1835 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x06, 0x00, 0x7f,
1836 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x4c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1837 0x00, 0xf6, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
1839 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
1840 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1841 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1842 0x00, 0xf6, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
1844 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1845 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1846 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1847 0x00, 0xf6, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
1849 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1850 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1851 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1852 0x00, 0xf6, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
1854 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1855 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2b, 0x00, 0x06, 0x00, 0x7f,
1856 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x2b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1857 0x00, 0xf6, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
1859 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1860 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2a, 0x00, 0x06, 0x00, 0x7f,
1861 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x2a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1862 0x00, 0xf6, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
1864 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1865 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x06, 0x00, 0x7f,
1866 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1867 0x00, 0xf6, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
1869 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1870 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x06, 0x00, 0x7f,
1871 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1872 0x00, 0xf6, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
1874 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
1875 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x1a, 0x00, 0x04, 0x00, 0x7f,
1876 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x1a, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1877 0x00, 0xf4, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
1879 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
1880 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x04, 0x00, 0x7f,
1881 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x19, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1882 0x00, 0xf4, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
1884 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
1885 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x04, 0x00, 0x7f,
1886 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x19, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1887 0x00, 0xf4, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
1889 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
1890 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x04, 0x00, 0x7f,
1891 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x09, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1892 0x00, 0xf4, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
1894 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
1895 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x04, 0x00, 0x7f,
1896 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x09, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1897 0x00, 0xf4, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
1899 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
1900 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1901 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1902 0x00, 0xf4, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
1904 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
1905 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1906 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1907 0x00, 0xf4, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
1909 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
1910 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1911 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1912 0x00, 0xf4, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
1914 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
1915 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1916 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1917 0x00, 0xf4, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
1919 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
1920 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x07, 0x00, 0x04, 0x00, 0x7f,
1921 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1922 0x00, 0xf4, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
1924 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1925 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1926 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1927 0x00, 0xf2, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
1929 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1930 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1931 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1932 0x00, 0xf2, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
1934 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1935 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1936 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1937 0x00, 0xf2, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
1939 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
1940 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1941 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1942 0x00, 0xf2, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
1944 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1945 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1946 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1947 0x00, 0xf2, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
1949 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
1950 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1951 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1952 0x00, 0xf2, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
1954 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1955 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1956 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1957 0x00, 0xf2, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
1959 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
1960 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1961 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1962 0x00, 0xf2, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
1964 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1965 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1966 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1967 0x00, 0xf2, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
1969 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
1970 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1971 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1972 0x00, 0xf2, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
1974 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
1975 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1976 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1977 0x00, 0xf2, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
1979 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
1980 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1981 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1982 0x00, 0xf2, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
1984 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
1985 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1986 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1987 0x00, 0xf2, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
1989 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
1990 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1991 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1992 0x00, 0xf2, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
1994 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
1995 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1996 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1997 0x00, 0xf2, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
1999 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
2000 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2001 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2002 0x00, 0xf2, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
2004 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
2005 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2006 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2007 0x00, 0xf2, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
2009 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
2010 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2011 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2012 0x00, 0xf2, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
2014 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
2015 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2016 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2017 0x00, 0xf0, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
2019 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
2020 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2021 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2022 0x00, 0xf0, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
2024 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
2025 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2026 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2027 0x00, 0xf0, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
2029 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
2030 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2031 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2032 0x00, 0xf0, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
2034 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
2035 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2036 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2037 0x00, 0xf0, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
2039 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
2040 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2041 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2042 0x00, 0xf0, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
2044 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
2045 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2046 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2047 0x00, 0xf0, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
2049 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
2050 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2051 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2052 0x00, 0xf0, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
2054 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
2055 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2056 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2057 0x00, 0xf0, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
2059 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2060 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2061 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2062 0x00, 0xf0, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
2064 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2065 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2066 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2067 0x00, 0xf0, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
2069 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2070 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2071 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2072 0x00, 0xf0, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
2074 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2075 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2076 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2077 0x00, 0xf0, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
2079 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2080 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f,
2081 0x00, 0x07, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x07,
2082 0x00, 0xf0, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
2084 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2085 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f,
2086 0x00, 0x07, 0x00, 0xf0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x07,
2087 0x00, 0xf0, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
2089 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
2090 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2091 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2092 0x0f, 0x00, 0x0e, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
2094 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
2095 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2096 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2097 0x0f, 0x00, 0x0e, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
2099 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
2100 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2101 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2102 0x0f, 0x00, 0x0e, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
2104 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
2105 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x04, 0x00,
2106 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfd, 0x00, 0x04, 0x00, 0x70, 0x00,
2107 0x0f, 0x00, 0x0e, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
2109 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
2110 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x04, 0x00,
2111 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfb, 0x00, 0x04, 0x00, 0x70, 0x00,
2112 0x0f, 0x00, 0x0e, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
2114 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
2115 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00,
2116 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x70, 0x00,
2117 0x0f, 0x00, 0x0e, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
2119 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
2120 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x04, 0x00,
2121 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf8, 0x00, 0x04, 0x00, 0x70, 0x00,
2122 0x0f, 0x00, 0x0e, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
2124 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
2125 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x04, 0x00,
2126 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf7, 0x00, 0x04, 0x00, 0x70, 0x00,
2127 0x0f, 0x00, 0x0e, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
2129 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
2130 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x04, 0x00,
2131 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf6, 0x00, 0x04, 0x00, 0x70, 0x00,
2132 0x0f, 0x00, 0x0e, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
2134 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
2135 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x04, 0x00,
2136 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf5, 0x00, 0x04, 0x00, 0x70, 0x00,
2137 0x0f, 0x00, 0x0e, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
2139 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
2140 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x04, 0x00,
2141 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x70, 0x00,
2142 0x0f, 0x00, 0x0e, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
2144 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
2145 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x04, 0x00,
2146 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf3, 0x00, 0x04, 0x00, 0x70, 0x00,
2147 0x0f, 0x00, 0x0e, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
2149 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
2150 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x04, 0x00,
2151 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x70, 0x00,
2152 0x0f, 0x00, 0x0e, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
2154 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
2155 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x04, 0x00,
2156 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x70, 0x00,
2157 0x0f, 0x00, 0x0e, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
2160 static chan_info_nphy_radio205x_t chan_info_nphyrev5_2056v5[] = {
2162 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
2163 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2164 0x00, 0x0f, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0f,
2165 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
2167 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
2168 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2169 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2170 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
2172 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
2173 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2174 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2175 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
2177 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
2178 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2179 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2180 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
2182 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
2183 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2184 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0e,
2185 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
2187 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
2188 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2189 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2190 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
2192 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
2193 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2194 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2195 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
2197 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
2198 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2199 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2200 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
2202 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
2203 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2204 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2205 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
2207 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
2208 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2209 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2210 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
2212 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
2213 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
2214 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0d,
2215 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
2217 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
2218 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
2219 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2220 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
2222 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
2223 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
2224 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2225 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
2227 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
2228 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
2229 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2230 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
2232 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
2233 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x70,
2234 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2235 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
2237 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
2238 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x70,
2239 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2240 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
2242 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
2243 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2244 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2245 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
2247 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
2248 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2249 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2250 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
2252 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
2253 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2254 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2255 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
2257 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
2258 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2259 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2260 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
2262 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
2263 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2264 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2265 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
2267 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
2268 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x70,
2269 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0a,
2270 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
2272 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
2273 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
2274 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x0a,
2275 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
2277 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
2278 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
2279 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x09,
2280 0x00, 0x6e, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
2282 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
2283 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x06, 0x00, 0x70,
2284 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2285 0x00, 0x6e, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
2287 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
2288 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2289 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2290 0x00, 0x6e, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
2292 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
2293 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2294 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2295 0x00, 0x6e, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
2297 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
2298 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2299 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2300 0x00, 0x6e, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
2302 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
2303 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2304 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2305 0x00, 0x6e, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
2307 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2308 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2309 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2310 0x00, 0x6e, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
2312 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2313 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xea, 0x00, 0x06, 0x00, 0x70,
2314 0x00, 0x08, 0x00, 0x9e, 0x00, 0xea, 0x00, 0x06, 0x00, 0x70, 0x00, 0x08,
2315 0x00, 0x6e, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
2317 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2318 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xe9, 0x00, 0x05, 0x00, 0x70,
2319 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2320 0x00, 0x6d, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
2322 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2323 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xe9, 0x00, 0x05, 0x00, 0x70,
2324 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2325 0x00, 0x6d, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
2327 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2328 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xd9, 0x00, 0x05, 0x00, 0x70,
2329 0x00, 0x08, 0x00, 0x9d, 0x00, 0xd9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2330 0x00, 0x6d, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
2332 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2333 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xd8, 0x00, 0x04, 0x00, 0x70,
2334 0x00, 0x07, 0x00, 0x9c, 0x00, 0xd8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2335 0x00, 0x6c, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
2337 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
2338 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2339 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2340 0x00, 0x6c, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
2342 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
2343 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2344 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2345 0x00, 0x6c, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
2347 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
2348 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2349 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2350 0x00, 0x6c, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
2352 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
2353 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2354 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2355 0x00, 0x6c, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
2357 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
2358 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb8, 0x00, 0x04, 0x00, 0x70,
2359 0x00, 0x07, 0x00, 0x9c, 0x00, 0xb8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2360 0x00, 0x6c, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
2362 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
2363 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb7, 0x00, 0x04, 0x00, 0x70,
2364 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2365 0x00, 0x6b, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
2367 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
2368 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb7, 0x00, 0x03, 0x00, 0x70,
2369 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x07,
2370 0x00, 0x6b, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
2372 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
2373 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa7, 0x00, 0x03, 0x00, 0x70,
2374 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2375 0x00, 0x6b, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
2377 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
2378 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa6, 0x00, 0x03, 0x00, 0x70,
2379 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2380 0x00, 0x6b, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
2382 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
2383 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa6, 0x00, 0x03, 0x00, 0x70,
2384 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2385 0x00, 0x5b, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
2387 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2388 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x96, 0x00, 0x03, 0x00, 0x70,
2389 0x00, 0x06, 0x00, 0x9a, 0x00, 0x96, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2390 0x00, 0x5a, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
2392 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2393 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x95, 0x00, 0x03, 0x00, 0x70,
2394 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2395 0x00, 0x5a, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
2397 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2398 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2399 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2400 0x00, 0x5a, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
2402 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2403 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2404 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
2405 0x00, 0x5a, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
2407 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2408 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2409 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
2410 0x00, 0x5a, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
2412 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2413 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x85, 0x00, 0x02, 0x00, 0x70,
2414 0x00, 0x05, 0x00, 0x99, 0x00, 0x85, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2415 0x00, 0x59, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
2417 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
2418 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2419 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2420 0x00, 0x59, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
2422 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
2423 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2424 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2425 0x00, 0x59, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
2427 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
2428 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2429 0x00, 0x04, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x04,
2430 0x00, 0x69, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
2432 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
2433 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x74, 0x00, 0x01, 0x00, 0x70,
2434 0x00, 0x04, 0x00, 0x99, 0x00, 0x74, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2435 0x00, 0x69, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
2437 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
2438 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x73, 0x00, 0x01, 0x00, 0x70,
2439 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2440 0x00, 0x68, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
2442 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
2443 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x73, 0x00, 0x01, 0x00, 0x70,
2444 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2445 0x00, 0x68, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
2447 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
2448 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2449 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2450 0x00, 0x78, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
2452 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
2453 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2454 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2455 0x00, 0x78, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
2457 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
2458 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2459 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2460 0x00, 0x78, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
2462 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
2463 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x63, 0x00, 0x01, 0x00, 0x70,
2464 0x00, 0x03, 0x00, 0x98, 0x00, 0x63, 0x00, 0x01, 0x00, 0x70, 0x00, 0x03,
2465 0x00, 0x78, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
2467 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2468 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2469 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2470 0x00, 0x77, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
2472 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2473 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2474 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2475 0x00, 0x77, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
2477 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2478 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2479 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2480 0x00, 0x77, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
2482 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2483 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x52, 0x00, 0x00, 0x00, 0x70,
2484 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2485 0x00, 0x76, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
2487 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2488 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x52, 0x00, 0x00, 0x00, 0x70,
2489 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2490 0x00, 0x76, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
2492 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2493 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x51, 0x00, 0x00, 0x00, 0x70,
2494 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2495 0x00, 0x76, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
2497 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
2498 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2499 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2500 0x00, 0x76, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
2502 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
2503 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2504 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2505 0x00, 0x76, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
2507 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
2508 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2509 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2510 0x00, 0x76, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
2512 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
2513 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2514 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2515 0x00, 0x76, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
2517 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
2518 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2519 0x00, 0x02, 0x00, 0x95, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2520 0x00, 0x75, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
2522 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
2523 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x50, 0x00, 0x00, 0x00, 0x70,
2524 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2525 0x00, 0x75, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
2527 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
2528 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x50, 0x00, 0x00, 0x00, 0x70,
2529 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2530 0x00, 0x75, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
2532 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
2533 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2534 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2535 0x00, 0x74, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
2537 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
2538 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2539 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2540 0x00, 0x74, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
2542 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
2543 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2544 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2545 0x00, 0x74, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
2547 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2548 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2549 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2550 0x00, 0x74, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
2552 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2553 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2554 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2555 0x00, 0x74, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
2557 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2558 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2559 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2560 0x00, 0x74, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
2562 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
2563 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2564 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2565 0x00, 0x74, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
2567 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2568 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2569 0x00, 0x01, 0x00, 0x94, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2570 0x00, 0x84, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
2572 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
2573 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2574 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2575 0x00, 0x83, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
2577 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2578 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2579 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2580 0x00, 0x83, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
2582 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
2583 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2584 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2585 0x00, 0x83, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
2587 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2588 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2589 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2590 0x00, 0x83, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
2592 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
2593 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2594 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2595 0x00, 0x83, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
2597 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
2598 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2599 0x00, 0x00, 0x00, 0x93, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2600 0x00, 0x83, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
2602 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
2603 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2604 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2605 0x00, 0x82, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
2607 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
2608 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2609 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2610 0x00, 0x82, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
2612 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
2613 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2614 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2615 0x00, 0x82, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
2617 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
2618 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2619 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2620 0x00, 0x82, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
2622 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
2623 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2624 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2625 0x00, 0x82, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
2627 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
2628 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2629 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2630 0x00, 0x82, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
2632 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
2633 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2634 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2635 0x00, 0x82, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
2637 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
2638 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2639 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2640 0x00, 0x82, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
2642 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
2643 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2644 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2645 0x00, 0x82, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
2647 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
2648 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2649 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2650 0x00, 0x82, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
2652 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
2653 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2654 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2655 0x00, 0x82, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
2657 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
2658 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2659 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2660 0x00, 0x82, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
2662 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
2663 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2664 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2665 0x00, 0x82, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
2667 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
2668 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2669 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2670 0x00, 0x72, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
2672 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
2673 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2674 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2675 0x00, 0x72, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
2677 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
2678 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2679 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2680 0x00, 0x72, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
2682 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2683 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2684 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2685 0x00, 0x72, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
2687 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2688 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2689 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2690 0x00, 0x71, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
2692 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2693 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2694 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2695 0x00, 0x71, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
2697 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2698 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2699 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2700 0x00, 0x71, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
2702 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2703 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
2704 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2705 0x00, 0x71, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
2707 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2708 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
2709 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2710 0x00, 0x71, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
2712 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
2713 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x03, 0x00,
2714 0x70, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x03, 0x00, 0x70, 0x00,
2715 0x0f, 0x00, 0x0b, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
2717 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
2718 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x03, 0x00,
2719 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x1f, 0x00, 0x03, 0x00, 0x70, 0x00,
2720 0x0f, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
2722 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
2723 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00,
2724 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x70, 0x00,
2725 0x0f, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
2727 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
2728 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x03, 0x00,
2729 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x03, 0x00, 0x70, 0x00,
2730 0x0e, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
2732 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
2733 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x03, 0x00,
2734 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0c, 0x00, 0x03, 0x00, 0x70, 0x00,
2735 0x0e, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
2737 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
2738 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x03, 0x00,
2739 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x03, 0x00, 0x70, 0x00,
2740 0x0e, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
2742 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
2743 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x09, 0x00, 0x03, 0x00,
2744 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x03, 0x00, 0x70, 0x00,
2745 0x0e, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
2747 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
2748 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00,
2749 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x08, 0x00, 0x02, 0x00, 0x70, 0x00,
2750 0x0e, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
2752 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
2753 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x07, 0x00, 0x02, 0x00,
2754 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x07, 0x00, 0x02, 0x00, 0x70, 0x00,
2755 0x0e, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
2757 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
2758 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00,
2759 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x06, 0x00, 0x02, 0x00, 0x70, 0x00,
2760 0x0d, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
2762 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
2763 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x05, 0x00, 0x02, 0x00,
2764 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x05, 0x00, 0x02, 0x00, 0x70, 0x00,
2765 0x0d, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
2767 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
2768 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00,
2769 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x70, 0x00,
2770 0x0d, 0x00, 0x08, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
2772 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
2773 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x00,
2774 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x03, 0x00, 0x02, 0x00, 0x70, 0x00,
2775 0x0d, 0x00, 0x08, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
2777 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
2778 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
2779 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
2780 0x0d, 0x00, 0x08, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
2783 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v6[] = {
2785 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
2786 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2787 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2788 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
2790 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
2791 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2792 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2793 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
2795 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
2796 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2797 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2798 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
2800 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
2801 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2802 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2803 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
2805 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
2806 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2807 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2808 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
2810 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
2811 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2812 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2813 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
2815 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
2816 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2817 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2818 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
2820 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
2821 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2822 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2823 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
2825 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
2826 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2827 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2828 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
2830 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
2831 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2832 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2833 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
2835 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
2836 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2837 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2838 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
2840 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
2841 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2842 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2843 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
2845 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
2846 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2847 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2848 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
2850 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
2851 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2852 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2853 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
2855 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
2856 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2857 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2858 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
2860 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
2861 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2862 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2863 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
2865 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
2866 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2867 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2868 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
2870 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
2871 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2872 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2873 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
2875 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
2876 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
2877 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2878 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
2880 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
2881 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2882 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2883 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
2885 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
2886 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2887 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2888 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
2890 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
2891 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2892 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2893 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
2895 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
2896 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
2897 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2898 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
2900 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
2901 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
2902 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
2903 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
2905 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
2906 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
2907 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
2908 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
2910 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
2911 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
2912 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
2913 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
2915 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
2916 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
2917 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
2918 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
2920 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
2921 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
2922 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2923 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
2925 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
2926 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
2927 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2928 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
2930 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2931 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
2932 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2933 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
2935 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2936 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
2937 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2938 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
2940 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2941 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
2942 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2943 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
2945 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2946 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
2947 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2948 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
2950 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2951 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
2952 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
2953 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
2955 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2956 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
2957 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
2958 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
2960 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
2961 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2962 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2963 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
2965 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
2966 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2967 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2968 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
2970 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
2971 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2972 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2973 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
2975 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
2976 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2977 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2978 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
2980 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
2981 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
2982 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2983 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
2985 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
2986 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
2987 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
2988 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
2990 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
2991 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
2992 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
2993 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
2995 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
2996 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
2997 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
2998 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
3000 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
3001 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
3002 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3003 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
3005 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
3006 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
3007 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3008 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
3010 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3011 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
3012 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3013 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
3015 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3016 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
3017 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3018 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
3020 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3021 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
3022 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3023 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
3025 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3026 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
3027 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3028 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
3030 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3031 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
3032 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3033 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
3035 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3036 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
3037 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3038 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
3040 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
3041 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
3042 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
3043 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
3045 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
3046 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
3047 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3048 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
3050 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
3051 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
3052 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3053 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
3055 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
3056 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
3057 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3058 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
3060 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
3061 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
3062 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3063 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
3065 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
3066 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
3067 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3068 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
3070 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
3071 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
3072 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3073 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
3075 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
3076 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
3077 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3078 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
3080 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
3081 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
3082 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3083 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
3085 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
3086 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
3087 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3088 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
3090 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3091 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
3092 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3093 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
3095 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3096 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
3097 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3098 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
3100 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3101 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
3102 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3103 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
3105 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3106 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
3107 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3108 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
3110 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3111 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
3112 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3113 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
3115 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3116 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
3117 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3118 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
3120 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
3121 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
3122 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3123 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
3125 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
3126 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
3127 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3128 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
3130 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
3131 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
3132 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3133 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
3135 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
3136 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
3137 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3138 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
3140 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
3141 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
3142 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3143 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
3145 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
3146 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
3147 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3148 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
3150 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
3151 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
3152 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3153 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
3155 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
3156 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
3157 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3158 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
3160 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
3161 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3162 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3163 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
3165 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
3166 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3167 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3168 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
3170 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3171 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3172 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3173 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
3175 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3176 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3177 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3178 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
3180 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3181 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3182 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3183 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
3185 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
3186 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3187 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3188 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
3190 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3191 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3192 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3193 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
3195 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
3196 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3197 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3198 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
3200 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3201 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3202 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3203 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
3205 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
3206 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3207 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3208 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
3210 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3211 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
3212 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3213 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
3215 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
3216 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
3217 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3218 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
3220 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
3221 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
3222 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3223 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
3225 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
3226 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3227 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3228 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
3230 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
3231 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3232 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3233 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
3235 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
3236 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3237 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3238 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
3240 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
3241 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3242 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3243 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
3245 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
3246 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
3247 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3248 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
3250 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
3251 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
3252 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3253 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
3255 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
3256 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3257 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3258 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
3260 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
3261 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3262 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3263 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
3265 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
3266 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3267 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3268 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
3270 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
3271 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3272 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3273 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
3275 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
3276 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3277 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3278 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
3280 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
3281 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3282 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3283 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
3285 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
3286 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3287 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3288 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
3290 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
3291 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3292 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3293 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
3295 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
3296 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3297 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3298 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
3300 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
3301 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3302 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3303 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
3305 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3306 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3307 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3308 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
3310 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3311 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3312 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3313 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
3315 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3316 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3317 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3318 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
3320 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3321 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3322 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3323 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
3325 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3326 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3327 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3328 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
3330 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3331 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3332 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3333 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
3335 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
3336 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3337 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3338 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
3340 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
3341 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3342 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3343 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
3345 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
3346 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
3347 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x67, 0x00, 0x03, 0x00, 0x70, 0x00,
3348 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
3350 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
3351 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
3352 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x57, 0x00, 0x03, 0x00, 0x70, 0x00,
3353 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
3355 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
3356 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
3357 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x56, 0x00, 0x03, 0x00, 0x70, 0x00,
3358 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
3360 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
3361 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
3362 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x46, 0x00, 0x03, 0x00, 0x70, 0x00,
3363 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
3365 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
3366 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
3367 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
3368 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
3370 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
3371 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
3372 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
3373 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
3375 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
3376 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
3377 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x23, 0x00, 0x02, 0x00, 0x70, 0x00,
3378 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
3380 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
3381 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
3382 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x12, 0x00, 0x02, 0x00, 0x70, 0x00,
3383 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
3385 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
3386 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
3387 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x02, 0x00, 0x02, 0x00, 0x70, 0x00,
3388 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
3390 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
3391 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
3392 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00,
3393 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
3395 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
3396 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
3397 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00,
3398 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
3400 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
3401 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
3402 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
3403 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
3406 static chan_info_nphy_radio205x_t chan_info_nphyrev5n6_2056v7[] = {
3408 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
3409 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3410 0x00, 0x0f, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0f,
3411 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
3413 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
3414 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3415 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3416 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
3418 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
3419 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3420 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3421 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
3423 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
3424 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3425 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3426 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
3428 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
3429 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3430 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0e,
3431 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
3433 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
3434 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3435 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3436 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
3438 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
3439 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3440 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3441 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
3443 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
3444 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3445 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3446 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
3448 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
3449 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3450 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3451 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
3453 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
3454 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3455 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3456 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
3458 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
3459 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
3460 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0d,
3461 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
3463 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
3464 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
3465 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3466 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
3468 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
3469 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
3470 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3471 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
3473 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
3474 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
3475 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3476 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
3478 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
3479 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x70,
3480 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3481 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
3483 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
3484 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x70,
3485 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3486 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
3488 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
3489 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3490 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3491 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
3493 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
3494 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3495 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3496 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
3498 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
3499 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3500 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3501 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
3503 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
3504 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3505 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3506 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
3508 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
3509 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3510 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3511 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
3513 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
3514 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x70,
3515 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0a,
3516 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
3518 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
3519 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
3520 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x0a,
3521 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
3523 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
3524 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
3525 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x09,
3526 0x00, 0x6e, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
3528 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
3529 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x06, 0x00, 0x70,
3530 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3531 0x00, 0x6e, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
3533 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
3534 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3535 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3536 0x00, 0x6e, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
3538 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
3539 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3540 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3541 0x00, 0x6e, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
3543 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
3544 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3545 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3546 0x00, 0x6e, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
3548 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
3549 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3550 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3551 0x00, 0x6e, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
3553 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3554 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xfa, 0x00, 0x06, 0x00, 0x70,
3555 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3556 0x00, 0x6e, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
3558 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3559 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xea, 0x00, 0x06, 0x00, 0x70,
3560 0x00, 0x08, 0x00, 0x9e, 0x00, 0xea, 0x00, 0x06, 0x00, 0x70, 0x00, 0x08,
3561 0x00, 0x6e, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
3563 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3564 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xe9, 0x00, 0x05, 0x00, 0x70,
3565 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3566 0x00, 0x6d, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
3568 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3569 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xe9, 0x00, 0x05, 0x00, 0x70,
3570 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3571 0x00, 0x6d, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
3573 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3574 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xd9, 0x00, 0x05, 0x00, 0x70,
3575 0x00, 0x08, 0x00, 0x9d, 0x00, 0xd9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3576 0x00, 0x6d, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
3578 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3579 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xd8, 0x00, 0x04, 0x00, 0x70,
3580 0x00, 0x07, 0x00, 0x9c, 0x00, 0xd8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3581 0x00, 0x6c, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
3583 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
3584 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3585 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3586 0x00, 0x6c, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
3588 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
3589 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3590 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3591 0x00, 0x6c, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
3593 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
3594 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3595 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3596 0x00, 0x6c, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
3598 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
3599 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3600 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3601 0x00, 0x6c, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
3603 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
3604 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb8, 0x00, 0x04, 0x00, 0x70,
3605 0x00, 0x07, 0x00, 0x9c, 0x00, 0xb8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3606 0x00, 0x6c, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
3608 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
3609 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xb7, 0x00, 0x04, 0x00, 0x70,
3610 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3611 0x00, 0x6b, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
3613 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
3614 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xb7, 0x00, 0x03, 0x00, 0x70,
3615 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x07,
3616 0x00, 0x6b, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
3618 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
3619 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa7, 0x00, 0x03, 0x00, 0x70,
3620 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3621 0x00, 0x6b, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
3623 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
3624 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0xa6, 0x00, 0x03, 0x00, 0x70,
3625 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3626 0x00, 0x6b, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
3628 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
3629 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0xa6, 0x00, 0x03, 0x00, 0x70,
3630 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3631 0x00, 0x7b, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
3633 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3634 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x96, 0x00, 0x03, 0x00, 0x70,
3635 0x00, 0x06, 0x00, 0x9a, 0x00, 0x96, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3636 0x00, 0x7a, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
3638 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3639 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x70,
3640 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3641 0x00, 0x7a, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
3643 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3644 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x70,
3645 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3646 0x00, 0x7a, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
3648 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3649 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x95, 0x00, 0x03, 0x00, 0x70,
3650 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
3651 0x00, 0x7a, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
3653 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3654 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x95, 0x00, 0x03, 0x00, 0x70,
3655 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
3656 0x00, 0x7a, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
3658 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3659 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x85, 0x00, 0x02, 0x00, 0x70,
3660 0x00, 0x05, 0x00, 0x99, 0x00, 0x85, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3661 0x00, 0x79, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
3663 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
3664 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x70,
3665 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3666 0x00, 0x79, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
3668 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
3669 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x02, 0x00, 0x70,
3670 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3671 0x00, 0x79, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
3673 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
3674 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x02, 0x00, 0x70,
3675 0x00, 0x04, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x04,
3676 0x00, 0x79, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
3678 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
3679 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x74, 0x00, 0x01, 0x00, 0x70,
3680 0x00, 0x04, 0x00, 0x99, 0x00, 0x74, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3681 0x00, 0x79, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
3683 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
3684 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
3685 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3686 0x00, 0x78, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
3688 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
3689 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x01, 0x00, 0x70,
3690 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3691 0x00, 0x78, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
3693 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
3694 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x01, 0x00, 0x70,
3695 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3696 0x00, 0x78, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
3698 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
3699 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x01, 0x00, 0x70,
3700 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3701 0x00, 0x78, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
3703 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
3704 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x01, 0x00, 0x70,
3705 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3706 0x00, 0x78, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
3708 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
3709 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x63, 0x00, 0x01, 0x00, 0x70,
3710 0x00, 0x03, 0x00, 0x98, 0x00, 0x63, 0x00, 0x01, 0x00, 0x70, 0x00, 0x03,
3711 0x00, 0x78, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
3713 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3714 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x62, 0x00, 0x00, 0x00, 0x70,
3715 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3716 0x00, 0x77, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
3718 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3719 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x70,
3720 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3721 0x00, 0x77, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
3723 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3724 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x70,
3725 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3726 0x00, 0x77, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
3728 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3729 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x52, 0x00, 0x00, 0x00, 0x70,
3730 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3731 0x00, 0x76, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
3733 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3734 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x52, 0x00, 0x00, 0x00, 0x70,
3735 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3736 0x00, 0x86, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
3738 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3739 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3740 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3741 0x00, 0x86, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
3743 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
3744 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3745 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3746 0x00, 0x86, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
3748 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
3749 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3750 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3751 0x00, 0x86, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
3753 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
3754 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3755 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3756 0x00, 0x86, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
3758 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
3759 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3760 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3761 0x00, 0x86, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
3763 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
3764 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x51, 0x00, 0x00, 0x00, 0x70,
3765 0x00, 0x02, 0x00, 0x95, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3766 0x00, 0x85, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
3768 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
3769 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x70,
3770 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3771 0x00, 0x85, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
3773 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
3774 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x70,
3775 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3776 0x00, 0x85, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
3778 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
3779 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
3780 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3781 0x00, 0x84, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
3783 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
3784 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3785 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3786 0x00, 0x84, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
3788 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
3789 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3790 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3791 0x00, 0x94, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
3793 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3794 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3795 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3796 0x00, 0x94, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
3798 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3799 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3800 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3801 0x00, 0x94, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
3803 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3804 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3805 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3806 0x00, 0x94, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
3808 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
3809 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3810 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3811 0x00, 0x94, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
3813 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3814 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3815 0x00, 0x01, 0x00, 0x94, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3816 0x00, 0x94, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
3818 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
3819 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3820 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3821 0x00, 0x93, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
3823 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3824 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3825 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3826 0x00, 0x93, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
3828 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
3829 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3830 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3831 0x00, 0x93, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
3833 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3834 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3835 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3836 0x00, 0x93, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
3838 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
3839 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x30, 0x00, 0x00, 0x00, 0x70,
3840 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3841 0x00, 0x93, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
3843 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
3844 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3845 0x00, 0x00, 0x00, 0x93, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3846 0x00, 0x93, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
3848 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
3849 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3850 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3851 0x00, 0x92, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
3853 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
3854 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3855 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3856 0x00, 0x92, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
3858 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
3859 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3860 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3861 0x00, 0x92, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
3863 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
3864 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x70,
3865 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3866 0x00, 0x92, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
3868 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
3869 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3870 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3871 0x00, 0x92, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
3873 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
3874 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3875 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3876 0x00, 0x92, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
3878 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
3879 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3880 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3881 0x00, 0x92, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
3883 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
3884 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3885 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3886 0x00, 0x92, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
3888 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
3889 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3890 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3891 0x00, 0x92, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
3893 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
3894 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3895 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3896 0x00, 0x92, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
3898 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
3899 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3900 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3901 0x00, 0x92, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
3903 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
3904 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3905 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3906 0x00, 0x92, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
3908 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
3909 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3910 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3911 0x00, 0x92, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
3913 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
3914 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3915 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3916 0x00, 0x92, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
3918 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
3919 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3920 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3921 0x00, 0x92, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
3923 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
3924 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3925 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3926 0x00, 0x92, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
3928 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3929 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3930 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3931 0x00, 0x92, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
3933 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3934 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3935 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3936 0x00, 0x91, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
3938 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3939 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3940 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3941 0x00, 0x91, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
3943 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3944 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3945 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3946 0x00, 0x91, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
3948 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3949 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3950 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3951 0x00, 0x91, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
3953 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3954 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3955 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3956 0x00, 0x91, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
3958 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
3959 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3960 0x70, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3961 0x0f, 0x00, 0x0b, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
3963 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
3964 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3965 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3966 0x0f, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
3968 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
3969 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3970 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3971 0x0f, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
3973 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
3974 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3975 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3976 0x0e, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
3978 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
3979 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x03, 0x00,
3980 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
3981 0x0e, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
3983 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
3984 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x76, 0x00, 0x03, 0x00,
3985 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
3986 0x0e, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
3988 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
3989 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x66, 0x00, 0x03, 0x00,
3990 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x03, 0x00, 0x70, 0x00,
3991 0x0e, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
3993 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
3994 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x55, 0x00, 0x02, 0x00,
3995 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
3996 0x0e, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
3998 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
3999 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
4000 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
4001 0x0e, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
4003 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
4004 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
4005 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
4006 0x0d, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
4008 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
4009 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
4010 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
4011 0x0d, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
4013 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
4014 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x22, 0x00, 0x02, 0x00,
4015 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
4016 0x0d, 0x00, 0x08, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
4018 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
4019 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00,
4020 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
4021 0x0d, 0x00, 0x08, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
4023 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
4024 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
4025 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
4026 0x0d, 0x00, 0x08, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
4029 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v8[] = {
4031 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
4032 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4033 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4034 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
4036 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
4037 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4038 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4039 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
4041 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
4042 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4043 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4044 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
4046 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
4047 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4048 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4049 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
4051 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
4052 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4053 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4054 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
4056 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
4057 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4058 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4059 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
4061 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
4062 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4063 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4064 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
4066 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
4067 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4068 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4069 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
4071 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
4072 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4073 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4074 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
4076 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
4077 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4078 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4079 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
4081 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
4082 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4083 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4084 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
4086 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
4087 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4088 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4089 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
4091 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
4092 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4093 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4094 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
4096 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
4097 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4098 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4099 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
4101 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
4102 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4103 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4104 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
4106 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
4107 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4108 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4109 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
4111 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
4112 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4113 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4114 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
4116 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
4117 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4118 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4119 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
4121 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
4122 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
4123 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4124 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
4126 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
4127 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4128 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4129 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
4131 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
4132 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4133 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4134 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
4136 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
4137 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4138 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4139 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
4141 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
4142 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
4143 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4144 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
4146 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
4147 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4148 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4149 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
4151 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
4152 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4153 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4154 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
4156 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
4157 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4158 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
4159 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
4161 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
4162 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4163 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
4164 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
4166 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
4167 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4168 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4169 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
4171 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
4172 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4173 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4174 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
4176 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4177 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
4178 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4179 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
4181 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4182 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
4183 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4184 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
4186 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4187 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
4188 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4189 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
4191 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4192 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
4193 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4194 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
4196 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4197 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4198 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
4199 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
4201 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4202 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4203 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
4204 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
4206 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
4207 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4208 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4209 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
4211 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
4212 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4213 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4214 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
4216 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
4217 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4218 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4219 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
4221 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
4222 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4223 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4224 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
4226 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
4227 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
4228 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4229 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
4231 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
4232 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
4233 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4234 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
4236 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
4237 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4238 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4239 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
4241 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
4242 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4243 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4244 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
4246 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
4247 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4248 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4249 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
4251 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
4252 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4253 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4254 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
4256 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4257 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
4258 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4259 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
4261 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4262 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4263 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4264 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
4266 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4267 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4268 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4269 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
4271 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4272 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
4273 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4274 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
4276 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4277 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
4278 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4279 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
4281 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4282 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4283 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4284 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
4286 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
4287 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4288 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
4289 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
4291 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
4292 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4293 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4294 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
4296 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
4297 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4298 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4299 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
4301 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
4302 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
4303 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4304 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
4306 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
4307 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
4308 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4309 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
4311 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
4312 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
4313 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4314 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
4316 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
4317 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4318 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4319 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
4321 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
4322 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4323 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4324 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
4326 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
4327 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4328 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4329 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
4331 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
4332 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4333 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4334 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
4336 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4337 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
4338 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4339 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
4341 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4342 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4343 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4344 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
4346 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4347 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4348 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4349 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
4351 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4352 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
4353 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4354 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
4356 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4357 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
4358 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4359 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
4361 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4362 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
4363 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4364 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
4366 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
4367 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4368 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4369 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
4371 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
4372 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4373 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4374 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
4376 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
4377 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
4378 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4379 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
4381 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
4382 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
4383 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4384 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
4386 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
4387 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
4388 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4389 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
4391 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
4392 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
4393 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4394 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
4396 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
4397 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
4398 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4399 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
4401 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
4402 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
4403 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4404 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
4406 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
4407 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4408 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4409 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
4411 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
4412 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4413 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4414 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
4416 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4417 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4418 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4419 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
4421 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4422 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4423 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4424 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
4426 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4427 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4428 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4429 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
4431 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
4432 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4433 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4434 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
4436 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4437 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4438 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4439 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
4441 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
4442 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4443 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4444 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
4446 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4447 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4448 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4449 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
4451 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
4452 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4453 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4454 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
4456 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4457 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
4458 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4459 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
4461 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
4462 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
4463 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4464 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
4466 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
4467 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
4468 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4469 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
4471 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
4472 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4473 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4474 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
4476 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
4477 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4478 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4479 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
4481 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
4482 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4483 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4484 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
4486 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
4487 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4488 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4489 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
4491 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
4492 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
4493 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4494 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
4496 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
4497 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
4498 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4499 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
4501 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
4502 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4503 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4504 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
4506 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
4507 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4508 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4509 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
4511 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
4512 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4513 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4514 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
4516 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
4517 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4518 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4519 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
4521 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
4522 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4523 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4524 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
4526 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
4527 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4528 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4529 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
4531 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
4532 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4533 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4534 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
4536 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
4537 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4538 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4539 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
4541 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
4542 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4543 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4544 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
4546 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
4547 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4548 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4549 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
4551 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4552 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4553 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4554 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
4556 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4557 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4558 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4559 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
4561 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4562 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4563 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4564 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
4566 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4567 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4568 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4569 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
4571 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4572 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4573 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4574 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
4576 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4577 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4578 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4579 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
4581 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
4582 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
4583 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4584 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
4586 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
4587 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
4588 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4589 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
4591 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
4592 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
4593 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4594 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
4596 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
4597 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
4598 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
4599 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
4601 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
4602 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
4603 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
4604 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
4606 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
4607 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
4608 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
4609 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
4611 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
4612 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
4613 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x02, 0x00, 0x70, 0x00,
4614 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
4616 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
4617 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
4618 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
4619 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
4621 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
4622 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
4623 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
4624 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
4626 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
4627 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
4628 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
4629 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
4631 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
4632 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
4633 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
4634 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
4636 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
4637 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
4638 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
4639 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
4641 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
4642 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
4643 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
4644 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
4646 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
4647 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
4648 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
4649 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
4652 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v11[] = {
4654 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x02, 0x0c, 0x01,
4655 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4656 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4657 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
4659 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x02, 0x0c, 0x01,
4660 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4661 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4662 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
4664 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x02, 0x0c, 0x01,
4665 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4666 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4667 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
4669 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x02, 0x0c, 0x01,
4670 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4671 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4672 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
4674 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x02, 0x0c, 0x01,
4675 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4676 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4677 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
4679 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x02, 0x0c, 0x01,
4680 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4681 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4682 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
4684 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x02, 0x0c, 0x01,
4685 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4686 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4687 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
4689 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x02, 0x0c, 0x01,
4690 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4691 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4692 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
4694 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x02, 0x0c, 0x01,
4695 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4696 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4697 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
4699 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x02, 0x0c, 0x01,
4700 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4701 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4702 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
4704 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x02, 0x0c, 0x01,
4705 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4706 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4707 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
4709 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x02, 0x0c, 0x01,
4710 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4711 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4712 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
4714 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x02, 0x0c, 0x01,
4715 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4716 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4717 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
4719 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x02, 0x0c, 0x01,
4720 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4721 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4722 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
4724 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x02, 0x0c, 0x01,
4725 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4726 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4727 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
4729 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x02, 0x0c, 0x01,
4730 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4731 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4732 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
4734 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x02, 0x0c, 0x01,
4735 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4736 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4737 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
4739 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x02, 0x0c, 0x01,
4740 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4741 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4742 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
4744 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x02, 0x0c, 0x01,
4745 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
4746 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4747 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
4749 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x02, 0x0c, 0x01,
4750 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4751 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4752 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
4754 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x02, 0x0c, 0x01,
4755 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4756 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4757 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
4759 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x02, 0x0c, 0x01,
4760 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4761 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4762 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
4764 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x02, 0x0c, 0x01,
4765 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
4766 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4767 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
4769 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x02, 0x0c, 0x01,
4770 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4771 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4772 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
4774 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x02, 0x0c, 0x01,
4775 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4776 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4777 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
4779 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x02, 0x0c, 0x01,
4780 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4781 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
4782 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
4784 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x02, 0x0c, 0x01,
4785 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4786 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
4787 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
4789 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x02, 0x0c, 0x01,
4790 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4791 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4792 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
4794 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x02, 0x0c, 0x01,
4795 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4796 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4797 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
4799 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4800 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
4801 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4802 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
4804 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4805 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
4806 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4807 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
4809 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4810 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
4811 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4812 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
4814 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4815 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
4816 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4817 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
4819 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4820 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4821 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
4822 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
4824 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4825 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4826 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
4827 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
4829 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x02, 0x0c, 0x01,
4830 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4831 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4832 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
4834 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x02, 0x0c, 0x01,
4835 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4836 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4837 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
4839 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x02, 0x0c, 0x01,
4840 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4841 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4842 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
4844 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x02, 0x0c, 0x01,
4845 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4846 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4847 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
4849 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x02, 0x0c, 0x01,
4850 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
4851 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4852 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
4854 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x02, 0x0c, 0x01,
4855 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
4856 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4857 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
4859 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x02, 0x0c, 0x01,
4860 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4861 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4862 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
4864 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x02, 0x0c, 0x01,
4865 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4866 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4867 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
4869 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x02, 0x0c, 0x01,
4870 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4871 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4872 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
4874 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x02, 0x0c, 0x01,
4875 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4876 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4877 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
4879 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4880 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
4881 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4882 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
4884 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4885 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4886 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4887 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
4889 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4890 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4891 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4892 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
4894 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4895 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
4896 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4897 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
4899 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4900 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
4901 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4902 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
4904 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4905 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4906 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4907 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
4909 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x02, 0x0c, 0x01,
4910 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4911 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
4912 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
4914 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x02, 0x0c, 0x01,
4915 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4916 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4917 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
4919 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x02, 0x0c, 0x01,
4920 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4921 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4922 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
4924 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x02, 0x0c, 0x01,
4925 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
4926 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4927 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
4929 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x02, 0x0c, 0x01,
4930 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
4931 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4932 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
4934 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x02, 0x0c, 0x01,
4935 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
4936 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4937 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
4939 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x02, 0x0c, 0x01,
4940 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4941 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4942 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
4944 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x02, 0x0c, 0x01,
4945 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4946 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4947 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
4949 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x02, 0x0c, 0x01,
4950 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4951 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4952 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
4954 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x02, 0x0c, 0x01,
4955 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4956 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4957 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
4959 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4960 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
4961 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4962 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
4964 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4965 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4966 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4967 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
4969 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4970 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4971 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4972 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
4974 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4975 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
4976 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4977 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
4979 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4980 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
4981 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4982 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
4984 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4985 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
4986 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4987 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
4989 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x02, 0x0c, 0x01,
4990 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4991 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4992 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
4994 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x02, 0x0c, 0x01,
4995 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4996 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4997 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
4999 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x02, 0x0c, 0x01,
5000 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
5001 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5002 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
5004 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x02, 0x0c, 0x01,
5005 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
5006 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5007 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
5009 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x02, 0x0c, 0x01,
5010 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
5011 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5012 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
5014 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x02, 0x0c, 0x01,
5015 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
5016 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5017 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
5019 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x02, 0x0c, 0x01,
5020 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
5021 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5022 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
5024 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x02, 0x0c, 0x01,
5025 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
5026 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5027 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
5029 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x02, 0x0c, 0x01,
5030 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5031 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5032 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
5034 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x02, 0x0c, 0x01,
5035 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5036 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5037 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
5039 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x02, 0x0c, 0x01,
5040 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5041 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5042 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
5044 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x02, 0x0c, 0x01,
5045 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5046 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5047 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
5049 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x02, 0x0c, 0x01,
5050 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5051 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5052 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
5054 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x05, 0x05, 0x02, 0x15, 0x01,
5055 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5056 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5057 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
5059 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x02, 0x0c, 0x01,
5060 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5061 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5062 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
5064 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x05, 0x05, 0x02, 0x15, 0x01,
5065 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5066 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5067 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
5069 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x02, 0x0c, 0x01,
5070 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5071 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5072 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
5074 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x05, 0x05, 0x02, 0x15, 0x01,
5075 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5076 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5077 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
5079 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x02, 0x0c, 0x01,
5080 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
5081 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5082 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
5084 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x05, 0x05, 0x02, 0x15, 0x01,
5085 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
5086 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5087 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
5089 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x02, 0x0c, 0x01,
5090 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
5091 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5092 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
5094 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x05, 0x05, 0x02, 0x15, 0x01,
5095 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5096 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5097 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
5099 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x02, 0x0c, 0x01,
5100 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5101 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5102 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
5104 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x05, 0x05, 0x02, 0x15, 0x01,
5105 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5106 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5107 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
5109 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x02, 0x0c, 0x01,
5110 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5111 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5112 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
5114 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x05, 0x05, 0x02, 0x15, 0x01,
5115 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
5116 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5117 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
5119 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x02, 0x0c, 0x01,
5120 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
5121 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5122 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
5124 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x05, 0x05, 0x02, 0x15, 0x01,
5125 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5126 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5127 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
5129 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x02, 0x0c, 0x01,
5130 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5131 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5132 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
5134 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x05, 0x05, 0x02, 0x15, 0x01,
5135 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5136 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5137 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
5139 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x02, 0x0c, 0x01,
5140 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5141 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5142 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
5144 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x05, 0x05, 0x02, 0x15, 0x01,
5145 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5146 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5147 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
5149 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x02, 0x0c, 0x01,
5150 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5151 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5152 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
5154 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x05, 0x05, 0x02, 0x15, 0x01,
5155 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5156 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5157 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
5159 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x02, 0x0c, 0x01,
5160 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5161 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5162 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
5164 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x02, 0x0c, 0x01,
5165 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5166 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5167 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
5169 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x02, 0x0c, 0x01,
5170 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5171 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5172 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
5174 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x02, 0x0c, 0x01,
5175 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5176 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5177 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
5179 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x02, 0x0c, 0x01,
5180 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5181 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5182 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
5184 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x02, 0x0c, 0x01,
5185 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5186 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5187 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
5189 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x02, 0x0c, 0x01,
5190 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5191 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5192 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
5194 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x02, 0x0c, 0x01,
5195 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5196 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5197 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
5199 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x02, 0x0c, 0x01,
5200 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5201 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5202 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
5204 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x06, 0x06, 0x04, 0x2b, 0x01,
5205 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
5206 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5207 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
5209 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x06, 0x06, 0x04, 0x2b, 0x01,
5210 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
5211 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5212 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
5214 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x06, 0x06, 0x04, 0x2b, 0x01,
5215 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
5216 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5217 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
5219 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x06, 0x06, 0x04, 0x2b, 0x01,
5220 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
5221 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
5222 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
5224 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x06, 0x06, 0x04, 0x2b, 0x01,
5225 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
5226 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
5227 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
5229 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x06, 0x06, 0x04, 0x2b, 0x01,
5230 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
5231 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
5232 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
5234 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x06, 0x06, 0x04, 0x2b, 0x01,
5235 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
5236 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x02, 0x00, 0x70, 0x00,
5237 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
5239 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x06, 0x06, 0x04, 0x2b, 0x01,
5240 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
5241 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
5242 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
5244 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x06, 0x06, 0x04, 0x2b, 0x01,
5245 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
5246 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
5247 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
5249 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x06, 0x06, 0x04, 0x2b, 0x01,
5250 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
5251 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
5252 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
5254 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x06, 0x06, 0x04, 0x2b, 0x01,
5255 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
5256 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
5257 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
5259 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x06, 0x06, 0x04, 0x2b, 0x01,
5260 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
5261 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
5262 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
5264 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x06, 0x06, 0x04, 0x2b, 0x01,
5265 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
5266 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
5267 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
5269 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x06, 0x06, 0x04, 0x2b, 0x01,
5270 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
5271 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
5272 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
5275 static chan_info_nphy_radio2057_t chan_info_nphyrev7_2057_rev4[] = {
5277 184, 4920, 0x68, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xec, 0x01, 0x0f,
5278 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5279 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07b4, 0x07b0, 0x07ac, 0x0214,
5284 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
5285 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5286 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07b8, 0x07b4, 0x07b0, 0x0213,
5291 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
5292 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5293 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07bc, 0x07b8, 0x07b4, 0x0212,
5298 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
5299 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5300 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c0, 0x07bc, 0x07b8, 0x0211,
5305 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
5306 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5307 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c4, 0x07c0, 0x07bc, 0x020f,
5312 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
5313 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5314 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c8, 0x07c4, 0x07c0, 0x020e,
5319 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
5320 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5321 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07cc, 0x07c8, 0x07c4, 0x020d,
5326 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
5327 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5328 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d0, 0x07cc, 0x07c8, 0x020c,
5333 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
5334 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5335 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d4, 0x07d0, 0x07cc, 0x020b,
5340 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
5341 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5342 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d8, 0x07d4, 0x07d0, 0x020a,
5347 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
5348 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5349 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07dc, 0x07d8, 0x07d4, 0x0209,
5354 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
5355 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5356 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e0, 0x07dc, 0x07d8, 0x0208,
5361 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
5362 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5363 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e4, 0x07e0, 0x07dc, 0x0207,
5368 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
5369 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5370 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e8, 0x07e4, 0x07e0, 0x0206,
5375 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
5376 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5377 0x00, 0x0f, 0x0f, 0xe3, 0x00, 0xef, 0x07ec, 0x07e8, 0x07e4, 0x0205,
5382 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
5383 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5384 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x07f0, 0x07ec, 0x07e8, 0x0204,
5389 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
5390 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5391 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x07f4, 0x07f0, 0x07ec, 0x0203,
5396 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
5397 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5398 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x07f8, 0x07f4, 0x07f0, 0x0202,
5403 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
5404 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5405 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x07fc, 0x07f8, 0x07f4, 0x0201,
5410 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
5411 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5412 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0800, 0x07fc, 0x07f8, 0x0200,
5417 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
5418 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5419 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0804, 0x0800, 0x07fc, 0x01ff,
5424 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
5425 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5426 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0808, 0x0804, 0x0800, 0x01fe,
5431 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
5432 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5433 0x00, 0x0e, 0x0e, 0xe3, 0x00, 0xd6, 0x080c, 0x0808, 0x0804, 0x01fd,
5438 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
5439 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5440 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x0814, 0x0810, 0x080c, 0x01fb,
5445 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
5446 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5447 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x0818, 0x0814, 0x0810, 0x01fa,
5452 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
5453 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5454 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x081c, 0x0818, 0x0814, 0x01f9,
5459 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
5460 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5461 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0820, 0x081c, 0x0818, 0x01f8,
5466 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
5467 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5468 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0824, 0x0820, 0x081c, 0x01f7,
5473 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
5474 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5475 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0828, 0x0824, 0x0820, 0x01f6,
5480 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
5481 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5482 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x082c, 0x0828, 0x0824, 0x01f5,
5487 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
5488 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5489 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0830, 0x082c, 0x0828, 0x01f4,
5494 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
5495 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5496 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0834, 0x0830, 0x082c, 0x01f3,
5501 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
5502 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5503 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0838, 0x0834, 0x0830, 0x01f2,
5508 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
5509 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x00,
5510 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x083c, 0x0838, 0x0834, 0x01f1,
5515 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
5516 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x00,
5517 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x0840, 0x083c, 0x0838, 0x01f0,
5522 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
5523 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5524 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x0844, 0x0840, 0x083c, 0x01f0,
5529 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
5530 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5531 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x0848, 0x0844, 0x0840, 0x01ef,
5536 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
5537 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5538 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x084c, 0x0848, 0x0844, 0x01ee,
5543 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
5544 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5545 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0850, 0x084c, 0x0848, 0x01ed,
5550 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
5551 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5552 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0854, 0x0850, 0x084c, 0x01ec,
5557 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
5558 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5559 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0858, 0x0854, 0x0850, 0x01eb,
5564 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
5565 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0c, 0xc3, 0x00, 0xa1, 0x00,
5566 0x00, 0x0a, 0x0c, 0xc3, 0x00, 0xa1, 0x085c, 0x0858, 0x0854, 0x01ea,
5571 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
5572 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5573 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0860, 0x085c, 0x0858, 0x01e9,
5578 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
5579 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5580 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0864, 0x0860, 0x085c, 0x01e8,
5585 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
5586 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5587 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0868, 0x0864, 0x0860, 0x01e7,
5592 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
5593 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5594 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x086c, 0x0868, 0x0864, 0x01e6,
5599 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
5600 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0a, 0xa3, 0x00, 0xa1, 0x00,
5601 0x00, 0x0a, 0x0a, 0xa3, 0x00, 0xa1, 0x0870, 0x086c, 0x0868, 0x01e5,
5606 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
5607 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x00,
5608 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x0874, 0x0870, 0x086c, 0x01e5,
5613 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
5614 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x00,
5615 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x0878, 0x0874, 0x0870, 0x01e4,
5620 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
5621 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0xa3, 0x00, 0x90, 0x00,
5622 0x00, 0x09, 0x09, 0xa3, 0x00, 0x90, 0x087c, 0x0878, 0x0874, 0x01e3,
5627 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
5628 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5629 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0880, 0x087c, 0x0878, 0x01e2,
5634 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
5635 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5636 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0884, 0x0880, 0x087c, 0x01e1,
5641 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
5642 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5643 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0888, 0x0884, 0x0880, 0x01e0,
5648 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
5649 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x08, 0x93, 0x00, 0x90, 0x00,
5650 0x00, 0x08, 0x08, 0x93, 0x00, 0x90, 0x088c, 0x0888, 0x0884, 0x01df,
5655 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
5656 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x08, 0x93, 0x00, 0x60, 0x00,
5657 0x00, 0x08, 0x08, 0x93, 0x00, 0x60, 0x0890, 0x088c, 0x0888, 0x01de,
5662 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
5663 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5664 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x0894, 0x0890, 0x088c, 0x01dd,
5669 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
5670 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5671 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x0898, 0x0894, 0x0890, 0x01dd,
5676 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
5677 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5678 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x089c, 0x0898, 0x0894, 0x01dc,
5683 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
5684 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5685 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x08a0, 0x089c, 0x0898, 0x01db,
5690 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
5691 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5692 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08a4, 0x08a0, 0x089c, 0x01da,
5697 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
5698 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5699 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
5704 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
5705 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5706 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
5711 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
5712 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5713 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
5718 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
5719 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5720 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
5725 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
5726 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5727 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
5732 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
5733 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x05, 0x83, 0x00, 0x60, 0x00,
5734 0x00, 0x07, 0x05, 0x83, 0x00, 0x60, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
5739 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
5740 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x04, 0x83, 0x00, 0x60, 0x00,
5741 0x00, 0x07, 0x04, 0x83, 0x00, 0x60, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
5746 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
5747 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x04, 0x73, 0x00, 0x30, 0x00,
5748 0x00, 0x07, 0x04, 0x73, 0x00, 0x30, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
5753 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
5754 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5755 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
5760 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
5761 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5762 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
5767 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
5768 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5769 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
5774 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
5775 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5776 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
5781 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
5782 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x00,
5783 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
5788 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
5789 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x00,
5790 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
5795 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
5796 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x03, 0x63, 0x00, 0x00, 0x00,
5797 0x00, 0x05, 0x03, 0x63, 0x00, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
5802 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
5803 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5804 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
5809 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
5810 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5811 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
5816 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
5817 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5818 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
5823 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
5824 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5825 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
5830 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
5831 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5832 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
5837 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
5838 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x05, 0x01, 0x53, 0x00, 0x00, 0x00,
5839 0x00, 0x05, 0x01, 0x53, 0x00, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
5844 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
5845 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5846 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
5851 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
5852 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5853 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
5858 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
5859 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5860 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
5865 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
5866 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5867 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
5872 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
5873 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5874 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
5879 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
5880 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5881 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
5886 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
5887 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5888 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
5893 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
5894 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5895 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
5900 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
5901 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5902 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
5907 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
5908 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5909 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
5914 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
5915 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x03, 0x01, 0x43, 0x00, 0x00, 0x00,
5916 0x00, 0x03, 0x01, 0x43, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
5921 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
5922 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5923 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
5928 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
5929 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5930 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
5935 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
5936 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5937 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
5942 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
5943 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5944 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
5949 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
5950 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5951 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
5956 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
5957 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5958 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
5963 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
5964 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5965 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
5970 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
5971 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5972 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
5977 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
5978 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5979 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
5984 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
5985 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5986 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
5991 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
5992 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5993 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
5998 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
5999 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6000 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
6005 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
6006 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6007 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
6012 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
6013 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6014 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
6019 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
6020 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6021 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
6026 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
6027 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6028 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
6033 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
6034 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6035 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
6040 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
6041 0x0a, 0x00, 0x0a, 0x00, 0x71, 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6042 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
6047 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
6048 0x0a, 0x00, 0x0a, 0x00, 0x71, 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6049 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
6054 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
6055 0x09, 0x00, 0x09, 0x00, 0x71, 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6056 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
6061 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
6062 0x09, 0x00, 0x09, 0x00, 0x71, 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6063 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
6068 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
6069 0x08, 0x00, 0x08, 0x00, 0x51, 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6070 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
6075 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
6076 0x08, 0x00, 0x08, 0x00, 0x51, 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6077 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
6082 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
6083 0x07, 0x00, 0x07, 0x00, 0x51, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6084 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
6089 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
6090 0x07, 0x00, 0x07, 0x00, 0x31, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6091 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
6096 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
6097 0x07, 0x00, 0x07, 0x00, 0x31, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6098 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
6103 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
6104 0x06, 0x00, 0x06, 0x00, 0x31, 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6105 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
6110 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
6111 0x06, 0x00, 0x06, 0x00, 0x31, 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6112 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
6117 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
6118 0x05, 0x00, 0x05, 0x00, 0x11, 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x11,
6119 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
6124 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
6125 0x05, 0x00, 0x05, 0x00, 0x11, 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x11,
6126 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
6131 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
6132 0x04, 0x00, 0x04, 0x00, 0x11, 0x43, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x11,
6133 0x43, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
6138 static chan_info_nphy_radio2057_rev5_t chan_info_nphyrev8_2057_rev5[] = {
6140 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0d,
6141 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03c9, 0x03c5, 0x03c1,
6142 0x043a, 0x043f, 0x0443},
6144 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0d,
6145 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03cb, 0x03c7, 0x03c3,
6146 0x0438, 0x043d, 0x0441},
6148 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0d,
6149 0x08, 0x0e, 0x61, 0x03, 0xef, 0x61, 0x03, 0xef, 0x03cd, 0x03c9, 0x03c5,
6150 0x0436, 0x043a, 0x043f},
6152 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0c,
6153 0x08, 0x0e, 0x61, 0x03, 0xdf, 0x61, 0x03, 0xdf, 0x03cf, 0x03cb, 0x03c7,
6154 0x0434, 0x0438, 0x043d},
6156 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0c,
6157 0x07, 0x0d, 0x61, 0x03, 0xcf, 0x61, 0x03, 0xcf, 0x03d1, 0x03cd, 0x03c9,
6158 0x0431, 0x0436, 0x043a},
6160 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0c,
6161 0x07, 0x0d, 0x61, 0x03, 0xbf, 0x61, 0x03, 0xbf, 0x03d3, 0x03cf, 0x03cb,
6162 0x042f, 0x0434, 0x0438},
6164 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0b,
6165 0x07, 0x0d, 0x61, 0x03, 0xaf, 0x61, 0x03, 0xaf, 0x03d5, 0x03d1, 0x03cd,
6166 0x042d, 0x0431, 0x0436},
6168 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0b,
6169 0x07, 0x0d, 0x61, 0x03, 0x9f, 0x61, 0x03, 0x9f, 0x03d7, 0x03d3, 0x03cf,
6170 0x042b, 0x042f, 0x0434},
6172 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0b,
6173 0x07, 0x0d, 0x61, 0x03, 0x8f, 0x61, 0x03, 0x8f, 0x03d9, 0x03d5, 0x03d1,
6174 0x0429, 0x042d, 0x0431},
6176 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0b,
6177 0x07, 0x0c, 0x61, 0x03, 0x7f, 0x61, 0x03, 0x7f, 0x03db, 0x03d7, 0x03d3,
6178 0x0427, 0x042b, 0x042f},
6180 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0b,
6181 0x07, 0x0c, 0x61, 0x03, 0x6f, 0x61, 0x03, 0x6f, 0x03dd, 0x03d9, 0x03d5,
6182 0x0424, 0x0429, 0x042d},
6184 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0b,
6185 0x06, 0x0c, 0x61, 0x03, 0x5f, 0x61, 0x03, 0x5f, 0x03df, 0x03db, 0x03d7,
6186 0x0422, 0x0427, 0x042b},
6188 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0a,
6189 0x06, 0x0b, 0x61, 0x03, 0x4f, 0x61, 0x03, 0x4f, 0x03e1, 0x03dd, 0x03d9,
6190 0x0420, 0x0424, 0x0429},
6192 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0a,
6193 0x06, 0x0b, 0x61, 0x03, 0x3f, 0x61, 0x03, 0x3f, 0x03e6, 0x03e2, 0x03de,
6194 0x041b, 0x041f, 0x0424}
6197 static chan_info_nphy_radio2057_rev5_t chan_info_nphyrev9_2057_rev5v1[] = {
6199 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0d,
6200 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03c9, 0x03c5, 0x03c1,
6201 0x043a, 0x043f, 0x0443},
6203 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0d,
6204 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03cb, 0x03c7, 0x03c3,
6205 0x0438, 0x043d, 0x0441},
6207 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0d,
6208 0x08, 0x0e, 0x61, 0x03, 0xef, 0x61, 0x03, 0xef, 0x03cd, 0x03c9, 0x03c5,
6209 0x0436, 0x043a, 0x043f},
6211 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0c,
6212 0x08, 0x0e, 0x61, 0x03, 0xdf, 0x61, 0x03, 0xdf, 0x03cf, 0x03cb, 0x03c7,
6213 0x0434, 0x0438, 0x043d},
6215 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0c,
6216 0x07, 0x0d, 0x61, 0x03, 0xcf, 0x61, 0x03, 0xcf, 0x03d1, 0x03cd, 0x03c9,
6217 0x0431, 0x0436, 0x043a},
6219 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0c,
6220 0x07, 0x0d, 0x61, 0x03, 0xbf, 0x61, 0x03, 0xbf, 0x03d3, 0x03cf, 0x03cb,
6221 0x042f, 0x0434, 0x0438},
6223 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0b,
6224 0x07, 0x0d, 0x61, 0x03, 0xaf, 0x61, 0x03, 0xaf, 0x03d5, 0x03d1, 0x03cd,
6225 0x042d, 0x0431, 0x0436},
6227 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0b,
6228 0x07, 0x0d, 0x61, 0x03, 0x9f, 0x61, 0x03, 0x9f, 0x03d7, 0x03d3, 0x03cf,
6229 0x042b, 0x042f, 0x0434},
6231 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0b,
6232 0x07, 0x0d, 0x61, 0x03, 0x8f, 0x61, 0x03, 0x8f, 0x03d9, 0x03d5, 0x03d1,
6233 0x0429, 0x042d, 0x0431},
6235 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0b,
6236 0x07, 0x0c, 0x61, 0x03, 0x7f, 0x61, 0x03, 0x7f, 0x03db, 0x03d7, 0x03d3,
6237 0x0427, 0x042b, 0x042f},
6239 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0b,
6240 0x07, 0x0c, 0x61, 0x03, 0x6f, 0x61, 0x03, 0x6f, 0x03dd, 0x03d9, 0x03d5,
6241 0x0424, 0x0429, 0x042d},
6243 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0b,
6244 0x06, 0x0c, 0x61, 0x03, 0x5f, 0x61, 0x03, 0x5f, 0x03df, 0x03db, 0x03d7,
6245 0x0422, 0x0427, 0x042b},
6247 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0a,
6248 0x06, 0x0b, 0x61, 0x03, 0x4f, 0x61, 0x03, 0x4f, 0x03e1, 0x03dd, 0x03d9,
6249 0x0420, 0x0424, 0x0429},
6251 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0a,
6252 0x06, 0x0b, 0x61, 0x03, 0x3f, 0x61, 0x03, 0x3f, 0x03e6, 0x03e2, 0x03de,
6253 0x041b, 0x041f, 0x0424}
6256 static chan_info_nphy_radio2057_t chan_info_nphyrev8_2057_rev7[] = {
6258 184, 4920, 0x68, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xec, 0x01, 0x0f,
6259 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6260 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b4, 0x07b0, 0x07ac, 0x0214,
6264 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
6265 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6266 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b8, 0x07b4, 0x07b0, 0x0213,
6270 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
6271 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6272 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07bc, 0x07b8, 0x07b4, 0x0212,
6276 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
6277 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6278 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c0, 0x07bc, 0x07b8, 0x0211,
6282 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
6283 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6284 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c4, 0x07c0, 0x07bc, 0x020f,
6288 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
6289 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6290 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c8, 0x07c4, 0x07c0, 0x020e,
6294 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
6295 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6296 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07cc, 0x07c8, 0x07c4, 0x020d,
6300 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
6301 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6302 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07d0, 0x07cc, 0x07c8, 0x020c,
6306 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
6307 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6308 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d4, 0x07d0, 0x07cc, 0x020b,
6312 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
6313 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6314 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d8, 0x07d4, 0x07d0, 0x020a,
6318 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
6319 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6320 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07dc, 0x07d8, 0x07d4, 0x0209,
6324 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
6325 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6326 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e0, 0x07dc, 0x07d8, 0x0208,
6330 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
6331 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6332 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e4, 0x07e0, 0x07dc, 0x0207,
6336 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
6337 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6338 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e8, 0x07e4, 0x07e0, 0x0206,
6342 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
6343 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6344 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07ec, 0x07e8, 0x07e4, 0x0205,
6348 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
6349 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6350 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f0, 0x07ec, 0x07e8, 0x0204,
6354 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
6355 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6356 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f4, 0x07f0, 0x07ec, 0x0203,
6360 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
6361 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6362 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f8, 0x07f4, 0x07f0, 0x0202,
6366 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
6367 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6368 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x07fc, 0x07f8, 0x07f4, 0x0201,
6372 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
6373 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6374 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0800, 0x07fc, 0x07f8, 0x0200,
6378 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
6379 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6380 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0804, 0x0800, 0x07fc, 0x01ff,
6384 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
6385 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6386 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0808, 0x0804, 0x0800, 0x01fe,
6390 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
6391 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6392 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x080c, 0x0808, 0x0804, 0x01fd,
6396 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
6397 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6398 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0814, 0x0810, 0x080c, 0x01fb,
6402 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
6403 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6404 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0818, 0x0814, 0x0810, 0x01fa,
6408 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
6409 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6410 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x081c, 0x0818, 0x0814, 0x01f9,
6414 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
6415 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6416 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0820, 0x081c, 0x0818, 0x01f8,
6420 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
6421 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6422 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0824, 0x0820, 0x081c, 0x01f7,
6426 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
6427 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6428 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0828, 0x0824, 0x0820, 0x01f6,
6432 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
6433 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6434 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x082c, 0x0828, 0x0824, 0x01f5,
6438 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
6439 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6440 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0830, 0x082c, 0x0828, 0x01f4,
6444 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
6445 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6446 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0834, 0x0830, 0x082c, 0x01f3,
6450 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
6451 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6452 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0838, 0x0834, 0x0830, 0x01f2,
6456 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
6457 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6458 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x083c, 0x0838, 0x0834, 0x01f1,
6462 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
6463 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6464 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0840, 0x083c, 0x0838, 0x01f0,
6468 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
6469 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6470 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0844, 0x0840, 0x083c, 0x01f0,
6474 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
6475 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6476 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0848, 0x0844, 0x0840, 0x01ef,
6480 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
6481 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6482 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x084c, 0x0848, 0x0844, 0x01ee,
6486 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
6487 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6488 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0850, 0x084c, 0x0848, 0x01ed,
6492 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
6493 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6494 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0854, 0x0850, 0x084c, 0x01ec,
6498 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
6499 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6500 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0858, 0x0854, 0x0850, 0x01eb,
6504 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
6505 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6506 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x085c, 0x0858, 0x0854, 0x01ea,
6510 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
6511 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6512 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0860, 0x085c, 0x0858, 0x01e9,
6516 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
6517 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6518 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0864, 0x0860, 0x085c, 0x01e8,
6522 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
6523 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6524 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0868, 0x0864, 0x0860, 0x01e7,
6528 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
6529 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6530 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x086c, 0x0868, 0x0864, 0x01e6,
6534 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
6535 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6536 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0870, 0x086c, 0x0868, 0x01e5,
6540 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
6541 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6542 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0874, 0x0870, 0x086c, 0x01e5,
6546 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
6547 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6548 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0878, 0x0874, 0x0870, 0x01e4,
6552 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
6553 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6554 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x087c, 0x0878, 0x0874, 0x01e3,
6558 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
6559 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6560 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0880, 0x087c, 0x0878, 0x01e2,
6564 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
6565 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6566 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0884, 0x0880, 0x087c, 0x01e1,
6570 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
6571 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6572 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0888, 0x0884, 0x0880, 0x01e0,
6576 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
6577 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6578 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x088c, 0x0888, 0x0884, 0x01df,
6582 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
6583 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6584 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0890, 0x088c, 0x0888, 0x01de,
6588 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
6589 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6590 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0894, 0x0890, 0x088c, 0x01dd,
6594 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
6595 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6596 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0898, 0x0894, 0x0890, 0x01dd,
6600 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
6601 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6602 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x089c, 0x0898, 0x0894, 0x01dc,
6606 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
6607 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6608 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a0, 0x089c, 0x0898, 0x01db,
6612 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
6613 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6614 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a4, 0x08a0, 0x089c, 0x01da,
6618 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
6619 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6620 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
6624 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
6625 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6626 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
6630 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
6631 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6632 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
6636 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
6637 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6638 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
6642 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
6643 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6644 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
6648 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
6649 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6650 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
6654 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
6655 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6656 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
6660 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
6661 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6662 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
6666 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
6667 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6668 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
6672 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
6673 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6674 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
6678 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
6679 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6680 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
6684 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
6685 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6686 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
6690 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
6691 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6692 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
6696 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
6697 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6698 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
6702 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
6703 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6704 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
6708 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
6709 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
6710 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
6714 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
6715 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
6716 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
6720 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
6721 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6722 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
6726 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
6727 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6728 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
6732 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
6733 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6734 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
6738 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
6739 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6740 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
6744 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
6745 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6746 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
6750 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
6751 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6752 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
6756 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
6757 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6758 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
6762 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
6763 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6764 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
6768 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
6769 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6770 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
6774 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
6775 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6776 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
6780 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
6781 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6782 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
6786 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
6787 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6788 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
6792 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
6793 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6794 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
6798 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
6799 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6800 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
6804 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
6805 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6806 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
6810 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
6811 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6812 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
6816 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
6817 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6818 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
6822 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
6823 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6824 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
6828 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
6829 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x00,
6830 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
6834 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
6835 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6836 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
6840 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
6841 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6842 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
6846 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
6847 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6848 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
6852 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
6853 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6854 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
6858 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
6859 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6860 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
6864 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
6865 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6866 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
6870 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
6871 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6872 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
6876 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
6877 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6878 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
6882 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
6883 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6884 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
6888 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
6889 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6890 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
6894 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
6895 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6896 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
6900 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
6901 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6902 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
6906 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
6907 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6908 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
6912 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
6913 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6914 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
6918 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
6919 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6920 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
6924 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
6925 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6926 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
6930 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
6931 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6932 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
6936 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
6937 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6938 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
6942 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
6943 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6944 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
6948 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
6949 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6950 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
6954 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
6955 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6956 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
6960 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
6961 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6962 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
6966 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
6967 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6968 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
6972 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
6973 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6974 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
6978 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
6979 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6980 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
6984 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
6985 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6986 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
6990 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
6991 0x04, 0x00, 0x04, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x61,
6992 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
6997 static chan_info_nphy_radio2057_t chan_info_nphyrev8_2057_rev8[] = {
6999 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
7000 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7001 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b8, 0x07b4, 0x07b0, 0x0213,
7005 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
7006 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7007 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07bc, 0x07b8, 0x07b4, 0x0212,
7011 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
7012 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7013 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c0, 0x07bc, 0x07b8, 0x0211,
7017 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
7018 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7019 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c4, 0x07c0, 0x07bc, 0x020f,
7023 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
7024 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7025 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c8, 0x07c4, 0x07c0, 0x020e,
7029 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
7030 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7031 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07cc, 0x07c8, 0x07c4, 0x020d,
7035 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
7036 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7037 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07d0, 0x07cc, 0x07c8, 0x020c,
7041 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
7042 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7043 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d4, 0x07d0, 0x07cc, 0x020b,
7047 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
7048 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7049 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d8, 0x07d4, 0x07d0, 0x020a,
7053 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
7054 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7055 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07dc, 0x07d8, 0x07d4, 0x0209,
7059 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
7060 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7061 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e0, 0x07dc, 0x07d8, 0x0208,
7065 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
7066 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7067 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e4, 0x07e0, 0x07dc, 0x0207,
7071 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
7072 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7073 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e8, 0x07e4, 0x07e0, 0x0206,
7077 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
7078 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7079 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07ec, 0x07e8, 0x07e4, 0x0205,
7083 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
7084 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7085 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f0, 0x07ec, 0x07e8, 0x0204,
7089 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
7090 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7091 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f4, 0x07f0, 0x07ec, 0x0203,
7095 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
7096 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7097 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f8, 0x07f4, 0x07f0, 0x0202,
7101 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
7102 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7103 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x07fc, 0x07f8, 0x07f4, 0x0201,
7107 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
7108 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7109 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0800, 0x07fc, 0x07f8, 0x0200,
7113 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
7114 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7115 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0804, 0x0800, 0x07fc, 0x01ff,
7119 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
7120 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7121 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0808, 0x0804, 0x0800, 0x01fe,
7125 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
7126 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7127 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x080c, 0x0808, 0x0804, 0x01fd,
7131 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
7132 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7133 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0814, 0x0810, 0x080c, 0x01fb,
7137 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
7138 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7139 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0818, 0x0814, 0x0810, 0x01fa,
7143 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
7144 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7145 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x081c, 0x0818, 0x0814, 0x01f9,
7149 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
7150 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7151 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0820, 0x081c, 0x0818, 0x01f8,
7155 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
7156 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7157 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0824, 0x0820, 0x081c, 0x01f7,
7161 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
7162 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7163 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0828, 0x0824, 0x0820, 0x01f6,
7167 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
7168 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7169 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x082c, 0x0828, 0x0824, 0x01f5,
7173 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
7174 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7175 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0830, 0x082c, 0x0828, 0x01f4,
7179 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
7180 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7181 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0834, 0x0830, 0x082c, 0x01f3,
7185 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
7186 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7187 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0838, 0x0834, 0x0830, 0x01f2,
7191 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
7192 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7193 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x083c, 0x0838, 0x0834, 0x01f1,
7197 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
7198 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7199 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0840, 0x083c, 0x0838, 0x01f0,
7203 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
7204 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7205 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0844, 0x0840, 0x083c, 0x01f0,
7209 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
7210 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7211 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0848, 0x0844, 0x0840, 0x01ef,
7215 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
7216 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7217 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x084c, 0x0848, 0x0844, 0x01ee,
7221 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
7222 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7223 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0850, 0x084c, 0x0848, 0x01ed,
7227 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
7228 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7229 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0854, 0x0850, 0x084c, 0x01ec,
7233 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
7234 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7235 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0858, 0x0854, 0x0850, 0x01eb,
7239 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
7240 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7241 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x085c, 0x0858, 0x0854, 0x01ea,
7245 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
7246 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7247 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0860, 0x085c, 0x0858, 0x01e9,
7251 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
7252 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7253 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0864, 0x0860, 0x085c, 0x01e8,
7257 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
7258 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7259 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0868, 0x0864, 0x0860, 0x01e7,
7263 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
7264 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7265 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x086c, 0x0868, 0x0864, 0x01e6,
7269 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
7270 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7271 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0870, 0x086c, 0x0868, 0x01e5,
7275 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
7276 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7277 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0874, 0x0870, 0x086c, 0x01e5,
7281 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
7282 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7283 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0878, 0x0874, 0x0870, 0x01e4,
7287 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
7288 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7289 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x087c, 0x0878, 0x0874, 0x01e3,
7293 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
7294 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7295 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0880, 0x087c, 0x0878, 0x01e2,
7299 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
7300 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7301 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0884, 0x0880, 0x087c, 0x01e1,
7305 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
7306 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7307 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0888, 0x0884, 0x0880, 0x01e0,
7311 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
7312 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7313 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x088c, 0x0888, 0x0884, 0x01df,
7317 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
7318 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7319 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0890, 0x088c, 0x0888, 0x01de,
7323 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
7324 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7325 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0894, 0x0890, 0x088c, 0x01dd,
7329 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
7330 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7331 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0898, 0x0894, 0x0890, 0x01dd,
7335 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
7336 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7337 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x089c, 0x0898, 0x0894, 0x01dc,
7341 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
7342 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7343 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a0, 0x089c, 0x0898, 0x01db,
7347 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
7348 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7349 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a4, 0x08a0, 0x089c, 0x01da,
7353 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
7354 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7355 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
7359 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
7360 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7361 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
7365 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
7366 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7367 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
7371 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
7372 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7373 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
7377 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
7378 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7379 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
7383 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
7384 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7385 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
7389 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
7390 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7391 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
7395 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
7396 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7397 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
7401 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
7402 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7403 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
7407 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
7408 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7409 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
7413 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
7414 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7415 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
7419 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
7420 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7421 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
7425 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
7426 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7427 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
7431 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
7432 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7433 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
7437 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
7438 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7439 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
7443 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
7444 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
7445 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
7449 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
7450 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
7451 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
7455 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
7456 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7457 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
7461 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
7462 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7463 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
7467 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
7468 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7469 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
7473 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
7474 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7475 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
7479 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
7480 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7481 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
7485 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
7486 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7487 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
7491 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
7492 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7493 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
7497 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
7498 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7499 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
7503 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
7504 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7505 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
7509 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
7510 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7511 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
7515 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
7516 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7517 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
7521 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
7522 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7523 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
7527 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
7528 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7529 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
7533 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
7534 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7535 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
7539 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
7540 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7541 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
7545 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
7546 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7547 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
7551 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
7552 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7553 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
7557 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
7558 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7559 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
7563 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
7564 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x00,
7565 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
7569 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
7570 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7571 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
7575 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
7576 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7577 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
7581 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
7582 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7583 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
7587 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
7588 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7589 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
7593 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
7594 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7595 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
7599 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
7600 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7601 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
7605 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
7606 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7607 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
7611 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
7612 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7613 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
7617 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
7618 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7619 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
7623 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
7624 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7625 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
7629 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
7630 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7631 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
7635 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
7636 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7637 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
7641 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
7642 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7643 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
7647 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
7648 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7649 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
7653 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
7654 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7655 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
7659 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
7660 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7661 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
7665 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
7666 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7667 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
7671 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
7672 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7673 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
7677 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
7678 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7679 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
7683 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
7684 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7685 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
7689 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
7690 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7691 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
7695 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
7696 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7697 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
7701 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
7702 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7703 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
7707 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
7708 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7709 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
7713 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
7714 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7715 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
7719 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
7720 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7721 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
7725 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
7726 0x04, 0x00, 0x04, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x61,
7727 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
7732 radio_regs_t regs_2055[] = {
7733 {0x02, 0x80, 0x80, 0, 0},
7735 {0x04, 0x27, 0x27, 0, 0},
7737 {0x06, 0x27, 0x27, 0, 0},
7738 {0x07, 0x7f, 0x7f, 1, 1},
7739 {0x08, 0x7, 0x7, 1, 1},
7740 {0x09, 0x7f, 0x7f, 1, 1},
7741 {0x0A, 0x7, 0x7, 1, 1},
7742 {0x0B, 0x15, 0x15, 0, 0},
7743 {0x0C, 0x15, 0x15, 0, 0},
7744 {0x0D, 0x4f, 0x4f, 1, 1},
7745 {0x0E, 0x5, 0x5, 1, 1},
7746 {0x0F, 0x4f, 0x4f, 1, 1},
7747 {0x10, 0x5, 0x5, 1, 1},
7748 {0x11, 0xd0, 0xd0, 0, 0},
7749 {0x12, 0x2, 0x2, 0, 0},
7751 {0x14, 0x40, 0x40, 0, 0},
7760 {0x1D, 0xc0, 0xc0, 0, 0},
7761 {0x1E, 0xff, 0xff, 0, 0},
7762 {0x1F, 0xc0, 0xc0, 0, 0},
7763 {0x20, 0xff, 0xff, 0, 0},
7764 {0x21, 0xc0, 0xc0, 0, 0},
7766 {0x23, 0x2c, 0x2c, 0, 0},
7776 {0x2D, 0xa4, 0xa4, 0, 0},
7777 {0x2E, 0x38, 0x38, 0, 0},
7779 {0x30, 0x4, 0x4, 1, 1},
7781 {0x32, 0xa, 0xa, 0, 0},
7782 {0x33, 0x87, 0x87, 0, 0},
7783 {0x34, 0x9, 0x9, 0, 0},
7784 {0x35, 0x70, 0x70, 0, 0},
7785 {0x36, 0x11, 0x11, 0, 0},
7786 {0x37, 0x18, 0x18, 1, 1},
7787 {0x38, 0x6, 0x6, 0, 0},
7788 {0x39, 0x4, 0x4, 1, 1},
7789 {0x3A, 0x6, 0x6, 0, 0},
7790 {0x3B, 0x9e, 0x9e, 0, 0},
7791 {0x3C, 0x9, 0x9, 0, 0},
7792 {0x3D, 0xc8, 0xc8, 1, 1},
7793 {0x3E, 0x88, 0x88, 0, 0},
7797 {0x42, 0x1, 0x1, 0, 0},
7798 {0x43, 0x2, 0x2, 0, 0},
7799 {0x44, 0x96, 0x96, 0, 0},
7800 {0x45, 0x3e, 0x3e, 0, 0},
7801 {0x46, 0x3e, 0x3e, 0, 0},
7802 {0x47, 0x13, 0x13, 0, 0},
7803 {0x48, 0x2, 0x2, 0, 0},
7804 {0x49, 0x15, 0x15, 0, 0},
7805 {0x4A, 0x7, 0x7, 0, 0},
7811 {0x50, 0x8, 0x8, 0, 0},
7812 {0x51, 0x8, 0x8, 0, 0},
7813 {0x52, 0x6, 0x6, 0, 0},
7814 {0x53, 0x84, 0x84, 1, 1},
7815 {0x54, 0xc3, 0xc3, 0, 0},
7816 {0x55, 0x8f, 0x8f, 0, 0},
7817 {0x56, 0xff, 0xff, 0, 0},
7818 {0x57, 0xff, 0xff, 0, 0},
7819 {0x58, 0x88, 0x88, 0, 0},
7820 {0x59, 0x88, 0x88, 0, 0},
7822 {0x5B, 0xcc, 0xcc, 0, 0},
7823 {0x5C, 0x6, 0x6, 0, 0},
7824 {0x5D, 0x80, 0x80, 0, 0},
7825 {0x5E, 0x80, 0x80, 0, 0},
7826 {0x5F, 0xf8, 0xf8, 0, 0},
7827 {0x60, 0x88, 0x88, 0, 0},
7828 {0x61, 0x88, 0x88, 0, 0},
7829 {0x62, 0x88, 0x8, 1, 1},
7830 {0x63, 0x88, 0x88, 0, 0},
7832 {0x65, 0x1, 0x1, 1, 1},
7833 {0x66, 0x8a, 0x8a, 0, 0},
7834 {0x67, 0x8, 0x8, 0, 0},
7835 {0x68, 0x83, 0x83, 0, 0},
7836 {0x69, 0x6, 0x6, 0, 0},
7837 {0x6A, 0xa0, 0xa0, 0, 0},
7838 {0x6B, 0xa, 0xa, 0, 0},
7839 {0x6C, 0x87, 0x87, 1, 1},
7840 {0x6D, 0x2a, 0x2a, 0, 0},
7841 {0x6E, 0x2a, 0x2a, 0, 0},
7842 {0x6F, 0x2a, 0x2a, 0, 0},
7843 {0x70, 0x2a, 0x2a, 0, 0},
7844 {0x71, 0x18, 0x18, 0, 0},
7845 {0x72, 0x6a, 0x6a, 1, 1},
7846 {0x73, 0xab, 0xab, 1, 1},
7847 {0x74, 0x13, 0x13, 1, 1},
7848 {0x75, 0xc1, 0xc1, 1, 1},
7849 {0x76, 0xaa, 0xaa, 1, 1},
7850 {0x77, 0x87, 0x87, 1, 1},
7852 {0x79, 0x6, 0x6, 0, 0},
7853 {0x7A, 0x7, 0x7, 0, 0},
7854 {0x7B, 0x7, 0x7, 0, 0},
7855 {0x7C, 0x15, 0x15, 0, 0},
7856 {0x7D, 0x55, 0x55, 0, 0},
7857 {0x7E, 0x97, 0x97, 1, 1},
7858 {0x7F, 0x8, 0x8, 0, 0},
7859 {0x80, 0x14, 0x14, 1, 1},
7860 {0x81, 0x33, 0x33, 0, 0},
7861 {0x82, 0x88, 0x88, 0, 0},
7862 {0x83, 0x6, 0x6, 0, 0},
7863 {0x84, 0x3, 0x3, 1, 1},
7864 {0x85, 0xa, 0xa, 0, 0},
7865 {0x86, 0x3, 0x3, 1, 1},
7866 {0x87, 0x2a, 0x2a, 0, 0},
7867 {0x88, 0xa4, 0xa4, 0, 0},
7868 {0x89, 0x18, 0x18, 0, 0},
7869 {0x8A, 0x28, 0x28, 0, 0},
7871 {0x8C, 0x4a, 0x4a, 0, 0},
7873 {0x8E, 0xf8, 0xf8, 0, 0},
7874 {0x8F, 0x88, 0x88, 0, 0},
7875 {0x90, 0x88, 0x88, 0, 0},
7876 {0x91, 0x88, 0x8, 1, 1},
7877 {0x92, 0x88, 0x88, 0, 0},
7879 {0x94, 0x1, 0x1, 1, 1},
7880 {0x95, 0x8a, 0x8a, 0, 0},
7881 {0x96, 0x8, 0x8, 0, 0},
7882 {0x97, 0x83, 0x83, 0, 0},
7883 {0x98, 0x6, 0x6, 0, 0},
7884 {0x99, 0xa0, 0xa0, 0, 0},
7885 {0x9A, 0xa, 0xa, 0, 0},
7886 {0x9B, 0x87, 0x87, 1, 1},
7887 {0x9C, 0x2a, 0x2a, 0, 0},
7888 {0x9D, 0x2a, 0x2a, 0, 0},
7889 {0x9E, 0x2a, 0x2a, 0, 0},
7890 {0x9F, 0x2a, 0x2a, 0, 0},
7891 {0xA0, 0x18, 0x18, 0, 0},
7892 {0xA1, 0x6a, 0x6a, 1, 1},
7893 {0xA2, 0xab, 0xab, 1, 1},
7894 {0xA3, 0x13, 0x13, 1, 1},
7895 {0xA4, 0xc1, 0xc1, 1, 1},
7896 {0xA5, 0xaa, 0xaa, 1, 1},
7897 {0xA6, 0x87, 0x87, 1, 1},
7899 {0xA8, 0x6, 0x6, 0, 0},
7900 {0xA9, 0x7, 0x7, 0, 0},
7901 {0xAA, 0x7, 0x7, 0, 0},
7902 {0xAB, 0x15, 0x15, 0, 0},
7903 {0xAC, 0x55, 0x55, 0, 0},
7904 {0xAD, 0x97, 0x97, 1, 1},
7905 {0xAE, 0x8, 0x8, 0, 0},
7906 {0xAF, 0x14, 0x14, 1, 1},
7907 {0xB0, 0x33, 0x33, 0, 0},
7908 {0xB1, 0x88, 0x88, 0, 0},
7909 {0xB2, 0x6, 0x6, 0, 0},
7910 {0xB3, 0x3, 0x3, 1, 1},
7911 {0xB4, 0xa, 0xa, 0, 0},
7912 {0xB5, 0x3, 0x3, 1, 1},
7913 {0xB6, 0x2a, 0x2a, 0, 0},
7914 {0xB7, 0xa4, 0xa4, 0, 0},
7915 {0xB8, 0x18, 0x18, 0, 0},
7916 {0xB9, 0x28, 0x28, 0, 0},
7918 {0xBB, 0x4a, 0x4a, 0, 0},
7920 {0xBD, 0x71, 0x71, 0, 0},
7921 {0xBE, 0x72, 0x72, 0, 0},
7922 {0xBF, 0x73, 0x73, 0, 0},
7923 {0xC0, 0x74, 0x74, 0, 0},
7924 {0xC1, 0x75, 0x75, 0, 0},
7925 {0xC2, 0x76, 0x76, 0, 0},
7926 {0xC3, 0x77, 0x77, 0, 0},
7927 {0xC4, 0x78, 0x78, 0, 0},
7928 {0xC5, 0x79, 0x79, 0, 0},
7929 {0xC6, 0x7a, 0x7a, 0, 0},
7937 {0xCE, 0x6, 0x6, 0, 0},
7940 {0xD1, 0x18, 0x18, 0, 0},
7941 {0xD2, 0x88, 0x88, 0, 0},
7949 {0xDA, 0x6, 0x6, 0, 0},
7952 {0xDD, 0x18, 0x18, 0, 0},
7953 {0xDE, 0x88, 0x88, 0, 0},
7958 {0xFFFF, 0, 0, 0, 0},
7961 radio_regs_t regs_SYN_2056[] = {
7969 {0x09, 0x1, 0x1, 0, 0},
7994 {0x22, 0x60, 0x60, 0, 0},
7995 {0x23, 0x6, 0x6, 0, 0},
7996 {0x24, 0xc, 0xc, 0, 0},
8000 {0x28, 0x1, 0x1, 0, 0},
8006 {0x2E, 0xd, 0xd, 0, 0},
8007 {0x2F, 0x1f, 0x1f, 0, 0},
8008 {0x30, 0x15, 0x15, 0, 0},
8009 {0x31, 0xf, 0xf, 0, 0},
8020 {0x3C, 0x13, 0x13, 0, 0},
8021 {0x3D, 0xf, 0xf, 0, 0},
8022 {0x3E, 0x18, 0x18, 0, 0},
8025 {0x41, 0x20, 0x20, 0, 0},
8026 {0x42, 0x20, 0x20, 0, 0},
8028 {0x44, 0x77, 0x77, 0, 0},
8029 {0x45, 0x7, 0x7, 0, 0},
8030 {0x46, 0x1, 0x1, 0, 0},
8031 {0x47, 0x4, 0x4, 0, 0},
8032 {0x48, 0xf, 0xf, 0, 0},
8033 {0x49, 0x30, 0x30, 0, 0},
8034 {0x4A, 0x32, 0x32, 0, 0},
8035 {0x4B, 0xd, 0xd, 0, 0},
8036 {0x4C, 0xd, 0xd, 0, 0},
8037 {0x4D, 0x4, 0x4, 0, 0},
8038 {0x4E, 0x6, 0x6, 0, 0},
8039 {0x4F, 0x1, 0x1, 0, 0},
8040 {0x50, 0x1c, 0x1c, 0, 0},
8041 {0x51, 0x2, 0x2, 0, 0},
8042 {0x52, 0x2, 0x2, 0, 0},
8043 {0x53, 0xf7, 0xf7, 1, 1},
8044 {0x54, 0xb4, 0xb4, 0, 0},
8045 {0x55, 0xd2, 0xd2, 0, 0},
8048 {0x58, 0x4, 0x4, 0, 0},
8049 {0x59, 0x96, 0x96, 0, 0},
8050 {0x5A, 0x3e, 0x3e, 0, 0},
8051 {0x5B, 0x3e, 0x3e, 0, 0},
8052 {0x5C, 0x13, 0x13, 0, 0},
8053 {0x5D, 0x2, 0x2, 0, 0},
8055 {0x5F, 0x7, 0x7, 0, 0},
8056 {0x60, 0x7, 0x7, 1, 1},
8057 {0x61, 0x8, 0x8, 0, 0},
8058 {0x62, 0x3, 0x3, 0, 0},
8064 {0x68, 0x40, 0x40, 0, 0},
8069 {0x6D, 0x1, 0x1, 0, 0},
8072 {0x70, 0x60, 0x60, 0, 0},
8073 {0x71, 0x66, 0x66, 0, 0},
8074 {0x72, 0xc, 0xc, 0, 0},
8075 {0x73, 0x66, 0x66, 0, 0},
8076 {0x74, 0x8f, 0x8f, 1, 1},
8078 {0x76, 0xcc, 0xcc, 0, 0},
8079 {0x77, 0x1, 0x1, 0, 0},
8080 {0x78, 0x66, 0x66, 0, 0},
8081 {0x79, 0x66, 0x66, 0, 0},
8093 {0x85, 0xff, 0xff, 0, 0},
8119 {0x9F, 0x6, 0x6, 0, 0},
8120 {0xA0, 0x66, 0x66, 0, 0},
8121 {0xA1, 0x66, 0x66, 0, 0},
8122 {0xA2, 0x66, 0x66, 0, 0},
8123 {0xA3, 0x66, 0x66, 0, 0},
8124 {0xA4, 0x66, 0x66, 0, 0},
8125 {0xA5, 0x66, 0x66, 0, 0},
8126 {0xA6, 0x66, 0x66, 0, 0},
8127 {0xA7, 0x66, 0x66, 0, 0},
8128 {0xA8, 0x66, 0x66, 0, 0},
8129 {0xA9, 0x66, 0x66, 0, 0},
8130 {0xAA, 0x66, 0x66, 0, 0},
8131 {0xAB, 0x66, 0x66, 0, 0},
8132 {0xAC, 0x66, 0x66, 0, 0},
8133 {0xAD, 0x66, 0x66, 0, 0},
8134 {0xAE, 0x66, 0x66, 0, 0},
8135 {0xAF, 0x66, 0x66, 0, 0},
8136 {0xB0, 0x66, 0x66, 0, 0},
8137 {0xB1, 0x66, 0x66, 0, 0},
8138 {0xB2, 0x66, 0x66, 0, 0},
8139 {0xB3, 0xa, 0xa, 0, 0},
8143 {0xFFFF, 0, 0, 0, 0}
8146 radio_regs_t regs_TX_2056[] = {
8178 {0x21, 0x88, 0x88, 0, 0},
8179 {0x22, 0x88, 0x88, 0, 0},
8180 {0x23, 0x88, 0x88, 0, 0},
8181 {0x24, 0x88, 0x88, 0, 0},
8182 {0x25, 0xc, 0xc, 0, 0},
8184 {0x27, 0x3, 0x3, 0, 0},
8186 {0x29, 0x3, 0x3, 0, 0},
8187 {0x2A, 0x37, 0x37, 0, 0},
8188 {0x2B, 0x3, 0x3, 0, 0},
8191 {0x2E, 0x1, 0x1, 0, 0},
8192 {0x2F, 0x1, 0x1, 0, 0},
8196 {0x33, 0x11, 0x11, 0, 0},
8197 {0x34, 0x11, 0x11, 0, 0},
8200 {0x37, 0x3, 0x3, 0, 0},
8201 {0x38, 0xf, 0xf, 0, 0},
8203 {0x3A, 0x2d, 0x2d, 0, 0},
8205 {0x3C, 0x6e, 0x6e, 0, 0},
8206 {0x3D, 0xf0, 0xf0, 1, 1},
8210 {0x41, 0x3, 0x3, 0, 0},
8211 {0x42, 0x3, 0x3, 0, 0},
8213 {0x44, 0x1e, 0x1e, 0, 0},
8215 {0x46, 0x6e, 0x6e, 0, 0},
8216 {0x47, 0xf0, 0xf0, 1, 1},
8218 {0x49, 0x2, 0x2, 0, 0},
8219 {0x4A, 0xff, 0xff, 1, 1},
8220 {0x4B, 0xc, 0xc, 0, 0},
8222 {0x4D, 0x38, 0x38, 0, 0},
8223 {0x4E, 0x70, 0x70, 1, 1},
8224 {0x4F, 0x2, 0x2, 0, 0},
8225 {0x50, 0x88, 0x88, 0, 0},
8226 {0x51, 0xc, 0xc, 0, 0},
8228 {0x53, 0x8, 0x8, 0, 0},
8229 {0x54, 0x70, 0x70, 1, 1},
8230 {0x55, 0x2, 0x2, 0, 0},
8231 {0x56, 0xff, 0xff, 1, 1},
8233 {0x58, 0x83, 0x83, 0, 0},
8234 {0x59, 0x77, 0x77, 1, 1},
8236 {0x5B, 0x2, 0x2, 0, 0},
8237 {0x5C, 0x88, 0x88, 0, 0},
8239 {0x5E, 0x8, 0x8, 0, 0},
8240 {0x5F, 0x77, 0x77, 1, 1},
8241 {0x60, 0x1, 0x1, 0, 0},
8243 {0x62, 0x7, 0x7, 0, 0},
8245 {0x64, 0x7, 0x7, 0, 0},
8248 {0x67, 0x74, 0x74, 1, 1},
8250 {0x69, 0xa, 0xa, 0, 0},
8258 {0x71, 0x2, 0x2, 0, 0},
8261 {0x74, 0xe, 0xe, 0, 0},
8262 {0x75, 0xe, 0xe, 0, 0},
8263 {0x76, 0xe, 0xe, 0, 0},
8264 {0x77, 0x13, 0x13, 0, 0},
8265 {0x78, 0x13, 0x13, 0, 0},
8266 {0x79, 0x1b, 0x1b, 0, 0},
8267 {0x7A, 0x1b, 0x1b, 0, 0},
8268 {0x7B, 0x55, 0x55, 0, 0},
8269 {0x7C, 0x5b, 0x5b, 0, 0},
8292 {0xFFFF, 0, 0, 0, 0}
8295 radio_regs_t regs_RX_2056[] = {
8326 {0x20, 0x3, 0x3, 0, 0},
8329 {0x23, 0x90, 0x90, 0, 0},
8330 {0x24, 0x55, 0x55, 0, 0},
8331 {0x25, 0x15, 0x15, 0, 0},
8332 {0x26, 0x5, 0x5, 0, 0},
8333 {0x27, 0x15, 0x15, 0, 0},
8334 {0x28, 0x5, 0x5, 0, 0},
8335 {0x29, 0x20, 0x20, 0, 0},
8336 {0x2A, 0x11, 0x11, 0, 0},
8337 {0x2B, 0x90, 0x90, 0, 0},
8339 {0x2D, 0x88, 0x88, 0, 0},
8340 {0x2E, 0x32, 0x32, 0, 0},
8341 {0x2F, 0x77, 0x77, 0, 0},
8342 {0x30, 0x17, 0x17, 1, 1},
8343 {0x31, 0xff, 0xff, 1, 1},
8344 {0x32, 0x20, 0x20, 0, 0},
8346 {0x34, 0x88, 0x88, 0, 0},
8347 {0x35, 0x32, 0x32, 0, 0},
8348 {0x36, 0x77, 0x77, 0, 0},
8349 {0x37, 0x17, 0x17, 1, 1},
8350 {0x38, 0xf0, 0xf0, 1, 1},
8351 {0x39, 0x20, 0x20, 0, 0},
8352 {0x3A, 0x8, 0x8, 0, 0},
8353 {0x3B, 0x99, 0x99, 0, 0},
8355 {0x3D, 0x44, 0x44, 1, 1},
8357 {0x3F, 0x44, 0x44, 0, 0},
8358 {0x40, 0xf, 0xf, 1, 1},
8359 {0x41, 0x6, 0x6, 0, 0},
8360 {0x42, 0x4, 0x4, 0, 0},
8361 {0x43, 0x50, 0x50, 1, 1},
8362 {0x44, 0x8, 0x8, 0, 0},
8363 {0x45, 0x99, 0x99, 0, 0},
8365 {0x47, 0x11, 0x11, 0, 0},
8367 {0x49, 0x44, 0x44, 0, 0},
8368 {0x4A, 0x7, 0x7, 0, 0},
8369 {0x4B, 0x6, 0x6, 0, 0},
8370 {0x4C, 0x4, 0x4, 0, 0},
8373 {0x4F, 0x66, 0x66, 0, 0},
8374 {0x50, 0x66, 0x66, 0, 0},
8375 {0x51, 0x57, 0x57, 0, 0},
8376 {0x52, 0x57, 0x57, 0, 0},
8377 {0x53, 0x44, 0x44, 0, 0},
8380 {0x56, 0x8, 0x8, 0, 0},
8381 {0x57, 0x8, 0x8, 0, 0},
8382 {0x58, 0x7, 0x7, 0, 0},
8383 {0x59, 0x22, 0x22, 0, 0},
8384 {0x5A, 0x22, 0x22, 0, 0},
8385 {0x5B, 0x2, 0x2, 0, 0},
8386 {0x5C, 0x23, 0x23, 0, 0},
8387 {0x5D, 0x7, 0x7, 0, 0},
8388 {0x5E, 0x55, 0x55, 0, 0},
8389 {0x5F, 0x23, 0x23, 0, 0},
8390 {0x60, 0x41, 0x41, 0, 0},
8391 {0x61, 0x1, 0x1, 0, 0},
8392 {0x62, 0xa, 0xa, 0, 0},
8401 {0x6B, 0xc, 0xc, 0, 0},
8408 {0x72, 0x22, 0x22, 0, 0},
8409 {0x73, 0x22, 0x22, 0, 0},
8410 {0x74, 0x2, 0x2, 0, 0},
8411 {0x75, 0xa, 0xa, 0, 0},
8412 {0x76, 0x1, 0x1, 0, 0},
8413 {0x77, 0x22, 0x22, 0, 0},
8414 {0x78, 0x30, 0x30, 0, 0},
8443 {0xFFFF, 0, 0, 0, 0}
8446 radio_regs_t regs_SYN_2056_A1[] = {
8454 {0x09, 0x1, 0x1, 0, 0},
8479 {0x22, 0x60, 0x60, 0, 0},
8480 {0x23, 0x6, 0x6, 0, 0},
8481 {0x24, 0xc, 0xc, 0, 0},
8485 {0x28, 0x1, 0x1, 0, 0},
8491 {0x2E, 0xd, 0xd, 0, 0},
8492 {0x2F, 0x1f, 0x1f, 0, 0},
8493 {0x30, 0x15, 0x15, 0, 0},
8494 {0x31, 0xf, 0xf, 0, 0},
8505 {0x3C, 0x13, 0x13, 0, 0},
8506 {0x3D, 0xf, 0xf, 0, 0},
8507 {0x3E, 0x18, 0x18, 0, 0},
8510 {0x41, 0x20, 0x20, 0, 0},
8511 {0x42, 0x20, 0x20, 0, 0},
8513 {0x44, 0x77, 0x77, 0, 0},
8514 {0x45, 0x7, 0x7, 0, 0},
8515 {0x46, 0x1, 0x1, 0, 0},
8516 {0x47, 0x4, 0x4, 0, 0},
8517 {0x48, 0xf, 0xf, 0, 0},
8518 {0x49, 0x30, 0x30, 0, 0},
8519 {0x4A, 0x32, 0x32, 0, 0},
8520 {0x4B, 0xd, 0xd, 0, 0},
8521 {0x4C, 0xd, 0xd, 0, 0},
8522 {0x4D, 0x4, 0x4, 0, 0},
8523 {0x4E, 0x6, 0x6, 0, 0},
8524 {0x4F, 0x1, 0x1, 0, 0},
8525 {0x50, 0x1c, 0x1c, 0, 0},
8526 {0x51, 0x2, 0x2, 0, 0},
8527 {0x52, 0x2, 0x2, 0, 0},
8528 {0x53, 0xf7, 0xf7, 1, 1},
8529 {0x54, 0xb4, 0xb4, 0, 0},
8530 {0x55, 0xd2, 0xd2, 0, 0},
8533 {0x58, 0x4, 0x4, 0, 0},
8534 {0x59, 0x96, 0x96, 0, 0},
8535 {0x5A, 0x3e, 0x3e, 0, 0},
8536 {0x5B, 0x3e, 0x3e, 0, 0},
8537 {0x5C, 0x13, 0x13, 0, 0},
8538 {0x5D, 0x2, 0x2, 0, 0},
8540 {0x5F, 0x7, 0x7, 0, 0},
8541 {0x60, 0x7, 0x7, 1, 1},
8542 {0x61, 0x8, 0x8, 0, 0},
8543 {0x62, 0x3, 0x3, 0, 0},
8549 {0x68, 0x40, 0x40, 0, 0},
8554 {0x6D, 0x1, 0x1, 0, 0},
8557 {0x70, 0x60, 0x60, 0, 0},
8558 {0x71, 0x66, 0x66, 0, 0},
8559 {0x72, 0xc, 0xc, 0, 0},
8560 {0x73, 0x66, 0x66, 0, 0},
8561 {0x74, 0x8f, 0x8f, 1, 1},
8563 {0x76, 0xcc, 0xcc, 0, 0},
8564 {0x77, 0x1, 0x1, 0, 0},
8565 {0x78, 0x66, 0x66, 0, 0},
8566 {0x79, 0x66, 0x66, 0, 0},
8578 {0x85, 0xff, 0xff, 0, 0},
8604 {0x9F, 0x6, 0x6, 0, 0},
8605 {0xA0, 0x66, 0x66, 0, 0},
8606 {0xA1, 0x66, 0x66, 0, 0},
8607 {0xA2, 0x66, 0x66, 0, 0},
8608 {0xA3, 0x66, 0x66, 0, 0},
8609 {0xA4, 0x66, 0x66, 0, 0},
8610 {0xA5, 0x66, 0x66, 0, 0},
8611 {0xA6, 0x66, 0x66, 0, 0},
8612 {0xA7, 0x66, 0x66, 0, 0},
8613 {0xA8, 0x66, 0x66, 0, 0},
8614 {0xA9, 0x66, 0x66, 0, 0},
8615 {0xAA, 0x66, 0x66, 0, 0},
8616 {0xAB, 0x66, 0x66, 0, 0},
8617 {0xAC, 0x66, 0x66, 0, 0},
8618 {0xAD, 0x66, 0x66, 0, 0},
8619 {0xAE, 0x66, 0x66, 0, 0},
8620 {0xAF, 0x66, 0x66, 0, 0},
8621 {0xB0, 0x66, 0x66, 0, 0},
8622 {0xB1, 0x66, 0x66, 0, 0},
8623 {0xB2, 0x66, 0x66, 0, 0},
8624 {0xB3, 0xa, 0xa, 0, 0},
8628 {0xFFFF, 0, 0, 0, 0}
8631 radio_regs_t regs_TX_2056_A1[] = {
8663 {0x21, 0x88, 0x88, 0, 0},
8664 {0x22, 0x88, 0x88, 0, 0},
8665 {0x23, 0x88, 0x88, 0, 0},
8666 {0x24, 0x88, 0x88, 0, 0},
8667 {0x25, 0xc, 0xc, 0, 0},
8669 {0x27, 0x3, 0x3, 0, 0},
8671 {0x29, 0x3, 0x3, 0, 0},
8672 {0x2A, 0x37, 0x37, 0, 0},
8673 {0x2B, 0x3, 0x3, 0, 0},
8676 {0x2E, 0x1, 0x1, 0, 0},
8677 {0x2F, 0x1, 0x1, 0, 0},
8681 {0x33, 0x11, 0x11, 0, 0},
8682 {0x34, 0x11, 0x11, 0, 0},
8685 {0x37, 0x3, 0x3, 0, 0},
8686 {0x38, 0xf, 0xf, 0, 0},
8688 {0x3A, 0x2d, 0x2d, 0, 0},
8690 {0x3C, 0x6e, 0x6e, 0, 0},
8691 {0x3D, 0xf0, 0xf0, 1, 1},
8695 {0x41, 0x3, 0x3, 0, 0},
8696 {0x42, 0x3, 0x3, 0, 0},
8698 {0x44, 0x1e, 0x1e, 0, 0},
8700 {0x46, 0x6e, 0x6e, 0, 0},
8701 {0x47, 0xf0, 0xf0, 1, 1},
8703 {0x49, 0x2, 0x2, 0, 0},
8704 {0x4A, 0xff, 0xff, 1, 1},
8705 {0x4B, 0xc, 0xc, 0, 0},
8707 {0x4D, 0x38, 0x38, 0, 0},
8708 {0x4E, 0x70, 0x70, 1, 1},
8709 {0x4F, 0x2, 0x2, 0, 0},
8710 {0x50, 0x88, 0x88, 0, 0},
8711 {0x51, 0xc, 0xc, 0, 0},
8713 {0x53, 0x8, 0x8, 0, 0},
8714 {0x54, 0x70, 0x70, 1, 1},
8715 {0x55, 0x2, 0x2, 0, 0},
8716 {0x56, 0xff, 0xff, 1, 1},
8718 {0x58, 0x83, 0x83, 0, 0},
8719 {0x59, 0x77, 0x77, 1, 1},
8721 {0x5B, 0x2, 0x2, 0, 0},
8722 {0x5C, 0x88, 0x88, 0, 0},
8724 {0x5E, 0x8, 0x8, 0, 0},
8725 {0x5F, 0x77, 0x77, 1, 1},
8726 {0x60, 0x1, 0x1, 0, 0},
8728 {0x62, 0x7, 0x7, 0, 0},
8730 {0x64, 0x7, 0x7, 0, 0},
8733 {0x67, 0x72, 0x72, 1, 1},
8735 {0x69, 0xa, 0xa, 0, 0},
8743 {0x71, 0x2, 0x2, 0, 0},
8746 {0x74, 0xe, 0xe, 0, 0},
8747 {0x75, 0xe, 0xe, 0, 0},
8748 {0x76, 0xe, 0xe, 0, 0},
8749 {0x77, 0x13, 0x13, 0, 0},
8750 {0x78, 0x13, 0x13, 0, 0},
8751 {0x79, 0x1b, 0x1b, 0, 0},
8752 {0x7A, 0x1b, 0x1b, 0, 0},
8753 {0x7B, 0x55, 0x55, 0, 0},
8754 {0x7C, 0x5b, 0x5b, 0, 0},
8777 {0xFFFF, 0, 0, 0, 0}
8780 radio_regs_t regs_RX_2056_A1[] = {
8811 {0x20, 0x3, 0x3, 0, 0},
8814 {0x23, 0x90, 0x90, 0, 0},
8815 {0x24, 0x55, 0x55, 0, 0},
8816 {0x25, 0x15, 0x15, 0, 0},
8817 {0x26, 0x5, 0x5, 0, 0},
8818 {0x27, 0x15, 0x15, 0, 0},
8819 {0x28, 0x5, 0x5, 0, 0},
8820 {0x29, 0x20, 0x20, 0, 0},
8821 {0x2A, 0x11, 0x11, 0, 0},
8822 {0x2B, 0x90, 0x90, 0, 0},
8824 {0x2D, 0x88, 0x88, 0, 0},
8825 {0x2E, 0x32, 0x32, 0, 0},
8826 {0x2F, 0x77, 0x77, 0, 0},
8827 {0x30, 0x17, 0x17, 1, 1},
8828 {0x31, 0xff, 0xff, 1, 1},
8829 {0x32, 0x20, 0x20, 0, 0},
8831 {0x34, 0x88, 0x88, 0, 0},
8832 {0x35, 0x32, 0x32, 0, 0},
8833 {0x36, 0x77, 0x77, 0, 0},
8834 {0x37, 0x17, 0x17, 1, 1},
8835 {0x38, 0xf0, 0xf0, 1, 1},
8836 {0x39, 0x20, 0x20, 0, 0},
8837 {0x3A, 0x8, 0x8, 0, 0},
8838 {0x3B, 0x55, 0x55, 1, 1},
8840 {0x3D, 0x44, 0x44, 1, 1},
8842 {0x3F, 0x44, 0x44, 0, 0},
8843 {0x40, 0xf, 0xf, 1, 1},
8844 {0x41, 0x6, 0x6, 0, 0},
8845 {0x42, 0x4, 0x4, 0, 0},
8846 {0x43, 0x50, 0x50, 1, 1},
8847 {0x44, 0x8, 0x8, 0, 0},
8848 {0x45, 0x55, 0x55, 1, 1},
8850 {0x47, 0x11, 0x11, 0, 0},
8852 {0x49, 0x44, 0x44, 0, 0},
8853 {0x4A, 0x7, 0x7, 0, 0},
8854 {0x4B, 0x6, 0x6, 0, 0},
8855 {0x4C, 0x4, 0x4, 0, 0},
8858 {0x4F, 0x26, 0x26, 1, 1},
8859 {0x50, 0x26, 0x26, 1, 1},
8860 {0x51, 0xf, 0xf, 1, 1},
8861 {0x52, 0xf, 0xf, 1, 1},
8862 {0x53, 0x44, 0x44, 0, 0},
8865 {0x56, 0x8, 0x8, 0, 0},
8866 {0x57, 0x8, 0x8, 0, 0},
8867 {0x58, 0x7, 0x7, 0, 0},
8868 {0x59, 0x22, 0x22, 0, 0},
8869 {0x5A, 0x22, 0x22, 0, 0},
8870 {0x5B, 0x2, 0x2, 0, 0},
8871 {0x5C, 0x2f, 0x2f, 1, 1},
8872 {0x5D, 0x7, 0x7, 0, 0},
8873 {0x5E, 0x55, 0x55, 0, 0},
8874 {0x5F, 0x23, 0x23, 0, 0},
8875 {0x60, 0x41, 0x41, 0, 0},
8876 {0x61, 0x1, 0x1, 0, 0},
8877 {0x62, 0xa, 0xa, 0, 0},
8886 {0x6B, 0xc, 0xc, 0, 0},
8893 {0x72, 0x22, 0x22, 0, 0},
8894 {0x73, 0x22, 0x22, 0, 0},
8896 {0x75, 0xa, 0xa, 0, 0},
8897 {0x76, 0x1, 0x1, 0, 0},
8898 {0x77, 0x22, 0x22, 0, 0},
8899 {0x78, 0x30, 0x30, 0, 0},
8928 {0xFFFF, 0, 0, 0, 0}
8931 radio_regs_t regs_SYN_2056_rev5[] = {
8939 {0x09, 0x1, 0x1, 0, 0},
8964 {0x22, 0x60, 0x60, 0, 0},
8965 {0x23, 0x6, 0x6, 0, 0},
8966 {0x24, 0xc, 0xc, 0, 0},
8970 {0x28, 0x1, 0x1, 0, 0},
8977 {0x2F, 0x1f, 0x1f, 0, 0},
8978 {0x30, 0x15, 0x15, 0, 0},
8979 {0x31, 0xf, 0xf, 0, 0},
8990 {0x3C, 0x13, 0x13, 0, 0},
8991 {0x3D, 0xf, 0xf, 0, 0},
8992 {0x3E, 0x18, 0x18, 0, 0},
8995 {0x41, 0x20, 0x20, 0, 0},
8996 {0x42, 0x20, 0x20, 0, 0},
8998 {0x44, 0x77, 0x77, 0, 0},
8999 {0x45, 0x7, 0x7, 0, 0},
9000 {0x46, 0x1, 0x1, 0, 0},
9001 {0x47, 0x4, 0x4, 0, 0},
9002 {0x48, 0xf, 0xf, 0, 0},
9003 {0x49, 0x30, 0x30, 0, 0},
9004 {0x4A, 0x32, 0x32, 0, 0},
9005 {0x4B, 0xd, 0xd, 0, 0},
9006 {0x4C, 0xd, 0xd, 0, 0},
9007 {0x4D, 0x4, 0x4, 0, 0},
9008 {0x4E, 0x6, 0x6, 0, 0},
9009 {0x4F, 0x1, 0x1, 0, 0},
9010 {0x50, 0x1c, 0x1c, 0, 0},
9011 {0x51, 0x2, 0x2, 0, 0},
9012 {0x52, 0x2, 0x2, 0, 0},
9013 {0x53, 0xf7, 0xf7, 1, 1},
9014 {0x54, 0xb4, 0xb4, 0, 0},
9015 {0x55, 0xd2, 0xd2, 0, 0},
9018 {0x58, 0x4, 0x4, 0, 0},
9019 {0x59, 0x96, 0x96, 0, 0},
9020 {0x5A, 0x3e, 0x3e, 0, 0},
9021 {0x5B, 0x3e, 0x3e, 0, 0},
9022 {0x5C, 0x13, 0x13, 0, 0},
9023 {0x5D, 0x2, 0x2, 0, 0},
9025 {0x5F, 0x7, 0x7, 0, 0},
9026 {0x60, 0x7, 0x7, 1, 1},
9027 {0x61, 0x8, 0x8, 0, 0},
9028 {0x62, 0x3, 0x3, 0, 0},
9034 {0x68, 0x40, 0x40, 0, 0},
9039 {0x6D, 0x1, 0x1, 0, 0},
9042 {0x70, 0x60, 0x60, 0, 0},
9043 {0x71, 0x66, 0x66, 0, 0},
9044 {0x72, 0xc, 0xc, 0, 0},
9045 {0x73, 0x66, 0x66, 0, 0},
9046 {0x74, 0x8f, 0x8f, 1, 1},
9048 {0x76, 0xcc, 0xcc, 0, 0},
9049 {0x77, 0x1, 0x1, 0, 0},
9050 {0x78, 0x66, 0x66, 0, 0},
9051 {0x79, 0x66, 0x66, 0, 0},
9063 {0x85, 0xff, 0xff, 0, 0},
9089 {0x9F, 0x6, 0x6, 0, 0},
9090 {0xA0, 0x66, 0x66, 0, 0},
9091 {0xA1, 0x66, 0x66, 0, 0},
9092 {0xA2, 0x66, 0x66, 0, 0},
9093 {0xA3, 0x66, 0x66, 0, 0},
9094 {0xA4, 0x66, 0x66, 0, 0},
9095 {0xA5, 0x66, 0x66, 0, 0},
9096 {0xA6, 0x66, 0x66, 0, 0},
9097 {0xA7, 0x66, 0x66, 0, 0},
9098 {0xA8, 0x66, 0x66, 0, 0},
9099 {0xA9, 0x66, 0x66, 0, 0},
9100 {0xAA, 0x66, 0x66, 0, 0},
9101 {0xAB, 0x66, 0x66, 0, 0},
9102 {0xAC, 0x66, 0x66, 0, 0},
9103 {0xAD, 0x66, 0x66, 0, 0},
9104 {0xAE, 0x66, 0x66, 0, 0},
9105 {0xAF, 0x66, 0x66, 0, 0},
9106 {0xB0, 0x66, 0x66, 0, 0},
9107 {0xB1, 0x66, 0x66, 0, 0},
9108 {0xB2, 0x66, 0x66, 0, 0},
9109 {0xB3, 0xa, 0xa, 0, 0},
9113 {0xFFFF, 0, 0, 0, 0}
9116 radio_regs_t regs_TX_2056_rev5[] = {
9148 {0x21, 0x88, 0x88, 0, 0},
9149 {0x22, 0x88, 0x88, 0, 0},
9150 {0x23, 0x88, 0x88, 0, 0},
9151 {0x24, 0x88, 0x88, 0, 0},
9152 {0x25, 0xc, 0xc, 0, 0},
9154 {0x27, 0x3, 0x3, 0, 0},
9156 {0x29, 0x3, 0x3, 0, 0},
9157 {0x2A, 0x37, 0x37, 0, 0},
9158 {0x2B, 0x3, 0x3, 0, 0},
9161 {0x2E, 0x1, 0x1, 0, 0},
9162 {0x2F, 0x1, 0x1, 0, 0},
9166 {0x33, 0x11, 0x11, 0, 0},
9167 {0x34, 0x11, 0x11, 0, 0},
9170 {0x37, 0x3, 0x3, 0, 0},
9171 {0x38, 0xf, 0xf, 0, 0},
9173 {0x3A, 0x2d, 0x2d, 0, 0},
9175 {0x3C, 0x6e, 0x6e, 0, 0},
9176 {0x3D, 0xf0, 0xf0, 1, 1},
9180 {0x41, 0x3, 0x3, 0, 0},
9181 {0x42, 0x3, 0x3, 0, 0},
9183 {0x44, 0x1e, 0x1e, 0, 0},
9185 {0x46, 0x6e, 0x6e, 0, 0},
9186 {0x47, 0xf0, 0xf0, 1, 1},
9188 {0x49, 0x2, 0x2, 0, 0},
9189 {0x4A, 0xff, 0xff, 1, 1},
9190 {0x4B, 0xc, 0xc, 0, 0},
9192 {0x4D, 0x38, 0x38, 0, 0},
9193 {0x4E, 0x70, 0x70, 1, 1},
9194 {0x4F, 0x2, 0x2, 0, 0},
9195 {0x50, 0x88, 0x88, 0, 0},
9196 {0x51, 0xc, 0xc, 0, 0},
9198 {0x53, 0x8, 0x8, 0, 0},
9199 {0x54, 0x70, 0x70, 1, 1},
9200 {0x55, 0x2, 0x2, 0, 0},
9201 {0x56, 0xff, 0xff, 1, 1},
9203 {0x58, 0x83, 0x83, 0, 0},
9204 {0x59, 0x77, 0x77, 1, 1},
9206 {0x5B, 0x2, 0x2, 0, 0},
9207 {0x5C, 0x88, 0x88, 0, 0},
9209 {0x5E, 0x8, 0x8, 0, 0},
9210 {0x5F, 0x77, 0x77, 1, 1},
9211 {0x60, 0x1, 0x1, 0, 0},
9213 {0x62, 0x7, 0x7, 0, 0},
9215 {0x64, 0x7, 0x7, 0, 0},
9220 {0x69, 0xa, 0xa, 0, 0},
9228 {0x71, 0x2, 0x2, 0, 0},
9231 {0x74, 0xe, 0xe, 0, 0},
9232 {0x75, 0xe, 0xe, 0, 0},
9233 {0x76, 0xe, 0xe, 0, 0},
9234 {0x77, 0x13, 0x13, 0, 0},
9235 {0x78, 0x13, 0x13, 0, 0},
9236 {0x79, 0x1b, 0x1b, 0, 0},
9237 {0x7A, 0x1b, 0x1b, 0, 0},
9238 {0x7B, 0x55, 0x55, 0, 0},
9239 {0x7C, 0x5b, 0x5b, 0, 0},
9262 {0x93, 0x70, 0x70, 0, 0},
9263 {0x94, 0x70, 0x70, 0, 0},
9264 {0x95, 0x71, 0x71, 1, 1},
9265 {0x96, 0x71, 0x71, 1, 1},
9266 {0x97, 0x72, 0x72, 1, 1},
9267 {0x98, 0x73, 0x73, 1, 1},
9268 {0x99, 0x74, 0x74, 1, 1},
9269 {0x9A, 0x75, 0x75, 1, 1},
9270 {0xFFFF, 0, 0, 0, 0}
9273 radio_regs_t regs_RX_2056_rev5[] = {
9304 {0x20, 0x3, 0x3, 0, 0},
9307 {0x23, 0x90, 0x90, 0, 0},
9308 {0x24, 0x55, 0x55, 0, 0},
9309 {0x25, 0x15, 0x15, 0, 0},
9310 {0x26, 0x5, 0x5, 0, 0},
9311 {0x27, 0x15, 0x15, 0, 0},
9312 {0x28, 0x5, 0x5, 0, 0},
9313 {0x29, 0x20, 0x20, 0, 0},
9314 {0x2A, 0x11, 0x11, 0, 0},
9315 {0x2B, 0x90, 0x90, 0, 0},
9317 {0x2D, 0x88, 0x88, 0, 0},
9318 {0x2E, 0x32, 0x32, 0, 0},
9319 {0x2F, 0x77, 0x77, 0, 0},
9320 {0x30, 0x17, 0x17, 1, 1},
9321 {0x31, 0xff, 0xff, 1, 1},
9322 {0x32, 0x20, 0x20, 0, 0},
9324 {0x34, 0x88, 0x88, 0, 0},
9325 {0x35, 0x32, 0x32, 0, 0},
9326 {0x36, 0x77, 0x77, 0, 0},
9327 {0x37, 0x17, 0x17, 1, 1},
9328 {0x38, 0xf0, 0xf0, 1, 1},
9329 {0x39, 0x20, 0x20, 0, 0},
9330 {0x3A, 0x8, 0x8, 0, 0},
9331 {0x3B, 0x55, 0x55, 1, 1},
9333 {0x3D, 0x88, 0x88, 1, 1},
9336 {0x40, 0x7, 0x7, 1, 1},
9337 {0x41, 0x6, 0x6, 0, 0},
9338 {0x42, 0x4, 0x4, 0, 0},
9340 {0x44, 0x8, 0x8, 0, 0},
9341 {0x45, 0x55, 0x55, 1, 1},
9343 {0x47, 0x11, 0x11, 0, 0},
9346 {0x4A, 0x7, 0x7, 0, 0},
9347 {0x4B, 0x6, 0x6, 0, 0},
9348 {0x4C, 0x4, 0x4, 0, 0},
9351 {0x4F, 0x26, 0x26, 1, 1},
9352 {0x50, 0x26, 0x26, 1, 1},
9353 {0x51, 0xf, 0xf, 1, 1},
9354 {0x52, 0xf, 0xf, 1, 1},
9355 {0x53, 0x44, 0x44, 0, 0},
9358 {0x56, 0x8, 0x8, 0, 0},
9359 {0x57, 0x8, 0x8, 0, 0},
9360 {0x58, 0x7, 0x7, 0, 0},
9361 {0x59, 0x22, 0x22, 0, 0},
9362 {0x5A, 0x22, 0x22, 0, 0},
9363 {0x5B, 0x2, 0x2, 0, 0},
9364 {0x5C, 0x4, 0x4, 1, 1},
9365 {0x5D, 0x7, 0x7, 0, 0},
9366 {0x5E, 0x55, 0x55, 0, 0},
9367 {0x5F, 0x23, 0x23, 0, 0},
9368 {0x60, 0x41, 0x41, 0, 0},
9369 {0x61, 0x1, 0x1, 0, 0},
9370 {0x62, 0xa, 0xa, 0, 0},
9379 {0x6B, 0xc, 0xc, 0, 0},
9386 {0x72, 0x22, 0x22, 0, 0},
9387 {0x73, 0x22, 0x22, 0, 0},
9389 {0x75, 0xa, 0xa, 0, 0},
9390 {0x76, 0x1, 0x1, 0, 0},
9391 {0x77, 0x22, 0x22, 0, 0},
9392 {0x78, 0x30, 0x30, 0, 0},
9421 {0xFFFF, 0, 0, 0, 0}
9424 radio_regs_t regs_SYN_2056_rev6[] = {
9432 {0x09, 0x1, 0x1, 0, 0},
9457 {0x22, 0x60, 0x60, 0, 0},
9458 {0x23, 0x6, 0x6, 0, 0},
9459 {0x24, 0xc, 0xc, 0, 0},
9463 {0x28, 0x1, 0x1, 0, 0},
9470 {0x2F, 0x1f, 0x1f, 0, 0},
9471 {0x30, 0x15, 0x15, 0, 0},
9472 {0x31, 0xf, 0xf, 0, 0},
9483 {0x3C, 0x13, 0x13, 0, 0},
9484 {0x3D, 0xf, 0xf, 0, 0},
9485 {0x3E, 0x18, 0x18, 0, 0},
9488 {0x41, 0x20, 0x20, 0, 0},
9489 {0x42, 0x20, 0x20, 0, 0},
9491 {0x44, 0x77, 0x77, 0, 0},
9492 {0x45, 0x7, 0x7, 0, 0},
9493 {0x46, 0x1, 0x1, 0, 0},
9494 {0x47, 0x4, 0x4, 0, 0},
9495 {0x48, 0xf, 0xf, 0, 0},
9496 {0x49, 0x30, 0x30, 0, 0},
9497 {0x4A, 0x32, 0x32, 0, 0},
9498 {0x4B, 0xd, 0xd, 0, 0},
9499 {0x4C, 0xd, 0xd, 0, 0},
9500 {0x4D, 0x4, 0x4, 0, 0},
9501 {0x4E, 0x6, 0x6, 0, 0},
9502 {0x4F, 0x1, 0x1, 0, 0},
9503 {0x50, 0x1c, 0x1c, 0, 0},
9504 {0x51, 0x2, 0x2, 0, 0},
9505 {0x52, 0x2, 0x2, 0, 0},
9506 {0x53, 0xf7, 0xf7, 1, 1},
9507 {0x54, 0xb4, 0xb4, 0, 0},
9508 {0x55, 0xd2, 0xd2, 0, 0},
9511 {0x58, 0x4, 0x4, 0, 0},
9512 {0x59, 0x96, 0x96, 0, 0},
9513 {0x5A, 0x3e, 0x3e, 0, 0},
9514 {0x5B, 0x3e, 0x3e, 0, 0},
9515 {0x5C, 0x13, 0x13, 0, 0},
9516 {0x5D, 0x2, 0x2, 0, 0},
9518 {0x5F, 0x7, 0x7, 0, 0},
9519 {0x60, 0x7, 0x7, 1, 1},
9520 {0x61, 0x8, 0x8, 0, 0},
9521 {0x62, 0x3, 0x3, 0, 0},
9527 {0x68, 0x40, 0x40, 0, 0},
9532 {0x6D, 0x1, 0x1, 0, 0},
9535 {0x70, 0x60, 0x60, 0, 0},
9536 {0x71, 0x66, 0x66, 0, 0},
9537 {0x72, 0xc, 0xc, 0, 0},
9538 {0x73, 0x66, 0x66, 0, 0},
9539 {0x74, 0x8f, 0x8f, 1, 1},
9541 {0x76, 0xcc, 0xcc, 0, 0},
9542 {0x77, 0x1, 0x1, 0, 0},
9543 {0x78, 0x66, 0x66, 0, 0},
9544 {0x79, 0x66, 0x66, 0, 0},
9556 {0x85, 0xff, 0xff, 0, 0},
9582 {0x9F, 0x6, 0x6, 0, 0},
9583 {0xA0, 0x66, 0x66, 0, 0},
9584 {0xA1, 0x66, 0x66, 0, 0},
9585 {0xA2, 0x66, 0x66, 0, 0},
9586 {0xA3, 0x66, 0x66, 0, 0},
9587 {0xA4, 0x66, 0x66, 0, 0},
9588 {0xA5, 0x66, 0x66, 0, 0},
9589 {0xA6, 0x66, 0x66, 0, 0},
9590 {0xA7, 0x66, 0x66, 0, 0},
9591 {0xA8, 0x66, 0x66, 0, 0},
9592 {0xA9, 0x66, 0x66, 0, 0},
9593 {0xAA, 0x66, 0x66, 0, 0},
9594 {0xAB, 0x66, 0x66, 0, 0},
9595 {0xAC, 0x66, 0x66, 0, 0},
9596 {0xAD, 0x66, 0x66, 0, 0},
9597 {0xAE, 0x66, 0x66, 0, 0},
9598 {0xAF, 0x66, 0x66, 0, 0},
9599 {0xB0, 0x66, 0x66, 0, 0},
9600 {0xB1, 0x66, 0x66, 0, 0},
9601 {0xB2, 0x66, 0x66, 0, 0},
9602 {0xB3, 0xa, 0xa, 0, 0},
9606 {0xFFFF, 0, 0, 0, 0}
9609 radio_regs_t regs_TX_2056_rev6[] = {
9641 {0x21, 0x88, 0x88, 0, 0},
9642 {0x22, 0x88, 0x88, 0, 0},
9643 {0x23, 0x88, 0x88, 0, 0},
9644 {0x24, 0x88, 0x88, 0, 0},
9645 {0x25, 0xc, 0xc, 0, 0},
9647 {0x27, 0x3, 0x3, 0, 0},
9649 {0x29, 0x3, 0x3, 0, 0},
9650 {0x2A, 0x37, 0x37, 0, 0},
9651 {0x2B, 0x3, 0x3, 0, 0},
9654 {0x2E, 0x1, 0x1, 0, 0},
9655 {0x2F, 0x1, 0x1, 0, 0},
9659 {0x33, 0x11, 0x11, 0, 0},
9660 {0x34, 0xee, 0xee, 1, 1},
9663 {0x37, 0x3, 0x3, 0, 0},
9664 {0x38, 0x50, 0x50, 1, 1},
9666 {0x3A, 0x50, 0x50, 1, 1},
9668 {0x3C, 0x6e, 0x6e, 0, 0},
9669 {0x3D, 0xf0, 0xf0, 1, 1},
9673 {0x41, 0x3, 0x3, 0, 0},
9674 {0x42, 0x3, 0x3, 0, 0},
9676 {0x44, 0x1e, 0x1e, 0, 0},
9678 {0x46, 0x6e, 0x6e, 0, 0},
9679 {0x47, 0xf0, 0xf0, 1, 1},
9681 {0x49, 0x2, 0x2, 0, 0},
9682 {0x4A, 0xff, 0xff, 1, 1},
9683 {0x4B, 0xc, 0xc, 0, 0},
9685 {0x4D, 0x38, 0x38, 0, 0},
9686 {0x4E, 0x70, 0x70, 1, 1},
9687 {0x4F, 0x2, 0x2, 0, 0},
9688 {0x50, 0x88, 0x88, 0, 0},
9689 {0x51, 0xc, 0xc, 0, 0},
9691 {0x53, 0x8, 0x8, 0, 0},
9692 {0x54, 0x70, 0x70, 1, 1},
9693 {0x55, 0x2, 0x2, 0, 0},
9694 {0x56, 0xff, 0xff, 1, 1},
9696 {0x58, 0x83, 0x83, 0, 0},
9697 {0x59, 0x77, 0x77, 1, 1},
9699 {0x5B, 0x2, 0x2, 0, 0},
9700 {0x5C, 0x88, 0x88, 0, 0},
9702 {0x5E, 0x8, 0x8, 0, 0},
9703 {0x5F, 0x77, 0x77, 1, 1},
9704 {0x60, 0x1, 0x1, 0, 0},
9706 {0x62, 0x7, 0x7, 0, 0},
9708 {0x64, 0x7, 0x7, 0, 0},
9713 {0x69, 0xa, 0xa, 0, 0},
9721 {0x71, 0x2, 0x2, 0, 0},
9724 {0x74, 0xe, 0xe, 0, 0},
9725 {0x75, 0xe, 0xe, 0, 0},
9726 {0x76, 0xe, 0xe, 0, 0},
9727 {0x77, 0x13, 0x13, 0, 0},
9728 {0x78, 0x13, 0x13, 0, 0},
9729 {0x79, 0x1b, 0x1b, 0, 0},
9730 {0x7A, 0x1b, 0x1b, 0, 0},
9731 {0x7B, 0x55, 0x55, 0, 0},
9732 {0x7C, 0x5b, 0x5b, 0, 0},
9733 {0x7D, 0x30, 0x30, 1, 1},
9755 {0x93, 0x70, 0x70, 0, 0},
9756 {0x94, 0x70, 0x70, 0, 0},
9757 {0x95, 0x70, 0x70, 0, 0},
9758 {0x96, 0x70, 0x70, 0, 0},
9759 {0x97, 0x70, 0x70, 0, 0},
9760 {0x98, 0x70, 0x70, 0, 0},
9761 {0x99, 0x70, 0x70, 0, 0},
9762 {0x9A, 0x70, 0x70, 0, 0},
9763 {0xFFFF, 0, 0, 0, 0}
9766 radio_regs_t regs_RX_2056_rev6[] = {
9797 {0x20, 0x3, 0x3, 0, 0},
9800 {0x23, 0x90, 0x90, 0, 0},
9801 {0x24, 0x55, 0x55, 0, 0},
9802 {0x25, 0x15, 0x15, 0, 0},
9803 {0x26, 0x5, 0x5, 0, 0},
9804 {0x27, 0x15, 0x15, 0, 0},
9805 {0x28, 0x5, 0x5, 0, 0},
9806 {0x29, 0x20, 0x20, 0, 0},
9807 {0x2A, 0x11, 0x11, 0, 0},
9808 {0x2B, 0x90, 0x90, 0, 0},
9810 {0x2D, 0x88, 0x88, 0, 0},
9811 {0x2E, 0x32, 0x32, 0, 0},
9812 {0x2F, 0x77, 0x77, 0, 0},
9813 {0x30, 0x17, 0x17, 1, 1},
9814 {0x31, 0xff, 0xff, 1, 1},
9815 {0x32, 0x20, 0x20, 0, 0},
9817 {0x34, 0x88, 0x88, 0, 0},
9818 {0x35, 0x32, 0x32, 0, 0},
9819 {0x36, 0x77, 0x77, 0, 0},
9820 {0x37, 0x17, 0x17, 1, 1},
9821 {0x38, 0xf0, 0xf0, 1, 1},
9822 {0x39, 0x20, 0x20, 0, 0},
9823 {0x3A, 0x8, 0x8, 0, 0},
9824 {0x3B, 0x55, 0x55, 1, 1},
9826 {0x3D, 0x88, 0x88, 1, 1},
9828 {0x3F, 0x44, 0x44, 0, 0},
9829 {0x40, 0x7, 0x7, 1, 1},
9830 {0x41, 0x6, 0x6, 0, 0},
9831 {0x42, 0x4, 0x4, 0, 0},
9833 {0x44, 0x8, 0x8, 0, 0},
9834 {0x45, 0x55, 0x55, 1, 1},
9836 {0x47, 0x11, 0x11, 0, 0},
9838 {0x49, 0x44, 0x44, 0, 0},
9839 {0x4A, 0x7, 0x7, 0, 0},
9840 {0x4B, 0x6, 0x6, 0, 0},
9841 {0x4C, 0x4, 0x4, 0, 0},
9844 {0x4F, 0x26, 0x26, 1, 1},
9845 {0x50, 0x26, 0x26, 1, 1},
9846 {0x51, 0xf, 0xf, 1, 1},
9847 {0x52, 0xf, 0xf, 1, 1},
9848 {0x53, 0x44, 0x44, 0, 0},
9851 {0x56, 0x8, 0x8, 0, 0},
9852 {0x57, 0x8, 0x8, 0, 0},
9853 {0x58, 0x7, 0x7, 0, 0},
9854 {0x59, 0x22, 0x22, 0, 0},
9855 {0x5A, 0x22, 0x22, 0, 0},
9856 {0x5B, 0x2, 0x2, 0, 0},
9857 {0x5C, 0x4, 0x4, 1, 1},
9858 {0x5D, 0x7, 0x7, 0, 0},
9859 {0x5E, 0x55, 0x55, 0, 0},
9860 {0x5F, 0x23, 0x23, 0, 0},
9861 {0x60, 0x41, 0x41, 0, 0},
9862 {0x61, 0x1, 0x1, 0, 0},
9863 {0x62, 0xa, 0xa, 0, 0},
9872 {0x6B, 0xc, 0xc, 0, 0},
9879 {0x72, 0x22, 0x22, 0, 0},
9880 {0x73, 0x22, 0x22, 0, 0},
9882 {0x75, 0xa, 0xa, 0, 0},
9883 {0x76, 0x1, 0x1, 0, 0},
9884 {0x77, 0x22, 0x22, 0, 0},
9885 {0x78, 0x30, 0x30, 0, 0},
9890 {0x7D, 0x5, 0x5, 1, 1},
9914 {0xFFFF, 0, 0, 0, 0}
9917 radio_regs_t regs_SYN_2056_rev7[] = {
9925 {0x09, 0x1, 0x1, 0, 0},
9950 {0x22, 0x60, 0x60, 0, 0},
9951 {0x23, 0x6, 0x6, 0, 0},
9952 {0x24, 0xc, 0xc, 0, 0},
9956 {0x28, 0x1, 0x1, 0, 0},
9963 {0x2F, 0x1f, 0x1f, 0, 0},
9964 {0x30, 0x15, 0x15, 0, 0},
9965 {0x31, 0xf, 0xf, 0, 0},
9976 {0x3C, 0x13, 0x13, 0, 0},
9977 {0x3D, 0xf, 0xf, 0, 0},
9978 {0x3E, 0x18, 0x18, 0, 0},
9981 {0x41, 0x20, 0x20, 0, 0},
9982 {0x42, 0x20, 0x20, 0, 0},
9984 {0x44, 0x77, 0x77, 0, 0},
9985 {0x45, 0x7, 0x7, 0, 0},
9986 {0x46, 0x1, 0x1, 0, 0},
9987 {0x47, 0x4, 0x4, 0, 0},
9988 {0x48, 0xf, 0xf, 0, 0},
9989 {0x49, 0x30, 0x30, 0, 0},
9990 {0x4A, 0x32, 0x32, 0, 0},
9991 {0x4B, 0xd, 0xd, 0, 0},
9992 {0x4C, 0xd, 0xd, 0, 0},
9993 {0x4D, 0x4, 0x4, 0, 0},
9994 {0x4E, 0x6, 0x6, 0, 0},
9995 {0x4F, 0x1, 0x1, 0, 0},
9996 {0x50, 0x1c, 0x1c, 0, 0},
9997 {0x51, 0x2, 0x2, 0, 0},
9998 {0x52, 0x2, 0x2, 0, 0},
9999 {0x53, 0xf7, 0xf7, 1, 1},
10000 {0x54, 0xb4, 0xb4, 0, 0},
10001 {0x55, 0xd2, 0xd2, 0, 0},
10002 {0x56, 0, 0, 0, 0},
10003 {0x57, 0, 0, 0, 0},
10004 {0x58, 0x4, 0x4, 0, 0},
10005 {0x59, 0x96, 0x96, 0, 0},
10006 {0x5A, 0x3e, 0x3e, 0, 0},
10007 {0x5B, 0x3e, 0x3e, 0, 0},
10008 {0x5C, 0x13, 0x13, 0, 0},
10009 {0x5D, 0x2, 0x2, 0, 0},
10010 {0x5E, 0, 0, 0, 0},
10011 {0x5F, 0x7, 0x7, 0, 0},
10012 {0x60, 0x7, 0x7, 1, 1},
10013 {0x61, 0x8, 0x8, 0, 0},
10014 {0x62, 0x3, 0x3, 0, 0},
10015 {0x63, 0, 0, 0, 0},
10016 {0x64, 0, 0, 0, 0},
10017 {0x65, 0, 0, 0, 0},
10018 {0x66, 0, 0, 0, 0},
10019 {0x67, 0, 0, 0, 0},
10020 {0x68, 0x40, 0x40, 0, 0},
10021 {0x69, 0, 0, 0, 0},
10022 {0x6A, 0, 0, 0, 0},
10023 {0x6B, 0, 0, 0, 0},
10024 {0x6C, 0, 0, 0, 0},
10025 {0x6D, 0x1, 0x1, 0, 0},
10026 {0x6E, 0, 0, 0, 0},
10027 {0x6F, 0, 0, 0, 0},
10028 {0x70, 0x60, 0x60, 0, 0},
10029 {0x71, 0x66, 0x66, 0, 0},
10030 {0x72, 0xc, 0xc, 0, 0},
10031 {0x73, 0x66, 0x66, 0, 0},
10032 {0x74, 0x8f, 0x8f, 1, 1},
10033 {0x75, 0, 0, 0, 0},
10034 {0x76, 0xcc, 0xcc, 0, 0},
10035 {0x77, 0x1, 0x1, 0, 0},
10036 {0x78, 0x66, 0x66, 0, 0},
10037 {0x79, 0x66, 0x66, 0, 0},
10038 {0x7A, 0, 0, 0, 0},
10039 {0x7B, 0, 0, 0, 0},
10040 {0x7C, 0, 0, 0, 0},
10041 {0x7D, 0, 0, 0, 0},
10042 {0x7E, 0, 0, 0, 0},
10043 {0x7F, 0, 0, 0, 0},
10044 {0x80, 0, 0, 0, 0},
10045 {0x81, 0, 0, 0, 0},
10046 {0x82, 0, 0, 0, 0},
10047 {0x83, 0, 0, 0, 0},
10048 {0x84, 0, 0, 0, 0},
10049 {0x85, 0xff, 0xff, 0, 0},
10050 {0x86, 0, 0, 0, 0},
10051 {0x87, 0, 0, 0, 0},
10052 {0x88, 0, 0, 0, 0},
10053 {0x89, 0, 0, 0, 0},
10054 {0x8A, 0, 0, 0, 0},
10055 {0x8B, 0, 0, 0, 0},
10056 {0x8C, 0, 0, 0, 0},
10057 {0x8D, 0, 0, 0, 0},
10058 {0x8E, 0, 0, 0, 0},
10059 {0x8F, 0, 0, 0, 0},
10060 {0x90, 0, 0, 0, 0},
10061 {0x91, 0, 0, 0, 0},
10062 {0x92, 0, 0, 0, 0},
10063 {0x93, 0, 0, 0, 0},
10064 {0x94, 0, 0, 0, 0},
10065 {0x95, 0, 0, 0, 0},
10066 {0x96, 0, 0, 0, 0},
10067 {0x97, 0, 0, 0, 0},
10068 {0x98, 0, 0, 0, 0},
10069 {0x99, 0, 0, 0, 0},
10070 {0x9A, 0, 0, 0, 0},
10071 {0x9B, 0, 0, 0, 0},
10072 {0x9C, 0, 0, 0, 0},
10073 {0x9D, 0, 0, 0, 0},
10074 {0x9E, 0, 0, 0, 0},
10075 {0x9F, 0x6, 0x6, 0, 0},
10076 {0xA0, 0x66, 0x66, 0, 0},
10077 {0xA1, 0x66, 0x66, 0, 0},
10078 {0xA2, 0x66, 0x66, 0, 0},
10079 {0xA3, 0x66, 0x66, 0, 0},
10080 {0xA4, 0x66, 0x66, 0, 0},
10081 {0xA5, 0x66, 0x66, 0, 0},
10082 {0xA6, 0x66, 0x66, 0, 0},
10083 {0xA7, 0x66, 0x66, 0, 0},
10084 {0xA8, 0x66, 0x66, 0, 0},
10085 {0xA9, 0x66, 0x66, 0, 0},
10086 {0xAA, 0x66, 0x66, 0, 0},
10087 {0xAB, 0x66, 0x66, 0, 0},
10088 {0xAC, 0x66, 0x66, 0, 0},
10089 {0xAD, 0x66, 0x66, 0, 0},
10090 {0xAE, 0x66, 0x66, 0, 0},
10091 {0xAF, 0x66, 0x66, 0, 0},
10092 {0xB0, 0x66, 0x66, 0, 0},
10093 {0xB1, 0x66, 0x66, 0, 0},
10094 {0xB2, 0x66, 0x66, 0, 0},
10095 {0xB3, 0xa, 0xa, 0, 0},
10096 {0xB4, 0, 0, 0, 0},
10097 {0xB5, 0, 0, 0, 0},
10098 {0xB6, 0, 0, 0, 0},
10099 {0xFFFF, 0, 0, 0, 0},
10102 radio_regs_t regs_TX_2056_rev7[] = {
10103 {0x02, 0, 0, 0, 0},
10104 {0x03, 0, 0, 0, 0},
10105 {0x04, 0, 0, 0, 0},
10106 {0x05, 0, 0, 0, 0},
10107 {0x06, 0, 0, 0, 0},
10108 {0x07, 0, 0, 0, 0},
10109 {0x08, 0, 0, 0, 0},
10110 {0x09, 0, 0, 0, 0},
10111 {0x0A, 0, 0, 0, 0},
10112 {0x0B, 0, 0, 0, 0},
10113 {0x0C, 0, 0, 0, 0},
10114 {0x0D, 0, 0, 0, 0},
10115 {0x0E, 0, 0, 0, 0},
10116 {0x0F, 0, 0, 0, 0},
10117 {0x10, 0, 0, 0, 0},
10118 {0x11, 0, 0, 0, 0},
10119 {0x12, 0, 0, 0, 0},
10120 {0x13, 0, 0, 0, 0},
10121 {0x14, 0, 0, 0, 0},
10122 {0x15, 0, 0, 0, 0},
10123 {0x16, 0, 0, 0, 0},
10124 {0x17, 0, 0, 0, 0},
10125 {0x18, 0, 0, 0, 0},
10126 {0x19, 0, 0, 0, 0},
10127 {0x1A, 0, 0, 0, 0},
10128 {0x1B, 0, 0, 0, 0},
10129 {0x1C, 0, 0, 0, 0},
10130 {0x1D, 0, 0, 0, 0},
10131 {0x1E, 0, 0, 0, 0},
10132 {0x1F, 0, 0, 0, 0},
10133 {0x20, 0, 0, 0, 0},
10134 {0x21, 0x88, 0x88, 0, 0},
10135 {0x22, 0x88, 0x88, 0, 0},
10136 {0x23, 0x88, 0x88, 0, 0},
10137 {0x24, 0x88, 0x88, 0, 0},
10138 {0x25, 0xc, 0xc, 0, 0},
10139 {0x26, 0, 0, 0, 0},
10140 {0x27, 0x3, 0x3, 0, 0},
10141 {0x28, 0, 0, 0, 0},
10142 {0x29, 0x3, 0x3, 0, 0},
10143 {0x2A, 0x37, 0x37, 0, 0},
10144 {0x2B, 0x3, 0x3, 0, 0},
10145 {0x2C, 0, 0, 0, 0},
10146 {0x2D, 0, 0, 0, 0},
10147 {0x2E, 0x1, 0x1, 0, 0},
10148 {0x2F, 0x1, 0x1, 0, 0},
10149 {0x30, 0, 0, 0, 0},
10150 {0x31, 0, 0, 0, 0},
10151 {0x32, 0, 0, 0, 0},
10152 {0x33, 0x11, 0x11, 0, 0},
10153 {0x34, 0xee, 0xee, 1, 1},
10154 {0x35, 0, 0, 0, 0},
10155 {0x36, 0, 0, 0, 0},
10156 {0x37, 0x3, 0x3, 0, 0},
10157 {0x38, 0x50, 0x50, 1, 1},
10158 {0x39, 0, 0, 0, 0},
10159 {0x3A, 0x50, 0x50, 1, 1},
10160 {0x3B, 0, 0, 0, 0},
10161 {0x3C, 0x6e, 0x6e, 0, 0},
10162 {0x3D, 0xf0, 0xf0, 1, 1},
10163 {0x3E, 0, 0, 0, 0},
10164 {0x3F, 0, 0, 0, 0},
10165 {0x40, 0, 0, 0, 0},
10166 {0x41, 0x3, 0x3, 0, 0},
10167 {0x42, 0x3, 0x3, 0, 0},
10168 {0x43, 0, 0, 0, 0},
10169 {0x44, 0x1e, 0x1e, 0, 0},
10170 {0x45, 0, 0, 0, 0},
10171 {0x46, 0x6e, 0x6e, 0, 0},
10172 {0x47, 0xf0, 0xf0, 1, 1},
10173 {0x48, 0, 0, 0, 0},
10174 {0x49, 0x2, 0x2, 0, 0},
10175 {0x4A, 0xff, 0xff, 1, 1},
10176 {0x4B, 0xc, 0xc, 0, 0},
10177 {0x4C, 0, 0, 0, 0},
10178 {0x4D, 0x38, 0x38, 0, 0},
10179 {0x4E, 0x70, 0x70, 1, 1},
10180 {0x4F, 0x2, 0x2, 0, 0},
10181 {0x50, 0x88, 0x88, 0, 0},
10182 {0x51, 0xc, 0xc, 0, 0},
10183 {0x52, 0, 0, 0, 0},
10184 {0x53, 0x8, 0x8, 0, 0},
10185 {0x54, 0x70, 0x70, 1, 1},
10186 {0x55, 0x2, 0x2, 0, 0},
10187 {0x56, 0xff, 0xff, 1, 1},
10188 {0x57, 0, 0, 0, 0},
10189 {0x58, 0x83, 0x83, 0, 0},
10190 {0x59, 0x77, 0x77, 1, 1},
10191 {0x5A, 0, 0, 0, 0},
10192 {0x5B, 0x2, 0x2, 0, 0},
10193 {0x5C, 0x88, 0x88, 0, 0},
10194 {0x5D, 0, 0, 0, 0},
10195 {0x5E, 0x8, 0x8, 0, 0},
10196 {0x5F, 0x77, 0x77, 1, 1},
10197 {0x60, 0x1, 0x1, 0, 0},
10198 {0x61, 0, 0, 0, 0},
10199 {0x62, 0x7, 0x7, 0, 0},
10200 {0x63, 0, 0, 0, 0},
10201 {0x64, 0x7, 0x7, 0, 0},
10202 {0x65, 0, 0, 0, 0},
10203 {0x66, 0, 0, 0, 0},
10204 {0x67, 0, 0, 1, 1},
10205 {0x68, 0, 0, 0, 0},
10206 {0x69, 0xa, 0xa, 0, 0},
10207 {0x6A, 0, 0, 0, 0},
10208 {0x6B, 0, 0, 0, 0},
10209 {0x6C, 0, 0, 0, 0},
10210 {0x6D, 0, 0, 0, 0},
10211 {0x6E, 0, 0, 0, 0},
10212 {0x6F, 0, 0, 0, 0},
10213 {0x70, 0, 0, 0, 0},
10214 {0x71, 0x2, 0x2, 0, 0},
10215 {0x72, 0, 0, 0, 0},
10216 {0x73, 0, 0, 0, 0},
10217 {0x74, 0xe, 0xe, 0, 0},
10218 {0x75, 0xe, 0xe, 0, 0},
10219 {0x76, 0xe, 0xe, 0, 0},
10220 {0x77, 0x13, 0x13, 0, 0},
10221 {0x78, 0x13, 0x13, 0, 0},
10222 {0x79, 0x1b, 0x1b, 0, 0},
10223 {0x7A, 0x1b, 0x1b, 0, 0},
10224 {0x7B, 0x55, 0x55, 0, 0},
10225 {0x7C, 0x5b, 0x5b, 0, 0},
10226 {0x7D, 0x30, 0x30, 1, 1},
10227 {0x7E, 0, 0, 0, 0},
10228 {0x7F, 0, 0, 0, 0},
10229 {0x80, 0, 0, 0, 0},
10230 {0x81, 0, 0, 0, 0},
10231 {0x82, 0, 0, 0, 0},
10232 {0x83, 0, 0, 0, 0},
10233 {0x84, 0, 0, 0, 0},
10234 {0x85, 0, 0, 0, 0},
10235 {0x86, 0, 0, 0, 0},
10236 {0x87, 0, 0, 0, 0},
10237 {0x88, 0, 0, 0, 0},
10238 {0x89, 0, 0, 0, 0},
10239 {0x8A, 0, 0, 0, 0},
10240 {0x8B, 0, 0, 0, 0},
10241 {0x8C, 0, 0, 0, 0},
10242 {0x8D, 0, 0, 0, 0},
10243 {0x8E, 0, 0, 0, 0},
10244 {0x8F, 0, 0, 0, 0},
10245 {0x90, 0, 0, 0, 0},
10246 {0x91, 0, 0, 0, 0},
10247 {0x92, 0, 0, 0, 0},
10248 {0x93, 0x70, 0x70, 0, 0},
10249 {0x94, 0x70, 0x70, 0, 0},
10250 {0x95, 0x71, 0x71, 1, 1},
10251 {0x96, 0x71, 0x71, 1, 1},
10252 {0x97, 0x72, 0x72, 1, 1},
10253 {0x98, 0x73, 0x73, 1, 1},
10254 {0x99, 0x74, 0x74, 1, 1},
10255 {0x9A, 0x75, 0x75, 1, 1},
10256 {0xFFFF, 0, 0, 0, 0},
10259 radio_regs_t regs_RX_2056_rev7[] = {
10260 {0x02, 0, 0, 0, 0},
10261 {0x03, 0, 0, 0, 0},
10262 {0x04, 0, 0, 0, 0},
10263 {0x05, 0, 0, 0, 0},
10264 {0x06, 0, 0, 0, 0},
10265 {0x07, 0, 0, 0, 0},
10266 {0x08, 0, 0, 0, 0},
10267 {0x09, 0, 0, 0, 0},
10268 {0x0A, 0, 0, 0, 0},
10269 {0x0B, 0, 0, 0, 0},
10270 {0x0C, 0, 0, 0, 0},
10271 {0x0D, 0, 0, 0, 0},
10272 {0x0E, 0, 0, 0, 0},
10273 {0x0F, 0, 0, 0, 0},
10274 {0x10, 0, 0, 0, 0},
10275 {0x11, 0, 0, 0, 0},
10276 {0x12, 0, 0, 0, 0},
10277 {0x13, 0, 0, 0, 0},
10278 {0x14, 0, 0, 0, 0},
10279 {0x15, 0, 0, 0, 0},
10280 {0x16, 0, 0, 0, 0},
10281 {0x17, 0, 0, 0, 0},
10282 {0x18, 0, 0, 0, 0},
10283 {0x19, 0, 0, 0, 0},
10284 {0x1A, 0, 0, 0, 0},
10285 {0x1B, 0, 0, 0, 0},
10286 {0x1C, 0, 0, 0, 0},
10287 {0x1D, 0, 0, 0, 0},
10288 {0x1E, 0, 0, 0, 0},
10289 {0x1F, 0, 0, 0, 0},
10290 {0x20, 0x3, 0x3, 0, 0},
10291 {0x21, 0, 0, 0, 0},
10292 {0x22, 0, 0, 0, 0},
10293 {0x23, 0x90, 0x90, 0, 0},
10294 {0x24, 0x55, 0x55, 0, 0},
10295 {0x25, 0x15, 0x15, 0, 0},
10296 {0x26, 0x5, 0x5, 0, 0},
10297 {0x27, 0x15, 0x15, 0, 0},
10298 {0x28, 0x5, 0x5, 0, 0},
10299 {0x29, 0x20, 0x20, 0, 0},
10300 {0x2A, 0x11, 0x11, 0, 0},
10301 {0x2B, 0x90, 0x90, 0, 0},
10302 {0x2C, 0, 0, 0, 0},
10303 {0x2D, 0x88, 0x88, 0, 0},
10304 {0x2E, 0x32, 0x32, 0, 0},
10305 {0x2F, 0x77, 0x77, 0, 0},
10306 {0x30, 0x17, 0x17, 1, 1},
10307 {0x31, 0xff, 0xff, 1, 1},
10308 {0x32, 0x20, 0x20, 0, 0},
10309 {0x33, 0, 0, 0, 0},
10310 {0x34, 0x88, 0x88, 0, 0},
10311 {0x35, 0x32, 0x32, 0, 0},
10312 {0x36, 0x77, 0x77, 0, 0},
10313 {0x37, 0x17, 0x17, 1, 1},
10314 {0x38, 0xf0, 0xf0, 1, 1},
10315 {0x39, 0x20, 0x20, 0, 0},
10316 {0x3A, 0x8, 0x8, 0, 0},
10317 {0x3B, 0x55, 0x55, 1, 1},
10318 {0x3C, 0, 0, 0, 0},
10319 {0x3D, 0x88, 0x88, 1, 1},
10320 {0x3E, 0, 0, 0, 0},
10321 {0x3F, 0, 0, 1, 1},
10322 {0x40, 0x7, 0x7, 1, 1},
10323 {0x41, 0x6, 0x6, 0, 0},
10324 {0x42, 0x4, 0x4, 0, 0},
10325 {0x43, 0, 0, 0, 0},
10326 {0x44, 0x8, 0x8, 0, 0},
10327 {0x45, 0x55, 0x55, 1, 1},
10328 {0x46, 0, 0, 0, 0},
10329 {0x47, 0x11, 0x11, 0, 0},
10330 {0x48, 0, 0, 0, 0},
10331 {0x49, 0, 0, 1, 1},
10332 {0x4A, 0x7, 0x7, 0, 0},
10333 {0x4B, 0x6, 0x6, 0, 0},
10334 {0x4C, 0x4, 0x4, 0, 0},
10335 {0x4D, 0, 0, 0, 0},
10336 {0x4E, 0, 0, 0, 0},
10337 {0x4F, 0x26, 0x26, 1, 1},
10338 {0x50, 0x26, 0x26, 1, 1},
10339 {0x51, 0xf, 0xf, 1, 1},
10340 {0x52, 0xf, 0xf, 1, 1},
10341 {0x53, 0x44, 0x44, 0, 0},
10342 {0x54, 0, 0, 0, 0},
10343 {0x55, 0, 0, 0, 0},
10344 {0x56, 0x8, 0x8, 0, 0},
10345 {0x57, 0x8, 0x8, 0, 0},
10346 {0x58, 0x7, 0x7, 0, 0},
10347 {0x59, 0x22, 0x22, 0, 0},
10348 {0x5A, 0x22, 0x22, 0, 0},
10349 {0x5B, 0x2, 0x2, 0, 0},
10350 {0x5C, 0x4, 0x4, 1, 1},
10351 {0x5D, 0x7, 0x7, 0, 0},
10352 {0x5E, 0x55, 0x55, 0, 0},
10353 {0x5F, 0x23, 0x23, 0, 0},
10354 {0x60, 0x41, 0x41, 0, 0},
10355 {0x61, 0x1, 0x1, 0, 0},
10356 {0x62, 0xa, 0xa, 0, 0},
10357 {0x63, 0, 0, 0, 0},
10358 {0x64, 0, 0, 0, 0},
10359 {0x65, 0, 0, 0, 0},
10360 {0x66, 0, 0, 0, 0},
10361 {0x67, 0, 0, 0, 0},
10362 {0x68, 0, 0, 0, 0},
10363 {0x69, 0, 0, 0, 0},
10364 {0x6A, 0, 0, 0, 0},
10365 {0x6B, 0xc, 0xc, 0, 0},
10366 {0x6C, 0, 0, 0, 0},
10367 {0x6D, 0, 0, 0, 0},
10368 {0x6E, 0, 0, 0, 0},
10369 {0x6F, 0, 0, 0, 0},
10370 {0x70, 0, 0, 0, 0},
10371 {0x71, 0, 0, 0, 0},
10372 {0x72, 0x22, 0x22, 0, 0},
10373 {0x73, 0x22, 0x22, 0, 0},
10374 {0x74, 0, 0, 1, 1},
10375 {0x75, 0xa, 0xa, 0, 0},
10376 {0x76, 0x1, 0x1, 0, 0},
10377 {0x77, 0x22, 0x22, 0, 0},
10378 {0x78, 0x30, 0x30, 0, 0},
10379 {0x79, 0, 0, 0, 0},
10380 {0x7A, 0, 0, 0, 0},
10381 {0x7B, 0, 0, 0, 0},
10382 {0x7C, 0, 0, 0, 0},
10383 {0x7D, 0, 0, 0, 0},
10384 {0x7E, 0, 0, 0, 0},
10385 {0x7F, 0, 0, 0, 0},
10386 {0x80, 0, 0, 0, 0},
10387 {0x81, 0, 0, 0, 0},
10388 {0x82, 0, 0, 0, 0},
10389 {0x83, 0, 0, 0, 0},
10390 {0x84, 0, 0, 0, 0},
10391 {0x85, 0, 0, 0, 0},
10392 {0x86, 0, 0, 0, 0},
10393 {0x87, 0, 0, 0, 0},
10394 {0x88, 0, 0, 0, 0},
10395 {0x89, 0, 0, 0, 0},
10396 {0x8A, 0, 0, 0, 0},
10397 {0x8B, 0, 0, 0, 0},
10398 {0x8C, 0, 0, 0, 0},
10399 {0x8D, 0, 0, 0, 0},
10400 {0x8E, 0, 0, 0, 0},
10401 {0x8F, 0, 0, 0, 0},
10402 {0x90, 0, 0, 0, 0},
10403 {0x91, 0, 0, 0, 0},
10404 {0x92, 0, 0, 0, 0},
10405 {0x93, 0, 0, 0, 0},
10406 {0x94, 0, 0, 0, 0},
10407 {0xFFFF, 0, 0, 0, 0},
10410 radio_regs_t regs_SYN_2056_rev8[] = {
10411 {0x02, 0, 0, 0, 0},
10412 {0x03, 0, 0, 0, 0},
10413 {0x04, 0, 0, 0, 0},
10414 {0x05, 0, 0, 0, 0},
10415 {0x06, 0, 0, 0, 0},
10416 {0x07, 0, 0, 0, 0},
10417 {0x08, 0, 0, 0, 0},
10418 {0x09, 0x1, 0x1, 0, 0},
10419 {0x0A, 0, 0, 0, 0},
10420 {0x0B, 0, 0, 0, 0},
10421 {0x0C, 0, 0, 0, 0},
10422 {0x0D, 0, 0, 0, 0},
10423 {0x0E, 0, 0, 0, 0},
10424 {0x0F, 0, 0, 0, 0},
10425 {0x10, 0, 0, 0, 0},
10426 {0x11, 0, 0, 0, 0},
10427 {0x12, 0, 0, 0, 0},
10428 {0x13, 0, 0, 0, 0},
10429 {0x14, 0, 0, 0, 0},
10430 {0x15, 0, 0, 0, 0},
10431 {0x16, 0, 0, 0, 0},
10432 {0x17, 0, 0, 0, 0},
10433 {0x18, 0, 0, 0, 0},
10434 {0x19, 0, 0, 0, 0},
10435 {0x1A, 0, 0, 0, 0},
10436 {0x1B, 0, 0, 0, 0},
10437 {0x1C, 0, 0, 0, 0},
10438 {0x1D, 0, 0, 0, 0},
10439 {0x1E, 0, 0, 0, 0},
10440 {0x1F, 0, 0, 0, 0},
10441 {0x20, 0, 0, 0, 0},
10442 {0x21, 0, 0, 0, 0},
10443 {0x22, 0x60, 0x60, 0, 0},
10444 {0x23, 0x6, 0x6, 0, 0},
10445 {0x24, 0xc, 0xc, 0, 0},
10446 {0x25, 0, 0, 0, 0},
10447 {0x26, 0, 0, 0, 0},
10448 {0x27, 0, 0, 0, 0},
10449 {0x28, 0x1, 0x1, 0, 0},
10450 {0x29, 0, 0, 0, 0},
10451 {0x2A, 0, 0, 0, 0},
10452 {0x2B, 0, 0, 0, 0},
10453 {0x2C, 0, 0, 0, 0},
10454 {0x2D, 0, 0, 0, 0},
10455 {0x2E, 0, 0, 0, 0},
10456 {0x2F, 0x1f, 0x1f, 0, 0},
10457 {0x30, 0x15, 0x15, 0, 0},
10458 {0x31, 0xf, 0xf, 0, 0},
10459 {0x32, 0, 0, 0, 0},
10460 {0x33, 0, 0, 0, 0},
10461 {0x34, 0, 0, 0, 0},
10462 {0x35, 0, 0, 0, 0},
10463 {0x36, 0, 0, 0, 0},
10464 {0x37, 0, 0, 0, 0},
10465 {0x38, 0, 0, 0, 0},
10466 {0x39, 0, 0, 0, 0},
10467 {0x3A, 0, 0, 0, 0},
10468 {0x3B, 0, 0, 0, 0},
10469 {0x3C, 0x13, 0x13, 0, 0},
10470 {0x3D, 0xf, 0xf, 0, 0},
10471 {0x3E, 0x18, 0x18, 0, 0},
10472 {0x3F, 0, 0, 0, 0},
10473 {0x40, 0, 0, 0, 0},
10474 {0x41, 0x20, 0x20, 0, 0},
10475 {0x42, 0x20, 0x20, 0, 0},
10476 {0x43, 0, 0, 0, 0},
10477 {0x44, 0x77, 0x77, 0, 0},
10478 {0x45, 0x7, 0x7, 0, 0},
10479 {0x46, 0x1, 0x1, 0, 0},
10480 {0x47, 0x4, 0x4, 0, 0},
10481 {0x48, 0xf, 0xf, 0, 0},
10482 {0x49, 0x30, 0x30, 0, 0},
10483 {0x4A, 0x32, 0x32, 0, 0},
10484 {0x4B, 0xd, 0xd, 0, 0},
10485 {0x4C, 0xd, 0xd, 0, 0},
10486 {0x4D, 0x4, 0x4, 0, 0},
10487 {0x4E, 0x6, 0x6, 0, 0},
10488 {0x4F, 0x1, 0x1, 0, 0},
10489 {0x50, 0x1c, 0x1c, 0, 0},
10490 {0x51, 0x2, 0x2, 0, 0},
10491 {0x52, 0x2, 0x2, 0, 0},
10492 {0x53, 0xf7, 0xf7, 1, 1},
10493 {0x54, 0xb4, 0xb4, 0, 0},
10494 {0x55, 0xd2, 0xd2, 0, 0},
10495 {0x56, 0, 0, 0, 0},
10496 {0x57, 0, 0, 0, 0},
10497 {0x58, 0x4, 0x4, 0, 0},
10498 {0x59, 0x96, 0x96, 0, 0},
10499 {0x5A, 0x3e, 0x3e, 0, 0},
10500 {0x5B, 0x3e, 0x3e, 0, 0},
10501 {0x5C, 0x13, 0x13, 0, 0},
10502 {0x5D, 0x2, 0x2, 0, 0},
10503 {0x5E, 0, 0, 0, 0},
10504 {0x5F, 0x7, 0x7, 0, 0},
10505 {0x60, 0x7, 0x7, 1, 1},
10506 {0x61, 0x8, 0x8, 0, 0},
10507 {0x62, 0x3, 0x3, 0, 0},
10508 {0x63, 0, 0, 0, 0},
10509 {0x64, 0, 0, 0, 0},
10510 {0x65, 0, 0, 0, 0},
10511 {0x66, 0, 0, 0, 0},
10512 {0x67, 0, 0, 0, 0},
10513 {0x68, 0x40, 0x40, 0, 0},
10514 {0x69, 0, 0, 0, 0},
10515 {0x6A, 0, 0, 0, 0},
10516 {0x6B, 0, 0, 0, 0},
10517 {0x6C, 0, 0, 0, 0},
10518 {0x6D, 0x1, 0x1, 0, 0},
10519 {0x6E, 0, 0, 0, 0},
10520 {0x6F, 0, 0, 0, 0},
10521 {0x70, 0x60, 0x60, 0, 0},
10522 {0x71, 0x66, 0x66, 0, 0},
10523 {0x72, 0xc, 0xc, 0, 0},
10524 {0x73, 0x66, 0x66, 0, 0},
10525 {0x74, 0x8f, 0x8f, 1, 1},
10526 {0x75, 0, 0, 0, 0},
10527 {0x76, 0xcc, 0xcc, 0, 0},
10528 {0x77, 0x1, 0x1, 0, 0},
10529 {0x78, 0x66, 0x66, 0, 0},
10530 {0x79, 0x66, 0x66, 0, 0},
10531 {0x7A, 0, 0, 0, 0},
10532 {0x7B, 0, 0, 0, 0},
10533 {0x7C, 0, 0, 0, 0},
10534 {0x7D, 0, 0, 0, 0},
10535 {0x7E, 0, 0, 0, 0},
10536 {0x7F, 0, 0, 0, 0},
10537 {0x80, 0, 0, 0, 0},
10538 {0x81, 0, 0, 0, 0},
10539 {0x82, 0, 0, 0, 0},
10540 {0x83, 0, 0, 0, 0},
10541 {0x84, 0, 0, 0, 0},
10542 {0x85, 0xff, 0xff, 0, 0},
10543 {0x86, 0, 0, 0, 0},
10544 {0x87, 0, 0, 0, 0},
10545 {0x88, 0, 0, 0, 0},
10546 {0x89, 0, 0, 0, 0},
10547 {0x8A, 0, 0, 0, 0},
10548 {0x8B, 0, 0, 0, 0},
10549 {0x8C, 0, 0, 0, 0},
10550 {0x8D, 0, 0, 0, 0},
10551 {0x8E, 0, 0, 0, 0},
10552 {0x8F, 0, 0, 0, 0},
10553 {0x90, 0, 0, 0, 0},
10554 {0x91, 0, 0, 0, 0},
10555 {0x92, 0, 0, 0, 0},
10556 {0x93, 0, 0, 0, 0},
10557 {0x94, 0, 0, 0, 0},
10558 {0x95, 0, 0, 0, 0},
10559 {0x96, 0, 0, 0, 0},
10560 {0x97, 0, 0, 0, 0},
10561 {0x98, 0, 0, 0, 0},
10562 {0x99, 0, 0, 0, 0},
10563 {0x9A, 0, 0, 0, 0},
10564 {0x9B, 0, 0, 0, 0},
10565 {0x9C, 0, 0, 0, 0},
10566 {0x9D, 0, 0, 0, 0},
10567 {0x9E, 0, 0, 0, 0},
10568 {0x9F, 0x6, 0x6, 0, 0},
10569 {0xA0, 0x66, 0x66, 0, 0},
10570 {0xA1, 0x66, 0x66, 0, 0},
10571 {0xA2, 0x66, 0x66, 0, 0},
10572 {0xA3, 0x66, 0x66, 0, 0},
10573 {0xA4, 0x66, 0x66, 0, 0},
10574 {0xA5, 0x66, 0x66, 0, 0},
10575 {0xA6, 0x66, 0x66, 0, 0},
10576 {0xA7, 0x66, 0x66, 0, 0},
10577 {0xA8, 0x66, 0x66, 0, 0},
10578 {0xA9, 0x66, 0x66, 0, 0},
10579 {0xAA, 0x66, 0x66, 0, 0},
10580 {0xAB, 0x66, 0x66, 0, 0},
10581 {0xAC, 0x66, 0x66, 0, 0},
10582 {0xAD, 0x66, 0x66, 0, 0},
10583 {0xAE, 0x66, 0x66, 0, 0},
10584 {0xAF, 0x66, 0x66, 0, 0},
10585 {0xB0, 0x66, 0x66, 0, 0},
10586 {0xB1, 0x66, 0x66, 0, 0},
10587 {0xB2, 0x66, 0x66, 0, 0},
10588 {0xB3, 0xa, 0xa, 0, 0},
10589 {0xB4, 0, 0, 0, 0},
10590 {0xB5, 0, 0, 0, 0},
10591 {0xB6, 0, 0, 0, 0},
10592 {0xFFFF, 0, 0, 0, 0},
10595 radio_regs_t regs_TX_2056_rev8[] = {
10596 {0x02, 0, 0, 0, 0},
10597 {0x03, 0, 0, 0, 0},
10598 {0x04, 0, 0, 0, 0},
10599 {0x05, 0, 0, 0, 0},
10600 {0x06, 0, 0, 0, 0},
10601 {0x07, 0, 0, 0, 0},
10602 {0x08, 0, 0, 0, 0},
10603 {0x09, 0, 0, 0, 0},
10604 {0x0A, 0, 0, 0, 0},
10605 {0x0B, 0, 0, 0, 0},
10606 {0x0C, 0, 0, 0, 0},
10607 {0x0D, 0, 0, 0, 0},
10608 {0x0E, 0, 0, 0, 0},
10609 {0x0F, 0, 0, 0, 0},
10610 {0x10, 0, 0, 0, 0},
10611 {0x11, 0, 0, 0, 0},
10612 {0x12, 0, 0, 0, 0},
10613 {0x13, 0, 0, 0, 0},
10614 {0x14, 0, 0, 0, 0},
10615 {0x15, 0, 0, 0, 0},
10616 {0x16, 0, 0, 0, 0},
10617 {0x17, 0, 0, 0, 0},
10618 {0x18, 0, 0, 0, 0},
10619 {0x19, 0, 0, 0, 0},
10620 {0x1A, 0, 0, 0, 0},
10621 {0x1B, 0, 0, 0, 0},
10622 {0x1C, 0, 0, 0, 0},
10623 {0x1D, 0, 0, 0, 0},
10624 {0x1E, 0, 0, 0, 0},
10625 {0x1F, 0, 0, 0, 0},
10626 {0x20, 0, 0, 0, 0},
10627 {0x21, 0x88, 0x88, 0, 0},
10628 {0x22, 0x88, 0x88, 0, 0},
10629 {0x23, 0x88, 0x88, 0, 0},
10630 {0x24, 0x88, 0x88, 0, 0},
10631 {0x25, 0xc, 0xc, 0, 0},
10632 {0x26, 0, 0, 0, 0},
10633 {0x27, 0x3, 0x3, 0, 0},
10634 {0x28, 0, 0, 0, 0},
10635 {0x29, 0x3, 0x3, 0, 0},
10636 {0x2A, 0x37, 0x37, 0, 0},
10637 {0x2B, 0x3, 0x3, 0, 0},
10638 {0x2C, 0, 0, 0, 0},
10639 {0x2D, 0, 0, 0, 0},
10640 {0x2E, 0x1, 0x1, 0, 0},
10641 {0x2F, 0x1, 0x1, 0, 0},
10642 {0x30, 0, 0, 0, 0},
10643 {0x31, 0, 0, 0, 0},
10644 {0x32, 0, 0, 0, 0},
10645 {0x33, 0x11, 0x11, 0, 0},
10646 {0x34, 0xee, 0xee, 1, 1},
10647 {0x35, 0, 0, 0, 0},
10648 {0x36, 0, 0, 0, 0},
10649 {0x37, 0x3, 0x3, 0, 0},
10650 {0x38, 0x50, 0x50, 1, 1},
10651 {0x39, 0, 0, 0, 0},
10652 {0x3A, 0x50, 0x50, 1, 1},
10653 {0x3B, 0, 0, 0, 0},
10654 {0x3C, 0x6e, 0x6e, 0, 0},
10655 {0x3D, 0xf0, 0xf0, 1, 1},
10656 {0x3E, 0, 0, 0, 0},
10657 {0x3F, 0, 0, 0, 0},
10658 {0x40, 0, 0, 0, 0},
10659 {0x41, 0x3, 0x3, 0, 0},
10660 {0x42, 0x3, 0x3, 0, 0},
10661 {0x43, 0, 0, 0, 0},
10662 {0x44, 0x1e, 0x1e, 0, 0},
10663 {0x45, 0, 0, 0, 0},
10664 {0x46, 0x6e, 0x6e, 0, 0},
10665 {0x47, 0xf0, 0xf0, 1, 1},
10666 {0x48, 0, 0, 0, 0},
10667 {0x49, 0x2, 0x2, 0, 0},
10668 {0x4A, 0xff, 0xff, 1, 1},
10669 {0x4B, 0xc, 0xc, 0, 0},
10670 {0x4C, 0, 0, 0, 0},
10671 {0x4D, 0x38, 0x38, 0, 0},
10672 {0x4E, 0x70, 0x70, 1, 1},
10673 {0x4F, 0x2, 0x2, 0, 0},
10674 {0x50, 0x88, 0x88, 0, 0},
10675 {0x51, 0xc, 0xc, 0, 0},
10676 {0x52, 0, 0, 0, 0},
10677 {0x53, 0x8, 0x8, 0, 0},
10678 {0x54, 0x70, 0x70, 1, 1},
10679 {0x55, 0x2, 0x2, 0, 0},
10680 {0x56, 0xff, 0xff, 1, 1},
10681 {0x57, 0, 0, 0, 0},
10682 {0x58, 0x83, 0x83, 0, 0},
10683 {0x59, 0x77, 0x77, 1, 1},
10684 {0x5A, 0, 0, 0, 0},
10685 {0x5B, 0x2, 0x2, 0, 0},
10686 {0x5C, 0x88, 0x88, 0, 0},
10687 {0x5D, 0, 0, 0, 0},
10688 {0x5E, 0x8, 0x8, 0, 0},
10689 {0x5F, 0x77, 0x77, 1, 1},
10690 {0x60, 0x1, 0x1, 0, 0},
10691 {0x61, 0, 0, 0, 0},
10692 {0x62, 0x7, 0x7, 0, 0},
10693 {0x63, 0, 0, 0, 0},
10694 {0x64, 0x7, 0x7, 0, 0},
10695 {0x65, 0, 0, 0, 0},
10696 {0x66, 0, 0, 0, 0},
10697 {0x67, 0, 0, 1, 1},
10698 {0x68, 0, 0, 0, 0},
10699 {0x69, 0xa, 0xa, 0, 0},
10700 {0x6A, 0, 0, 0, 0},
10701 {0x6B, 0, 0, 0, 0},
10702 {0x6C, 0, 0, 0, 0},
10703 {0x6D, 0, 0, 0, 0},
10704 {0x6E, 0, 0, 0, 0},
10705 {0x6F, 0, 0, 0, 0},
10706 {0x70, 0, 0, 0, 0},
10707 {0x71, 0x2, 0x2, 0, 0},
10708 {0x72, 0, 0, 0, 0},
10709 {0x73, 0, 0, 0, 0},
10710 {0x74, 0xe, 0xe, 0, 0},
10711 {0x75, 0xe, 0xe, 0, 0},
10712 {0x76, 0xe, 0xe, 0, 0},
10713 {0x77, 0x13, 0x13, 0, 0},
10714 {0x78, 0x13, 0x13, 0, 0},
10715 {0x79, 0x1b, 0x1b, 0, 0},
10716 {0x7A, 0x1b, 0x1b, 0, 0},
10717 {0x7B, 0x55, 0x55, 0, 0},
10718 {0x7C, 0x5b, 0x5b, 0, 0},
10719 {0x7D, 0x30, 0x30, 1, 1},
10720 {0x7E, 0, 0, 0, 0},
10721 {0x7F, 0, 0, 0, 0},
10722 {0x80, 0, 0, 0, 0},
10723 {0x81, 0, 0, 0, 0},
10724 {0x82, 0, 0, 0, 0},
10725 {0x83, 0, 0, 0, 0},
10726 {0x84, 0, 0, 0, 0},
10727 {0x85, 0, 0, 0, 0},
10728 {0x86, 0, 0, 0, 0},
10729 {0x87, 0, 0, 0, 0},
10730 {0x88, 0, 0, 0, 0},
10731 {0x89, 0, 0, 0, 0},
10732 {0x8A, 0, 0, 0, 0},
10733 {0x8B, 0, 0, 0, 0},
10734 {0x8C, 0, 0, 0, 0},
10735 {0x8D, 0, 0, 0, 0},
10736 {0x8E, 0, 0, 0, 0},
10737 {0x8F, 0, 0, 0, 0},
10738 {0x90, 0, 0, 0, 0},
10739 {0x91, 0, 0, 0, 0},
10740 {0x92, 0, 0, 0, 0},
10741 {0x93, 0x70, 0x70, 0, 0},
10742 {0x94, 0x70, 0x70, 0, 0},
10743 {0x95, 0x70, 0x70, 0, 0},
10744 {0x96, 0x70, 0x70, 0, 0},
10745 {0x97, 0x70, 0x70, 0, 0},
10746 {0x98, 0x70, 0x70, 0, 0},
10747 {0x99, 0x70, 0x70, 0, 0},
10748 {0x9A, 0x70, 0x70, 0, 0},
10749 {0xFFFF, 0, 0, 0, 0},
10752 radio_regs_t regs_RX_2056_rev8[] = {
10753 {0x02, 0, 0, 0, 0},
10754 {0x03, 0, 0, 0, 0},
10755 {0x04, 0, 0, 0, 0},
10756 {0x05, 0, 0, 0, 0},
10757 {0x06, 0, 0, 0, 0},
10758 {0x07, 0, 0, 0, 0},
10759 {0x08, 0, 0, 0, 0},
10760 {0x09, 0, 0, 0, 0},
10761 {0x0A, 0, 0, 0, 0},
10762 {0x0B, 0, 0, 0, 0},
10763 {0x0C, 0, 0, 0, 0},
10764 {0x0D, 0, 0, 0, 0},
10765 {0x0E, 0, 0, 0, 0},
10766 {0x0F, 0, 0, 0, 0},
10767 {0x10, 0, 0, 0, 0},
10768 {0x11, 0, 0, 0, 0},
10769 {0x12, 0, 0, 0, 0},
10770 {0x13, 0, 0, 0, 0},
10771 {0x14, 0, 0, 0, 0},
10772 {0x15, 0, 0, 0, 0},
10773 {0x16, 0, 0, 0, 0},
10774 {0x17, 0, 0, 0, 0},
10775 {0x18, 0, 0, 0, 0},
10776 {0x19, 0, 0, 0, 0},
10777 {0x1A, 0, 0, 0, 0},
10778 {0x1B, 0, 0, 0, 0},
10779 {0x1C, 0, 0, 0, 0},
10780 {0x1D, 0, 0, 0, 0},
10781 {0x1E, 0, 0, 0, 0},
10782 {0x1F, 0, 0, 0, 0},
10783 {0x20, 0x3, 0x3, 0, 0},
10784 {0x21, 0, 0, 0, 0},
10785 {0x22, 0, 0, 0, 0},
10786 {0x23, 0x90, 0x90, 0, 0},
10787 {0x24, 0x55, 0x55, 0, 0},
10788 {0x25, 0x15, 0x15, 0, 0},
10789 {0x26, 0x5, 0x5, 0, 0},
10790 {0x27, 0x15, 0x15, 0, 0},
10791 {0x28, 0x5, 0x5, 0, 0},
10792 {0x29, 0x20, 0x20, 0, 0},
10793 {0x2A, 0x11, 0x11, 0, 0},
10794 {0x2B, 0x90, 0x90, 0, 0},
10795 {0x2C, 0, 0, 0, 0},
10796 {0x2D, 0x88, 0x88, 0, 0},
10797 {0x2E, 0x32, 0x32, 0, 0},
10798 {0x2F, 0x77, 0x77, 0, 0},
10799 {0x30, 0x17, 0x17, 1, 1},
10800 {0x31, 0xff, 0xff, 1, 1},
10801 {0x32, 0x20, 0x20, 0, 0},
10802 {0x33, 0, 0, 0, 0},
10803 {0x34, 0x88, 0x88, 0, 0},
10804 {0x35, 0x32, 0x32, 0, 0},
10805 {0x36, 0x77, 0x77, 0, 0},
10806 {0x37, 0x17, 0x17, 1, 1},
10807 {0x38, 0xf0, 0xf0, 1, 1},
10808 {0x39, 0x20, 0x20, 0, 0},
10809 {0x3A, 0x8, 0x8, 0, 0},
10810 {0x3B, 0x55, 0x55, 1, 1},
10811 {0x3C, 0, 0, 0, 0},
10812 {0x3D, 0x88, 0x88, 1, 1},
10813 {0x3E, 0, 0, 0, 0},
10814 {0x3F, 0x44, 0x44, 0, 0},
10815 {0x40, 0x7, 0x7, 1, 1},
10816 {0x41, 0x6, 0x6, 0, 0},
10817 {0x42, 0x4, 0x4, 0, 0},
10818 {0x43, 0, 0, 0, 0},
10819 {0x44, 0x8, 0x8, 0, 0},
10820 {0x45, 0x55, 0x55, 1, 1},
10821 {0x46, 0, 0, 0, 0},
10822 {0x47, 0x11, 0x11, 0, 0},
10823 {0x48, 0, 0, 0, 0},
10824 {0x49, 0x44, 0x44, 0, 0},
10825 {0x4A, 0x7, 0x7, 0, 0},
10826 {0x4B, 0x6, 0x6, 0, 0},
10827 {0x4C, 0x4, 0x4, 0, 0},
10828 {0x4D, 0, 0, 0, 0},
10829 {0x4E, 0, 0, 0, 0},
10830 {0x4F, 0x26, 0x26, 1, 1},
10831 {0x50, 0x26, 0x26, 1, 1},
10832 {0x51, 0xf, 0xf, 1, 1},
10833 {0x52, 0xf, 0xf, 1, 1},
10834 {0x53, 0x44, 0x44, 0, 0},
10835 {0x54, 0, 0, 0, 0},
10836 {0x55, 0, 0, 0, 0},
10837 {0x56, 0x8, 0x8, 0, 0},
10838 {0x57, 0x8, 0x8, 0, 0},
10839 {0x58, 0x7, 0x7, 0, 0},
10840 {0x59, 0x22, 0x22, 0, 0},
10841 {0x5A, 0x22, 0x22, 0, 0},
10842 {0x5B, 0x2, 0x2, 0, 0},
10843 {0x5C, 0x4, 0x4, 1, 1},
10844 {0x5D, 0x7, 0x7, 0, 0},
10845 {0x5E, 0x55, 0x55, 0, 0},
10846 {0x5F, 0x23, 0x23, 0, 0},
10847 {0x60, 0x41, 0x41, 0, 0},
10848 {0x61, 0x1, 0x1, 0, 0},
10849 {0x62, 0xa, 0xa, 0, 0},
10850 {0x63, 0, 0, 0, 0},
10851 {0x64, 0, 0, 0, 0},
10852 {0x65, 0, 0, 0, 0},
10853 {0x66, 0, 0, 0, 0},
10854 {0x67, 0, 0, 0, 0},
10855 {0x68, 0, 0, 0, 0},
10856 {0x69, 0, 0, 0, 0},
10857 {0x6A, 0, 0, 0, 0},
10858 {0x6B, 0xc, 0xc, 0, 0},
10859 {0x6C, 0, 0, 0, 0},
10860 {0x6D, 0, 0, 0, 0},
10861 {0x6E, 0, 0, 0, 0},
10862 {0x6F, 0, 0, 0, 0},
10863 {0x70, 0, 0, 0, 0},
10864 {0x71, 0, 0, 0, 0},
10865 {0x72, 0x22, 0x22, 0, 0},
10866 {0x73, 0x22, 0x22, 0, 0},
10867 {0x74, 0, 0, 1, 1},
10868 {0x75, 0xa, 0xa, 0, 0},
10869 {0x76, 0x1, 0x1, 0, 0},
10870 {0x77, 0x22, 0x22, 0, 0},
10871 {0x78, 0x30, 0x30, 0, 0},
10872 {0x79, 0, 0, 0, 0},
10873 {0x7A, 0, 0, 0, 0},
10874 {0x7B, 0, 0, 0, 0},
10875 {0x7C, 0, 0, 0, 0},
10876 {0x7D, 0x5, 0x5, 1, 1},
10877 {0x7E, 0, 0, 0, 0},
10878 {0x7F, 0, 0, 0, 0},
10879 {0x80, 0, 0, 0, 0},
10880 {0x81, 0, 0, 0, 0},
10881 {0x82, 0, 0, 0, 0},
10882 {0x83, 0, 0, 0, 0},
10883 {0x84, 0, 0, 0, 0},
10884 {0x85, 0, 0, 0, 0},
10885 {0x86, 0, 0, 0, 0},
10886 {0x87, 0, 0, 0, 0},
10887 {0x88, 0, 0, 0, 0},
10888 {0x89, 0, 0, 0, 0},
10889 {0x8A, 0, 0, 0, 0},
10890 {0x8B, 0, 0, 0, 0},
10891 {0x8C, 0, 0, 0, 0},
10892 {0x8D, 0, 0, 0, 0},
10893 {0x8E, 0, 0, 0, 0},
10894 {0x8F, 0, 0, 0, 0},
10895 {0x90, 0, 0, 0, 0},
10896 {0x91, 0, 0, 0, 0},
10897 {0x92, 0, 0, 0, 0},
10898 {0x93, 0, 0, 0, 0},
10899 {0x94, 0, 0, 0, 0},
10900 {0xFFFF, 0, 0, 0, 0},
10903 radio_regs_t regs_SYN_2056_rev11[] = {
10904 {0x02, 0, 0, 0, 0},
10905 {0x03, 0, 0, 0, 0},
10906 {0x04, 0, 0, 0, 0},
10907 {0x05, 0, 0, 0, 0},
10908 {0x06, 0, 0, 0, 0},
10909 {0x07, 0, 0, 0, 0},
10910 {0x08, 0, 0, 0, 0},
10911 {0x09, 0x1, 0x1, 0, 0},
10912 {0x0A, 0, 0, 0, 0},
10913 {0x0B, 0, 0, 0, 0},
10914 {0x0C, 0, 0, 0, 0},
10915 {0x0D, 0, 0, 0, 0},
10916 {0x0E, 0, 0, 0, 0},
10917 {0x0F, 0, 0, 0, 0},
10918 {0x10, 0, 0, 0, 0},
10919 {0x11, 0, 0, 0, 0},
10920 {0x12, 0, 0, 0, 0},
10921 {0x13, 0, 0, 0, 0},
10922 {0x14, 0, 0, 0, 0},
10923 {0x15, 0, 0, 0, 0},
10924 {0x16, 0, 0, 0, 0},
10925 {0x17, 0, 0, 0, 0},
10926 {0x18, 0, 0, 0, 0},
10927 {0x19, 0, 0, 0, 0},
10928 {0x1A, 0, 0, 0, 0},
10929 {0x1B, 0, 0, 0, 0},
10930 {0x1C, 0, 0, 0, 0},
10931 {0x1D, 0, 0, 0, 0},
10932 {0x1E, 0, 0, 0, 0},
10933 {0x1F, 0, 0, 0, 0},
10934 {0x20, 0, 0, 0, 0},
10935 {0x21, 0, 0, 0, 0},
10936 {0x22, 0x60, 0x60, 0, 0},
10937 {0x23, 0x6, 0x6, 0, 0},
10938 {0x24, 0xc, 0xc, 0, 0},
10939 {0x25, 0, 0, 0, 0},
10940 {0x26, 0, 0, 0, 0},
10941 {0x27, 0, 0, 0, 0},
10942 {0x28, 0x1, 0x1, 0, 0},
10943 {0x29, 0, 0, 0, 0},
10944 {0x2A, 0, 0, 0, 0},
10945 {0x2B, 0, 0, 0, 0},
10946 {0x2C, 0, 0, 0, 0},
10947 {0x2D, 0, 0, 0, 0},
10948 {0x2E, 0, 0, 0, 0},
10949 {0x2F, 0x1f, 0x1f, 0, 0},
10950 {0x30, 0x15, 0x15, 0, 0},
10951 {0x31, 0xf, 0xf, 0, 0},
10952 {0x32, 0, 0, 0, 0},
10953 {0x33, 0, 0, 0, 0},
10954 {0x34, 0, 0, 0, 0},
10955 {0x35, 0, 0, 0, 0},
10956 {0x36, 0, 0, 0, 0},
10957 {0x37, 0, 0, 0, 0},
10958 {0x38, 0, 0, 0, 0},
10959 {0x39, 0, 0, 0, 0},
10960 {0x3A, 0, 0, 0, 0},
10961 {0x3B, 0, 0, 0, 0},
10962 {0x3C, 0x13, 0x13, 0, 0},
10963 {0x3D, 0xf, 0xf, 0, 0},
10964 {0x3E, 0x18, 0x18, 0, 0},
10965 {0x3F, 0, 0, 0, 0},
10966 {0x40, 0, 0, 0, 0},
10967 {0x41, 0x20, 0x20, 0, 0},
10968 {0x42, 0x20, 0x20, 0, 0},
10969 {0x43, 0, 0, 0, 0},
10970 {0x44, 0x77, 0x77, 0, 0},
10971 {0x45, 0x7, 0x7, 0, 0},
10972 {0x46, 0x1, 0x1, 0, 0},
10973 {0x47, 0x6, 0x6, 1, 1},
10974 {0x48, 0xf, 0xf, 0, 0},
10975 {0x49, 0x3f, 0x3f, 1, 1},
10976 {0x4A, 0x32, 0x32, 0, 0},
10977 {0x4B, 0x6, 0x6, 1, 1},
10978 {0x4C, 0x6, 0x6, 1, 1},
10979 {0x4D, 0x4, 0x4, 0, 0},
10980 {0x4E, 0x2b, 0x2b, 1, 1},
10981 {0x4F, 0x1, 0x1, 0, 0},
10982 {0x50, 0x1c, 0x1c, 0, 0},
10983 {0x51, 0x2, 0x2, 0, 0},
10984 {0x52, 0x2, 0x2, 0, 0},
10985 {0x53, 0xf7, 0xf7, 1, 1},
10986 {0x54, 0xb4, 0xb4, 0, 0},
10987 {0x55, 0xd2, 0xd2, 0, 0},
10988 {0x56, 0, 0, 0, 0},
10989 {0x57, 0, 0, 0, 0},
10990 {0x58, 0x4, 0x4, 0, 0},
10991 {0x59, 0x96, 0x96, 0, 0},
10992 {0x5A, 0x3e, 0x3e, 0, 0},
10993 {0x5B, 0x3e, 0x3e, 0, 0},
10994 {0x5C, 0x13, 0x13, 0, 0},
10995 {0x5D, 0x2, 0x2, 0, 0},
10996 {0x5E, 0, 0, 0, 0},
10997 {0x5F, 0x7, 0x7, 0, 0},
10998 {0x60, 0x7, 0x7, 1, 1},
10999 {0x61, 0x8, 0x8, 0, 0},
11000 {0x62, 0x3, 0x3, 0, 0},
11001 {0x63, 0, 0, 0, 0},
11002 {0x64, 0, 0, 0, 0},
11003 {0x65, 0, 0, 0, 0},
11004 {0x66, 0, 0, 0, 0},
11005 {0x67, 0, 0, 0, 0},
11006 {0x68, 0x40, 0x40, 0, 0},
11007 {0x69, 0, 0, 0, 0},
11008 {0x6A, 0, 0, 0, 0},
11009 {0x6B, 0, 0, 0, 0},
11010 {0x6C, 0, 0, 0, 0},
11011 {0x6D, 0x1, 0x1, 0, 0},
11012 {0x6E, 0, 0, 0, 0},
11013 {0x6F, 0, 0, 0, 0},
11014 {0x70, 0x60, 0x60, 0, 0},
11015 {0x71, 0x66, 0x66, 0, 0},
11016 {0x72, 0xc, 0xc, 0, 0},
11017 {0x73, 0x66, 0x66, 0, 0},
11018 {0x74, 0x8f, 0x8f, 1, 1},
11019 {0x75, 0, 0, 0, 0},
11020 {0x76, 0xcc, 0xcc, 0, 0},
11021 {0x77, 0x1, 0x1, 0, 0},
11022 {0x78, 0x66, 0x66, 0, 0},
11023 {0x79, 0x66, 0x66, 0, 0},
11024 {0x7A, 0, 0, 0, 0},
11025 {0x7B, 0, 0, 0, 0},
11026 {0x7C, 0, 0, 0, 0},
11027 {0x7D, 0, 0, 0, 0},
11028 {0x7E, 0, 0, 0, 0},
11029 {0x7F, 0, 0, 0, 0},
11030 {0x80, 0, 0, 0, 0},
11031 {0x81, 0, 0, 0, 0},
11032 {0x82, 0, 0, 0, 0},
11033 {0x83, 0, 0, 0, 0},
11034 {0x84, 0, 0, 0, 0},
11035 {0x85, 0xff, 0xff, 0, 0},
11036 {0x86, 0, 0, 0, 0},
11037 {0x87, 0, 0, 0, 0},
11038 {0x88, 0, 0, 0, 0},
11039 {0x89, 0, 0, 0, 0},
11040 {0x8A, 0, 0, 0, 0},
11041 {0x8B, 0, 0, 0, 0},
11042 {0x8C, 0, 0, 0, 0},
11043 {0x8D, 0, 0, 0, 0},
11044 {0x8E, 0, 0, 0, 0},
11045 {0x8F, 0, 0, 0, 0},
11046 {0x90, 0, 0, 0, 0},
11047 {0x91, 0, 0, 0, 0},
11048 {0x92, 0, 0, 0, 0},
11049 {0x93, 0, 0, 0, 0},
11050 {0x94, 0, 0, 0, 0},
11051 {0x95, 0, 0, 0, 0},
11052 {0x96, 0, 0, 0, 0},
11053 {0x97, 0, 0, 0, 0},
11054 {0x98, 0, 0, 0, 0},
11055 {0x99, 0, 0, 0, 0},
11056 {0x9A, 0, 0, 0, 0},
11057 {0x9B, 0, 0, 0, 0},
11058 {0x9C, 0, 0, 0, 0},
11059 {0x9D, 0, 0, 0, 0},
11060 {0x9E, 0, 0, 0, 0},
11061 {0x9F, 0x6, 0x6, 0, 0},
11062 {0xA0, 0x66, 0x66, 0, 0},
11063 {0xA1, 0x66, 0x66, 0, 0},
11064 {0xA2, 0x66, 0x66, 0, 0},
11065 {0xA3, 0x66, 0x66, 0, 0},
11066 {0xA4, 0x66, 0x66, 0, 0},
11067 {0xA5, 0x66, 0x66, 0, 0},
11068 {0xA6, 0x66, 0x66, 0, 0},
11069 {0xA7, 0x66, 0x66, 0, 0},
11070 {0xA8, 0x66, 0x66, 0, 0},
11071 {0xA9, 0x66, 0x66, 0, 0},
11072 {0xAA, 0x66, 0x66, 0, 0},
11073 {0xAB, 0x66, 0x66, 0, 0},
11074 {0xAC, 0x66, 0x66, 0, 0},
11075 {0xAD, 0x66, 0x66, 0, 0},
11076 {0xAE, 0x66, 0x66, 0, 0},
11077 {0xAF, 0x66, 0x66, 0, 0},
11078 {0xB0, 0x66, 0x66, 0, 0},
11079 {0xB1, 0x66, 0x66, 0, 0},
11080 {0xB2, 0x66, 0x66, 0, 0},
11081 {0xB3, 0xa, 0xa, 0, 0},
11082 {0xB4, 0, 0, 0, 0},
11083 {0xB5, 0, 0, 0, 0},
11084 {0xB6, 0, 0, 0, 0},
11085 {0xFFFF, 0, 0, 0, 0},
11088 radio_regs_t regs_TX_2056_rev11[] = {
11089 {0x02, 0, 0, 0, 0},
11090 {0x03, 0, 0, 0, 0},
11091 {0x04, 0, 0, 0, 0},
11092 {0x05, 0, 0, 0, 0},
11093 {0x06, 0, 0, 0, 0},
11094 {0x07, 0, 0, 0, 0},
11095 {0x08, 0, 0, 0, 0},
11096 {0x09, 0, 0, 0, 0},
11097 {0x0A, 0, 0, 0, 0},
11098 {0x0B, 0, 0, 0, 0},
11099 {0x0C, 0, 0, 0, 0},
11100 {0x0D, 0, 0, 0, 0},
11101 {0x0E, 0, 0, 0, 0},
11102 {0x0F, 0, 0, 0, 0},
11103 {0x10, 0, 0, 0, 0},
11104 {0x11, 0, 0, 0, 0},
11105 {0x12, 0, 0, 0, 0},
11106 {0x13, 0, 0, 0, 0},
11107 {0x14, 0, 0, 0, 0},
11108 {0x15, 0, 0, 0, 0},
11109 {0x16, 0, 0, 0, 0},
11110 {0x17, 0, 0, 0, 0},
11111 {0x18, 0, 0, 0, 0},
11112 {0x19, 0, 0, 0, 0},
11113 {0x1A, 0, 0, 0, 0},
11114 {0x1B, 0, 0, 0, 0},
11115 {0x1C, 0, 0, 0, 0},
11116 {0x1D, 0, 0, 0, 0},
11117 {0x1E, 0, 0, 0, 0},
11118 {0x1F, 0, 0, 0, 0},
11119 {0x20, 0, 0, 0, 0},
11120 {0x21, 0x88, 0x88, 0, 0},
11121 {0x22, 0x88, 0x88, 0, 0},
11122 {0x23, 0x88, 0x88, 0, 0},
11123 {0x24, 0x88, 0x88, 0, 0},
11124 {0x25, 0xc, 0xc, 0, 0},
11125 {0x26, 0, 0, 0, 0},
11126 {0x27, 0x3, 0x3, 0, 0},
11127 {0x28, 0, 0, 0, 0},
11128 {0x29, 0x3, 0x3, 0, 0},
11129 {0x2A, 0x37, 0x37, 0, 0},
11130 {0x2B, 0x3, 0x3, 0, 0},
11131 {0x2C, 0, 0, 0, 0},
11132 {0x2D, 0, 0, 0, 0},
11133 {0x2E, 0x1, 0x1, 0, 0},
11134 {0x2F, 0x1, 0x1, 0, 0},
11135 {0x30, 0, 0, 0, 0},
11136 {0x31, 0, 0, 0, 0},
11137 {0x32, 0, 0, 0, 0},
11138 {0x33, 0x11, 0x11, 0, 0},
11139 {0x34, 0xee, 0xee, 1, 1},
11140 {0x35, 0, 0, 0, 0},
11141 {0x36, 0, 0, 0, 0},
11142 {0x37, 0x3, 0x3, 0, 0},
11143 {0x38, 0x50, 0x50, 1, 1},
11144 {0x39, 0, 0, 0, 0},
11145 {0x3A, 0x50, 0x50, 1, 1},
11146 {0x3B, 0, 0, 0, 0},
11147 {0x3C, 0x6e, 0x6e, 0, 0},
11148 {0x3D, 0xf0, 0xf0, 1, 1},
11149 {0x3E, 0, 0, 0, 0},
11150 {0x3F, 0, 0, 0, 0},
11151 {0x40, 0, 0, 0, 0},
11152 {0x41, 0x3, 0x3, 0, 0},
11153 {0x42, 0x3, 0x3, 0, 0},
11154 {0x43, 0, 0, 0, 0},
11155 {0x44, 0x1e, 0x1e, 0, 0},
11156 {0x45, 0, 0, 0, 0},
11157 {0x46, 0x6e, 0x6e, 0, 0},
11158 {0x47, 0xf0, 0xf0, 1, 1},
11159 {0x48, 0, 0, 0, 0},
11160 {0x49, 0x2, 0x2, 0, 0},
11161 {0x4A, 0xff, 0xff, 1, 1},
11162 {0x4B, 0xc, 0xc, 0, 0},
11163 {0x4C, 0, 0, 0, 0},
11164 {0x4D, 0x38, 0x38, 0, 0},
11165 {0x4E, 0x70, 0x70, 1, 1},
11166 {0x4F, 0x2, 0x2, 0, 0},
11167 {0x50, 0x88, 0x88, 0, 0},
11168 {0x51, 0xc, 0xc, 0, 0},
11169 {0x52, 0, 0, 0, 0},
11170 {0x53, 0x8, 0x8, 0, 0},
11171 {0x54, 0x70, 0x70, 1, 1},
11172 {0x55, 0x2, 0x2, 0, 0},
11173 {0x56, 0xff, 0xff, 1, 1},
11174 {0x57, 0, 0, 0, 0},
11175 {0x58, 0x83, 0x83, 0, 0},
11176 {0x59, 0x77, 0x77, 1, 1},
11177 {0x5A, 0, 0, 0, 0},
11178 {0x5B, 0x2, 0x2, 0, 0},
11179 {0x5C, 0x88, 0x88, 0, 0},
11180 {0x5D, 0, 0, 0, 0},
11181 {0x5E, 0x8, 0x8, 0, 0},
11182 {0x5F, 0x77, 0x77, 1, 1},
11183 {0x60, 0x1, 0x1, 0, 0},
11184 {0x61, 0, 0, 0, 0},
11185 {0x62, 0x7, 0x7, 0, 0},
11186 {0x63, 0, 0, 0, 0},
11187 {0x64, 0x7, 0x7, 0, 0},
11188 {0x65, 0, 0, 0, 0},
11189 {0x66, 0, 0, 0, 0},
11190 {0x67, 0, 0, 1, 1},
11191 {0x68, 0, 0, 0, 0},
11192 {0x69, 0xa, 0xa, 0, 0},
11193 {0x6A, 0, 0, 0, 0},
11194 {0x6B, 0, 0, 0, 0},
11195 {0x6C, 0, 0, 0, 0},
11196 {0x6D, 0, 0, 0, 0},
11197 {0x6E, 0, 0, 0, 0},
11198 {0x6F, 0, 0, 0, 0},
11199 {0x70, 0, 0, 0, 0},
11200 {0x71, 0x2, 0x2, 0, 0},
11201 {0x72, 0, 0, 0, 0},
11202 {0x73, 0, 0, 0, 0},
11203 {0x74, 0xe, 0xe, 0, 0},
11204 {0x75, 0xe, 0xe, 0, 0},
11205 {0x76, 0xe, 0xe, 0, 0},
11206 {0x77, 0x13, 0x13, 0, 0},
11207 {0x78, 0x13, 0x13, 0, 0},
11208 {0x79, 0x1b, 0x1b, 0, 0},
11209 {0x7A, 0x1b, 0x1b, 0, 0},
11210 {0x7B, 0x55, 0x55, 0, 0},
11211 {0x7C, 0x5b, 0x5b, 0, 0},
11212 {0x7D, 0x30, 0x30, 1, 1},
11213 {0x7E, 0, 0, 0, 0},
11214 {0x7F, 0, 0, 0, 0},
11215 {0x80, 0, 0, 0, 0},
11216 {0x81, 0, 0, 0, 0},
11217 {0x82, 0, 0, 0, 0},
11218 {0x83, 0, 0, 0, 0},
11219 {0x84, 0, 0, 0, 0},
11220 {0x85, 0, 0, 0, 0},
11221 {0x86, 0, 0, 0, 0},
11222 {0x87, 0, 0, 0, 0},
11223 {0x88, 0, 0, 0, 0},
11224 {0x89, 0, 0, 0, 0},
11225 {0x8A, 0, 0, 0, 0},
11226 {0x8B, 0, 0, 0, 0},
11227 {0x8C, 0, 0, 0, 0},
11228 {0x8D, 0, 0, 0, 0},
11229 {0x8E, 0, 0, 0, 0},
11230 {0x8F, 0, 0, 0, 0},
11231 {0x90, 0, 0, 0, 0},
11232 {0x91, 0, 0, 0, 0},
11233 {0x92, 0, 0, 0, 0},
11234 {0x93, 0x70, 0x70, 0, 0},
11235 {0x94, 0x70, 0x70, 0, 0},
11236 {0x95, 0x70, 0x70, 0, 0},
11237 {0x96, 0x70, 0x70, 0, 0},
11238 {0x97, 0x70, 0x70, 0, 0},
11239 {0x98, 0x70, 0x70, 0, 0},
11240 {0x99, 0x70, 0x70, 0, 0},
11241 {0x9A, 0x70, 0x70, 0, 0},
11242 {0xFFFF, 0, 0, 0, 0},
11245 radio_regs_t regs_RX_2056_rev11[] = {
11246 {0x02, 0, 0, 0, 0},
11247 {0x03, 0, 0, 0, 0},
11248 {0x04, 0, 0, 0, 0},
11249 {0x05, 0, 0, 0, 0},
11250 {0x06, 0, 0, 0, 0},
11251 {0x07, 0, 0, 0, 0},
11252 {0x08, 0, 0, 0, 0},
11253 {0x09, 0, 0, 0, 0},
11254 {0x0A, 0, 0, 0, 0},
11255 {0x0B, 0, 0, 0, 0},
11256 {0x0C, 0, 0, 0, 0},
11257 {0x0D, 0, 0, 0, 0},
11258 {0x0E, 0, 0, 0, 0},
11259 {0x0F, 0, 0, 0, 0},
11260 {0x10, 0, 0, 0, 0},
11261 {0x11, 0, 0, 0, 0},
11262 {0x12, 0, 0, 0, 0},
11263 {0x13, 0, 0, 0, 0},
11264 {0x14, 0, 0, 0, 0},
11265 {0x15, 0, 0, 0, 0},
11266 {0x16, 0, 0, 0, 0},
11267 {0x17, 0, 0, 0, 0},
11268 {0x18, 0, 0, 0, 0},
11269 {0x19, 0, 0, 0, 0},
11270 {0x1A, 0, 0, 0, 0},
11271 {0x1B, 0, 0, 0, 0},
11272 {0x1C, 0, 0, 0, 0},
11273 {0x1D, 0, 0, 0, 0},
11274 {0x1E, 0, 0, 0, 0},
11275 {0x1F, 0, 0, 0, 0},
11276 {0x20, 0x3, 0x3, 0, 0},
11277 {0x21, 0, 0, 0, 0},
11278 {0x22, 0, 0, 0, 0},
11279 {0x23, 0x90, 0x90, 0, 0},
11280 {0x24, 0x55, 0x55, 0, 0},
11281 {0x25, 0x15, 0x15, 0, 0},
11282 {0x26, 0x5, 0x5, 0, 0},
11283 {0x27, 0x15, 0x15, 0, 0},
11284 {0x28, 0x5, 0x5, 0, 0},
11285 {0x29, 0x20, 0x20, 0, 0},
11286 {0x2A, 0x11, 0x11, 0, 0},
11287 {0x2B, 0x90, 0x90, 0, 0},
11288 {0x2C, 0, 0, 0, 0},
11289 {0x2D, 0x88, 0x88, 0, 0},
11290 {0x2E, 0x32, 0x32, 0, 0},
11291 {0x2F, 0x77, 0x77, 0, 0},
11292 {0x30, 0x17, 0x17, 1, 1},
11293 {0x31, 0xff, 0xff, 1, 1},
11294 {0x32, 0x20, 0x20, 0, 0},
11295 {0x33, 0, 0, 0, 0},
11296 {0x34, 0x88, 0x88, 0, 0},
11297 {0x35, 0x32, 0x32, 0, 0},
11298 {0x36, 0x77, 0x77, 0, 0},
11299 {0x37, 0x17, 0x17, 1, 1},
11300 {0x38, 0xf0, 0xf0, 1, 1},
11301 {0x39, 0x20, 0x20, 0, 0},
11302 {0x3A, 0x8, 0x8, 0, 0},
11303 {0x3B, 0x55, 0x55, 1, 1},
11304 {0x3C, 0, 0, 0, 0},
11305 {0x3D, 0x88, 0x88, 1, 1},
11306 {0x3E, 0, 0, 0, 0},
11307 {0x3F, 0x44, 0x44, 0, 0},
11308 {0x40, 0x7, 0x7, 1, 1},
11309 {0x41, 0x6, 0x6, 0, 0},
11310 {0x42, 0x4, 0x4, 0, 0},
11311 {0x43, 0, 0, 0, 0},
11312 {0x44, 0x8, 0x8, 0, 0},
11313 {0x45, 0x55, 0x55, 1, 1},
11314 {0x46, 0, 0, 0, 0},
11315 {0x47, 0x11, 0x11, 0, 0},
11316 {0x48, 0, 0, 0, 0},
11317 {0x49, 0x44, 0x44, 0, 0},
11318 {0x4A, 0x7, 0x7, 0, 0},
11319 {0x4B, 0x6, 0x6, 0, 0},
11320 {0x4C, 0x4, 0x4, 0, 0},
11321 {0x4D, 0, 0, 0, 0},
11322 {0x4E, 0, 0, 0, 0},
11323 {0x4F, 0x26, 0x26, 1, 1},
11324 {0x50, 0x26, 0x26, 1, 1},
11325 {0x51, 0xf, 0xf, 1, 1},
11326 {0x52, 0xf, 0xf, 1, 1},
11327 {0x53, 0x44, 0x44, 0, 0},
11328 {0x54, 0, 0, 0, 0},
11329 {0x55, 0, 0, 0, 0},
11330 {0x56, 0x8, 0x8, 0, 0},
11331 {0x57, 0x8, 0x8, 0, 0},
11332 {0x58, 0x7, 0x7, 0, 0},
11333 {0x59, 0x22, 0x22, 0, 0},
11334 {0x5A, 0x22, 0x22, 0, 0},
11335 {0x5B, 0x2, 0x2, 0, 0},
11336 {0x5C, 0x4, 0x4, 1, 1},
11337 {0x5D, 0x7, 0x7, 0, 0},
11338 {0x5E, 0x55, 0x55, 0, 0},
11339 {0x5F, 0x23, 0x23, 0, 0},
11340 {0x60, 0x41, 0x41, 0, 0},
11341 {0x61, 0x1, 0x1, 0, 0},
11342 {0x62, 0xa, 0xa, 0, 0},
11343 {0x63, 0, 0, 0, 0},
11344 {0x64, 0, 0, 0, 0},
11345 {0x65, 0, 0, 0, 0},
11346 {0x66, 0, 0, 0, 0},
11347 {0x67, 0, 0, 0, 0},
11348 {0x68, 0, 0, 0, 0},
11349 {0x69, 0, 0, 0, 0},
11350 {0x6A, 0, 0, 0, 0},
11351 {0x6B, 0xc, 0xc, 0, 0},
11352 {0x6C, 0, 0, 0, 0},
11353 {0x6D, 0, 0, 0, 0},
11354 {0x6E, 0, 0, 0, 0},
11355 {0x6F, 0, 0, 0, 0},
11356 {0x70, 0, 0, 0, 0},
11357 {0x71, 0, 0, 0, 0},
11358 {0x72, 0x22, 0x22, 0, 0},
11359 {0x73, 0x22, 0x22, 0, 0},
11360 {0x74, 0, 0, 1, 1},
11361 {0x75, 0xa, 0xa, 0, 0},
11362 {0x76, 0x1, 0x1, 0, 0},
11363 {0x77, 0x22, 0x22, 0, 0},
11364 {0x78, 0x30, 0x30, 0, 0},
11365 {0x79, 0, 0, 0, 0},
11366 {0x7A, 0, 0, 0, 0},
11367 {0x7B, 0, 0, 0, 0},
11368 {0x7C, 0, 0, 0, 0},
11369 {0x7D, 0x5, 0x5, 1, 1},
11370 {0x7E, 0, 0, 0, 0},
11371 {0x7F, 0, 0, 0, 0},
11372 {0x80, 0, 0, 0, 0},
11373 {0x81, 0, 0, 0, 0},
11374 {0x82, 0, 0, 0, 0},
11375 {0x83, 0, 0, 0, 0},
11376 {0x84, 0, 0, 0, 0},
11377 {0x85, 0, 0, 0, 0},
11378 {0x86, 0, 0, 0, 0},
11379 {0x87, 0, 0, 0, 0},
11380 {0x88, 0, 0, 0, 0},
11381 {0x89, 0, 0, 0, 0},
11382 {0x8A, 0, 0, 0, 0},
11383 {0x8B, 0, 0, 0, 0},
11384 {0x8C, 0, 0, 0, 0},
11385 {0x8D, 0, 0, 0, 0},
11386 {0x8E, 0, 0, 0, 0},
11387 {0x8F, 0, 0, 0, 0},
11388 {0x90, 0, 0, 0, 0},
11389 {0x91, 0, 0, 0, 0},
11390 {0x92, 0, 0, 0, 0},
11391 {0x93, 0, 0, 0, 0},
11392 {0x94, 0, 0, 0, 0},
11393 {0xFFFF, 0, 0, 0, 0},
11396 radio_20xx_regs_t regs_2057_rev4[] = {
11786 radio_20xx_regs_t regs_2057_rev5[] = {
12118 radio_20xx_regs_t regs_2057_rev5v1[] = {
12450 radio_20xx_regs_t regs_2057_rev7[] = {
12866 radio_20xx_regs_t regs_2057_rev8[] = {
13282 static s16 nphy_def_lnagains[] = { -2, 10, 19, 25 };
13284 static s32 nphy_lnagain_est0[] = { -315, 40370 };
13285 static s32 nphy_lnagain_est1[] = { -224, 23242 };
13287 static const u16 tbl_iqcal_gainparams_nphy[2][NPHY_IQCAL_NUMGAINS][8] = {
13289 {0x000, 0, 0, 2, 0x69, 0x69, 0x69, 0x69},
13290 {0x700, 7, 0, 0, 0x69, 0x69, 0x69, 0x69},
13291 {0x710, 7, 1, 0, 0x68, 0x68, 0x68, 0x68},
13292 {0x720, 7, 2, 0, 0x67, 0x67, 0x67, 0x67},
13293 {0x730, 7, 3, 0, 0x66, 0x66, 0x66, 0x66},
13294 {0x740, 7, 4, 0, 0x65, 0x65, 0x65, 0x65},
13295 {0x741, 7, 4, 1, 0x65, 0x65, 0x65, 0x65},
13296 {0x742, 7, 4, 2, 0x65, 0x65, 0x65, 0x65},
13297 {0x743, 7, 4, 3, 0x65, 0x65, 0x65, 0x65}
13300 {0x000, 7, 0, 0, 0x79, 0x79, 0x79, 0x79},
13301 {0x700, 7, 0, 0, 0x79, 0x79, 0x79, 0x79},
13302 {0x710, 7, 1, 0, 0x79, 0x79, 0x79, 0x79},
13303 {0x720, 7, 2, 0, 0x78, 0x78, 0x78, 0x78},
13304 {0x730, 7, 3, 0, 0x78, 0x78, 0x78, 0x78},
13305 {0x740, 7, 4, 0, 0x78, 0x78, 0x78, 0x78},
13306 {0x741, 7, 4, 1, 0x78, 0x78, 0x78, 0x78},
13307 {0x742, 7, 4, 2, 0x78, 0x78, 0x78, 0x78},
13308 {0x743, 7, 4, 3, 0x78, 0x78, 0x78, 0x78}
13312 static const u32 nphy_tpc_txgain[] = {
13313 0x03cc2b44, 0x03cc2b42, 0x03cc2a44, 0x03cc2a42,
13314 0x03cc2944, 0x03c82b44, 0x03c82b42, 0x03c82a44,
13315 0x03c82a42, 0x03c82944, 0x03c82942, 0x03c82844,
13316 0x03c82842, 0x03c42b44, 0x03c42b42, 0x03c42a44,
13317 0x03c42a42, 0x03c42944, 0x03c42942, 0x03c42844,
13318 0x03c42842, 0x03c42744, 0x03c42742, 0x03c42644,
13319 0x03c42642, 0x03c42544, 0x03c42542, 0x03c42444,
13320 0x03c42442, 0x03c02b44, 0x03c02b42, 0x03c02a44,
13321 0x03c02a42, 0x03c02944, 0x03c02942, 0x03c02844,
13322 0x03c02842, 0x03c02744, 0x03c02742, 0x03b02b44,
13323 0x03b02b42, 0x03b02a44, 0x03b02a42, 0x03b02944,
13324 0x03b02942, 0x03b02844, 0x03b02842, 0x03b02744,
13325 0x03b02742, 0x03b02644, 0x03b02642, 0x03b02544,
13326 0x03b02542, 0x03a02b44, 0x03a02b42, 0x03a02a44,
13327 0x03a02a42, 0x03a02944, 0x03a02942, 0x03a02844,
13328 0x03a02842, 0x03a02744, 0x03a02742, 0x03902b44,
13329 0x03902b42, 0x03902a44, 0x03902a42, 0x03902944,
13330 0x03902942, 0x03902844, 0x03902842, 0x03902744,
13331 0x03902742, 0x03902644, 0x03902642, 0x03902544,
13332 0x03902542, 0x03802b44, 0x03802b42, 0x03802a44,
13333 0x03802a42, 0x03802944, 0x03802942, 0x03802844,
13334 0x03802842, 0x03802744, 0x03802742, 0x03802644,
13335 0x03802642, 0x03802544, 0x03802542, 0x03802444,
13336 0x03802442, 0x03802344, 0x03802342, 0x03802244,
13337 0x03802242, 0x03802144, 0x03802142, 0x03802044,
13338 0x03802042, 0x03801f44, 0x03801f42, 0x03801e44,
13339 0x03801e42, 0x03801d44, 0x03801d42, 0x03801c44,
13340 0x03801c42, 0x03801b44, 0x03801b42, 0x03801a44,
13341 0x03801a42, 0x03801944, 0x03801942, 0x03801844,
13342 0x03801842, 0x03801744, 0x03801742, 0x03801644,
13343 0x03801642, 0x03801544, 0x03801542, 0x03801444,
13344 0x03801442, 0x03801344, 0x03801342, 0x00002b00
13347 static const u16 nphy_tpc_loscale[] = {
13348 256, 256, 271, 271, 287, 256, 256, 271,
13349 271, 287, 287, 304, 304, 256, 256, 271,
13350 271, 287, 287, 304, 304, 322, 322, 341,
13351 341, 362, 362, 383, 383, 256, 256, 271,
13352 271, 287, 287, 304, 304, 322, 322, 256,
13353 256, 271, 271, 287, 287, 304, 304, 322,
13354 322, 341, 341, 362, 362, 256, 256, 271,
13355 271, 287, 287, 304, 304, 322, 322, 256,
13356 256, 271, 271, 287, 287, 304, 304, 322,
13357 322, 341, 341, 362, 362, 256, 256, 271,
13358 271, 287, 287, 304, 304, 322, 322, 341,
13359 341, 362, 362, 383, 383, 406, 406, 430,
13360 430, 455, 455, 482, 482, 511, 511, 541,
13361 541, 573, 573, 607, 607, 643, 643, 681,
13362 681, 722, 722, 764, 764, 810, 810, 858,
13363 858, 908, 908, 962, 962, 1019, 1019, 256
13366 static u32 nphy_tpc_txgain_ipa[] = {
13367 0x5ff7002d, 0x5ff7002b, 0x5ff7002a, 0x5ff70029,
13368 0x5ff70028, 0x5ff70027, 0x5ff70026, 0x5ff70025,
13369 0x5ef7002d, 0x5ef7002b, 0x5ef7002a, 0x5ef70029,
13370 0x5ef70028, 0x5ef70027, 0x5ef70026, 0x5ef70025,
13371 0x5df7002d, 0x5df7002b, 0x5df7002a, 0x5df70029,
13372 0x5df70028, 0x5df70027, 0x5df70026, 0x5df70025,
13373 0x5cf7002d, 0x5cf7002b, 0x5cf7002a, 0x5cf70029,
13374 0x5cf70028, 0x5cf70027, 0x5cf70026, 0x5cf70025,
13375 0x5bf7002d, 0x5bf7002b, 0x5bf7002a, 0x5bf70029,
13376 0x5bf70028, 0x5bf70027, 0x5bf70026, 0x5bf70025,
13377 0x5af7002d, 0x5af7002b, 0x5af7002a, 0x5af70029,
13378 0x5af70028, 0x5af70027, 0x5af70026, 0x5af70025,
13379 0x59f7002d, 0x59f7002b, 0x59f7002a, 0x59f70029,
13380 0x59f70028, 0x59f70027, 0x59f70026, 0x59f70025,
13381 0x58f7002d, 0x58f7002b, 0x58f7002a, 0x58f70029,
13382 0x58f70028, 0x58f70027, 0x58f70026, 0x58f70025,
13383 0x57f7002d, 0x57f7002b, 0x57f7002a, 0x57f70029,
13384 0x57f70028, 0x57f70027, 0x57f70026, 0x57f70025,
13385 0x56f7002d, 0x56f7002b, 0x56f7002a, 0x56f70029,
13386 0x56f70028, 0x56f70027, 0x56f70026, 0x56f70025,
13387 0x55f7002d, 0x55f7002b, 0x55f7002a, 0x55f70029,
13388 0x55f70028, 0x55f70027, 0x55f70026, 0x55f70025,
13389 0x54f7002d, 0x54f7002b, 0x54f7002a, 0x54f70029,
13390 0x54f70028, 0x54f70027, 0x54f70026, 0x54f70025,
13391 0x53f7002d, 0x53f7002b, 0x53f7002a, 0x53f70029,
13392 0x53f70028, 0x53f70027, 0x53f70026, 0x53f70025,
13393 0x52f7002d, 0x52f7002b, 0x52f7002a, 0x52f70029,
13394 0x52f70028, 0x52f70027, 0x52f70026, 0x52f70025,
13395 0x51f7002d, 0x51f7002b, 0x51f7002a, 0x51f70029,
13396 0x51f70028, 0x51f70027, 0x51f70026, 0x51f70025,
13397 0x50f7002d, 0x50f7002b, 0x50f7002a, 0x50f70029,
13398 0x50f70028, 0x50f70027, 0x50f70026, 0x50f70025
13401 static u32 nphy_tpc_txgain_ipa_rev5[] = {
13402 0x1ff7002d, 0x1ff7002b, 0x1ff7002a, 0x1ff70029,
13403 0x1ff70028, 0x1ff70027, 0x1ff70026, 0x1ff70025,
13404 0x1ef7002d, 0x1ef7002b, 0x1ef7002a, 0x1ef70029,
13405 0x1ef70028, 0x1ef70027, 0x1ef70026, 0x1ef70025,
13406 0x1df7002d, 0x1df7002b, 0x1df7002a, 0x1df70029,
13407 0x1df70028, 0x1df70027, 0x1df70026, 0x1df70025,
13408 0x1cf7002d, 0x1cf7002b, 0x1cf7002a, 0x1cf70029,
13409 0x1cf70028, 0x1cf70027, 0x1cf70026, 0x1cf70025,
13410 0x1bf7002d, 0x1bf7002b, 0x1bf7002a, 0x1bf70029,
13411 0x1bf70028, 0x1bf70027, 0x1bf70026, 0x1bf70025,
13412 0x1af7002d, 0x1af7002b, 0x1af7002a, 0x1af70029,
13413 0x1af70028, 0x1af70027, 0x1af70026, 0x1af70025,
13414 0x19f7002d, 0x19f7002b, 0x19f7002a, 0x19f70029,
13415 0x19f70028, 0x19f70027, 0x19f70026, 0x19f70025,
13416 0x18f7002d, 0x18f7002b, 0x18f7002a, 0x18f70029,
13417 0x18f70028, 0x18f70027, 0x18f70026, 0x18f70025,
13418 0x17f7002d, 0x17f7002b, 0x17f7002a, 0x17f70029,
13419 0x17f70028, 0x17f70027, 0x17f70026, 0x17f70025,
13420 0x16f7002d, 0x16f7002b, 0x16f7002a, 0x16f70029,
13421 0x16f70028, 0x16f70027, 0x16f70026, 0x16f70025,
13422 0x15f7002d, 0x15f7002b, 0x15f7002a, 0x15f70029,
13423 0x15f70028, 0x15f70027, 0x15f70026, 0x15f70025,
13424 0x14f7002d, 0x14f7002b, 0x14f7002a, 0x14f70029,
13425 0x14f70028, 0x14f70027, 0x14f70026, 0x14f70025,
13426 0x13f7002d, 0x13f7002b, 0x13f7002a, 0x13f70029,
13427 0x13f70028, 0x13f70027, 0x13f70026, 0x13f70025,
13428 0x12f7002d, 0x12f7002b, 0x12f7002a, 0x12f70029,
13429 0x12f70028, 0x12f70027, 0x12f70026, 0x12f70025,
13430 0x11f7002d, 0x11f7002b, 0x11f7002a, 0x11f70029,
13431 0x11f70028, 0x11f70027, 0x11f70026, 0x11f70025,
13432 0x10f7002d, 0x10f7002b, 0x10f7002a, 0x10f70029,
13433 0x10f70028, 0x10f70027, 0x10f70026, 0x10f70025
13436 static u32 nphy_tpc_txgain_ipa_rev6[] = {
13437 0x0ff7002d, 0x0ff7002b, 0x0ff7002a, 0x0ff70029,
13438 0x0ff70028, 0x0ff70027, 0x0ff70026, 0x0ff70025,
13439 0x0ef7002d, 0x0ef7002b, 0x0ef7002a, 0x0ef70029,
13440 0x0ef70028, 0x0ef70027, 0x0ef70026, 0x0ef70025,
13441 0x0df7002d, 0x0df7002b, 0x0df7002a, 0x0df70029,
13442 0x0df70028, 0x0df70027, 0x0df70026, 0x0df70025,
13443 0x0cf7002d, 0x0cf7002b, 0x0cf7002a, 0x0cf70029,
13444 0x0cf70028, 0x0cf70027, 0x0cf70026, 0x0cf70025,
13445 0x0bf7002d, 0x0bf7002b, 0x0bf7002a, 0x0bf70029,
13446 0x0bf70028, 0x0bf70027, 0x0bf70026, 0x0bf70025,
13447 0x0af7002d, 0x0af7002b, 0x0af7002a, 0x0af70029,
13448 0x0af70028, 0x0af70027, 0x0af70026, 0x0af70025,
13449 0x09f7002d, 0x09f7002b, 0x09f7002a, 0x09f70029,
13450 0x09f70028, 0x09f70027, 0x09f70026, 0x09f70025,
13451 0x08f7002d, 0x08f7002b, 0x08f7002a, 0x08f70029,
13452 0x08f70028, 0x08f70027, 0x08f70026, 0x08f70025,
13453 0x07f7002d, 0x07f7002b, 0x07f7002a, 0x07f70029,
13454 0x07f70028, 0x07f70027, 0x07f70026, 0x07f70025,
13455 0x06f7002d, 0x06f7002b, 0x06f7002a, 0x06f70029,
13456 0x06f70028, 0x06f70027, 0x06f70026, 0x06f70025,
13457 0x05f7002d, 0x05f7002b, 0x05f7002a, 0x05f70029,
13458 0x05f70028, 0x05f70027, 0x05f70026, 0x05f70025,
13459 0x04f7002d, 0x04f7002b, 0x04f7002a, 0x04f70029,
13460 0x04f70028, 0x04f70027, 0x04f70026, 0x04f70025,
13461 0x03f7002d, 0x03f7002b, 0x03f7002a, 0x03f70029,
13462 0x03f70028, 0x03f70027, 0x03f70026, 0x03f70025,
13463 0x02f7002d, 0x02f7002b, 0x02f7002a, 0x02f70029,
13464 0x02f70028, 0x02f70027, 0x02f70026, 0x02f70025,
13465 0x01f7002d, 0x01f7002b, 0x01f7002a, 0x01f70029,
13466 0x01f70028, 0x01f70027, 0x01f70026, 0x01f70025,
13467 0x00f7002d, 0x00f7002b, 0x00f7002a, 0x00f70029,
13468 0x00f70028, 0x00f70027, 0x00f70026, 0x00f70025
13471 static u32 nphy_tpc_txgain_ipa_2g_2057rev3[] = {
13472 0x70ff0040, 0x70f7003e, 0x70ef003b, 0x70e70039,
13473 0x70df0037, 0x70d70036, 0x70cf0033, 0x70c70032,
13474 0x70bf0031, 0x70b7002f, 0x70af002e, 0x70a7002d,
13475 0x709f002d, 0x7097002c, 0x708f002c, 0x7087002c,
13476 0x707f002b, 0x7077002c, 0x706f002c, 0x7067002d,
13477 0x705f002e, 0x705f002b, 0x705f0029, 0x7057002a,
13478 0x70570028, 0x704f002a, 0x7047002c, 0x7047002a,
13479 0x70470028, 0x70470026, 0x70470024, 0x70470022,
13480 0x7047001f, 0x70370027, 0x70370024, 0x70370022,
13481 0x70370020, 0x7037001f, 0x7037001d, 0x7037001b,
13482 0x7037001a, 0x70370018, 0x70370017, 0x7027001e,
13483 0x7027001d, 0x7027001a, 0x701f0024, 0x701f0022,
13484 0x701f0020, 0x701f001f, 0x701f001d, 0x701f001b,
13485 0x701f001a, 0x701f0018, 0x701f0017, 0x701f0015,
13486 0x701f0014, 0x701f0013, 0x701f0012, 0x701f0011,
13487 0x70170019, 0x70170018, 0x70170016, 0x70170015,
13488 0x70170014, 0x70170013, 0x70170012, 0x70170010,
13489 0x70170010, 0x7017000f, 0x700f001d, 0x700f001b,
13490 0x700f001a, 0x700f0018, 0x700f0017, 0x700f0015,
13491 0x700f0015, 0x700f0013, 0x700f0013, 0x700f0011,
13492 0x700f0010, 0x700f0010, 0x700f000f, 0x700f000e,
13493 0x700f000d, 0x700f000c, 0x700f000b, 0x700f000b,
13494 0x700f000b, 0x700f000a, 0x700f0009, 0x700f0009,
13495 0x700f0009, 0x700f0008, 0x700f0007, 0x700f0007,
13496 0x700f0006, 0x700f0006, 0x700f0006, 0x700f0006,
13497 0x700f0005, 0x700f0005, 0x700f0005, 0x700f0004,
13498 0x700f0004, 0x700f0004, 0x700f0004, 0x700f0004,
13499 0x700f0004, 0x700f0003, 0x700f0003, 0x700f0003,
13500 0x700f0003, 0x700f0002, 0x700f0002, 0x700f0002,
13501 0x700f0002, 0x700f0002, 0x700f0002, 0x700f0001,
13502 0x700f0001, 0x700f0001, 0x700f0001, 0x700f0001,
13503 0x700f0001, 0x700f0001, 0x700f0001, 0x700f0001
13506 static u32 nphy_tpc_txgain_ipa_2g_2057rev4n6[] = {
13507 0xf0ff0040, 0xf0f7003e, 0xf0ef003b, 0xf0e70039,
13508 0xf0df0037, 0xf0d70036, 0xf0cf0033, 0xf0c70032,
13509 0xf0bf0031, 0xf0b7002f, 0xf0af002e, 0xf0a7002d,
13510 0xf09f002d, 0xf097002c, 0xf08f002c, 0xf087002c,
13511 0xf07f002b, 0xf077002c, 0xf06f002c, 0xf067002d,
13512 0xf05f002e, 0xf05f002b, 0xf05f0029, 0xf057002a,
13513 0xf0570028, 0xf04f002a, 0xf047002c, 0xf047002a,
13514 0xf0470028, 0xf0470026, 0xf0470024, 0xf0470022,
13515 0xf047001f, 0xf0370027, 0xf0370024, 0xf0370022,
13516 0xf0370020, 0xf037001f, 0xf037001d, 0xf037001b,
13517 0xf037001a, 0xf0370018, 0xf0370017, 0xf027001e,
13518 0xf027001d, 0xf027001a, 0xf01f0024, 0xf01f0022,
13519 0xf01f0020, 0xf01f001f, 0xf01f001d, 0xf01f001b,
13520 0xf01f001a, 0xf01f0018, 0xf01f0017, 0xf01f0015,
13521 0xf01f0014, 0xf01f0013, 0xf01f0012, 0xf01f0011,
13522 0xf0170019, 0xf0170018, 0xf0170016, 0xf0170015,
13523 0xf0170014, 0xf0170013, 0xf0170012, 0xf0170010,
13524 0xf0170010, 0xf017000f, 0xf00f001d, 0xf00f001b,
13525 0xf00f001a, 0xf00f0018, 0xf00f0017, 0xf00f0015,
13526 0xf00f0015, 0xf00f0013, 0xf00f0013, 0xf00f0011,
13527 0xf00f0010, 0xf00f0010, 0xf00f000f, 0xf00f000e,
13528 0xf00f000d, 0xf00f000c, 0xf00f000b, 0xf00f000b,
13529 0xf00f000b, 0xf00f000a, 0xf00f0009, 0xf00f0009,
13530 0xf00f0009, 0xf00f0008, 0xf00f0007, 0xf00f0007,
13531 0xf00f0006, 0xf00f0006, 0xf00f0006, 0xf00f0006,
13532 0xf00f0005, 0xf00f0005, 0xf00f0005, 0xf00f0004,
13533 0xf00f0004, 0xf00f0004, 0xf00f0004, 0xf00f0004,
13534 0xf00f0004, 0xf00f0003, 0xf00f0003, 0xf00f0003,
13535 0xf00f0003, 0xf00f0002, 0xf00f0002, 0xf00f0002,
13536 0xf00f0002, 0xf00f0002, 0xf00f0002, 0xf00f0001,
13537 0xf00f0001, 0xf00f0001, 0xf00f0001, 0xf00f0001,
13538 0xf00f0001, 0xf00f0001, 0xf00f0001, 0xf00f0001
13541 static u32 nphy_tpc_txgain_ipa_2g_2057rev5[] = {
13542 0x30ff0031, 0x30e70031, 0x30e7002e, 0x30cf002e,
13543 0x30bf002e, 0x30af002e, 0x309f002f, 0x307f0033,
13544 0x307f0031, 0x307f002e, 0x3077002e, 0x306f002e,
13545 0x3067002e, 0x305f002f, 0x30570030, 0x3057002d,
13546 0x304f002e, 0x30470031, 0x3047002e, 0x3047002c,
13547 0x30470029, 0x303f002c, 0x303f0029, 0x3037002d,
13548 0x3037002a, 0x30370028, 0x302f002c, 0x302f002a,
13549 0x302f0028, 0x302f0026, 0x3027002c, 0x30270029,
13550 0x30270027, 0x30270025, 0x30270023, 0x301f002c,
13551 0x301f002a, 0x301f0028, 0x301f0025, 0x301f0024,
13552 0x301f0022, 0x301f001f, 0x3017002d, 0x3017002b,
13553 0x30170028, 0x30170026, 0x30170024, 0x30170022,
13554 0x30170020, 0x3017001e, 0x3017001d, 0x3017001b,
13555 0x3017001a, 0x30170018, 0x30170017, 0x30170015,
13556 0x300f002c, 0x300f0029, 0x300f0027, 0x300f0024,
13557 0x300f0022, 0x300f0021, 0x300f001f, 0x300f001d,
13558 0x300f001b, 0x300f001a, 0x300f0018, 0x300f0017,
13559 0x300f0016, 0x300f0015, 0x300f0115, 0x300f0215,
13560 0x300f0315, 0x300f0415, 0x300f0515, 0x300f0615,
13561 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13562 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13563 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13564 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13565 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13566 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13567 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13568 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13569 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13570 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13571 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13572 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13573 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715
13576 static u32 nphy_tpc_txgain_ipa_2g_2057rev7[] = {
13577 0x30ff0031, 0x30e70031, 0x30e7002e, 0x30cf002e,
13578 0x30bf002e, 0x30af002e, 0x309f002f, 0x307f0033,
13579 0x307f0031, 0x307f002e, 0x3077002e, 0x306f002e,
13580 0x3067002e, 0x305f002f, 0x30570030, 0x3057002d,
13581 0x304f002e, 0x30470031, 0x3047002e, 0x3047002c,
13582 0x30470029, 0x303f002c, 0x303f0029, 0x3037002d,
13583 0x3037002a, 0x30370028, 0x302f002c, 0x302f002a,
13584 0x302f0028, 0x302f0026, 0x3027002c, 0x30270029,
13585 0x30270027, 0x30270025, 0x30270023, 0x301f002c,
13586 0x301f002a, 0x301f0028, 0x301f0025, 0x301f0024,
13587 0x301f0022, 0x301f001f, 0x3017002d, 0x3017002b,
13588 0x30170028, 0x30170026, 0x30170024, 0x30170022,
13589 0x30170020, 0x3017001e, 0x3017001d, 0x3017001b,
13590 0x3017001a, 0x30170018, 0x30170017, 0x30170015,
13591 0x300f002c, 0x300f0029, 0x300f0027, 0x300f0024,
13592 0x300f0022, 0x300f0021, 0x300f001f, 0x300f001d,
13593 0x300f001b, 0x300f001a, 0x300f0018, 0x300f0017,
13594 0x300f0016, 0x300f0015, 0x300f0115, 0x300f0215,
13595 0x300f0315, 0x300f0415, 0x300f0515, 0x300f0615,
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,
13605 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13606 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13607 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13608 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715
13611 static u32 nphy_tpc_txgain_ipa_5g[] = {
13612 0x7ff70035, 0x7ff70033, 0x7ff70032, 0x7ff70031,
13613 0x7ff7002f, 0x7ff7002e, 0x7ff7002d, 0x7ff7002b,
13614 0x7ff7002a, 0x7ff70029, 0x7ff70028, 0x7ff70027,
13615 0x7ff70026, 0x7ff70024, 0x7ff70023, 0x7ff70022,
13616 0x7ef70028, 0x7ef70027, 0x7ef70026, 0x7ef70025,
13617 0x7ef70024, 0x7ef70023, 0x7df70028, 0x7df70027,
13618 0x7df70026, 0x7df70025, 0x7df70024, 0x7df70023,
13619 0x7df70022, 0x7cf70029, 0x7cf70028, 0x7cf70027,
13620 0x7cf70026, 0x7cf70025, 0x7cf70023, 0x7cf70022,
13621 0x7bf70029, 0x7bf70028, 0x7bf70026, 0x7bf70025,
13622 0x7bf70024, 0x7bf70023, 0x7bf70022, 0x7bf70021,
13623 0x7af70029, 0x7af70028, 0x7af70027, 0x7af70026,
13624 0x7af70025, 0x7af70024, 0x7af70023, 0x7af70022,
13625 0x79f70029, 0x79f70028, 0x79f70027, 0x79f70026,
13626 0x79f70025, 0x79f70024, 0x79f70023, 0x79f70022,
13627 0x78f70029, 0x78f70028, 0x78f70027, 0x78f70026,
13628 0x78f70025, 0x78f70024, 0x78f70023, 0x78f70022,
13629 0x77f70029, 0x77f70028, 0x77f70027, 0x77f70026,
13630 0x77f70025, 0x77f70024, 0x77f70023, 0x77f70022,
13631 0x76f70029, 0x76f70028, 0x76f70027, 0x76f70026,
13632 0x76f70024, 0x76f70023, 0x76f70022, 0x76f70021,
13633 0x75f70029, 0x75f70028, 0x75f70027, 0x75f70026,
13634 0x75f70025, 0x75f70024, 0x75f70023, 0x74f70029,
13635 0x74f70028, 0x74f70026, 0x74f70025, 0x74f70024,
13636 0x74f70023, 0x74f70022, 0x73f70029, 0x73f70027,
13637 0x73f70026, 0x73f70025, 0x73f70024, 0x73f70023,
13638 0x73f70022, 0x72f70028, 0x72f70027, 0x72f70026,
13639 0x72f70025, 0x72f70024, 0x72f70023, 0x72f70022,
13640 0x71f70028, 0x71f70027, 0x71f70026, 0x71f70025,
13641 0x71f70024, 0x71f70023, 0x70f70028, 0x70f70027,
13642 0x70f70026, 0x70f70024, 0x70f70023, 0x70f70022,
13643 0x70f70021, 0x70f70020, 0x70f70020, 0x70f7001f
13646 static u32 nphy_tpc_txgain_ipa_5g_2057[] = {
13647 0x7f7f0044, 0x7f7f0040, 0x7f7f003c, 0x7f7f0039,
13648 0x7f7f0036, 0x7e7f003c, 0x7e7f0038, 0x7e7f0035,
13649 0x7d7f003c, 0x7d7f0039, 0x7d7f0036, 0x7d7f0033,
13650 0x7c7f003b, 0x7c7f0037, 0x7c7f0034, 0x7b7f003a,
13651 0x7b7f0036, 0x7b7f0033, 0x7a7f003c, 0x7a7f0039,
13652 0x7a7f0036, 0x7a7f0033, 0x797f003b, 0x797f0038,
13653 0x797f0035, 0x797f0032, 0x787f003b, 0x787f0038,
13654 0x787f0035, 0x787f0032, 0x777f003a, 0x777f0037,
13655 0x777f0034, 0x777f0031, 0x767f003a, 0x767f0036,
13656 0x767f0033, 0x767f0031, 0x757f003a, 0x757f0037,
13657 0x757f0034, 0x747f003c, 0x747f0039, 0x747f0036,
13658 0x747f0033, 0x737f003b, 0x737f0038, 0x737f0035,
13659 0x737f0032, 0x727f0039, 0x727f0036, 0x727f0033,
13660 0x727f0030, 0x717f003a, 0x717f0037, 0x717f0034,
13661 0x707f003b, 0x707f0038, 0x707f0035, 0x707f0032,
13662 0x707f002f, 0x707f002d, 0x707f002a, 0x707f0028,
13663 0x707f0025, 0x707f0023, 0x707f0021, 0x707f0020,
13664 0x707f001e, 0x707f001c, 0x707f001b, 0x707f0019,
13665 0x707f0018, 0x707f0016, 0x707f0015, 0x707f0014,
13666 0x707f0013, 0x707f0012, 0x707f0011, 0x707f0010,
13667 0x707f000f, 0x707f000e, 0x707f000d, 0x707f000d,
13668 0x707f000c, 0x707f000b, 0x707f000b, 0x707f000a,
13669 0x707f0009, 0x707f0009, 0x707f0008, 0x707f0008,
13670 0x707f0007, 0x707f0007, 0x707f0007, 0x707f0006,
13671 0x707f0006, 0x707f0006, 0x707f0005, 0x707f0005,
13672 0x707f0005, 0x707f0004, 0x707f0004, 0x707f0004,
13673 0x707f0004, 0x707f0004, 0x707f0003, 0x707f0003,
13674 0x707f0003, 0x707f0003, 0x707f0003, 0x707f0003,
13675 0x707f0002, 0x707f0002, 0x707f0002, 0x707f0002,
13676 0x707f0002, 0x707f0002, 0x707f0002, 0x707f0002,
13677 0x707f0001, 0x707f0001, 0x707f0001, 0x707f0001,
13678 0x707f0001, 0x707f0001, 0x707f0001, 0x707f0001
13681 static u32 nphy_tpc_txgain_ipa_5g_2057rev7[] = {
13682 0x6f7f0031, 0x6f7f002e, 0x6f7f002c, 0x6f7f002a,
13683 0x6f7f0027, 0x6e7f002e, 0x6e7f002c, 0x6e7f002a,
13684 0x6d7f0030, 0x6d7f002d, 0x6d7f002a, 0x6d7f0028,
13685 0x6c7f0030, 0x6c7f002d, 0x6c7f002b, 0x6b7f002e,
13686 0x6b7f002c, 0x6b7f002a, 0x6b7f0027, 0x6a7f002e,
13687 0x6a7f002c, 0x6a7f002a, 0x697f0030, 0x697f002e,
13688 0x697f002b, 0x697f0029, 0x687f002f, 0x687f002d,
13689 0x687f002a, 0x687f0027, 0x677f002f, 0x677f002d,
13690 0x677f002a, 0x667f0031, 0x667f002e, 0x667f002c,
13691 0x667f002a, 0x657f0030, 0x657f002e, 0x657f002b,
13692 0x657f0029, 0x647f0030, 0x647f002d, 0x647f002b,
13693 0x647f0029, 0x637f002f, 0x637f002d, 0x637f002a,
13694 0x627f0030, 0x627f002d, 0x627f002b, 0x627f0029,
13695 0x617f0030, 0x617f002e, 0x617f002b, 0x617f0029,
13696 0x607f002f, 0x607f002d, 0x607f002a, 0x607f0027,
13697 0x607f0026, 0x607f0023, 0x607f0021, 0x607f0020,
13698 0x607f001e, 0x607f001c, 0x607f001a, 0x607f0019,
13699 0x607f0018, 0x607f0016, 0x607f0015, 0x607f0014,
13700 0x607f0012, 0x607f0012, 0x607f0011, 0x607f000f,
13701 0x607f000f, 0x607f000e, 0x607f000d, 0x607f000c,
13702 0x607f000c, 0x607f000b, 0x607f000b, 0x607f000a,
13703 0x607f0009, 0x607f0009, 0x607f0008, 0x607f0008,
13704 0x607f0008, 0x607f0007, 0x607f0007, 0x607f0006,
13705 0x607f0006, 0x607f0005, 0x607f0005, 0x607f0005,
13706 0x607f0005, 0x607f0005, 0x607f0004, 0x607f0004,
13707 0x607f0004, 0x607f0004, 0x607f0003, 0x607f0003,
13708 0x607f0003, 0x607f0003, 0x607f0002, 0x607f0002,
13709 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13710 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13711 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13712 0x607f0002, 0x607f0001, 0x607f0001, 0x607f0001,
13713 0x607f0001, 0x607f0001, 0x607f0001, 0x607f0001
13716 static s8 nphy_papd_pga_gain_delta_ipa_2g[] = {
13717 -114, -108, -98, -91, -84, -78, -70, -62,
13718 -54, -46, -39, -31, -23, -15, -8, 0
13721 static s8 nphy_papd_pga_gain_delta_ipa_5g[] = {
13722 -100, -95, -89, -83, -77, -70, -63, -56,
13723 -48, -41, -33, -25, -19, -12, -6, 0
13726 static s16 nphy_papd_padgain_dlt_2g_2057rev3n4[] = {
13727 -159, -113, -86, -72, -62, -54, -48, -43,
13728 -39, -35, -31, -28, -25, -23, -20, -18,
13729 -17, -15, -13, -11, -10, -8, -7, -6,
13730 -5, -4, -3, -3, -2, -1, -1, 0
13733 static s16 nphy_papd_padgain_dlt_2g_2057rev5[] = {
13734 -109, -109, -82, -68, -58, -50, -44, -39,
13735 -35, -31, -28, -26, -23, -21, -19, -17,
13736 -16, -14, -13, -11, -10, -9, -8, -7,
13737 -5, -5, -4, -3, -2, -1, -1, 0
13740 static s16 nphy_papd_padgain_dlt_2g_2057rev7[] = {
13741 -122, -122, -95, -80, -69, -61, -54, -49,
13742 -43, -39, -35, -32, -28, -26, -23, -21,
13743 -18, -16, -15, -13, -11, -10, -8, -7,
13744 -6, -5, -4, -3, -2, -1, -1, 0
13747 static s8 nphy_papd_pgagain_dlt_5g_2057[] = {
13748 -107, -101, -92, -85, -78, -71, -62, -55,
13749 -47, -39, -32, -24, -19, -12, -6, 0
13752 static s8 nphy_papd_pgagain_dlt_5g_2057rev7[] = {
13753 -110, -104, -95, -88, -81, -74, -66, -58,
13754 -50, -44, -36, -28, -23, -15, -8, 0
13757 static u8 pad_gain_codes_used_2057rev5[] = {
13758 20, 19, 18, 17, 16, 15, 14, 13, 12, 11,
13759 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
13762 static u8 pad_gain_codes_used_2057rev7[] = {
13763 15, 14, 13, 12, 11, 10, 9, 8, 7, 6,
13767 static u8 pad_all_gain_codes_2057[] = {
13768 31, 30, 29, 28, 27, 26, 25, 24, 23, 22,
13769 21, 20, 19, 18, 17, 16, 15, 14, 13, 12,
13770 11, 10, 9, 8, 7, 6, 5, 4, 3, 2,
13774 static u8 pga_all_gain_codes_2057[] = {
13775 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
13778 static u32 nphy_papd_scaltbl[] = {
13779 0x0ae2002f, 0x0a3b0032, 0x09a70035, 0x09220038,
13780 0x0887003c, 0x081f003f, 0x07a20043, 0x07340047,
13781 0x06d2004b, 0x067a004f, 0x06170054, 0x05bf0059,
13782 0x0571005e, 0x051e0064, 0x04d3006a, 0x04910070,
13783 0x044c0077, 0x040f007e, 0x03d90085, 0x03a1008d,
13784 0x036f0095, 0x033d009e, 0x030b00a8, 0x02e000b2,
13785 0x02b900bc, 0x029200c7, 0x026d00d3, 0x024900e0,
13786 0x022900ed, 0x020a00fb, 0x01ec010a, 0x01d0011a,
13787 0x01b7012a, 0x019e013c, 0x0187014f, 0x01720162,
13788 0x015d0177, 0x0149018e, 0x013701a5, 0x012601be,
13789 0x011501d9, 0x010501f5, 0x00f70212, 0x00e90232,
13790 0x00dc0253, 0x00d00276, 0x00c4029c, 0x00b902c3,
13791 0x00af02ed, 0x00a5031a, 0x009c0349, 0x0093037a,
13792 0x008b03af, 0x008303e7, 0x007c0422, 0x00750461,
13793 0x006e04a3, 0x006804ea, 0x00620534, 0x005d0583,
13794 0x005805d7, 0x0053062f, 0x004e068d, 0x004a06f1
13797 static u32 nphy_tpc_txgain_rev3[] = {
13798 0x1f410044, 0x1f410042, 0x1f410040, 0x1f41003e,
13799 0x1f41003c, 0x1f41003b, 0x1f410039, 0x1f410037,
13800 0x1e410044, 0x1e410042, 0x1e410040, 0x1e41003e,
13801 0x1e41003c, 0x1e41003b, 0x1e410039, 0x1e410037,
13802 0x1d410044, 0x1d410042, 0x1d410040, 0x1d41003e,
13803 0x1d41003c, 0x1d41003b, 0x1d410039, 0x1d410037,
13804 0x1c410044, 0x1c410042, 0x1c410040, 0x1c41003e,
13805 0x1c41003c, 0x1c41003b, 0x1c410039, 0x1c410037,
13806 0x1b410044, 0x1b410042, 0x1b410040, 0x1b41003e,
13807 0x1b41003c, 0x1b41003b, 0x1b410039, 0x1b410037,
13808 0x1a410044, 0x1a410042, 0x1a410040, 0x1a41003e,
13809 0x1a41003c, 0x1a41003b, 0x1a410039, 0x1a410037,
13810 0x19410044, 0x19410042, 0x19410040, 0x1941003e,
13811 0x1941003c, 0x1941003b, 0x19410039, 0x19410037,
13812 0x18410044, 0x18410042, 0x18410040, 0x1841003e,
13813 0x1841003c, 0x1841003b, 0x18410039, 0x18410037,
13814 0x17410044, 0x17410042, 0x17410040, 0x1741003e,
13815 0x1741003c, 0x1741003b, 0x17410039, 0x17410037,
13816 0x16410044, 0x16410042, 0x16410040, 0x1641003e,
13817 0x1641003c, 0x1641003b, 0x16410039, 0x16410037,
13818 0x15410044, 0x15410042, 0x15410040, 0x1541003e,
13819 0x1541003c, 0x1541003b, 0x15410039, 0x15410037,
13820 0x14410044, 0x14410042, 0x14410040, 0x1441003e,
13821 0x1441003c, 0x1441003b, 0x14410039, 0x14410037,
13822 0x13410044, 0x13410042, 0x13410040, 0x1341003e,
13823 0x1341003c, 0x1341003b, 0x13410039, 0x13410037,
13824 0x12410044, 0x12410042, 0x12410040, 0x1241003e,
13825 0x1241003c, 0x1241003b, 0x12410039, 0x12410037,
13826 0x11410044, 0x11410042, 0x11410040, 0x1141003e,
13827 0x1141003c, 0x1141003b, 0x11410039, 0x11410037,
13828 0x10410044, 0x10410042, 0x10410040, 0x1041003e,
13829 0x1041003c, 0x1041003b, 0x10410039, 0x10410037
13832 static u32 nphy_tpc_txgain_HiPwrEPA[] = {
13833 0x0f410044, 0x0f410042, 0x0f410040, 0x0f41003e,
13834 0x0f41003c, 0x0f41003b, 0x0f410039, 0x0f410037,
13835 0x0e410044, 0x0e410042, 0x0e410040, 0x0e41003e,
13836 0x0e41003c, 0x0e41003b, 0x0e410039, 0x0e410037,
13837 0x0d410044, 0x0d410042, 0x0d410040, 0x0d41003e,
13838 0x0d41003c, 0x0d41003b, 0x0d410039, 0x0d410037,
13839 0x0c410044, 0x0c410042, 0x0c410040, 0x0c41003e,
13840 0x0c41003c, 0x0c41003b, 0x0c410039, 0x0c410037,
13841 0x0b410044, 0x0b410042, 0x0b410040, 0x0b41003e,
13842 0x0b41003c, 0x0b41003b, 0x0b410039, 0x0b410037,
13843 0x0a410044, 0x0a410042, 0x0a410040, 0x0a41003e,
13844 0x0a41003c, 0x0a41003b, 0x0a410039, 0x0a410037,
13845 0x09410044, 0x09410042, 0x09410040, 0x0941003e,
13846 0x0941003c, 0x0941003b, 0x09410039, 0x09410037,
13847 0x08410044, 0x08410042, 0x08410040, 0x0841003e,
13848 0x0841003c, 0x0841003b, 0x08410039, 0x08410037,
13849 0x07410044, 0x07410042, 0x07410040, 0x0741003e,
13850 0x0741003c, 0x0741003b, 0x07410039, 0x07410037,
13851 0x06410044, 0x06410042, 0x06410040, 0x0641003e,
13852 0x0641003c, 0x0641003b, 0x06410039, 0x06410037,
13853 0x05410044, 0x05410042, 0x05410040, 0x0541003e,
13854 0x0541003c, 0x0541003b, 0x05410039, 0x05410037,
13855 0x04410044, 0x04410042, 0x04410040, 0x0441003e,
13856 0x0441003c, 0x0441003b, 0x04410039, 0x04410037,
13857 0x03410044, 0x03410042, 0x03410040, 0x0341003e,
13858 0x0341003c, 0x0341003b, 0x03410039, 0x03410037,
13859 0x02410044, 0x02410042, 0x02410040, 0x0241003e,
13860 0x0241003c, 0x0241003b, 0x02410039, 0x02410037,
13861 0x01410044, 0x01410042, 0x01410040, 0x0141003e,
13862 0x0141003c, 0x0141003b, 0x01410039, 0x01410037,
13863 0x00410044, 0x00410042, 0x00410040, 0x0041003e,
13864 0x0041003c, 0x0041003b, 0x00410039, 0x00410037
13867 static u32 nphy_tpc_txgain_epa_2057rev3[] = {
13868 0x80f90040, 0x80e10040, 0x80e1003c, 0x80c9003d,
13869 0x80b9003c, 0x80a9003d, 0x80a1003c, 0x8099003b,
13870 0x8091003b, 0x8089003a, 0x8081003a, 0x80790039,
13871 0x80710039, 0x8069003a, 0x8061003b, 0x8059003d,
13872 0x8051003f, 0x80490042, 0x8049003e, 0x8049003b,
13873 0x8041003e, 0x8041003b, 0x8039003e, 0x8039003b,
13874 0x80390038, 0x80390035, 0x8031003a, 0x80310036,
13875 0x80310033, 0x8029003a, 0x80290037, 0x80290034,
13876 0x80290031, 0x80210039, 0x80210036, 0x80210033,
13877 0x80210030, 0x8019003c, 0x80190039, 0x80190036,
13878 0x80190033, 0x80190030, 0x8019002d, 0x8019002b,
13879 0x80190028, 0x8011003a, 0x80110036, 0x80110033,
13880 0x80110030, 0x8011002e, 0x8011002b, 0x80110029,
13881 0x80110027, 0x80110024, 0x80110022, 0x80110020,
13882 0x8011001f, 0x8011001d, 0x8009003a, 0x80090037,
13883 0x80090034, 0x80090031, 0x8009002e, 0x8009002c,
13884 0x80090029, 0x80090027, 0x80090025, 0x80090023,
13885 0x80090021, 0x8009001f, 0x8009001d, 0x8009011d,
13886 0x8009021d, 0x8009031d, 0x8009041d, 0x8009051d,
13887 0x8009061d, 0x8009071d, 0x8009071d, 0x8009071d,
13888 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13889 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13890 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13891 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13892 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13893 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13894 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13895 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13896 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13897 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13898 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13899 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d
13902 static u32 nphy_tpc_txgain_epa_2057rev5[] = {
13903 0x10f90040, 0x10e10040, 0x10e1003c, 0x10c9003d,
13904 0x10b9003c, 0x10a9003d, 0x10a1003c, 0x1099003b,
13905 0x1091003b, 0x1089003a, 0x1081003a, 0x10790039,
13906 0x10710039, 0x1069003a, 0x1061003b, 0x1059003d,
13907 0x1051003f, 0x10490042, 0x1049003e, 0x1049003b,
13908 0x1041003e, 0x1041003b, 0x1039003e, 0x1039003b,
13909 0x10390038, 0x10390035, 0x1031003a, 0x10310036,
13910 0x10310033, 0x1029003a, 0x10290037, 0x10290034,
13911 0x10290031, 0x10210039, 0x10210036, 0x10210033,
13912 0x10210030, 0x1019003c, 0x10190039, 0x10190036,
13913 0x10190033, 0x10190030, 0x1019002d, 0x1019002b,
13914 0x10190028, 0x1011003a, 0x10110036, 0x10110033,
13915 0x10110030, 0x1011002e, 0x1011002b, 0x10110029,
13916 0x10110027, 0x10110024, 0x10110022, 0x10110020,
13917 0x1011001f, 0x1011001d, 0x1009003a, 0x10090037,
13918 0x10090034, 0x10090031, 0x1009002e, 0x1009002c,
13919 0x10090029, 0x10090027, 0x10090025, 0x10090023,
13920 0x10090021, 0x1009001f, 0x1009001d, 0x1009001b,
13921 0x1009001a, 0x10090018, 0x10090017, 0x10090016,
13922 0x10090015, 0x10090013, 0x10090012, 0x10090011,
13923 0x10090010, 0x1009000f, 0x1009000f, 0x1009000e,
13924 0x1009000d, 0x1009000c, 0x1009000c, 0x1009000b,
13925 0x1009000a, 0x1009000a, 0x10090009, 0x10090009,
13926 0x10090008, 0x10090008, 0x10090007, 0x10090007,
13927 0x10090007, 0x10090006, 0x10090006, 0x10090005,
13928 0x10090005, 0x10090005, 0x10090005, 0x10090004,
13929 0x10090004, 0x10090004, 0x10090004, 0x10090003,
13930 0x10090003, 0x10090003, 0x10090003, 0x10090003,
13931 0x10090003, 0x10090002, 0x10090002, 0x10090002,
13932 0x10090002, 0x10090002, 0x10090002, 0x10090002,
13933 0x10090002, 0x10090002, 0x10090001, 0x10090001,
13934 0x10090001, 0x10090001, 0x10090001, 0x10090001
13937 static u32 nphy_tpc_5GHz_txgain_rev3[] = {
13938 0xcff70044, 0xcff70042, 0xcff70040, 0xcff7003e,
13939 0xcff7003c, 0xcff7003b, 0xcff70039, 0xcff70037,
13940 0xcef70044, 0xcef70042, 0xcef70040, 0xcef7003e,
13941 0xcef7003c, 0xcef7003b, 0xcef70039, 0xcef70037,
13942 0xcdf70044, 0xcdf70042, 0xcdf70040, 0xcdf7003e,
13943 0xcdf7003c, 0xcdf7003b, 0xcdf70039, 0xcdf70037,
13944 0xccf70044, 0xccf70042, 0xccf70040, 0xccf7003e,
13945 0xccf7003c, 0xccf7003b, 0xccf70039, 0xccf70037,
13946 0xcbf70044, 0xcbf70042, 0xcbf70040, 0xcbf7003e,
13947 0xcbf7003c, 0xcbf7003b, 0xcbf70039, 0xcbf70037,
13948 0xcaf70044, 0xcaf70042, 0xcaf70040, 0xcaf7003e,
13949 0xcaf7003c, 0xcaf7003b, 0xcaf70039, 0xcaf70037,
13950 0xc9f70044, 0xc9f70042, 0xc9f70040, 0xc9f7003e,
13951 0xc9f7003c, 0xc9f7003b, 0xc9f70039, 0xc9f70037,
13952 0xc8f70044, 0xc8f70042, 0xc8f70040, 0xc8f7003e,
13953 0xc8f7003c, 0xc8f7003b, 0xc8f70039, 0xc8f70037,
13954 0xc7f70044, 0xc7f70042, 0xc7f70040, 0xc7f7003e,
13955 0xc7f7003c, 0xc7f7003b, 0xc7f70039, 0xc7f70037,
13956 0xc6f70044, 0xc6f70042, 0xc6f70040, 0xc6f7003e,
13957 0xc6f7003c, 0xc6f7003b, 0xc6f70039, 0xc6f70037,
13958 0xc5f70044, 0xc5f70042, 0xc5f70040, 0xc5f7003e,
13959 0xc5f7003c, 0xc5f7003b, 0xc5f70039, 0xc5f70037,
13960 0xc4f70044, 0xc4f70042, 0xc4f70040, 0xc4f7003e,
13961 0xc4f7003c, 0xc4f7003b, 0xc4f70039, 0xc4f70037,
13962 0xc3f70044, 0xc3f70042, 0xc3f70040, 0xc3f7003e,
13963 0xc3f7003c, 0xc3f7003b, 0xc3f70039, 0xc3f70037,
13964 0xc2f70044, 0xc2f70042, 0xc2f70040, 0xc2f7003e,
13965 0xc2f7003c, 0xc2f7003b, 0xc2f70039, 0xc2f70037,
13966 0xc1f70044, 0xc1f70042, 0xc1f70040, 0xc1f7003e,
13967 0xc1f7003c, 0xc1f7003b, 0xc1f70039, 0xc1f70037,
13968 0xc0f70044, 0xc0f70042, 0xc0f70040, 0xc0f7003e,
13969 0xc0f7003c, 0xc0f7003b, 0xc0f70039, 0xc0f70037
13972 static u32 nphy_tpc_5GHz_txgain_rev4[] = {
13973 0x2ff20044, 0x2ff20042, 0x2ff20040, 0x2ff2003e,
13974 0x2ff2003c, 0x2ff2003b, 0x2ff20039, 0x2ff20037,
13975 0x2ef20044, 0x2ef20042, 0x2ef20040, 0x2ef2003e,
13976 0x2ef2003c, 0x2ef2003b, 0x2ef20039, 0x2ef20037,
13977 0x2df20044, 0x2df20042, 0x2df20040, 0x2df2003e,
13978 0x2df2003c, 0x2df2003b, 0x2df20039, 0x2df20037,
13979 0x2cf20044, 0x2cf20042, 0x2cf20040, 0x2cf2003e,
13980 0x2cf2003c, 0x2cf2003b, 0x2cf20039, 0x2cf20037,
13981 0x2bf20044, 0x2bf20042, 0x2bf20040, 0x2bf2003e,
13982 0x2bf2003c, 0x2bf2003b, 0x2bf20039, 0x2bf20037,
13983 0x2af20044, 0x2af20042, 0x2af20040, 0x2af2003e,
13984 0x2af2003c, 0x2af2003b, 0x2af20039, 0x2af20037,
13985 0x29f20044, 0x29f20042, 0x29f20040, 0x29f2003e,
13986 0x29f2003c, 0x29f2003b, 0x29f20039, 0x29f20037,
13987 0x28f20044, 0x28f20042, 0x28f20040, 0x28f2003e,
13988 0x28f2003c, 0x28f2003b, 0x28f20039, 0x28f20037,
13989 0x27f20044, 0x27f20042, 0x27f20040, 0x27f2003e,
13990 0x27f2003c, 0x27f2003b, 0x27f20039, 0x27f20037,
13991 0x26f20044, 0x26f20042, 0x26f20040, 0x26f2003e,
13992 0x26f2003c, 0x26f2003b, 0x26f20039, 0x26f20037,
13993 0x25f20044, 0x25f20042, 0x25f20040, 0x25f2003e,
13994 0x25f2003c, 0x25f2003b, 0x25f20039, 0x25f20037,
13995 0x24f20044, 0x24f20042, 0x24f20040, 0x24f2003e,
13996 0x24f2003c, 0x24f2003b, 0x24f20039, 0x24f20038,
13997 0x23f20041, 0x23f20040, 0x23f2003f, 0x23f2003e,
13998 0x23f2003c, 0x23f2003b, 0x23f20039, 0x23f20037,
13999 0x22f20044, 0x22f20042, 0x22f20040, 0x22f2003e,
14000 0x22f2003c, 0x22f2003b, 0x22f20039, 0x22f20037,
14001 0x21f20044, 0x21f20042, 0x21f20040, 0x21f2003e,
14002 0x21f2003c, 0x21f2003b, 0x21f20039, 0x21f20037,
14003 0x20d20043, 0x20d20041, 0x20d2003e, 0x20d2003c,
14004 0x20d2003a, 0x20d20038, 0x20d20036, 0x20d20034
14007 static u32 nphy_tpc_5GHz_txgain_rev5[] = {
14008 0x0f62004a, 0x0f620048, 0x0f620046, 0x0f620044,
14009 0x0f620042, 0x0f620040, 0x0f62003e, 0x0f62003c,
14010 0x0e620044, 0x0e620042, 0x0e620040, 0x0e62003e,
14011 0x0e62003c, 0x0e62003d, 0x0e62003b, 0x0e62003a,
14012 0x0d620043, 0x0d620041, 0x0d620040, 0x0d62003e,
14013 0x0d62003d, 0x0d62003c, 0x0d62003b, 0x0d62003a,
14014 0x0c620041, 0x0c620040, 0x0c62003f, 0x0c62003e,
14015 0x0c62003c, 0x0c62003b, 0x0c620039, 0x0c620037,
14016 0x0b620046, 0x0b620044, 0x0b620042, 0x0b620040,
14017 0x0b62003e, 0x0b62003c, 0x0b62003b, 0x0b62003a,
14018 0x0a620041, 0x0a620040, 0x0a62003e, 0x0a62003c,
14019 0x0a62003b, 0x0a62003a, 0x0a620039, 0x0a620038,
14020 0x0962003e, 0x0962003d, 0x0962003c, 0x0962003b,
14021 0x09620039, 0x09620037, 0x09620035, 0x09620033,
14022 0x08620044, 0x08620042, 0x08620040, 0x0862003e,
14023 0x0862003c, 0x0862003b, 0x0862003a, 0x08620039,
14024 0x07620043, 0x07620042, 0x07620040, 0x0762003f,
14025 0x0762003d, 0x0762003b, 0x0762003a, 0x07620039,
14026 0x0662003e, 0x0662003d, 0x0662003c, 0x0662003b,
14027 0x06620039, 0x06620037, 0x06620035, 0x06620033,
14028 0x05620046, 0x05620044, 0x05620042, 0x05620040,
14029 0x0562003e, 0x0562003c, 0x0562003b, 0x05620039,
14030 0x04620044, 0x04620042, 0x04620040, 0x0462003e,
14031 0x0462003c, 0x0462003b, 0x04620039, 0x04620038,
14032 0x0362003c, 0x0362003b, 0x0362003a, 0x03620039,
14033 0x03620038, 0x03620037, 0x03620035, 0x03620033,
14034 0x0262004c, 0x0262004a, 0x02620048, 0x02620047,
14035 0x02620046, 0x02620044, 0x02620043, 0x02620042,
14036 0x0162004a, 0x01620048, 0x01620046, 0x01620044,
14037 0x01620043, 0x01620042, 0x01620041, 0x01620040,
14038 0x00620042, 0x00620040, 0x0062003e, 0x0062003c,
14039 0x0062003b, 0x00620039, 0x00620037, 0x00620035
14042 static u32 nphy_tpc_5GHz_txgain_HiPwrEPA[] = {
14043 0x2ff10044, 0x2ff10042, 0x2ff10040, 0x2ff1003e,
14044 0x2ff1003c, 0x2ff1003b, 0x2ff10039, 0x2ff10037,
14045 0x2ef10044, 0x2ef10042, 0x2ef10040, 0x2ef1003e,
14046 0x2ef1003c, 0x2ef1003b, 0x2ef10039, 0x2ef10037,
14047 0x2df10044, 0x2df10042, 0x2df10040, 0x2df1003e,
14048 0x2df1003c, 0x2df1003b, 0x2df10039, 0x2df10037,
14049 0x2cf10044, 0x2cf10042, 0x2cf10040, 0x2cf1003e,
14050 0x2cf1003c, 0x2cf1003b, 0x2cf10039, 0x2cf10037,
14051 0x2bf10044, 0x2bf10042, 0x2bf10040, 0x2bf1003e,
14052 0x2bf1003c, 0x2bf1003b, 0x2bf10039, 0x2bf10037,
14053 0x2af10044, 0x2af10042, 0x2af10040, 0x2af1003e,
14054 0x2af1003c, 0x2af1003b, 0x2af10039, 0x2af10037,
14055 0x29f10044, 0x29f10042, 0x29f10040, 0x29f1003e,
14056 0x29f1003c, 0x29f1003b, 0x29f10039, 0x29f10037,
14057 0x28f10044, 0x28f10042, 0x28f10040, 0x28f1003e,
14058 0x28f1003c, 0x28f1003b, 0x28f10039, 0x28f10037,
14059 0x27f10044, 0x27f10042, 0x27f10040, 0x27f1003e,
14060 0x27f1003c, 0x27f1003b, 0x27f10039, 0x27f10037,
14061 0x26f10044, 0x26f10042, 0x26f10040, 0x26f1003e,
14062 0x26f1003c, 0x26f1003b, 0x26f10039, 0x26f10037,
14063 0x25f10044, 0x25f10042, 0x25f10040, 0x25f1003e,
14064 0x25f1003c, 0x25f1003b, 0x25f10039, 0x25f10037,
14065 0x24f10044, 0x24f10042, 0x24f10040, 0x24f1003e,
14066 0x24f1003c, 0x24f1003b, 0x24f10039, 0x24f10038,
14067 0x23f10041, 0x23f10040, 0x23f1003f, 0x23f1003e,
14068 0x23f1003c, 0x23f1003b, 0x23f10039, 0x23f10037,
14069 0x22f10044, 0x22f10042, 0x22f10040, 0x22f1003e,
14070 0x22f1003c, 0x22f1003b, 0x22f10039, 0x22f10037,
14071 0x21f10044, 0x21f10042, 0x21f10040, 0x21f1003e,
14072 0x21f1003c, 0x21f1003b, 0x21f10039, 0x21f10037,
14073 0x20d10043, 0x20d10041, 0x20d1003e, 0x20d1003c,
14074 0x20d1003a, 0x20d10038, 0x20d10036, 0x20d10034
14077 static u8 ant_sw_ctrl_tbl_rev8_2o3[] = { 0x14, 0x18 };
14078 static u8 ant_sw_ctrl_tbl_rev8[] = { 0x4, 0x8, 0x4, 0x8, 0x11, 0x12 };
14079 static u8 ant_sw_ctrl_tbl_rev8_2057v7_core0[] = {
14080 0x09, 0x0a, 0x15, 0x16, 0x09, 0x0a };
14081 static u8 ant_sw_ctrl_tbl_rev8_2057v7_core1[] = {
14082 0x09, 0x0a, 0x09, 0x0a, 0x15, 0x16 };
14084 static bool wlc_phy_chan2freq_nphy(phy_info_t *pi, uint channel, int *f,
14085 chan_info_nphy_radio2057_t **t0,
14086 chan_info_nphy_radio205x_t **t1,
14087 chan_info_nphy_radio2057_rev5_t **t2,
14088 chan_info_nphy_2055_t **t3);
14089 static void wlc_phy_chanspec_nphy_setup(phy_info_t *pi, chanspec_t chans,
14090 const nphy_sfo_cfg_t *c);
14092 static void wlc_phy_adjust_rx_analpfbw_nphy(phy_info_t *pi,
14093 u16 reduction_factr);
14094 static void wlc_phy_adjust_min_noisevar_nphy(phy_info_t *pi, int ntones, int *,
14096 static void wlc_phy_adjust_crsminpwr_nphy(phy_info_t *pi, u8 minpwr);
14097 static void wlc_phy_txlpfbw_nphy(phy_info_t *pi);
14098 static void wlc_phy_spurwar_nphy(phy_info_t *pi);
14100 static void wlc_phy_radio_preinit_2055(phy_info_t *pi);
14101 static void wlc_phy_radio_init_2055(phy_info_t *pi);
14102 static void wlc_phy_radio_postinit_2055(phy_info_t *pi);
14103 static void wlc_phy_radio_preinit_205x(phy_info_t *pi);
14104 static void wlc_phy_radio_init_2056(phy_info_t *pi);
14105 static void wlc_phy_radio_postinit_2056(phy_info_t *pi);
14106 static void wlc_phy_radio_init_2057(phy_info_t *pi);
14107 static void wlc_phy_radio_postinit_2057(phy_info_t *pi);
14108 static void wlc_phy_workarounds_nphy(phy_info_t *pi);
14109 static void wlc_phy_workarounds_nphy_gainctrl(phy_info_t *pi);
14110 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev5(phy_info_t *pi);
14111 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev6(phy_info_t *pi);
14112 static void wlc_phy_adjust_lnagaintbl_nphy(phy_info_t *pi);
14114 static void wlc_phy_restore_rssical_nphy(phy_info_t *pi);
14115 static void wlc_phy_reapply_txcal_coeffs_nphy(phy_info_t *pi);
14116 static void wlc_phy_tx_iq_war_nphy(phy_info_t *pi);
14117 static int wlc_phy_cal_rxiq_nphy_rev3(phy_info_t *pi, nphy_txgains_t tg,
14119 static void wlc_phy_rxcal_gainctrl_nphy_rev5(phy_info_t *pi, u8 rxcore,
14121 static void wlc_phy_update_mimoconfig_nphy(phy_info_t *pi, s32 preamble);
14122 static void wlc_phy_savecal_nphy(phy_info_t *pi);
14123 static void wlc_phy_restorecal_nphy(phy_info_t *pi);
14124 static void wlc_phy_resetcca_nphy(phy_info_t *pi);
14126 static void wlc_phy_txpwrctrl_config_nphy(phy_info_t *pi);
14127 static void wlc_phy_internal_cal_txgain_nphy(phy_info_t *pi);
14128 static void wlc_phy_precal_txgain_nphy(phy_info_t *pi);
14129 static void wlc_phy_update_txcal_ladder_nphy(phy_info_t *pi, u16 core);
14131 static void wlc_phy_extpa_set_tx_digi_filts_nphy(phy_info_t *pi);
14132 static void wlc_phy_ipa_set_tx_digi_filts_nphy(phy_info_t *pi);
14133 static void wlc_phy_ipa_restore_tx_digi_filts_nphy(phy_info_t *pi);
14134 static u16 wlc_phy_ipa_get_bbmult_nphy(phy_info_t *pi);
14135 static void wlc_phy_ipa_set_bbmult_nphy(phy_info_t *pi, u8 m0, u8 m1);
14136 static u32 *wlc_phy_get_ipa_gaintbl_nphy(phy_info_t *pi);
14138 static void wlc_phy_a1_nphy(phy_info_t *pi, u8 core, u32 winsz, u32,
14140 static u8 wlc_phy_a3_nphy(phy_info_t *pi, u8 start_gain, u8 core);
14141 static void wlc_phy_a2_nphy(phy_info_t *pi, nphy_ipa_txcalgains_t *,
14142 phy_cal_mode_t, u8);
14143 static void wlc_phy_papd_cal_cleanup_nphy(phy_info_t *pi,
14144 nphy_papd_restore_state *state);
14145 static void wlc_phy_papd_cal_setup_nphy(phy_info_t *pi,
14146 nphy_papd_restore_state *state, u8);
14148 static void wlc_phy_clip_det_nphy(phy_info_t *pi, u8 write, u16 *vals);
14150 static void wlc_phy_set_rfseq_nphy(phy_info_t *pi, u8 cmd, u8 *evts,
14153 static u16 wlc_phy_read_lpf_bw_ctl_nphy(phy_info_t *pi, u16 offset);
14156 wlc_phy_rfctrl_override_nphy_rev7(phy_info_t *pi, u16 field, u16 value,
14157 u8 core_mask, u8 off,
14160 static void wlc_phy_rssi_cal_nphy_rev2(phy_info_t *pi, u8 rssi_type);
14161 static void wlc_phy_rssi_cal_nphy_rev3(phy_info_t *pi);
14163 static bool wlc_phy_txpwr_srom_read_nphy(phy_info_t *pi);
14164 static void wlc_phy_txpwr_nphy_srom_convert(u8 *srom_max,
14166 u8 tmp_max_pwr, u8 rate_start,
14169 static void wlc_phy_txpwr_limit_to_tbl_nphy(phy_info_t *pi);
14170 static void wlc_phy_txpwrctrl_coeff_setup_nphy(phy_info_t *pi);
14171 static void wlc_phy_txpwrctrl_idle_tssi_nphy(phy_info_t *pi);
14172 static void wlc_phy_txpwrctrl_pwr_setup_nphy(phy_info_t *pi);
14174 static bool wlc_phy_txpwr_ison_nphy(phy_info_t *pi);
14175 static u8 wlc_phy_txpwr_idx_cur_get_nphy(phy_info_t *pi, u8 core);
14176 static void wlc_phy_txpwr_idx_cur_set_nphy(phy_info_t *pi, u8 idx0,
14178 static void wlc_phy_a4(phy_info_t *pi, bool full_cal);
14180 static u16 wlc_phy_radio205x_rcal(phy_info_t *pi);
14182 static u16 wlc_phy_radio2057_rccal(phy_info_t *pi);
14184 static u16 wlc_phy_gen_load_samples_nphy(phy_info_t *pi, u32 f_kHz,
14187 static void wlc_phy_loadsampletable_nphy(phy_info_t *pi, cs32 *tone_buf,
14189 static void wlc_phy_runsamples_nphy(phy_info_t *pi, u16 n, u16 lps,
14190 u16 wait, u8 iq, u8 dac_test_mode,
14191 bool modify_bbmult);
14193 bool wlc_phy_bist_check_phy(wlc_phy_t *pih)
14195 phy_info_t *pi = (phy_info_t *) pih;
14196 u32 phybist0, phybist1, phybist2, phybist3, phybist4;
14198 if (NREV_GE(pi->pubpi.phy_rev, 16))
14201 phybist0 = read_phy_reg(pi, 0x0e);
14202 phybist1 = read_phy_reg(pi, 0x0f);
14203 phybist2 = read_phy_reg(pi, 0xea);
14204 phybist3 = read_phy_reg(pi, 0xeb);
14205 phybist4 = read_phy_reg(pi, 0x156);
14207 if ((phybist0 == 0) && (phybist1 == 0x4000) && (phybist2 == 0x1fe0) &&
14208 (phybist3 == 0) && (phybist4 == 0)) {
14215 static void WLBANDINITFN(wlc_phy_bphy_init_nphy) (phy_info_t *pi)
14219 ASSERT(ISNPHY(pi));
14222 for (addr = (NPHY_TO_BPHY_OFF + BPHY_RSSI_LUT);
14223 addr <= (NPHY_TO_BPHY_OFF + BPHY_RSSI_LUT_END); addr++) {
14224 write_phy_reg(pi, addr, val);
14225 if (addr == (NPHY_TO_BPHY_OFF + 0x97))
14231 if (NORADIO_ENAB(pi->pubpi)) {
14233 write_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_PHYCRSTH, 0x3206);
14235 write_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_RSSI_TRESH, 0x281e);
14237 or_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_LNA_GAIN_RANGE, 0x1a);
14241 write_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_STEP, 0x668);
14246 wlc_phy_table_write_nphy(phy_info_t *pi, u32 id, u32 len, u32 offset,
14247 u32 width, const void *data)
14249 mimophytbl_info_t tbl;
14253 tbl.tbl_offset = offset;
14254 tbl.tbl_width = width;
14255 tbl.tbl_ptr = data;
14256 wlc_phy_write_table_nphy(pi, &tbl);
14260 wlc_phy_table_read_nphy(phy_info_t *pi, u32 id, u32 len, u32 offset,
14261 u32 width, void *data)
14263 mimophytbl_info_t tbl;
14267 tbl.tbl_offset = offset;
14268 tbl.tbl_width = width;
14269 tbl.tbl_ptr = data;
14270 wlc_phy_read_table_nphy(pi, &tbl);
14273 static void WLBANDINITFN(wlc_phy_static_table_download_nphy) (phy_info_t *pi)
14277 if (NREV_GE(pi->pubpi.phy_rev, 16)) {
14278 for (idx = 0; idx < mimophytbl_info_sz_rev16; idx++)
14279 wlc_phy_write_table_nphy(pi,
14280 &mimophytbl_info_rev16[idx]);
14281 } else if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14282 for (idx = 0; idx < mimophytbl_info_sz_rev7; idx++)
14283 wlc_phy_write_table_nphy(pi,
14284 &mimophytbl_info_rev7[idx]);
14285 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14286 for (idx = 0; idx < mimophytbl_info_sz_rev3; idx++)
14287 wlc_phy_write_table_nphy(pi,
14288 &mimophytbl_info_rev3[idx]);
14290 for (idx = 0; idx < mimophytbl_info_sz_rev0; idx++)
14291 wlc_phy_write_table_nphy(pi,
14292 &mimophytbl_info_rev0[idx]);
14296 static void WLBANDINITFN(wlc_phy_tbl_init_nphy) (phy_info_t *pi)
14301 if (pi->phy_init_por)
14302 wlc_phy_static_table_download_nphy(pi);
14304 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14306 antswctrllut = CHSPEC_IS2G(pi->radio_chanspec) ?
14307 pi->srom_fem2g.antswctrllut : pi->srom_fem5g.antswctrllut;
14309 switch (antswctrllut) {
14316 if (pi->aa2g == 7) {
14318 wlc_phy_table_write_nphy(pi,
14319 NPHY_TBL_ID_ANTSWCTRLLUT,
14321 &ant_sw_ctrl_tbl_rev8_2o3
14324 wlc_phy_table_write_nphy(pi,
14325 NPHY_TBL_ID_ANTSWCTRLLUT,
14327 &ant_sw_ctrl_tbl_rev8
14330 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14332 &ant_sw_ctrl_tbl_rev8[2]);
14333 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14335 &ant_sw_ctrl_tbl_rev8[4]);
14340 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14342 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14344 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14346 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14348 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14350 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14353 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14355 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14357 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14359 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14361 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14363 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14373 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14374 for (idx = 0; idx < mimophytbl_info_sz_rev3_volatile; idx++) {
14376 if (idx == ANT_SWCTRL_TBL_REV3_IDX) {
14377 antswctrllut = CHSPEC_IS2G(pi->radio_chanspec) ?
14378 pi->srom_fem2g.antswctrllut : pi->
14379 srom_fem5g.antswctrllut;
14380 switch (antswctrllut) {
14382 wlc_phy_write_table_nphy(pi,
14383 &mimophytbl_info_rev3_volatile
14387 wlc_phy_write_table_nphy(pi,
14388 &mimophytbl_info_rev3_volatile1
14392 wlc_phy_write_table_nphy(pi,
14393 &mimophytbl_info_rev3_volatile2
14397 wlc_phy_write_table_nphy(pi,
14398 &mimophytbl_info_rev3_volatile3
14407 wlc_phy_write_table_nphy(pi,
14408 &mimophytbl_info_rev3_volatile
14413 for (idx = 0; idx < mimophytbl_info_sz_rev0_volatile; idx++) {
14414 wlc_phy_write_table_nphy(pi,
14415 &mimophytbl_info_rev0_volatile
14422 wlc_phy_write_txmacreg_nphy(phy_info_t *pi, u16 holdoff, u16 delay)
14424 write_phy_reg(pi, 0x77, holdoff);
14425 write_phy_reg(pi, 0xb4, delay);
14428 void wlc_phy_nphy_tkip_rifs_war(phy_info_t *pi, u8 rifs)
14430 u16 holdoff, delay;
14442 wlc_phy_write_txmacreg_nphy(pi, holdoff, delay);
14444 if (pi && pi->sh && (pi->sh->_rifs_phy != rifs)) {
14445 pi->sh->_rifs_phy = rifs;
14449 bool wlc_phy_attach_nphy(phy_info_t *pi)
14453 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 6)) {
14454 pi->phyhang_avoid = true;
14457 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
14459 pi->nphy_gband_spurwar_en = true;
14461 if (pi->sh->boardflags2 & BFL2_SPUR_WAR) {
14462 pi->nphy_aband_spurwar_en = true;
14465 if (NREV_GE(pi->pubpi.phy_rev, 6) && NREV_LT(pi->pubpi.phy_rev, 7)) {
14467 if (pi->sh->boardflags2 & BFL2_2G_SPUR_WAR) {
14468 pi->nphy_gband_spurwar2_en = true;
14472 pi->n_preamble_override = AUTO;
14473 if (NREV_IS(pi->pubpi.phy_rev, 3) || NREV_IS(pi->pubpi.phy_rev, 4))
14474 pi->n_preamble_override = WLC_N_PREAMBLE_MIXEDMODE;
14476 pi->nphy_txrx_chain = AUTO;
14477 pi->phy_scraminit = AUTO;
14479 pi->nphy_rxcalparams = 0x010100B5;
14481 pi->nphy_perical = PHY_PERICAL_MPHASE;
14482 pi->mphase_cal_phase_id = MPHASE_CAL_STATE_IDLE;
14483 pi->mphase_txcal_numcmds = MPHASE_TXCAL_NUMCMDS;
14485 pi->nphy_gain_boost = true;
14486 pi->nphy_elna_gain_config = false;
14487 pi->radio_is_on = false;
14489 for (i = 0; i < pi->pubpi.phy_corenum; i++) {
14490 pi->nphy_txpwrindex[i].index = AUTO;
14493 wlc_phy_txpwrctrl_config_nphy(pi);
14494 if (pi->nphy_txpwrctrl == PHY_TPC_HW_ON)
14495 pi->hwpwrctrl_capable = true;
14497 pi->pi_fptr.init = wlc_phy_init_nphy;
14498 pi->pi_fptr.calinit = wlc_phy_cal_init_nphy;
14499 pi->pi_fptr.chanset = wlc_phy_chanspec_set_nphy;
14500 pi->pi_fptr.txpwrrecalc = wlc_phy_txpower_recalc_target_nphy;
14502 if (!wlc_phy_txpwr_srom_read_nphy(pi))
14508 static void wlc_phy_txpwrctrl_config_nphy(phy_info_t *pi)
14511 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14512 pi->nphy_txpwrctrl = PHY_TPC_HW_ON;
14513 pi->phy_5g_pwrgain = true;
14517 pi->nphy_txpwrctrl = PHY_TPC_HW_OFF;
14518 pi->phy_5g_pwrgain = false;
14520 if ((pi->sh->boardflags2 & BFL2_TXPWRCTRL_EN) &&
14521 NREV_GE(pi->pubpi.phy_rev, 2) && (pi->sh->sromrev >= 4))
14522 pi->nphy_txpwrctrl = PHY_TPC_HW_ON;
14523 else if ((pi->sh->sromrev >= 4)
14524 && (pi->sh->boardflags2 & BFL2_5G_PWRGAIN))
14525 pi->phy_5g_pwrgain = true;
14528 void WLBANDINITFN(wlc_phy_init_nphy) (phy_info_t *pi)
14532 nphy_txgains_t target_gain;
14533 u8 tx_pwr_ctrl_state;
14534 bool do_nphy_cal = false;
14536 uint origidx, intr_val;
14538 u32 d11_clk_ctl_st;
14542 if (!(pi->measure_hold & PHY_HOLD_FOR_SCAN)) {
14543 pi->measure_hold |= PHY_HOLD_FOR_NOT_ASSOC;
14546 if ((ISNPHY(pi)) && (NREV_GE(pi->pubpi.phy_rev, 5)) &&
14547 ((pi->sh->chippkg == BCM4717_PKG_ID) ||
14548 (pi->sh->chippkg == BCM4718_PKG_ID))) {
14549 if ((pi->sh->boardflags & BFL_EXTLNA) &&
14550 (CHSPEC_IS2G(pi->radio_chanspec))) {
14551 si_corereg(pi->sh->sih, SI_CC_IDX,
14552 offsetof(chipcregs_t, chipcontrol), 0x40,
14557 if ((!PHY_IPA(pi)) && (CHIPID(pi->sh->chip) == BCM5357_CHIP_ID)) {
14558 si_pmu_chipcontrol(pi->sh->sih, 1, CCTRL5357_EXTPA,
14562 if ((pi->nphy_gband_spurwar2_en) && CHSPEC_IS2G(pi->radio_chanspec) &&
14563 CHSPEC_IS40(pi->radio_chanspec)) {
14565 regs = (d11regs_t *) si_switch_core(pi->sh->sih, D11_CORE_ID,
14566 &origidx, &intr_val);
14567 ASSERT(regs != NULL);
14569 d11_clk_ctl_st = R_REG(pi->sh->osh, ®s->clk_ctl_st);
14570 AND_REG(pi->sh->osh, ®s->clk_ctl_st,
14571 ~(CCS_FORCEHT | CCS_HTAREQ));
14573 W_REG(pi->sh->osh, ®s->clk_ctl_st, d11_clk_ctl_st);
14575 si_restore_core(pi->sh->sih, origidx, intr_val);
14578 pi->use_int_tx_iqlo_cal_nphy =
14580 (NREV_GE(pi->pubpi.phy_rev, 7) ||
14581 (NREV_GE(pi->pubpi.phy_rev, 5)
14582 && pi->sh->boardflags2 & BFL2_INTERNDET_TXIQCAL)));
14584 pi->internal_tx_iqlo_cal_tapoff_intpa_nphy = false;
14586 pi->nphy_deaf_count = 0;
14588 wlc_phy_tbl_init_nphy(pi);
14590 pi->nphy_crsminpwr_adjusted = false;
14591 pi->nphy_noisevars_adjusted = false;
14593 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14594 write_phy_reg(pi, 0xe7, 0);
14595 write_phy_reg(pi, 0xec, 0);
14596 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14597 write_phy_reg(pi, 0x342, 0);
14598 write_phy_reg(pi, 0x343, 0);
14599 write_phy_reg(pi, 0x346, 0);
14600 write_phy_reg(pi, 0x347, 0);
14602 write_phy_reg(pi, 0xe5, 0);
14603 write_phy_reg(pi, 0xe6, 0);
14605 write_phy_reg(pi, 0xec, 0);
14608 write_phy_reg(pi, 0x91, 0);
14609 write_phy_reg(pi, 0x92, 0);
14610 if (NREV_LT(pi->pubpi.phy_rev, 6)) {
14611 write_phy_reg(pi, 0x93, 0);
14612 write_phy_reg(pi, 0x94, 0);
14615 and_phy_reg(pi, 0xa1, ~3);
14617 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14618 write_phy_reg(pi, 0x8f, 0);
14619 write_phy_reg(pi, 0xa5, 0);
14621 write_phy_reg(pi, 0xa5, 0);
14624 if (NREV_IS(pi->pubpi.phy_rev, 2))
14625 mod_phy_reg(pi, 0xdc, 0x00ff, 0x3b);
14626 else if (NREV_LT(pi->pubpi.phy_rev, 2))
14627 mod_phy_reg(pi, 0xdc, 0x00ff, 0x40);
14629 write_phy_reg(pi, 0x203, 32);
14630 write_phy_reg(pi, 0x201, 32);
14632 if (pi->sh->boardflags2 & BFL2_SKWRKFEM_BRD)
14633 write_phy_reg(pi, 0x20d, 160);
14635 write_phy_reg(pi, 0x20d, 184);
14637 write_phy_reg(pi, 0x13a, 200);
14639 write_phy_reg(pi, 0x70, 80);
14641 write_phy_reg(pi, 0x1ff, 48);
14643 if (NREV_LT(pi->pubpi.phy_rev, 8)) {
14644 wlc_phy_update_mimoconfig_nphy(pi, pi->n_preamble_override);
14647 wlc_phy_stf_chain_upd_nphy(pi);
14649 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
14650 write_phy_reg(pi, 0x180, 0xaa8);
14651 write_phy_reg(pi, 0x181, 0x9a4);
14655 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
14657 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
14658 0x29b, (0x1 << 0), (1) << 0);
14660 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x298 :
14661 0x29c, (0x1ff << 7),
14662 (pi->nphy_papd_epsilon_offset[core]) << 7);
14666 wlc_phy_ipa_set_tx_digi_filts_nphy(pi);
14669 if (NREV_GE(pi->pubpi.phy_rev, 5)) {
14670 wlc_phy_extpa_set_tx_digi_filts_nphy(pi);
14674 wlc_phy_workarounds_nphy(pi);
14676 wlapi_bmac_phyclk_fgc(pi->sh->physhim, ON);
14678 val = read_phy_reg(pi, 0x01);
14679 write_phy_reg(pi, 0x01, val | BBCFG_RESETCCA);
14680 write_phy_reg(pi, 0x01, val & (~BBCFG_RESETCCA));
14681 wlapi_bmac_phyclk_fgc(pi->sh->physhim, OFF);
14683 wlapi_bmac_macphyclk_set(pi->sh->physhim, ON);
14685 wlc_phy_pa_override_nphy(pi, OFF);
14686 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX);
14687 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
14688 wlc_phy_pa_override_nphy(pi, ON);
14690 wlc_phy_classifier_nphy(pi, 0, 0);
14691 wlc_phy_clip_det_nphy(pi, 0, clip1_ths);
14693 if (CHSPEC_IS2G(pi->radio_chanspec))
14694 wlc_phy_bphy_init_nphy(pi);
14696 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
14697 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
14699 wlc_phy_txpwr_fixpower_nphy(pi);
14701 wlc_phy_txpwrctrl_idle_tssi_nphy(pi);
14703 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
14705 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14706 u32 *tx_pwrctrl_tbl = NULL;
14710 s32 rfpwr_offset = 0;
14713 tx_pwrctrl_tbl = wlc_phy_get_ipa_gaintbl_nphy(pi);
14715 if (CHSPEC_IS5G(pi->radio_chanspec)) {
14717 (pi->pubpi.phy_rev, 3) {
14719 nphy_tpc_5GHz_txgain_rev3;
14721 (pi->pubpi.phy_rev, 4) {
14723 (pi->srom_fem5g.extpagain == 3) ?
14724 nphy_tpc_5GHz_txgain_HiPwrEPA :
14725 nphy_tpc_5GHz_txgain_rev4;
14728 nphy_tpc_5GHz_txgain_rev5;
14732 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14733 if (pi->pubpi.radiorev == 5) {
14735 nphy_tpc_txgain_epa_2057rev5;
14736 } else if (pi->pubpi.radiorev == 3) {
14738 nphy_tpc_txgain_epa_2057rev3;
14742 if (NREV_GE(pi->pubpi.phy_rev, 5) &&
14743 (pi->srom_fem2g.extpagain == 3)) {
14745 nphy_tpc_txgain_HiPwrEPA;
14748 nphy_tpc_txgain_rev3;
14754 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 128,
14755 192, 32, tx_pwrctrl_tbl);
14756 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 128,
14757 192, 32, tx_pwrctrl_tbl);
14759 pi->nphy_gmval = (u16) ((*tx_pwrctrl_tbl >> 16) & 0x7000);
14761 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14763 for (idx = 0; idx < 128; idx++) {
14764 pga_gn = (tx_pwrctrl_tbl[idx] >> 24) & 0xf;
14765 pad_gn = (tx_pwrctrl_tbl[idx] >> 19) & 0x1f;
14767 if (CHSPEC_IS2G(pi->radio_chanspec)) {
14768 if ((pi->pubpi.radiorev == 3) ||
14769 (pi->pubpi.radiorev == 4) ||
14770 (pi->pubpi.radiorev == 6)) {
14771 rfpwr_offset = (s16)
14772 nphy_papd_padgain_dlt_2g_2057rev3n4
14774 } else if (pi->pubpi.radiorev == 5) {
14775 rfpwr_offset = (s16)
14776 nphy_papd_padgain_dlt_2g_2057rev5
14778 } else if ((pi->pubpi.radiorev == 7)
14779 || (pi->pubpi.radiorev ==
14781 rfpwr_offset = (s16)
14782 nphy_papd_padgain_dlt_2g_2057rev7
14789 if ((pi->pubpi.radiorev == 3) ||
14790 (pi->pubpi.radiorev == 4) ||
14791 (pi->pubpi.radiorev == 6)) {
14792 rfpwr_offset = (s16)
14793 nphy_papd_pgagain_dlt_5g_2057
14795 } else if ((pi->pubpi.radiorev == 7)
14796 || (pi->pubpi.radiorev ==
14798 rfpwr_offset = (s16)
14799 nphy_papd_pgagain_dlt_5g_2057rev7
14805 wlc_phy_table_write_nphy(pi,
14806 NPHY_TBL_ID_CORE1TXPWRCTL,
14809 wlc_phy_table_write_nphy(pi,
14810 NPHY_TBL_ID_CORE2TXPWRCTL,
14816 for (idx = 0; idx < 128; idx++) {
14817 pga_gn = (tx_pwrctrl_tbl[idx] >> 24) & 0xf;
14818 if (CHSPEC_IS2G(pi->radio_chanspec)) {
14819 rfpwr_offset = (s16)
14820 nphy_papd_pga_gain_delta_ipa_2g
14823 rfpwr_offset = (s16)
14824 nphy_papd_pga_gain_delta_ipa_5g
14828 wlc_phy_table_write_nphy(pi,
14829 NPHY_TBL_ID_CORE1TXPWRCTL,
14832 wlc_phy_table_write_nphy(pi,
14833 NPHY_TBL_ID_CORE2TXPWRCTL,
14841 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 128,
14842 192, 32, nphy_tpc_txgain);
14843 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 128,
14844 192, 32, nphy_tpc_txgain);
14847 if (pi->sh->phyrxchain != 0x3) {
14848 wlc_phy_rxcore_setstate_nphy((wlc_phy_t *) pi,
14849 pi->sh->phyrxchain);
14852 if (PHY_PERICAL_MPHASE_PENDING(pi)) {
14853 wlc_phy_cal_perical_mphase_restart(pi);
14856 if (!NORADIO_ENAB(pi->pubpi)) {
14857 bool do_rssi_cal = false;
14859 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14860 do_rssi_cal = (CHSPEC_IS2G(pi->radio_chanspec)) ?
14861 (pi->nphy_rssical_chanspec_2G == 0) :
14862 (pi->nphy_rssical_chanspec_5G == 0);
14865 wlc_phy_rssi_cal_nphy(pi);
14867 wlc_phy_restore_rssical_nphy(pi);
14870 wlc_phy_rssi_cal_nphy(pi);
14873 if (!SCAN_RM_IN_PROGRESS(pi)) {
14874 do_nphy_cal = (CHSPEC_IS2G(pi->radio_chanspec)) ?
14875 (pi->nphy_iqcal_chanspec_2G == 0) :
14876 (pi->nphy_iqcal_chanspec_5G == 0);
14879 if (!pi->do_initcal)
14880 do_nphy_cal = false;
14884 target_gain = wlc_phy_get_tx_gain_nphy(pi);
14886 if (pi->antsel_type == ANTSEL_2x3)
14887 wlc_phy_antsel_init((wlc_phy_t *) pi, true);
14889 if (pi->nphy_perical != PHY_PERICAL_MPHASE) {
14890 wlc_phy_rssi_cal_nphy(pi);
14892 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14893 pi->nphy_cal_orig_pwr_idx[0] =
14894 pi->nphy_txpwrindex[PHY_CORE_0].
14896 pi->nphy_cal_orig_pwr_idx[1] =
14897 pi->nphy_txpwrindex[PHY_CORE_1].
14900 wlc_phy_precal_txgain_nphy(pi);
14902 wlc_phy_get_tx_gain_nphy(pi);
14905 if (wlc_phy_cal_txiqlo_nphy
14906 (pi, target_gain, true, false) == BCME_OK) {
14907 if (wlc_phy_cal_rxiq_nphy
14908 (pi, target_gain, 2,
14909 false) == BCME_OK) {
14910 wlc_phy_savecal_nphy(pi);
14914 } else if (pi->mphase_cal_phase_id ==
14915 MPHASE_CAL_STATE_IDLE) {
14917 wlc_phy_cal_perical((wlc_phy_t *) pi,
14918 PHY_PERICAL_PHYINIT);
14921 wlc_phy_restorecal_nphy(pi);
14925 wlc_phy_txpwrctrl_coeff_setup_nphy(pi);
14927 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
14929 wlc_phy_nphy_tkip_rifs_war(pi, pi->sh->_rifs_phy);
14931 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LE(pi->pubpi.phy_rev, 6))
14933 write_phy_reg(pi, 0x70, 50);
14935 wlc_phy_txlpfbw_nphy(pi);
14937 wlc_phy_spurwar_nphy(pi);
14941 static void wlc_phy_update_mimoconfig_nphy(phy_info_t *pi, s32 preamble)
14943 bool gf_preamble = false;
14946 if (preamble == WLC_N_PREAMBLE_GF) {
14947 gf_preamble = true;
14950 val = read_phy_reg(pi, 0xed);
14952 val |= RX_GF_MM_AUTO;
14953 val &= ~RX_GF_OR_MM;
14955 val |= RX_GF_OR_MM;
14957 write_phy_reg(pi, 0xed, val);
14960 static void wlc_phy_resetcca_nphy(phy_info_t *pi)
14964 ASSERT(0 == (R_REG(pi->sh->osh, &pi->regs->maccontrol) & MCTL_EN_MAC));
14966 wlapi_bmac_phyclk_fgc(pi->sh->physhim, ON);
14968 val = read_phy_reg(pi, 0x01);
14969 write_phy_reg(pi, 0x01, val | BBCFG_RESETCCA);
14971 write_phy_reg(pi, 0x01, val & (~BBCFG_RESETCCA));
14973 wlapi_bmac_phyclk_fgc(pi->sh->physhim, OFF);
14975 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
14978 void wlc_phy_pa_override_nphy(phy_info_t *pi, bool en)
14980 u16 rfctrlintc_override_val;
14984 pi->rfctrlIntc1_save = read_phy_reg(pi, 0x91);
14985 pi->rfctrlIntc2_save = read_phy_reg(pi, 0x92);
14987 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14988 rfctrlintc_override_val = 0x1480;
14989 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14990 rfctrlintc_override_val =
14991 CHSPEC_IS5G(pi->radio_chanspec) ? 0x600 : 0x480;
14993 rfctrlintc_override_val =
14994 CHSPEC_IS5G(pi->radio_chanspec) ? 0x180 : 0x120;
14997 write_phy_reg(pi, 0x91, rfctrlintc_override_val);
14998 write_phy_reg(pi, 0x92, rfctrlintc_override_val);
15001 write_phy_reg(pi, 0x91, pi->rfctrlIntc1_save);
15002 write_phy_reg(pi, 0x92, pi->rfctrlIntc2_save);
15007 void wlc_phy_stf_chain_upd_nphy(phy_info_t *pi)
15011 (NPHY_RfseqCoreActv_TxRxChain0 | NPHY_RfseqCoreActv_TxRxChain1);
15012 bool CoreActv_override = false;
15014 if (pi->nphy_txrx_chain == WLC_N_TXRX_CHAIN0) {
15015 txrx_chain = NPHY_RfseqCoreActv_TxRxChain0;
15016 CoreActv_override = true;
15018 if (NREV_LE(pi->pubpi.phy_rev, 2)) {
15019 and_phy_reg(pi, 0xa0, ~0x20);
15021 } else if (pi->nphy_txrx_chain == WLC_N_TXRX_CHAIN1) {
15022 txrx_chain = NPHY_RfseqCoreActv_TxRxChain1;
15023 CoreActv_override = true;
15025 if (NREV_LE(pi->pubpi.phy_rev, 2)) {
15026 or_phy_reg(pi, 0xa0, 0x20);
15030 mod_phy_reg(pi, 0xa2, ((0xf << 0) | (0xf << 4)), txrx_chain);
15032 if (CoreActv_override) {
15034 pi->nphy_perical = PHY_PERICAL_DISABLE;
15035 or_phy_reg(pi, 0xa1, NPHY_RfseqMode_CoreActv_override);
15037 pi->nphy_perical = PHY_PERICAL_MPHASE;
15038 and_phy_reg(pi, 0xa1, ~NPHY_RfseqMode_CoreActv_override);
15042 void wlc_phy_rxcore_setstate_nphy(wlc_phy_t *pih, u8 rxcore_bitmask)
15047 phy_info_t *pi = (phy_info_t *) pih;
15051 pi->sh->phyrxchain = rxcore_bitmask;
15057 (0 == (R_REG(pi->sh->osh, &pi->regs->maccontrol) & MCTL_EN_MAC));
15059 wlapi_suspend_mac_and_wait(pi->sh->physhim);
15061 if (pi->phyhang_avoid)
15062 wlc_phy_stay_in_carriersearch_nphy(pi, true);
15064 regval = read_phy_reg(pi, 0xa2);
15065 regval &= ~(0xf << 4);
15066 regval |= ((u16) (rxcore_bitmask & 0x3)) << 4;
15067 write_phy_reg(pi, 0xa2, regval);
15069 if ((rxcore_bitmask & 0x3) != 0x3) {
15071 write_phy_reg(pi, 0x20e, 1);
15073 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
15074 if (pi->rx2tx_biasentry == -1) {
15075 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ,
15076 ARRAY_SIZE(tbl_buf), 80,
15079 for (i = 0; i < ARRAY_SIZE(tbl_buf); i++) {
15081 NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS) {
15083 pi->rx2tx_biasentry = (u8) i;
15085 NPHY_REV3_RFSEQ_CMD_NOP;
15086 wlc_phy_table_write_nphy(pi,
15092 } else if (tbl_buf[i] ==
15093 NPHY_REV3_RFSEQ_CMD_END) {
15101 write_phy_reg(pi, 0x20e, 30);
15103 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
15104 if (pi->rx2tx_biasentry != -1) {
15105 tbl_opcode = NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS;
15106 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15107 1, pi->rx2tx_biasentry,
15109 pi->rx2tx_biasentry = -1;
15114 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
15116 if (pi->phyhang_avoid)
15117 wlc_phy_stay_in_carriersearch_nphy(pi, false);
15120 wlapi_enable_mac(pi->sh->physhim);
15123 u8 wlc_phy_rxcore_getstate_nphy(wlc_phy_t *pih)
15125 u16 regval, rxen_bits;
15126 phy_info_t *pi = (phy_info_t *) pih;
15128 regval = read_phy_reg(pi, 0xa2);
15129 rxen_bits = (regval >> 4) & 0xf;
15131 return (u8) rxen_bits;
15134 bool wlc_phy_n_txpower_ipa_ison(phy_info_t *pi)
15136 return PHY_IPA(pi);
15139 static void wlc_phy_txpwr_limit_to_tbl_nphy(phy_info_t *pi)
15141 u8 idx, idx2, i, delta_ind;
15143 for (idx = TXP_FIRST_CCK; idx <= TXP_LAST_CCK; idx++) {
15144 pi->adj_pwr_tbl_nphy[idx] = pi->tx_power_offset[idx];
15147 for (i = 0; i < 4; i++) {
15155 if (CHSPEC_IS40(pi->radio_chanspec)
15156 && NPHY_IS_SROM_REINTERPRET) {
15157 idx = TXP_FIRST_MCS_40_SISO;
15159 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15160 TXP_FIRST_OFDM_40_SISO : TXP_FIRST_OFDM;
15167 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15168 TXP_FIRST_MCS_40_CDD : TXP_FIRST_MCS_20_CDD;
15173 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15174 TXP_FIRST_MCS_40_STBC : TXP_FIRST_MCS_20_STBC;
15179 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15180 TXP_FIRST_MCS_40_SDM : TXP_FIRST_MCS_20_SDM;
15184 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15185 pi->tx_power_offset[idx];
15186 idx = idx + delta_ind;
15187 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15188 pi->tx_power_offset[idx];
15189 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15190 pi->tx_power_offset[idx];
15191 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15192 pi->tx_power_offset[idx++];
15194 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15195 pi->tx_power_offset[idx++];
15196 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15197 pi->tx_power_offset[idx];
15198 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15199 pi->tx_power_offset[idx];
15200 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15201 pi->tx_power_offset[idx++];
15203 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15204 pi->tx_power_offset[idx++];
15205 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15206 pi->tx_power_offset[idx];
15207 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15208 pi->tx_power_offset[idx];
15209 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15210 pi->tx_power_offset[idx++];
15212 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15213 pi->tx_power_offset[idx];
15214 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15215 pi->tx_power_offset[idx++];
15216 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15217 pi->tx_power_offset[idx];
15218 idx = idx + 1 - delta_ind;
15219 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15220 pi->tx_power_offset[idx];
15222 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15223 pi->tx_power_offset[idx];
15224 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15225 pi->tx_power_offset[idx];
15226 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15227 pi->tx_power_offset[idx];
15228 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15229 pi->tx_power_offset[idx];
15233 void wlc_phy_cal_init_nphy(phy_info_t *pi)
15237 static void wlc_phy_war_force_trsw_to_R_cliplo_nphy(phy_info_t *pi, u8 core)
15239 if (core == PHY_CORE_0) {
15240 write_phy_reg(pi, 0x38, 0x4);
15241 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15242 write_phy_reg(pi, 0x37, 0x0060);
15244 write_phy_reg(pi, 0x37, 0x1080);
15246 } else if (core == PHY_CORE_1) {
15247 write_phy_reg(pi, 0x2ae, 0x4);
15248 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15249 write_phy_reg(pi, 0x2ad, 0x0060);
15251 write_phy_reg(pi, 0x2ad, 0x1080);
15256 static void wlc_phy_war_txchain_upd_nphy(phy_info_t *pi, u8 txchain)
15258 u8 txchain0, txchain1;
15260 txchain0 = txchain & 0x1;
15261 txchain1 = (txchain & 0x2) >> 1;
15263 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_0);
15267 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_1);
15271 static void wlc_phy_workarounds_nphy(phy_info_t *pi)
15273 u8 rfseq_rx2tx_events[] = {
15274 NPHY_RFSEQ_CMD_NOP,
15275 NPHY_RFSEQ_CMD_RXG_FBW,
15276 NPHY_RFSEQ_CMD_TR_SWITCH,
15277 NPHY_RFSEQ_CMD_CLR_HIQ_DIS,
15278 NPHY_RFSEQ_CMD_RXPD_TXPD,
15279 NPHY_RFSEQ_CMD_TX_GAIN,
15280 NPHY_RFSEQ_CMD_EXT_PA
15282 u8 rfseq_rx2tx_dlys[] = { 8, 6, 6, 2, 4, 60, 1 };
15283 u8 rfseq_tx2rx_events[] = {
15284 NPHY_RFSEQ_CMD_NOP,
15285 NPHY_RFSEQ_CMD_EXT_PA,
15286 NPHY_RFSEQ_CMD_TX_GAIN,
15287 NPHY_RFSEQ_CMD_RXPD_TXPD,
15288 NPHY_RFSEQ_CMD_TR_SWITCH,
15289 NPHY_RFSEQ_CMD_RXG_FBW,
15290 NPHY_RFSEQ_CMD_CLR_HIQ_DIS
15292 u8 rfseq_tx2rx_dlys[] = { 8, 6, 2, 4, 4, 6, 1 };
15293 u8 rfseq_tx2rx_events_rev3[] = {
15294 NPHY_REV3_RFSEQ_CMD_EXT_PA,
15295 NPHY_REV3_RFSEQ_CMD_INT_PA_PU,
15296 NPHY_REV3_RFSEQ_CMD_TX_GAIN,
15297 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD,
15298 NPHY_REV3_RFSEQ_CMD_TR_SWITCH,
15299 NPHY_REV3_RFSEQ_CMD_RXG_FBW,
15300 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS,
15301 NPHY_REV3_RFSEQ_CMD_END
15303 u8 rfseq_tx2rx_dlys_rev3[] = { 8, 4, 2, 2, 4, 4, 6, 1 };
15304 u8 rfseq_rx2tx_events_rev3[] = {
15305 NPHY_REV3_RFSEQ_CMD_NOP,
15306 NPHY_REV3_RFSEQ_CMD_RXG_FBW,
15307 NPHY_REV3_RFSEQ_CMD_TR_SWITCH,
15308 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS,
15309 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD,
15310 NPHY_REV3_RFSEQ_CMD_TX_GAIN,
15311 NPHY_REV3_RFSEQ_CMD_INT_PA_PU,
15312 NPHY_REV3_RFSEQ_CMD_EXT_PA,
15313 NPHY_REV3_RFSEQ_CMD_END
15315 u8 rfseq_rx2tx_dlys_rev3[] = { 8, 6, 6, 4, 4, 18, 42, 1, 1 };
15317 u8 rfseq_rx2tx_events_rev3_ipa[] = {
15318 NPHY_REV3_RFSEQ_CMD_NOP,
15319 NPHY_REV3_RFSEQ_CMD_RXG_FBW,
15320 NPHY_REV3_RFSEQ_CMD_TR_SWITCH,
15321 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS,
15322 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD,
15323 NPHY_REV3_RFSEQ_CMD_TX_GAIN,
15324 NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS,
15325 NPHY_REV3_RFSEQ_CMD_INT_PA_PU,
15326 NPHY_REV3_RFSEQ_CMD_END
15328 u8 rfseq_rx2tx_dlys_rev3_ipa[] = { 8, 6, 6, 4, 4, 16, 43, 1, 1 };
15329 u16 rfseq_rx2tx_dacbufpu_rev7[] = { 0x10f, 0x10f };
15331 s16 alpha0, alpha1, alpha2;
15332 s16 beta0, beta1, beta2;
15333 u32 leg_data_weights, ht_data_weights, nss1_data_weights,
15335 u8 chan_freq_range = 0;
15336 u16 dac_control = 0x0002;
15337 u16 aux_adc_vmid_rev7_core0[] = { 0x8e, 0x96, 0x96, 0x96 };
15338 u16 aux_adc_vmid_rev7_core1[] = { 0x8f, 0x9f, 0x9f, 0x96 };
15339 u16 aux_adc_vmid_rev4[] = { 0xa2, 0xb4, 0xb4, 0x89 };
15340 u16 aux_adc_vmid_rev3[] = { 0xa2, 0xb4, 0xb4, 0x89 };
15342 u16 aux_adc_gain_rev7[] = { 0x02, 0x02, 0x02, 0x02 };
15343 u16 aux_adc_gain_rev4[] = { 0x02, 0x02, 0x02, 0x00 };
15344 u16 aux_adc_gain_rev3[] = { 0x02, 0x02, 0x02, 0x00 };
15346 u16 sk_adc_vmid[] = { 0xb4, 0xb4, 0xb4, 0x24 };
15347 u16 sk_adc_gain[] = { 0x02, 0x02, 0x02, 0x02 };
15348 s32 min_nvar_val = 0x18d;
15349 s32 min_nvar_offset_6mbps = 20;
15353 u16 afectrl_adc_ctrl1_rev7 = 0x20;
15354 u16 afectrl_adc_ctrl2_rev7 = 0x0;
15355 u16 rfseq_rx2tx_lpf_h_hpc_rev7 = 0x77;
15356 u16 rfseq_tx2rx_lpf_h_hpc_rev7 = 0x77;
15357 u16 rfseq_pktgn_lpf_h_hpc_rev7 = 0x77;
15358 u16 rfseq_htpktgn_lpf_hpc_rev7[] = { 0x77, 0x11, 0x11 };
15359 u16 rfseq_pktgn_lpf_hpc_rev7[] = { 0x11, 0x11 };
15360 u16 rfseq_cckpktgn_lpf_hpc_rev7[] = { 0x11, 0x11 };
15361 u16 ipalvlshift_3p3_war_en = 0;
15362 u16 rccal_bcap_val, rccal_scap_val;
15363 u16 rccal_tx20_11b_bcap = 0;
15364 u16 rccal_tx20_11b_scap = 0;
15365 u16 rccal_tx20_11n_bcap = 0;
15366 u16 rccal_tx20_11n_scap = 0;
15367 u16 rccal_tx40_11n_bcap = 0;
15368 u16 rccal_tx40_11n_scap = 0;
15369 u16 rx2tx_lpf_rc_lut_tx20_11b = 0;
15370 u16 rx2tx_lpf_rc_lut_tx20_11n = 0;
15371 u16 rx2tx_lpf_rc_lut_tx40_11n = 0;
15372 u16 tx_lpf_bw_ofdm_20mhz = 0;
15373 u16 tx_lpf_bw_ofdm_40mhz = 0;
15374 u16 tx_lpf_bw_11b = 0;
15375 u16 ipa2g_mainbias, ipa2g_casconv, ipa2g_biasfilt;
15376 u16 txgm_idac_bleed = 0;
15377 bool rccal_ovrd = false;
15381 if (CHSPEC_IS5G(pi->radio_chanspec)) {
15382 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_cck_en, 0);
15384 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_cck_en, 1);
15387 if (pi->phyhang_avoid)
15388 wlc_phy_stay_in_carriersearch_nphy(pi, true);
15390 if (!ISSIM_ENAB(pi->sh->sih)) {
15391 or_phy_reg(pi, 0xb1, NPHY_IQFlip_ADC1 | NPHY_IQFlip_ADC2);
15394 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
15396 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
15397 mod_phy_reg(pi, 0x221, (0x1 << 4), (1 << 4));
15399 mod_phy_reg(pi, 0x160, (0x7f << 0), (32 << 0));
15400 mod_phy_reg(pi, 0x160, (0x7f << 8), (39 << 8));
15401 mod_phy_reg(pi, 0x161, (0x7f << 0), (46 << 0));
15402 mod_phy_reg(pi, 0x161, (0x7f << 8), (51 << 8));
15403 mod_phy_reg(pi, 0x162, (0x7f << 0), (55 << 0));
15404 mod_phy_reg(pi, 0x162, (0x7f << 8), (58 << 8));
15405 mod_phy_reg(pi, 0x163, (0x7f << 0), (60 << 0));
15406 mod_phy_reg(pi, 0x163, (0x7f << 8), (62 << 8));
15407 mod_phy_reg(pi, 0x164, (0x7f << 0), (62 << 0));
15408 mod_phy_reg(pi, 0x164, (0x7f << 8), (63 << 8));
15409 mod_phy_reg(pi, 0x165, (0x7f << 0), (63 << 0));
15410 mod_phy_reg(pi, 0x165, (0x7f << 8), (64 << 8));
15411 mod_phy_reg(pi, 0x166, (0x7f << 0), (64 << 0));
15412 mod_phy_reg(pi, 0x166, (0x7f << 8), (64 << 8));
15413 mod_phy_reg(pi, 0x167, (0x7f << 0), (64 << 0));
15414 mod_phy_reg(pi, 0x167, (0x7f << 8), (64 << 8));
15417 if (NREV_LE(pi->pubpi.phy_rev, 8)) {
15418 write_phy_reg(pi, 0x23f, 0x1b0);
15419 write_phy_reg(pi, 0x240, 0x1b0);
15422 if (NREV_GE(pi->pubpi.phy_rev, 8)) {
15423 mod_phy_reg(pi, 0xbd, (0xff << 0), (114 << 0));
15426 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x00, 16,
15428 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x10, 16,
15431 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
15432 1, 0, 32, &leg_data_weights);
15433 leg_data_weights = leg_data_weights & 0xffffff;
15434 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
15435 1, 0, 32, &leg_data_weights);
15437 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15439 rfseq_rx2tx_dacbufpu_rev7);
15440 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x16e, 16,
15441 rfseq_rx2tx_dacbufpu_rev7);
15444 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX,
15445 rfseq_rx2tx_events_rev3_ipa,
15446 rfseq_rx2tx_dlys_rev3_ipa,
15448 (rfseq_rx2tx_events_rev3_ipa) /
15450 (rfseq_rx2tx_events_rev3_ipa
15454 mod_phy_reg(pi, 0x299, (0x3 << 14), (0x1 << 14));
15455 mod_phy_reg(pi, 0x29d, (0x3 << 14), (0x1 << 14));
15457 tx_lpf_bw_ofdm_20mhz = wlc_phy_read_lpf_bw_ctl_nphy(pi, 0x154);
15458 tx_lpf_bw_ofdm_40mhz = wlc_phy_read_lpf_bw_ctl_nphy(pi, 0x159);
15459 tx_lpf_bw_11b = wlc_phy_read_lpf_bw_ctl_nphy(pi, 0x152);
15463 if (((pi->pubpi.radiorev == 5)
15464 && (CHSPEC_IS40(pi->radio_chanspec) == 1))
15465 || (pi->pubpi.radiorev == 7)
15466 || (pi->pubpi.radiorev == 8)) {
15470 RADIO_2057_RCCAL_BCAP_VAL);
15473 RADIO_2057_RCCAL_SCAP_VAL);
15475 rccal_tx20_11b_bcap = rccal_bcap_val;
15476 rccal_tx20_11b_scap = rccal_scap_val;
15478 if ((pi->pubpi.radiorev == 5) &&
15479 (CHSPEC_IS40(pi->radio_chanspec) == 1)) {
15481 rccal_tx20_11n_bcap = rccal_bcap_val;
15482 rccal_tx20_11n_scap = rccal_scap_val;
15483 rccal_tx40_11n_bcap = 0xc;
15484 rccal_tx40_11n_scap = 0xc;
15488 } else if ((pi->pubpi.radiorev == 7)
15489 || (pi->pubpi.radiorev == 8)) {
15491 tx_lpf_bw_ofdm_20mhz = 4;
15494 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15495 rccal_tx20_11n_bcap = 0xc;
15496 rccal_tx20_11n_scap = 0xc;
15497 rccal_tx40_11n_bcap = 0xa;
15498 rccal_tx40_11n_scap = 0xa;
15500 rccal_tx20_11n_bcap = 0x14;
15501 rccal_tx20_11n_scap = 0x14;
15502 rccal_tx40_11n_bcap = 0xf;
15503 rccal_tx40_11n_scap = 0xf;
15512 if (pi->pubpi.radiorev == 5) {
15514 tx_lpf_bw_ofdm_20mhz = 1;
15515 tx_lpf_bw_ofdm_40mhz = 3;
15519 RADIO_2057_RCCAL_BCAP_VAL);
15522 RADIO_2057_RCCAL_SCAP_VAL);
15524 rccal_tx20_11b_bcap = rccal_bcap_val;
15525 rccal_tx20_11b_scap = rccal_scap_val;
15527 rccal_tx20_11n_bcap = 0x13;
15528 rccal_tx20_11n_scap = 0x11;
15529 rccal_tx40_11n_bcap = 0x13;
15530 rccal_tx40_11n_scap = 0x11;
15538 rx2tx_lpf_rc_lut_tx20_11b = (rccal_tx20_11b_bcap << 8) |
15539 (rccal_tx20_11b_scap << 3) | tx_lpf_bw_11b;
15540 rx2tx_lpf_rc_lut_tx20_11n = (rccal_tx20_11n_bcap << 8) |
15541 (rccal_tx20_11n_scap << 3) | tx_lpf_bw_ofdm_20mhz;
15542 rx2tx_lpf_rc_lut_tx40_11n = (rccal_tx40_11n_bcap << 8) |
15543 (rccal_tx40_11n_scap << 3) | tx_lpf_bw_ofdm_40mhz;
15545 for (coreNum = 0; coreNum <= 1; coreNum++) {
15546 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15548 0x152 + coreNum * 0x10,
15550 &rx2tx_lpf_rc_lut_tx20_11b);
15551 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15553 0x153 + coreNum * 0x10,
15555 &rx2tx_lpf_rc_lut_tx20_11n);
15556 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15558 0x154 + coreNum * 0x10,
15560 &rx2tx_lpf_rc_lut_tx20_11n);
15561 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15563 0x155 + coreNum * 0x10,
15565 &rx2tx_lpf_rc_lut_tx40_11n);
15566 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15568 0x156 + coreNum * 0x10,
15570 &rx2tx_lpf_rc_lut_tx40_11n);
15571 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15573 0x157 + coreNum * 0x10,
15575 &rx2tx_lpf_rc_lut_tx40_11n);
15576 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15578 0x158 + coreNum * 0x10,
15580 &rx2tx_lpf_rc_lut_tx40_11n);
15581 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15583 0x159 + coreNum * 0x10,
15585 &rx2tx_lpf_rc_lut_tx40_11n);
15588 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4),
15590 NPHY_REV7_RFCTRLOVERRIDE_ID2);
15593 if (!NORADIO_ENAB(pi->pubpi)) {
15594 write_phy_reg(pi, 0x32f, 0x3);
15597 if ((pi->pubpi.radiorev == 4) || (pi->pubpi.radiorev == 6)) {
15598 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
15600 NPHY_REV7_RFCTRLOVERRIDE_ID0);
15603 if ((pi->pubpi.radiorev == 3) || (pi->pubpi.radiorev == 4) ||
15604 (pi->pubpi.radiorev == 6)) {
15605 if ((pi->sh->sromrev >= 8)
15606 && (pi->sh->boardflags2 & BFL2_IPALVLSHIFT_3P3))
15607 ipalvlshift_3p3_war_en = 1;
15609 if (ipalvlshift_3p3_war_en) {
15610 write_radio_reg(pi, RADIO_2057_GPAIO_CONFIG,
15612 write_radio_reg(pi, RADIO_2057_GPAIO_SEL1,
15614 write_radio_reg(pi, RADIO_2057_GPAIO_SEL0, 0x0);
15616 RADIO_2057_RXTXBIAS_CONFIG_CORE0,
15619 RADIO_2057_RXTXBIAS_CONFIG_CORE1,
15622 ipa2g_mainbias = 0x1f;
15624 ipa2g_casconv = 0x6f;
15626 ipa2g_biasfilt = 0xaa;
15629 ipa2g_mainbias = 0x2b;
15631 ipa2g_casconv = 0x7f;
15633 ipa2g_biasfilt = 0xee;
15636 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15637 for (coreNum = 0; coreNum <= 1; coreNum++) {
15638 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15639 coreNum, IPA2G_IMAIN,
15641 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15642 coreNum, IPA2G_CASCONV,
15644 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15653 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15654 if ((pi->pubpi.radiorev == 3)
15655 || (pi->pubpi.radiorev == 4)
15656 || (pi->pubpi.radiorev == 6)) {
15658 txgm_idac_bleed = 0x7f;
15661 for (coreNum = 0; coreNum <= 1; coreNum++) {
15662 if (txgm_idac_bleed != 0)
15663 WRITE_RADIO_REG4(pi, RADIO_2057,
15669 if (pi->pubpi.radiorev == 5) {
15671 for (coreNum = 0; coreNum <= 1;
15673 WRITE_RADIO_REG4(pi, RADIO_2057,
15677 WRITE_RADIO_REG4(pi, RADIO_2057,
15681 WRITE_RADIO_REG4(pi, RADIO_2057,
15685 WRITE_RADIO_REG4(pi, RADIO_2057,
15689 WRITE_RADIO_REG4(pi, RADIO_2057,
15691 PAD_BIAS_FILTER_BWS,
15695 } else if ((pi->pubpi.radiorev == 7)
15696 || (pi->pubpi.radiorev == 8)) {
15698 if (CHSPEC_IS40(pi->radio_chanspec) ==
15700 WRITE_RADIO_REG4(pi, RADIO_2057,
15704 WRITE_RADIO_REG4(pi, RADIO_2057,
15709 WRITE_RADIO_REG4(pi, RADIO_2057,
15713 WRITE_RADIO_REG4(pi, RADIO_2057,
15722 CHAN5G_FREQ(CHSPEC_CHANNEL
15723 (pi->radio_chanspec));
15724 if (((freq >= 5180) && (freq <= 5230))
15725 || ((freq >= 5745) && (freq <= 5805))) {
15726 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15727 0, IPA5G_BIAS_FILTER,
15729 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15730 1, IPA5G_BIAS_FILTER,
15736 if (pi->pubpi.radiorev != 5) {
15737 for (coreNum = 0; coreNum <= 1; coreNum++) {
15738 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15740 TXMIX2G_TUNE_BOOST_PU,
15742 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15744 TXGM_IDAC_BLEED, 0x70);
15749 if (pi->pubpi.radiorev == 4) {
15750 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15752 &afectrl_adc_ctrl1_rev7);
15753 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15755 &afectrl_adc_ctrl1_rev7);
15757 for (coreNum = 0; coreNum <= 1; coreNum++) {
15758 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
15759 AFE_VCM_CAL_MASTER, 0x0);
15760 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
15761 AFE_SET_VCM_I, 0x3f);
15762 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
15763 AFE_SET_VCM_Q, 0x3f);
15766 mod_phy_reg(pi, 0xa6, (0x1 << 2), (0x1 << 2));
15767 mod_phy_reg(pi, 0x8f, (0x1 << 2), (0x1 << 2));
15768 mod_phy_reg(pi, 0xa7, (0x1 << 2), (0x1 << 2));
15769 mod_phy_reg(pi, 0xa5, (0x1 << 2), (0x1 << 2));
15771 mod_phy_reg(pi, 0xa6, (0x1 << 0), 0);
15772 mod_phy_reg(pi, 0x8f, (0x1 << 0), (0x1 << 0));
15773 mod_phy_reg(pi, 0xa7, (0x1 << 0), 0);
15774 mod_phy_reg(pi, 0xa5, (0x1 << 0), (0x1 << 0));
15776 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15778 &afectrl_adc_ctrl2_rev7);
15779 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15781 &afectrl_adc_ctrl2_rev7);
15783 mod_phy_reg(pi, 0xa6, (0x1 << 2), 0);
15784 mod_phy_reg(pi, 0x8f, (0x1 << 2), 0);
15785 mod_phy_reg(pi, 0xa7, (0x1 << 2), 0);
15786 mod_phy_reg(pi, 0xa5, (0x1 << 2), 0);
15789 write_phy_reg(pi, 0x6a, 0x2);
15791 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 256, 32,
15792 &min_nvar_offset_6mbps);
15794 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x138, 16,
15795 &rfseq_pktgn_lpf_hpc_rev7);
15797 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1, 0x141, 16,
15798 &rfseq_pktgn_lpf_h_hpc_rev7);
15800 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 3, 0x133, 16,
15801 &rfseq_htpktgn_lpf_hpc_rev7);
15803 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x146, 16,
15804 &rfseq_cckpktgn_lpf_hpc_rev7);
15806 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1, 0x123, 16,
15807 &rfseq_tx2rx_lpf_h_hpc_rev7);
15809 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1, 0x12A, 16,
15810 &rfseq_rx2tx_lpf_h_hpc_rev7);
15812 if (CHSPEC_IS40(pi->radio_chanspec) == 0) {
15813 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
15814 32, &min_nvar_val);
15815 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
15816 127, 32, &min_nvar_val);
15818 min_nvar_val = noise_var_tbl_rev7[3];
15819 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
15820 32, &min_nvar_val);
15822 min_nvar_val = noise_var_tbl_rev7[127];
15823 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
15824 127, 32, &min_nvar_val);
15827 wlc_phy_workarounds_nphy_gainctrl(pi);
15830 (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.
15831 pdetrange : pi->srom_fem2g.pdetrange;
15833 if (pdetrange == 0) {
15835 wlc_phy_get_chan_freq_range_nphy(pi, 0);
15836 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
15837 aux_adc_vmid_rev7_core0[3] = 0x70;
15838 aux_adc_vmid_rev7_core1[3] = 0x70;
15839 aux_adc_gain_rev7[3] = 2;
15841 aux_adc_vmid_rev7_core0[3] = 0x80;
15842 aux_adc_vmid_rev7_core1[3] = 0x80;
15843 aux_adc_gain_rev7[3] = 3;
15845 } else if (pdetrange == 1) {
15846 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
15847 aux_adc_vmid_rev7_core0[3] = 0x7c;
15848 aux_adc_vmid_rev7_core1[3] = 0x7c;
15849 aux_adc_gain_rev7[3] = 2;
15851 aux_adc_vmid_rev7_core0[3] = 0x8c;
15852 aux_adc_vmid_rev7_core1[3] = 0x8c;
15853 aux_adc_gain_rev7[3] = 1;
15855 } else if (pdetrange == 2) {
15856 if (pi->pubpi.radioid == BCM2057_ID) {
15857 if ((pi->pubpi.radiorev == 5)
15858 || (pi->pubpi.radiorev == 7)
15859 || (pi->pubpi.radiorev == 8)) {
15860 if (chan_freq_range ==
15861 WL_CHAN_FREQ_RANGE_2G) {
15862 aux_adc_vmid_rev7_core0[3] =
15864 aux_adc_vmid_rev7_core1[3] =
15866 aux_adc_gain_rev7[3] = 0;
15868 aux_adc_vmid_rev7_core0[3] =
15870 aux_adc_vmid_rev7_core1[3] =
15872 aux_adc_gain_rev7[3] = 0;
15877 } else if (pdetrange == 3) {
15878 if (chan_freq_range == WL_CHAN_FREQ_RANGE_2G) {
15879 aux_adc_vmid_rev7_core0[3] = 0x89;
15880 aux_adc_vmid_rev7_core1[3] = 0x89;
15881 aux_adc_gain_rev7[3] = 0;
15884 } else if (pdetrange == 5) {
15886 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
15887 aux_adc_vmid_rev7_core0[3] = 0x80;
15888 aux_adc_vmid_rev7_core1[3] = 0x80;
15889 aux_adc_gain_rev7[3] = 3;
15891 aux_adc_vmid_rev7_core0[3] = 0x70;
15892 aux_adc_vmid_rev7_core1[3] = 0x70;
15893 aux_adc_gain_rev7[3] = 2;
15897 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x08, 16,
15898 &aux_adc_vmid_rev7_core0);
15899 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x18, 16,
15900 &aux_adc_vmid_rev7_core1);
15901 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x0c, 16,
15902 &aux_adc_gain_rev7);
15903 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x1c, 16,
15904 &aux_adc_gain_rev7);
15906 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
15908 write_phy_reg(pi, 0x23f, 0x1f8);
15909 write_phy_reg(pi, 0x240, 0x1f8);
15911 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
15912 1, 0, 32, &leg_data_weights);
15913 leg_data_weights = leg_data_weights & 0xffffff;
15914 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
15915 1, 0, 32, &leg_data_weights);
15923 write_phy_reg(pi, 0x145, alpha0);
15924 write_phy_reg(pi, 0x146, alpha1);
15925 write_phy_reg(pi, 0x147, alpha2);
15926 write_phy_reg(pi, 0x148, beta0);
15927 write_phy_reg(pi, 0x149, beta1);
15928 write_phy_reg(pi, 0x14a, beta2);
15930 write_phy_reg(pi, 0x38, 0xC);
15931 write_phy_reg(pi, 0x2ae, 0xC);
15933 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_TX2RX,
15934 rfseq_tx2rx_events_rev3,
15935 rfseq_tx2rx_dlys_rev3,
15936 sizeof(rfseq_tx2rx_events_rev3) /
15937 sizeof(rfseq_tx2rx_events_rev3[0]));
15940 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX,
15941 rfseq_rx2tx_events_rev3_ipa,
15942 rfseq_rx2tx_dlys_rev3_ipa,
15944 (rfseq_rx2tx_events_rev3_ipa) /
15946 (rfseq_rx2tx_events_rev3_ipa
15950 if ((pi->sh->hw_phyrxchain != 0x3) &&
15951 (pi->sh->hw_phyrxchain != pi->sh->hw_phytxchain)) {
15954 rfseq_rx2tx_dlys_rev3[5] = 59;
15955 rfseq_rx2tx_dlys_rev3[6] = 1;
15956 rfseq_rx2tx_events_rev3[7] =
15957 NPHY_REV3_RFSEQ_CMD_END;
15960 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX,
15961 rfseq_rx2tx_events_rev3,
15962 rfseq_rx2tx_dlys_rev3,
15963 sizeof(rfseq_rx2tx_events_rev3) /
15964 sizeof(rfseq_rx2tx_events_rev3
15968 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15969 write_phy_reg(pi, 0x6a, 0x2);
15971 write_phy_reg(pi, 0x6a, 0x9c40);
15974 mod_phy_reg(pi, 0x294, (0xf << 8), (7 << 8));
15976 if (CHSPEC_IS40(pi->radio_chanspec) == 0) {
15977 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
15978 32, &min_nvar_val);
15979 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
15980 127, 32, &min_nvar_val);
15982 min_nvar_val = noise_var_tbl_rev3[3];
15983 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
15984 32, &min_nvar_val);
15986 min_nvar_val = noise_var_tbl_rev3[127];
15987 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
15988 127, 32, &min_nvar_val);
15991 wlc_phy_workarounds_nphy_gainctrl(pi);
15993 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x00, 16,
15995 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x10, 16,
15999 (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.
16000 pdetrange : pi->srom_fem2g.pdetrange;
16002 if (pdetrange == 0) {
16003 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
16004 aux_adc_vmid = aux_adc_vmid_rev4;
16005 aux_adc_gain = aux_adc_gain_rev4;
16007 aux_adc_vmid = aux_adc_vmid_rev3;
16008 aux_adc_gain = aux_adc_gain_rev3;
16011 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16012 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
16013 switch (chan_freq_range) {
16014 case WL_CHAN_FREQ_RANGE_5GL:
16015 aux_adc_vmid[3] = 0x89;
16016 aux_adc_gain[3] = 0;
16018 case WL_CHAN_FREQ_RANGE_5GM:
16019 aux_adc_vmid[3] = 0x89;
16020 aux_adc_gain[3] = 0;
16022 case WL_CHAN_FREQ_RANGE_5GH:
16023 aux_adc_vmid[3] = 0x89;
16024 aux_adc_gain[3] = 0;
16030 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16031 0x08, 16, aux_adc_vmid);
16032 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16033 0x18, 16, aux_adc_vmid);
16034 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16035 0x0c, 16, aux_adc_gain);
16036 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16037 0x1c, 16, aux_adc_gain);
16038 } else if (pdetrange == 1) {
16039 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16040 0x08, 16, sk_adc_vmid);
16041 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16042 0x18, 16, sk_adc_vmid);
16043 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16044 0x0c, 16, sk_adc_gain);
16045 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16046 0x1c, 16, sk_adc_gain);
16047 } else if (pdetrange == 2) {
16049 u16 bcm_adc_vmid[] = { 0xa2, 0xb4, 0xb4, 0x74 };
16050 u16 bcm_adc_gain[] = { 0x02, 0x02, 0x02, 0x04 };
16052 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16054 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16055 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
16056 bcm_adc_vmid[3] = 0x8e;
16057 bcm_adc_gain[3] = 0x03;
16059 bcm_adc_vmid[3] = 0x94;
16060 bcm_adc_gain[3] = 0x03;
16062 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
16063 bcm_adc_vmid[3] = 0x84;
16064 bcm_adc_gain[3] = 0x02;
16067 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16068 0x08, 16, bcm_adc_vmid);
16069 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16070 0x18, 16, bcm_adc_vmid);
16071 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16072 0x0c, 16, bcm_adc_gain);
16073 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16074 0x1c, 16, bcm_adc_gain);
16075 } else if (pdetrange == 3) {
16077 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16078 if ((NREV_GE(pi->pubpi.phy_rev, 4))
16079 && (chan_freq_range == WL_CHAN_FREQ_RANGE_2G)) {
16081 u16 auxadc_vmid[] = {
16082 0xa2, 0xb4, 0xb4, 0x270 };
16083 u16 auxadc_gain[] = {
16084 0x02, 0x02, 0x02, 0x00 };
16086 wlc_phy_table_write_nphy(pi,
16087 NPHY_TBL_ID_AFECTRL, 4,
16088 0x08, 16, auxadc_vmid);
16089 wlc_phy_table_write_nphy(pi,
16090 NPHY_TBL_ID_AFECTRL, 4,
16091 0x18, 16, auxadc_vmid);
16092 wlc_phy_table_write_nphy(pi,
16093 NPHY_TBL_ID_AFECTRL, 4,
16094 0x0c, 16, auxadc_gain);
16095 wlc_phy_table_write_nphy(pi,
16096 NPHY_TBL_ID_AFECTRL, 4,
16097 0x1c, 16, auxadc_gain);
16099 } else if ((pdetrange == 4) || (pdetrange == 5)) {
16100 u16 bcm_adc_vmid[] = { 0xa2, 0xb4, 0xb4, 0x0 };
16101 u16 bcm_adc_gain[] = { 0x02, 0x02, 0x02, 0x0 };
16102 u16 Vmid[2], Av[2];
16105 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16106 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
16107 Vmid[0] = (pdetrange == 4) ? 0x8e : 0x89;
16108 Vmid[1] = (pdetrange == 4) ? 0x96 : 0x89;
16109 Av[0] = (pdetrange == 4) ? 2 : 0;
16110 Av[1] = (pdetrange == 4) ? 2 : 0;
16112 Vmid[0] = (pdetrange == 4) ? 0x89 : 0x74;
16113 Vmid[1] = (pdetrange == 4) ? 0x8b : 0x70;
16114 Av[0] = (pdetrange == 4) ? 2 : 0;
16115 Av[1] = (pdetrange == 4) ? 2 : 0;
16118 bcm_adc_vmid[3] = Vmid[0];
16119 bcm_adc_gain[3] = Av[0];
16120 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16121 0x08, 16, bcm_adc_vmid);
16122 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16123 0x0c, 16, bcm_adc_gain);
16125 bcm_adc_vmid[3] = Vmid[1];
16126 bcm_adc_gain[3] = Av[1];
16127 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16128 0x18, 16, bcm_adc_vmid);
16129 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16130 0x1c, 16, bcm_adc_gain);
16135 write_radio_reg(pi,
16136 (RADIO_2056_RX_MIXA_MAST_BIAS | RADIO_2056_RX0),
16138 write_radio_reg(pi,
16139 (RADIO_2056_RX_MIXA_MAST_BIAS | RADIO_2056_RX1),
16142 write_radio_reg(pi,
16143 (RADIO_2056_RX_MIXA_BIAS_MAIN | RADIO_2056_RX0),
16145 write_radio_reg(pi,
16146 (RADIO_2056_RX_MIXA_BIAS_MAIN | RADIO_2056_RX1),
16149 write_radio_reg(pi,
16150 (RADIO_2056_RX_MIXA_BIAS_AUX | RADIO_2056_RX0),
16152 write_radio_reg(pi,
16153 (RADIO_2056_RX_MIXA_BIAS_AUX | RADIO_2056_RX1),
16156 write_radio_reg(pi,
16157 (RADIO_2056_RX_MIXA_LOB_BIAS | RADIO_2056_RX0),
16159 write_radio_reg(pi,
16160 (RADIO_2056_RX_MIXA_LOB_BIAS | RADIO_2056_RX1),
16163 write_radio_reg(pi,
16164 (RADIO_2056_RX_MIXA_CMFB_IDAC | RADIO_2056_RX0),
16166 write_radio_reg(pi,
16167 (RADIO_2056_RX_MIXA_CMFB_IDAC | RADIO_2056_RX1),
16170 write_radio_reg(pi,
16171 (RADIO_2056_RX_MIXG_CMFB_IDAC | RADIO_2056_RX0),
16173 write_radio_reg(pi,
16174 (RADIO_2056_RX_MIXG_CMFB_IDAC | RADIO_2056_RX1),
16178 (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.
16179 triso : pi->srom_fem2g.triso;
16181 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_0);
16182 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_1);
16185 wlc_phy_war_txchain_upd_nphy(pi, pi->sh->hw_phytxchain);
16187 if (((pi->sh->boardflags2 & BFL2_APLL_WAR) &&
16188 (CHSPEC_IS5G(pi->radio_chanspec))) ||
16189 (((pi->sh->boardflags2 & BFL2_GPLL_WAR) ||
16190 (pi->sh->boardflags2 & BFL2_GPLL_WAR2)) &&
16191 (CHSPEC_IS2G(pi->radio_chanspec)))) {
16192 nss1_data_weights = 0x00088888;
16193 ht_data_weights = 0x00088888;
16194 stbc_data_weights = 0x00088888;
16196 nss1_data_weights = 0x88888888;
16197 ht_data_weights = 0x88888888;
16198 stbc_data_weights = 0x88888888;
16200 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
16201 1, 1, 32, &nss1_data_weights);
16202 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
16203 1, 2, 32, &ht_data_weights);
16204 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
16205 1, 3, 32, &stbc_data_weights);
16207 if (NREV_IS(pi->pubpi.phy_rev, 4)) {
16208 if (CHSPEC_IS5G(pi->radio_chanspec)) {
16209 write_radio_reg(pi,
16210 RADIO_2056_TX_GMBB_IDAC |
16211 RADIO_2056_TX0, 0x70);
16212 write_radio_reg(pi,
16213 RADIO_2056_TX_GMBB_IDAC |
16214 RADIO_2056_TX1, 0x70);
16218 if (!pi->edcrs_threshold_lock) {
16219 write_phy_reg(pi, 0x224, 0x3eb);
16220 write_phy_reg(pi, 0x225, 0x3eb);
16221 write_phy_reg(pi, 0x226, 0x341);
16222 write_phy_reg(pi, 0x227, 0x341);
16223 write_phy_reg(pi, 0x228, 0x42b);
16224 write_phy_reg(pi, 0x229, 0x42b);
16225 write_phy_reg(pi, 0x22a, 0x381);
16226 write_phy_reg(pi, 0x22b, 0x381);
16227 write_phy_reg(pi, 0x22c, 0x42b);
16228 write_phy_reg(pi, 0x22d, 0x42b);
16229 write_phy_reg(pi, 0x22e, 0x381);
16230 write_phy_reg(pi, 0x22f, 0x381);
16233 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16235 if (pi->sh->boardflags2 & BFL2_SINGLEANT_CCK) {
16236 wlapi_bmac_mhf(pi->sh->physhim, MHF4,
16238 MHF4_BPHY_TXCORE0, WLC_BAND_ALL);
16243 if (pi->sh->boardflags2 & BFL2_SKWRKFEM_BRD ||
16244 (pi->sh->boardtype == 0x8b)) {
16246 u8 war_dlys[] = { 1, 6, 6, 2, 4, 20, 1 };
16247 for (i = 0; i < ARRAY_SIZE(rfseq_rx2tx_dlys); i++)
16248 rfseq_rx2tx_dlys[i] = war_dlys[i];
16251 if (CHSPEC_IS5G(pi->radio_chanspec) && pi->phy_5g_pwrgain) {
16252 and_radio_reg(pi, RADIO_2055_CORE1_TX_RF_SPARE, 0xf7);
16253 and_radio_reg(pi, RADIO_2055_CORE2_TX_RF_SPARE, 0xf7);
16255 or_radio_reg(pi, RADIO_2055_CORE1_TX_RF_SPARE, 0x8);
16256 or_radio_reg(pi, RADIO_2055_CORE2_TX_RF_SPARE, 0x8);
16260 wlc_phy_table_write_nphy(pi, 8, 1, 0, 16, ®val);
16261 wlc_phy_table_write_nphy(pi, 8, 1, 0x10, 16, ®val);
16263 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
16265 wlc_phy_table_write_nphy(pi, 8, 1, 0x02, 16, ®val);
16266 wlc_phy_table_write_nphy(pi, 8, 1, 0x12, 16, ®val);
16269 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
16271 wlc_phy_table_write_nphy(pi, 8, 1, 0x08, 16, ®val);
16272 wlc_phy_table_write_nphy(pi, 8, 1, 0x18, 16, ®val);
16275 wlc_phy_table_write_nphy(pi, 8, 1, 0x07, 16, ®val);
16276 wlc_phy_table_write_nphy(pi, 8, 1, 0x17, 16, ®val);
16279 wlc_phy_table_write_nphy(pi, 8, 1, 0x06, 16, ®val);
16280 wlc_phy_table_write_nphy(pi, 8, 1, 0x16, 16, ®val);
16283 write_phy_reg(pi, 0xf8, 0x02d8);
16284 write_phy_reg(pi, 0xf9, 0x0301);
16285 write_phy_reg(pi, 0xfa, 0x02d8);
16286 write_phy_reg(pi, 0xfb, 0x0301);
16288 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX, rfseq_rx2tx_events,
16290 sizeof(rfseq_rx2tx_events) /
16291 sizeof(rfseq_rx2tx_events[0]));
16293 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_TX2RX, rfseq_tx2rx_events,
16295 sizeof(rfseq_tx2rx_events) /
16296 sizeof(rfseq_tx2rx_events[0]));
16298 wlc_phy_workarounds_nphy_gainctrl(pi);
16300 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
16302 if (read_phy_reg(pi, 0xa0) & NPHY_MLenable)
16303 wlapi_bmac_mhf(pi->sh->physhim, MHF3,
16304 MHF3_NPHY_MLADV_WAR,
16305 MHF3_NPHY_MLADV_WAR,
16308 } else if (NREV_IS(pi->pubpi.phy_rev, 2)) {
16309 write_phy_reg(pi, 0x1e3, 0x0);
16310 write_phy_reg(pi, 0x1e4, 0x0);
16313 if (NREV_LT(pi->pubpi.phy_rev, 2))
16314 mod_phy_reg(pi, 0x90, (0x1 << 7), 0);
16322 write_phy_reg(pi, 0x145, alpha0);
16323 write_phy_reg(pi, 0x146, alpha1);
16324 write_phy_reg(pi, 0x147, alpha2);
16325 write_phy_reg(pi, 0x148, beta0);
16326 write_phy_reg(pi, 0x149, beta1);
16327 write_phy_reg(pi, 0x14a, beta2);
16329 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
16330 mod_phy_reg(pi, 0x142, (0xf << 12), 0);
16332 write_phy_reg(pi, 0x192, 0xb5);
16333 write_phy_reg(pi, 0x193, 0xa4);
16334 write_phy_reg(pi, 0x194, 0x0);
16337 if (NREV_IS(pi->pubpi.phy_rev, 2)) {
16338 mod_phy_reg(pi, 0x221,
16339 NPHY_FORCESIG_DECODEGATEDCLKS,
16340 NPHY_FORCESIG_DECODEGATEDCLKS);
16344 if (pi->phyhang_avoid)
16345 wlc_phy_stay_in_carriersearch_nphy(pi, false);
16348 static void wlc_phy_workarounds_nphy_gainctrl(phy_info_t *pi)
16350 u16 w1th, hpf_code, currband;
16352 u8 rfseq_updategainu_events[] = {
16353 NPHY_RFSEQ_CMD_RX_GAIN,
16354 NPHY_RFSEQ_CMD_CLR_HIQ_DIS,
16355 NPHY_RFSEQ_CMD_SET_HPF_BW
16357 u8 rfseq_updategainu_dlys[] = { 10, 30, 1 };
16358 s8 lna1G_gain_db[] = { 7, 11, 16, 23 };
16359 s8 lna1G_gain_db_rev4[] = { 8, 12, 17, 25 };
16360 s8 lna1G_gain_db_rev5[] = { 9, 13, 18, 26 };
16361 s8 lna1G_gain_db_rev6[] = { 8, 13, 18, 25 };
16362 s8 lna1G_gain_db_rev6_224B0[] = { 10, 14, 19, 27 };
16363 s8 lna1A_gain_db[] = { 7, 11, 17, 23 };
16364 s8 lna1A_gain_db_rev4[] = { 8, 12, 18, 23 };
16365 s8 lna1A_gain_db_rev5[] = { 6, 10, 16, 21 };
16366 s8 lna1A_gain_db_rev6[] = { 6, 10, 16, 21 };
16367 s8 *lna1_gain_db = NULL;
16368 s8 lna2G_gain_db[] = { -5, 6, 10, 14 };
16369 s8 lna2G_gain_db_rev5[] = { -3, 7, 11, 16 };
16370 s8 lna2G_gain_db_rev6[] = { -5, 6, 10, 14 };
16371 s8 lna2G_gain_db_rev6_224B0[] = { -5, 6, 10, 15 };
16372 s8 lna2A_gain_db[] = { -6, 2, 6, 10 };
16373 s8 lna2A_gain_db_rev4[] = { -5, 2, 6, 10 };
16374 s8 lna2A_gain_db_rev5[] = { -7, 0, 4, 8 };
16375 s8 lna2A_gain_db_rev6[] = { -7, 0, 4, 8 };
16376 s8 *lna2_gain_db = NULL;
16377 s8 tiaG_gain_db[] = {
16378 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A };
16379 s8 tiaA_gain_db[] = {
16380 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13 };
16381 s8 tiaA_gain_db_rev4[] = {
16382 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16383 s8 tiaA_gain_db_rev5[] = {
16384 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16385 s8 tiaA_gain_db_rev6[] = {
16386 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16388 s8 tiaG_gainbits[] = {
16389 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 };
16390 s8 tiaA_gainbits[] = {
16391 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 };
16392 s8 tiaA_gainbits_rev4[] = {
16393 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16394 s8 tiaA_gainbits_rev5[] = {
16395 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16396 s8 tiaA_gainbits_rev6[] = {
16397 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16399 s8 lpf_gain_db[] = { 0x00, 0x06, 0x0c, 0x12, 0x12, 0x12 };
16400 s8 lpf_gainbits[] = { 0x00, 0x01, 0x02, 0x03, 0x03, 0x03 };
16401 u16 rfseqG_init_gain[] = { 0x613f, 0x613f, 0x613f, 0x613f };
16402 u16 rfseqG_init_gain_rev4[] = { 0x513f, 0x513f, 0x513f, 0x513f };
16403 u16 rfseqG_init_gain_rev5[] = { 0x413f, 0x413f, 0x413f, 0x413f };
16404 u16 rfseqG_init_gain_rev5_elna[] = {
16405 0x013f, 0x013f, 0x013f, 0x013f };
16406 u16 rfseqG_init_gain_rev6[] = { 0x513f, 0x513f };
16407 u16 rfseqG_init_gain_rev6_224B0[] = { 0x413f, 0x413f };
16408 u16 rfseqG_init_gain_rev6_elna[] = { 0x113f, 0x113f };
16409 u16 rfseqA_init_gain[] = { 0x516f, 0x516f, 0x516f, 0x516f };
16410 u16 rfseqA_init_gain_rev4[] = { 0x614f, 0x614f, 0x614f, 0x614f };
16411 u16 rfseqA_init_gain_rev4_elna[] = {
16412 0x314f, 0x314f, 0x314f, 0x314f };
16413 u16 rfseqA_init_gain_rev5[] = { 0x714f, 0x714f, 0x714f, 0x714f };
16414 u16 rfseqA_init_gain_rev6[] = { 0x714f, 0x714f };
16415 u16 *rfseq_init_gain;
16416 u16 initG_gaincode = 0x627e;
16417 u16 initG_gaincode_rev4 = 0x527e;
16418 u16 initG_gaincode_rev5 = 0x427e;
16419 u16 initG_gaincode_rev5_elna = 0x027e;
16420 u16 initG_gaincode_rev6 = 0x527e;
16421 u16 initG_gaincode_rev6_224B0 = 0x427e;
16422 u16 initG_gaincode_rev6_elna = 0x127e;
16423 u16 initA_gaincode = 0x52de;
16424 u16 initA_gaincode_rev4 = 0x629e;
16425 u16 initA_gaincode_rev4_elna = 0x329e;
16426 u16 initA_gaincode_rev5 = 0x729e;
16427 u16 initA_gaincode_rev6 = 0x729e;
16429 u16 clip1hiG_gaincode = 0x107e;
16430 u16 clip1hiG_gaincode_rev4 = 0x007e;
16431 u16 clip1hiG_gaincode_rev5 = 0x1076;
16432 u16 clip1hiG_gaincode_rev6 = 0x007e;
16433 u16 clip1hiA_gaincode = 0x00de;
16434 u16 clip1hiA_gaincode_rev4 = 0x029e;
16435 u16 clip1hiA_gaincode_rev5 = 0x029e;
16436 u16 clip1hiA_gaincode_rev6 = 0x029e;
16437 u16 clip1hi_gaincode;
16438 u16 clip1mdG_gaincode = 0x0066;
16439 u16 clip1mdA_gaincode = 0x00ca;
16440 u16 clip1mdA_gaincode_rev4 = 0x1084;
16441 u16 clip1mdA_gaincode_rev5 = 0x2084;
16442 u16 clip1mdA_gaincode_rev6 = 0x2084;
16443 u16 clip1md_gaincode = 0;
16444 u16 clip1loG_gaincode = 0x0074;
16445 u16 clip1loG_gaincode_rev5[] = {
16446 0x0062, 0x0064, 0x006a, 0x106a, 0x106c, 0x1074, 0x107c, 0x207c
16448 u16 clip1loG_gaincode_rev6[] = {
16449 0x106a, 0x106c, 0x1074, 0x107c, 0x007e, 0x107e, 0x207e, 0x307e
16451 u16 clip1loG_gaincode_rev6_224B0 = 0x1074;
16452 u16 clip1loA_gaincode = 0x00cc;
16453 u16 clip1loA_gaincode_rev4 = 0x0086;
16454 u16 clip1loA_gaincode_rev5 = 0x2086;
16455 u16 clip1loA_gaincode_rev6 = 0x2086;
16456 u16 clip1lo_gaincode;
16457 u8 crsminG_th = 0x18;
16458 u8 crsminG_th_rev5 = 0x18;
16459 u8 crsminG_th_rev6 = 0x18;
16460 u8 crsminA_th = 0x1e;
16461 u8 crsminA_th_rev4 = 0x24;
16462 u8 crsminA_th_rev5 = 0x24;
16463 u8 crsminA_th_rev6 = 0x24;
16465 u8 crsminlG_th = 0x18;
16466 u8 crsminlG_th_rev5 = 0x18;
16467 u8 crsminlG_th_rev6 = 0x18;
16468 u8 crsminlA_th = 0x1e;
16469 u8 crsminlA_th_rev4 = 0x24;
16470 u8 crsminlA_th_rev5 = 0x24;
16471 u8 crsminlA_th_rev6 = 0x24;
16473 u8 crsminuG_th = 0x18;
16474 u8 crsminuG_th_rev5 = 0x18;
16475 u8 crsminuG_th_rev6 = 0x18;
16476 u8 crsminuA_th = 0x1e;
16477 u8 crsminuA_th_rev4 = 0x24;
16478 u8 crsminuA_th_rev5 = 0x24;
16479 u8 crsminuA_th_rev6 = 0x24;
16480 u8 crsminuA_th_rev6_224B0 = 0x2d;
16482 u16 nbclipG_th = 0x20d;
16483 u16 nbclipG_th_rev4 = 0x1a1;
16484 u16 nbclipG_th_rev5 = 0x1d0;
16485 u16 nbclipG_th_rev6 = 0x1d0;
16486 u16 nbclipA_th = 0x1a1;
16487 u16 nbclipA_th_rev4 = 0x107;
16488 u16 nbclipA_th_rev5 = 0x0a9;
16489 u16 nbclipA_th_rev6 = 0x0f0;
16492 u8 w1clipG_th_rev5 = 9;
16493 u8 w1clipG_th_rev6 = 5;
16494 u8 w1clipA_th = 25, w1clip_th;
16495 u8 rssi_gain_default = 0x50;
16496 u8 rssiG_gain_rev6_224B0 = 0x50;
16497 u8 rssiA_gain_rev5 = 0x90;
16498 u8 rssiA_gain_rev6 = 0x90;
16503 triso = (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.triso :
16504 pi->srom_fem2g.triso;
16506 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
16507 if (pi->pubpi.radiorev == 5) {
16509 wlc_phy_workarounds_nphy_gainctrl_2057_rev5(pi);
16510 } else if (pi->pubpi.radiorev == 7) {
16511 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi);
16513 mod_phy_reg(pi, 0x283, (0xff << 0), (0x44 << 0));
16514 mod_phy_reg(pi, 0x280, (0xff << 0), (0x44 << 0));
16516 } else if ((pi->pubpi.radiorev == 3)
16517 || (pi->pubpi.radiorev == 8)) {
16518 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi);
16520 if (pi->pubpi.radiorev == 8) {
16521 mod_phy_reg(pi, 0x283,
16522 (0xff << 0), (0x44 << 0));
16523 mod_phy_reg(pi, 0x280,
16524 (0xff << 0), (0x44 << 0));
16527 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi);
16529 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
16531 mod_phy_reg(pi, 0xa0, (0x1 << 6), (1 << 6));
16533 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
16534 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
16537 read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand;
16538 if (currband == 0) {
16539 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16540 if (pi->pubpi.radiorev == 11) {
16541 lna1_gain_db = lna1G_gain_db_rev6_224B0;
16542 lna2_gain_db = lna2G_gain_db_rev6_224B0;
16544 rfseqG_init_gain_rev6_224B0;
16546 initG_gaincode_rev6_224B0;
16548 clip1hiG_gaincode_rev6;
16550 clip1loG_gaincode_rev6_224B0;
16551 nbclip_th = nbclipG_th_rev6;
16552 w1clip_th = w1clipG_th_rev6;
16553 crsmin_th = crsminG_th_rev6;
16554 crsminl_th = crsminlG_th_rev6;
16555 crsminu_th = crsminuG_th_rev6;
16556 rssi_gain = rssiG_gain_rev6_224B0;
16558 lna1_gain_db = lna1G_gain_db_rev6;
16559 lna2_gain_db = lna2G_gain_db_rev6;
16560 if (pi->sh->boardflags & BFL_EXTLNA) {
16563 rfseqG_init_gain_rev6_elna;
16565 initG_gaincode_rev6_elna;
16568 rfseqG_init_gain_rev6;
16570 initG_gaincode_rev6;
16573 clip1hiG_gaincode_rev6;
16577 clip1loG_gaincode_rev6[0];
16581 clip1loG_gaincode_rev6[1];
16585 clip1loG_gaincode_rev6[2];
16591 clip1loG_gaincode_rev6[3];
16595 clip1loG_gaincode_rev6[4];
16599 clip1loG_gaincode_rev6[5];
16603 clip1loG_gaincode_rev6[6];
16607 clip1loG_gaincode_rev6[7];
16610 nbclip_th = nbclipG_th_rev6;
16611 w1clip_th = w1clipG_th_rev6;
16612 crsmin_th = crsminG_th_rev6;
16613 crsminl_th = crsminlG_th_rev6;
16614 crsminu_th = crsminuG_th_rev6;
16615 rssi_gain = rssi_gain_default;
16617 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
16618 lna1_gain_db = lna1G_gain_db_rev5;
16619 lna2_gain_db = lna2G_gain_db_rev5;
16620 if (pi->sh->boardflags & BFL_EXTLNA) {
16623 rfseqG_init_gain_rev5_elna;
16625 initG_gaincode_rev5_elna;
16627 rfseq_init_gain = rfseqG_init_gain_rev5;
16628 init_gaincode = initG_gaincode_rev5;
16630 clip1hi_gaincode = clip1hiG_gaincode_rev5;
16634 clip1loG_gaincode_rev5[0];
16638 clip1loG_gaincode_rev5[1];
16642 clip1loG_gaincode_rev5[2];
16647 clip1loG_gaincode_rev5[3];
16651 clip1loG_gaincode_rev5[4];
16655 clip1loG_gaincode_rev5[5];
16659 clip1loG_gaincode_rev5[6];
16663 clip1loG_gaincode_rev5[7];
16667 clip1loG_gaincode_rev5[3];
16670 nbclip_th = nbclipG_th_rev5;
16671 w1clip_th = w1clipG_th_rev5;
16672 crsmin_th = crsminG_th_rev5;
16673 crsminl_th = crsminlG_th_rev5;
16674 crsminu_th = crsminuG_th_rev5;
16675 rssi_gain = rssi_gain_default;
16676 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
16677 lna1_gain_db = lna1G_gain_db_rev4;
16678 lna2_gain_db = lna2G_gain_db;
16679 rfseq_init_gain = rfseqG_init_gain_rev4;
16680 init_gaincode = initG_gaincode_rev4;
16681 clip1hi_gaincode = clip1hiG_gaincode_rev4;
16682 clip1lo_gaincode = clip1loG_gaincode;
16683 nbclip_th = nbclipG_th_rev4;
16684 w1clip_th = w1clipG_th;
16685 crsmin_th = crsminG_th;
16686 crsminl_th = crsminlG_th;
16687 crsminu_th = crsminuG_th;
16688 rssi_gain = rssi_gain_default;
16690 lna1_gain_db = lna1G_gain_db;
16691 lna2_gain_db = lna2G_gain_db;
16692 rfseq_init_gain = rfseqG_init_gain;
16693 init_gaincode = initG_gaincode;
16694 clip1hi_gaincode = clip1hiG_gaincode;
16695 clip1lo_gaincode = clip1loG_gaincode;
16696 nbclip_th = nbclipG_th;
16697 w1clip_th = w1clipG_th;
16698 crsmin_th = crsminG_th;
16699 crsminl_th = crsminlG_th;
16700 crsminu_th = crsminuG_th;
16701 rssi_gain = rssi_gain_default;
16703 tia_gain_db = tiaG_gain_db;
16704 tia_gainbits = tiaG_gainbits;
16705 clip1md_gaincode = clip1mdG_gaincode;
16707 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16708 lna1_gain_db = lna1A_gain_db_rev6;
16709 lna2_gain_db = lna2A_gain_db_rev6;
16710 tia_gain_db = tiaA_gain_db_rev6;
16711 tia_gainbits = tiaA_gainbits_rev6;
16712 rfseq_init_gain = rfseqA_init_gain_rev6;
16713 init_gaincode = initA_gaincode_rev6;
16714 clip1hi_gaincode = clip1hiA_gaincode_rev6;
16715 clip1md_gaincode = clip1mdA_gaincode_rev6;
16716 clip1lo_gaincode = clip1loA_gaincode_rev6;
16717 crsmin_th = crsminA_th_rev6;
16718 crsminl_th = crsminlA_th_rev6;
16719 if ((pi->pubpi.radiorev == 11) &&
16720 (CHSPEC_IS40(pi->radio_chanspec) == 0)) {
16721 crsminu_th = crsminuA_th_rev6_224B0;
16723 crsminu_th = crsminuA_th_rev6;
16725 nbclip_th = nbclipA_th_rev6;
16726 rssi_gain = rssiA_gain_rev6;
16727 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
16728 lna1_gain_db = lna1A_gain_db_rev5;
16729 lna2_gain_db = lna2A_gain_db_rev5;
16730 tia_gain_db = tiaA_gain_db_rev5;
16731 tia_gainbits = tiaA_gainbits_rev5;
16732 rfseq_init_gain = rfseqA_init_gain_rev5;
16733 init_gaincode = initA_gaincode_rev5;
16734 clip1hi_gaincode = clip1hiA_gaincode_rev5;
16735 clip1md_gaincode = clip1mdA_gaincode_rev5;
16736 clip1lo_gaincode = clip1loA_gaincode_rev5;
16737 crsmin_th = crsminA_th_rev5;
16738 crsminl_th = crsminlA_th_rev5;
16739 crsminu_th = crsminuA_th_rev5;
16740 nbclip_th = nbclipA_th_rev5;
16741 rssi_gain = rssiA_gain_rev5;
16742 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
16743 lna1_gain_db = lna1A_gain_db_rev4;
16744 lna2_gain_db = lna2A_gain_db_rev4;
16745 tia_gain_db = tiaA_gain_db_rev4;
16746 tia_gainbits = tiaA_gainbits_rev4;
16747 if (pi->sh->boardflags & BFL_EXTLNA_5GHz) {
16750 rfseqA_init_gain_rev4_elna;
16752 initA_gaincode_rev4_elna;
16754 rfseq_init_gain = rfseqA_init_gain_rev4;
16755 init_gaincode = initA_gaincode_rev4;
16757 clip1hi_gaincode = clip1hiA_gaincode_rev4;
16758 clip1md_gaincode = clip1mdA_gaincode_rev4;
16759 clip1lo_gaincode = clip1loA_gaincode_rev4;
16760 crsmin_th = crsminA_th_rev4;
16761 crsminl_th = crsminlA_th_rev4;
16762 crsminu_th = crsminuA_th_rev4;
16763 nbclip_th = nbclipA_th_rev4;
16764 rssi_gain = rssi_gain_default;
16766 lna1_gain_db = lna1A_gain_db;
16767 lna2_gain_db = lna2A_gain_db;
16768 tia_gain_db = tiaA_gain_db;
16769 tia_gainbits = tiaA_gainbits;
16770 rfseq_init_gain = rfseqA_init_gain;
16771 init_gaincode = initA_gaincode;
16772 clip1hi_gaincode = clip1hiA_gaincode;
16773 clip1md_gaincode = clip1mdA_gaincode;
16774 clip1lo_gaincode = clip1loA_gaincode;
16775 crsmin_th = crsminA_th;
16776 crsminl_th = crsminlA_th;
16777 crsminu_th = crsminuA_th;
16778 nbclip_th = nbclipA_th;
16779 rssi_gain = rssi_gain_default;
16781 w1clip_th = w1clipA_th;
16784 write_radio_reg(pi,
16785 (RADIO_2056_RX_BIASPOLE_LNAG1_IDAC |
16786 RADIO_2056_RX0), 0x17);
16787 write_radio_reg(pi,
16788 (RADIO_2056_RX_BIASPOLE_LNAG1_IDAC |
16789 RADIO_2056_RX1), 0x17);
16791 write_radio_reg(pi, (RADIO_2056_RX_LNAG2_IDAC | RADIO_2056_RX0),
16793 write_radio_reg(pi, (RADIO_2056_RX_LNAG2_IDAC | RADIO_2056_RX1),
16796 write_radio_reg(pi, (RADIO_2056_RX_RSSI_POLE | RADIO_2056_RX0),
16798 write_radio_reg(pi, (RADIO_2056_RX_RSSI_POLE | RADIO_2056_RX1),
16801 write_radio_reg(pi, (RADIO_2056_RX_RSSI_GAIN | RADIO_2056_RX0),
16803 write_radio_reg(pi, (RADIO_2056_RX_RSSI_GAIN | RADIO_2056_RX1),
16806 write_radio_reg(pi,
16807 (RADIO_2056_RX_BIASPOLE_LNAA1_IDAC |
16808 RADIO_2056_RX0), 0x17);
16809 write_radio_reg(pi,
16810 (RADIO_2056_RX_BIASPOLE_LNAA1_IDAC |
16811 RADIO_2056_RX1), 0x17);
16813 write_radio_reg(pi, (RADIO_2056_RX_LNAA2_IDAC | RADIO_2056_RX0),
16815 write_radio_reg(pi, (RADIO_2056_RX_LNAA2_IDAC | RADIO_2056_RX1),
16818 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 8,
16820 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 8,
16823 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x10,
16825 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x10,
16828 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 10, 0x20,
16830 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 10, 0x20,
16833 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 10, 0x20,
16835 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 10, 0x20,
16838 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 6, 0x40,
16840 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 6, 0x40,
16842 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 6, 0x40,
16844 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 6, 0x40,
16847 write_phy_reg(pi, 0x20, init_gaincode);
16848 write_phy_reg(pi, 0x2a7, init_gaincode);
16850 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
16851 pi->pubpi.phy_corenum, 0x106, 16,
16854 write_phy_reg(pi, 0x22, clip1hi_gaincode);
16855 write_phy_reg(pi, 0x2a9, clip1hi_gaincode);
16857 write_phy_reg(pi, 0x24, clip1md_gaincode);
16858 write_phy_reg(pi, 0x2ab, clip1md_gaincode);
16860 write_phy_reg(pi, 0x37, clip1lo_gaincode);
16861 write_phy_reg(pi, 0x2ad, clip1lo_gaincode);
16863 mod_phy_reg(pi, 0x27d, (0xff << 0), (crsmin_th << 0));
16864 mod_phy_reg(pi, 0x280, (0xff << 0), (crsminl_th << 0));
16865 mod_phy_reg(pi, 0x283, (0xff << 0), (crsminu_th << 0));
16867 write_phy_reg(pi, 0x2b, nbclip_th);
16868 write_phy_reg(pi, 0x41, nbclip_th);
16870 mod_phy_reg(pi, 0x27, (0x3f << 0), (w1clip_th << 0));
16871 mod_phy_reg(pi, 0x3d, (0x3f << 0), (w1clip_th << 0));
16873 write_phy_reg(pi, 0x150, 0x809c);
16877 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
16878 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
16880 write_phy_reg(pi, 0x2b, 0x84);
16881 write_phy_reg(pi, 0x41, 0x84);
16883 if (CHSPEC_IS20(pi->radio_chanspec)) {
16884 write_phy_reg(pi, 0x6b, 0x2b);
16885 write_phy_reg(pi, 0x6c, 0x2b);
16886 write_phy_reg(pi, 0x6d, 0x9);
16887 write_phy_reg(pi, 0x6e, 0x9);
16890 w1th = NPHY_RSSICAL_W1_TARGET - 4;
16891 mod_phy_reg(pi, 0x27, (0x3f << 0), (w1th << 0));
16892 mod_phy_reg(pi, 0x3d, (0x3f << 0), (w1th << 0));
16894 if (CHSPEC_IS20(pi->radio_chanspec)) {
16895 mod_phy_reg(pi, 0x1c, (0x1f << 0), (0x1 << 0));
16896 mod_phy_reg(pi, 0x32, (0x1f << 0), (0x1 << 0));
16898 mod_phy_reg(pi, 0x1d, (0x1f << 0), (0x1 << 0));
16899 mod_phy_reg(pi, 0x33, (0x1f << 0), (0x1 << 0));
16902 write_phy_reg(pi, 0x150, 0x809c);
16904 if (pi->nphy_gain_boost)
16905 if ((CHSPEC_IS2G(pi->radio_chanspec)) &&
16906 (CHSPEC_IS40(pi->radio_chanspec)))
16910 else if (CHSPEC_IS40(pi->radio_chanspec))
16915 mod_phy_reg(pi, 0x20, (0x1f << 7), (hpf_code << 7));
16916 mod_phy_reg(pi, 0x36, (0x1f << 7), (hpf_code << 7));
16918 for (ctr = 0; ctr < 4; ctr++) {
16919 regval[ctr] = (hpf_code << 8) | 0x7c;
16921 wlc_phy_table_write_nphy(pi, 7, 4, 0x106, 16, regval);
16923 wlc_phy_adjust_lnagaintbl_nphy(pi);
16925 if (pi->nphy_elna_gain_config) {
16930 wlc_phy_table_write_nphy(pi, 2, 4, 8, 16, regval);
16931 wlc_phy_table_write_nphy(pi, 3, 4, 8, 16, regval);
16933 for (ctr = 0; ctr < 4; ctr++) {
16934 regval[ctr] = (hpf_code << 8) | 0x74;
16936 wlc_phy_table_write_nphy(pi, 7, 4, 0x106, 16, regval);
16939 if (NREV_IS(pi->pubpi.phy_rev, 2)) {
16940 for (ctr = 0; ctr < 21; ctr++) {
16941 regval[ctr] = 3 * ctr;
16943 wlc_phy_table_write_nphy(pi, 0, 21, 32, 16, regval);
16944 wlc_phy_table_write_nphy(pi, 1, 21, 32, 16, regval);
16946 for (ctr = 0; ctr < 21; ctr++) {
16947 regval[ctr] = (u16) ctr;
16949 wlc_phy_table_write_nphy(pi, 2, 21, 32, 16, regval);
16950 wlc_phy_table_write_nphy(pi, 3, 21, 32, 16, regval);
16953 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_UPDATEGAINU,
16954 rfseq_updategainu_events,
16955 rfseq_updategainu_dlys,
16956 sizeof(rfseq_updategainu_events) /
16957 sizeof(rfseq_updategainu_events[0]));
16959 mod_phy_reg(pi, 0x153, (0xff << 8), (90 << 8));
16961 if (CHSPEC_IS2G(pi->radio_chanspec))
16963 (NPHY_TO_BPHY_OFF + BPHY_OPTIONAL_MODES),
16968 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev5(phy_info_t *pi)
16970 s8 lna1_gain_db[] = { 8, 13, 17, 22 };
16971 s8 lna2_gain_db[] = { -2, 7, 11, 15 };
16972 s8 tia_gain_db[] = { -4, -1, 2, 5, 5, 5, 5, 5, 5, 5 };
16973 s8 tia_gainbits[] = {
16974 0x0, 0x01, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 };
16976 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
16977 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
16979 mod_phy_reg(pi, 0x289, (0xff << 0), (0x46 << 0));
16981 mod_phy_reg(pi, 0x283, (0xff << 0), (0x3c << 0));
16982 mod_phy_reg(pi, 0x280, (0xff << 0), (0x3c << 0));
16984 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x8, 8,
16986 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x8, 8,
16989 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x10, 8,
16991 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x10, 8,
16994 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 10, 0x20, 8,
16996 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 10, 0x20, 8,
16999 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 10, 0x20, 8,
17001 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 10, 0x20, 8,
17004 write_phy_reg(pi, 0x37, 0x74);
17005 write_phy_reg(pi, 0x2ad, 0x74);
17006 write_phy_reg(pi, 0x38, 0x18);
17007 write_phy_reg(pi, 0x2ae, 0x18);
17009 write_phy_reg(pi, 0x2b, 0xe8);
17010 write_phy_reg(pi, 0x41, 0xe8);
17012 if (CHSPEC_IS20(pi->radio_chanspec)) {
17014 mod_phy_reg(pi, 0x300, (0x3f << 0), (0x12 << 0));
17015 mod_phy_reg(pi, 0x301, (0x3f << 0), (0x12 << 0));
17018 mod_phy_reg(pi, 0x300, (0x3f << 0), (0x10 << 0));
17019 mod_phy_reg(pi, 0x301, (0x3f << 0), (0x10 << 0));
17023 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev6(phy_info_t *pi)
17026 s8 lna1G_gain_db_rev7[] = { 9, 14, 19, 24 };
17027 s8 *lna1_gain_db = NULL;
17028 s8 *lna1_gain_db_2 = NULL;
17029 s8 *lna2_gain_db = NULL;
17030 s8 tiaA_gain_db_rev7[] = { -9, -6, -3, 0, 3, 3, 3, 3, 3, 3 };
17032 s8 tiaA_gainbits_rev7[] = { 0, 1, 2, 3, 4, 4, 4, 4, 4, 4 };
17034 u16 rfseqA_init_gain_rev7[] = { 0x624f, 0x624f };
17035 u16 *rfseq_init_gain;
17037 u16 clip1hi_gaincode;
17038 u16 clip1md_gaincode = 0;
17039 u16 clip1md_gaincode_B;
17040 u16 clip1lo_gaincode;
17041 u16 clip1lo_gaincode_B;
17047 s8 nvar_baseline_offset0 = 0, nvar_baseline_offset1 = 0;
17048 u8 chg_nbclip_th = 0;
17050 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
17051 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
17053 currband = read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand;
17054 if (currband == 0) {
17056 lna1_gain_db = lna1G_gain_db_rev7;
17058 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 8, 8,
17060 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 8, 8,
17063 mod_phy_reg(pi, 0x283, (0xff << 0), (0x40 << 0));
17065 if (CHSPEC_IS40(pi->radio_chanspec)) {
17066 mod_phy_reg(pi, 0x280, (0xff << 0), (0x3e << 0));
17067 mod_phy_reg(pi, 0x283, (0xff << 0), (0x3e << 0));
17070 mod_phy_reg(pi, 0x289, (0xff << 0), (0x46 << 0));
17072 if (CHSPEC_IS20(pi->radio_chanspec)) {
17073 mod_phy_reg(pi, 0x300, (0x3f << 0), (13 << 0));
17074 mod_phy_reg(pi, 0x301, (0x3f << 0), (13 << 0));
17078 init_gaincode = 0x9e;
17079 clip1hi_gaincode = 0x9e;
17080 clip1md_gaincode_B = 0x24;
17081 clip1lo_gaincode = 0x8a;
17082 clip1lo_gaincode_B = 8;
17083 rfseq_init_gain = rfseqA_init_gain_rev7;
17085 tia_gain_db = tiaA_gain_db_rev7;
17086 tia_gainbits = tiaA_gainbits_rev7;
17088 freq = CHAN5G_FREQ(CHSPEC_CHANNEL(pi->radio_chanspec));
17089 if (CHSPEC_IS20(pi->radio_chanspec)) {
17092 clip1md_gaincode = 0x82;
17094 if ((freq <= 5080) || (freq == 5825)) {
17096 s8 lna1A_gain_db_rev7[] = { 11, 16, 20, 24 };
17097 s8 lna1A_gain_db_2_rev7[] = {
17099 s8 lna2A_gain_db_rev7[] = { -1, 6, 10, 14 };
17102 lna1_gain_db = lna1A_gain_db_rev7;
17103 lna1_gain_db_2 = lna1A_gain_db_2_rev7;
17104 lna2_gain_db = lna2A_gain_db_rev7;
17105 } else if ((freq >= 5500) && (freq <= 5700)) {
17107 s8 lna1A_gain_db_rev7[] = { 11, 17, 21, 25 };
17108 s8 lna1A_gain_db_2_rev7[] = {
17110 s8 lna2A_gain_db_rev7[] = { 1, 8, 12, 16 };
17113 clip1md_gaincode_B = 0x14;
17116 lna1_gain_db = lna1A_gain_db_rev7;
17117 lna1_gain_db_2 = lna1A_gain_db_2_rev7;
17118 lna2_gain_db = lna2A_gain_db_rev7;
17121 s8 lna1A_gain_db_rev7[] = { 12, 18, 22, 26 };
17122 s8 lna1A_gain_db_2_rev7[] = {
17124 s8 lna2A_gain_db_rev7[] = { -1, 6, 10, 14 };
17127 lna1_gain_db = lna1A_gain_db_rev7;
17128 lna1_gain_db_2 = lna1A_gain_db_2_rev7;
17129 lna2_gain_db = lna2A_gain_db_rev7;
17132 if (freq <= 4920) {
17133 nvar_baseline_offset0 = 5;
17134 nvar_baseline_offset1 = 5;
17135 } else if ((freq > 4920) && (freq <= 5320)) {
17136 nvar_baseline_offset0 = 3;
17137 nvar_baseline_offset1 = 5;
17138 } else if ((freq > 5320) && (freq <= 5700)) {
17139 nvar_baseline_offset0 = 3;
17140 nvar_baseline_offset1 = 2;
17142 nvar_baseline_offset0 = 4;
17143 nvar_baseline_offset1 = 0;
17151 if ((freq >= 4920) && (freq <= 5320)) {
17152 nvar_baseline_offset0 = 4;
17153 nvar_baseline_offset1 = 5;
17154 } else if ((freq > 5320) && (freq <= 5550)) {
17155 nvar_baseline_offset0 = 4;
17156 nvar_baseline_offset1 = 2;
17158 nvar_baseline_offset0 = 5;
17159 nvar_baseline_offset1 = 3;
17163 write_phy_reg(pi, 0x20, init_gaincode);
17164 write_phy_reg(pi, 0x2a7, init_gaincode);
17166 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
17167 pi->pubpi.phy_corenum, 0x106, 16,
17170 write_phy_reg(pi, 0x22, clip1hi_gaincode);
17171 write_phy_reg(pi, 0x2a9, clip1hi_gaincode);
17173 write_phy_reg(pi, 0x36, clip1md_gaincode_B);
17174 write_phy_reg(pi, 0x2ac, clip1md_gaincode_B);
17176 write_phy_reg(pi, 0x37, clip1lo_gaincode);
17177 write_phy_reg(pi, 0x2ad, clip1lo_gaincode);
17178 write_phy_reg(pi, 0x38, clip1lo_gaincode_B);
17179 write_phy_reg(pi, 0x2ae, clip1lo_gaincode_B);
17181 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 10, 0x20, 8,
17183 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 10, 0x20, 8,
17186 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 10, 0x20, 8,
17188 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 10, 0x20, 8,
17191 mod_phy_reg(pi, 0x283, (0xff << 0), (crsminu_th << 0));
17193 if (chg_nbclip_th == 1) {
17194 write_phy_reg(pi, 0x2b, nbclip_th);
17195 write_phy_reg(pi, 0x41, nbclip_th);
17198 mod_phy_reg(pi, 0x300, (0x3f << 0), (w1clip_th << 0));
17199 mod_phy_reg(pi, 0x301, (0x3f << 0), (w1clip_th << 0));
17201 mod_phy_reg(pi, 0x2e4,
17202 (0x3f << 0), (nvar_baseline_offset0 << 0));
17204 mod_phy_reg(pi, 0x2e4,
17205 (0x3f << 6), (nvar_baseline_offset1 << 6));
17207 if (CHSPEC_IS20(pi->radio_chanspec)) {
17209 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 8, 8,
17211 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 8, 8,
17214 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x10,
17216 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x10,
17219 write_phy_reg(pi, 0x24, clip1md_gaincode);
17220 write_phy_reg(pi, 0x2ab, clip1md_gaincode);
17222 mod_phy_reg(pi, 0x280, (0xff << 0), (crsminl_th << 0));
17229 static void wlc_phy_adjust_lnagaintbl_nphy(phy_info_t *pi)
17235 u16 minmax_gain[2];
17238 if (pi->phyhang_avoid)
17239 wlc_phy_stay_in_carriersearch_nphy(pi, true);
17241 if (pi->nphy_gain_boost) {
17242 if ((CHSPEC_IS2G(pi->radio_chanspec))) {
17248 curr_channel = CHSPEC_CHANNEL(pi->radio_chanspec);
17251 PHY_HW_ROUND(((nphy_lnagain_est0[0] *
17253 nphy_lnagain_est0[1]), 13);
17256 PHY_HW_ROUND(((nphy_lnagain_est1[0] *
17258 nphy_lnagain_est1[1]), 13);
17266 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
17267 if (pi->nphy_elna_gain_config) {
17269 regval[0] = nphy_def_lnagains[2] + gain_delta[core];
17270 regval[1] = nphy_def_lnagains[3] + gain_delta[core];
17271 regval[2] = nphy_def_lnagains[3] + gain_delta[core];
17272 regval[3] = nphy_def_lnagains[3] + gain_delta[core];
17274 for (ctr = 0; ctr < 4; ctr++) {
17276 nphy_def_lnagains[ctr] + gain_delta[core];
17279 wlc_phy_table_write_nphy(pi, core, 4, 8, 16, regval);
17281 minmax_gain[core] =
17282 (u16) (nphy_def_lnagains[2] + gain_delta[core] + 4);
17285 mod_phy_reg(pi, 0x1e, (0xff << 0), (minmax_gain[0] << 0));
17286 mod_phy_reg(pi, 0x34, (0xff << 0), (minmax_gain[1] << 0));
17288 if (pi->phyhang_avoid)
17289 wlc_phy_stay_in_carriersearch_nphy(pi, false);
17292 void wlc_phy_switch_radio_nphy(phy_info_t *pi, bool on)
17295 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
17296 if (!pi->radio_is_on) {
17297 wlc_phy_radio_preinit_205x(pi);
17298 wlc_phy_radio_init_2057(pi);
17299 wlc_phy_radio_postinit_2057(pi);
17302 wlc_phy_chanspec_set((wlc_phy_t *) pi,
17303 pi->radio_chanspec);
17304 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
17305 wlc_phy_radio_preinit_205x(pi);
17306 wlc_phy_radio_init_2056(pi);
17307 wlc_phy_radio_postinit_2056(pi);
17309 wlc_phy_chanspec_set((wlc_phy_t *) pi,
17310 pi->radio_chanspec);
17312 wlc_phy_radio_preinit_2055(pi);
17313 wlc_phy_radio_init_2055(pi);
17314 wlc_phy_radio_postinit_2055(pi);
17317 pi->radio_is_on = true;
17321 if (NREV_GE(pi->pubpi.phy_rev, 3)
17322 && NREV_LT(pi->pubpi.phy_rev, 7)) {
17323 and_phy_reg(pi, 0x78, ~RFCC_CHIP0_PU);
17324 mod_radio_reg(pi, RADIO_2056_SYN_COM_PU, 0x2, 0x0);
17326 write_radio_reg(pi,
17327 RADIO_2056_TX_PADA_BOOST_TUNE |
17328 RADIO_2056_TX0, 0);
17329 write_radio_reg(pi,
17330 RADIO_2056_TX_PADG_BOOST_TUNE |
17331 RADIO_2056_TX0, 0);
17332 write_radio_reg(pi,
17333 RADIO_2056_TX_PGAA_BOOST_TUNE |
17334 RADIO_2056_TX0, 0);
17335 write_radio_reg(pi,
17336 RADIO_2056_TX_PGAG_BOOST_TUNE |
17337 RADIO_2056_TX0, 0);
17339 RADIO_2056_TX_MIXA_BOOST_TUNE |
17340 RADIO_2056_TX0, 0xf0, 0);
17341 write_radio_reg(pi,
17342 RADIO_2056_TX_MIXG_BOOST_TUNE |
17343 RADIO_2056_TX0, 0);
17345 write_radio_reg(pi,
17346 RADIO_2056_TX_PADA_BOOST_TUNE |
17347 RADIO_2056_TX1, 0);
17348 write_radio_reg(pi,
17349 RADIO_2056_TX_PADG_BOOST_TUNE |
17350 RADIO_2056_TX1, 0);
17351 write_radio_reg(pi,
17352 RADIO_2056_TX_PGAA_BOOST_TUNE |
17353 RADIO_2056_TX1, 0);
17354 write_radio_reg(pi,
17355 RADIO_2056_TX_PGAG_BOOST_TUNE |
17356 RADIO_2056_TX1, 0);
17358 RADIO_2056_TX_MIXA_BOOST_TUNE |
17359 RADIO_2056_TX1, 0xf0, 0);
17360 write_radio_reg(pi,
17361 RADIO_2056_TX_MIXG_BOOST_TUNE |
17362 RADIO_2056_TX1, 0);
17364 pi->radio_is_on = false;
17367 if (NREV_GE(pi->pubpi.phy_rev, 8)) {
17368 and_phy_reg(pi, 0x78, ~RFCC_CHIP0_PU);
17369 pi->radio_is_on = false;
17375 static void wlc_phy_radio_preinit_2055(phy_info_t *pi)
17378 and_phy_reg(pi, 0x78, ~RFCC_POR_FORCE);
17379 or_phy_reg(pi, 0x78, RFCC_CHIP0_PU | RFCC_OE_POR_FORCE);
17381 or_phy_reg(pi, 0x78, RFCC_POR_FORCE);
17384 static void wlc_phy_radio_init_2055(phy_info_t *pi)
17386 wlc_phy_init_radio_regs(pi, regs_2055, RADIO_DEFAULT_CORE);
17389 static void wlc_phy_radio_postinit_2055(phy_info_t *pi)
17392 and_radio_reg(pi, RADIO_2055_MASTER_CNTRL1,
17393 ~(RADIO_2055_JTAGCTRL_MASK | RADIO_2055_JTAGSYNC_MASK));
17395 if (((pi->sh->sromrev >= 4)
17396 && !(pi->sh->boardflags2 & BFL2_RXBB_INT_REG_DIS))
17397 || ((pi->sh->sromrev < 4))) {
17398 and_radio_reg(pi, RADIO_2055_CORE1_RXBB_REGULATOR, 0x7F);
17399 and_radio_reg(pi, RADIO_2055_CORE2_RXBB_REGULATOR, 0x7F);
17402 mod_radio_reg(pi, RADIO_2055_RRCCAL_N_OPT_SEL, 0x3F, 0x2C);
17403 write_radio_reg(pi, RADIO_2055_CAL_MISC, 0x3C);
17405 and_radio_reg(pi, RADIO_2055_CAL_MISC,
17406 ~(RADIO_2055_RRCAL_START | RADIO_2055_RRCAL_RST_N));
17408 or_radio_reg(pi, RADIO_2055_CAL_LPO_CNTRL, RADIO_2055_CAL_LPO_ENABLE);
17410 or_radio_reg(pi, RADIO_2055_CAL_MISC, RADIO_2055_RRCAL_RST_N);
17414 or_radio_reg(pi, RADIO_2055_CAL_MISC, RADIO_2055_RRCAL_START);
17416 SPINWAIT(((read_radio_reg(pi, RADIO_2055_CAL_COUNTER_OUT2) &
17417 RADIO_2055_RCAL_DONE) != RADIO_2055_RCAL_DONE), 2000);
17419 ASSERT((read_radio_reg(pi, RADIO_2055_CAL_COUNTER_OUT2) &
17420 RADIO_2055_RCAL_DONE) == RADIO_2055_RCAL_DONE);
17422 and_radio_reg(pi, RADIO_2055_CAL_LPO_CNTRL,
17423 ~(RADIO_2055_CAL_LPO_ENABLE));
17425 wlc_phy_chanspec_set((wlc_phy_t *) pi, pi->radio_chanspec);
17427 write_radio_reg(pi, RADIO_2055_CORE1_RXBB_LPF, 9);
17428 write_radio_reg(pi, RADIO_2055_CORE2_RXBB_LPF, 9);
17430 write_radio_reg(pi, RADIO_2055_CORE1_RXBB_MIDAC_HIPAS, 0x83);
17431 write_radio_reg(pi, RADIO_2055_CORE2_RXBB_MIDAC_HIPAS, 0x83);
17433 mod_radio_reg(pi, RADIO_2055_CORE1_LNA_GAINBST,
17434 RADIO_2055_GAINBST_VAL_MASK, RADIO_2055_GAINBST_CODE);
17435 mod_radio_reg(pi, RADIO_2055_CORE2_LNA_GAINBST,
17436 RADIO_2055_GAINBST_VAL_MASK, RADIO_2055_GAINBST_CODE);
17437 if (pi->nphy_gain_boost) {
17438 and_radio_reg(pi, RADIO_2055_CORE1_RXRF_SPC1,
17439 ~(RADIO_2055_GAINBST_DISABLE));
17440 and_radio_reg(pi, RADIO_2055_CORE2_RXRF_SPC1,
17441 ~(RADIO_2055_GAINBST_DISABLE));
17443 or_radio_reg(pi, RADIO_2055_CORE1_RXRF_SPC1,
17444 RADIO_2055_GAINBST_DISABLE);
17445 or_radio_reg(pi, RADIO_2055_CORE2_RXRF_SPC1,
17446 RADIO_2055_GAINBST_DISABLE);
17452 static void wlc_phy_radio_preinit_205x(phy_info_t *pi)
17455 and_phy_reg(pi, 0x78, ~RFCC_CHIP0_PU);
17456 and_phy_reg(pi, 0x78, RFCC_OE_POR_FORCE);
17458 or_phy_reg(pi, 0x78, ~RFCC_OE_POR_FORCE);
17459 or_phy_reg(pi, 0x78, RFCC_CHIP0_PU);
17463 static void wlc_phy_radio_init_2056(phy_info_t *pi)
17465 radio_regs_t *regs_SYN_2056_ptr = NULL;
17466 radio_regs_t *regs_TX_2056_ptr = NULL;
17467 radio_regs_t *regs_RX_2056_ptr = NULL;
17469 if (NREV_IS(pi->pubpi.phy_rev, 3)) {
17470 regs_SYN_2056_ptr = regs_SYN_2056;
17471 regs_TX_2056_ptr = regs_TX_2056;
17472 regs_RX_2056_ptr = regs_RX_2056;
17473 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
17474 regs_SYN_2056_ptr = regs_SYN_2056_A1;
17475 regs_TX_2056_ptr = regs_TX_2056_A1;
17476 regs_RX_2056_ptr = regs_RX_2056_A1;
17478 switch (pi->pubpi.radiorev) {
17480 regs_SYN_2056_ptr = regs_SYN_2056_rev5;
17481 regs_TX_2056_ptr = regs_TX_2056_rev5;
17482 regs_RX_2056_ptr = regs_RX_2056_rev5;
17486 regs_SYN_2056_ptr = regs_SYN_2056_rev6;
17487 regs_TX_2056_ptr = regs_TX_2056_rev6;
17488 regs_RX_2056_ptr = regs_RX_2056_rev6;
17493 regs_SYN_2056_ptr = regs_SYN_2056_rev7;
17494 regs_TX_2056_ptr = regs_TX_2056_rev7;
17495 regs_RX_2056_ptr = regs_RX_2056_rev7;
17499 regs_SYN_2056_ptr = regs_SYN_2056_rev8;
17500 regs_TX_2056_ptr = regs_TX_2056_rev8;
17501 regs_RX_2056_ptr = regs_RX_2056_rev8;
17505 regs_SYN_2056_ptr = regs_SYN_2056_rev11;
17506 regs_TX_2056_ptr = regs_TX_2056_rev11;
17507 regs_RX_2056_ptr = regs_RX_2056_rev11;
17516 wlc_phy_init_radio_regs(pi, regs_SYN_2056_ptr, (u16) RADIO_2056_SYN);
17518 wlc_phy_init_radio_regs(pi, regs_TX_2056_ptr, (u16) RADIO_2056_TX0);
17520 wlc_phy_init_radio_regs(pi, regs_TX_2056_ptr, (u16) RADIO_2056_TX1);
17522 wlc_phy_init_radio_regs(pi, regs_RX_2056_ptr, (u16) RADIO_2056_RX0);
17524 wlc_phy_init_radio_regs(pi, regs_RX_2056_ptr, (u16) RADIO_2056_RX1);
17527 static void wlc_phy_radio_postinit_2056(phy_info_t *pi)
17529 mod_radio_reg(pi, RADIO_2056_SYN_COM_CTRL, 0xb, 0xb);
17531 mod_radio_reg(pi, RADIO_2056_SYN_COM_PU, 0x2, 0x2);
17532 mod_radio_reg(pi, RADIO_2056_SYN_COM_RESET, 0x2, 0x2);
17534 mod_radio_reg(pi, RADIO_2056_SYN_COM_RESET, 0x2, 0x0);
17536 if ((pi->sh->boardflags2 & BFL2_LEGACY)
17537 || (pi->sh->boardflags2 & BFL2_XTALBUFOUTEN)) {
17539 mod_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2, 0xf4, 0x0);
17542 mod_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2, 0xfc, 0x0);
17545 mod_radio_reg(pi, RADIO_2056_SYN_RCCAL_CTRL0, 0x1, 0x0);
17547 if (pi->phy_init_por) {
17548 wlc_phy_radio205x_rcal(pi);
17552 static void wlc_phy_radio_init_2057(phy_info_t *pi)
17554 radio_20xx_regs_t *regs_2057_ptr = NULL;
17556 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
17558 regs_2057_ptr = regs_2057_rev4;
17559 } else if (NREV_IS(pi->pubpi.phy_rev, 8)
17560 || NREV_IS(pi->pubpi.phy_rev, 9)) {
17561 switch (pi->pubpi.radiorev) {
17564 if (pi->pubpi.radiover == 0x0) {
17566 regs_2057_ptr = regs_2057_rev5;
17568 } else if (pi->pubpi.radiover == 0x1) {
17570 regs_2057_ptr = regs_2057_rev5v1;
17578 regs_2057_ptr = regs_2057_rev7;
17583 regs_2057_ptr = regs_2057_rev8;
17594 wlc_phy_init_radio_regs_allbands(pi, regs_2057_ptr);
17597 static void wlc_phy_radio_postinit_2057(phy_info_t *pi)
17600 mod_radio_reg(pi, RADIO_2057_XTALPUOVR_PINCTRL, 0x1, 0x1);
17602 if (CHIPID(pi->sh->chip) == !BCM6362_CHIP_ID) {
17604 mod_radio_reg(pi, RADIO_2057_XTALPUOVR_PINCTRL, 0x2, 0x2);
17607 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x78, 0x78);
17608 mod_radio_reg(pi, RADIO_2057_XTAL_CONFIG2, 0x80, 0x80);
17610 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x78, 0x0);
17611 mod_radio_reg(pi, RADIO_2057_XTAL_CONFIG2, 0x80, 0x0);
17613 if (pi->phy_init_por) {
17614 wlc_phy_radio205x_rcal(pi);
17615 wlc_phy_radio2057_rccal(pi);
17618 mod_radio_reg(pi, RADIO_2057_RFPLL_MASTER, 0x8, 0x0);
17622 wlc_phy_chan2freq_nphy(phy_info_t *pi, uint channel, int *f,
17623 chan_info_nphy_radio2057_t **t0,
17624 chan_info_nphy_radio205x_t **t1,
17625 chan_info_nphy_radio2057_rev5_t **t2,
17626 chan_info_nphy_2055_t **t3)
17629 chan_info_nphy_radio2057_t *chan_info_tbl_p_0 = NULL;
17630 chan_info_nphy_radio205x_t *chan_info_tbl_p_1 = NULL;
17631 chan_info_nphy_radio2057_rev5_t *chan_info_tbl_p_2 = NULL;
17636 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
17638 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
17640 chan_info_tbl_p_0 = chan_info_nphyrev7_2057_rev4;
17641 tbl_len = ARRAY_SIZE(chan_info_nphyrev7_2057_rev4);
17643 } else if (NREV_IS(pi->pubpi.phy_rev, 8)
17644 || NREV_IS(pi->pubpi.phy_rev, 9)) {
17645 switch (pi->pubpi.radiorev) {
17649 if (pi->pubpi.radiover == 0x0) {
17651 chan_info_tbl_p_2 =
17652 chan_info_nphyrev8_2057_rev5;
17655 (chan_info_nphyrev8_2057_rev5);
17657 } else if (pi->pubpi.radiover == 0x1) {
17659 chan_info_tbl_p_2 =
17660 chan_info_nphyrev9_2057_rev5v1;
17663 (chan_info_nphyrev9_2057_rev5v1);
17669 chan_info_tbl_p_0 =
17670 chan_info_nphyrev8_2057_rev7;
17672 ARRAY_SIZE(chan_info_nphyrev8_2057_rev7);
17676 chan_info_tbl_p_0 =
17677 chan_info_nphyrev8_2057_rev8;
17679 ARRAY_SIZE(chan_info_nphyrev8_2057_rev8);
17683 if (NORADIO_ENAB(pi->pubpi)) {
17688 } else if (NREV_IS(pi->pubpi.phy_rev, 16)) {
17690 chan_info_tbl_p_0 = chan_info_nphyrev8_2057_rev8;
17691 tbl_len = ARRAY_SIZE(chan_info_nphyrev8_2057_rev8);
17696 for (i = 0; i < tbl_len; i++) {
17697 if (pi->pubpi.radiorev == 5) {
17699 if (chan_info_tbl_p_2[i].chan == channel)
17703 if (chan_info_tbl_p_0[i].chan == channel)
17708 if (i >= tbl_len) {
17709 ASSERT(i < tbl_len);
17712 if (pi->pubpi.radiorev == 5) {
17713 *t2 = &chan_info_tbl_p_2[i];
17714 freq = chan_info_tbl_p_2[i].freq;
17716 *t0 = &chan_info_tbl_p_0[i];
17717 freq = chan_info_tbl_p_0[i].freq;
17720 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
17721 if (NREV_IS(pi->pubpi.phy_rev, 3)) {
17722 chan_info_tbl_p_1 = chan_info_nphyrev3_2056;
17723 tbl_len = ARRAY_SIZE(chan_info_nphyrev3_2056);
17724 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
17725 chan_info_tbl_p_1 = chan_info_nphyrev4_2056_A1;
17726 tbl_len = ARRAY_SIZE(chan_info_nphyrev4_2056_A1);
17727 } else if (NREV_IS(pi->pubpi.phy_rev, 5)
17728 || NREV_IS(pi->pubpi.phy_rev, 6)) {
17729 switch (pi->pubpi.radiorev) {
17731 chan_info_tbl_p_1 = chan_info_nphyrev5_2056v5;
17732 tbl_len = ARRAY_SIZE(chan_info_nphyrev5_2056v5);
17735 chan_info_tbl_p_1 = chan_info_nphyrev6_2056v6;
17736 tbl_len = ARRAY_SIZE(chan_info_nphyrev6_2056v6);
17740 chan_info_tbl_p_1 = chan_info_nphyrev5n6_2056v7;
17742 ARRAY_SIZE(chan_info_nphyrev5n6_2056v7);
17745 chan_info_tbl_p_1 = chan_info_nphyrev6_2056v8;
17746 tbl_len = ARRAY_SIZE(chan_info_nphyrev6_2056v8);
17749 chan_info_tbl_p_1 = chan_info_nphyrev6_2056v11;
17750 tbl_len = ARRAY_SIZE(chan_info_nphyrev6_2056v11);
17753 if (NORADIO_ENAB(pi->pubpi)) {
17760 for (i = 0; i < tbl_len; i++) {
17761 if (chan_info_tbl_p_1[i].chan == channel)
17765 if (i >= tbl_len) {
17766 ASSERT(i < tbl_len);
17769 *t1 = &chan_info_tbl_p_1[i];
17770 freq = chan_info_tbl_p_1[i].freq;
17773 for (i = 0; i < ARRAY_SIZE(chan_info_nphy_2055); i++)
17774 if (chan_info_nphy_2055[i].chan == channel)
17777 if (i >= ARRAY_SIZE(chan_info_nphy_2055)) {
17778 ASSERT(i < ARRAY_SIZE(chan_info_nphy_2055));
17781 *t3 = &chan_info_nphy_2055[i];
17782 freq = chan_info_nphy_2055[i].freq;
17789 *f = WL_CHAN_FREQ_RANGE_2G;
17793 u8 wlc_phy_get_chan_freq_range_nphy(phy_info_t *pi, uint channel)
17796 chan_info_nphy_radio2057_t *t0 = NULL;
17797 chan_info_nphy_radio205x_t *t1 = NULL;
17798 chan_info_nphy_radio2057_rev5_t *t2 = NULL;
17799 chan_info_nphy_2055_t *t3 = NULL;
17801 if (NORADIO_ENAB(pi->pubpi))
17802 return WL_CHAN_FREQ_RANGE_2G;
17805 channel = CHSPEC_CHANNEL(pi->radio_chanspec);
17807 wlc_phy_chan2freq_nphy(pi, channel, &freq, &t0, &t1, &t2, &t3);
17809 if (CHSPEC_IS2G(pi->radio_chanspec))
17810 return WL_CHAN_FREQ_RANGE_2G;
17812 if ((freq >= BASE_LOW_5G_CHAN) && (freq < BASE_MID_5G_CHAN)) {
17813 return WL_CHAN_FREQ_RANGE_5GL;
17814 } else if ((freq >= BASE_MID_5G_CHAN) && (freq < BASE_HIGH_5G_CHAN)) {
17815 return WL_CHAN_FREQ_RANGE_5GM;
17817 return WL_CHAN_FREQ_RANGE_5GH;
17822 wlc_phy_chanspec_radio2055_setup(phy_info_t *pi, chan_info_nphy_2055_t *ci)
17825 write_radio_reg(pi, RADIO_2055_PLL_REF, ci->RF_pll_ref);
17826 write_radio_reg(pi, RADIO_2055_RF_PLL_MOD0, ci->RF_rf_pll_mod0);
17827 write_radio_reg(pi, RADIO_2055_RF_PLL_MOD1, ci->RF_rf_pll_mod1);
17828 write_radio_reg(pi, RADIO_2055_VCO_CAP_TAIL, ci->RF_vco_cap_tail);
17830 WLC_PHY_WAR_PR51571(pi);
17832 write_radio_reg(pi, RADIO_2055_VCO_CAL1, ci->RF_vco_cal1);
17833 write_radio_reg(pi, RADIO_2055_VCO_CAL2, ci->RF_vco_cal2);
17834 write_radio_reg(pi, RADIO_2055_PLL_LF_C1, ci->RF_pll_lf_c1);
17835 write_radio_reg(pi, RADIO_2055_PLL_LF_R1, ci->RF_pll_lf_r1);
17837 WLC_PHY_WAR_PR51571(pi);
17839 write_radio_reg(pi, RADIO_2055_PLL_LF_C2, ci->RF_pll_lf_c2);
17840 write_radio_reg(pi, RADIO_2055_LGBUF_CEN_BUF, ci->RF_lgbuf_cen_buf);
17841 write_radio_reg(pi, RADIO_2055_LGEN_TUNE1, ci->RF_lgen_tune1);
17842 write_radio_reg(pi, RADIO_2055_LGEN_TUNE2, ci->RF_lgen_tune2);
17844 WLC_PHY_WAR_PR51571(pi);
17846 write_radio_reg(pi, RADIO_2055_CORE1_LGBUF_A_TUNE,
17847 ci->RF_core1_lgbuf_a_tune);
17848 write_radio_reg(pi, RADIO_2055_CORE1_LGBUF_G_TUNE,
17849 ci->RF_core1_lgbuf_g_tune);
17850 write_radio_reg(pi, RADIO_2055_CORE1_RXRF_REG1, ci->RF_core1_rxrf_reg1);
17851 write_radio_reg(pi, RADIO_2055_CORE1_TX_PGA_PAD_TN,
17852 ci->RF_core1_tx_pga_pad_tn);
17854 WLC_PHY_WAR_PR51571(pi);
17856 write_radio_reg(pi, RADIO_2055_CORE1_TX_MX_BGTRIM,
17857 ci->RF_core1_tx_mx_bgtrim);
17858 write_radio_reg(pi, RADIO_2055_CORE2_LGBUF_A_TUNE,
17859 ci->RF_core2_lgbuf_a_tune);
17860 write_radio_reg(pi, RADIO_2055_CORE2_LGBUF_G_TUNE,
17861 ci->RF_core2_lgbuf_g_tune);
17862 write_radio_reg(pi, RADIO_2055_CORE2_RXRF_REG1, ci->RF_core2_rxrf_reg1);
17864 WLC_PHY_WAR_PR51571(pi);
17866 write_radio_reg(pi, RADIO_2055_CORE2_TX_PGA_PAD_TN,
17867 ci->RF_core2_tx_pga_pad_tn);
17868 write_radio_reg(pi, RADIO_2055_CORE2_TX_MX_BGTRIM,
17869 ci->RF_core2_tx_mx_bgtrim);
17873 write_radio_reg(pi, RADIO_2055_VCO_CAL10, 0x05);
17874 write_radio_reg(pi, RADIO_2055_VCO_CAL10, 0x45);
17876 WLC_PHY_WAR_PR51571(pi);
17878 write_radio_reg(pi, RADIO_2055_VCO_CAL10, 0x65);
17884 wlc_phy_chanspec_radio2056_setup(phy_info_t *pi,
17885 const chan_info_nphy_radio205x_t *ci)
17887 radio_regs_t *regs_SYN_2056_ptr = NULL;
17889 write_radio_reg(pi,
17890 RADIO_2056_SYN_PLL_VCOCAL1 | RADIO_2056_SYN,
17891 ci->RF_SYN_pll_vcocal1);
17892 write_radio_reg(pi, RADIO_2056_SYN_PLL_VCOCAL2 | RADIO_2056_SYN,
17893 ci->RF_SYN_pll_vcocal2);
17894 write_radio_reg(pi, RADIO_2056_SYN_PLL_REFDIV | RADIO_2056_SYN,
17895 ci->RF_SYN_pll_refdiv);
17896 write_radio_reg(pi, RADIO_2056_SYN_PLL_MMD2 | RADIO_2056_SYN,
17897 ci->RF_SYN_pll_mmd2);
17898 write_radio_reg(pi, RADIO_2056_SYN_PLL_MMD1 | RADIO_2056_SYN,
17899 ci->RF_SYN_pll_mmd1);
17900 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER1 | RADIO_2056_SYN,
17901 ci->RF_SYN_pll_loopfilter1);
17902 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER2 | RADIO_2056_SYN,
17903 ci->RF_SYN_pll_loopfilter2);
17904 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER3 | RADIO_2056_SYN,
17905 ci->RF_SYN_pll_loopfilter3);
17906 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER4 | RADIO_2056_SYN,
17907 ci->RF_SYN_pll_loopfilter4);
17908 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER5 | RADIO_2056_SYN,
17909 ci->RF_SYN_pll_loopfilter5);
17910 write_radio_reg(pi, RADIO_2056_SYN_RESERVED_ADDR27 | RADIO_2056_SYN,
17911 ci->RF_SYN_reserved_addr27);
17912 write_radio_reg(pi, RADIO_2056_SYN_RESERVED_ADDR28 | RADIO_2056_SYN,
17913 ci->RF_SYN_reserved_addr28);
17914 write_radio_reg(pi, RADIO_2056_SYN_RESERVED_ADDR29 | RADIO_2056_SYN,
17915 ci->RF_SYN_reserved_addr29);
17916 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_VCOBUF1 | RADIO_2056_SYN,
17917 ci->RF_SYN_logen_VCOBUF1);
17918 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_MIXER2 | RADIO_2056_SYN,
17919 ci->RF_SYN_logen_MIXER2);
17920 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_BUF3 | RADIO_2056_SYN,
17921 ci->RF_SYN_logen_BUF3);
17922 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_BUF4 | RADIO_2056_SYN,
17923 ci->RF_SYN_logen_BUF4);
17925 write_radio_reg(pi,
17926 RADIO_2056_RX_LNAA_TUNE | RADIO_2056_RX0,
17927 ci->RF_RX0_lnaa_tune);
17928 write_radio_reg(pi, RADIO_2056_RX_LNAG_TUNE | RADIO_2056_RX0,
17929 ci->RF_RX0_lnag_tune);
17930 write_radio_reg(pi, RADIO_2056_TX_INTPAA_BOOST_TUNE | RADIO_2056_TX0,
17931 ci->RF_TX0_intpaa_boost_tune);
17932 write_radio_reg(pi, RADIO_2056_TX_INTPAG_BOOST_TUNE | RADIO_2056_TX0,
17933 ci->RF_TX0_intpag_boost_tune);
17934 write_radio_reg(pi, RADIO_2056_TX_PADA_BOOST_TUNE | RADIO_2056_TX0,
17935 ci->RF_TX0_pada_boost_tune);
17936 write_radio_reg(pi, RADIO_2056_TX_PADG_BOOST_TUNE | RADIO_2056_TX0,
17937 ci->RF_TX0_padg_boost_tune);
17938 write_radio_reg(pi, RADIO_2056_TX_PGAA_BOOST_TUNE | RADIO_2056_TX0,
17939 ci->RF_TX0_pgaa_boost_tune);
17940 write_radio_reg(pi, RADIO_2056_TX_PGAG_BOOST_TUNE | RADIO_2056_TX0,
17941 ci->RF_TX0_pgag_boost_tune);
17942 write_radio_reg(pi, RADIO_2056_TX_MIXA_BOOST_TUNE | RADIO_2056_TX0,
17943 ci->RF_TX0_mixa_boost_tune);
17944 write_radio_reg(pi, RADIO_2056_TX_MIXG_BOOST_TUNE | RADIO_2056_TX0,
17945 ci->RF_TX0_mixg_boost_tune);
17947 write_radio_reg(pi,
17948 RADIO_2056_RX_LNAA_TUNE | RADIO_2056_RX1,
17949 ci->RF_RX1_lnaa_tune);
17950 write_radio_reg(pi, RADIO_2056_RX_LNAG_TUNE | RADIO_2056_RX1,
17951 ci->RF_RX1_lnag_tune);
17952 write_radio_reg(pi, RADIO_2056_TX_INTPAA_BOOST_TUNE | RADIO_2056_TX1,
17953 ci->RF_TX1_intpaa_boost_tune);
17954 write_radio_reg(pi, RADIO_2056_TX_INTPAG_BOOST_TUNE | RADIO_2056_TX1,
17955 ci->RF_TX1_intpag_boost_tune);
17956 write_radio_reg(pi, RADIO_2056_TX_PADA_BOOST_TUNE | RADIO_2056_TX1,
17957 ci->RF_TX1_pada_boost_tune);
17958 write_radio_reg(pi, RADIO_2056_TX_PADG_BOOST_TUNE | RADIO_2056_TX1,
17959 ci->RF_TX1_padg_boost_tune);
17960 write_radio_reg(pi, RADIO_2056_TX_PGAA_BOOST_TUNE | RADIO_2056_TX1,
17961 ci->RF_TX1_pgaa_boost_tune);
17962 write_radio_reg(pi, RADIO_2056_TX_PGAG_BOOST_TUNE | RADIO_2056_TX1,
17963 ci->RF_TX1_pgag_boost_tune);
17964 write_radio_reg(pi, RADIO_2056_TX_MIXA_BOOST_TUNE | RADIO_2056_TX1,
17965 ci->RF_TX1_mixa_boost_tune);
17966 write_radio_reg(pi, RADIO_2056_TX_MIXG_BOOST_TUNE | RADIO_2056_TX1,
17967 ci->RF_TX1_mixg_boost_tune);
17969 if (NREV_IS(pi->pubpi.phy_rev, 3))
17970 regs_SYN_2056_ptr = regs_SYN_2056;
17971 else if (NREV_IS(pi->pubpi.phy_rev, 4))
17972 regs_SYN_2056_ptr = regs_SYN_2056_A1;
17974 switch (pi->pubpi.radiorev) {
17976 regs_SYN_2056_ptr = regs_SYN_2056_rev5;
17979 regs_SYN_2056_ptr = regs_SYN_2056_rev6;
17983 regs_SYN_2056_ptr = regs_SYN_2056_rev7;
17986 regs_SYN_2056_ptr = regs_SYN_2056_rev8;
17989 regs_SYN_2056_ptr = regs_SYN_2056_rev11;
17993 if (CHSPEC_IS2G(pi->radio_chanspec)) {
17994 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 |
17996 (u16) regs_SYN_2056_ptr[0x49 - 2].init_g);
17998 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 |
18000 (u16) regs_SYN_2056_ptr[0x49 - 2].init_a);
18003 if (pi->sh->boardflags2 & BFL2_GPLL_WAR) {
18004 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18005 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER1 |
18006 RADIO_2056_SYN, 0x1f);
18007 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER2 |
18008 RADIO_2056_SYN, 0x1f);
18010 if ((CHIPID(pi->sh->chip) == BCM4716_CHIP_ID) ||
18011 (CHIPID(pi->sh->chip) == BCM47162_CHIP_ID)) {
18013 write_radio_reg(pi,
18014 RADIO_2056_SYN_PLL_LOOPFILTER4 |
18015 RADIO_2056_SYN, 0x14);
18016 write_radio_reg(pi,
18017 RADIO_2056_SYN_PLL_CP2 |
18018 RADIO_2056_SYN, 0x00);
18020 write_radio_reg(pi,
18021 RADIO_2056_SYN_PLL_LOOPFILTER4 |
18022 RADIO_2056_SYN, 0xb);
18023 write_radio_reg(pi,
18024 RADIO_2056_SYN_PLL_CP2 |
18025 RADIO_2056_SYN, 0x14);
18030 if ((pi->sh->boardflags2 & BFL2_GPLL_WAR2) &&
18031 (CHSPEC_IS2G(pi->radio_chanspec))) {
18032 write_radio_reg(pi,
18033 RADIO_2056_SYN_PLL_LOOPFILTER1 | RADIO_2056_SYN,
18035 write_radio_reg(pi,
18036 RADIO_2056_SYN_PLL_LOOPFILTER2 | RADIO_2056_SYN,
18038 write_radio_reg(pi,
18039 RADIO_2056_SYN_PLL_LOOPFILTER4 | RADIO_2056_SYN,
18041 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 | RADIO_2056_SYN,
18045 if (pi->sh->boardflags2 & BFL2_APLL_WAR) {
18046 if (CHSPEC_IS5G(pi->radio_chanspec)) {
18047 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER1 |
18048 RADIO_2056_SYN, 0x1f);
18049 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER2 |
18050 RADIO_2056_SYN, 0x1f);
18051 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER4 |
18052 RADIO_2056_SYN, 0x5);
18053 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 |
18054 RADIO_2056_SYN, 0xc);
18058 if (PHY_IPA(pi) && CHSPEC_IS2G(pi->radio_chanspec)) {
18059 u16 pag_boost_tune;
18060 u16 padg_boost_tune;
18061 u16 pgag_boost_tune;
18062 u16 mixg_boost_tune;
18063 u16 bias, cascbias;
18066 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
18068 if (NREV_GE(pi->pubpi.phy_rev, 5)) {
18070 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18073 if ((CHIPID(pi->sh->chip) == BCM4716_CHIP_ID) ||
18074 (CHIPID(pi->sh->chip) ==
18075 BCM47162_CHIP_ID)) {
18078 pag_boost_tune = 0x5;
18079 pgag_boost_tune = 0x33;
18080 padg_boost_tune = 0x77;
18081 mixg_boost_tune = 0x55;
18086 if ((CHIPID(pi->sh->chip) ==
18088 || (CHIPID(pi->sh->chip) ==
18090 || (CHIPID(pi->sh->chip) ==
18091 BCM43421_CHIP_ID)) {
18092 if (pi->sh->chippkg ==
18093 BCM43224_FAB_SMIC) {
18099 pag_boost_tune = 0x4;
18100 pgag_boost_tune = 0x03;
18101 padg_boost_tune = 0x77;
18102 mixg_boost_tune = 0x65;
18105 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18106 INTPAG_IMAIN_STAT, bias);
18107 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18108 INTPAG_IAUX_STAT, bias);
18109 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18110 INTPAG_CASCBIAS, cascbias);
18112 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18115 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18118 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18121 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18126 bias = IS40MHZ(pi) ? 0x40 : 0x20;
18128 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18129 INTPAG_IMAIN_STAT, bias);
18130 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18131 INTPAG_IAUX_STAT, bias);
18132 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18133 INTPAG_CASCBIAS, 0x30);
18135 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, PA_SPARE1,
18140 if (PHY_IPA(pi) && NREV_IS(pi->pubpi.phy_rev, 6)
18141 && CHSPEC_IS5G(pi->radio_chanspec)) {
18142 u16 paa_boost_tune;
18143 u16 pada_boost_tune;
18144 u16 pgaa_boost_tune;
18145 u16 mixa_boost_tune;
18146 u16 freq, pabias, cascbias;
18149 freq = CHAN5G_FREQ(CHSPEC_CHANNEL(pi->radio_chanspec));
18153 paa_boost_tune = 0xa;
18154 pada_boost_tune = 0x77;
18155 pgaa_boost_tune = 0xf;
18156 mixa_boost_tune = 0xf;
18157 } else if (freq < 5340) {
18159 paa_boost_tune = 0x8;
18160 pada_boost_tune = 0x77;
18161 pgaa_boost_tune = 0xfb;
18162 mixa_boost_tune = 0xf;
18163 } else if (freq < 5650) {
18165 paa_boost_tune = 0x0;
18166 pada_boost_tune = 0x77;
18167 pgaa_boost_tune = 0xb;
18168 mixa_boost_tune = 0xf;
18171 paa_boost_tune = 0x0;
18172 pada_boost_tune = 0x77;
18173 if (freq != 5825) {
18174 pgaa_boost_tune = -(int)(freq - 18) / 36 + 168;
18176 pgaa_boost_tune = 6;
18178 mixa_boost_tune = 0xf;
18181 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
18182 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18183 INTPAA_BOOST_TUNE, paa_boost_tune);
18184 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18185 PADA_BOOST_TUNE, pada_boost_tune);
18186 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18187 PGAA_BOOST_TUNE, pgaa_boost_tune);
18188 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18189 MIXA_BOOST_TUNE, mixa_boost_tune);
18191 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18193 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18196 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18197 PADA_CASCBIAS, 0x3);
18201 if ((CHIPID(pi->sh->chip) == BCM43224_CHIP_ID) ||
18202 (CHIPID(pi->sh->chip) == BCM43225_CHIP_ID) ||
18203 (CHIPID(pi->sh->chip) == BCM43421_CHIP_ID)) {
18204 if (pi->sh->chippkg == BCM43224_FAB_SMIC) {
18209 pabias = (pi->phy_pabias == 0) ? 0x30 : pi->phy_pabias;
18211 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18212 INTPAA_IAUX_STAT, pabias);
18213 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18214 INTPAA_IMAIN_STAT, pabias);
18215 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18216 INTPAA_CASCBIAS, cascbias);
18222 wlc_phy_radio205x_vcocal_nphy(pi);
18225 void wlc_phy_radio205x_vcocal_nphy(phy_info_t *pi)
18227 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18228 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_EN, 0x01, 0x0);
18229 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x04, 0x0);
18230 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x04,
18232 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_EN, 0x01, 0x01);
18233 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18234 write_radio_reg(pi, RADIO_2056_SYN_PLL_VCOCAL12, 0x0);
18235 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x38);
18236 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x18);
18237 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x38);
18238 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x39);
18244 #define MAX_205x_RCAL_WAITLOOPS 10000
18246 static u16 wlc_phy_radio205x_rcal(phy_info_t *pi)
18251 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18253 if (pi->pubpi.radiorev == 5) {
18255 and_phy_reg(pi, 0x342, ~(0x1 << 1));
18259 mod_radio_reg(pi, RADIO_2057_IQTEST_SEL_PU, 0x1, 0x1);
18260 mod_radio_reg(pi, RADIO_2057v7_IQTEST_SEL_PU2, 0x2,
18263 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x1, 0x1);
18267 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x3, 0x3);
18269 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18270 rcal_reg = read_radio_reg(pi, RADIO_2057_RCAL_STATUS);
18271 if (rcal_reg & 0x1) {
18277 ASSERT(i < MAX_205x_RCAL_WAITLOOPS);
18279 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x2, 0x0);
18281 rcal_reg = read_radio_reg(pi, RADIO_2057_RCAL_STATUS) & 0x3e;
18283 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x1, 0x0);
18284 if (pi->pubpi.radiorev == 5) {
18286 mod_radio_reg(pi, RADIO_2057_IQTEST_SEL_PU, 0x1, 0x0);
18287 mod_radio_reg(pi, RADIO_2057v7_IQTEST_SEL_PU2, 0x2,
18291 if ((pi->pubpi.radiorev <= 4) || (pi->pubpi.radiorev == 6)) {
18293 mod_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG, 0x3c,
18295 mod_radio_reg(pi, RADIO_2057_BANDGAP_RCAL_TRIM, 0xf0,
18299 } else if (NREV_IS(pi->pubpi.phy_rev, 3)) {
18304 RADIO_2056_SYN_PLL_MAST2 | RADIO_2056_SYN);
18305 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2 | RADIO_2056_SYN,
18309 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18313 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18316 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18317 rcal_reg = read_radio_reg(pi,
18318 RADIO_2056_SYN_RCAL_CODE_OUT |
18320 if (rcal_reg & 0x80) {
18326 ASSERT(i < MAX_205x_RCAL_WAITLOOPS);
18328 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18333 RADIO_2056_SYN_RCAL_CODE_OUT |
18336 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18339 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2 | RADIO_2056_SYN,
18342 return rcal_reg & 0x1f;
18344 return rcal_reg & 0x3e;
18348 wlc_phy_chanspec_radio2057_setup(phy_info_t *pi,
18349 const chan_info_nphy_radio2057_t *ci,
18350 const chan_info_nphy_radio2057_rev5_t *ci2)
18353 u16 txmix2g_tune_boost_pu = 0;
18354 u16 pad2g_tune_pus = 0;
18356 if (pi->pubpi.radiorev == 5) {
18358 write_radio_reg(pi,
18359 RADIO_2057_VCOCAL_COUNTVAL0,
18360 ci2->RF_vcocal_countval0);
18361 write_radio_reg(pi, RADIO_2057_VCOCAL_COUNTVAL1,
18362 ci2->RF_vcocal_countval1);
18363 write_radio_reg(pi, RADIO_2057_RFPLL_REFMASTER_SPAREXTALSIZE,
18364 ci2->RF_rfpll_refmaster_sparextalsize);
18365 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18366 ci2->RF_rfpll_loopfilter_r1);
18367 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18368 ci2->RF_rfpll_loopfilter_c2);
18369 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18370 ci2->RF_rfpll_loopfilter_c1);
18371 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC,
18372 ci2->RF_cp_kpd_idac);
18373 write_radio_reg(pi, RADIO_2057_RFPLL_MMD0, ci2->RF_rfpll_mmd0);
18374 write_radio_reg(pi, RADIO_2057_RFPLL_MMD1, ci2->RF_rfpll_mmd1);
18375 write_radio_reg(pi,
18376 RADIO_2057_VCOBUF_TUNE, ci2->RF_vcobuf_tune);
18377 write_radio_reg(pi,
18378 RADIO_2057_LOGEN_MX2G_TUNE,
18379 ci2->RF_logen_mx2g_tune);
18380 write_radio_reg(pi, RADIO_2057_LOGEN_INDBUF2G_TUNE,
18381 ci2->RF_logen_indbuf2g_tune);
18383 write_radio_reg(pi,
18384 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE0,
18385 ci2->RF_txmix2g_tune_boost_pu_core0);
18386 write_radio_reg(pi,
18387 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
18388 ci2->RF_pad2g_tune_pus_core0);
18389 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE0,
18390 ci2->RF_lna2g_tune_core0);
18392 write_radio_reg(pi,
18393 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE1,
18394 ci2->RF_txmix2g_tune_boost_pu_core1);
18395 write_radio_reg(pi,
18396 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
18397 ci2->RF_pad2g_tune_pus_core1);
18398 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE1,
18399 ci2->RF_lna2g_tune_core1);
18403 write_radio_reg(pi,
18404 RADIO_2057_VCOCAL_COUNTVAL0,
18405 ci->RF_vcocal_countval0);
18406 write_radio_reg(pi, RADIO_2057_VCOCAL_COUNTVAL1,
18407 ci->RF_vcocal_countval1);
18408 write_radio_reg(pi, RADIO_2057_RFPLL_REFMASTER_SPAREXTALSIZE,
18409 ci->RF_rfpll_refmaster_sparextalsize);
18410 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18411 ci->RF_rfpll_loopfilter_r1);
18412 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18413 ci->RF_rfpll_loopfilter_c2);
18414 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18415 ci->RF_rfpll_loopfilter_c1);
18416 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, ci->RF_cp_kpd_idac);
18417 write_radio_reg(pi, RADIO_2057_RFPLL_MMD0, ci->RF_rfpll_mmd0);
18418 write_radio_reg(pi, RADIO_2057_RFPLL_MMD1, ci->RF_rfpll_mmd1);
18419 write_radio_reg(pi, RADIO_2057_VCOBUF_TUNE, ci->RF_vcobuf_tune);
18420 write_radio_reg(pi,
18421 RADIO_2057_LOGEN_MX2G_TUNE,
18422 ci->RF_logen_mx2g_tune);
18423 write_radio_reg(pi, RADIO_2057_LOGEN_MX5G_TUNE,
18424 ci->RF_logen_mx5g_tune);
18425 write_radio_reg(pi, RADIO_2057_LOGEN_INDBUF2G_TUNE,
18426 ci->RF_logen_indbuf2g_tune);
18427 write_radio_reg(pi, RADIO_2057_LOGEN_INDBUF5G_TUNE,
18428 ci->RF_logen_indbuf5g_tune);
18430 write_radio_reg(pi,
18431 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE0,
18432 ci->RF_txmix2g_tune_boost_pu_core0);
18433 write_radio_reg(pi,
18434 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
18435 ci->RF_pad2g_tune_pus_core0);
18436 write_radio_reg(pi, RADIO_2057_PGA_BOOST_TUNE_CORE0,
18437 ci->RF_pga_boost_tune_core0);
18438 write_radio_reg(pi, RADIO_2057_TXMIX5G_BOOST_TUNE_CORE0,
18439 ci->RF_txmix5g_boost_tune_core0);
18440 write_radio_reg(pi, RADIO_2057_PAD5G_TUNE_MISC_PUS_CORE0,
18441 ci->RF_pad5g_tune_misc_pus_core0);
18442 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE0,
18443 ci->RF_lna2g_tune_core0);
18444 write_radio_reg(pi, RADIO_2057_LNA5G_TUNE_CORE0,
18445 ci->RF_lna5g_tune_core0);
18447 write_radio_reg(pi,
18448 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE1,
18449 ci->RF_txmix2g_tune_boost_pu_core1);
18450 write_radio_reg(pi,
18451 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
18452 ci->RF_pad2g_tune_pus_core1);
18453 write_radio_reg(pi, RADIO_2057_PGA_BOOST_TUNE_CORE1,
18454 ci->RF_pga_boost_tune_core1);
18455 write_radio_reg(pi, RADIO_2057_TXMIX5G_BOOST_TUNE_CORE1,
18456 ci->RF_txmix5g_boost_tune_core1);
18457 write_radio_reg(pi, RADIO_2057_PAD5G_TUNE_MISC_PUS_CORE1,
18458 ci->RF_pad5g_tune_misc_pus_core1);
18459 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE1,
18460 ci->RF_lna2g_tune_core1);
18461 write_radio_reg(pi, RADIO_2057_LNA5G_TUNE_CORE1,
18462 ci->RF_lna5g_tune_core1);
18465 if ((pi->pubpi.radiorev <= 4) || (pi->pubpi.radiorev == 6)) {
18467 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18468 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18470 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x3f);
18471 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18473 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18476 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18478 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x3f);
18479 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18481 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18484 } else if ((pi->pubpi.radiorev == 5) || (pi->pubpi.radiorev == 7) ||
18485 (pi->pubpi.radiorev == 8)) {
18487 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18488 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18490 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x30);
18491 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18493 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18496 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18498 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x3f);
18499 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18501 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18507 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18509 if (pi->pubpi.radiorev == 3) {
18510 txmix2g_tune_boost_pu = 0x6b;
18513 if (pi->pubpi.radiorev == 5)
18514 pad2g_tune_pus = 0x73;
18517 if (pi->pubpi.radiorev != 5) {
18518 pad2g_tune_pus = 0x3;
18520 txmix2g_tune_boost_pu = 0x61;
18524 for (coreNum = 0; coreNum <= 1; coreNum++) {
18526 if (txmix2g_tune_boost_pu != 0)
18527 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
18528 TXMIX2G_TUNE_BOOST_PU,
18529 txmix2g_tune_boost_pu);
18531 if (pad2g_tune_pus != 0)
18532 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
18540 wlc_phy_radio205x_vcocal_nphy(pi);
18543 static u16 wlc_phy_radio2057_rccal(phy_info_t *pi)
18547 bool chip43226_6362A0;
18549 chip43226_6362A0 = ((pi->pubpi.radiorev == 3)
18550 || (pi->pubpi.radiorev == 4)
18551 || (pi->pubpi.radiorev == 6));
18554 if (chip43226_6362A0) {
18555 write_radio_reg(pi, RADIO_2057_RCCAL_MASTER, 0x61);
18556 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xc0);
18558 write_radio_reg(pi, RADIO_2057v7_RCCAL_MASTER, 0x61);
18560 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xe9);
18562 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x6e);
18563 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x55);
18565 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18566 rccal_valid = read_radio_reg(pi, RADIO_2057_RCCAL_DONE_OSCCAP);
18567 if (rccal_valid & 0x2) {
18573 ASSERT(rccal_valid & 0x2);
18575 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x15);
18578 if (chip43226_6362A0) {
18579 write_radio_reg(pi, RADIO_2057_RCCAL_MASTER, 0x69);
18580 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xb0);
18582 write_radio_reg(pi, RADIO_2057v7_RCCAL_MASTER, 0x69);
18584 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xd5);
18586 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x6e);
18587 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x55);
18589 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18590 rccal_valid = read_radio_reg(pi, RADIO_2057_RCCAL_DONE_OSCCAP);
18591 if (rccal_valid & 0x2) {
18597 ASSERT(rccal_valid & 0x2);
18599 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x15);
18602 if (chip43226_6362A0) {
18603 write_radio_reg(pi, RADIO_2057_RCCAL_MASTER, 0x73);
18605 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x28);
18606 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xb0);
18608 write_radio_reg(pi, RADIO_2057v7_RCCAL_MASTER, 0x73);
18609 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x6e);
18610 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0x99);
18612 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x55);
18614 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18615 rccal_valid = read_radio_reg(pi, RADIO_2057_RCCAL_DONE_OSCCAP);
18616 if (rccal_valid & 0x2) {
18622 ASSERT(rccal_valid & 0x2);
18624 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x15);
18626 return rccal_valid;
18630 wlc_phy_adjust_rx_analpfbw_nphy(phy_info_t *pi, u16 reduction_factr)
18632 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
18633 if ((CHSPEC_CHANNEL(pi->radio_chanspec) == 11) &&
18634 CHSPEC_IS40(pi->radio_chanspec)) {
18635 if (!pi->nphy_anarxlpf_adjusted) {
18636 write_radio_reg(pi,
18637 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
18639 ((pi->nphy_rccal_value +
18640 reduction_factr) | 0x80));
18642 pi->nphy_anarxlpf_adjusted = true;
18645 if (pi->nphy_anarxlpf_adjusted) {
18646 write_radio_reg(pi,
18647 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
18649 (pi->nphy_rccal_value | 0x80));
18651 pi->nphy_anarxlpf_adjusted = false;
18658 wlc_phy_adjust_min_noisevar_nphy(phy_info_t *pi, int ntones, int *tone_id_buf,
18659 u32 *noise_var_buf)
18666 radio_chanspec) ? NPHY_NOISEVAR_TBLLEN40 :
18667 NPHY_NOISEVAR_TBLLEN20;
18669 if (pi->nphy_noisevars_adjusted) {
18670 for (i = 0; i < pi->nphy_saved_noisevars.bufcount; i++) {
18671 tone_id = pi->nphy_saved_noisevars.tone_id[i];
18672 offset = (tone_id >= 0) ?
18673 ((tone_id * 2) + 1) : (tbllen + (tone_id * 2) + 1);
18674 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
18677 nphy_saved_noisevars.
18678 min_noise_vars[i]);
18681 pi->nphy_saved_noisevars.bufcount = 0;
18682 pi->nphy_noisevars_adjusted = false;
18685 if ((noise_var_buf != NULL) && (tone_id_buf != NULL)) {
18686 pi->nphy_saved_noisevars.bufcount = 0;
18688 for (i = 0; i < ntones; i++) {
18689 tone_id = tone_id_buf[i];
18690 offset = (tone_id >= 0) ?
18691 ((tone_id * 2) + 1) : (tbllen + (tone_id * 2) + 1);
18692 pi->nphy_saved_noisevars.tone_id[i] = tone_id;
18693 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
18695 &pi->nphy_saved_noisevars.
18696 min_noise_vars[i]);
18697 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
18699 (void *)&noise_var_buf[i]);
18700 pi->nphy_saved_noisevars.bufcount++;
18703 pi->nphy_noisevars_adjusted = true;
18707 static void wlc_phy_adjust_crsminpwr_nphy(phy_info_t *pi, u8 minpwr)
18711 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18712 if ((CHSPEC_CHANNEL(pi->radio_chanspec) == 11) &&
18713 CHSPEC_IS40(pi->radio_chanspec)) {
18714 if (!pi->nphy_crsminpwr_adjusted) {
18715 regval = read_phy_reg(pi, 0x27d);
18716 pi->nphy_crsminpwr[0] = regval & 0xff;
18718 regval |= (u16) minpwr;
18719 write_phy_reg(pi, 0x27d, regval);
18721 regval = read_phy_reg(pi, 0x280);
18722 pi->nphy_crsminpwr[1] = regval & 0xff;
18724 regval |= (u16) minpwr;
18725 write_phy_reg(pi, 0x280, regval);
18727 regval = read_phy_reg(pi, 0x283);
18728 pi->nphy_crsminpwr[2] = regval & 0xff;
18730 regval |= (u16) minpwr;
18731 write_phy_reg(pi, 0x283, regval);
18733 pi->nphy_crsminpwr_adjusted = true;
18736 if (pi->nphy_crsminpwr_adjusted) {
18737 regval = read_phy_reg(pi, 0x27d);
18739 regval |= pi->nphy_crsminpwr[0];
18740 write_phy_reg(pi, 0x27d, regval);
18742 regval = read_phy_reg(pi, 0x280);
18744 regval |= pi->nphy_crsminpwr[1];
18745 write_phy_reg(pi, 0x280, regval);
18747 regval = read_phy_reg(pi, 0x283);
18749 regval |= pi->nphy_crsminpwr[2];
18750 write_phy_reg(pi, 0x283, regval);
18752 pi->nphy_crsminpwr_adjusted = false;
18758 static void wlc_phy_txlpfbw_nphy(phy_info_t *pi)
18762 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
18763 if (CHSPEC_IS40(pi->radio_chanspec)) {
18770 if (CHSPEC_IS40(pi->radio_chanspec)) {
18776 write_phy_reg(pi, 0xe8,
18779 (tx_lpf_bw << 6) | (tx_lpf_bw << 9));
18783 if (CHSPEC_IS40(pi->radio_chanspec)) {
18789 write_phy_reg(pi, 0xe9,
18792 (tx_lpf_bw << 6) | (tx_lpf_bw << 9));
18797 static void wlc_phy_spurwar_nphy(phy_info_t *pi)
18799 u16 cur_channel = 0;
18800 int nphy_adj_tone_id_buf[] = { 57, 58 };
18801 u32 nphy_adj_noise_var_buf[] = { 0x3ff, 0x3ff };
18802 bool isAdjustNoiseVar = false;
18803 uint numTonesAdjust = 0;
18806 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18807 if (pi->phyhang_avoid)
18808 wlc_phy_stay_in_carriersearch_nphy(pi, true);
18810 cur_channel = CHSPEC_CHANNEL(pi->radio_chanspec);
18812 if (pi->nphy_gband_spurwar_en) {
18814 wlc_phy_adjust_rx_analpfbw_nphy(pi,
18815 NPHY_ANARXLPFBW_REDUCTIONFACT);
18817 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18818 if ((cur_channel == 11)
18819 && CHSPEC_IS40(pi->radio_chanspec)) {
18821 wlc_phy_adjust_min_noisevar_nphy(pi, 2,
18822 nphy_adj_tone_id_buf,
18823 nphy_adj_noise_var_buf);
18826 wlc_phy_adjust_min_noisevar_nphy(pi, 0,
18831 wlc_phy_adjust_crsminpwr_nphy(pi,
18832 NPHY_ADJUSTED_MINCRSPOWER);
18835 if ((pi->nphy_gband_spurwar2_en)
18836 && CHSPEC_IS2G(pi->radio_chanspec)) {
18838 if (CHSPEC_IS40(pi->radio_chanspec)) {
18839 switch (cur_channel) {
18841 nphy_adj_tone_id_buf[0] = 57;
18842 nphy_adj_tone_id_buf[1] = 58;
18843 nphy_adj_noise_var_buf[0] = 0x22f;
18844 nphy_adj_noise_var_buf[1] = 0x25f;
18845 isAdjustNoiseVar = true;
18848 nphy_adj_tone_id_buf[0] = 41;
18849 nphy_adj_tone_id_buf[1] = 42;
18850 nphy_adj_noise_var_buf[0] = 0x22f;
18851 nphy_adj_noise_var_buf[1] = 0x25f;
18852 isAdjustNoiseVar = true;
18855 nphy_adj_tone_id_buf[0] = 25;
18856 nphy_adj_tone_id_buf[1] = 26;
18857 nphy_adj_noise_var_buf[0] = 0x24f;
18858 nphy_adj_noise_var_buf[1] = 0x25f;
18859 isAdjustNoiseVar = true;
18862 nphy_adj_tone_id_buf[0] = 9;
18863 nphy_adj_tone_id_buf[1] = 10;
18864 nphy_adj_noise_var_buf[0] = 0x22f;
18865 nphy_adj_noise_var_buf[1] = 0x24f;
18866 isAdjustNoiseVar = true;
18869 nphy_adj_tone_id_buf[0] = 121;
18870 nphy_adj_tone_id_buf[1] = 122;
18871 nphy_adj_noise_var_buf[0] = 0x18f;
18872 nphy_adj_noise_var_buf[1] = 0x24f;
18873 isAdjustNoiseVar = true;
18876 nphy_adj_tone_id_buf[0] = 105;
18877 nphy_adj_tone_id_buf[1] = 106;
18878 nphy_adj_noise_var_buf[0] = 0x22f;
18879 nphy_adj_noise_var_buf[1] = 0x25f;
18880 isAdjustNoiseVar = true;
18883 nphy_adj_tone_id_buf[0] = 89;
18884 nphy_adj_tone_id_buf[1] = 90;
18885 nphy_adj_noise_var_buf[0] = 0x22f;
18886 nphy_adj_noise_var_buf[1] = 0x24f;
18887 isAdjustNoiseVar = true;
18890 nphy_adj_tone_id_buf[0] = 73;
18891 nphy_adj_tone_id_buf[1] = 74;
18892 nphy_adj_noise_var_buf[0] = 0x22f;
18893 nphy_adj_noise_var_buf[1] = 0x24f;
18894 isAdjustNoiseVar = true;
18897 isAdjustNoiseVar = false;
18902 if (isAdjustNoiseVar) {
18903 numTonesAdjust = sizeof(nphy_adj_tone_id_buf) /
18904 sizeof(nphy_adj_tone_id_buf[0]);
18906 wlc_phy_adjust_min_noisevar_nphy(pi,
18908 nphy_adj_tone_id_buf,
18909 nphy_adj_noise_var_buf);
18915 wlc_phy_adjust_min_noisevar_nphy(pi, 0, NULL,
18920 if ((pi->nphy_aband_spurwar_en) &&
18921 (CHSPEC_IS5G(pi->radio_chanspec))) {
18922 switch (cur_channel) {
18924 nphy_adj_tone_id_buf[0] = 32;
18925 nphy_adj_noise_var_buf[0] = 0x25f;
18930 if ((CHIPID(pi->sh->chip) == BCM4716_CHIP_ID) &&
18931 (pi->sh->chippkg == BCM4717_PKG_ID)) {
18932 nphy_adj_tone_id_buf[0] = 32;
18933 nphy_adj_noise_var_buf[0] = 0x21f;
18935 nphy_adj_tone_id_buf[0] = 0;
18936 nphy_adj_noise_var_buf[0] = 0x0;
18940 nphy_adj_tone_id_buf[0] = 32;
18941 nphy_adj_noise_var_buf[0] = 0x21f;
18944 nphy_adj_tone_id_buf[0] = 16;
18945 nphy_adj_noise_var_buf[0] = 0x23f;
18949 nphy_adj_tone_id_buf[0] = 48;
18950 nphy_adj_noise_var_buf[0] = 0x23f;
18953 nphy_adj_tone_id_buf[0] = 0;
18954 nphy_adj_noise_var_buf[0] = 0x0;
18958 if (nphy_adj_tone_id_buf[0]
18959 && nphy_adj_noise_var_buf[0]) {
18960 wlc_phy_adjust_min_noisevar_nphy(pi, 1,
18961 nphy_adj_tone_id_buf,
18962 nphy_adj_noise_var_buf);
18964 wlc_phy_adjust_min_noisevar_nphy(pi, 0, NULL,
18969 if (pi->phyhang_avoid)
18970 wlc_phy_stay_in_carriersearch_nphy(pi, false);
18975 wlc_phy_chanspec_nphy_setup(phy_info_t *pi, chanspec_t chanspec,
18976 const nphy_sfo_cfg_t *ci)
18980 val = read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand;
18981 if (CHSPEC_IS5G(chanspec) && !val) {
18983 val = R_REG(pi->sh->osh, &pi->regs->psm_phy_hdr_param);
18984 W_REG(pi->sh->osh, &pi->regs->psm_phy_hdr_param,
18985 (val | MAC_PHY_FORCE_CLK));
18987 or_phy_reg(pi, (NPHY_TO_BPHY_OFF + BPHY_BB_CONFIG),
18988 (BBCFG_RESETCCA | BBCFG_RESETRX));
18990 W_REG(pi->sh->osh, &pi->regs->psm_phy_hdr_param, val);
18992 or_phy_reg(pi, 0x09, NPHY_BandControl_currentBand);
18993 } else if (!CHSPEC_IS5G(chanspec) && val) {
18995 and_phy_reg(pi, 0x09, ~NPHY_BandControl_currentBand);
18997 val = R_REG(pi->sh->osh, &pi->regs->psm_phy_hdr_param);
18998 W_REG(pi->sh->osh, &pi->regs->psm_phy_hdr_param,
18999 (val | MAC_PHY_FORCE_CLK));
19001 and_phy_reg(pi, (NPHY_TO_BPHY_OFF + BPHY_BB_CONFIG),
19002 (u16) (~(BBCFG_RESETCCA | BBCFG_RESETRX)));
19004 W_REG(pi->sh->osh, &pi->regs->psm_phy_hdr_param, val);
19007 write_phy_reg(pi, 0x1ce, ci->PHY_BW1a);
19008 write_phy_reg(pi, 0x1cf, ci->PHY_BW2);
19009 write_phy_reg(pi, 0x1d0, ci->PHY_BW3);
19011 write_phy_reg(pi, 0x1d1, ci->PHY_BW4);
19012 write_phy_reg(pi, 0x1d2, ci->PHY_BW5);
19013 write_phy_reg(pi, 0x1d3, ci->PHY_BW6);
19015 if (CHSPEC_CHANNEL(pi->radio_chanspec) == 14) {
19016 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_ofdm_en, 0);
19018 or_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_TEST, 0x800);
19020 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_ofdm_en,
19021 NPHY_ClassifierCtrl_ofdm_en);
19023 if (CHSPEC_IS2G(chanspec))
19024 and_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_TEST, ~0x840);
19027 if (pi->nphy_txpwrctrl == PHY_TPC_HW_OFF) {
19028 wlc_phy_txpwr_fixpower_nphy(pi);
19031 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
19033 wlc_phy_adjust_lnagaintbl_nphy(pi);
19036 wlc_phy_txlpfbw_nphy(pi);
19038 if (NREV_GE(pi->pubpi.phy_rev, 3)
19039 && (pi->phy_spuravoid != SPURAVOID_DISABLE)) {
19042 val = CHSPEC_CHANNEL(chanspec);
19043 if (!CHSPEC_IS40(pi->radio_chanspec)) {
19044 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19045 if ((val == 13) || (val == 14) || (val == 153)) {
19050 if (((val >= 5) && (val <= 8)) || (val == 13)
19056 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19062 if (pi->nphy_aband_spurwar_en &&
19063 ((val == 38) || (val == 102)
19064 || (val == 118))) {
19065 if ((CHIPID(pi->sh->chip) ==
19067 && (pi->sh->chippkg ==
19077 if (pi->phy_spuravoid == SPURAVOID_FORCEON)
19080 if ((CHIPID(pi->sh->chip) == BCM4716_CHIP_ID) ||
19081 (CHIPID(pi->sh->chip) == BCM47162_CHIP_ID)) {
19082 si_pmu_spuravoid(pi->sh->sih, pi->sh->osh, spuravoid);
19084 wlapi_bmac_core_phypll_ctl(pi->sh->physhim, false);
19085 si_pmu_spuravoid(pi->sh->sih, pi->sh->osh, spuravoid);
19086 wlapi_bmac_core_phypll_ctl(pi->sh->physhim, true);
19089 if ((CHIPID(pi->sh->chip) == BCM43224_CHIP_ID) ||
19090 (CHIPID(pi->sh->chip) == BCM43225_CHIP_ID) ||
19091 (CHIPID(pi->sh->chip) == BCM43421_CHIP_ID)) {
19093 if (spuravoid == 1) {
19095 W_REG(pi->sh->osh, &pi->regs->tsf_clk_frac_l,
19097 W_REG(pi->sh->osh, &pi->regs->tsf_clk_frac_h,
19101 W_REG(pi->sh->osh, &pi->regs->tsf_clk_frac_l,
19103 W_REG(pi->sh->osh, &pi->regs->tsf_clk_frac_h,
19108 if (!((CHIPID(pi->sh->chip) == BCM4716_CHIP_ID) ||
19109 (CHIPID(pi->sh->chip) == BCM47162_CHIP_ID))) {
19110 wlapi_bmac_core_phypll_reset(pi->sh->physhim);
19113 mod_phy_reg(pi, 0x01, (0x1 << 15),
19114 ((spuravoid > 0) ? (0x1 << 15) : 0));
19116 wlc_phy_resetcca_nphy(pi);
19118 pi->phy_isspuravoid = (spuravoid > 0);
19121 if (NREV_LT(pi->pubpi.phy_rev, 7))
19122 write_phy_reg(pi, 0x17e, 0x3830);
19124 wlc_phy_spurwar_nphy(pi);
19127 void wlc_phy_chanspec_set_nphy(phy_info_t *pi, chanspec_t chanspec)
19130 chan_info_nphy_radio2057_t *t0 = NULL;
19131 chan_info_nphy_radio205x_t *t1 = NULL;
19132 chan_info_nphy_radio2057_rev5_t *t2 = NULL;
19133 chan_info_nphy_2055_t *t3 = NULL;
19135 if (NORADIO_ENAB(pi->pubpi)) {
19139 if (!wlc_phy_chan2freq_nphy
19140 (pi, CHSPEC_CHANNEL(chanspec), &freq, &t0, &t1, &t2, &t3))
19143 wlc_phy_chanspec_radio_set((wlc_phy_t *) pi, chanspec);
19145 if (CHSPEC_BW(chanspec) != pi->bw)
19146 wlapi_bmac_bw_set(pi->sh->physhim, CHSPEC_BW(chanspec));
19148 if (CHSPEC_IS40(chanspec)) {
19149 if (CHSPEC_SB_UPPER(chanspec)) {
19150 or_phy_reg(pi, 0xa0, BPHY_BAND_SEL_UP20);
19151 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19152 or_phy_reg(pi, 0x310, PRIM_SEL_UP20);
19155 and_phy_reg(pi, 0xa0, ~BPHY_BAND_SEL_UP20);
19156 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19157 and_phy_reg(pi, 0x310,
19158 (~PRIM_SEL_UP20 & 0xffff));
19163 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19164 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19166 if ((pi->pubpi.radiorev <= 4)
19167 || (pi->pubpi.radiorev == 6)) {
19168 mod_radio_reg(pi, RADIO_2057_TIA_CONFIG_CORE0,
19170 (CHSPEC_IS5G(chanspec) ? (1 << 1)
19172 mod_radio_reg(pi, RADIO_2057_TIA_CONFIG_CORE1,
19174 (CHSPEC_IS5G(chanspec) ? (1 << 1)
19178 wlc_phy_chanspec_radio2057_setup(pi, t0, t2);
19179 wlc_phy_chanspec_nphy_setup(pi, chanspec,
19180 (pi->pubpi.radiorev ==
19181 5) ? (const nphy_sfo_cfg_t
19184 : (const nphy_sfo_cfg_t *)
19190 RADIO_2056_SYN_COM_CTRL | RADIO_2056_SYN,
19192 (CHSPEC_IS5G(chanspec) ? (0x1 << 2) : 0));
19193 wlc_phy_chanspec_radio2056_setup(pi, t1);
19195 wlc_phy_chanspec_nphy_setup(pi, chanspec,
19196 (const nphy_sfo_cfg_t *)
19202 mod_radio_reg(pi, RADIO_2055_MASTER_CNTRL1, 0x70,
19203 (CHSPEC_IS5G(chanspec) ? (0x02 << 4)
19206 wlc_phy_chanspec_radio2055_setup(pi, t3);
19207 wlc_phy_chanspec_nphy_setup(pi, chanspec,
19208 (const nphy_sfo_cfg_t *)&(t3->
19214 static void wlc_phy_savecal_nphy(phy_info_t *pi)
19218 u16 *txcal_radio_regs = NULL;
19220 if (pi->phyhang_avoid)
19221 wlc_phy_stay_in_carriersearch_nphy(pi, true);
19223 if (CHSPEC_IS2G(pi->radio_chanspec)) {
19225 wlc_phy_rx_iq_coeffs_nphy(pi, 0,
19226 &pi->calibration_cache.
19229 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19231 pi->calibration_cache.txcal_radio_regs_2G;
19232 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19234 pi->calibration_cache.txcal_radio_regs_2G[0] =
19236 RADIO_2056_TX_LOFT_FINE_I |
19238 pi->calibration_cache.txcal_radio_regs_2G[1] =
19240 RADIO_2056_TX_LOFT_FINE_Q |
19242 pi->calibration_cache.txcal_radio_regs_2G[2] =
19244 RADIO_2056_TX_LOFT_FINE_I |
19246 pi->calibration_cache.txcal_radio_regs_2G[3] =
19248 RADIO_2056_TX_LOFT_FINE_Q |
19251 pi->calibration_cache.txcal_radio_regs_2G[4] =
19253 RADIO_2056_TX_LOFT_COARSE_I |
19255 pi->calibration_cache.txcal_radio_regs_2G[5] =
19257 RADIO_2056_TX_LOFT_COARSE_Q |
19259 pi->calibration_cache.txcal_radio_regs_2G[6] =
19261 RADIO_2056_TX_LOFT_COARSE_I |
19263 pi->calibration_cache.txcal_radio_regs_2G[7] =
19265 RADIO_2056_TX_LOFT_COARSE_Q |
19268 pi->calibration_cache.txcal_radio_regs_2G[0] =
19269 read_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL);
19270 pi->calibration_cache.txcal_radio_regs_2G[1] =
19271 read_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL);
19272 pi->calibration_cache.txcal_radio_regs_2G[2] =
19273 read_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM);
19274 pi->calibration_cache.txcal_radio_regs_2G[3] =
19275 read_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM);
19278 pi->nphy_iqcal_chanspec_2G = pi->radio_chanspec;
19279 tbl_ptr = pi->calibration_cache.txcal_coeffs_2G;
19282 wlc_phy_rx_iq_coeffs_nphy(pi, 0,
19283 &pi->calibration_cache.
19286 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19288 pi->calibration_cache.txcal_radio_regs_5G;
19289 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19291 pi->calibration_cache.txcal_radio_regs_5G[0] =
19293 RADIO_2056_TX_LOFT_FINE_I |
19295 pi->calibration_cache.txcal_radio_regs_5G[1] =
19297 RADIO_2056_TX_LOFT_FINE_Q |
19299 pi->calibration_cache.txcal_radio_regs_5G[2] =
19301 RADIO_2056_TX_LOFT_FINE_I |
19303 pi->calibration_cache.txcal_radio_regs_5G[3] =
19305 RADIO_2056_TX_LOFT_FINE_Q |
19308 pi->calibration_cache.txcal_radio_regs_5G[4] =
19310 RADIO_2056_TX_LOFT_COARSE_I |
19312 pi->calibration_cache.txcal_radio_regs_5G[5] =
19314 RADIO_2056_TX_LOFT_COARSE_Q |
19316 pi->calibration_cache.txcal_radio_regs_5G[6] =
19318 RADIO_2056_TX_LOFT_COARSE_I |
19320 pi->calibration_cache.txcal_radio_regs_5G[7] =
19322 RADIO_2056_TX_LOFT_COARSE_Q |
19325 pi->calibration_cache.txcal_radio_regs_5G[0] =
19326 read_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL);
19327 pi->calibration_cache.txcal_radio_regs_5G[1] =
19328 read_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL);
19329 pi->calibration_cache.txcal_radio_regs_5G[2] =
19330 read_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM);
19331 pi->calibration_cache.txcal_radio_regs_5G[3] =
19332 read_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM);
19335 pi->nphy_iqcal_chanspec_5G = pi->radio_chanspec;
19336 tbl_ptr = pi->calibration_cache.txcal_coeffs_5G;
19338 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19339 for (coreNum = 0; coreNum <= 1; coreNum++) {
19341 txcal_radio_regs[2 * coreNum] =
19342 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19344 txcal_radio_regs[2 * coreNum + 1] =
19345 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19348 txcal_radio_regs[2 * coreNum + 4] =
19349 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19351 txcal_radio_regs[2 * coreNum + 5] =
19352 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19357 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 8, 80, 16, tbl_ptr);
19359 if (pi->phyhang_avoid)
19360 wlc_phy_stay_in_carriersearch_nphy(pi, false);
19363 static void wlc_phy_restorecal_nphy(phy_info_t *pi)
19366 u16 txcal_coeffs_bphy[4];
19369 u16 *txcal_radio_regs = NULL;
19371 if (CHSPEC_IS2G(pi->radio_chanspec)) {
19372 if (pi->nphy_iqcal_chanspec_2G == 0)
19375 tbl_ptr = pi->calibration_cache.txcal_coeffs_2G;
19376 loft_comp = &pi->calibration_cache.txcal_coeffs_2G[5];
19378 if (pi->nphy_iqcal_chanspec_5G == 0)
19381 tbl_ptr = pi->calibration_cache.txcal_coeffs_5G;
19382 loft_comp = &pi->calibration_cache.txcal_coeffs_5G[5];
19385 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 80, 16,
19388 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19389 txcal_coeffs_bphy[0] = tbl_ptr[0];
19390 txcal_coeffs_bphy[1] = tbl_ptr[1];
19391 txcal_coeffs_bphy[2] = tbl_ptr[2];
19392 txcal_coeffs_bphy[3] = tbl_ptr[3];
19394 txcal_coeffs_bphy[0] = 0;
19395 txcal_coeffs_bphy[1] = 0;
19396 txcal_coeffs_bphy[2] = 0;
19397 txcal_coeffs_bphy[3] = 0;
19400 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 88, 16,
19401 txcal_coeffs_bphy);
19403 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 85, 16, loft_comp);
19405 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 93, 16, loft_comp);
19407 if (NREV_LT(pi->pubpi.phy_rev, 2))
19408 wlc_phy_tx_iq_war_nphy(pi);
19410 if (CHSPEC_IS2G(pi->radio_chanspec)) {
19411 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19413 pi->calibration_cache.txcal_radio_regs_2G;
19414 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19416 write_radio_reg(pi,
19417 RADIO_2056_TX_LOFT_FINE_I |
19419 pi->calibration_cache.
19420 txcal_radio_regs_2G[0]);
19421 write_radio_reg(pi,
19422 RADIO_2056_TX_LOFT_FINE_Q |
19424 pi->calibration_cache.
19425 txcal_radio_regs_2G[1]);
19426 write_radio_reg(pi,
19427 RADIO_2056_TX_LOFT_FINE_I |
19429 pi->calibration_cache.
19430 txcal_radio_regs_2G[2]);
19431 write_radio_reg(pi,
19432 RADIO_2056_TX_LOFT_FINE_Q |
19434 pi->calibration_cache.
19435 txcal_radio_regs_2G[3]);
19437 write_radio_reg(pi,
19438 RADIO_2056_TX_LOFT_COARSE_I |
19440 pi->calibration_cache.
19441 txcal_radio_regs_2G[4]);
19442 write_radio_reg(pi,
19443 RADIO_2056_TX_LOFT_COARSE_Q |
19445 pi->calibration_cache.
19446 txcal_radio_regs_2G[5]);
19447 write_radio_reg(pi,
19448 RADIO_2056_TX_LOFT_COARSE_I |
19450 pi->calibration_cache.
19451 txcal_radio_regs_2G[6]);
19452 write_radio_reg(pi,
19453 RADIO_2056_TX_LOFT_COARSE_Q |
19455 pi->calibration_cache.
19456 txcal_radio_regs_2G[7]);
19458 write_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL,
19459 pi->calibration_cache.
19460 txcal_radio_regs_2G[0]);
19461 write_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL,
19462 pi->calibration_cache.
19463 txcal_radio_regs_2G[1]);
19464 write_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM,
19465 pi->calibration_cache.
19466 txcal_radio_regs_2G[2]);
19467 write_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM,
19468 pi->calibration_cache.
19469 txcal_radio_regs_2G[3]);
19472 wlc_phy_rx_iq_coeffs_nphy(pi, 1,
19473 &pi->calibration_cache.
19476 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19478 pi->calibration_cache.txcal_radio_regs_5G;
19479 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19481 write_radio_reg(pi,
19482 RADIO_2056_TX_LOFT_FINE_I |
19484 pi->calibration_cache.
19485 txcal_radio_regs_5G[0]);
19486 write_radio_reg(pi,
19487 RADIO_2056_TX_LOFT_FINE_Q |
19489 pi->calibration_cache.
19490 txcal_radio_regs_5G[1]);
19491 write_radio_reg(pi,
19492 RADIO_2056_TX_LOFT_FINE_I |
19494 pi->calibration_cache.
19495 txcal_radio_regs_5G[2]);
19496 write_radio_reg(pi,
19497 RADIO_2056_TX_LOFT_FINE_Q |
19499 pi->calibration_cache.
19500 txcal_radio_regs_5G[3]);
19502 write_radio_reg(pi,
19503 RADIO_2056_TX_LOFT_COARSE_I |
19505 pi->calibration_cache.
19506 txcal_radio_regs_5G[4]);
19507 write_radio_reg(pi,
19508 RADIO_2056_TX_LOFT_COARSE_Q |
19510 pi->calibration_cache.
19511 txcal_radio_regs_5G[5]);
19512 write_radio_reg(pi,
19513 RADIO_2056_TX_LOFT_COARSE_I |
19515 pi->calibration_cache.
19516 txcal_radio_regs_5G[6]);
19517 write_radio_reg(pi,
19518 RADIO_2056_TX_LOFT_COARSE_Q |
19520 pi->calibration_cache.
19521 txcal_radio_regs_5G[7]);
19523 write_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL,
19524 pi->calibration_cache.
19525 txcal_radio_regs_5G[0]);
19526 write_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL,
19527 pi->calibration_cache.
19528 txcal_radio_regs_5G[1]);
19529 write_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM,
19530 pi->calibration_cache.
19531 txcal_radio_regs_5G[2]);
19532 write_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM,
19533 pi->calibration_cache.
19534 txcal_radio_regs_5G[3]);
19537 wlc_phy_rx_iq_coeffs_nphy(pi, 1,
19538 &pi->calibration_cache.
19542 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19543 for (coreNum = 0; coreNum <= 1; coreNum++) {
19545 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19547 txcal_radio_regs[2 * coreNum]);
19548 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19550 txcal_radio_regs[2 * coreNum + 1]);
19552 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19554 txcal_radio_regs[2 * coreNum + 4]);
19555 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19557 txcal_radio_regs[2 * coreNum + 5]);
19562 void wlc_phy_antsel_init(wlc_phy_t *ppi, bool lut_init)
19564 phy_info_t *pi = (phy_info_t *) ppi;
19568 if (NREV_GE(pi->pubpi.phy_rev, 7))
19571 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19572 u16 v0 = 0x211, v1 = 0x222, v2 = 0x144, v3 = 0x188;
19574 if (lut_init == false)
19577 if (pi->srom_fem2g.antswctrllut == 0) {
19578 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19580 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19582 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19584 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19590 if (pi->srom_fem5g.antswctrllut == 0) {
19591 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19593 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19595 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19597 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19604 write_phy_reg(pi, 0xc8, 0x0);
19605 write_phy_reg(pi, 0xc9, 0x0);
19607 si_gpiocontrol(pi->sh->sih, mask, mask, GPIO_DRV_PRIORITY);
19609 mc = R_REG(pi->sh->osh, &pi->regs->maccontrol);
19610 mc &= ~MCTL_GPOUT_SEL_MASK;
19611 W_REG(pi->sh->osh, &pi->regs->maccontrol, mc);
19613 OR_REG(pi->sh->osh, &pi->regs->psm_gpio_oe, mask);
19615 AND_REG(pi->sh->osh, &pi->regs->psm_gpio_out, ~mask);
19618 write_phy_reg(pi, 0xf8, 0x02d8);
19619 write_phy_reg(pi, 0xf9, 0x0301);
19620 write_phy_reg(pi, 0xfa, 0x02d8);
19621 write_phy_reg(pi, 0xfb, 0x0301);
19626 u16 wlc_phy_classifier_nphy(phy_info_t *pi, u16 mask, u16 val)
19628 u16 curr_ctl, new_ctl;
19629 bool suspended = false;
19631 if (D11REV_IS(pi->sh->corerev, 16)) {
19633 (R_REG(pi->sh->osh, &pi->regs->maccontrol) & MCTL_EN_MAC) ?
19636 wlapi_suspend_mac_and_wait(pi->sh->physhim);
19639 curr_ctl = read_phy_reg(pi, 0xb0) & (0x7 << 0);
19641 new_ctl = (curr_ctl & (~mask)) | (val & mask);
19643 mod_phy_reg(pi, 0xb0, (0x7 << 0), new_ctl);
19645 if (D11REV_IS(pi->sh->corerev, 16) && !suspended)
19646 wlapi_enable_mac(pi->sh->physhim);
19651 static void wlc_phy_clip_det_nphy(phy_info_t *pi, u8 write, u16 *vals)
19655 vals[0] = read_phy_reg(pi, 0x2c);
19656 vals[1] = read_phy_reg(pi, 0x42);
19658 write_phy_reg(pi, 0x2c, vals[0]);
19659 write_phy_reg(pi, 0x42, vals[1]);
19663 void wlc_phy_force_rfseq_nphy(phy_info_t *pi, u8 cmd)
19665 u16 trigger_mask, status_mask;
19666 u16 orig_RfseqCoreActv;
19669 case NPHY_RFSEQ_RX2TX:
19670 trigger_mask = NPHY_RfseqTrigger_rx2tx;
19671 status_mask = NPHY_RfseqStatus_rx2tx;
19673 case NPHY_RFSEQ_TX2RX:
19674 trigger_mask = NPHY_RfseqTrigger_tx2rx;
19675 status_mask = NPHY_RfseqStatus_tx2rx;
19677 case NPHY_RFSEQ_RESET2RX:
19678 trigger_mask = NPHY_RfseqTrigger_reset2rx;
19679 status_mask = NPHY_RfseqStatus_reset2rx;
19681 case NPHY_RFSEQ_UPDATEGAINH:
19682 trigger_mask = NPHY_RfseqTrigger_updategainh;
19683 status_mask = NPHY_RfseqStatus_updategainh;
19685 case NPHY_RFSEQ_UPDATEGAINL:
19686 trigger_mask = NPHY_RfseqTrigger_updategainl;
19687 status_mask = NPHY_RfseqStatus_updategainl;
19689 case NPHY_RFSEQ_UPDATEGAINU:
19690 trigger_mask = NPHY_RfseqTrigger_updategainu;
19691 status_mask = NPHY_RfseqStatus_updategainu;
19697 orig_RfseqCoreActv = read_phy_reg(pi, 0xa1);
19698 or_phy_reg(pi, 0xa1,
19699 (NPHY_RfseqMode_CoreActv_override |
19700 NPHY_RfseqMode_Trigger_override));
19701 or_phy_reg(pi, 0xa3, trigger_mask);
19702 SPINWAIT((read_phy_reg(pi, 0xa4) & status_mask), 200000);
19703 write_phy_reg(pi, 0xa1, orig_RfseqCoreActv);
19705 ASSERT((read_phy_reg(pi, 0xa4) & status_mask) == 0);
19709 wlc_phy_set_rfseq_nphy(phy_info_t *pi, u8 cmd, u8 *events, u8 *dlys,
19712 u32 t1_offset, t2_offset;
19715 NREV_GE(pi->pubpi.phy_rev,
19716 3) ? NPHY_REV3_RFSEQ_CMD_END : NPHY_RFSEQ_CMD_END;
19721 if (pi->phyhang_avoid)
19722 wlc_phy_stay_in_carriersearch_nphy(pi, true);
19724 t1_offset = cmd << 4;
19725 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, len, t1_offset, 8,
19727 t2_offset = t1_offset + 0x080;
19728 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, len, t2_offset, 8,
19731 for (ctr = len; ctr < 16; ctr++) {
19732 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1,
19733 t1_offset + ctr, 8, &end_event);
19734 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1,
19735 t2_offset + ctr, 8, &end_dly);
19738 if (pi->phyhang_avoid)
19739 wlc_phy_stay_in_carriersearch_nphy(pi, false);
19742 static u16 wlc_phy_read_lpf_bw_ctl_nphy(phy_info_t *pi, u16 offset)
19744 u16 lpf_bw_ctl_val = 0;
19745 u16 rx2tx_lpf_rc_lut_offset = 0;
19748 if (CHSPEC_IS40(pi->radio_chanspec)) {
19749 rx2tx_lpf_rc_lut_offset = 0x159;
19751 rx2tx_lpf_rc_lut_offset = 0x154;
19754 rx2tx_lpf_rc_lut_offset = offset;
19756 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 1,
19757 (u32) rx2tx_lpf_rc_lut_offset, 16,
19760 lpf_bw_ctl_val = lpf_bw_ctl_val & 0x7;
19762 return lpf_bw_ctl_val;
19766 wlc_phy_rfctrl_override_nphy_rev7(phy_info_t *pi, u16 field, u16 value,
19767 u8 core_mask, u8 off, u8 override_id)
19770 u16 addr = 0, en_addr = 0, val_addr = 0, en_mask = 0, val_mask = 0;
19773 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19775 for (core_num = 0; core_num < 2; core_num++) {
19776 if (override_id == NPHY_REV7_RFCTRLOVERRIDE_ID0) {
19780 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19781 val_addr = (core_num == 0) ? 0x7a :
19783 val_mask = (0x1 << 1);
19787 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19788 val_addr = (core_num == 0) ? 0x7a :
19790 val_mask = (0x1 << 2);
19794 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19795 val_addr = (core_num == 0) ? 0x7a :
19797 val_mask = (0x1 << 4);
19801 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19802 val_addr = (core_num == 0) ? 0x7a :
19804 val_mask = (0x1 << 5);
19808 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19809 val_addr = (core_num == 0) ? 0x7a :
19811 val_mask = (0x1 << 6);
19815 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19816 val_addr = (core_num == 0) ? 0x7a :
19818 val_mask = (0x1 << 7);
19822 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19823 val_addr = (core_num == 0) ? 0xf8 :
19825 val_mask = (0x7 << 4);
19829 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19830 val_addr = (core_num == 0) ? 0x7b :
19832 val_mask = (0xffff << 0);
19836 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19837 val_addr = (core_num == 0) ? 0x7c :
19839 val_mask = (0xffff << 0);
19843 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19844 val_addr = (core_num == 0) ? 0x348 :
19846 val_mask = (0xff << 0);
19850 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19851 val_addr = (core_num == 0) ? 0x348 :
19853 val_mask = (0xf << 0);
19860 } else if (override_id == NPHY_REV7_RFCTRLOVERRIDE_ID1) {
19864 en_addr = (core_num == 0) ? 0x342 :
19866 val_addr = (core_num == 0) ? 0x340 :
19868 val_mask = (0x1 << 1);
19872 en_addr = (core_num == 0) ? 0x342 :
19874 val_addr = (core_num == 0) ? 0x340 :
19876 val_mask = (0x1 << 3);
19880 en_addr = (core_num == 0) ? 0x342 :
19882 val_addr = (core_num == 0) ? 0x340 :
19884 val_mask = (0x1 << 5);
19888 en_addr = (core_num == 0) ? 0x342 :
19890 val_addr = (core_num == 0) ? 0x340 :
19892 val_mask = (0x1 << 4);
19897 en_addr = (core_num == 0) ? 0x342 :
19899 val_addr = (core_num == 0) ? 0x340 :
19901 val_mask = (0x1 << 2);
19906 en_addr = (core_num == 0) ? 0x342 :
19908 val_addr = (core_num == 0) ? 0x340 :
19910 val_mask = (0x7 << 8);
19914 en_addr = (core_num == 0) ? 0x342 :
19916 val_addr = (core_num == 0) ? 0x340 :
19918 val_mask = (0x1 << 14);
19922 en_addr = (core_num == 0) ? 0x342 :
19924 val_addr = (core_num == 0) ? 0x340 :
19926 val_mask = (0x1 << 13);
19930 en_addr = (core_num == 0) ? 0x342 :
19932 val_addr = (core_num == 0) ? 0x340 :
19934 val_mask = (0x1 << 12);
19938 en_addr = (core_num == 0) ? 0x342 :
19940 val_addr = (core_num == 0) ? 0x340 :
19942 val_mask = (0x1 << 11);
19946 en_addr = (core_num == 0) ? 0x342 :
19948 val_addr = (core_num == 0) ? 0x340 :
19950 val_mask = (0x1 << 6);
19954 en_addr = (core_num == 0) ? 0x342 :
19956 val_addr = (core_num == 0) ? 0x340 :
19958 val_mask = (0x1 << 0);
19965 } else if (override_id == NPHY_REV7_RFCTRLOVERRIDE_ID2) {
19969 en_addr = (core_num == 0) ? 0x346 :
19971 val_addr = (core_num == 0) ? 0x344 :
19973 val_mask = (0x1 << 3);
19977 en_addr = (core_num == 0) ? 0x346 :
19979 val_addr = (core_num == 0) ? 0x344 :
19981 val_mask = (0x1 << 1);
19985 en_addr = (core_num == 0) ? 0x346 :
19987 val_addr = (core_num == 0) ? 0x344 :
19989 val_mask = (0x1 << 0);
19993 en_addr = (core_num == 0) ? 0x346 :
19995 val_addr = (core_num == 0) ? 0x344 :
19997 val_mask = (0x1 << 2);
20001 en_addr = (core_num == 0) ? 0x346 :
20003 val_addr = (core_num == 0) ? 0x344 :
20005 val_mask = (0x1 << 4);
20015 and_phy_reg(pi, en_addr, ~en_mask);
20016 and_phy_reg(pi, val_addr, ~val_mask);
20019 if ((core_mask == 0)
20020 || (core_mask & (1 << core_num))) {
20021 or_phy_reg(pi, en_addr, en_mask);
20023 if (addr != 0xffff) {
20024 mod_phy_reg(pi, val_addr,
20036 wlc_phy_rfctrl_override_nphy(phy_info_t *pi, u16 field, u16 value,
20037 u8 core_mask, u8 off)
20040 u16 addr = 0, mask = 0, en_addr = 0, val_addr = 0, en_mask =
20042 u8 shift = 0, val_shift = 0;
20044 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
20047 for (core_num = 0; core_num < 2; core_num++) {
20051 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20052 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20053 val_mask = (0x1 << 0);
20057 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20058 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20059 val_mask = (0x1 << 1);
20063 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20064 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20065 val_mask = (0x1 << 2);
20069 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20070 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20071 val_mask = (0x1 << 4);
20075 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20076 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20077 val_mask = (0x1 << 5);
20081 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20082 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20083 val_mask = (0x1 << 6);
20087 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20088 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20089 val_mask = (0x1 << 7);
20093 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20094 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20095 val_mask = (0x7 << 8);
20099 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20100 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20101 val_mask = (0x7 << 13);
20106 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20107 val_addr = (core_num == 0) ? 0xf8 : 0xfa;
20108 val_mask = (0x7 << 0);
20113 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20114 val_addr = (core_num == 0) ? 0xf8 : 0xfa;
20115 val_mask = (0x7 << 4);
20120 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20121 val_addr = (core_num == 0) ? 0x7b : 0x7e;
20122 val_mask = (0xffff << 0);
20126 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20127 val_addr = (core_num == 0) ? 0x7c : 0x7f;
20128 val_mask = (0xffff << 0);
20132 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20133 val_addr = (core_num == 0) ? 0xf9 : 0xfb;
20134 val_mask = (0x3 << 6);
20138 en_addr = (core_num == 0) ? 0xe5 : 0xe6;
20139 val_addr = (core_num == 0) ? 0xf9 : 0xfb;
20140 val_mask = (0x1 << 15);
20149 and_phy_reg(pi, en_addr, ~en_mask);
20150 and_phy_reg(pi, val_addr, ~val_mask);
20153 if ((core_mask == 0)
20154 || (core_mask & (1 << core_num))) {
20155 or_phy_reg(pi, en_addr, en_mask);
20157 if (addr != 0xffff) {
20158 mod_phy_reg(pi, val_addr,
20169 and_phy_reg(pi, 0xec, ~field);
20172 or_phy_reg(pi, 0xec, field);
20175 for (core_num = 0; core_num < 2; core_num++) {
20194 addr = (core_num == 0) ? 0x7a : 0x7d;
20197 addr = (core_num == 0) ? 0x7b : 0x7e;
20200 addr = (core_num == 0) ? 0x7c : 0x7f;
20224 mask = (0xf << 12);
20269 if ((addr != 0xffff) && (core_mask & (1 << core_num))) {
20270 mod_phy_reg(pi, addr, mask, (value << shift));
20274 or_phy_reg(pi, 0xec, (0x1 << 0));
20275 or_phy_reg(pi, 0x78, (0x1 << 0));
20277 and_phy_reg(pi, 0xec, ~(0x1 << 0));
20282 wlc_phy_rfctrl_override_1tomany_nphy(phy_info_t *pi, u16 cmd, u16 value,
20283 u8 core_mask, u8 off)
20285 u16 rfmxgain = 0, lpfgain = 0;
20288 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
20291 case NPHY_REV7_RfctrlOverride_cmd_rxrf_pu:
20292 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5),
20293 value, core_mask, off,
20294 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20295 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), value,
20297 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20298 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), value,
20300 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20302 case NPHY_REV7_RfctrlOverride_cmd_rx_pu:
20303 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
20304 value, core_mask, off,
20305 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20306 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), value,
20308 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20309 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), value,
20311 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20312 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), value,
20314 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20315 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 0,
20317 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20319 case NPHY_REV7_RfctrlOverride_cmd_tx_pu:
20320 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
20321 value, core_mask, off,
20322 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20323 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), value,
20325 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20326 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), value,
20328 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20329 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), value,
20331 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20332 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 1,
20334 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20336 case NPHY_REV7_RfctrlOverride_cmd_rxgain:
20337 rfmxgain = value & 0x000ff;
20338 lpfgain = value & 0x0ff00;
20339 lpfgain = lpfgain >> 8;
20341 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11),
20342 rfmxgain, core_mask,
20344 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20345 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x3 << 13),
20346 lpfgain, core_mask,
20348 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20350 case NPHY_REV7_RfctrlOverride_cmd_txgain:
20351 tgain = value & 0x7fff;
20352 lpfgain = value & 0x8000;
20353 lpfgain = lpfgain >> 14;
20355 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12),
20356 tgain, core_mask, off,
20357 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20358 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 13),
20359 lpfgain, core_mask,
20361 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20368 wlc_phy_scale_offset_rssi_nphy(phy_info_t *pi, u16 scale, s8 offset,
20369 u8 coresel, u8 rail, u8 rssi_type)
20373 offset = (offset > NPHY_RSSICAL_MAXREAD) ?
20374 NPHY_RSSICAL_MAXREAD : offset;
20375 offset = (offset < (-NPHY_RSSICAL_MAXREAD - 1)) ?
20376 -NPHY_RSSICAL_MAXREAD - 1 : offset;
20378 valuetostuff = ((scale & 0x3f) << 8) | (offset & 0x3f);
20380 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20381 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20382 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_NB)) {
20383 write_phy_reg(pi, 0x1a6, valuetostuff);
20385 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20386 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20387 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_NB)) {
20388 write_phy_reg(pi, 0x1ac, valuetostuff);
20390 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20391 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20392 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_NB)) {
20393 write_phy_reg(pi, 0x1b2, valuetostuff);
20395 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20396 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20397 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_NB)) {
20398 write_phy_reg(pi, 0x1b8, valuetostuff);
20401 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20402 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20403 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W1)) {
20404 write_phy_reg(pi, 0x1a4, valuetostuff);
20406 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20407 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20408 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W1)) {
20409 write_phy_reg(pi, 0x1aa, valuetostuff);
20411 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20412 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20413 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W1)) {
20414 write_phy_reg(pi, 0x1b0, valuetostuff);
20416 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20417 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20418 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W1)) {
20419 write_phy_reg(pi, 0x1b6, valuetostuff);
20422 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20423 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20424 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W2)) {
20425 write_phy_reg(pi, 0x1a5, valuetostuff);
20427 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20428 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20429 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W2)) {
20430 write_phy_reg(pi, 0x1ab, valuetostuff);
20432 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20433 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20434 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W2)) {
20435 write_phy_reg(pi, 0x1b1, valuetostuff);
20437 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20438 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20439 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W2)) {
20440 write_phy_reg(pi, 0x1b7, valuetostuff);
20443 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20444 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20445 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_TBD)) {
20446 write_phy_reg(pi, 0x1a7, valuetostuff);
20448 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20449 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20450 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_TBD)) {
20451 write_phy_reg(pi, 0x1ad, valuetostuff);
20453 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20454 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20455 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_TBD)) {
20456 write_phy_reg(pi, 0x1b3, valuetostuff);
20458 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20459 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20460 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_TBD)) {
20461 write_phy_reg(pi, 0x1b9, valuetostuff);
20464 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20465 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20466 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_IQ)) {
20467 write_phy_reg(pi, 0x1a8, valuetostuff);
20469 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20470 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20471 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_IQ)) {
20472 write_phy_reg(pi, 0x1ae, valuetostuff);
20474 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20475 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20476 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_IQ)) {
20477 write_phy_reg(pi, 0x1b4, valuetostuff);
20479 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20480 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20481 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_IQ)) {
20482 write_phy_reg(pi, 0x1ba, valuetostuff);
20485 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20486 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20487 (rssi_type == NPHY_RSSI_SEL_TSSI_2G)) {
20488 write_phy_reg(pi, 0x1a9, valuetostuff);
20490 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20491 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20492 (rssi_type == NPHY_RSSI_SEL_TSSI_2G)) {
20493 write_phy_reg(pi, 0x1b5, valuetostuff);
20496 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20497 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20498 (rssi_type == NPHY_RSSI_SEL_TSSI_5G)) {
20499 write_phy_reg(pi, 0x1af, valuetostuff);
20501 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20502 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20503 (rssi_type == NPHY_RSSI_SEL_TSSI_5G)) {
20504 write_phy_reg(pi, 0x1bb, valuetostuff);
20508 void wlc_phy_rssisel_nphy(phy_info_t *pi, u8 core_code, u8 rssi_type)
20511 u16 afectrlovr_rssi_val, rfctrlcmd_rxen_val, rfctrlcmd_coresel_val,
20513 u16 rfctrlovr_rssi_val, rfctrlovr_rxen_val, rfctrlovr_coresel_val,
20514 rfctrlovr_trigger_val;
20515 u16 afectrlovr_rssi_mask, rfctrlcmd_mask, rfctrlovr_mask;
20516 u16 rfctrlcmd_val, rfctrlovr_val;
20519 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
20520 if (core_code == RADIO_MIMO_CORESEL_OFF) {
20521 mod_phy_reg(pi, 0x8f, (0x1 << 9), 0);
20522 mod_phy_reg(pi, 0xa5, (0x1 << 9), 0);
20524 mod_phy_reg(pi, 0xa6, (0x3 << 8), 0);
20525 mod_phy_reg(pi, 0xa7, (0x3 << 8), 0);
20527 mod_phy_reg(pi, 0xe5, (0x1 << 5), 0);
20528 mod_phy_reg(pi, 0xe6, (0x1 << 5), 0);
20530 mask = (0x1 << 2) |
20531 (0x1 << 3) | (0x1 << 4) | (0x1 << 5);
20532 mod_phy_reg(pi, 0xf9, mask, 0);
20533 mod_phy_reg(pi, 0xfb, mask, 0);
20536 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
20537 if (core_code == RADIO_MIMO_CORESEL_CORE1
20538 && core == PHY_CORE_1)
20540 else if (core_code == RADIO_MIMO_CORESEL_CORE2
20541 && core == PHY_CORE_0)
20544 mod_phy_reg(pi, (core == PHY_CORE_0) ?
20545 0x8f : 0xa5, (0x1 << 9), 1 << 9);
20547 if (rssi_type == NPHY_RSSI_SEL_W1 ||
20548 rssi_type == NPHY_RSSI_SEL_W2 ||
20549 rssi_type == NPHY_RSSI_SEL_NB) {
20553 PHY_CORE_0) ? 0xa6 : 0xa7,
20556 mask = (0x1 << 2) |
20558 (0x1 << 4) | (0x1 << 5);
20561 PHY_CORE_0) ? 0xf9 : 0xfb,
20564 if (rssi_type == NPHY_RSSI_SEL_W1) {
20566 (pi->radio_chanspec)) {
20573 } else if (rssi_type ==
20574 NPHY_RSSI_SEL_W2) {
20583 PHY_CORE_0) ? 0xf9 : 0xfb,
20588 mod_phy_reg(pi, (core == PHY_CORE_0) ?
20589 0xe5 : 0xe6, mask, val);
20591 if (rssi_type == NPHY_RSSI_SEL_TBD) {
20598 : 0xa7, mask, val);
20599 mask = (0x3 << 10);
20604 : 0xa7, mask, val);
20605 } else if (rssi_type ==
20606 NPHY_RSSI_SEL_IQ) {
20613 : 0xa7, mask, val);
20614 mask = (0x3 << 10);
20619 : 0xa7, mask, val);
20627 : 0xa7, mask, val);
20628 mask = (0x3 << 10);
20633 : 0xa7, mask, val);
20637 (pi->pubpi.phy_rev,
20645 RADIO_2057_TX0_TX_SSI_MUX
20647 RADIO_2057_TX1_TX_SSI_MUX),
20656 RADIO_2056_TX_TX_SSI_MUX
20673 (pi->pubpi.phy_rev,
20680 RADIO_2057_TX0_TX_SSI_MUX
20682 RADIO_2057_TX1_TX_SSI_MUX),
20690 RADIO_2057_IQTEST_SEL_PU,
20696 RADIO_2056_TX_TX_SSI_MUX
20708 afectrlovr_rssi_val = 1 << 9;
20712 : 0xa5, (0x1 << 9),
20713 afectrlovr_rssi_val);
20720 if ((rssi_type == NPHY_RSSI_SEL_W1) ||
20721 (rssi_type == NPHY_RSSI_SEL_W2) ||
20722 (rssi_type == NPHY_RSSI_SEL_NB)) {
20725 } else if (rssi_type == NPHY_RSSI_SEL_TBD) {
20728 } else if (rssi_type == NPHY_RSSI_SEL_IQ) {
20735 mask = ((0x3 << 12) | (0x3 << 14));
20736 val = (val << 12) | (val << 14);
20737 mod_phy_reg(pi, 0xa6, mask, val);
20738 mod_phy_reg(pi, 0xa7, mask, val);
20740 if ((rssi_type == NPHY_RSSI_SEL_W1) ||
20741 (rssi_type == NPHY_RSSI_SEL_W2) ||
20742 (rssi_type == NPHY_RSSI_SEL_NB)) {
20743 if (rssi_type == NPHY_RSSI_SEL_W1) {
20746 if (rssi_type == NPHY_RSSI_SEL_W2) {
20749 if (rssi_type == NPHY_RSSI_SEL_NB) {
20754 mod_phy_reg(pi, 0x7a, mask, val);
20755 mod_phy_reg(pi, 0x7d, mask, val);
20758 if (core_code == RADIO_MIMO_CORESEL_OFF) {
20759 afectrlovr_rssi_val = 0;
20760 rfctrlcmd_rxen_val = 0;
20761 rfctrlcmd_coresel_val = 0;
20762 rfctrlovr_rssi_val = 0;
20763 rfctrlovr_rxen_val = 0;
20764 rfctrlovr_coresel_val = 0;
20765 rfctrlovr_trigger_val = 0;
20768 afectrlovr_rssi_val = 1;
20769 rfctrlcmd_rxen_val = 1;
20770 rfctrlcmd_coresel_val = core_code;
20771 rfctrlovr_rssi_val = 1;
20772 rfctrlovr_rxen_val = 1;
20773 rfctrlovr_coresel_val = 1;
20774 rfctrlovr_trigger_val = 1;
20778 afectrlovr_rssi_mask = ((0x1 << 12) | (0x1 << 13));
20779 afectrlovr_rssi_val = (afectrlovr_rssi_val <<
20780 12) | (afectrlovr_rssi_val << 13);
20781 mod_phy_reg(pi, 0xa5, afectrlovr_rssi_mask,
20782 afectrlovr_rssi_val);
20784 if ((rssi_type == NPHY_RSSI_SEL_W1) ||
20785 (rssi_type == NPHY_RSSI_SEL_W2) ||
20786 (rssi_type == NPHY_RSSI_SEL_NB)) {
20787 rfctrlcmd_mask = ((0x1 << 8) | (0x7 << 3));
20788 rfctrlcmd_val = (rfctrlcmd_rxen_val << 8) |
20789 (rfctrlcmd_coresel_val << 3);
20791 rfctrlovr_mask = ((0x1 << 5) |
20793 (0x1 << 1) | (0x1 << 0));
20794 rfctrlovr_val = (rfctrlovr_rssi_val <<
20796 (rfctrlovr_rxen_val << 12) |
20797 (rfctrlovr_coresel_val << 1) |
20798 (rfctrlovr_trigger_val << 0);
20800 mod_phy_reg(pi, 0x78, rfctrlcmd_mask, rfctrlcmd_val);
20801 mod_phy_reg(pi, 0xec, rfctrlovr_mask, rfctrlovr_val);
20803 mod_phy_reg(pi, 0x78, (0x1 << 0), (startseq << 0));
20806 mod_phy_reg(pi, 0xec, (0x1 << 0), 0);
20812 wlc_phy_poll_rssi_nphy(phy_info_t *pi, u8 rssi_type, s32 *rssi_buf,
20816 u16 afectrlCore1_save = 0;
20817 u16 afectrlCore2_save = 0;
20818 u16 afectrlOverride1_save = 0;
20819 u16 afectrlOverride2_save = 0;
20820 u16 rfctrlOverrideAux0_save = 0;
20821 u16 rfctrlOverrideAux1_save = 0;
20822 u16 rfctrlMiscReg1_save = 0;
20823 u16 rfctrlMiscReg2_save = 0;
20824 u16 rfctrlcmd_save = 0;
20825 u16 rfctrloverride_save = 0;
20826 u16 rfctrlrssiothers1_save = 0;
20827 u16 rfctrlrssiothers2_save = 0;
20829 u8 ctr = 0, samp = 0;
20833 afectrlCore1_save = read_phy_reg(pi, 0xa6);
20834 afectrlCore2_save = read_phy_reg(pi, 0xa7);
20835 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
20836 rfctrlMiscReg1_save = read_phy_reg(pi, 0xf9);
20837 rfctrlMiscReg2_save = read_phy_reg(pi, 0xfb);
20838 afectrlOverride1_save = read_phy_reg(pi, 0x8f);
20839 afectrlOverride2_save = read_phy_reg(pi, 0xa5);
20840 rfctrlOverrideAux0_save = read_phy_reg(pi, 0xe5);
20841 rfctrlOverrideAux1_save = read_phy_reg(pi, 0xe6);
20843 afectrlOverride1_save = read_phy_reg(pi, 0xa5);
20844 rfctrlcmd_save = read_phy_reg(pi, 0x78);
20845 rfctrloverride_save = read_phy_reg(pi, 0xec);
20846 rfctrlrssiothers1_save = read_phy_reg(pi, 0x7a);
20847 rfctrlrssiothers2_save = read_phy_reg(pi, 0x7d);
20850 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_ALLRX, rssi_type);
20852 gpiosel_orig = read_phy_reg(pi, 0xca);
20853 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
20854 write_phy_reg(pi, 0xca, 5);
20857 for (ctr = 0; ctr < 4; ctr++) {
20861 for (samp = 0; samp < nsamps; samp++) {
20862 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
20863 rssi0 = read_phy_reg(pi, 0x1c9);
20864 rssi1 = read_phy_reg(pi, 0x1ca);
20866 rssi0 = read_phy_reg(pi, 0x219);
20867 rssi1 = read_phy_reg(pi, 0x21a);
20871 tmp_buf[ctr++] = ((s8) ((rssi0 & 0x3f) << 2)) >> 2;
20872 tmp_buf[ctr++] = ((s8) (((rssi0 >> 8) & 0x3f) << 2)) >> 2;
20873 tmp_buf[ctr++] = ((s8) ((rssi1 & 0x3f) << 2)) >> 2;
20874 tmp_buf[ctr++] = ((s8) (((rssi1 >> 8) & 0x3f) << 2)) >> 2;
20876 for (ctr = 0; ctr < 4; ctr++) {
20877 rssi_buf[ctr] += tmp_buf[ctr];
20882 rssi_out_val = rssi_buf[3] & 0xff;
20883 rssi_out_val |= (rssi_buf[2] & 0xff) << 8;
20884 rssi_out_val |= (rssi_buf[1] & 0xff) << 16;
20885 rssi_out_val |= (rssi_buf[0] & 0xff) << 24;
20887 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
20888 write_phy_reg(pi, 0xca, gpiosel_orig);
20891 write_phy_reg(pi, 0xa6, afectrlCore1_save);
20892 write_phy_reg(pi, 0xa7, afectrlCore2_save);
20893 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
20894 write_phy_reg(pi, 0xf9, rfctrlMiscReg1_save);
20895 write_phy_reg(pi, 0xfb, rfctrlMiscReg2_save);
20896 write_phy_reg(pi, 0x8f, afectrlOverride1_save);
20897 write_phy_reg(pi, 0xa5, afectrlOverride2_save);
20898 write_phy_reg(pi, 0xe5, rfctrlOverrideAux0_save);
20899 write_phy_reg(pi, 0xe6, rfctrlOverrideAux1_save);
20901 write_phy_reg(pi, 0xa5, afectrlOverride1_save);
20902 write_phy_reg(pi, 0x78, rfctrlcmd_save);
20903 write_phy_reg(pi, 0xec, rfctrloverride_save);
20904 write_phy_reg(pi, 0x7a, rfctrlrssiothers1_save);
20905 write_phy_reg(pi, 0x7d, rfctrlrssiothers2_save);
20908 return rssi_out_val;
20911 s16 wlc_phy_tempsense_nphy(phy_info_t *pi)
20913 u16 core1_txrf_iqcal1_save, core1_txrf_iqcal2_save;
20914 u16 core2_txrf_iqcal1_save, core2_txrf_iqcal2_save;
20915 u16 pwrdet_rxtx_core1_save;
20916 u16 pwrdet_rxtx_core2_save;
20917 u16 afectrlCore1_save;
20918 u16 afectrlCore2_save;
20919 u16 afectrlOverride_save;
20920 u16 afectrlOverride2_save;
20921 u16 pd_pll_ts_save;
20924 s32 radio_temp2[4];
20925 u16 syn_tempprocsense_save;
20928 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
20929 u16 auxADC_Vmid, auxADC_Av, auxADC_Vmid_save, auxADC_Av_save;
20930 u16 auxADC_rssi_ctrlL_save, auxADC_rssi_ctrlH_save;
20931 u16 auxADC_rssi_ctrlL, auxADC_rssi_ctrlH;
20933 u16 RfctrlOverride5_save, RfctrlOverride6_save;
20934 u16 RfctrlMiscReg5_save, RfctrlMiscReg6_save;
20935 u16 RSSIMultCoef0QPowerDet_save;
20936 u16 tempsense_Rcal;
20938 syn_tempprocsense_save =
20939 read_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG);
20941 afectrlCore1_save = read_phy_reg(pi, 0xa6);
20942 afectrlCore2_save = read_phy_reg(pi, 0xa7);
20943 afectrlOverride_save = read_phy_reg(pi, 0x8f);
20944 afectrlOverride2_save = read_phy_reg(pi, 0xa5);
20945 RSSIMultCoef0QPowerDet_save = read_phy_reg(pi, 0x1ae);
20946 RfctrlOverride5_save = read_phy_reg(pi, 0x346);
20947 RfctrlOverride6_save = read_phy_reg(pi, 0x347);
20948 RfctrlMiscReg5_save = read_phy_reg(pi, 0x344);
20949 RfctrlMiscReg6_save = read_phy_reg(pi, 0x345);
20951 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
20952 &auxADC_Vmid_save);
20953 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
20955 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x02, 16,
20956 &auxADC_rssi_ctrlL_save);
20957 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x03, 16,
20958 &auxADC_rssi_ctrlH_save);
20960 write_phy_reg(pi, 0x1ae, 0x0);
20962 auxADC_rssi_ctrlL = 0x0;
20963 auxADC_rssi_ctrlH = 0x20;
20964 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x02, 16,
20965 &auxADC_rssi_ctrlL);
20966 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x03, 16,
20967 &auxADC_rssi_ctrlH);
20969 tempsense_Rcal = syn_tempprocsense_save & 0x1c;
20971 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
20972 tempsense_Rcal | 0x01);
20974 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1),
20976 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20977 mod_phy_reg(pi, 0xa6, (0x1 << 7), 0);
20978 mod_phy_reg(pi, 0xa7, (0x1 << 7), 0);
20979 mod_phy_reg(pi, 0x8f, (0x1 << 7), (0x1 << 7));
20980 mod_phy_reg(pi, 0xa5, (0x1 << 7), (0x1 << 7));
20982 mod_phy_reg(pi, 0xa6, (0x1 << 2), (0x1 << 2));
20983 mod_phy_reg(pi, 0xa7, (0x1 << 2), (0x1 << 2));
20984 mod_phy_reg(pi, 0x8f, (0x1 << 2), (0x1 << 2));
20985 mod_phy_reg(pi, 0xa5, (0x1 << 2), (0x1 << 2));
20987 mod_phy_reg(pi, 0xa6, (0x1 << 2), 0);
20988 mod_phy_reg(pi, 0xa7, (0x1 << 2), 0);
20989 mod_phy_reg(pi, 0xa6, (0x1 << 3), 0);
20990 mod_phy_reg(pi, 0xa7, (0x1 << 3), 0);
20991 mod_phy_reg(pi, 0x8f, (0x1 << 3), (0x1 << 3));
20992 mod_phy_reg(pi, 0xa5, (0x1 << 3), (0x1 << 3));
20993 mod_phy_reg(pi, 0xa6, (0x1 << 6), 0);
20994 mod_phy_reg(pi, 0xa7, (0x1 << 6), 0);
20995 mod_phy_reg(pi, 0x8f, (0x1 << 6), (0x1 << 6));
20996 mod_phy_reg(pi, 0xa5, (0x1 << 6), (0x1 << 6));
20998 auxADC_Vmid = 0xA3;
21000 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
21002 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
21007 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21008 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
21009 tempsense_Rcal | 0x03);
21012 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
21015 if (radio_temp[1] + radio_temp2[1] < -30) {
21016 auxADC_Vmid = 0x45;
21018 } else if (radio_temp[1] + radio_temp2[1] < -9) {
21019 auxADC_Vmid = 0x200;
21021 } else if (radio_temp[1] + radio_temp2[1] < 11) {
21022 auxADC_Vmid = 0x266;
21025 auxADC_Vmid = 0x2D5;
21029 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
21031 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
21036 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
21037 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
21038 tempsense_Rcal | 0x01);
21041 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21043 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
21044 syn_tempprocsense_save);
21046 write_phy_reg(pi, 0xa6, afectrlCore1_save);
21047 write_phy_reg(pi, 0xa7, afectrlCore2_save);
21048 write_phy_reg(pi, 0x8f, afectrlOverride_save);
21049 write_phy_reg(pi, 0xa5, afectrlOverride2_save);
21050 write_phy_reg(pi, 0x1ae, RSSIMultCoef0QPowerDet_save);
21051 write_phy_reg(pi, 0x346, RfctrlOverride5_save);
21052 write_phy_reg(pi, 0x347, RfctrlOverride6_save);
21053 write_phy_reg(pi, 0x344, RfctrlMiscReg5_save);
21054 write_phy_reg(pi, 0x345, RfctrlMiscReg5_save);
21056 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
21057 &auxADC_Vmid_save);
21058 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
21060 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x02, 16,
21061 &auxADC_rssi_ctrlL_save);
21062 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x03, 16,
21063 &auxADC_rssi_ctrlH_save);
21065 if (CHIPID(pi->sh->chip) == BCM5357_CHIP_ID) {
21066 radio_temp[0] = (193 * (radio_temp[1] + radio_temp2[1])
21067 + 88 * (auxADC_Vl) - 27111 +
21069 } else if (CHIPID(pi->sh->chip) == BCM43236_CHIP_ID) {
21070 radio_temp[0] = (198 * (radio_temp[1] + radio_temp2[1])
21071 + 91 * (auxADC_Vl) - 27243 +
21074 radio_temp[0] = (179 * (radio_temp[1] + radio_temp2[1])
21075 + 82 * (auxADC_Vl) - 28861 +
21079 offset = (s16) pi->phy_tempsense_offset;
21081 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
21082 syn_tempprocsense_save =
21083 read_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE);
21085 afectrlCore1_save = read_phy_reg(pi, 0xa6);
21086 afectrlCore2_save = read_phy_reg(pi, 0xa7);
21087 afectrlOverride_save = read_phy_reg(pi, 0x8f);
21088 afectrlOverride2_save = read_phy_reg(pi, 0xa5);
21089 gpioSel_save = read_phy_reg(pi, 0xca);
21091 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE, 0x01);
21093 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21094 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21096 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE, 0x05);
21099 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
21100 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21101 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG, 0x01);
21103 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE, 0x01);
21107 (126 * (radio_temp[1] + radio_temp2[1]) + 3987) / 64;
21109 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE,
21110 syn_tempprocsense_save);
21112 write_phy_reg(pi, 0xca, gpioSel_save);
21113 write_phy_reg(pi, 0xa6, afectrlCore1_save);
21114 write_phy_reg(pi, 0xa7, afectrlCore2_save);
21115 write_phy_reg(pi, 0x8f, afectrlOverride_save);
21116 write_phy_reg(pi, 0xa5, afectrlOverride2_save);
21118 offset = (s16) pi->phy_tempsense_offset;
21121 pwrdet_rxtx_core1_save =
21122 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1);
21123 pwrdet_rxtx_core2_save =
21124 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2);
21125 core1_txrf_iqcal1_save =
21126 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1);
21127 core1_txrf_iqcal2_save =
21128 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2);
21129 core2_txrf_iqcal1_save =
21130 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1);
21131 core2_txrf_iqcal2_save =
21132 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2);
21133 pd_pll_ts_save = read_radio_reg(pi, RADIO_2055_PD_PLL_TS);
21135 afectrlCore1_save = read_phy_reg(pi, 0xa6);
21136 afectrlCore2_save = read_phy_reg(pi, 0xa7);
21137 afectrlOverride_save = read_phy_reg(pi, 0xa5);
21138 gpioSel_save = read_phy_reg(pi, 0xca);
21140 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1, 0x01);
21141 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1, 0x01);
21142 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2, 0x08);
21143 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2, 0x08);
21144 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1, 0x04);
21145 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2, 0x04);
21146 write_radio_reg(pi, RADIO_2055_PD_PLL_TS, 0x00);
21148 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21149 xor_radio_reg(pi, RADIO_2055_CAL_TS, 0x80);
21151 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21152 xor_radio_reg(pi, RADIO_2055_CAL_TS, 0x80);
21154 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
21155 xor_radio_reg(pi, RADIO_2055_CAL_TS, 0x80);
21157 radio_temp[0] = (radio_temp[0] + radio_temp2[0]);
21158 radio_temp[1] = (radio_temp[1] + radio_temp2[1]);
21159 radio_temp[2] = (radio_temp[2] + radio_temp2[2]);
21160 radio_temp[3] = (radio_temp[3] + radio_temp2[3]);
21163 (radio_temp[0] + radio_temp[1] + radio_temp[2] +
21167 (radio_temp[0] + (8 * 32)) * (950 - 350) / 63 + (350 * 8);
21169 radio_temp[0] = (radio_temp[0] - (8 * 420)) / 38;
21171 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1,
21172 pwrdet_rxtx_core1_save);
21173 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2,
21174 pwrdet_rxtx_core2_save);
21175 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1,
21176 core1_txrf_iqcal1_save);
21177 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1,
21178 core2_txrf_iqcal1_save);
21179 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2,
21180 core1_txrf_iqcal2_save);
21181 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2,
21182 core2_txrf_iqcal2_save);
21183 write_radio_reg(pi, RADIO_2055_PD_PLL_TS, pd_pll_ts_save);
21185 write_phy_reg(pi, 0xca, gpioSel_save);
21186 write_phy_reg(pi, 0xa6, afectrlCore1_save);
21187 write_phy_reg(pi, 0xa7, afectrlCore2_save);
21188 write_phy_reg(pi, 0xa5, afectrlOverride_save);
21191 return (s16) radio_temp[0] + offset;
21195 wlc_phy_set_rssi_2055_vcm(phy_info_t *pi, u8 rssi_type, u8 *vcm_buf)
21199 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
21200 if (rssi_type == NPHY_RSSI_SEL_NB) {
21201 if (core == PHY_CORE_0) {
21203 RADIO_2055_CORE1_B0_NBRSSI_VCM,
21204 RADIO_2055_NBRSSI_VCM_I_MASK,
21207 RADIO_2055_NBRSSI_VCM_I_SHIFT);
21209 RADIO_2055_CORE1_RXBB_RSSI_CTRL5,
21210 RADIO_2055_NBRSSI_VCM_Q_MASK,
21213 RADIO_2055_NBRSSI_VCM_Q_SHIFT);
21216 RADIO_2055_CORE2_B0_NBRSSI_VCM,
21217 RADIO_2055_NBRSSI_VCM_I_MASK,
21220 RADIO_2055_NBRSSI_VCM_I_SHIFT);
21222 RADIO_2055_CORE2_RXBB_RSSI_CTRL5,
21223 RADIO_2055_NBRSSI_VCM_Q_MASK,
21226 RADIO_2055_NBRSSI_VCM_Q_SHIFT);
21230 if (core == PHY_CORE_0) {
21232 RADIO_2055_CORE1_RXBB_RSSI_CTRL5,
21233 RADIO_2055_WBRSSI_VCM_IQ_MASK,
21236 RADIO_2055_WBRSSI_VCM_IQ_SHIFT);
21239 RADIO_2055_CORE2_RXBB_RSSI_CTRL5,
21240 RADIO_2055_WBRSSI_VCM_IQ_MASK,
21243 RADIO_2055_WBRSSI_VCM_IQ_SHIFT);
21249 void wlc_phy_rssi_cal_nphy(phy_info_t *pi)
21251 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
21253 wlc_phy_rssi_cal_nphy_rev3(pi);
21255 wlc_phy_rssi_cal_nphy_rev2(pi, NPHY_RSSI_SEL_NB);
21256 wlc_phy_rssi_cal_nphy_rev2(pi, NPHY_RSSI_SEL_W1);
21257 wlc_phy_rssi_cal_nphy_rev2(pi, NPHY_RSSI_SEL_W2);
21261 static void wlc_phy_rssi_cal_nphy_rev2(phy_info_t *pi, u8 rssi_type)
21266 u16 rssi_ctrl_state[2], pd_state[2];
21267 u16 rfctrlintc_state[2], rfpdcorerxtx_state[2];
21268 u16 rfctrlintc_override_val;
21269 u16 clip_off[] = { 0xffff, 0xffff };
21270 u16 rf_pd_val, pd_mask, rssi_ctrl_mask;
21271 u8 vcm, min_vcm, vcm_tmp[4];
21272 u8 vcm_final[4] = { 0, 0, 0, 0 };
21273 u8 result_idx, ctr;
21274 s32 poll_results[4][4] = {
21280 s32 poll_miniq[4][2] = {
21287 s32 fine_digital_offset[4];
21288 s32 poll_results_min[4] = { 0, 0, 0, 0 };
21291 switch (rssi_type) {
21292 case NPHY_RSSI_SEL_NB:
21293 target_code = NPHY_RSSICAL_NB_TARGET;
21295 case NPHY_RSSI_SEL_W1:
21296 target_code = NPHY_RSSICAL_W1_TARGET;
21298 case NPHY_RSSI_SEL_W2:
21299 target_code = NPHY_RSSICAL_W2_TARGET;
21306 classif_state = wlc_phy_classifier_nphy(pi, 0, 0);
21307 wlc_phy_classifier_nphy(pi, (0x7 << 0), 4);
21308 wlc_phy_clip_det_nphy(pi, 0, clip_state);
21309 wlc_phy_clip_det_nphy(pi, 1, clip_off);
21311 rf_pd_val = (rssi_type == NPHY_RSSI_SEL_NB) ? 0x6 : 0x4;
21312 rfctrlintc_override_val =
21313 CHSPEC_IS5G(pi->radio_chanspec) ? 0x140 : 0x110;
21315 rfctrlintc_state[0] = read_phy_reg(pi, 0x91);
21316 rfpdcorerxtx_state[0] = read_radio_reg(pi, RADIO_2055_PD_CORE1_RXTX);
21317 write_phy_reg(pi, 0x91, rfctrlintc_override_val);
21318 write_radio_reg(pi, RADIO_2055_PD_CORE1_RXTX, rf_pd_val);
21320 rfctrlintc_state[1] = read_phy_reg(pi, 0x92);
21321 rfpdcorerxtx_state[1] = read_radio_reg(pi, RADIO_2055_PD_CORE2_RXTX);
21322 write_phy_reg(pi, 0x92, rfctrlintc_override_val);
21323 write_radio_reg(pi, RADIO_2055_PD_CORE2_RXTX, rf_pd_val);
21325 pd_mask = RADIO_2055_NBRSSI_PD | RADIO_2055_WBRSSI_G1_PD |
21326 RADIO_2055_WBRSSI_G2_PD;
21328 read_radio_reg(pi, RADIO_2055_PD_CORE1_RSSI_MISC) & pd_mask;
21330 read_radio_reg(pi, RADIO_2055_PD_CORE2_RSSI_MISC) & pd_mask;
21331 mod_radio_reg(pi, RADIO_2055_PD_CORE1_RSSI_MISC, pd_mask, 0);
21332 mod_radio_reg(pi, RADIO_2055_PD_CORE2_RSSI_MISC, pd_mask, 0);
21333 rssi_ctrl_mask = RADIO_2055_NBRSSI_SEL | RADIO_2055_WBRSSI_G1_SEL |
21334 RADIO_2055_WBRSSI_G2_SEL;
21335 rssi_ctrl_state[0] =
21336 read_radio_reg(pi, RADIO_2055_SP_RSSI_CORE1) & rssi_ctrl_mask;
21337 rssi_ctrl_state[1] =
21338 read_radio_reg(pi, RADIO_2055_SP_RSSI_CORE2) & rssi_ctrl_mask;
21339 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_ALLRX, rssi_type);
21341 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0, RADIO_MIMO_CORESEL_ALLRX,
21342 NPHY_RAIL_I, rssi_type);
21343 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0, RADIO_MIMO_CORESEL_ALLRX,
21344 NPHY_RAIL_Q, rssi_type);
21346 for (vcm = 0; vcm < 4; vcm++) {
21348 vcm_tmp[0] = vcm_tmp[1] = vcm_tmp[2] = vcm_tmp[3] = vcm;
21349 if (rssi_type != NPHY_RSSI_SEL_W2) {
21350 wlc_phy_set_rssi_2055_vcm(pi, rssi_type, vcm_tmp);
21353 wlc_phy_poll_rssi_nphy(pi, rssi_type, &poll_results[vcm][0],
21354 NPHY_RSSICAL_NPOLL);
21356 if ((rssi_type == NPHY_RSSI_SEL_W1)
21357 || (rssi_type == NPHY_RSSI_SEL_W2)) {
21358 for (ctr = 0; ctr < 2; ctr++) {
21359 poll_miniq[vcm][ctr] =
21360 min(poll_results[vcm][ctr * 2 + 0],
21361 poll_results[vcm][ctr * 2 + 1]);
21366 for (result_idx = 0; result_idx < 4; result_idx++) {
21367 min_d = NPHY_RSSICAL_MAXD;
21369 min_poll = NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL + 1;
21370 for (vcm = 0; vcm < 4; vcm++) {
21371 curr_d = ABS(((rssi_type == NPHY_RSSI_SEL_NB) ?
21372 poll_results[vcm][result_idx] :
21373 poll_miniq[vcm][result_idx / 2]) -
21374 (target_code * NPHY_RSSICAL_NPOLL));
21375 if (curr_d < min_d) {
21379 if (poll_results[vcm][result_idx] < min_poll) {
21380 min_poll = poll_results[vcm][result_idx];
21383 vcm_final[result_idx] = min_vcm;
21384 poll_results_min[result_idx] = min_poll;
21387 if (rssi_type != NPHY_RSSI_SEL_W2) {
21388 wlc_phy_set_rssi_2055_vcm(pi, rssi_type, vcm_final);
21391 for (result_idx = 0; result_idx < 4; result_idx++) {
21392 fine_digital_offset[result_idx] =
21393 (target_code * NPHY_RSSICAL_NPOLL) -
21394 poll_results[vcm_final[result_idx]][result_idx];
21395 if (fine_digital_offset[result_idx] < 0) {
21396 fine_digital_offset[result_idx] =
21397 ABS(fine_digital_offset[result_idx]);
21398 fine_digital_offset[result_idx] +=
21399 (NPHY_RSSICAL_NPOLL / 2);
21400 fine_digital_offset[result_idx] /= NPHY_RSSICAL_NPOLL;
21401 fine_digital_offset[result_idx] =
21402 -fine_digital_offset[result_idx];
21404 fine_digital_offset[result_idx] +=
21405 (NPHY_RSSICAL_NPOLL / 2);
21406 fine_digital_offset[result_idx] /= NPHY_RSSICAL_NPOLL;
21409 if (poll_results_min[result_idx] ==
21410 NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL) {
21411 fine_digital_offset[result_idx] =
21412 (target_code - NPHY_RSSICAL_MAXREAD - 1);
21415 wlc_phy_scale_offset_rssi_nphy(pi, 0x0,
21417 fine_digital_offset[result_idx],
21419 0) ? RADIO_MIMO_CORESEL_CORE1 :
21420 RADIO_MIMO_CORESEL_CORE2,
21422 0) ? NPHY_RAIL_I : NPHY_RAIL_Q,
21426 mod_radio_reg(pi, RADIO_2055_PD_CORE1_RSSI_MISC, pd_mask, pd_state[0]);
21427 mod_radio_reg(pi, RADIO_2055_PD_CORE2_RSSI_MISC, pd_mask, pd_state[1]);
21428 if (rssi_ctrl_state[0] == RADIO_2055_NBRSSI_SEL) {
21429 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21431 } else if (rssi_ctrl_state[0] == RADIO_2055_WBRSSI_G1_SEL) {
21432 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21434 } else if (rssi_ctrl_state[0] == RADIO_2055_WBRSSI_G2_SEL) {
21435 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21438 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21441 if (rssi_ctrl_state[1] == RADIO_2055_NBRSSI_SEL) {
21442 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21444 } else if (rssi_ctrl_state[1] == RADIO_2055_WBRSSI_G1_SEL) {
21445 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21447 } else if (rssi_ctrl_state[1] == RADIO_2055_WBRSSI_G2_SEL) {
21448 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21451 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21455 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_OFF, rssi_type);
21457 write_phy_reg(pi, 0x91, rfctrlintc_state[0]);
21458 write_radio_reg(pi, RADIO_2055_PD_CORE1_RXTX, rfpdcorerxtx_state[0]);
21459 write_phy_reg(pi, 0x92, rfctrlintc_state[1]);
21460 write_radio_reg(pi, RADIO_2055_PD_CORE2_RXTX, rfpdcorerxtx_state[1]);
21462 wlc_phy_classifier_nphy(pi, (0x7 << 0), classif_state);
21463 wlc_phy_clip_det_nphy(pi, 1, clip_state);
21465 wlc_phy_resetcca_nphy(pi);
21469 wlc_phy_rssi_compute_nphy(phy_info_t *pi, wlc_d11rxhdr_t *wlc_rxh)
21471 d11rxhdr_t *rxh = &wlc_rxh->rxhdr;
21472 s16 rxpwr, rxpwr0, rxpwr1;
21473 s16 phyRx0_l, phyRx2_l;
21476 rxpwr0 = ltoh16(rxh->PhyRxStatus_1) & PRXS1_nphy_PWR0_MASK;
21477 rxpwr1 = (ltoh16(rxh->PhyRxStatus_1) & PRXS1_nphy_PWR1_MASK) >> 8;
21484 phyRx0_l = ltoh16(rxh->PhyRxStatus_0) & 0x00ff;
21485 phyRx2_l = ltoh16(rxh->PhyRxStatus_2) & 0x00ff;
21486 if (phyRx2_l > 127)
21489 if (((rxpwr0 == 16) || (rxpwr0 == 32))) {
21494 wlc_rxh->rxpwr[0] = (s8) rxpwr0;
21495 wlc_rxh->rxpwr[1] = (s8) rxpwr1;
21496 wlc_rxh->do_rssi_ma = 0;
21498 if (pi->sh->rssi_mode == RSSI_ANT_MERGE_MAX)
21499 rxpwr = (rxpwr0 > rxpwr1) ? rxpwr0 : rxpwr1;
21500 else if (pi->sh->rssi_mode == RSSI_ANT_MERGE_MIN)
21501 rxpwr = (rxpwr0 < rxpwr1) ? rxpwr0 : rxpwr1;
21502 else if (pi->sh->rssi_mode == RSSI_ANT_MERGE_AVG)
21503 rxpwr = (rxpwr0 + rxpwr1) >> 1;
21511 wlc_phy_rfctrlintc_override_nphy(phy_info_t *pi, u8 field, u16 value,
21518 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
21519 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
21520 if (core_code == RADIO_MIMO_CORESEL_CORE1
21521 && core == PHY_CORE_1)
21523 else if (core_code == RADIO_MIMO_CORESEL_CORE2
21524 && core == PHY_CORE_0)
21527 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
21529 mask = (0x1 << 10);
21531 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x91 :
21535 if (field == NPHY_RfctrlIntc_override_OFF) {
21537 write_phy_reg(pi, (core == PHY_CORE_0) ? 0x91 :
21540 wlc_phy_force_rfseq_nphy(pi,
21541 NPHY_RFSEQ_RESET2RX);
21542 } else if (field == NPHY_RfctrlIntc_override_TRSW) {
21544 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21546 mask = (0x1 << 6) | (0x1 << 7);
21551 PHY_CORE_0) ? 0x91 : 0x92,
21556 PHY_CORE_0) ? 0x91 : 0x92,
21559 and_phy_reg(pi, 0x2ff, (u16)
21561 or_phy_reg(pi, 0x2ff, (0x1 << 13));
21562 or_phy_reg(pi, 0x2ff, (0x1 << 0));
21565 mask = (0x1 << 6) |
21567 (0x1 << 8) | (0x1 << 9);
21571 PHY_CORE_0) ? 0x91 : 0x92,
21578 PHY_CORE_0) ? 0xe7 : 0xec,
21581 mask = (core == PHY_CORE_0) ? (0x1 << 0)
21583 val = 1 << ((core == PHY_CORE_0) ?
21585 mod_phy_reg(pi, 0x78, mask, val);
21587 SPINWAIT(((read_phy_reg(pi, 0x78) & val)
21589 ASSERT((read_phy_reg(pi, 0x78) & val) ==
21596 PHY_CORE_0) ? 0xe7 : 0xec,
21599 } else if (field == NPHY_RfctrlIntc_override_PA) {
21600 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21602 mask = (0x1 << 4) | (0x1 << 5);
21604 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21612 PHY_CORE_0) ? 0x91 : 0x92,
21617 PHY_CORE_0) ? 0x91 : 0x92,
21621 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21630 PHY_CORE_0) ? 0x91 : 0x92,
21633 } else if (field == NPHY_RfctrlIntc_override_EXT_LNA_PU) {
21634 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21635 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21642 : 0x92, mask, val);
21656 : 0x92, mask, val);
21665 mask = (0x1 << 11);
21669 PHY_CORE_0) ? 0x91 : 0x92,
21673 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21682 PHY_CORE_0) ? 0x91 : 0x92,
21685 } else if (field ==
21686 NPHY_RfctrlIntc_override_EXT_LNA_GAIN) {
21687 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21688 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21695 : 0x92, mask, val);
21709 : 0x92, mask, val);
21718 mask = (0x1 << 11);
21722 PHY_CORE_0) ? 0x91 : 0x92,
21726 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21735 PHY_CORE_0) ? 0x91 : 0x92,
21745 static void wlc_phy_rssi_cal_nphy_rev3(phy_info_t *pi)
21749 u16 clip_off[] = { 0xffff, 0xffff };
21754 s32 poll_results[8][4] = {
21764 s32 poll_result_core[4] = { 0, 0, 0, 0 };
21765 s32 min_d = NPHY_RSSICAL_MAXD, curr_d;
21766 s32 fine_digital_offset[4];
21767 s32 poll_results_min[4] = { 0, 0, 0, 0 };
21773 u16 NPHY_Rfctrlintc1_save, NPHY_Rfctrlintc2_save;
21774 u16 NPHY_AfectrlOverride1_save, NPHY_AfectrlOverride2_save;
21775 u16 NPHY_AfectrlCore1_save, NPHY_AfectrlCore2_save;
21776 u16 NPHY_RfctrlOverride0_save, NPHY_RfctrlOverride1_save;
21777 u16 NPHY_RfctrlOverrideAux0_save, NPHY_RfctrlOverrideAux1_save;
21778 u16 NPHY_RfctrlCmd_save;
21779 u16 NPHY_RfctrlMiscReg1_save, NPHY_RfctrlMiscReg2_save;
21780 u16 NPHY_RfctrlRSSIOTHERS1_save, NPHY_RfctrlRSSIOTHERS2_save;
21782 u16 NPHY_REV7_RfctrlOverride3_save, NPHY_REV7_RfctrlOverride4_save;
21783 u16 NPHY_REV7_RfctrlOverride5_save, NPHY_REV7_RfctrlOverride6_save;
21784 u16 NPHY_REV7_RfctrlMiscReg3_save, NPHY_REV7_RfctrlMiscReg4_save;
21785 u16 NPHY_REV7_RfctrlMiscReg5_save, NPHY_REV7_RfctrlMiscReg6_save;
21787 NPHY_REV7_RfctrlOverride3_save = NPHY_REV7_RfctrlOverride4_save =
21788 NPHY_REV7_RfctrlOverride5_save = NPHY_REV7_RfctrlOverride6_save =
21789 NPHY_REV7_RfctrlMiscReg3_save = NPHY_REV7_RfctrlMiscReg4_save =
21790 NPHY_REV7_RfctrlMiscReg5_save = NPHY_REV7_RfctrlMiscReg6_save = 0;
21792 classif_state = wlc_phy_classifier_nphy(pi, 0, 0);
21793 wlc_phy_classifier_nphy(pi, (0x7 << 0), 4);
21794 wlc_phy_clip_det_nphy(pi, 0, clip_state);
21795 wlc_phy_clip_det_nphy(pi, 1, clip_off);
21797 NPHY_Rfctrlintc1_save = read_phy_reg(pi, 0x91);
21798 NPHY_Rfctrlintc2_save = read_phy_reg(pi, 0x92);
21799 NPHY_AfectrlOverride1_save = read_phy_reg(pi, 0x8f);
21800 NPHY_AfectrlOverride2_save = read_phy_reg(pi, 0xa5);
21801 NPHY_AfectrlCore1_save = read_phy_reg(pi, 0xa6);
21802 NPHY_AfectrlCore2_save = read_phy_reg(pi, 0xa7);
21803 NPHY_RfctrlOverride0_save = read_phy_reg(pi, 0xe7);
21804 NPHY_RfctrlOverride1_save = read_phy_reg(pi, 0xec);
21805 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21806 NPHY_REV7_RfctrlOverride3_save = read_phy_reg(pi, 0x342);
21807 NPHY_REV7_RfctrlOverride4_save = read_phy_reg(pi, 0x343);
21808 NPHY_REV7_RfctrlOverride5_save = read_phy_reg(pi, 0x346);
21809 NPHY_REV7_RfctrlOverride6_save = read_phy_reg(pi, 0x347);
21811 NPHY_RfctrlOverrideAux0_save = read_phy_reg(pi, 0xe5);
21812 NPHY_RfctrlOverrideAux1_save = read_phy_reg(pi, 0xe6);
21813 NPHY_RfctrlCmd_save = read_phy_reg(pi, 0x78);
21814 NPHY_RfctrlMiscReg1_save = read_phy_reg(pi, 0xf9);
21815 NPHY_RfctrlMiscReg2_save = read_phy_reg(pi, 0xfb);
21816 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21817 NPHY_REV7_RfctrlMiscReg3_save = read_phy_reg(pi, 0x340);
21818 NPHY_REV7_RfctrlMiscReg4_save = read_phy_reg(pi, 0x341);
21819 NPHY_REV7_RfctrlMiscReg5_save = read_phy_reg(pi, 0x344);
21820 NPHY_REV7_RfctrlMiscReg6_save = read_phy_reg(pi, 0x345);
21822 NPHY_RfctrlRSSIOTHERS1_save = read_phy_reg(pi, 0x7a);
21823 NPHY_RfctrlRSSIOTHERS2_save = read_phy_reg(pi, 0x7d);
21825 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_OFF, 0,
21826 RADIO_MIMO_CORESEL_ALLRXTX);
21827 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_TRSW, 1,
21828 RADIO_MIMO_CORESEL_ALLRXTX);
21830 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21831 wlc_phy_rfctrl_override_1tomany_nphy(pi,
21832 NPHY_REV7_RfctrlOverride_cmd_rxrf_pu,
21835 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 0), 0, 0, 0);
21838 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21839 wlc_phy_rfctrl_override_1tomany_nphy(pi,
21840 NPHY_REV7_RfctrlOverride_cmd_rx_pu,
21843 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 1), 1, 0, 0);
21846 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21847 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
21849 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21850 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 6), 1, 0, 0,
21851 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21853 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 7), 1, 0, 0);
21854 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 6), 1, 0, 0);
21857 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21858 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21859 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5),
21861 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21862 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), 1, 0,
21864 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21866 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 5), 0, 0, 0);
21867 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 4), 1, 0, 0);
21871 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21872 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4),
21874 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21875 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5), 1, 0,
21877 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21879 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 4), 0, 0, 0);
21880 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 5), 1, 0, 0);
21884 rxcore_state = wlc_phy_rxcore_getstate_nphy((wlc_phy_t *) pi);
21888 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
21890 if ((rxcore_state & (1 << core)) == 0)
21893 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
21896 RADIO_MIMO_CORESEL_CORE1 :
21897 RADIO_MIMO_CORESEL_CORE2,
21898 NPHY_RAIL_I, NPHY_RSSI_SEL_NB);
21899 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
21902 RADIO_MIMO_CORESEL_CORE1 :
21903 RADIO_MIMO_CORESEL_CORE2,
21904 NPHY_RAIL_Q, NPHY_RSSI_SEL_NB);
21906 for (vcm = 0; vcm < vcm_level_max; vcm++) {
21907 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21909 mod_radio_reg(pi, (core == PHY_CORE_0) ?
21910 RADIO_2057_NB_MASTER_CORE0 :
21911 RADIO_2057_NB_MASTER_CORE1,
21912 RADIO_2057_VCM_MASK, vcm);
21915 mod_radio_reg(pi, RADIO_2056_RX_RSSI_MISC |
21917 PHY_CORE_0) ? RADIO_2056_RX0 :
21919 RADIO_2056_VCM_MASK,
21920 vcm << RADIO_2056_RSSI_VCM_SHIFT);
21923 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_NB,
21924 &poll_results[vcm][0],
21925 NPHY_RSSICAL_NPOLL);
21928 for (result_idx = 0; result_idx < 4; result_idx++) {
21929 if ((core == result_idx / 2) && (result_idx % 2 == 0)) {
21931 min_d = NPHY_RSSICAL_MAXD;
21934 NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL +
21936 for (vcm = 0; vcm < vcm_level_max; vcm++) {
21937 curr_d = poll_results[vcm][result_idx] *
21938 poll_results[vcm][result_idx] +
21939 poll_results[vcm][result_idx + 1] *
21940 poll_results[vcm][result_idx + 1];
21941 if (curr_d < min_d) {
21945 if (poll_results[vcm][result_idx] <
21952 vcm_final = min_vcm;
21953 poll_results_min[result_idx] = min_poll;
21957 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21958 mod_radio_reg(pi, (core == PHY_CORE_0) ?
21959 RADIO_2057_NB_MASTER_CORE0 :
21960 RADIO_2057_NB_MASTER_CORE1,
21961 RADIO_2057_VCM_MASK, vcm_final);
21963 mod_radio_reg(pi, RADIO_2056_RX_RSSI_MISC |
21965 PHY_CORE_0) ? RADIO_2056_RX0 :
21966 RADIO_2056_RX1), RADIO_2056_VCM_MASK,
21967 vcm_final << RADIO_2056_RSSI_VCM_SHIFT);
21970 for (result_idx = 0; result_idx < 4; result_idx++) {
21971 if (core == result_idx / 2) {
21972 fine_digital_offset[result_idx] =
21973 (NPHY_RSSICAL_NB_TARGET *
21974 NPHY_RSSICAL_NPOLL) -
21975 poll_results[vcm_final][result_idx];
21976 if (fine_digital_offset[result_idx] < 0) {
21977 fine_digital_offset[result_idx] =
21978 ABS(fine_digital_offset
21980 fine_digital_offset[result_idx] +=
21981 (NPHY_RSSICAL_NPOLL / 2);
21982 fine_digital_offset[result_idx] /=
21983 NPHY_RSSICAL_NPOLL;
21984 fine_digital_offset[result_idx] =
21985 -fine_digital_offset[result_idx];
21987 fine_digital_offset[result_idx] +=
21988 (NPHY_RSSICAL_NPOLL / 2);
21989 fine_digital_offset[result_idx] /=
21990 NPHY_RSSICAL_NPOLL;
21993 if (poll_results_min[result_idx] ==
21994 NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL) {
21995 fine_digital_offset[result_idx] =
21996 (NPHY_RSSICAL_NB_TARGET -
21997 NPHY_RSSICAL_MAXREAD - 1);
22000 wlc_phy_scale_offset_rssi_nphy(pi, 0x0,
22002 fine_digital_offset
22007 RADIO_MIMO_CORESEL_CORE1
22009 RADIO_MIMO_CORESEL_CORE2,
22020 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
22022 if ((rxcore_state & (1 << core)) == 0)
22025 for (wb_cnt = 0; wb_cnt < 2; wb_cnt++) {
22027 rssi_type = NPHY_RSSI_SEL_W1;
22028 target_code = NPHY_RSSICAL_W1_TARGET_REV3;
22030 rssi_type = NPHY_RSSI_SEL_W2;
22031 target_code = NPHY_RSSICAL_W2_TARGET_REV3;
22034 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
22037 RADIO_MIMO_CORESEL_CORE1
22039 RADIO_MIMO_CORESEL_CORE2,
22040 NPHY_RAIL_I, rssi_type);
22041 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
22044 RADIO_MIMO_CORESEL_CORE1
22046 RADIO_MIMO_CORESEL_CORE2,
22047 NPHY_RAIL_Q, rssi_type);
22049 wlc_phy_poll_rssi_nphy(pi, rssi_type, poll_result_core,
22050 NPHY_RSSICAL_NPOLL);
22052 for (result_idx = 0; result_idx < 4; result_idx++) {
22053 if (core == result_idx / 2) {
22054 fine_digital_offset[result_idx] =
22055 (target_code * NPHY_RSSICAL_NPOLL) -
22056 poll_result_core[result_idx];
22057 if (fine_digital_offset[result_idx] < 0) {
22058 fine_digital_offset[result_idx]
22060 ABS(fine_digital_offset
22062 fine_digital_offset[result_idx]
22063 += (NPHY_RSSICAL_NPOLL / 2);
22064 fine_digital_offset[result_idx]
22065 /= NPHY_RSSICAL_NPOLL;
22066 fine_digital_offset[result_idx]
22068 -fine_digital_offset
22071 fine_digital_offset[result_idx]
22072 += (NPHY_RSSICAL_NPOLL / 2);
22073 fine_digital_offset[result_idx]
22074 /= NPHY_RSSICAL_NPOLL;
22077 wlc_phy_scale_offset_rssi_nphy(pi, 0x0,
22079 fine_digital_offset
22085 RADIO_MIMO_CORESEL_CORE1
22087 RADIO_MIMO_CORESEL_CORE2,
22101 write_phy_reg(pi, 0x91, NPHY_Rfctrlintc1_save);
22102 write_phy_reg(pi, 0x92, NPHY_Rfctrlintc2_save);
22104 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
22106 mod_phy_reg(pi, 0xe7, (0x1 << 0), 1 << 0);
22107 mod_phy_reg(pi, 0x78, (0x1 << 0), 1 << 0);
22108 mod_phy_reg(pi, 0xe7, (0x1 << 0), 0);
22110 mod_phy_reg(pi, 0xec, (0x1 << 0), 1 << 0);
22111 mod_phy_reg(pi, 0x78, (0x1 << 1), 1 << 1);
22112 mod_phy_reg(pi, 0xec, (0x1 << 0), 0);
22114 write_phy_reg(pi, 0x8f, NPHY_AfectrlOverride1_save);
22115 write_phy_reg(pi, 0xa5, NPHY_AfectrlOverride2_save);
22116 write_phy_reg(pi, 0xa6, NPHY_AfectrlCore1_save);
22117 write_phy_reg(pi, 0xa7, NPHY_AfectrlCore2_save);
22118 write_phy_reg(pi, 0xe7, NPHY_RfctrlOverride0_save);
22119 write_phy_reg(pi, 0xec, NPHY_RfctrlOverride1_save);
22120 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22121 write_phy_reg(pi, 0x342, NPHY_REV7_RfctrlOverride3_save);
22122 write_phy_reg(pi, 0x343, NPHY_REV7_RfctrlOverride4_save);
22123 write_phy_reg(pi, 0x346, NPHY_REV7_RfctrlOverride5_save);
22124 write_phy_reg(pi, 0x347, NPHY_REV7_RfctrlOverride6_save);
22126 write_phy_reg(pi, 0xe5, NPHY_RfctrlOverrideAux0_save);
22127 write_phy_reg(pi, 0xe6, NPHY_RfctrlOverrideAux1_save);
22128 write_phy_reg(pi, 0x78, NPHY_RfctrlCmd_save);
22129 write_phy_reg(pi, 0xf9, NPHY_RfctrlMiscReg1_save);
22130 write_phy_reg(pi, 0xfb, NPHY_RfctrlMiscReg2_save);
22131 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22132 write_phy_reg(pi, 0x340, NPHY_REV7_RfctrlMiscReg3_save);
22133 write_phy_reg(pi, 0x341, NPHY_REV7_RfctrlMiscReg4_save);
22134 write_phy_reg(pi, 0x344, NPHY_REV7_RfctrlMiscReg5_save);
22135 write_phy_reg(pi, 0x345, NPHY_REV7_RfctrlMiscReg6_save);
22137 write_phy_reg(pi, 0x7a, NPHY_RfctrlRSSIOTHERS1_save);
22138 write_phy_reg(pi, 0x7d, NPHY_RfctrlRSSIOTHERS2_save);
22140 if (CHSPEC_IS2G(pi->radio_chanspec)) {
22141 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22142 pi->rssical_cache.rssical_radio_regs_2G[0] =
22143 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0);
22144 pi->rssical_cache.rssical_radio_regs_2G[1] =
22145 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1);
22147 pi->rssical_cache.rssical_radio_regs_2G[0] =
22149 RADIO_2056_RX_RSSI_MISC |
22151 pi->rssical_cache.rssical_radio_regs_2G[1] =
22153 RADIO_2056_RX_RSSI_MISC |
22157 pi->rssical_cache.rssical_phyregs_2G[0] =
22158 read_phy_reg(pi, 0x1a6);
22159 pi->rssical_cache.rssical_phyregs_2G[1] =
22160 read_phy_reg(pi, 0x1ac);
22161 pi->rssical_cache.rssical_phyregs_2G[2] =
22162 read_phy_reg(pi, 0x1b2);
22163 pi->rssical_cache.rssical_phyregs_2G[3] =
22164 read_phy_reg(pi, 0x1b8);
22165 pi->rssical_cache.rssical_phyregs_2G[4] =
22166 read_phy_reg(pi, 0x1a4);
22167 pi->rssical_cache.rssical_phyregs_2G[5] =
22168 read_phy_reg(pi, 0x1aa);
22169 pi->rssical_cache.rssical_phyregs_2G[6] =
22170 read_phy_reg(pi, 0x1b0);
22171 pi->rssical_cache.rssical_phyregs_2G[7] =
22172 read_phy_reg(pi, 0x1b6);
22173 pi->rssical_cache.rssical_phyregs_2G[8] =
22174 read_phy_reg(pi, 0x1a5);
22175 pi->rssical_cache.rssical_phyregs_2G[9] =
22176 read_phy_reg(pi, 0x1ab);
22177 pi->rssical_cache.rssical_phyregs_2G[10] =
22178 read_phy_reg(pi, 0x1b1);
22179 pi->rssical_cache.rssical_phyregs_2G[11] =
22180 read_phy_reg(pi, 0x1b7);
22182 pi->nphy_rssical_chanspec_2G = pi->radio_chanspec;
22184 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22185 pi->rssical_cache.rssical_radio_regs_5G[0] =
22186 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0);
22187 pi->rssical_cache.rssical_radio_regs_5G[1] =
22188 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1);
22190 pi->rssical_cache.rssical_radio_regs_5G[0] =
22192 RADIO_2056_RX_RSSI_MISC |
22194 pi->rssical_cache.rssical_radio_regs_5G[1] =
22196 RADIO_2056_RX_RSSI_MISC |
22200 pi->rssical_cache.rssical_phyregs_5G[0] =
22201 read_phy_reg(pi, 0x1a6);
22202 pi->rssical_cache.rssical_phyregs_5G[1] =
22203 read_phy_reg(pi, 0x1ac);
22204 pi->rssical_cache.rssical_phyregs_5G[2] =
22205 read_phy_reg(pi, 0x1b2);
22206 pi->rssical_cache.rssical_phyregs_5G[3] =
22207 read_phy_reg(pi, 0x1b8);
22208 pi->rssical_cache.rssical_phyregs_5G[4] =
22209 read_phy_reg(pi, 0x1a4);
22210 pi->rssical_cache.rssical_phyregs_5G[5] =
22211 read_phy_reg(pi, 0x1aa);
22212 pi->rssical_cache.rssical_phyregs_5G[6] =
22213 read_phy_reg(pi, 0x1b0);
22214 pi->rssical_cache.rssical_phyregs_5G[7] =
22215 read_phy_reg(pi, 0x1b6);
22216 pi->rssical_cache.rssical_phyregs_5G[8] =
22217 read_phy_reg(pi, 0x1a5);
22218 pi->rssical_cache.rssical_phyregs_5G[9] =
22219 read_phy_reg(pi, 0x1ab);
22220 pi->rssical_cache.rssical_phyregs_5G[10] =
22221 read_phy_reg(pi, 0x1b1);
22222 pi->rssical_cache.rssical_phyregs_5G[11] =
22223 read_phy_reg(pi, 0x1b7);
22225 pi->nphy_rssical_chanspec_5G = pi->radio_chanspec;
22228 wlc_phy_classifier_nphy(pi, (0x7 << 0), classif_state);
22229 wlc_phy_clip_det_nphy(pi, 1, clip_state);
22232 static void wlc_phy_restore_rssical_nphy(phy_info_t *pi)
22234 ASSERT(NREV_GE(pi->pubpi.phy_rev, 3));
22236 if (CHSPEC_IS2G(pi->radio_chanspec)) {
22237 if (pi->nphy_rssical_chanspec_2G == 0)
22240 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22241 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0,
22242 RADIO_2057_VCM_MASK,
22244 rssical_radio_regs_2G[0]);
22245 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1,
22246 RADIO_2057_VCM_MASK,
22248 rssical_radio_regs_2G[1]);
22251 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX0,
22252 RADIO_2056_VCM_MASK,
22254 rssical_radio_regs_2G[0]);
22256 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX1,
22257 RADIO_2056_VCM_MASK,
22259 rssical_radio_regs_2G[1]);
22262 write_phy_reg(pi, 0x1a6,
22263 pi->rssical_cache.rssical_phyregs_2G[0]);
22264 write_phy_reg(pi, 0x1ac,
22265 pi->rssical_cache.rssical_phyregs_2G[1]);
22266 write_phy_reg(pi, 0x1b2,
22267 pi->rssical_cache.rssical_phyregs_2G[2]);
22268 write_phy_reg(pi, 0x1b8,
22269 pi->rssical_cache.rssical_phyregs_2G[3]);
22270 write_phy_reg(pi, 0x1a4,
22271 pi->rssical_cache.rssical_phyregs_2G[4]);
22272 write_phy_reg(pi, 0x1aa,
22273 pi->rssical_cache.rssical_phyregs_2G[5]);
22274 write_phy_reg(pi, 0x1b0,
22275 pi->rssical_cache.rssical_phyregs_2G[6]);
22276 write_phy_reg(pi, 0x1b6,
22277 pi->rssical_cache.rssical_phyregs_2G[7]);
22278 write_phy_reg(pi, 0x1a5,
22279 pi->rssical_cache.rssical_phyregs_2G[8]);
22280 write_phy_reg(pi, 0x1ab,
22281 pi->rssical_cache.rssical_phyregs_2G[9]);
22282 write_phy_reg(pi, 0x1b1,
22283 pi->rssical_cache.rssical_phyregs_2G[10]);
22284 write_phy_reg(pi, 0x1b7,
22285 pi->rssical_cache.rssical_phyregs_2G[11]);
22288 if (pi->nphy_rssical_chanspec_5G == 0)
22291 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22292 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0,
22293 RADIO_2057_VCM_MASK,
22295 rssical_radio_regs_5G[0]);
22296 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1,
22297 RADIO_2057_VCM_MASK,
22299 rssical_radio_regs_5G[1]);
22302 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX0,
22303 RADIO_2056_VCM_MASK,
22305 rssical_radio_regs_5G[0]);
22307 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX1,
22308 RADIO_2056_VCM_MASK,
22310 rssical_radio_regs_5G[1]);
22313 write_phy_reg(pi, 0x1a6,
22314 pi->rssical_cache.rssical_phyregs_5G[0]);
22315 write_phy_reg(pi, 0x1ac,
22316 pi->rssical_cache.rssical_phyregs_5G[1]);
22317 write_phy_reg(pi, 0x1b2,
22318 pi->rssical_cache.rssical_phyregs_5G[2]);
22319 write_phy_reg(pi, 0x1b8,
22320 pi->rssical_cache.rssical_phyregs_5G[3]);
22321 write_phy_reg(pi, 0x1a4,
22322 pi->rssical_cache.rssical_phyregs_5G[4]);
22323 write_phy_reg(pi, 0x1aa,
22324 pi->rssical_cache.rssical_phyregs_5G[5]);
22325 write_phy_reg(pi, 0x1b0,
22326 pi->rssical_cache.rssical_phyregs_5G[6]);
22327 write_phy_reg(pi, 0x1b6,
22328 pi->rssical_cache.rssical_phyregs_5G[7]);
22329 write_phy_reg(pi, 0x1a5,
22330 pi->rssical_cache.rssical_phyregs_5G[8]);
22331 write_phy_reg(pi, 0x1ab,
22332 pi->rssical_cache.rssical_phyregs_5G[9]);
22333 write_phy_reg(pi, 0x1b1,
22334 pi->rssical_cache.rssical_phyregs_5G[10]);
22335 write_phy_reg(pi, 0x1b7,
22336 pi->rssical_cache.rssical_phyregs_5G[11]);
22341 wlc_phy_gen_load_samples_nphy(phy_info_t *pi, u32 f_kHz, u16 max_val,
22344 u8 phy_bw, is_phybw40;
22345 u16 num_samps, t, spur;
22346 fixed theta = 0, rot = 0;
22348 cs32 *tone_buf = NULL;
22350 is_phybw40 = CHSPEC_IS40(pi->radio_chanspec);
22351 phy_bw = (is_phybw40 == 1) ? 40 : 20;
22352 tbl_len = (phy_bw << 3);
22354 if (dac_test_mode == 1) {
22355 spur = read_phy_reg(pi, 0x01);
22356 spur = (spur >> 15) & 1;
22357 phy_bw = (spur == 1) ? 82 : 80;
22358 phy_bw = (is_phybw40 == 1) ? (phy_bw << 1) : phy_bw;
22360 tbl_len = (phy_bw << 1);
22363 tone_buf = kmalloc(sizeof(cs32) * tbl_len, GFP_ATOMIC);
22364 if (tone_buf == NULL) {
22368 num_samps = (u16) tbl_len;
22369 rot = FIXED((f_kHz * 36) / phy_bw) / 100;
22372 for (t = 0; t < num_samps; t++) {
22374 wlc_phy_cordic(theta, &tone_buf[t]);
22378 tone_buf[t].q = (s32) FLOAT(tone_buf[t].q * max_val);
22379 tone_buf[t].i = (s32) FLOAT(tone_buf[t].i * max_val);
22382 wlc_phy_loadsampletable_nphy(pi, tone_buf, num_samps);
22384 if (tone_buf != NULL)
22391 wlc_phy_tx_tone_nphy(phy_info_t *pi, u32 f_kHz, u16 max_val,
22392 u8 iqmode, u8 dac_test_mode, bool modify_bbmult)
22395 u16 loops = 0xffff;
22399 wlc_phy_gen_load_samples_nphy(pi, f_kHz, max_val, dac_test_mode);
22400 if (num_samps == 0) {
22404 wlc_phy_runsamples_nphy(pi, num_samps, loops, wait, iqmode,
22405 dac_test_mode, modify_bbmult);
22411 wlc_phy_loadsampletable_nphy(phy_info_t *pi, cs32 *tone_buf,
22415 u32 *data_buf = NULL;
22417 data_buf = kmalloc(sizeof(u32) * num_samps, GFP_ATOMIC);
22418 if (data_buf == NULL) {
22422 if (pi->phyhang_avoid)
22423 wlc_phy_stay_in_carriersearch_nphy(pi, true);
22425 for (t = 0; t < num_samps; t++) {
22426 data_buf[t] = ((((unsigned int)tone_buf[t].i) & 0x3ff) << 10) |
22427 (((unsigned int)tone_buf[t].q) & 0x3ff);
22429 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_SAMPLEPLAY, num_samps, 0, 32,
22432 if (data_buf != NULL)
22435 if (pi->phyhang_avoid)
22436 wlc_phy_stay_in_carriersearch_nphy(pi, false);
22440 wlc_phy_runsamples_nphy(phy_info_t *pi, u16 num_samps, u16 loops,
22441 u16 wait, u8 iqmode, u8 dac_test_mode,
22442 bool modify_bbmult)
22445 u8 phy_bw, sample_cmd;
22446 u16 orig_RfseqCoreActv;
22447 u16 lpf_bw_ctl_override3, lpf_bw_ctl_override4, lpf_bw_ctl_miscreg3,
22448 lpf_bw_ctl_miscreg4;
22450 if (pi->phyhang_avoid)
22451 wlc_phy_stay_in_carriersearch_nphy(pi, true);
22454 if (CHSPEC_IS40(pi->radio_chanspec))
22457 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22459 lpf_bw_ctl_override3 = read_phy_reg(pi, 0x342) & (0x1 << 7);
22460 lpf_bw_ctl_override4 = read_phy_reg(pi, 0x343) & (0x1 << 7);
22461 if (lpf_bw_ctl_override3 | lpf_bw_ctl_override4) {
22462 lpf_bw_ctl_miscreg3 = read_phy_reg(pi, 0x340) &
22464 lpf_bw_ctl_miscreg4 = read_phy_reg(pi, 0x341) &
22467 wlc_phy_rfctrl_override_nphy_rev7(pi,
22469 wlc_phy_read_lpf_bw_ctl_nphy
22471 NPHY_REV7_RFCTRLOVERRIDE_ID1);
22473 pi->nphy_sample_play_lpf_bw_ctl_ovr = true;
22475 lpf_bw_ctl_miscreg3 = read_phy_reg(pi, 0x340) &
22477 lpf_bw_ctl_miscreg4 = read_phy_reg(pi, 0x341) &
22482 if ((pi->nphy_bb_mult_save & BB_MULT_VALID_MASK) == 0) {
22484 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, 87, 16,
22486 pi->nphy_bb_mult_save =
22487 BB_MULT_VALID_MASK | (bb_mult & BB_MULT_MASK);
22490 if (modify_bbmult) {
22491 bb_mult = (phy_bw == 20) ? 100 : 71;
22492 bb_mult = (bb_mult << 8) + bb_mult;
22493 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, 87, 16,
22497 if (pi->phyhang_avoid)
22498 wlc_phy_stay_in_carriersearch_nphy(pi, false);
22500 write_phy_reg(pi, 0xc6, num_samps - 1);
22502 if (loops != 0xffff) {
22503 write_phy_reg(pi, 0xc4, loops - 1);
22505 write_phy_reg(pi, 0xc4, loops);
22507 write_phy_reg(pi, 0xc5, wait);
22509 orig_RfseqCoreActv = read_phy_reg(pi, 0xa1);
22510 or_phy_reg(pi, 0xa1, NPHY_RfseqMode_CoreActv_override);
22513 and_phy_reg(pi, 0xc2, 0x7FFF);
22515 or_phy_reg(pi, 0xc2, 0x8000);
22518 sample_cmd = (dac_test_mode == 1) ? 0x5 : 0x1;
22519 write_phy_reg(pi, 0xc3, sample_cmd);
22522 SPINWAIT(((read_phy_reg(pi, 0xa4) & 0x1) == 1), 1000);
22524 write_phy_reg(pi, 0xa1, orig_RfseqCoreActv);
22527 void wlc_phy_stopplayback_nphy(phy_info_t *pi)
22529 u16 playback_status;
22532 if (pi->phyhang_avoid)
22533 wlc_phy_stay_in_carriersearch_nphy(pi, true);
22535 playback_status = read_phy_reg(pi, 0xc7);
22536 if (playback_status & 0x1) {
22537 or_phy_reg(pi, 0xc3, NPHY_sampleCmd_STOP);
22538 } else if (playback_status & 0x2) {
22540 and_phy_reg(pi, 0xc2,
22541 (u16) ~NPHY_iqloCalCmdGctl_IQLO_CAL_EN);
22544 and_phy_reg(pi, 0xc3, (u16) ~(0x1 << 2));
22546 if ((pi->nphy_bb_mult_save & BB_MULT_VALID_MASK) != 0) {
22548 bb_mult = pi->nphy_bb_mult_save & BB_MULT_MASK;
22549 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, 87, 16,
22552 pi->nphy_bb_mult_save = 0;
22555 if (NREV_IS(pi->pubpi.phy_rev, 7) || NREV_GE(pi->pubpi.phy_rev, 8)) {
22556 if (pi->nphy_sample_play_lpf_bw_ctl_ovr) {
22557 wlc_phy_rfctrl_override_nphy_rev7(pi,
22560 NPHY_REV7_RFCTRLOVERRIDE_ID1);
22561 pi->nphy_sample_play_lpf_bw_ctl_ovr = false;
22565 if (pi->phyhang_avoid)
22566 wlc_phy_stay_in_carriersearch_nphy(pi, false);
22569 nphy_txgains_t wlc_phy_get_tx_gain_nphy(phy_info_t *pi)
22571 u16 base_idx[2], curr_gain[2];
22573 nphy_txgains_t target_gain;
22574 u32 *tx_pwrctrl_tbl = NULL;
22576 if (pi->nphy_txpwrctrl == PHY_TPC_HW_OFF) {
22577 if (pi->phyhang_avoid)
22578 wlc_phy_stay_in_carriersearch_nphy(pi, true);
22580 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
22583 if (pi->phyhang_avoid)
22584 wlc_phy_stay_in_carriersearch_nphy(pi, false);
22586 for (core_no = 0; core_no < 2; core_no++) {
22587 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22588 target_gain.ipa[core_no] =
22589 curr_gain[core_no] & 0x0007;
22590 target_gain.pad[core_no] =
22591 ((curr_gain[core_no] & 0x00F8) >> 3);
22592 target_gain.pga[core_no] =
22593 ((curr_gain[core_no] & 0x0F00) >> 8);
22594 target_gain.txgm[core_no] =
22595 ((curr_gain[core_no] & 0x7000) >> 12);
22596 target_gain.txlpf[core_no] =
22597 ((curr_gain[core_no] & 0x8000) >> 15);
22598 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22599 target_gain.ipa[core_no] =
22600 curr_gain[core_no] & 0x000F;
22601 target_gain.pad[core_no] =
22602 ((curr_gain[core_no] & 0x00F0) >> 4);
22603 target_gain.pga[core_no] =
22604 ((curr_gain[core_no] & 0x0F00) >> 8);
22605 target_gain.txgm[core_no] =
22606 ((curr_gain[core_no] & 0x7000) >> 12);
22608 target_gain.ipa[core_no] =
22609 curr_gain[core_no] & 0x0003;
22610 target_gain.pad[core_no] =
22611 ((curr_gain[core_no] & 0x000C) >> 2);
22612 target_gain.pga[core_no] =
22613 ((curr_gain[core_no] & 0x0070) >> 4);
22614 target_gain.txgm[core_no] =
22615 ((curr_gain[core_no] & 0x0380) >> 7);
22619 base_idx[0] = (read_phy_reg(pi, 0x1ed) >> 8) & 0x7f;
22620 base_idx[1] = (read_phy_reg(pi, 0x1ee) >> 8) & 0x7f;
22621 for (core_no = 0; core_no < 2; core_no++) {
22622 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22625 wlc_phy_get_ipa_gaintbl_nphy(pi);
22627 if (CHSPEC_IS5G(pi->radio_chanspec)) {
22629 (pi->pubpi.phy_rev, 3) {
22631 nphy_tpc_5GHz_txgain_rev3;
22633 (pi->pubpi.phy_rev, 4) {
22638 nphy_tpc_5GHz_txgain_HiPwrEPA
22640 nphy_tpc_5GHz_txgain_rev4;
22643 nphy_tpc_5GHz_txgain_rev5;
22647 (pi->pubpi.phy_rev, 7)) {
22651 nphy_tpc_txgain_epa_2057rev3;
22652 } else if (pi->pubpi.
22656 nphy_tpc_txgain_epa_2057rev5;
22661 (pi->pubpi.phy_rev,
22663 && (pi->srom_fem2g.
22667 nphy_tpc_txgain_HiPwrEPA;
22670 nphy_tpc_txgain_rev3;
22676 (pi->pubpi.phy_rev, 7) {
22677 target_gain.ipa[core_no] =
22678 (tx_pwrctrl_tbl[base_idx[core_no]]
22680 target_gain.pad[core_no] =
22681 (tx_pwrctrl_tbl[base_idx[core_no]]
22683 target_gain.pga[core_no] =
22684 (tx_pwrctrl_tbl[base_idx[core_no]]
22686 target_gain.txgm[core_no] =
22687 (tx_pwrctrl_tbl[base_idx[core_no]]
22689 target_gain.txlpf[core_no] =
22690 (tx_pwrctrl_tbl[base_idx[core_no]]
22693 target_gain.ipa[core_no] =
22694 (tx_pwrctrl_tbl[base_idx[core_no]]
22696 target_gain.pad[core_no] =
22697 (tx_pwrctrl_tbl[base_idx[core_no]]
22699 target_gain.pga[core_no] =
22700 (tx_pwrctrl_tbl[base_idx[core_no]]
22702 target_gain.txgm[core_no] =
22703 (tx_pwrctrl_tbl[base_idx[core_no]]
22707 target_gain.ipa[core_no] =
22708 (nphy_tpc_txgain[base_idx[core_no]] >> 16) &
22710 target_gain.pad[core_no] =
22711 (nphy_tpc_txgain[base_idx[core_no]] >> 18) &
22713 target_gain.pga[core_no] =
22714 (nphy_tpc_txgain[base_idx[core_no]] >> 20) &
22716 target_gain.txgm[core_no] =
22717 (nphy_tpc_txgain[base_idx[core_no]] >> 23) &
22723 return target_gain;
22727 wlc_phy_iqcal_gainparams_nphy(phy_info_t *pi, u16 core_no,
22728 nphy_txgains_t target_gain,
22729 nphy_iqcal_params_t *params)
22734 u8 band_idx = (CHSPEC_IS5G(pi->radio_chanspec) ? 1 : 0);
22736 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22737 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22738 params->txlpf = target_gain.txlpf[core_no];
22740 params->txgm = target_gain.txgm[core_no];
22741 params->pga = target_gain.pga[core_no];
22742 params->pad = target_gain.pad[core_no];
22743 params->ipa = target_gain.ipa[core_no];
22744 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22746 ((params->txlpf << 15) | (params->
22747 txgm << 12) | (params->
22749 (params->pad << 3) | (params->ipa));
22752 ((params->txgm << 12) | (params->
22753 pga << 8) | (params->
22757 params->ncorr[0] = 0x79;
22758 params->ncorr[1] = 0x79;
22759 params->ncorr[2] = 0x79;
22760 params->ncorr[3] = 0x79;
22761 params->ncorr[4] = 0x79;
22764 gain_index = ((target_gain.pad[core_no] << 0) |
22765 (target_gain.pga[core_no] << 4) | (target_gain.
22770 for (k = 0; k < NPHY_IQCAL_NUMGAINS; k++) {
22771 if (tbl_iqcal_gainparams_nphy[band_idx][k][0] ==
22780 params->txgm = tbl_iqcal_gainparams_nphy[band_idx][k][1];
22781 params->pga = tbl_iqcal_gainparams_nphy[band_idx][k][2];
22782 params->pad = tbl_iqcal_gainparams_nphy[band_idx][k][3];
22783 params->cal_gain = ((params->txgm << 7) | (params->pga << 4) |
22784 (params->pad << 2));
22785 params->ncorr[0] = tbl_iqcal_gainparams_nphy[band_idx][k][4];
22786 params->ncorr[1] = tbl_iqcal_gainparams_nphy[band_idx][k][5];
22787 params->ncorr[2] = tbl_iqcal_gainparams_nphy[band_idx][k][6];
22788 params->ncorr[3] = tbl_iqcal_gainparams_nphy[band_idx][k][7];
22792 static void wlc_phy_txcal_radio_setup_nphy(phy_info_t *pi)
22794 u16 jtag_core, core;
22796 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22798 for (core = 0; core <= 1; core++) {
22800 pi->tx_rx_cal_radio_saveregs[(core * 11) + 0] =
22801 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22804 pi->tx_rx_cal_radio_saveregs[(core * 11) + 1] =
22805 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22808 pi->tx_rx_cal_radio_saveregs[(core * 11) + 2] =
22809 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22812 pi->tx_rx_cal_radio_saveregs[(core * 11) + 3] =
22813 READ_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_VCM);
22815 pi->tx_rx_cal_radio_saveregs[(core * 11) + 4] = 0;
22817 pi->tx_rx_cal_radio_saveregs[(core * 11) + 5] =
22818 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22821 if (pi->pubpi.radiorev != 5)
22822 pi->tx_rx_cal_radio_saveregs[(core * 11) + 6] =
22823 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22826 pi->tx_rx_cal_radio_saveregs[(core * 11) + 7] =
22827 READ_RADIO_REG3(pi, RADIO_2057, TX, core, TSSIG);
22829 pi->tx_rx_cal_radio_saveregs[(core * 11) + 8] =
22830 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22833 if (CHSPEC_IS5G(pi->radio_chanspec)) {
22834 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22835 TX_SSI_MASTER, 0x0a);
22836 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22837 IQCAL_VCM_HG, 0x43);
22838 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22840 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22842 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22844 if (pi->use_int_tx_iqlo_cal_nphy) {
22845 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
22846 core, TX_SSI_MUX, 0x4);
22849 internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
22851 WRITE_RADIO_REG3(pi, RADIO_2057,
22856 WRITE_RADIO_REG3(pi, RADIO_2057,
22861 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22864 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22865 TX_SSI_MASTER, 0x06);
22866 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22867 IQCAL_VCM_HG, 0x43);
22868 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22870 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22873 if (pi->pubpi.radiorev != 5)
22874 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
22875 core, TSSIA, 0x00);
22876 if (pi->use_int_tx_iqlo_cal_nphy) {
22877 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
22882 internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
22884 WRITE_RADIO_REG3(pi, RADIO_2057,
22889 WRITE_RADIO_REG3(pi, RADIO_2057,
22894 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22898 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22900 for (core = 0; core <= 1; core++) {
22903 PHY_CORE_0) ? RADIO_2056_TX0 : RADIO_2056_TX1;
22905 pi->tx_rx_cal_radio_saveregs[(core * 11) + 0] =
22907 RADIO_2056_TX_TX_SSI_MASTER |
22910 pi->tx_rx_cal_radio_saveregs[(core * 11) + 1] =
22912 RADIO_2056_TX_IQCAL_VCM_HG |
22915 pi->tx_rx_cal_radio_saveregs[(core * 11) + 2] =
22917 RADIO_2056_TX_IQCAL_IDAC |
22920 pi->tx_rx_cal_radio_saveregs[(core * 11) + 3] =
22922 RADIO_2056_TX_TSSI_VCM | jtag_core);
22924 pi->tx_rx_cal_radio_saveregs[(core * 11) + 4] =
22926 RADIO_2056_TX_TX_AMP_DET |
22929 pi->tx_rx_cal_radio_saveregs[(core * 11) + 5] =
22931 RADIO_2056_TX_TX_SSI_MUX |
22934 pi->tx_rx_cal_radio_saveregs[(core * 11) + 6] =
22935 read_radio_reg(pi, RADIO_2056_TX_TSSIA | jtag_core);
22937 pi->tx_rx_cal_radio_saveregs[(core * 11) + 7] =
22938 read_radio_reg(pi, RADIO_2056_TX_TSSIG | jtag_core);
22940 pi->tx_rx_cal_radio_saveregs[(core * 11) + 8] =
22942 RADIO_2056_TX_TSSI_MISC1 |
22945 pi->tx_rx_cal_radio_saveregs[(core * 11) + 9] =
22947 RADIO_2056_TX_TSSI_MISC2 |
22950 pi->tx_rx_cal_radio_saveregs[(core * 11) + 10] =
22952 RADIO_2056_TX_TSSI_MISC3 |
22955 if (CHSPEC_IS5G(pi->radio_chanspec)) {
22956 write_radio_reg(pi,
22957 RADIO_2056_TX_TX_SSI_MASTER |
22959 write_radio_reg(pi,
22960 RADIO_2056_TX_IQCAL_VCM_HG |
22962 write_radio_reg(pi,
22963 RADIO_2056_TX_IQCAL_IDAC |
22965 write_radio_reg(pi,
22966 RADIO_2056_TX_TSSI_VCM |
22968 write_radio_reg(pi,
22969 RADIO_2056_TX_TX_AMP_DET |
22973 write_radio_reg(pi,
22974 RADIO_2056_TX_TX_SSI_MUX
22976 write_radio_reg(pi,
22977 RADIO_2056_TX_TSSIA |
22980 write_radio_reg(pi,
22981 RADIO_2056_TX_TX_SSI_MUX
22982 | jtag_core, 0x00);
22983 write_radio_reg(pi,
22984 RADIO_2056_TX_TSSIA |
22987 write_radio_reg(pi,
22988 RADIO_2056_TX_TSSIG | jtag_core,
22990 write_radio_reg(pi,
22991 RADIO_2056_TX_TSSI_MISC1 |
22994 write_radio_reg(pi,
22995 RADIO_2056_TX_TSSI_MISC2 |
22997 write_radio_reg(pi,
22998 RADIO_2056_TX_TSSI_MISC3 |
23001 write_radio_reg(pi,
23002 RADIO_2056_TX_TX_SSI_MASTER |
23004 write_radio_reg(pi,
23005 RADIO_2056_TX_IQCAL_VCM_HG |
23007 write_radio_reg(pi,
23008 RADIO_2056_TX_IQCAL_IDAC |
23010 write_radio_reg(pi,
23011 RADIO_2056_TX_TSSI_VCM |
23013 write_radio_reg(pi,
23014 RADIO_2056_TX_TX_AMP_DET |
23016 write_radio_reg(pi,
23017 RADIO_2056_TX_TSSIA | jtag_core,
23022 write_radio_reg(pi,
23023 RADIO_2056_TX_TX_SSI_MUX
23024 | jtag_core, 0x06);
23025 if (NREV_LT(pi->pubpi.phy_rev, 5)) {
23027 write_radio_reg(pi,
23028 RADIO_2056_TX_TSSIG
23033 write_radio_reg(pi,
23034 RADIO_2056_TX_TSSIG
23039 write_radio_reg(pi,
23040 RADIO_2056_TX_TX_SSI_MUX
23041 | jtag_core, 0x00);
23042 write_radio_reg(pi,
23043 RADIO_2056_TX_TSSIG |
23047 write_radio_reg(pi,
23048 RADIO_2056_TX_TSSI_MISC1 |
23050 write_radio_reg(pi,
23051 RADIO_2056_TX_TSSI_MISC2 |
23053 write_radio_reg(pi,
23054 RADIO_2056_TX_TSSI_MISC3 |
23060 pi->tx_rx_cal_radio_saveregs[0] =
23061 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1);
23062 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1, 0x29);
23063 pi->tx_rx_cal_radio_saveregs[1] =
23064 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2);
23065 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2, 0x54);
23067 pi->tx_rx_cal_radio_saveregs[2] =
23068 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1);
23069 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1, 0x29);
23070 pi->tx_rx_cal_radio_saveregs[3] =
23071 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2);
23072 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2, 0x54);
23074 pi->tx_rx_cal_radio_saveregs[4] =
23075 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1);
23076 pi->tx_rx_cal_radio_saveregs[5] =
23077 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2);
23079 if ((read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand) ==
23082 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1, 0x04);
23083 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2, 0x04);
23086 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1, 0x20);
23087 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2, 0x20);
23090 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
23092 or_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM, 0x20);
23093 or_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM, 0x20);
23096 and_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM, 0xdf);
23097 and_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM, 0xdf);
23102 static void wlc_phy_txcal_radio_cleanup_nphy(phy_info_t *pi)
23104 u16 jtag_core, core;
23106 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
23107 for (core = 0; core <= 1; core++) {
23109 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23112 tx_rx_cal_radio_saveregs[(core * 11) +
23115 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_VCM_HG,
23117 tx_rx_cal_radio_saveregs[(core * 11) +
23120 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_IDAC,
23122 tx_rx_cal_radio_saveregs[(core * 11) +
23125 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_VCM,
23127 tx_rx_cal_radio_saveregs[(core * 11) +
23130 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TX_SSI_MUX,
23132 tx_rx_cal_radio_saveregs[(core * 11) +
23135 if (pi->pubpi.radiorev != 5)
23136 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23139 tx_rx_cal_radio_saveregs[(core
23144 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSIG,
23146 tx_rx_cal_radio_saveregs[(core * 11) +
23149 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_MISC1,
23151 tx_rx_cal_radio_saveregs[(core * 11) +
23154 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23155 for (core = 0; core <= 1; core++) {
23158 PHY_CORE_0) ? RADIO_2056_TX0 : RADIO_2056_TX1;
23160 write_radio_reg(pi,
23161 RADIO_2056_TX_TX_SSI_MASTER | jtag_core,
23163 tx_rx_cal_radio_saveregs[(core * 11) +
23166 write_radio_reg(pi,
23167 RADIO_2056_TX_IQCAL_VCM_HG | jtag_core,
23169 tx_rx_cal_radio_saveregs[(core * 11) +
23172 write_radio_reg(pi,
23173 RADIO_2056_TX_IQCAL_IDAC | jtag_core,
23175 tx_rx_cal_radio_saveregs[(core * 11) +
23178 write_radio_reg(pi, RADIO_2056_TX_TSSI_VCM | jtag_core,
23180 tx_rx_cal_radio_saveregs[(core * 11) +
23183 write_radio_reg(pi,
23184 RADIO_2056_TX_TX_AMP_DET | jtag_core,
23186 tx_rx_cal_radio_saveregs[(core * 11) +
23189 write_radio_reg(pi,
23190 RADIO_2056_TX_TX_SSI_MUX | jtag_core,
23192 tx_rx_cal_radio_saveregs[(core * 11) +
23195 write_radio_reg(pi, RADIO_2056_TX_TSSIA | jtag_core,
23197 tx_rx_cal_radio_saveregs[(core * 11) +
23200 write_radio_reg(pi, RADIO_2056_TX_TSSIG | jtag_core,
23202 tx_rx_cal_radio_saveregs[(core * 11) +
23205 write_radio_reg(pi,
23206 RADIO_2056_TX_TSSI_MISC1 | jtag_core,
23208 tx_rx_cal_radio_saveregs[(core * 11) +
23211 write_radio_reg(pi,
23212 RADIO_2056_TX_TSSI_MISC2 | jtag_core,
23214 tx_rx_cal_radio_saveregs[(core * 11) +
23217 write_radio_reg(pi,
23218 RADIO_2056_TX_TSSI_MISC3 | jtag_core,
23220 tx_rx_cal_radio_saveregs[(core * 11) +
23225 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1,
23226 pi->tx_rx_cal_radio_saveregs[0]);
23227 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2,
23228 pi->tx_rx_cal_radio_saveregs[1]);
23229 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1,
23230 pi->tx_rx_cal_radio_saveregs[2]);
23231 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2,
23232 pi->tx_rx_cal_radio_saveregs[3]);
23233 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1,
23234 pi->tx_rx_cal_radio_saveregs[4]);
23235 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2,
23236 pi->tx_rx_cal_radio_saveregs[5]);
23240 static void wlc_phy_txcal_physetup_nphy(phy_info_t *pi)
23244 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23245 pi->tx_rx_cal_phy_saveregs[0] = read_phy_reg(pi, 0xa6);
23246 pi->tx_rx_cal_phy_saveregs[1] = read_phy_reg(pi, 0xa7);
23248 mask = ((0x3 << 8) | (0x3 << 10));
23250 val |= (0x2 << 10);
23251 mod_phy_reg(pi, 0xa6, mask, val);
23252 mod_phy_reg(pi, 0xa7, mask, val);
23254 val = read_phy_reg(pi, 0x8f);
23255 pi->tx_rx_cal_phy_saveregs[2] = val;
23256 val |= ((0x1 << 9) | (0x1 << 10));
23257 write_phy_reg(pi, 0x8f, val);
23259 val = read_phy_reg(pi, 0xa5);
23260 pi->tx_rx_cal_phy_saveregs[3] = val;
23261 val |= ((0x1 << 9) | (0x1 << 10));
23262 write_phy_reg(pi, 0xa5, val);
23264 pi->tx_rx_cal_phy_saveregs[4] = read_phy_reg(pi, 0x01);
23265 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
23267 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 3, 16,
23269 pi->tx_rx_cal_phy_saveregs[5] = val;
23271 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 3, 16,
23274 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 19, 16,
23276 pi->tx_rx_cal_phy_saveregs[6] = val;
23278 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 19, 16,
23281 pi->tx_rx_cal_phy_saveregs[7] = read_phy_reg(pi, 0x91);
23282 pi->tx_rx_cal_phy_saveregs[8] = read_phy_reg(pi, 0x92);
23284 if (!(pi->use_int_tx_iqlo_cal_nphy)) {
23286 wlc_phy_rfctrlintc_override_nphy(pi,
23287 NPHY_RfctrlIntc_override_PA,
23289 RADIO_MIMO_CORESEL_CORE1
23291 RADIO_MIMO_CORESEL_CORE2);
23294 wlc_phy_rfctrlintc_override_nphy(pi,
23295 NPHY_RfctrlIntc_override_PA,
23297 RADIO_MIMO_CORESEL_CORE1
23299 RADIO_MIMO_CORESEL_CORE2);
23302 wlc_phy_rfctrlintc_override_nphy(pi,
23303 NPHY_RfctrlIntc_override_TRSW,
23304 0x2, RADIO_MIMO_CORESEL_CORE1);
23305 wlc_phy_rfctrlintc_override_nphy(pi,
23306 NPHY_RfctrlIntc_override_TRSW,
23307 0x8, RADIO_MIMO_CORESEL_CORE2);
23309 pi->tx_rx_cal_phy_saveregs[9] = read_phy_reg(pi, 0x297);
23310 pi->tx_rx_cal_phy_saveregs[10] = read_phy_reg(pi, 0x29b);
23311 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
23312 0x29b, (0x1 << 0), (0) << 0);
23314 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
23315 0x29b, (0x1 << 0), (0) << 0);
23317 if (NREV_IS(pi->pubpi.phy_rev, 7)
23318 || NREV_GE(pi->pubpi.phy_rev, 8)) {
23319 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
23320 wlc_phy_read_lpf_bw_ctl_nphy
23322 NPHY_REV7_RFCTRLOVERRIDE_ID1);
23325 if (pi->use_int_tx_iqlo_cal_nphy
23326 && !(pi->internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
23328 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
23330 mod_radio_reg(pi, RADIO_2057_OVR_REG0, 1 << 4,
23333 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23335 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
23338 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
23342 RADIO_2057_IPA5G_CASCOFFV_PU_CORE0,
23345 RADIO_2057_IPA5G_CASCOFFV_PU_CORE1,
23348 } else if (NREV_GE(pi->pubpi.phy_rev, 8)) {
23349 wlc_phy_rfctrl_override_nphy_rev7(pi,
23352 NPHY_REV7_RFCTRLOVERRIDE_ID0);
23356 pi->tx_rx_cal_phy_saveregs[0] = read_phy_reg(pi, 0xa6);
23357 pi->tx_rx_cal_phy_saveregs[1] = read_phy_reg(pi, 0xa7);
23359 mask = ((0x3 << 12) | (0x3 << 14));
23361 val |= (0x2 << 14);
23362 mod_phy_reg(pi, 0xa6, mask, val);
23363 mod_phy_reg(pi, 0xa7, mask, val);
23365 val = read_phy_reg(pi, 0xa5);
23366 pi->tx_rx_cal_phy_saveregs[2] = val;
23367 val |= ((0x1 << 12) | (0x1 << 13));
23368 write_phy_reg(pi, 0xa5, val);
23370 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 2, 16,
23372 pi->tx_rx_cal_phy_saveregs[3] = val;
23374 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 2, 16,
23377 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 18, 16,
23379 pi->tx_rx_cal_phy_saveregs[4] = val;
23381 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 18, 16,
23384 pi->tx_rx_cal_phy_saveregs[5] = read_phy_reg(pi, 0x91);
23385 pi->tx_rx_cal_phy_saveregs[6] = read_phy_reg(pi, 0x92);
23386 val = CHSPEC_IS5G(pi->radio_chanspec) ? 0x180 : 0x120;
23387 write_phy_reg(pi, 0x91, val);
23388 write_phy_reg(pi, 0x92, val);
23392 static void wlc_phy_txcal_phycleanup_nphy(phy_info_t *pi)
23396 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23397 write_phy_reg(pi, 0xa6, pi->tx_rx_cal_phy_saveregs[0]);
23398 write_phy_reg(pi, 0xa7, pi->tx_rx_cal_phy_saveregs[1]);
23399 write_phy_reg(pi, 0x8f, pi->tx_rx_cal_phy_saveregs[2]);
23400 write_phy_reg(pi, 0xa5, pi->tx_rx_cal_phy_saveregs[3]);
23401 write_phy_reg(pi, 0x01, pi->tx_rx_cal_phy_saveregs[4]);
23403 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 3, 16,
23404 &pi->tx_rx_cal_phy_saveregs[5]);
23405 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 19, 16,
23406 &pi->tx_rx_cal_phy_saveregs[6]);
23408 write_phy_reg(pi, 0x91, pi->tx_rx_cal_phy_saveregs[7]);
23409 write_phy_reg(pi, 0x92, pi->tx_rx_cal_phy_saveregs[8]);
23411 write_phy_reg(pi, 0x297, pi->tx_rx_cal_phy_saveregs[9]);
23412 write_phy_reg(pi, 0x29b, pi->tx_rx_cal_phy_saveregs[10]);
23414 if (NREV_IS(pi->pubpi.phy_rev, 7)
23415 || NREV_GE(pi->pubpi.phy_rev, 8)) {
23416 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7), 0, 0,
23418 NPHY_REV7_RFCTRLOVERRIDE_ID1);
23421 wlc_phy_resetcca_nphy(pi);
23423 if (pi->use_int_tx_iqlo_cal_nphy
23424 && !(pi->internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
23426 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
23427 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23429 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
23432 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
23436 RADIO_2057_IPA5G_CASCOFFV_PU_CORE0,
23439 RADIO_2057_IPA5G_CASCOFFV_PU_CORE1,
23443 mod_radio_reg(pi, RADIO_2057_OVR_REG0, 1 << 4,
23445 } else if (NREV_GE(pi->pubpi.phy_rev, 8)) {
23446 wlc_phy_rfctrl_override_nphy_rev7(pi,
23449 NPHY_REV7_RFCTRLOVERRIDE_ID0);
23453 mask = ((0x3 << 12) | (0x3 << 14));
23454 mod_phy_reg(pi, 0xa6, mask, pi->tx_rx_cal_phy_saveregs[0]);
23455 mod_phy_reg(pi, 0xa7, mask, pi->tx_rx_cal_phy_saveregs[1]);
23456 write_phy_reg(pi, 0xa5, pi->tx_rx_cal_phy_saveregs[2]);
23458 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 2, 16,
23459 &pi->tx_rx_cal_phy_saveregs[3]);
23461 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 18, 16,
23462 &pi->tx_rx_cal_phy_saveregs[4]);
23464 write_phy_reg(pi, 0x91, pi->tx_rx_cal_phy_saveregs[5]);
23465 write_phy_reg(pi, 0x92, pi->tx_rx_cal_phy_saveregs[6]);
23469 #define NPHY_CAL_TSSISAMPS 64
23470 #define NPHY_TEST_TONE_FREQ_40MHz 4000
23471 #define NPHY_TEST_TONE_FREQ_20MHz 2500
23474 wlc_phy_est_tonepwr_nphy(phy_info_t *pi, s32 *qdBm_pwrbuf, u8 num_samps)
23477 s32 temp, pwrindex[2];
23483 tssi_reg = read_phy_reg(pi, 0x1e9);
23485 temp = (s32) (tssi_reg & 0x3f);
23486 idle_tssi[0] = (temp <= 31) ? temp : (temp - 64);
23488 temp = (s32) ((tssi_reg >> 8) & 0x3f);
23489 idle_tssi[1] = (temp <= 31) ? temp : (temp - 64);
23492 CHSPEC_IS5G(pi->radio_chanspec) ?
23493 (u8)NPHY_RSSI_SEL_TSSI_5G:(u8)NPHY_RSSI_SEL_TSSI_2G;
23495 wlc_phy_poll_rssi_nphy(pi, tssi_type, rssi_buf, num_samps);
23497 tssival[0] = rssi_buf[0] / ((s32) num_samps);
23498 tssival[1] = rssi_buf[2] / ((s32) num_samps);
23500 pwrindex[0] = idle_tssi[0] - tssival[0] + 64;
23501 pwrindex[1] = idle_tssi[1] - tssival[1] + 64;
23503 if (pwrindex[0] < 0) {
23505 } else if (pwrindex[0] > 63) {
23509 if (pwrindex[1] < 0) {
23511 } else if (pwrindex[1] > 63) {
23515 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 1,
23516 (u32) pwrindex[0], 32, &qdBm_pwrbuf[0]);
23517 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 1,
23518 (u32) pwrindex[1], 32, &qdBm_pwrbuf[1]);
23521 static void wlc_phy_internal_cal_txgain_nphy(phy_info_t *pi)
23525 pi->nphy_txcal_pwr_idx[0] = pi->nphy_cal_orig_pwr_idx[0];
23526 pi->nphy_txcal_pwr_idx[1] = pi->nphy_cal_orig_pwr_idx[0];
23527 wlc_phy_txpwr_index_nphy(pi, 1, pi->nphy_cal_orig_pwr_idx[0], true);
23528 wlc_phy_txpwr_index_nphy(pi, 2, pi->nphy_cal_orig_pwr_idx[1], true);
23530 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
23533 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23534 txcal_gain[0] = (txcal_gain[0] & 0xF000) | 0x0F40;
23535 txcal_gain[1] = (txcal_gain[1] & 0xF000) | 0x0F40;
23537 txcal_gain[0] = (txcal_gain[0] & 0xF000) | 0x0F60;
23538 txcal_gain[1] = (txcal_gain[1] & 0xF000) | 0x0F60;
23541 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
23545 static void wlc_phy_precal_txgain_nphy(phy_info_t *pi)
23547 bool save_bbmult = false;
23548 u8 txcal_index_2057_rev5n7 = 0;
23549 u8 txcal_index_2057_rev3n4n6 = 10;
23551 if (pi->use_int_tx_iqlo_cal_nphy) {
23552 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
23553 if ((pi->pubpi.radiorev == 3) ||
23554 (pi->pubpi.radiorev == 4) ||
23555 (pi->pubpi.radiorev == 6)) {
23557 pi->nphy_txcal_pwr_idx[0] =
23558 txcal_index_2057_rev3n4n6;
23559 pi->nphy_txcal_pwr_idx[1] =
23560 txcal_index_2057_rev3n4n6;
23561 wlc_phy_txpwr_index_nphy(pi, 3,
23562 txcal_index_2057_rev3n4n6,
23566 pi->nphy_txcal_pwr_idx[0] =
23567 txcal_index_2057_rev5n7;
23568 pi->nphy_txcal_pwr_idx[1] =
23569 txcal_index_2057_rev5n7;
23570 wlc_phy_txpwr_index_nphy(pi, 3,
23571 txcal_index_2057_rev5n7,
23574 save_bbmult = true;
23576 } else if (NREV_LT(pi->pubpi.phy_rev, 5)) {
23577 wlc_phy_cal_txgainctrl_nphy(pi, 11, false);
23578 if (pi->sh->hw_phytxchain != 3) {
23579 pi->nphy_txcal_pwr_idx[1] =
23580 pi->nphy_txcal_pwr_idx[0];
23581 wlc_phy_txpwr_index_nphy(pi, 3,
23583 nphy_txcal_pwr_idx[0],
23585 save_bbmult = true;
23588 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
23590 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23591 wlc_phy_cal_txgainctrl_nphy(pi, 12,
23594 pi->nphy_txcal_pwr_idx[0] = 80;
23595 pi->nphy_txcal_pwr_idx[1] = 80;
23596 wlc_phy_txpwr_index_nphy(pi, 3, 80,
23598 save_bbmult = true;
23602 wlc_phy_internal_cal_txgain_nphy(pi);
23603 save_bbmult = true;
23606 } else if (NREV_IS(pi->pubpi.phy_rev, 6)) {
23608 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23609 wlc_phy_cal_txgainctrl_nphy(pi, 12,
23612 wlc_phy_cal_txgainctrl_nphy(pi, 14,
23617 wlc_phy_internal_cal_txgain_nphy(pi);
23618 save_bbmult = true;
23623 wlc_phy_cal_txgainctrl_nphy(pi, 10, false);
23627 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16,
23628 &pi->nphy_txcal_bbmult);
23633 wlc_phy_cal_txgainctrl_nphy(phy_info_t *pi, s32 dBm_targetpower, bool debug)
23635 int gainctrl_loopidx;
23637 u16 m0m1, curr_m0m1;
23642 u16 phy_saveregs[4];
23644 u16 ampl_test = 250;
23646 bool phyhang_avoid_state = false;
23648 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
23656 if (CHSPEC_IS40(pi->radio_chanspec)) {
23662 wlc_phy_txpwr_index_nphy(pi, 1, pi->nphy_cal_orig_pwr_idx[0], true);
23663 wlc_phy_txpwr_index_nphy(pi, 2, pi->nphy_cal_orig_pwr_idx[1], true);
23665 if (pi->phyhang_avoid)
23666 wlc_phy_stay_in_carriersearch_nphy(pi, true);
23668 phyhang_avoid_state = pi->phyhang_avoid;
23669 pi->phyhang_avoid = false;
23671 phy_saveregs[0] = read_phy_reg(pi, 0x91);
23672 phy_saveregs[1] = read_phy_reg(pi, 0x92);
23673 phy_saveregs[2] = read_phy_reg(pi, 0xe7);
23674 phy_saveregs[3] = read_phy_reg(pi, 0xec);
23675 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_PA, 1,
23676 RADIO_MIMO_CORESEL_CORE1 |
23677 RADIO_MIMO_CORESEL_CORE2);
23680 wlc_phy_rfctrlintc_override_nphy(pi,
23681 NPHY_RfctrlIntc_override_TRSW,
23682 0x2, RADIO_MIMO_CORESEL_CORE1);
23683 wlc_phy_rfctrlintc_override_nphy(pi,
23684 NPHY_RfctrlIntc_override_TRSW,
23685 0x8, RADIO_MIMO_CORESEL_CORE2);
23687 wlc_phy_rfctrlintc_override_nphy(pi,
23688 NPHY_RfctrlIntc_override_TRSW,
23689 0x1, RADIO_MIMO_CORESEL_CORE1);
23690 wlc_phy_rfctrlintc_override_nphy(pi,
23691 NPHY_RfctrlIntc_override_TRSW,
23692 0x7, RADIO_MIMO_CORESEL_CORE2);
23695 orig_BBConfig = read_phy_reg(pi, 0x01);
23696 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
23698 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m0m1);
23700 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
23701 txpwrindex = (s32) pi->nphy_cal_orig_pwr_idx[core];
23703 for (gainctrl_loopidx = 0; gainctrl_loopidx < 2;
23704 gainctrl_loopidx++) {
23705 wlc_phy_tx_tone_nphy(pi, freq_test, ampl_test, 0, 0,
23708 if (core == PHY_CORE_0) {
23709 curr_m0m1 = m0m1 & 0xff00;
23711 curr_m0m1 = m0m1 & 0x00ff;
23714 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &curr_m0m1);
23715 wlc_phy_table_write_nphy(pi, 15, 1, 95, 16, &curr_m0m1);
23719 wlc_phy_est_tonepwr_nphy(pi, qdBm_power,
23720 NPHY_CAL_TSSISAMPS);
23722 pi->nphy_bb_mult_save = 0;
23723 wlc_phy_stopplayback_nphy(pi);
23725 delta_power = (dBm_targetpower * 4) - qdBm_power[core];
23727 txpwrindex -= stepsize * delta_power;
23728 if (txpwrindex < 0) {
23730 } else if (txpwrindex > 127) {
23734 if (CHSPEC_IS5G(pi->radio_chanspec)) {
23735 if (NREV_IS(pi->pubpi.phy_rev, 4) &&
23736 (pi->srom_fem5g.extpagain == 3)) {
23737 if (txpwrindex < 30) {
23742 if (NREV_GE(pi->pubpi.phy_rev, 5) &&
23743 (pi->srom_fem2g.extpagain == 3)) {
23744 if (txpwrindex < 50) {
23750 wlc_phy_txpwr_index_nphy(pi, (1 << core),
23751 (u8) txpwrindex, true);
23754 pi->nphy_txcal_pwr_idx[core] = (u8) txpwrindex;
23760 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &dbg_m0m1);
23762 wlc_phy_tx_tone_nphy(pi, freq_test, ampl_test, 0, 0,
23765 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &dbg_m0m1);
23766 wlc_phy_table_write_nphy(pi, 15, 1, 95, 16, &dbg_m0m1);
23770 wlc_phy_est_tonepwr_nphy(pi, qdBm_power,
23771 NPHY_CAL_TSSISAMPS);
23773 wlc_phy_table_read_nphy(pi, 7, 1, (0x110 + core), 16,
23777 pi->nphy_bb_mult_save = 0;
23778 wlc_phy_stopplayback_nphy(pi);
23782 wlc_phy_txpwr_index_nphy(pi, 1, pi->nphy_txcal_pwr_idx[0], true);
23783 wlc_phy_txpwr_index_nphy(pi, 2, pi->nphy_txcal_pwr_idx[1], true);
23785 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &pi->nphy_txcal_bbmult);
23787 write_phy_reg(pi, 0x01, orig_BBConfig);
23789 write_phy_reg(pi, 0x91, phy_saveregs[0]);
23790 write_phy_reg(pi, 0x92, phy_saveregs[1]);
23791 write_phy_reg(pi, 0xe7, phy_saveregs[2]);
23792 write_phy_reg(pi, 0xec, phy_saveregs[3]);
23794 pi->phyhang_avoid = phyhang_avoid_state;
23796 if (pi->phyhang_avoid)
23797 wlc_phy_stay_in_carriersearch_nphy(pi, false);
23800 static void wlc_phy_update_txcal_ladder_nphy(phy_info_t *pi, u16 core)
23807 nphy_txiqcal_ladder_t ladder_lo[] = {
23808 {3, 0}, {4, 0}, {6, 0}, {9, 0}, {13, 0}, {18, 0},
23809 {25, 0}, {25, 1}, {25, 2}, {25, 3}, {25, 4}, {25, 5},
23810 {25, 6}, {25, 7}, {35, 7}, {50, 7}, {71, 7}, {100, 7}
23813 nphy_txiqcal_ladder_t ladder_iq[] = {
23814 {3, 0}, {4, 0}, {6, 0}, {9, 0}, {13, 0}, {18, 0},
23815 {25, 0}, {35, 0}, {50, 0}, {71, 0}, {100, 0}, {100, 1},
23816 {100, 2}, {100, 3}, {100, 4}, {100, 5}, {100, 6}, {100, 7}
23819 bbmult = (core == PHY_CORE_0) ?
23820 ((pi->nphy_txcal_bbmult >> 8) & 0xff) : (pi->
23821 nphy_txcal_bbmult & 0xff);
23823 for (index = 0; index < 18; index++) {
23824 bbmult_scale = ladder_lo[index].percent * bbmult;
23825 bbmult_scale /= 100;
23828 ((bbmult_scale & 0xff) << 8) | ladder_lo[index].g_env;
23829 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, index, 16,
23832 bbmult_scale = ladder_iq[index].percent * bbmult;
23833 bbmult_scale /= 100;
23836 ((bbmult_scale & 0xff) << 8) | ladder_iq[index].g_env;
23837 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, index + 32,
23842 void wlc_phy_cal_perical_nphy_run(phy_info_t *pi, u8 caltype)
23844 nphy_txgains_t target_gain;
23845 u8 tx_pwr_ctrl_state;
23846 bool fullcal = true;
23847 bool restore_tx_gain = false;
23850 if (NORADIO_ENAB(pi->pubpi)) {
23851 wlc_phy_cal_perical_mphase_reset(pi);
23858 ASSERT(pi->nphy_perical != PHY_PERICAL_DISABLE);
23860 if (caltype == PHY_PERICAL_AUTO)
23861 fullcal = (pi->radio_chanspec != pi->nphy_txiqlocal_chanspec);
23862 else if (caltype == PHY_PERICAL_PARTIAL)
23865 if (pi->cal_type_override != PHY_PERICAL_AUTO) {
23867 (pi->cal_type_override == PHY_PERICAL_FULL) ? true : false;
23870 if ((pi->mphase_cal_phase_id > MPHASE_CAL_STATE_INIT)) {
23871 if (pi->nphy_txiqlocal_chanspec != pi->radio_chanspec)
23872 wlc_phy_cal_perical_mphase_restart(pi);
23875 if ((pi->mphase_cal_phase_id == MPHASE_CAL_STATE_RXCAL)) {
23876 wlapi_bmac_write_shm(pi->sh->physhim, M_CTS_DURATION, 10000);
23879 wlapi_suspend_mac_and_wait(pi->sh->physhim);
23881 wlc_phyreg_enter((wlc_phy_t *) pi);
23883 if ((pi->mphase_cal_phase_id == MPHASE_CAL_STATE_IDLE) ||
23884 (pi->mphase_cal_phase_id == MPHASE_CAL_STATE_INIT)) {
23885 pi->nphy_cal_orig_pwr_idx[0] =
23886 (u8) ((read_phy_reg(pi, 0x1ed) >> 8) & 0x7f);
23887 pi->nphy_cal_orig_pwr_idx[1] =
23888 (u8) ((read_phy_reg(pi, 0x1ee) >> 8) & 0x7f);
23890 if (pi->nphy_txpwrctrl != PHY_TPC_HW_OFF) {
23891 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2,
23893 pi->nphy_cal_orig_tx_gain);
23895 pi->nphy_cal_orig_tx_gain[0] = 0;
23896 pi->nphy_cal_orig_tx_gain[1] = 0;
23899 target_gain = wlc_phy_get_tx_gain_nphy(pi);
23900 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
23901 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
23903 if (pi->antsel_type == ANTSEL_2x3)
23904 wlc_phy_antsel_init((wlc_phy_t *) pi, true);
23906 mphase = (pi->mphase_cal_phase_id != MPHASE_CAL_STATE_IDLE);
23909 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23910 wlc_phy_precal_txgain_nphy(pi);
23911 pi->nphy_cal_target_gain = wlc_phy_get_tx_gain_nphy(pi);
23912 restore_tx_gain = true;
23914 target_gain = pi->nphy_cal_target_gain;
23917 wlc_phy_cal_txiqlo_nphy(pi, target_gain, fullcal, mphase)) {
23919 wlc_phy_a4(pi, true);
23921 wlc_phyreg_exit((wlc_phy_t *) pi);
23922 wlapi_enable_mac(pi->sh->physhim);
23923 wlapi_bmac_write_shm(pi->sh->physhim, M_CTS_DURATION,
23925 wlapi_suspend_mac_and_wait(pi->sh->physhim);
23926 wlc_phyreg_enter((wlc_phy_t *) pi);
23928 if (BCME_OK == wlc_phy_cal_rxiq_nphy(pi, target_gain,
23930 first_cal_after_assoc
23936 wlc_phy_savecal_nphy(pi);
23938 wlc_phy_txpwrctrl_coeff_setup_nphy(pi);
23940 pi->nphy_perical_last = pi->sh->now;
23943 if (caltype != PHY_PERICAL_AUTO) {
23944 wlc_phy_rssi_cal_nphy(pi);
23947 if (pi->first_cal_after_assoc
23948 || (pi->cal_type_override == PHY_PERICAL_FULL)) {
23949 pi->first_cal_after_assoc = false;
23950 wlc_phy_txpwrctrl_idle_tssi_nphy(pi);
23951 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
23954 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23955 wlc_phy_radio205x_vcocal_nphy(pi);
23958 ASSERT(pi->nphy_perical >= PHY_PERICAL_MPHASE);
23960 switch (pi->mphase_cal_phase_id) {
23961 case MPHASE_CAL_STATE_INIT:
23962 pi->nphy_perical_last = pi->sh->now;
23963 pi->nphy_txiqlocal_chanspec = pi->radio_chanspec;
23965 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23966 wlc_phy_precal_txgain_nphy(pi);
23968 pi->nphy_cal_target_gain = wlc_phy_get_tx_gain_nphy(pi);
23969 pi->mphase_cal_phase_id++;
23972 case MPHASE_CAL_STATE_TXPHASE0:
23973 case MPHASE_CAL_STATE_TXPHASE1:
23974 case MPHASE_CAL_STATE_TXPHASE2:
23975 case MPHASE_CAL_STATE_TXPHASE3:
23976 case MPHASE_CAL_STATE_TXPHASE4:
23977 case MPHASE_CAL_STATE_TXPHASE5:
23978 if ((pi->radar_percal_mask & 0x10) != 0)
23979 pi->nphy_rxcal_active = true;
23981 if (wlc_phy_cal_txiqlo_nphy
23982 (pi, pi->nphy_cal_target_gain, fullcal,
23983 true) != BCME_OK) {
23985 wlc_phy_cal_perical_mphase_reset(pi);
23989 if (NREV_LE(pi->pubpi.phy_rev, 2) &&
23990 (pi->mphase_cal_phase_id ==
23991 MPHASE_CAL_STATE_TXPHASE4)) {
23992 pi->mphase_cal_phase_id += 2;
23994 pi->mphase_cal_phase_id++;
23998 case MPHASE_CAL_STATE_PAPDCAL:
23999 if ((pi->radar_percal_mask & 0x2) != 0)
24000 pi->nphy_rxcal_active = true;
24003 wlc_phy_a4(pi, true);
24005 pi->mphase_cal_phase_id++;
24008 case MPHASE_CAL_STATE_RXCAL:
24009 if ((pi->radar_percal_mask & 0x1) != 0)
24010 pi->nphy_rxcal_active = true;
24011 if (wlc_phy_cal_rxiq_nphy(pi, target_gain,
24012 (pi->first_cal_after_assoc ||
24013 (pi->cal_type_override ==
24014 PHY_PERICAL_FULL)) ? 2 : 0,
24015 false) == BCME_OK) {
24016 wlc_phy_savecal_nphy(pi);
24019 pi->mphase_cal_phase_id++;
24022 case MPHASE_CAL_STATE_RSSICAL:
24023 if ((pi->radar_percal_mask & 0x4) != 0)
24024 pi->nphy_rxcal_active = true;
24025 wlc_phy_txpwrctrl_coeff_setup_nphy(pi);
24026 wlc_phy_rssi_cal_nphy(pi);
24028 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24029 wlc_phy_radio205x_vcocal_nphy(pi);
24031 restore_tx_gain = true;
24033 if (pi->first_cal_after_assoc) {
24034 pi->mphase_cal_phase_id++;
24036 wlc_phy_cal_perical_mphase_reset(pi);
24041 case MPHASE_CAL_STATE_IDLETSSI:
24042 if ((pi->radar_percal_mask & 0x8) != 0)
24043 pi->nphy_rxcal_active = true;
24045 if (pi->first_cal_after_assoc) {
24046 pi->first_cal_after_assoc = false;
24047 wlc_phy_txpwrctrl_idle_tssi_nphy(pi);
24048 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
24051 wlc_phy_cal_perical_mphase_reset(pi);
24056 wlc_phy_cal_perical_mphase_reset(pi);
24061 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24062 if (restore_tx_gain) {
24063 if (tx_pwr_ctrl_state != PHY_TPC_HW_OFF) {
24065 wlc_phy_txpwr_index_nphy(pi, 1,
24067 nphy_cal_orig_pwr_idx
24069 wlc_phy_txpwr_index_nphy(pi, 2,
24071 nphy_cal_orig_pwr_idx
24074 pi->nphy_txpwrindex[0].index = -1;
24075 pi->nphy_txpwrindex[1].index = -1;
24077 wlc_phy_txpwr_index_nphy(pi, (1 << 0),
24083 wlc_phy_txpwr_index_nphy(pi, (1 << 1),
24093 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
24094 wlc_phyreg_exit((wlc_phy_t *) pi);
24095 wlapi_enable_mac(pi->sh->physhim);
24099 wlc_phy_cal_txiqlo_nphy(phy_info_t *pi, nphy_txgains_t target_gain,
24100 bool fullcal, bool mphase)
24106 u8 num_cals, max_cal_cmds;
24107 u16 core_no, cal_type;
24114 nphy_iqcal_params_t cal_params[2];
24117 bool ladder_updated[2];
24118 u8 mphase_cal_lastphase = 0;
24119 int bcmerror = BCME_OK;
24120 bool phyhang_avoid_state = false;
24122 u16 tbl_tx_iqlo_cal_loft_ladder_20[] = {
24123 0x0300, 0x0500, 0x0700, 0x0900, 0x0d00, 0x1100, 0x1900, 0x1901,
24125 0x1903, 0x1904, 0x1905, 0x1906, 0x1907, 0x2407, 0x3207, 0x4607,
24129 u16 tbl_tx_iqlo_cal_iqimb_ladder_20[] = {
24130 0x0200, 0x0300, 0x0600, 0x0900, 0x0d00, 0x1100, 0x1900, 0x2400,
24132 0x4600, 0x6400, 0x6401, 0x6402, 0x6403, 0x6404, 0x6405, 0x6406,
24136 u16 tbl_tx_iqlo_cal_loft_ladder_40[] = {
24137 0x0200, 0x0300, 0x0400, 0x0700, 0x0900, 0x0c00, 0x1200, 0x1201,
24139 0x1203, 0x1204, 0x1205, 0x1206, 0x1207, 0x1907, 0x2307, 0x3207,
24143 u16 tbl_tx_iqlo_cal_iqimb_ladder_40[] = {
24144 0x0100, 0x0200, 0x0400, 0x0700, 0x0900, 0x0c00, 0x1200, 0x1900,
24146 0x3200, 0x4700, 0x4701, 0x4702, 0x4703, 0x4704, 0x4705, 0x4706,
24150 u16 tbl_tx_iqlo_cal_startcoefs[] = {
24151 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24155 u16 tbl_tx_iqlo_cal_cmds_fullcal[] = {
24156 0x8123, 0x8264, 0x8086, 0x8245, 0x8056,
24157 0x9123, 0x9264, 0x9086, 0x9245, 0x9056
24160 u16 tbl_tx_iqlo_cal_cmds_recal[] = {
24161 0x8101, 0x8253, 0x8053, 0x8234, 0x8034,
24162 0x9101, 0x9253, 0x9053, 0x9234, 0x9034
24165 u16 tbl_tx_iqlo_cal_startcoefs_nphyrev3[] = {
24166 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24167 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24171 u16 tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3[] = {
24172 0x8434, 0x8334, 0x8084, 0x8267, 0x8056, 0x8234,
24173 0x9434, 0x9334, 0x9084, 0x9267, 0x9056, 0x9234
24176 u16 tbl_tx_iqlo_cal_cmds_recal_nphyrev3[] = {
24177 0x8423, 0x8323, 0x8073, 0x8256, 0x8045, 0x8223,
24178 0x9423, 0x9323, 0x9073, 0x9256, 0x9045, 0x9223
24181 wlc_phy_stay_in_carriersearch_nphy(pi, true);
24183 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
24184 phyhang_avoid_state = pi->phyhang_avoid;
24185 pi->phyhang_avoid = false;
24188 if (CHSPEC_IS40(pi->radio_chanspec)) {
24194 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, gain_save);
24196 for (core_no = 0; core_no <= 1; core_no++) {
24197 wlc_phy_iqcal_gainparams_nphy(pi, core_no, target_gain,
24198 &cal_params[core_no]);
24199 cal_gain[core_no] = cal_params[core_no].cal_gain;
24202 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, cal_gain);
24204 wlc_phy_txcal_radio_setup_nphy(pi);
24206 wlc_phy_txcal_physetup_nphy(pi);
24208 ladder_updated[0] = ladder_updated[1] = false;
24209 if (!(NREV_GE(pi->pubpi.phy_rev, 6) ||
24210 (NREV_IS(pi->pubpi.phy_rev, 5) && PHY_IPA(pi)
24211 && (CHSPEC_IS2G(pi->radio_chanspec))))) {
24213 if (phy_bw == 40) {
24214 tbl_ptr = tbl_tx_iqlo_cal_loft_ladder_40;
24215 tbl_len = ARRAY_SIZE(tbl_tx_iqlo_cal_loft_ladder_40);
24217 tbl_ptr = tbl_tx_iqlo_cal_loft_ladder_20;
24218 tbl_len = ARRAY_SIZE(tbl_tx_iqlo_cal_loft_ladder_20);
24220 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, tbl_len, 0,
24223 if (phy_bw == 40) {
24224 tbl_ptr = tbl_tx_iqlo_cal_iqimb_ladder_40;
24225 tbl_len = ARRAY_SIZE(tbl_tx_iqlo_cal_iqimb_ladder_40);
24227 tbl_ptr = tbl_tx_iqlo_cal_iqimb_ladder_20;
24228 tbl_len = ARRAY_SIZE(tbl_tx_iqlo_cal_iqimb_ladder_20);
24230 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, tbl_len, 32,
24234 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
24235 write_phy_reg(pi, 0xc2, 0x8ad9);
24237 write_phy_reg(pi, 0xc2, 0x8aa9);
24241 tone_freq = (phy_bw == 20) ? 2500 : 5000;
24243 if (pi->mphase_cal_phase_id > MPHASE_CAL_STATE_TXPHASE0) {
24244 wlc_phy_runsamples_nphy(pi, phy_bw * 8, 0xffff, 0, 1, 0, false);
24245 bcmerror = BCME_OK;
24248 wlc_phy_tx_tone_nphy(pi, tone_freq, max_val, 1, 0, false);
24251 if (bcmerror == BCME_OK) {
24253 if (pi->mphase_cal_phase_id > MPHASE_CAL_STATE_TXPHASE0) {
24254 tbl_ptr = pi->mphase_txcal_bestcoeffs;
24255 tbl_len = ARRAY_SIZE(pi->mphase_txcal_bestcoeffs);
24256 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24261 if ((!fullcal) && (pi->nphy_txiqlocal_coeffsvalid)) {
24263 tbl_ptr = pi->nphy_txiqlocal_bestc;
24264 tbl_len = ARRAY_SIZE(pi->nphy_txiqlocal_bestc);
24265 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24273 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24275 tbl_tx_iqlo_cal_startcoefs_nphyrev3;
24278 (tbl_tx_iqlo_cal_startcoefs_nphyrev3);
24280 tbl_ptr = tbl_tx_iqlo_cal_startcoefs;
24283 (tbl_tx_iqlo_cal_startcoefs);
24287 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, tbl_len, 64,
24291 max_cal_cmds = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24292 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3) :
24293 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_fullcal);
24295 max_cal_cmds = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24296 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_recal_nphyrev3) :
24297 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_recal);
24301 cal_cnt = pi->mphase_txcal_cmdidx;
24302 if ((cal_cnt + pi->mphase_txcal_numcmds) < max_cal_cmds) {
24303 num_cals = cal_cnt + pi->mphase_txcal_numcmds;
24305 num_cals = max_cal_cmds;
24309 num_cals = max_cal_cmds;
24312 for (; cal_cnt < num_cals; cal_cnt++) {
24315 cal_cmd = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24316 tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3
24318 tbl_tx_iqlo_cal_cmds_fullcal[cal_cnt];
24320 cal_cmd = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24321 tbl_tx_iqlo_cal_cmds_recal_nphyrev3[cal_cnt]
24322 : tbl_tx_iqlo_cal_cmds_recal[cal_cnt];
24325 core_no = ((cal_cmd & 0x3000) >> 12);
24326 cal_type = ((cal_cmd & 0x0F00) >> 8);
24328 if (NREV_GE(pi->pubpi.phy_rev, 6) ||
24329 (NREV_IS(pi->pubpi.phy_rev, 5) &&
24331 && (CHSPEC_IS2G(pi->radio_chanspec)))) {
24332 if (!ladder_updated[core_no]) {
24333 wlc_phy_update_txcal_ladder_nphy(pi,
24335 ladder_updated[core_no] = true;
24340 (cal_params[core_no].
24341 ncorr[cal_type] << 8) | NPHY_N_GCTL;
24342 write_phy_reg(pi, 0xc1, val);
24344 if ((cal_type == 1) || (cal_type == 3)
24345 || (cal_type == 4)) {
24347 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24348 1, 69 + core_no, 16,
24351 diq_start = tbl_buf[0];
24354 wlc_phy_table_write_nphy(pi,
24355 NPHY_TBL_ID_IQLOCAL, 1,
24360 write_phy_reg(pi, 0xc0, cal_cmd);
24362 SPINWAIT(((read_phy_reg(pi, 0xc0) & 0xc000) != 0),
24364 ASSERT((read_phy_reg(pi, 0xc0) & 0xc000) == 0);
24366 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24367 tbl_len, 96, 16, tbl_buf);
24368 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24369 tbl_len, 64, 16, tbl_buf);
24371 if ((cal_type == 1) || (cal_type == 3)
24372 || (cal_type == 4)) {
24374 tbl_buf[0] = diq_start;
24381 pi->mphase_txcal_cmdidx = num_cals;
24382 if (pi->mphase_txcal_cmdidx >= max_cal_cmds)
24383 pi->mphase_txcal_cmdidx = 0;
24386 mphase_cal_lastphase =
24387 (NREV_LE(pi->pubpi.phy_rev, 2)) ?
24388 MPHASE_CAL_STATE_TXPHASE4 : MPHASE_CAL_STATE_TXPHASE5;
24391 || (pi->mphase_cal_phase_id == mphase_cal_lastphase)) {
24393 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 96,
24395 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 80,
24398 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
24406 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 88,
24409 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 101,
24411 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 85,
24414 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 93,
24417 tbl_len = ARRAY_SIZE(pi->nphy_txiqlocal_bestc);
24418 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24422 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24424 pi->nphy_txiqlocal_bestc);
24426 pi->nphy_txiqlocal_coeffsvalid = true;
24427 pi->nphy_txiqlocal_chanspec = pi->radio_chanspec;
24429 tbl_len = ARRAY_SIZE(pi->mphase_txcal_bestcoeffs);
24430 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24434 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24436 pi->mphase_txcal_bestcoeffs);
24439 wlc_phy_stopplayback_nphy(pi);
24441 write_phy_reg(pi, 0xc2, 0x0000);
24445 wlc_phy_txcal_phycleanup_nphy(pi);
24447 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
24450 wlc_phy_txcal_radio_cleanup_nphy(pi);
24452 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
24454 || (pi->mphase_cal_phase_id == mphase_cal_lastphase))
24455 wlc_phy_tx_iq_war_nphy(pi);
24458 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
24459 pi->phyhang_avoid = phyhang_avoid_state;
24462 wlc_phy_stay_in_carriersearch_nphy(pi, false);
24467 static void wlc_phy_reapply_txcal_coeffs_nphy(phy_info_t *pi)
24471 ASSERT(NREV_LT(pi->pubpi.phy_rev, 2));
24473 if ((pi->nphy_txiqlocal_chanspec == pi->radio_chanspec) &&
24474 (pi->nphy_txiqlocal_coeffsvalid)) {
24475 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24476 ARRAY_SIZE(tbl_buf), 80, 16, tbl_buf);
24478 if ((pi->nphy_txiqlocal_bestc[0] != tbl_buf[0]) ||
24479 (pi->nphy_txiqlocal_bestc[1] != tbl_buf[1]) ||
24480 (pi->nphy_txiqlocal_bestc[2] != tbl_buf[2]) ||
24481 (pi->nphy_txiqlocal_bestc[3] != tbl_buf[3])) {
24483 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 80,
24484 16, pi->nphy_txiqlocal_bestc);
24490 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 88,
24493 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 85,
24495 &pi->nphy_txiqlocal_bestc[5]);
24497 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 93,
24499 &pi->nphy_txiqlocal_bestc[5]);
24504 static void wlc_phy_tx_iq_war_nphy(phy_info_t *pi)
24506 nphy_iq_comp_t tx_comp;
24508 wlc_phy_table_read_nphy(pi, 15, 4, 0x50, 16, (void *)&tx_comp);
24510 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ, tx_comp.a0);
24511 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ + 2, tx_comp.b0);
24512 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ + 4, tx_comp.a1);
24513 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ + 6, tx_comp.b1);
24517 wlc_phy_rx_iq_coeffs_nphy(phy_info_t *pi, u8 write, nphy_iq_comp_t *pcomp)
24520 write_phy_reg(pi, 0x9a, pcomp->a0);
24521 write_phy_reg(pi, 0x9b, pcomp->b0);
24522 write_phy_reg(pi, 0x9c, pcomp->a1);
24523 write_phy_reg(pi, 0x9d, pcomp->b1);
24525 pcomp->a0 = read_phy_reg(pi, 0x9a);
24526 pcomp->b0 = read_phy_reg(pi, 0x9b);
24527 pcomp->a1 = read_phy_reg(pi, 0x9c);
24528 pcomp->b1 = read_phy_reg(pi, 0x9d);
24533 wlc_phy_rx_iq_est_nphy(phy_info_t *pi, phy_iq_est_t *est, u16 num_samps,
24534 u8 wait_time, u8 wait_for_crs)
24538 write_phy_reg(pi, 0x12b, num_samps);
24539 mod_phy_reg(pi, 0x12a, (0xff << 0), (wait_time << 0));
24540 mod_phy_reg(pi, 0x129, NPHY_IqestCmd_iqMode,
24541 (wait_for_crs) ? NPHY_IqestCmd_iqMode : 0);
24543 mod_phy_reg(pi, 0x129, NPHY_IqestCmd_iqstart, NPHY_IqestCmd_iqstart);
24545 SPINWAIT(((read_phy_reg(pi, 0x129) & NPHY_IqestCmd_iqstart) != 0),
24547 ASSERT((read_phy_reg(pi, 0x129) & NPHY_IqestCmd_iqstart) == 0);
24549 if ((read_phy_reg(pi, 0x129) & NPHY_IqestCmd_iqstart) == 0) {
24550 ASSERT(pi->pubpi.phy_corenum <= PHY_CORE_MAX);
24551 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
24553 (read_phy_reg(pi, NPHY_IqestipwrAccHi(core)) << 16)
24554 | read_phy_reg(pi, NPHY_IqestipwrAccLo(core));
24556 (read_phy_reg(pi, NPHY_IqestqpwrAccHi(core)) << 16)
24557 | read_phy_reg(pi, NPHY_IqestqpwrAccLo(core));
24558 est[core].iq_prod =
24559 (read_phy_reg(pi, NPHY_IqestIqAccHi(core)) << 16) |
24560 read_phy_reg(pi, NPHY_IqestIqAccLo(core));
24565 #define CAL_RETRY_CNT 2
24566 static void wlc_phy_calc_rx_iq_comp_nphy(phy_info_t *pi, u8 core_mask)
24569 phy_iq_est_t est[PHY_CORE_MAX];
24570 nphy_iq_comp_t old_comp, new_comp;
24572 u32 ii = 0, qq = 0;
24573 s16 iq_nbits, qq_nbits, brsh, arsh;
24575 int bcmerror = BCME_OK;
24576 uint cal_retry = 0;
24578 if (core_mask == 0x0)
24581 wlc_phy_rx_iq_coeffs_nphy(pi, 0, &old_comp);
24582 new_comp.a0 = new_comp.b0 = new_comp.a1 = new_comp.b1 = 0x0;
24583 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &new_comp);
24586 wlc_phy_rx_iq_est_nphy(pi, est, 0x4000, 32, 0);
24588 new_comp = old_comp;
24590 for (curr_core = 0; curr_core < pi->pubpi.phy_corenum; curr_core++) {
24592 if ((curr_core == PHY_CORE_0) && (core_mask & 0x1)) {
24593 iq = est[curr_core].iq_prod;
24594 ii = est[curr_core].i_pwr;
24595 qq = est[curr_core].q_pwr;
24596 } else if ((curr_core == PHY_CORE_1) && (core_mask & 0x2)) {
24597 iq = est[curr_core].iq_prod;
24598 ii = est[curr_core].i_pwr;
24599 qq = est[curr_core].q_pwr;
24604 if ((ii + qq) < NPHY_MIN_RXIQ_PWR) {
24605 bcmerror = BCME_ERROR;
24609 iq_nbits = wlc_phy_nbits(iq);
24610 qq_nbits = wlc_phy_nbits(qq);
24612 arsh = 10 - (30 - iq_nbits);
24614 a = (-(iq << (30 - iq_nbits)) + (ii >> (1 + arsh)));
24615 temp = (s32) (ii >> arsh);
24617 bcmerror = BCME_ERROR;
24621 a = (-(iq << (30 - iq_nbits)) + (ii << (-1 - arsh)));
24622 temp = (s32) (ii << -arsh);
24624 bcmerror = BCME_ERROR;
24631 brsh = qq_nbits - 31 + 20;
24633 b = (qq << (31 - qq_nbits));
24634 temp = (s32) (ii >> brsh);
24636 bcmerror = BCME_ERROR;
24640 b = (qq << (31 - qq_nbits));
24641 temp = (s32) (ii << -brsh);
24643 bcmerror = BCME_ERROR;
24649 b = (s32) wlc_phy_sqrt_int((u32) b);
24652 if ((curr_core == PHY_CORE_0) && (core_mask & 0x1)) {
24653 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24654 new_comp.a0 = (s16) a & 0x3ff;
24655 new_comp.b0 = (s16) b & 0x3ff;
24658 new_comp.a0 = (s16) b & 0x3ff;
24659 new_comp.b0 = (s16) a & 0x3ff;
24662 if ((curr_core == PHY_CORE_1) && (core_mask & 0x2)) {
24663 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24664 new_comp.a1 = (s16) a & 0x3ff;
24665 new_comp.b1 = (s16) b & 0x3ff;
24668 new_comp.a1 = (s16) b & 0x3ff;
24669 new_comp.b1 = (s16) a & 0x3ff;
24674 if (bcmerror != BCME_OK) {
24675 printk("%s: Failed, cnt = %d\n", __func__, cal_retry);
24677 if (cal_retry < CAL_RETRY_CNT) {
24682 new_comp = old_comp;
24683 } else if (cal_retry > 0) {
24686 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &new_comp);
24689 static void wlc_phy_rxcal_radio_setup_nphy(phy_info_t *pi, u8 rx_core)
24695 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
24696 if (rx_core == PHY_CORE_0) {
24697 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24698 pi->tx_rx_cal_radio_saveregs[0] =
24700 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP);
24701 pi->tx_rx_cal_radio_saveregs[1] =
24703 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN);
24705 write_radio_reg(pi,
24706 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP,
24708 write_radio_reg(pi,
24709 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN,
24713 pi->tx_rx_cal_radio_saveregs[0] =
24715 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP);
24716 pi->tx_rx_cal_radio_saveregs[1] =
24718 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN);
24720 write_radio_reg(pi,
24721 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP,
24723 write_radio_reg(pi,
24724 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN,
24729 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24730 pi->tx_rx_cal_radio_saveregs[0] =
24732 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP);
24733 pi->tx_rx_cal_radio_saveregs[1] =
24735 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN);
24737 write_radio_reg(pi,
24738 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP,
24740 write_radio_reg(pi,
24741 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN,
24745 pi->tx_rx_cal_radio_saveregs[0] =
24747 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP);
24748 pi->tx_rx_cal_radio_saveregs[1] =
24750 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN);
24752 write_radio_reg(pi,
24753 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP,
24755 write_radio_reg(pi,
24756 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN,
24762 if (rx_core == PHY_CORE_0) {
24763 pi->tx_rx_cal_radio_saveregs[0] =
24765 RADIO_2056_TX_RXIQCAL_TXMUX |
24767 pi->tx_rx_cal_radio_saveregs[1] =
24769 RADIO_2056_RX_RXIQCAL_RXMUX |
24772 if (pi->pubpi.radiorev >= 5) {
24773 pi->tx_rx_cal_radio_saveregs[2] =
24775 RADIO_2056_RX_RXSPARE2 |
24777 pi->tx_rx_cal_radio_saveregs[3] =
24779 RADIO_2056_TX_TXSPARE2 |
24783 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24785 if (pi->pubpi.radiorev >= 5) {
24786 pi->tx_rx_cal_radio_saveregs[4] =
24788 RADIO_2056_RX_LNAA_MASTER
24791 write_radio_reg(pi,
24792 RADIO_2056_RX_LNAA_MASTER
24793 | RADIO_2056_RX0, 0x40);
24795 write_radio_reg(pi,
24796 RADIO_2056_TX_TXSPARE2 |
24797 RADIO_2056_TX1, bias_a);
24799 write_radio_reg(pi,
24800 RADIO_2056_RX_RXSPARE2 |
24801 RADIO_2056_RX0, bias_a);
24803 pi->tx_rx_cal_radio_saveregs[4] =
24805 RADIO_2056_RX_LNAA_TUNE
24810 tx_rx_cal_radio_saveregs[2] & 0xF0)
24813 (offtune_val <= 0x7) ? 0xF : 0;
24816 RADIO_2056_RX_LNAA_TUNE |
24817 RADIO_2056_RX0, 0xF0,
24818 (offtune_val << 8));
24821 write_radio_reg(pi,
24822 RADIO_2056_TX_RXIQCAL_TXMUX |
24823 RADIO_2056_TX1, 0x9);
24824 write_radio_reg(pi,
24825 RADIO_2056_RX_RXIQCAL_RXMUX |
24826 RADIO_2056_RX0, 0x9);
24828 if (pi->pubpi.radiorev >= 5) {
24829 pi->tx_rx_cal_radio_saveregs[4] =
24831 RADIO_2056_RX_LNAG_MASTER
24834 write_radio_reg(pi,
24835 RADIO_2056_RX_LNAG_MASTER
24836 | RADIO_2056_RX0, 0x40);
24838 write_radio_reg(pi,
24839 RADIO_2056_TX_TXSPARE2 |
24840 RADIO_2056_TX1, bias_g);
24842 write_radio_reg(pi,
24843 RADIO_2056_RX_RXSPARE2 |
24844 RADIO_2056_RX0, bias_g);
24847 pi->tx_rx_cal_radio_saveregs[4] =
24849 RADIO_2056_RX_LNAG_TUNE
24854 tx_rx_cal_radio_saveregs[2] & 0xF0)
24857 (offtune_val <= 0x7) ? 0xF : 0;
24860 RADIO_2056_RX_LNAG_TUNE |
24861 RADIO_2056_RX0, 0xF0,
24862 (offtune_val << 8));
24865 write_radio_reg(pi,
24866 RADIO_2056_TX_RXIQCAL_TXMUX |
24867 RADIO_2056_TX1, 0x6);
24868 write_radio_reg(pi,
24869 RADIO_2056_RX_RXIQCAL_RXMUX |
24870 RADIO_2056_RX0, 0x6);
24874 pi->tx_rx_cal_radio_saveregs[0] =
24876 RADIO_2056_TX_RXIQCAL_TXMUX |
24878 pi->tx_rx_cal_radio_saveregs[1] =
24880 RADIO_2056_RX_RXIQCAL_RXMUX |
24883 if (pi->pubpi.radiorev >= 5) {
24884 pi->tx_rx_cal_radio_saveregs[2] =
24886 RADIO_2056_RX_RXSPARE2 |
24888 pi->tx_rx_cal_radio_saveregs[3] =
24890 RADIO_2056_TX_TXSPARE2 |
24894 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24896 if (pi->pubpi.radiorev >= 5) {
24897 pi->tx_rx_cal_radio_saveregs[4] =
24899 RADIO_2056_RX_LNAA_MASTER
24902 write_radio_reg(pi,
24903 RADIO_2056_RX_LNAA_MASTER
24904 | RADIO_2056_RX1, 0x40);
24906 write_radio_reg(pi,
24907 RADIO_2056_TX_TXSPARE2 |
24908 RADIO_2056_TX0, bias_a);
24910 write_radio_reg(pi,
24911 RADIO_2056_RX_RXSPARE2 |
24912 RADIO_2056_RX1, bias_a);
24914 pi->tx_rx_cal_radio_saveregs[4] =
24916 RADIO_2056_RX_LNAA_TUNE
24921 tx_rx_cal_radio_saveregs[2] & 0xF0)
24924 (offtune_val <= 0x7) ? 0xF : 0;
24927 RADIO_2056_RX_LNAA_TUNE |
24928 RADIO_2056_RX1, 0xF0,
24929 (offtune_val << 8));
24932 write_radio_reg(pi,
24933 RADIO_2056_TX_RXIQCAL_TXMUX |
24934 RADIO_2056_TX0, 0x9);
24935 write_radio_reg(pi,
24936 RADIO_2056_RX_RXIQCAL_RXMUX |
24937 RADIO_2056_RX1, 0x9);
24939 if (pi->pubpi.radiorev >= 5) {
24940 pi->tx_rx_cal_radio_saveregs[4] =
24942 RADIO_2056_RX_LNAG_MASTER
24945 write_radio_reg(pi,
24946 RADIO_2056_RX_LNAG_MASTER
24947 | RADIO_2056_RX1, 0x40);
24949 write_radio_reg(pi,
24950 RADIO_2056_TX_TXSPARE2 |
24951 RADIO_2056_TX0, bias_g);
24953 write_radio_reg(pi,
24954 RADIO_2056_RX_RXSPARE2 |
24955 RADIO_2056_RX1, bias_g);
24957 pi->tx_rx_cal_radio_saveregs[4] =
24959 RADIO_2056_RX_LNAG_TUNE
24964 tx_rx_cal_radio_saveregs[2] & 0xF0)
24967 (offtune_val <= 0x7) ? 0xF : 0;
24970 RADIO_2056_RX_LNAG_TUNE |
24971 RADIO_2056_RX1, 0xF0,
24972 (offtune_val << 8));
24975 write_radio_reg(pi,
24976 RADIO_2056_TX_RXIQCAL_TXMUX |
24977 RADIO_2056_TX0, 0x6);
24978 write_radio_reg(pi,
24979 RADIO_2056_RX_RXIQCAL_RXMUX |
24980 RADIO_2056_RX1, 0x6);
24986 static void wlc_phy_rxcal_radio_cleanup_nphy(phy_info_t *pi, u8 rx_core)
24988 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
24989 if (rx_core == PHY_CORE_0) {
24990 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24991 write_radio_reg(pi,
24992 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP,
24994 tx_rx_cal_radio_saveregs[0]);
24995 write_radio_reg(pi,
24996 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN,
24998 tx_rx_cal_radio_saveregs[1]);
25001 write_radio_reg(pi,
25002 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP,
25004 tx_rx_cal_radio_saveregs[0]);
25005 write_radio_reg(pi,
25006 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN,
25008 tx_rx_cal_radio_saveregs[1]);
25012 if (CHSPEC_IS5G(pi->radio_chanspec)) {
25013 write_radio_reg(pi,
25014 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP,
25016 tx_rx_cal_radio_saveregs[0]);
25017 write_radio_reg(pi,
25018 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN,
25020 tx_rx_cal_radio_saveregs[1]);
25023 write_radio_reg(pi,
25024 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP,
25026 tx_rx_cal_radio_saveregs[0]);
25027 write_radio_reg(pi,
25028 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN,
25030 tx_rx_cal_radio_saveregs[1]);
25035 if (rx_core == PHY_CORE_0) {
25036 write_radio_reg(pi,
25037 RADIO_2056_TX_RXIQCAL_TXMUX |
25039 pi->tx_rx_cal_radio_saveregs[0]);
25041 write_radio_reg(pi,
25042 RADIO_2056_RX_RXIQCAL_RXMUX |
25044 pi->tx_rx_cal_radio_saveregs[1]);
25046 if (pi->pubpi.radiorev >= 5) {
25047 write_radio_reg(pi,
25048 RADIO_2056_RX_RXSPARE2 |
25051 tx_rx_cal_radio_saveregs[2]);
25053 write_radio_reg(pi,
25054 RADIO_2056_TX_TXSPARE2 |
25057 tx_rx_cal_radio_saveregs[3]);
25060 if (CHSPEC_IS5G(pi->radio_chanspec)) {
25061 if (pi->pubpi.radiorev >= 5) {
25062 write_radio_reg(pi,
25063 RADIO_2056_RX_LNAA_MASTER
25066 tx_rx_cal_radio_saveregs
25069 write_radio_reg(pi,
25070 RADIO_2056_RX_LNAA_TUNE
25073 tx_rx_cal_radio_saveregs
25077 if (pi->pubpi.radiorev >= 5) {
25078 write_radio_reg(pi,
25079 RADIO_2056_RX_LNAG_MASTER
25082 tx_rx_cal_radio_saveregs
25085 write_radio_reg(pi,
25086 RADIO_2056_RX_LNAG_TUNE
25089 tx_rx_cal_radio_saveregs
25095 write_radio_reg(pi,
25096 RADIO_2056_TX_RXIQCAL_TXMUX |
25098 pi->tx_rx_cal_radio_saveregs[0]);
25100 write_radio_reg(pi,
25101 RADIO_2056_RX_RXIQCAL_RXMUX |
25103 pi->tx_rx_cal_radio_saveregs[1]);
25105 if (pi->pubpi.radiorev >= 5) {
25106 write_radio_reg(pi,
25107 RADIO_2056_RX_RXSPARE2 |
25110 tx_rx_cal_radio_saveregs[2]);
25112 write_radio_reg(pi,
25113 RADIO_2056_TX_TXSPARE2 |
25116 tx_rx_cal_radio_saveregs[3]);
25119 if (CHSPEC_IS5G(pi->radio_chanspec)) {
25120 if (pi->pubpi.radiorev >= 5) {
25121 write_radio_reg(pi,
25122 RADIO_2056_RX_LNAA_MASTER
25125 tx_rx_cal_radio_saveregs
25128 write_radio_reg(pi,
25129 RADIO_2056_RX_LNAA_TUNE
25132 tx_rx_cal_radio_saveregs
25136 if (pi->pubpi.radiorev >= 5) {
25137 write_radio_reg(pi,
25138 RADIO_2056_RX_LNAG_MASTER
25141 tx_rx_cal_radio_saveregs
25144 write_radio_reg(pi,
25145 RADIO_2056_RX_LNAG_TUNE
25148 tx_rx_cal_radio_saveregs
25156 static void wlc_phy_rxcal_physetup_nphy(phy_info_t *pi, u8 rx_core)
25159 u16 rx_antval, tx_antval;
25161 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25165 tx_core = (rx_core == PHY_CORE_0) ? 1 : 0;
25168 pi->tx_rx_cal_phy_saveregs[0] = read_phy_reg(pi, 0xa2);
25169 pi->tx_rx_cal_phy_saveregs[1] =
25170 read_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0xa6 : 0xa7);
25171 pi->tx_rx_cal_phy_saveregs[2] =
25172 read_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x8f : 0xa5);
25173 pi->tx_rx_cal_phy_saveregs[3] = read_phy_reg(pi, 0x91);
25174 pi->tx_rx_cal_phy_saveregs[4] = read_phy_reg(pi, 0x92);
25175 pi->tx_rx_cal_phy_saveregs[5] = read_phy_reg(pi, 0x7a);
25176 pi->tx_rx_cal_phy_saveregs[6] = read_phy_reg(pi, 0x7d);
25177 pi->tx_rx_cal_phy_saveregs[7] = read_phy_reg(pi, 0xe7);
25178 pi->tx_rx_cal_phy_saveregs[8] = read_phy_reg(pi, 0xec);
25179 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25180 pi->tx_rx_cal_phy_saveregs[11] = read_phy_reg(pi, 0x342);
25181 pi->tx_rx_cal_phy_saveregs[12] = read_phy_reg(pi, 0x343);
25182 pi->tx_rx_cal_phy_saveregs[13] = read_phy_reg(pi, 0x346);
25183 pi->tx_rx_cal_phy_saveregs[14] = read_phy_reg(pi, 0x347);
25186 pi->tx_rx_cal_phy_saveregs[9] = read_phy_reg(pi, 0x297);
25187 pi->tx_rx_cal_phy_saveregs[10] = read_phy_reg(pi, 0x29b);
25188 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
25189 0x29b, (0x1 << 0), (0) << 0);
25191 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
25192 0x29b, (0x1 << 0), (0) << 0);
25194 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25196 mod_phy_reg(pi, 0xa2, (0xf << 0), (1 << tx_core) << 0);
25198 mod_phy_reg(pi, 0xa2, (0xf << 12), (1 << (1 - rx_core)) << 12);
25202 mod_phy_reg(pi, 0xa2, (0xf << 12), (1 << tx_core) << 12);
25203 mod_phy_reg(pi, 0xa2, (0xf << 0), (1 << tx_core) << 0);
25204 mod_phy_reg(pi, 0xa2, (0xf << 4), (1 << rx_core) << 4);
25205 mod_phy_reg(pi, 0xa2, (0xf << 8), (1 << rx_core) << 8);
25208 mod_phy_reg(pi, ((rx_core == PHY_CORE_0) ? 0xa6 : 0xa7), (0x1 << 2), 0);
25209 mod_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x8f : 0xa5,
25210 (0x1 << 2), (0x1 << 2));
25211 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
25212 mod_phy_reg(pi, ((rx_core == PHY_CORE_0) ? 0xa6 : 0xa7),
25213 (0x1 << 0) | (0x1 << 1), 0);
25214 mod_phy_reg(pi, (rx_core == PHY_CORE_0) ?
25216 (0x1 << 0) | (0x1 << 1), (0x1 << 0) | (0x1 << 1));
25219 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_PA, 0,
25220 RADIO_MIMO_CORESEL_CORE1 |
25221 RADIO_MIMO_CORESEL_CORE2);
25223 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25224 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
25226 NPHY_REV7_RFCTRLOVERRIDE_ID0);
25227 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 9), 0, 0, 0,
25228 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25229 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 10), 1, 0, 0,
25230 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25231 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 1, 0, 0,
25232 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25233 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), 1, 0, 0,
25234 NPHY_REV7_RFCTRLOVERRIDE_ID2);
25235 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 0, 0, 0,
25236 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25237 if (CHSPEC_IS40(pi->radio_chanspec)) {
25238 wlc_phy_rfctrl_override_nphy_rev7(pi,
25241 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25243 wlc_phy_rfctrl_override_nphy_rev7(pi,
25246 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25248 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
25250 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25251 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5), 0, 0, 0,
25252 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25254 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 3, 0);
25257 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX);
25259 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25261 wlc_phy_rfctrlintc_override_nphy(pi,
25262 NPHY_RfctrlIntc_override_TRSW,
25266 if (rx_core == PHY_CORE_0) {
25274 wlc_phy_rfctrlintc_override_nphy(pi,
25275 NPHY_RfctrlIntc_override_TRSW,
25276 rx_antval, rx_core + 1);
25277 wlc_phy_rfctrlintc_override_nphy(pi,
25278 NPHY_RfctrlIntc_override_TRSW,
25279 tx_antval, tx_core + 1);
25283 static void wlc_phy_rxcal_phycleanup_nphy(phy_info_t *pi, u8 rx_core)
25286 write_phy_reg(pi, 0xa2, pi->tx_rx_cal_phy_saveregs[0]);
25287 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0xa6 : 0xa7,
25288 pi->tx_rx_cal_phy_saveregs[1]);
25289 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x8f : 0xa5,
25290 pi->tx_rx_cal_phy_saveregs[2]);
25291 write_phy_reg(pi, 0x91, pi->tx_rx_cal_phy_saveregs[3]);
25292 write_phy_reg(pi, 0x92, pi->tx_rx_cal_phy_saveregs[4]);
25294 write_phy_reg(pi, 0x7a, pi->tx_rx_cal_phy_saveregs[5]);
25295 write_phy_reg(pi, 0x7d, pi->tx_rx_cal_phy_saveregs[6]);
25296 write_phy_reg(pi, 0xe7, pi->tx_rx_cal_phy_saveregs[7]);
25297 write_phy_reg(pi, 0xec, pi->tx_rx_cal_phy_saveregs[8]);
25298 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25299 write_phy_reg(pi, 0x342, pi->tx_rx_cal_phy_saveregs[11]);
25300 write_phy_reg(pi, 0x343, pi->tx_rx_cal_phy_saveregs[12]);
25301 write_phy_reg(pi, 0x346, pi->tx_rx_cal_phy_saveregs[13]);
25302 write_phy_reg(pi, 0x347, pi->tx_rx_cal_phy_saveregs[14]);
25305 write_phy_reg(pi, 0x297, pi->tx_rx_cal_phy_saveregs[9]);
25306 write_phy_reg(pi, 0x29b, pi->tx_rx_cal_phy_saveregs[10]);
25310 wlc_phy_rxcal_gainctrl_nphy_rev5(phy_info_t *pi, u8 rx_core,
25311 u16 *rxgain, u8 cal_type)
25315 phy_iq_est_t est[PHY_CORE_MAX];
25317 nphy_iq_comp_t save_comp, zero_comp;
25318 u32 i_pwr, q_pwr, curr_pwr, optim_pwr = 0, prev_pwr = 0, thresh_pwr =
25320 s16 desired_log2_pwr, actual_log2_pwr, delta_pwr;
25321 bool gainctrl_done = false;
25322 u8 mix_tia_gain = 3;
25323 s8 optim_gaintbl_index = 0, prev_gaintbl_index = 0;
25324 s8 curr_gaintbl_index = 3;
25325 u8 gainctrl_dirn = NPHY_RXCAL_GAIN_INIT;
25326 nphy_ipa_txrxgain_t *nphy_rxcal_gaintbl;
25327 u16 hpvga, lpf_biq1, lpf_biq0, lna2, lna1;
25330 u16 nphy_rxcal_txgain[2];
25332 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25336 tx_core = 1 - rx_core;
25340 desired_log2_pwr = (cal_type == 0) ? 13 : 13;
25342 wlc_phy_rx_iq_coeffs_nphy(pi, 0, &save_comp);
25343 zero_comp.a0 = zero_comp.b0 = zero_comp.a1 = zero_comp.b1 = 0x0;
25344 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &zero_comp);
25346 if (CHSPEC_IS5G(pi->radio_chanspec)) {
25347 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25349 } else if (NREV_GE(pi->pubpi.phy_rev, 4)) {
25354 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25355 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_5GHz_rev7;
25357 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_5GHz;
25360 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25361 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_2GHz_rev7;
25363 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_2GHz;
25369 hpvga = (NREV_GE(pi->pubpi.phy_rev, 7)) ?
25370 0 : nphy_rxcal_gaintbl[curr_gaintbl_index].hpvga;
25371 lpf_biq1 = nphy_rxcal_gaintbl[curr_gaintbl_index].lpf_biq1;
25372 lpf_biq0 = nphy_rxcal_gaintbl[curr_gaintbl_index].lpf_biq0;
25373 lna2 = nphy_rxcal_gaintbl[curr_gaintbl_index].lna2;
25374 lna1 = nphy_rxcal_gaintbl[curr_gaintbl_index].lna1;
25375 txpwrindex = nphy_rxcal_gaintbl[curr_gaintbl_index].txpwrindex;
25377 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25378 wlc_phy_rfctrl_override_1tomany_nphy(pi,
25379 NPHY_REV7_RfctrlOverride_cmd_rxgain,
25380 ((lpf_biq1 << 12) |
25386 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12),
25390 (mix_tia_gain << 4) |
25391 (lna2 << 2) | lna1), 0x3,
25395 pi->nphy_rxcal_pwr_idx[tx_core] = txpwrindex;
25397 if (txpwrindex == -1) {
25398 nphy_rxcal_txgain[0] = 0x8ff0 | pi->nphy_gmval;
25399 nphy_rxcal_txgain[1] = 0x8ff0 | pi->nphy_gmval;
25400 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
25402 nphy_rxcal_txgain);
25404 wlc_phy_txpwr_index_nphy(pi, tx_core + 1, txpwrindex,
25408 wlc_phy_tx_tone_nphy(pi, (CHSPEC_IS40(pi->radio_chanspec)) ?
25409 NPHY_RXCAL_TONEFREQ_40MHz :
25410 NPHY_RXCAL_TONEFREQ_20MHz,
25411 NPHY_RXCAL_TONEAMP, 0, cal_type, false);
25413 wlc_phy_rx_iq_est_nphy(pi, est, num_samps, 32, 0);
25414 i_pwr = (est[rx_core].i_pwr + num_samps / 2) / num_samps;
25415 q_pwr = (est[rx_core].q_pwr + num_samps / 2) / num_samps;
25416 curr_pwr = i_pwr + q_pwr;
25418 switch (gainctrl_dirn) {
25419 case NPHY_RXCAL_GAIN_INIT:
25420 if (curr_pwr > thresh_pwr) {
25421 gainctrl_dirn = NPHY_RXCAL_GAIN_DOWN;
25422 prev_gaintbl_index = curr_gaintbl_index;
25423 curr_gaintbl_index--;
25425 gainctrl_dirn = NPHY_RXCAL_GAIN_UP;
25426 prev_gaintbl_index = curr_gaintbl_index;
25427 curr_gaintbl_index++;
25431 case NPHY_RXCAL_GAIN_UP:
25432 if (curr_pwr > thresh_pwr) {
25433 gainctrl_done = true;
25434 optim_pwr = prev_pwr;
25435 optim_gaintbl_index = prev_gaintbl_index;
25437 prev_gaintbl_index = curr_gaintbl_index;
25438 curr_gaintbl_index++;
25442 case NPHY_RXCAL_GAIN_DOWN:
25443 if (curr_pwr > thresh_pwr) {
25444 prev_gaintbl_index = curr_gaintbl_index;
25445 curr_gaintbl_index--;
25447 gainctrl_done = true;
25448 optim_pwr = curr_pwr;
25449 optim_gaintbl_index = curr_gaintbl_index;
25457 if ((curr_gaintbl_index < 0) ||
25458 (curr_gaintbl_index > NPHY_IPA_RXCAL_MAXGAININDEX)) {
25459 gainctrl_done = true;
25460 optim_pwr = curr_pwr;
25461 optim_gaintbl_index = prev_gaintbl_index;
25463 prev_pwr = curr_pwr;
25466 wlc_phy_stopplayback_nphy(pi);
25467 } while (!gainctrl_done);
25469 hpvga = nphy_rxcal_gaintbl[optim_gaintbl_index].hpvga;
25470 lpf_biq1 = nphy_rxcal_gaintbl[optim_gaintbl_index].lpf_biq1;
25471 lpf_biq0 = nphy_rxcal_gaintbl[optim_gaintbl_index].lpf_biq0;
25472 lna2 = nphy_rxcal_gaintbl[optim_gaintbl_index].lna2;
25473 lna1 = nphy_rxcal_gaintbl[optim_gaintbl_index].lna1;
25474 txpwrindex = nphy_rxcal_gaintbl[optim_gaintbl_index].txpwrindex;
25476 actual_log2_pwr = wlc_phy_nbits(optim_pwr);
25477 delta_pwr = desired_log2_pwr - actual_log2_pwr;
25479 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25480 fine_gain_idx = (int)lpf_biq1 + delta_pwr;
25482 if (fine_gain_idx + (int)lpf_biq0 > 10) {
25483 lpf_biq1 = 10 - lpf_biq0;
25485 lpf_biq1 = (u16) max(fine_gain_idx, 0);
25487 wlc_phy_rfctrl_override_1tomany_nphy(pi,
25488 NPHY_REV7_RfctrlOverride_cmd_rxgain,
25489 ((lpf_biq1 << 12) |
25491 (mix_tia_gain << 4) |
25492 (lna2 << 2) | lna1), 0x3,
25495 hpvga = (u16) max(min(((int)hpvga) + delta_pwr, 10), 0);
25496 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12),
25497 ((hpvga << 12) | (lpf_biq1 << 10) |
25498 (lpf_biq0 << 8) | (mix_tia_gain <<
25505 if (rxgain != NULL) {
25508 *rxgain++ = mix_tia_gain;
25509 *rxgain++ = lpf_biq0;
25510 *rxgain++ = lpf_biq1;
25514 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &save_comp);
25518 wlc_phy_rxcal_gainctrl_nphy(phy_info_t *pi, u8 rx_core, u16 *rxgain,
25521 wlc_phy_rxcal_gainctrl_nphy_rev5(pi, rx_core, rxgain, cal_type);
25525 wlc_phy_rc_sweep_nphy(phy_info_t *pi, u8 core_idx, u8 loopback_type)
25527 u32 target_bws[2] = { 9500, 21000 };
25528 u32 ref_tones[2] = { 3000, 6000 };
25529 u32 target_bw, ref_tone;
25531 u32 target_pwr_ratios[2] = { 28606, 18468 };
25532 u32 target_pwr_ratio, pwr_ratio, last_pwr_ratio = 0;
25534 u16 start_rccal_ovr_val = 128;
25535 u16 txlpf_rccal_lpc_ovr_val = 128;
25536 u16 rxlpf_rccal_hpc_ovr_val = 159;
25538 u16 orig_txlpf_rccal_lpc_ovr_val;
25539 u16 orig_rxlpf_rccal_hpc_ovr_val;
25540 u16 radio_addr_offset_rx;
25541 u16 radio_addr_offset_tx;
25543 u16 orig_RxStrnFilt40Num[6];
25544 u16 orig_RxStrnFilt40Den[4];
25545 u16 orig_rfctrloverride[2];
25546 u16 orig_rfctrlauxreg[2];
25547 u16 orig_rfctrlrssiothers;
25550 u16 rx_lpf_bw, rx_lpf_bws[2] = { 2, 4 };
25551 u16 lpf_hpc = 7, hpvga_hpc = 7;
25554 u16 rccal_val, last_rccal_val = 0, best_rccal_val = 0;
25555 u32 ref_iq_vals = 0, target_iq_vals = 0;
25556 u16 num_samps, log_num_samps = 10;
25557 phy_iq_est_t est[PHY_CORE_MAX];
25559 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25563 num_samps = (1 << log_num_samps);
25565 if (CHSPEC_IS40(pi->radio_chanspec)) {
25566 target_bw = target_bws[1];
25567 target_pwr_ratio = target_pwr_ratios[1];
25568 ref_tone = ref_tones[1];
25569 rx_lpf_bw = rx_lpf_bws[1];
25571 target_bw = target_bws[0];
25572 target_pwr_ratio = target_pwr_ratios[0];
25573 ref_tone = ref_tones[0];
25574 rx_lpf_bw = rx_lpf_bws[0];
25577 if (core_idx == 0) {
25578 radio_addr_offset_rx = RADIO_2056_RX0;
25579 radio_addr_offset_tx =
25580 (loopback_type == 0) ? RADIO_2056_TX0 : RADIO_2056_TX1;
25582 radio_addr_offset_rx = RADIO_2056_RX1;
25583 radio_addr_offset_tx =
25584 (loopback_type == 0) ? RADIO_2056_TX1 : RADIO_2056_TX0;
25587 orig_txlpf_rccal_lpc_ovr_val =
25589 (RADIO_2056_TX_TXLPF_RCCAL | radio_addr_offset_tx));
25590 orig_rxlpf_rccal_hpc_ovr_val =
25592 (RADIO_2056_RX_RXLPF_RCCAL_HPC |
25593 radio_addr_offset_rx));
25595 orig_dcBypass = ((read_phy_reg(pi, 0x48) >> 8) & 1);
25597 orig_RxStrnFilt40Num[0] = read_phy_reg(pi, 0x267);
25598 orig_RxStrnFilt40Num[1] = read_phy_reg(pi, 0x268);
25599 orig_RxStrnFilt40Num[2] = read_phy_reg(pi, 0x269);
25600 orig_RxStrnFilt40Den[0] = read_phy_reg(pi, 0x26a);
25601 orig_RxStrnFilt40Den[1] = read_phy_reg(pi, 0x26b);
25602 orig_RxStrnFilt40Num[3] = read_phy_reg(pi, 0x26c);
25603 orig_RxStrnFilt40Num[4] = read_phy_reg(pi, 0x26d);
25604 orig_RxStrnFilt40Num[5] = read_phy_reg(pi, 0x26e);
25605 orig_RxStrnFilt40Den[2] = read_phy_reg(pi, 0x26f);
25606 orig_RxStrnFilt40Den[3] = read_phy_reg(pi, 0x270);
25608 orig_rfctrloverride[0] = read_phy_reg(pi, 0xe7);
25609 orig_rfctrloverride[1] = read_phy_reg(pi, 0xec);
25610 orig_rfctrlauxreg[0] = read_phy_reg(pi, 0xf8);
25611 orig_rfctrlauxreg[1] = read_phy_reg(pi, 0xfa);
25612 orig_rfctrlrssiothers = read_phy_reg(pi, (core_idx == 0) ? 0x7a : 0x7d);
25614 write_radio_reg(pi, (RADIO_2056_TX_TXLPF_RCCAL | radio_addr_offset_tx),
25615 txlpf_rccal_lpc_ovr_val);
25617 write_radio_reg(pi,
25618 (RADIO_2056_RX_RXLPF_RCCAL_HPC | radio_addr_offset_rx),
25619 rxlpf_rccal_hpc_ovr_val);
25621 mod_phy_reg(pi, 0x48, (0x1 << 8), (0x1 << 8));
25623 write_phy_reg(pi, 0x267, 0x02d4);
25624 write_phy_reg(pi, 0x268, 0x0000);
25625 write_phy_reg(pi, 0x269, 0x0000);
25626 write_phy_reg(pi, 0x26a, 0x0000);
25627 write_phy_reg(pi, 0x26b, 0x0000);
25628 write_phy_reg(pi, 0x26c, 0x02d4);
25629 write_phy_reg(pi, 0x26d, 0x0000);
25630 write_phy_reg(pi, 0x26e, 0x0000);
25631 write_phy_reg(pi, 0x26f, 0x0000);
25632 write_phy_reg(pi, 0x270, 0x0000);
25634 or_phy_reg(pi, (core_idx == 0) ? 0xe7 : 0xec, (0x1 << 8));
25635 or_phy_reg(pi, (core_idx == 0) ? 0xec : 0xe7, (0x1 << 15));
25636 or_phy_reg(pi, (core_idx == 0) ? 0xe7 : 0xec, (0x1 << 9));
25637 or_phy_reg(pi, (core_idx == 0) ? 0xe7 : 0xec, (0x1 << 10));
25639 mod_phy_reg(pi, (core_idx == 0) ? 0xfa : 0xf8,
25640 (0x7 << 10), (tx_lpf_bw << 10));
25641 mod_phy_reg(pi, (core_idx == 0) ? 0xf8 : 0xfa,
25642 (0x7 << 0), (hpvga_hpc << 0));
25643 mod_phy_reg(pi, (core_idx == 0) ? 0xf8 : 0xfa,
25644 (0x7 << 4), (lpf_hpc << 4));
25645 mod_phy_reg(pi, (core_idx == 0) ? 0x7a : 0x7d,
25646 (0x7 << 8), (rx_lpf_bw << 8));
25648 rccal_stepsize = 16;
25649 rccal_val = start_rccal_ovr_val + rccal_stepsize;
25651 while (rccal_stepsize >= 0) {
25652 write_radio_reg(pi,
25653 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
25654 radio_addr_offset_rx), rccal_val);
25656 if (rccal_stepsize == 16) {
25658 wlc_phy_tx_tone_nphy(pi, ref_tone, NPHY_RXCAL_TONEAMP,
25662 wlc_phy_rx_iq_est_nphy(pi, est, num_samps, 32, 0);
25664 if (core_idx == 0) {
25666 max_t(u32, (est[0].i_pwr +
25667 est[0].q_pwr) >> (log_num_samps + 1),
25671 max_t(u32, (est[1].i_pwr +
25672 est[1].q_pwr) >> (log_num_samps + 1),
25676 wlc_phy_tx_tone_nphy(pi, target_bw, NPHY_RXCAL_TONEAMP,
25681 wlc_phy_rx_iq_est_nphy(pi, est, num_samps, 32, 0);
25683 if (core_idx == 0) {
25685 (est[0].i_pwr + est[0].q_pwr) >> (log_num_samps +
25689 (est[1].i_pwr + est[1].q_pwr) >> (log_num_samps +
25692 pwr_ratio = (uint) ((target_iq_vals << 16) / ref_iq_vals);
25694 if (rccal_stepsize == 0) {
25696 } else if (rccal_stepsize == 1) {
25697 last_rccal_val = rccal_val;
25698 rccal_val += (pwr_ratio > target_pwr_ratio) ? 1 : -1;
25699 last_pwr_ratio = pwr_ratio;
25702 rccal_stepsize = (rccal_stepsize >> 1);
25703 rccal_val += ((pwr_ratio > target_pwr_ratio) ?
25704 rccal_stepsize : (-rccal_stepsize));
25707 if (rccal_stepsize == -1) {
25709 (ABS((int)last_pwr_ratio - (int)target_pwr_ratio) <
25710 ABS((int)pwr_ratio -
25711 (int)target_pwr_ratio)) ? last_rccal_val :
25714 if (CHSPEC_IS40(pi->radio_chanspec)) {
25715 if ((best_rccal_val > 140)
25716 || (best_rccal_val < 135)) {
25717 best_rccal_val = 138;
25720 if ((best_rccal_val > 142)
25721 || (best_rccal_val < 137)) {
25722 best_rccal_val = 140;
25726 write_radio_reg(pi,
25727 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
25728 radio_addr_offset_rx), best_rccal_val);
25732 wlc_phy_stopplayback_nphy(pi);
25734 write_radio_reg(pi, (RADIO_2056_TX_TXLPF_RCCAL | radio_addr_offset_tx),
25735 orig_txlpf_rccal_lpc_ovr_val);
25736 write_radio_reg(pi,
25737 (RADIO_2056_RX_RXLPF_RCCAL_HPC | radio_addr_offset_rx),
25738 orig_rxlpf_rccal_hpc_ovr_val);
25740 mod_phy_reg(pi, 0x48, (0x1 << 8), (orig_dcBypass << 8));
25742 write_phy_reg(pi, 0x267, orig_RxStrnFilt40Num[0]);
25743 write_phy_reg(pi, 0x268, orig_RxStrnFilt40Num[1]);
25744 write_phy_reg(pi, 0x269, orig_RxStrnFilt40Num[2]);
25745 write_phy_reg(pi, 0x26a, orig_RxStrnFilt40Den[0]);
25746 write_phy_reg(pi, 0x26b, orig_RxStrnFilt40Den[1]);
25747 write_phy_reg(pi, 0x26c, orig_RxStrnFilt40Num[3]);
25748 write_phy_reg(pi, 0x26d, orig_RxStrnFilt40Num[4]);
25749 write_phy_reg(pi, 0x26e, orig_RxStrnFilt40Num[5]);
25750 write_phy_reg(pi, 0x26f, orig_RxStrnFilt40Den[2]);
25751 write_phy_reg(pi, 0x270, orig_RxStrnFilt40Den[3]);
25753 write_phy_reg(pi, 0xe7, orig_rfctrloverride[0]);
25754 write_phy_reg(pi, 0xec, orig_rfctrloverride[1]);
25755 write_phy_reg(pi, 0xf8, orig_rfctrlauxreg[0]);
25756 write_phy_reg(pi, 0xfa, orig_rfctrlauxreg[1]);
25757 write_phy_reg(pi, (core_idx == 0) ? 0x7a : 0x7d, orig_rfctrlrssiothers);
25759 pi->nphy_anarxlpf_adjusted = false;
25761 return best_rccal_val - 0x80;
25764 #define WAIT_FOR_SCOPE 4000
25766 wlc_phy_cal_rxiq_nphy_rev3(phy_info_t *pi, nphy_txgains_t target_gain,
25767 u8 cal_type, bool debug)
25770 u8 core_no, rx_core;
25774 nphy_iqcal_params_t cal_params[2];
25776 s8 rxlpf_rccal_hpc, txlpf_rccal_lpc;
25778 bool phyhang_avoid_state = false;
25779 bool skip_rxiqcal = false;
25781 orig_BBConfig = read_phy_reg(pi, 0x01);
25782 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
25784 wlc_phy_stay_in_carriersearch_nphy(pi, true);
25786 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
25787 phyhang_avoid_state = pi->phyhang_avoid;
25788 pi->phyhang_avoid = false;
25791 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, gain_save);
25793 for (core_no = 0; core_no <= 1; core_no++) {
25794 wlc_phy_iqcal_gainparams_nphy(pi, core_no, target_gain,
25795 &cal_params[core_no]);
25796 cal_gain[core_no] = cal_params[core_no].cal_gain;
25799 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, cal_gain);
25801 rxcore_state = wlc_phy_rxcore_getstate_nphy((wlc_phy_t *) pi);
25803 for (rx_core = 0; rx_core < pi->pubpi.phy_corenum; rx_core++) {
25806 ((rxcore_state & (1 << rx_core)) == 0) ? true : false;
25808 wlc_phy_rxcal_physetup_nphy(pi, rx_core);
25810 wlc_phy_rxcal_radio_setup_nphy(pi, rx_core);
25812 if ((!skip_rxiqcal) && ((cal_type == 0) || (cal_type == 2))) {
25814 wlc_phy_rxcal_gainctrl_nphy(pi, rx_core, NULL, 0);
25816 wlc_phy_tx_tone_nphy(pi,
25817 (CHSPEC_IS40(pi->radio_chanspec)) ?
25818 NPHY_RXCAL_TONEFREQ_40MHz :
25819 NPHY_RXCAL_TONEFREQ_20MHz,
25820 NPHY_RXCAL_TONEAMP, 0, cal_type,
25824 mdelay(WAIT_FOR_SCOPE);
25826 wlc_phy_calc_rx_iq_comp_nphy(pi, rx_core + 1);
25827 wlc_phy_stopplayback_nphy(pi);
25830 if (((cal_type == 1) || (cal_type == 2))
25831 && NREV_LT(pi->pubpi.phy_rev, 7)) {
25833 if (rx_core == PHY_CORE_1) {
25835 if (rxcore_state == 1) {
25836 wlc_phy_rxcore_setstate_nphy((wlc_phy_t
25840 wlc_phy_rxcal_gainctrl_nphy(pi, rx_core, NULL,
25843 best_rccal[rx_core] =
25844 wlc_phy_rc_sweep_nphy(pi, rx_core, 1);
25845 pi->nphy_rccal_value = best_rccal[rx_core];
25847 if (rxcore_state == 1) {
25848 wlc_phy_rxcore_setstate_nphy((wlc_phy_t
25855 wlc_phy_rxcal_radio_cleanup_nphy(pi, rx_core);
25857 wlc_phy_rxcal_phycleanup_nphy(pi, rx_core);
25858 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
25861 if ((cal_type == 1) || (cal_type == 2)) {
25863 best_rccal[0] = best_rccal[1];
25864 write_radio_reg(pi,
25865 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
25866 RADIO_2056_RX0), (best_rccal[0] | 0x80));
25868 for (rx_core = 0; rx_core < pi->pubpi.phy_corenum; rx_core++) {
25870 (((int)best_rccal[rx_core] - 12) >> 1) + 10;
25871 txlpf_rccal_lpc = ((int)best_rccal[rx_core] - 12) + 10;
25874 txlpf_rccal_lpc += IS40MHZ(pi) ? 24 : 12;
25875 txlpf_idac = IS40MHZ(pi) ? 0x0e : 0x13;
25876 WRITE_RADIO_REG2(pi, RADIO_2056, TX, rx_core,
25877 TXLPF_IDAC_4, txlpf_idac);
25880 rxlpf_rccal_hpc = max(min_t(u8, rxlpf_rccal_hpc, 31), 0);
25881 txlpf_rccal_lpc = max(min_t(u8, txlpf_rccal_lpc, 31), 0);
25883 write_radio_reg(pi, (RADIO_2056_RX_RXLPF_RCCAL_HPC |
25885 PHY_CORE_0) ? RADIO_2056_RX0 :
25887 (rxlpf_rccal_hpc | 0x80));
25889 write_radio_reg(pi, (RADIO_2056_TX_TXLPF_RCCAL |
25891 PHY_CORE_0) ? RADIO_2056_TX0 :
25893 (txlpf_rccal_lpc | 0x80));
25897 write_phy_reg(pi, 0x01, orig_BBConfig);
25899 wlc_phy_resetcca_nphy(pi);
25901 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25902 wlc_phy_rfctrl_override_1tomany_nphy(pi,
25903 NPHY_REV7_RfctrlOverride_cmd_rxgain,
25906 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12), 0, 0x3, 1);
25908 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
25910 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
25913 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
25914 pi->phyhang_avoid = phyhang_avoid_state;
25917 wlc_phy_stay_in_carriersearch_nphy(pi, false);
25923 wlc_phy_cal_rxiq_nphy_rev2(phy_info_t *pi, nphy_txgains_t target_gain,
25926 phy_iq_est_t est[PHY_CORE_MAX];
25927 u8 core_num, rx_core, tx_core;
25928 u16 lna_vals[] = { 0x3, 0x3, 0x1 };
25929 u16 hpf1_vals[] = { 0x7, 0x2, 0x0 };
25930 u16 hpf2_vals[] = { 0x2, 0x0, 0x0 };
25931 s16 curr_hpf1, curr_hpf2, curr_hpf, curr_lna;
25932 s16 desired_log2_pwr, actual_log2_pwr, hpf_change;
25933 u16 orig_RfseqCoreActv, orig_AfectrlCore, orig_AfectrlOverride;
25934 u16 orig_RfctrlIntcRx, orig_RfctrlIntcTx;
25936 u32 i_pwr, q_pwr, tot_pwr[3];
25937 u8 gain_pass, use_hpf_num;
25938 u16 mask, val1, val2;
25942 nphy_iqcal_params_t cal_params[2];
25944 int bcmerror = BCME_OK;
25945 bool first_playtone = true;
25947 wlc_phy_stay_in_carriersearch_nphy(pi, true);
25949 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
25951 wlc_phy_reapply_txcal_coeffs_nphy(pi);
25954 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, gain_save);
25956 for (core_no = 0; core_no <= 1; core_no++) {
25957 wlc_phy_iqcal_gainparams_nphy(pi, core_no, target_gain,
25958 &cal_params[core_no]);
25959 cal_gain[core_no] = cal_params[core_no].cal_gain;
25962 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, cal_gain);
25965 desired_log2_pwr = 13;
25967 for (core_num = 0; core_num < 2; core_num++) {
25969 rx_core = core_num;
25970 tx_core = 1 - core_num;
25972 orig_RfseqCoreActv = read_phy_reg(pi, 0xa2);
25973 orig_AfectrlCore = read_phy_reg(pi, (rx_core == PHY_CORE_0) ?
25975 orig_AfectrlOverride = read_phy_reg(pi, 0xa5);
25976 orig_RfctrlIntcRx = read_phy_reg(pi, (rx_core == PHY_CORE_0) ?
25978 orig_RfctrlIntcTx = read_phy_reg(pi, (tx_core == PHY_CORE_0) ?
25981 mod_phy_reg(pi, 0xa2, (0xf << 12), (1 << tx_core) << 12);
25982 mod_phy_reg(pi, 0xa2, (0xf << 0), (1 << tx_core) << 0);
25984 or_phy_reg(pi, ((rx_core == PHY_CORE_0) ? 0xa6 : 0xa7),
25985 ((0x1 << 1) | (0x1 << 2)));
25986 or_phy_reg(pi, 0xa5, ((0x1 << 1) | (0x1 << 2)));
25988 if (((pi->nphy_rxcalparams) & 0xff000000)) {
25991 (rx_core == PHY_CORE_0) ? 0x91 : 0x92,
25992 (CHSPEC_IS5G(pi->radio_chanspec) ? 0x140 :
25997 (rx_core == PHY_CORE_0) ? 0x91 : 0x92,
25998 (CHSPEC_IS5G(pi->radio_chanspec) ? 0x180 :
26002 write_phy_reg(pi, (tx_core == PHY_CORE_0) ? 0x91 : 0x92,
26003 (CHSPEC_IS5G(pi->radio_chanspec) ? 0x148 :
26006 mask = RADIO_2055_COUPLE_RX_MASK | RADIO_2055_COUPLE_TX_MASK;
26007 if (rx_core == PHY_CORE_0) {
26008 val1 = RADIO_2055_COUPLE_RX_MASK;
26009 val2 = RADIO_2055_COUPLE_TX_MASK;
26011 val1 = RADIO_2055_COUPLE_TX_MASK;
26012 val2 = RADIO_2055_COUPLE_RX_MASK;
26015 if ((pi->nphy_rxcalparams & 0x10000)) {
26016 mod_radio_reg(pi, RADIO_2055_CORE1_GEN_SPARE2, mask,
26018 mod_radio_reg(pi, RADIO_2055_CORE2_GEN_SPARE2, mask,
26022 for (gain_pass = 0; gain_pass < 4; gain_pass++) {
26025 mdelay(WAIT_FOR_SCOPE);
26027 if (gain_pass < 3) {
26028 curr_lna = lna_vals[gain_pass];
26029 curr_hpf1 = hpf1_vals[gain_pass];
26030 curr_hpf2 = hpf2_vals[gain_pass];
26033 if (tot_pwr[1] > 10000) {
26034 curr_lna = lna_vals[2];
26035 curr_hpf1 = hpf1_vals[2];
26036 curr_hpf2 = hpf2_vals[2];
26038 curr_hpf = curr_hpf1;
26040 wlc_phy_nbits(tot_pwr[2]);
26042 if (tot_pwr[0] > 10000) {
26043 curr_lna = lna_vals[1];
26044 curr_hpf1 = hpf1_vals[1];
26045 curr_hpf2 = hpf2_vals[1];
26047 curr_hpf = curr_hpf1;
26049 wlc_phy_nbits(tot_pwr[1]);
26051 curr_lna = lna_vals[0];
26052 curr_hpf1 = hpf1_vals[0];
26053 curr_hpf2 = hpf2_vals[0];
26055 curr_hpf = curr_hpf2;
26057 wlc_phy_nbits(tot_pwr[0]);
26061 hpf_change = desired_log2_pwr - actual_log2_pwr;
26062 curr_hpf += hpf_change;
26063 curr_hpf = max(min_t(u16, curr_hpf, 10), 0);
26064 if (use_hpf_num == 1) {
26065 curr_hpf1 = curr_hpf;
26067 curr_hpf2 = curr_hpf;
26071 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 10),
26072 ((curr_hpf2 << 8) |
26074 (curr_lna << 2)), 0x3, 0);
26075 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
26077 wlc_phy_stopplayback_nphy(pi);
26079 if (first_playtone) {
26080 bcmerror = wlc_phy_tx_tone_nphy(pi, 4000,
26086 first_playtone = false;
26089 (CHSPEC_IS40(pi->radio_chanspec)) ? 40 : 20;
26090 wlc_phy_runsamples_nphy(pi, phy_bw * 8, 0xffff,
26094 if (bcmerror == BCME_OK) {
26095 if (gain_pass < 3) {
26097 wlc_phy_rx_iq_est_nphy(pi, est,
26101 (est[rx_core].i_pwr +
26102 num_samps / 2) / num_samps;
26104 (est[rx_core].q_pwr +
26105 num_samps / 2) / num_samps;
26106 tot_pwr[gain_pass] = i_pwr + q_pwr;
26109 wlc_phy_calc_rx_iq_comp_nphy(pi,
26114 wlc_phy_stopplayback_nphy(pi);
26117 if (bcmerror != BCME_OK)
26121 and_radio_reg(pi, RADIO_2055_CORE1_GEN_SPARE2, ~mask);
26122 and_radio_reg(pi, RADIO_2055_CORE2_GEN_SPARE2, ~mask);
26124 write_phy_reg(pi, (tx_core == PHY_CORE_0) ? 0x91 :
26125 0x92, orig_RfctrlIntcTx);
26126 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x91 :
26127 0x92, orig_RfctrlIntcRx);
26128 write_phy_reg(pi, 0xa5, orig_AfectrlOverride);
26129 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0xa6 :
26130 0xa7, orig_AfectrlCore);
26131 write_phy_reg(pi, 0xa2, orig_RfseqCoreActv);
26133 if (bcmerror != BCME_OK)
26137 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 10), 0, 0x3, 1);
26138 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
26140 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
26143 wlc_phy_stay_in_carriersearch_nphy(pi, false);
26149 wlc_phy_cal_rxiq_nphy(phy_info_t *pi, nphy_txgains_t target_gain,
26150 u8 cal_type, bool debug)
26152 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26156 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
26157 return wlc_phy_cal_rxiq_nphy_rev3(pi, target_gain, cal_type,
26160 return wlc_phy_cal_rxiq_nphy_rev2(pi, target_gain, debug);
26164 static void wlc_phy_extpa_set_tx_digi_filts_nphy(phy_info_t *pi)
26167 u16 addr_offset = 0x2c5;
26169 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26170 write_phy_reg(pi, addr_offset + j,
26171 NPHY_IPA_REV4_txdigi_filtcoeffs[type][j]);
26175 static void wlc_phy_ipa_set_tx_digi_filts_nphy(phy_info_t *pi)
26178 u16 addr_offset[] = { 0x186, 0x195,
26182 for (type = 0; type < 3; type++) {
26183 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26184 write_phy_reg(pi, addr_offset[type] + j,
26185 NPHY_IPA_REV4_txdigi_filtcoeffs[type][j]);
26190 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26191 write_phy_reg(pi, 0x186 + j,
26192 NPHY_IPA_REV4_txdigi_filtcoeffs[3][j]);
26195 if (CHSPEC_IS5G(pi->radio_chanspec)) {
26196 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26197 write_phy_reg(pi, 0x186 + j,
26198 NPHY_IPA_REV4_txdigi_filtcoeffs[5]
26203 if (CHSPEC_CHANNEL(pi->radio_chanspec) == 14) {
26204 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26205 write_phy_reg(pi, 0x2c5 + j,
26206 NPHY_IPA_REV4_txdigi_filtcoeffs[6]
26213 static void wlc_phy_ipa_restore_tx_digi_filts_nphy(phy_info_t *pi)
26218 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26219 write_phy_reg(pi, 0x195 + j,
26220 NPHY_IPA_REV4_txdigi_filtcoeffs[4][j]);
26223 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26224 write_phy_reg(pi, 0x186 + j,
26225 NPHY_IPA_REV4_txdigi_filtcoeffs[3][j]);
26230 static u16 wlc_phy_ipa_get_bbmult_nphy(phy_info_t *pi)
26234 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m0m1);
26239 static void wlc_phy_ipa_set_bbmult_nphy(phy_info_t *pi, u8 m0, u8 m1)
26241 u16 m0m1 = (u16) ((m0 << 8) | m1);
26243 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m0m1);
26244 wlc_phy_table_write_nphy(pi, 15, 1, 95, 16, &m0m1);
26247 static u32 *wlc_phy_get_ipa_gaintbl_nphy(phy_info_t *pi)
26249 u32 *tx_pwrctrl_tbl = NULL;
26251 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26253 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26255 if ((pi->pubpi.radiorev == 4)
26256 || (pi->pubpi.radiorev == 6)) {
26259 nphy_tpc_txgain_ipa_2g_2057rev4n6;
26260 } else if (pi->pubpi.radiorev == 3) {
26263 nphy_tpc_txgain_ipa_2g_2057rev3;
26264 } else if (pi->pubpi.radiorev == 5) {
26267 nphy_tpc_txgain_ipa_2g_2057rev5;
26268 } else if ((pi->pubpi.radiorev == 7)
26269 || (pi->pubpi.radiorev == 8)) {
26272 nphy_tpc_txgain_ipa_2g_2057rev7;
26277 } else if (NREV_IS(pi->pubpi.phy_rev, 6)) {
26279 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_rev6;
26280 if (CHIPID(pi->sh->chip) == BCM47162_CHIP_ID) {
26282 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_rev5;
26285 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
26287 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_rev5;
26290 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa;
26295 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26296 if ((pi->pubpi.radiorev == 3) ||
26297 (pi->pubpi.radiorev == 4) ||
26298 (pi->pubpi.radiorev == 6)) {
26300 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_5g_2057;
26301 } else if ((pi->pubpi.radiorev == 7)
26302 || (pi->pubpi.radiorev == 8)) {
26305 nphy_tpc_txgain_ipa_5g_2057rev7;
26311 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_5g;
26315 return tx_pwrctrl_tbl;
26319 wlc_phy_papd_cal_setup_nphy(phy_info_t *pi, nphy_papd_restore_state *state,
26326 off_core = core ^ 0x1;
26327 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26329 if (NREV_IS(pi->pubpi.phy_rev, 7)
26330 || NREV_GE(pi->pubpi.phy_rev, 8)) {
26331 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
26332 wlc_phy_read_lpf_bw_ctl_nphy
26334 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26337 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26338 if (pi->pubpi.radiorev == 5) {
26339 mixgain = (core == 0) ? 0x20 : 0x00;
26341 } else if ((pi->pubpi.radiorev == 7)
26342 || (pi->pubpi.radiorev == 8)) {
26346 } else if ((pi->pubpi.radiorev <= 4)
26347 || (pi->pubpi.radiorev == 6)) {
26355 if ((pi->pubpi.radiorev == 4) ||
26356 (pi->pubpi.radiorev == 6)) {
26359 } else if ((pi->pubpi.radiorev == 3)
26360 || (pi->pubpi.radiorev == 7)
26361 || (pi->pubpi.radiorev == 8)) {
26369 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11),
26370 mixgain, (1 << core), 0,
26371 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26373 wlc_phy_rfctrl_override_1tomany_nphy(pi,
26374 NPHY_REV7_RfctrlOverride_cmd_tx_pu,
26375 1, (1 << core), 0);
26376 wlc_phy_rfctrl_override_1tomany_nphy(pi,
26377 NPHY_REV7_RfctrlOverride_cmd_tx_pu,
26378 0, (1 << off_core), 0);
26380 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26382 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26383 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), 1,
26385 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26386 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 0,
26388 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26389 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), 1,
26391 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26392 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 8), 0,
26394 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26395 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 9), 1,
26397 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26398 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 10), 0,
26400 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26401 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), 1,
26403 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26405 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5),
26407 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26408 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), 0,
26410 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26412 state->afectrl[core] = read_phy_reg(pi, (core == PHY_CORE_0) ?
26414 state->afeoverride[core] =
26415 read_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f : 0xa5);
26416 state->afectrl[off_core] =
26417 read_phy_reg(pi, (core == PHY_CORE_0) ? 0xa7 : 0xa6);
26418 state->afeoverride[off_core] =
26419 read_phy_reg(pi, (core == PHY_CORE_0) ? 0xa5 : 0x8f);
26421 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa6 : 0xa7),
26423 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
26424 0xa5), (0x1 << 2), (0x1 << 2));
26426 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa7 : 0xa6),
26427 (0x1 << 2), (0x1 << 2));
26428 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa5 :
26429 0x8f), (0x1 << 2), (0x1 << 2));
26431 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26432 state->pwrup[core] =
26433 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
26434 TXRXCOUPLE_2G_PWRUP);
26435 state->atten[core] =
26436 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
26437 TXRXCOUPLE_2G_ATTEN);
26438 state->pwrup[off_core] =
26439 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26440 TXRXCOUPLE_2G_PWRUP);
26441 state->atten[off_core] =
26442 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26443 TXRXCOUPLE_2G_ATTEN);
26445 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26446 TXRXCOUPLE_2G_PWRUP, 0xc);
26448 if ((pi->pubpi.radiorev == 3) ||
26449 (pi->pubpi.radiorev == 4) ||
26450 (pi->pubpi.radiorev == 6)) {
26452 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26453 TXRXCOUPLE_2G_ATTEN, 0xf0);
26455 } else if (pi->pubpi.radiorev == 5) {
26457 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26458 TXRXCOUPLE_2G_ATTEN,
26459 (core == 0) ? 0xf7 : 0xf2);
26461 } else if ((pi->pubpi.radiorev == 7)
26462 || (pi->pubpi.radiorev == 8)) {
26464 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26465 TXRXCOUPLE_2G_ATTEN, 0xf0);
26471 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26472 TXRXCOUPLE_2G_PWRUP, 0x0);
26473 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26474 TXRXCOUPLE_2G_ATTEN, 0xff);
26477 state->pwrup[core] =
26478 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
26479 TXRXCOUPLE_5G_PWRUP);
26480 state->atten[core] =
26481 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
26482 TXRXCOUPLE_5G_ATTEN);
26483 state->pwrup[off_core] =
26484 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26485 TXRXCOUPLE_5G_PWRUP);
26486 state->atten[off_core] =
26487 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26488 TXRXCOUPLE_5G_ATTEN);
26490 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26491 TXRXCOUPLE_5G_PWRUP, 0xc);
26493 if ((pi->pubpi.radiorev == 7)
26494 || (pi->pubpi.radiorev == 8)) {
26496 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26497 TXRXCOUPLE_5G_ATTEN, 0xf4);
26500 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26501 TXRXCOUPLE_5G_ATTEN, 0xf0);
26504 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26505 TXRXCOUPLE_5G_PWRUP, 0x0);
26506 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26507 TXRXCOUPLE_5G_ATTEN, 0xff);
26512 wlc_phy_tx_tone_nphy(pi, tone_freq, 181, 0, 0, false);
26514 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
26515 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON) << 0);
26517 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26518 0x2a4, (0x1 << 13), (1) << 13);
26520 mod_phy_reg(pi, (off_core == PHY_CORE_0) ? 0x297 :
26521 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_OFF) << 0);
26523 mod_phy_reg(pi, (off_core == PHY_CORE_0) ? 0x2a3 :
26524 0x2a4, (0x1 << 13), (0) << 13);
26528 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12), 0, 0x3, 0);
26530 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 1, 0, 0);
26532 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 0), 0, 0x3, 0);
26534 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 2), 1, 0x3, 0);
26535 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 1), 1, 0x3, 0);
26537 state->afectrl[core] = read_phy_reg(pi, (core == PHY_CORE_0) ?
26539 state->afeoverride[core] =
26540 read_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f : 0xa5);
26542 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa6 : 0xa7),
26543 (0x1 << 0) | (0x1 << 1) | (0x1 << 2), 0);
26544 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
26548 (0x1 << 2), (0x1 << 0) | (0x1 << 1) | (0x1 << 2));
26550 state->vga_master[core] =
26551 READ_RADIO_REG2(pi, RADIO_2056, RX, core, VGA_MASTER);
26552 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, VGA_MASTER, 0x2b);
26553 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26554 state->fbmix[core] =
26555 READ_RADIO_REG2(pi, RADIO_2056, RX, core,
26557 state->intpa_master[core] =
26558 READ_RADIO_REG2(pi, RADIO_2056, TX, core,
26561 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, TXFBMIX_G,
26563 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26564 INTPAG_MASTER, 0x04);
26566 state->fbmix[core] =
26567 READ_RADIO_REG2(pi, RADIO_2056, RX, core,
26569 state->intpa_master[core] =
26570 READ_RADIO_REG2(pi, RADIO_2056, TX, core,
26573 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, TXFBMIX_A,
26575 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26576 INTPAA_MASTER, 0x04);
26582 wlc_phy_tx_tone_nphy(pi, tone_freq, 181, 0, 0, false);
26584 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
26585 0x29b, (0x1 << 0), (1) << 0);
26587 mod_phy_reg(pi, (off_core == PHY_CORE_0) ? 0x297 :
26588 0x29b, (0x1 << 0), (0) << 0);
26590 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 0x3, 0);
26595 wlc_phy_papd_cal_cleanup_nphy(phy_info_t *pi, nphy_papd_restore_state *state)
26599 wlc_phy_stopplayback_nphy(pi);
26601 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26603 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
26605 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26606 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26607 TXRXCOUPLE_2G_PWRUP, 0);
26608 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26609 TXRXCOUPLE_2G_ATTEN,
26610 state->atten[core]);
26612 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26613 TXRXCOUPLE_5G_PWRUP, 0);
26614 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26615 TXRXCOUPLE_5G_ATTEN,
26616 state->atten[core]);
26620 if ((pi->pubpi.radiorev == 4) || (pi->pubpi.radiorev == 6)) {
26621 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
26623 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26625 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
26627 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26629 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1),
26631 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26632 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 0, 0x3, 1,
26633 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26634 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), 0, 0x3, 1,
26635 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26636 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 1, 0x3, 1,
26637 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26638 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), 0, 0x3, 1,
26639 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26640 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 0, 0x3, 1,
26641 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26642 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12), 0, 0x3, 1,
26643 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26644 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), 1, 0x3, 1,
26645 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26646 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 0, 0x3, 1,
26647 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26648 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), 1, 0x3, 1,
26649 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26650 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 8), 0, 0x3, 1,
26651 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26652 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 9), 1, 0x3, 1,
26653 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26654 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 10), 0, 0x3, 1,
26655 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26656 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), 1, 0x3, 1,
26657 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26658 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5), 0, 0x3, 1,
26659 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26660 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), 0, 0x3, 1,
26661 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26663 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
26665 write_phy_reg(pi, (core == PHY_CORE_0) ?
26666 0xa6 : 0xa7, state->afectrl[core]);
26667 write_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f :
26668 0xa5, state->afeoverride[core]);
26671 wlc_phy_ipa_set_bbmult_nphy(pi, (state->mm >> 8) & 0xff,
26672 (state->mm & 0xff));
26674 if (NREV_IS(pi->pubpi.phy_rev, 7)
26675 || NREV_GE(pi->pubpi.phy_rev, 8)) {
26676 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7), 0, 0,
26678 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26682 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12), 0, 0x3, 1);
26683 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 13), 0, 0x3, 1);
26684 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 0), 0, 0x3, 1);
26686 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 2), 0, 0x3, 1);
26687 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 1), 0, 0x3, 1);
26689 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
26691 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, VGA_MASTER,
26692 state->vga_master[core]);
26693 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26694 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core,
26695 TXFBMIX_G, state->fbmix[core]);
26696 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26698 state->intpa_master[core]);
26700 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core,
26701 TXFBMIX_A, state->fbmix[core]);
26702 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26704 state->intpa_master[core]);
26707 write_phy_reg(pi, (core == PHY_CORE_0) ?
26708 0xa6 : 0xa7, state->afectrl[core]);
26709 write_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f :
26710 0xa5, state->afeoverride[core]);
26713 wlc_phy_ipa_set_bbmult_nphy(pi, (state->mm >> 8) & 0xff,
26714 (state->mm & 0xff));
26716 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 0x3, 1);
26721 wlc_phy_a1_nphy(phy_info_t *pi, u8 core, u32 winsz, u32 start,
26724 u32 *buf, *src, *dst, sz;
26726 sz = end - start + 1;
26727 ASSERT(end > start);
26728 ASSERT(end < NPHY_PAPD_EPS_TBL_SIZE);
26730 buf = kmalloc(2 * sizeof(u32) * NPHY_PAPD_EPS_TBL_SIZE, GFP_ATOMIC);
26736 dst = buf + NPHY_PAPD_EPS_TBL_SIZE;
26738 wlc_phy_table_read_nphy(pi,
26740 PHY_CORE_0 ? NPHY_TBL_ID_EPSILONTBL0 :
26741 NPHY_TBL_ID_EPSILONTBL1),
26742 NPHY_PAPD_EPS_TBL_SIZE, 0, 32, src);
26745 u32 phy_a1, phy_a2;
26746 s32 phy_a3, phy_a4, phy_a5, phy_a6, phy_a7;
26748 phy_a1 = end - min(end, (winsz >> 1));
26749 phy_a2 = min_t(u32, NPHY_PAPD_EPS_TBL_SIZE - 1, end + (winsz >> 1));
26750 phy_a3 = phy_a2 - phy_a1 + 1;
26755 wlc_phy_papd_decode_epsilon(src[phy_a2], &phy_a4,
26759 } while (phy_a2-- != phy_a1);
26763 dst[end] = ((u32) phy_a7 << 13) | ((u32) phy_a6 & 0x1fff);
26764 } while (end-- != start);
26766 wlc_phy_table_write_nphy(pi,
26768 PHY_CORE_0) ? NPHY_TBL_ID_EPSILONTBL0 :
26769 NPHY_TBL_ID_EPSILONTBL1, sz, start, 32, dst);
26775 wlc_phy_a2_nphy(phy_info_t *pi, nphy_ipa_txcalgains_t *txgains,
26776 phy_cal_mode_t cal_mode, u8 core)
26778 u16 phy_a1, phy_a2, phy_a3;
26779 u16 phy_a4, phy_a5;
26783 nphy_txgains_t phy_a9;
26785 if (NREV_LT(pi->pubpi.phy_rev, 3))
26788 phy_a7 = (core == PHY_CORE_0) ? 1 : 0;
26790 ASSERT((cal_mode == CAL_FULL) || (cal_mode == CAL_GCTRL)
26791 || (cal_mode == CAL_SOFT));
26792 phy_a6 = ((cal_mode == CAL_GCTRL)
26793 || (cal_mode == CAL_SOFT)) ? true : false;
26795 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26797 phy_a9 = wlc_phy_get_tx_gain_nphy(pi);
26799 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26800 phy_a5 = ((phy_a9.txlpf[core] << 15) |
26801 (phy_a9.txgm[core] << 12) |
26802 (phy_a9.pga[core] << 8) |
26803 (txgains->gains.pad[core] << 3) |
26804 (phy_a9.ipa[core]));
26806 phy_a5 = ((phy_a9.txlpf[core] << 15) |
26807 (phy_a9.txgm[core] << 12) |
26808 (txgains->gains.pga[core] << 8) |
26809 (phy_a9.pad[core] << 3) | (phy_a9.ipa[core]));
26812 wlc_phy_rfctrl_override_1tomany_nphy(pi,
26813 NPHY_REV7_RfctrlOverride_cmd_txgain,
26814 phy_a5, (1 << core), 0);
26816 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26817 if ((pi->pubpi.radiorev <= 4)
26818 || (pi->pubpi.radiorev == 6)) {
26820 m[core] = IS40MHZ(pi) ? 60 : 79;
26823 m[core] = IS40MHZ(pi) ? 45 : 64;
26827 m[core] = IS40MHZ(pi) ? 75 : 107;
26831 wlc_phy_ipa_set_bbmult_nphy(pi, m[0], m[1]);
26835 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26836 if (CHIPID(pi->sh->chip) == BCM6362_CHIP_ID) {
26839 } else if ((pi->pubpi.radiorev == 4)
26840 || (pi->pubpi.radiorev == 6)) {
26848 if ((pi->pubpi.radiorev == 5)
26849 || (pi->pubpi.radiorev == 7)
26850 || (pi->pubpi.radiorev == 8)) {
26859 if (cal_mode == CAL_GCTRL) {
26860 if ((pi->pubpi.radiorev == 5)
26861 && (CHSPEC_IS2G(pi->radio_chanspec))) {
26863 } else if (((pi->pubpi.radiorev == 7) &&
26864 (CHSPEC_IS2G(pi->radio_chanspec))) ||
26865 ((pi->pubpi.radiorev == 8) &&
26866 (CHSPEC_IS2G(pi->radio_chanspec)))) {
26872 } else if ((cal_mode != CAL_FULL) && (cal_mode != CAL_SOFT)) {
26878 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
26879 0x29b, (0x1 << 0), (1) << 0);
26881 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x297 :
26882 0x29b, (0x1 << 0), (0) << 0);
26884 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26885 0x2a4, (0x1 << 13), (1) << 13);
26887 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x2a3 :
26888 0x2a4, (0x1 << 13), (0) << 13);
26890 write_phy_reg(pi, 0x2a1, 0x80);
26891 write_phy_reg(pi, 0x2a2, 0x100);
26893 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26894 0x2a4, (0x7 << 4), (11) << 4);
26896 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26897 0x2a4, (0x7 << 8), (11) << 8);
26899 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26900 0x2a4, (0x7 << 0), (0x3) << 0);
26902 write_phy_reg(pi, 0x2e5, 0x20);
26904 mod_phy_reg(pi, 0x2a0, (0x3f << 0), (phy_a3) << 0);
26906 mod_phy_reg(pi, 0x29f, (0x3f << 0), (phy_a1) << 0);
26908 mod_phy_reg(pi, 0x29f, (0x3f << 8), (phy_a2) << 8);
26910 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26911 1, ((core == 0) ? 1 : 2), 0,
26912 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26913 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26914 0, ((core == 0) ? 2 : 1), 0,
26915 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26917 write_phy_reg(pi, 0x2be, 1);
26918 SPINWAIT(read_phy_reg(pi, 0x2be), 10 * 1000 * 1000);
26920 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26922 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26924 wlc_phy_table_write_nphy(pi,
26926 PHY_CORE_0) ? NPHY_TBL_ID_EPSILONTBL0
26927 : NPHY_TBL_ID_EPSILONTBL1, 1, phy_a3,
26930 if (cal_mode != CAL_GCTRL) {
26931 if (CHSPEC_IS5G(pi->radio_chanspec)) {
26932 wlc_phy_a1_nphy(pi, core, 5, 0, 35);
26936 wlc_phy_rfctrl_override_1tomany_nphy(pi,
26937 NPHY_REV7_RfctrlOverride_cmd_txgain,
26938 phy_a5, (1 << core), 1);
26943 if (txgains->useindex) {
26944 phy_a4 = 15 - ((txgains->index) >> 3);
26945 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26946 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
26947 phy_a5 = 0x00f7 | (phy_a4 << 8);
26949 if (CHIPID(pi->sh->chip) ==
26950 BCM47162_CHIP_ID) {
26952 0x10f7 | (phy_a4 <<
26956 if (NREV_IS(pi->pubpi.phy_rev, 5))
26957 phy_a5 = 0x10f7 | (phy_a4 << 8);
26959 phy_a5 = 0x50f7 | (phy_a4 << 8);
26961 phy_a5 = 0x70f7 | (phy_a4 << 8);
26963 wlc_phy_rfctrl_override_nphy(pi,
26968 wlc_phy_rfctrl_override_nphy(pi,
26975 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26976 m[core] = IS40MHZ(pi) ? 45 : 64;
26978 m[core] = IS40MHZ(pi) ? 75 : 107;
26982 wlc_phy_ipa_set_bbmult_nphy(pi, m[0], m[1]);
26986 if (cal_mode == CAL_FULL) {
26989 } else if (cal_mode == CAL_SOFT) {
26992 } else if (cal_mode == CAL_GCTRL) {
27001 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
27002 0x29b, (0x1 << 0), (1) << 0);
27004 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x297 :
27005 0x29b, (0x1 << 0), (0) << 0);
27007 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
27008 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27009 0x2a4, (0x1 << 13), (1) << 13);
27011 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x2a3 :
27012 0x2a4, (0x1 << 13), (0) << 13);
27014 write_phy_reg(pi, 0x2a1, 0x20);
27015 write_phy_reg(pi, 0x2a2, 0x60);
27017 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27018 0x2a4, (0xf << 4), (9) << 4);
27020 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27021 0x2a4, (0xf << 8), (9) << 8);
27023 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27024 0x2a4, (0xf << 0), (0x2) << 0);
27026 write_phy_reg(pi, 0x2e5, 0x20);
27028 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27029 0x2a4, (0x1 << 11), (1) << 11);
27031 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x2a3 :
27032 0x2a4, (0x1 << 11), (0) << 11);
27034 write_phy_reg(pi, 0x2a1, 0x80);
27035 write_phy_reg(pi, 0x2a2, 0x600);
27037 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27038 0x2a4, (0x7 << 4), (0) << 4);
27040 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27041 0x2a4, (0x7 << 8), (0) << 8);
27043 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27044 0x2a4, (0x7 << 0), (0x3) << 0);
27046 mod_phy_reg(pi, 0x2a0, (0x3f << 8), (0x20) << 8);
27050 mod_phy_reg(pi, 0x2a0, (0x3f << 0), (phy_a3) << 0);
27052 mod_phy_reg(pi, 0x29f, (0x3f << 0), (phy_a1) << 0);
27054 mod_phy_reg(pi, 0x29f, (0x3f << 8), (phy_a2) << 8);
27056 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 1, 0x3, 0);
27058 write_phy_reg(pi, 0x2be, 1);
27059 SPINWAIT(read_phy_reg(pi, 0x2be), 10 * 1000 * 1000);
27061 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 0x3, 0);
27063 wlc_phy_table_write_nphy(pi,
27065 PHY_CORE_0) ? NPHY_TBL_ID_EPSILONTBL0
27066 : NPHY_TBL_ID_EPSILONTBL1, 1, phy_a3,
27069 if (cal_mode != CAL_GCTRL) {
27070 wlc_phy_a1_nphy(pi, core, 5, 0, 40);
27075 static u8 wlc_phy_a3_nphy(phy_info_t *pi, u8 start_gain, u8 core)
27080 nphy_ipa_txcalgains_t phy_a4;
27081 bool phy_a5 = false;
27082 bool phy_a6 = true;
27083 s32 phy_a7, phy_a8;
27086 bool phy_a11 = false;
27090 u8 *phy_a15 = NULL;
27092 phy_a4.useindex = true;
27093 phy_a12 = start_gain;
27095 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27100 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27101 if (pi->pubpi.radiorev == 5) {
27103 phy_a15 = pad_gain_codes_used_2057rev5;
27104 phy_a13 = sizeof(pad_gain_codes_used_2057rev5) /
27105 sizeof(pad_gain_codes_used_2057rev5[0]) - 1;
27107 } else if ((pi->pubpi.radiorev == 7)
27108 || (pi->pubpi.radiorev == 8)) {
27110 phy_a15 = pad_gain_codes_used_2057rev7;
27111 phy_a13 = sizeof(pad_gain_codes_used_2057rev7) /
27112 sizeof(pad_gain_codes_used_2057rev7[0]) - 1;
27116 phy_a15 = pad_all_gain_codes_2057;
27117 phy_a13 = sizeof(pad_all_gain_codes_2057) /
27118 sizeof(pad_all_gain_codes_2057[0]) - 1;
27123 phy_a15 = pga_all_gain_codes_2057;
27124 phy_a13 = sizeof(pga_all_gain_codes_2057) /
27125 sizeof(pga_all_gain_codes_2057[0]) - 1;
27130 for (phy_a10 = 0; phy_a10 < phy_a2; phy_a10++) {
27131 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27132 phy_a4.gains.pad[core] =
27133 (u16) phy_a15[phy_a12];
27135 phy_a4.gains.pga[core] =
27136 (u16) phy_a15[phy_a12];
27139 wlc_phy_a2_nphy(pi, &phy_a4, CAL_GCTRL, core);
27141 wlc_phy_table_read_nphy(pi,
27144 NPHY_TBL_ID_EPSILONTBL0 :
27145 NPHY_TBL_ID_EPSILONTBL1), 1,
27148 wlc_phy_papd_decode_epsilon(phy_a9, &phy_a7, &phy_a8);
27150 phy_a3 = ((phy_a7 == 4095) || (phy_a7 == -4096) ||
27151 (phy_a8 == 4095) || (phy_a8 == -4096));
27153 if (!phy_a6 && (phy_a3 != phy_a5)) {
27155 phy_a12 -= (u8) phy_a1;
27162 phy_a12 += (u8) phy_a1;
27164 phy_a12 -= (u8) phy_a1;
27166 if ((phy_a12 < phy_a14) || (phy_a12 > phy_a13)) {
27167 if (phy_a12 < phy_a14) {
27183 for (phy_a10 = 0; phy_a10 < phy_a2; phy_a10++) {
27184 phy_a4.index = (u8) phy_a12;
27185 wlc_phy_a2_nphy(pi, &phy_a4, CAL_GCTRL, core);
27187 wlc_phy_table_read_nphy(pi,
27190 NPHY_TBL_ID_EPSILONTBL0 :
27191 NPHY_TBL_ID_EPSILONTBL1), 1,
27194 wlc_phy_papd_decode_epsilon(phy_a9, &phy_a7, &phy_a8);
27196 phy_a3 = ((phy_a7 == 4095) || (phy_a7 == -4096) ||
27197 (phy_a8 == 4095) || (phy_a8 == -4096));
27199 if (!phy_a6 && (phy_a3 != phy_a5)) {
27201 phy_a12 -= (u8) phy_a1;
27208 phy_a12 += (u8) phy_a1;
27210 phy_a12 -= (u8) phy_a1;
27212 if ((phy_a12 < 0) || (phy_a12 > 127)) {
27228 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27229 return (u8) phy_a15[phy_a12];
27231 return (u8) phy_a12;
27236 static void wlc_phy_a4(phy_info_t *pi, bool full_cal)
27238 nphy_ipa_txcalgains_t phy_b1[2];
27239 nphy_papd_restore_state phy_b2;
27243 s16 phy_b6, phy_b7, phy_b8;
27245 s16 phy_b10, phy_b11, phy_b12;
27253 if (pi->nphy_papd_skip == 1)
27257 (0 == (R_REG(pi->sh->osh, &pi->regs->maccontrol) & MCTL_EN_MAC));
27259 wlapi_suspend_mac_and_wait(pi->sh->physhim);
27262 wlc_phy_stay_in_carriersearch_nphy(pi, true);
27264 pi->nphy_force_papd_cal = false;
27266 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++)
27267 pi->nphy_papd_tx_gain_at_last_cal[phy_b5] =
27268 wlc_phy_txpwr_idx_cur_get_nphy(pi, phy_b5);
27270 pi->nphy_papd_last_cal = pi->sh->now;
27271 pi->nphy_papd_recal_counter++;
27273 if (NORADIO_ENAB(pi->pubpi))
27276 phy_b4 = pi->nphy_txpwrctrl;
27277 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
27279 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_SCALARTBL0, 64, 0, 32,
27280 nphy_papd_scaltbl);
27281 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_SCALARTBL1, 64, 0, 32,
27282 nphy_papd_scaltbl);
27284 phy_b9 = read_phy_reg(pi, 0x01);
27285 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
27287 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++) {
27289 for (i = 0; i < 64; i++) {
27290 wlc_phy_table_write_nphy(pi,
27293 NPHY_TBL_ID_EPSILONTBL0 :
27294 NPHY_TBL_ID_EPSILONTBL1), 1,
27299 wlc_phy_ipa_restore_tx_digi_filts_nphy(pi);
27301 phy_b2.mm = wlc_phy_ipa_get_bbmult_nphy(pi);
27302 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++) {
27303 wlc_phy_papd_cal_setup_nphy(pi, &phy_b2, phy_b5);
27305 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27306 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27308 if ((pi->pubpi.radiorev == 3)
27309 || (pi->pubpi.radiorev == 4)
27310 || (pi->pubpi.radiorev == 6)) {
27312 pi->nphy_papd_cal_gain_index[phy_b5] =
27315 } else if (pi->pubpi.radiorev == 5) {
27317 pi->nphy_papd_cal_gain_index[phy_b5] =
27319 pi->nphy_papd_cal_gain_index[phy_b5] =
27320 wlc_phy_a3_nphy(pi,
27322 nphy_papd_cal_gain_index
27325 } else if ((pi->pubpi.radiorev == 7)
27326 || (pi->pubpi.radiorev == 8)) {
27328 pi->nphy_papd_cal_gain_index[phy_b5] =
27330 pi->nphy_papd_cal_gain_index[phy_b5] =
27331 wlc_phy_a3_nphy(pi,
27333 nphy_papd_cal_gain_index
27340 phy_b1[phy_b5].gains.pad[phy_b5] =
27341 pi->nphy_papd_cal_gain_index[phy_b5];
27344 pi->nphy_papd_cal_gain_index[phy_b5] = 0;
27345 pi->nphy_papd_cal_gain_index[phy_b5] =
27346 wlc_phy_a3_nphy(pi,
27348 nphy_papd_cal_gain_index
27350 phy_b1[phy_b5].gains.pga[phy_b5] =
27351 pi->nphy_papd_cal_gain_index[phy_b5];
27354 phy_b1[phy_b5].useindex = true;
27355 phy_b1[phy_b5].index = 16;
27356 phy_b1[phy_b5].index =
27357 wlc_phy_a3_nphy(pi, phy_b1[phy_b5].index, phy_b5);
27359 pi->nphy_papd_cal_gain_index[phy_b5] =
27360 15 - ((phy_b1[phy_b5].index) >> 3);
27363 switch (pi->nphy_papd_cal_type) {
27365 wlc_phy_a2_nphy(pi, &phy_b1[phy_b5], CAL_FULL, phy_b5);
27368 wlc_phy_a2_nphy(pi, &phy_b1[phy_b5], CAL_SOFT, phy_b5);
27372 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27373 wlc_phy_papd_cal_cleanup_nphy(pi, &phy_b2);
27377 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
27378 wlc_phy_papd_cal_cleanup_nphy(pi, &phy_b2);
27381 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++) {
27382 int eps_offset = 0;
27384 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27385 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27386 if (pi->pubpi.radiorev == 3) {
27388 } else if (pi->pubpi.radiorev == 5) {
27397 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27398 phy_b8 = phy_b1[phy_b5].gains.pad[phy_b5];
27400 if ((pi->pubpi.radiorev == 3) ||
27401 (pi->pubpi.radiorev == 4) ||
27402 (pi->pubpi.radiorev == 6)) {
27405 (nphy_papd_padgain_dlt_2g_2057rev3n4
27409 } else if (pi->pubpi.radiorev == 5) {
27411 -(nphy_papd_padgain_dlt_2g_2057rev5
27414 } else if ((pi->pubpi.radiorev == 7) ||
27415 (pi->pubpi.radiorev == 8)) {
27417 -(nphy_papd_padgain_dlt_2g_2057rev7
27424 phy_b7 = phy_b1[phy_b5].gains.pga[phy_b5];
27425 if ((pi->pubpi.radiorev == 3) ||
27426 (pi->pubpi.radiorev == 4) ||
27427 (pi->pubpi.radiorev == 6)) {
27429 -(nphy_papd_pgagain_dlt_5g_2057
27432 } else if ((pi->pubpi.radiorev == 7)
27433 || (pi->pubpi.radiorev == 8)) {
27435 -(nphy_papd_pgagain_dlt_5g_2057rev7
27445 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27447 -60 + 27 + eps_offset + phy_b12 + phy_b10;
27450 -60 + 27 + eps_offset + phy_b11 + phy_b10;
27453 mod_phy_reg(pi, (phy_b5 == PHY_CORE_0) ? 0x298 :
27454 0x29c, (0x1ff << 7), (phy_b6) << 7);
27456 pi->nphy_papd_epsilon_offset[phy_b5] = phy_b6;
27458 if (NREV_LT(pi->pubpi.phy_rev, 5)) {
27464 phy_b7 = 15 - ((phy_b1[phy_b5].index) >> 3);
27466 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27468 -(nphy_papd_pga_gain_delta_ipa_2g[phy_b7] +
27473 -(nphy_papd_pga_gain_delta_ipa_5g[phy_b7] +
27478 phy_b6 = -60 + 27 + eps_offset + phy_b11 + phy_b10;
27480 mod_phy_reg(pi, (phy_b5 == PHY_CORE_0) ? 0x298 :
27481 0x29c, (0x1ff << 7), (phy_b6) << 7);
27483 pi->nphy_papd_epsilon_offset[phy_b5] = phy_b6;
27487 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
27488 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON) << 0);
27490 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
27491 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON) << 0);
27493 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
27494 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x2a3 :
27495 0x2a4, (0x1 << 13), (0) << 13);
27497 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x2a3 :
27498 0x2a4, (0x1 << 13), (0) << 13);
27501 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x2a3 :
27502 0x2a4, (0x1 << 11), (0) << 11);
27504 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x2a3 :
27505 0x2a4, (0x1 << 11), (0) << 11);
27508 pi->nphy_papdcomp = NPHY_PAPD_COMP_ON;
27510 write_phy_reg(pi, 0x01, phy_b9);
27512 wlc_phy_ipa_set_tx_digi_filts_nphy(pi);
27514 wlc_phy_txpwrctrl_enable_nphy(pi, phy_b4);
27515 if (phy_b4 == PHY_TPC_HW_OFF) {
27516 wlc_phy_txpwr_index_nphy(pi, (1 << 0),
27517 (s8) (pi->nphy_txpwrindex[0].
27518 index_internal), false);
27519 wlc_phy_txpwr_index_nphy(pi, (1 << 1),
27520 (s8) (pi->nphy_txpwrindex[1].
27521 index_internal), false);
27524 wlc_phy_stay_in_carriersearch_nphy(pi, false);
27527 wlapi_enable_mac(pi->sh->physhim);
27531 void wlc_phy_txpwr_fixpower_nphy(phy_info_t *pi)
27535 u16 rad_gain, dac_gain, bbmult, m1m2;
27536 u8 txpi[2], chan_freq_range;
27539 ASSERT(pi->nphy_txpwrctrl == PHY_TPC_HW_OFF);
27541 if (pi->phyhang_avoid)
27542 wlc_phy_stay_in_carriersearch_nphy(pi, true);
27544 if (pi->sh->sromrev < 4) {
27545 txpi[0] = txpi[1] = 72;
27548 chan_freq_range = wlc_phy_get_chan_freq_range_nphy(pi, 0);
27549 switch (chan_freq_range) {
27550 case WL_CHAN_FREQ_RANGE_2G:
27551 txpi[0] = pi->nphy_txpid2g[0];
27552 txpi[1] = pi->nphy_txpid2g[1];
27554 case WL_CHAN_FREQ_RANGE_5GL:
27555 txpi[0] = pi->nphy_txpid5gl[0];
27556 txpi[1] = pi->nphy_txpid5gl[1];
27558 case WL_CHAN_FREQ_RANGE_5GM:
27559 txpi[0] = pi->nphy_txpid5g[0];
27560 txpi[1] = pi->nphy_txpid5g[1];
27562 case WL_CHAN_FREQ_RANGE_5GH:
27563 txpi[0] = pi->nphy_txpid5gh[0];
27564 txpi[1] = pi->nphy_txpid5gh[1];
27567 txpi[0] = txpi[1] = 91;
27572 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27573 txpi[0] = txpi[1] = 30;
27574 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27575 txpi[0] = txpi[1] = 40;
27578 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
27580 if ((txpi[0] < 40) || (txpi[0] > 100) ||
27581 (txpi[1] < 40) || (txpi[1] > 100))
27582 txpi[0] = txpi[1] = 91;
27585 pi->nphy_txpwrindex[PHY_CORE_0].index_internal = txpi[0];
27586 pi->nphy_txpwrindex[PHY_CORE_1].index_internal = txpi[1];
27587 pi->nphy_txpwrindex[PHY_CORE_0].index_internal_save = txpi[0];
27588 pi->nphy_txpwrindex[PHY_CORE_1].index_internal_save = txpi[1];
27590 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
27591 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27594 wlc_phy_get_ipa_gaintbl_nphy(pi);
27595 txgain = tx_gaintbl[txpi[core]];
27597 if (CHSPEC_IS5G(pi->radio_chanspec)) {
27599 (pi->pubpi.phy_rev, 3) {
27601 nphy_tpc_5GHz_txgain_rev3
27604 (pi->pubpi.phy_rev, 4) {
27606 (pi->srom_fem5g.extpagain ==
27608 nphy_tpc_5GHz_txgain_HiPwrEPA
27610 nphy_tpc_5GHz_txgain_rev4
27614 nphy_tpc_5GHz_txgain_rev5
27618 if (NREV_GE(pi->pubpi.phy_rev, 5) &&
27619 (pi->srom_fem2g.extpagain == 3)) {
27621 nphy_tpc_txgain_HiPwrEPA
27625 nphy_tpc_txgain_rev3[txpi
27631 txgain = nphy_tpc_txgain[txpi[core]];
27634 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27635 rad_gain = (txgain >> 16) & ((1 << (32 - 16 + 1)) - 1);
27637 rad_gain = (txgain >> 16) & ((1 << (28 - 16 + 1)) - 1);
27640 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27641 dac_gain = (txgain >> 8) & ((1 << (10 - 8 + 1)) - 1);
27643 dac_gain = (txgain >> 8) & ((1 << (13 - 8 + 1)) - 1);
27645 bbmult = (txgain >> 0) & ((1 << (7 - 0 + 1)) - 1);
27647 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27648 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
27649 0xa5), (0x1 << 8), (0x1 << 8));
27651 mod_phy_reg(pi, 0xa5, (0x1 << 14), (0x1 << 14));
27653 write_phy_reg(pi, (core == PHY_CORE_0) ? 0xaa : 0xab, dac_gain);
27655 wlc_phy_table_write_nphy(pi, 7, 1, (0x110 + core), 16,
27658 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m1m2);
27659 m1m2 &= ((core == PHY_CORE_0) ? 0x00ff : 0xff00);
27660 m1m2 |= ((core == PHY_CORE_0) ? (bbmult << 8) : (bbmult << 0));
27661 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m1m2);
27664 wlc_phy_table_read_nphy(pi,
27667 NPHY_TBL_ID_CORE1TXPWRCTL :
27668 NPHY_TBL_ID_CORE2TXPWRCTL), 1,
27669 576 + txpi[core], 32,
27672 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
27673 0x29b, (0x1ff << 4),
27674 ((s16) rfpwr_offset) << 4);
27676 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
27677 0x29b, (0x1 << 2), (1) << 2);
27682 and_phy_reg(pi, 0xbf, (u16) (~(0x1f << 0)));
27684 if (pi->phyhang_avoid)
27685 wlc_phy_stay_in_carriersearch_nphy(pi, false);
27689 wlc_phy_txpwr_nphy_srom_convert(u8 *srom_max, u16 *pwr_offset,
27690 u8 tmp_max_pwr, u8 rate_start,
27694 u8 word_num, nibble_num;
27697 for (rate = rate_start; rate <= rate_end; rate++) {
27698 word_num = (rate - rate_start) >> 2;
27699 nibble_num = (rate - rate_start) & 0x3;
27700 tmp_nibble = (pwr_offset[word_num] >> 4 * nibble_num) & 0xf;
27702 srom_max[rate] = tmp_max_pwr - 2 * tmp_nibble;
27707 wlc_phy_txpwr_nphy_po_apply(u8 *srom_max, u8 pwr_offset,
27708 u8 rate_start, u8 rate_end)
27712 for (rate = rate_start; rate <= rate_end; rate++) {
27713 srom_max[rate] -= 2 * pwr_offset;
27718 wlc_phy_ofdm_to_mcs_powers_nphy(u8 *power, u8 rate_mcs_start,
27719 u8 rate_mcs_end, u8 rate_ofdm_start)
27723 rate2 = rate_ofdm_start;
27724 for (rate1 = rate_mcs_start; rate1 <= rate_mcs_end - 1; rate1++) {
27725 power[rate1] = power[rate2];
27726 rate2 += (rate1 == rate_mcs_start) ? 2 : 1;
27728 power[rate_mcs_end] = power[rate_mcs_end - 1];
27732 wlc_phy_mcs_to_ofdm_powers_nphy(u8 *power, u8 rate_ofdm_start,
27733 u8 rate_ofdm_end, u8 rate_mcs_start)
27737 for (rate1 = rate_ofdm_start, rate2 = rate_mcs_start;
27738 rate1 <= rate_ofdm_end; rate1++, rate2++) {
27739 power[rate1] = power[rate2];
27740 if (rate1 == rate_ofdm_start)
27741 power[++rate1] = power[rate2];
27745 void wlc_phy_txpwr_apply_nphy(phy_info_t *pi)
27747 uint rate1, rate2, band_num;
27748 u8 tmp_bw40po = 0, tmp_cddpo = 0, tmp_stbcpo = 0;
27749 u8 tmp_max_pwr = 0;
27750 u16 pwr_offsets1[2], *pwr_offsets2 = NULL;
27751 u8 *tx_srom_max_rate = NULL;
27753 for (band_num = 0; band_num < (CH_2G_GROUP + CH_5G_GROUP); band_num++) {
27754 switch (band_num) {
27757 tmp_max_pwr = min(pi->nphy_pwrctrl_info[0].max_pwr_2g,
27758 pi->nphy_pwrctrl_info[1].max_pwr_2g);
27760 pwr_offsets1[0] = pi->cck2gpo;
27761 wlc_phy_txpwr_nphy_srom_convert(pi->tx_srom_max_rate_2g,
27767 pwr_offsets1[0] = (u16) (pi->ofdm2gpo & 0xffff);
27769 (u16) (pi->ofdm2gpo >> 16) & 0xffff;
27771 pwr_offsets2 = pi->mcs2gpo;
27773 tmp_cddpo = pi->cdd2gpo;
27774 tmp_stbcpo = pi->stbc2gpo;
27775 tmp_bw40po = pi->bw402gpo;
27777 tx_srom_max_rate = pi->tx_srom_max_rate_2g;
27781 tmp_max_pwr = min(pi->nphy_pwrctrl_info[0].max_pwr_5gm,
27782 pi->nphy_pwrctrl_info[1].max_pwr_5gm);
27784 pwr_offsets1[0] = (u16) (pi->ofdm5gpo & 0xffff);
27786 (u16) (pi->ofdm5gpo >> 16) & 0xffff;
27788 pwr_offsets2 = pi->mcs5gpo;
27790 tmp_cddpo = pi->cdd5gpo;
27791 tmp_stbcpo = pi->stbc5gpo;
27792 tmp_bw40po = pi->bw405gpo;
27794 tx_srom_max_rate = pi->tx_srom_max_rate_5g_mid;
27798 tmp_max_pwr = min(pi->nphy_pwrctrl_info[0].max_pwr_5gl,
27799 pi->nphy_pwrctrl_info[1].max_pwr_5gl);
27801 pwr_offsets1[0] = (u16) (pi->ofdm5glpo & 0xffff);
27803 (u16) (pi->ofdm5glpo >> 16) & 0xffff;
27805 pwr_offsets2 = pi->mcs5glpo;
27807 tmp_cddpo = pi->cdd5glpo;
27808 tmp_stbcpo = pi->stbc5glpo;
27809 tmp_bw40po = pi->bw405glpo;
27811 tx_srom_max_rate = pi->tx_srom_max_rate_5g_low;
27815 tmp_max_pwr = min(pi->nphy_pwrctrl_info[0].max_pwr_5gh,
27816 pi->nphy_pwrctrl_info[1].max_pwr_5gh);
27818 pwr_offsets1[0] = (u16) (pi->ofdm5ghpo & 0xffff);
27820 (u16) (pi->ofdm5ghpo >> 16) & 0xffff;
27822 pwr_offsets2 = pi->mcs5ghpo;
27824 tmp_cddpo = pi->cdd5ghpo;
27825 tmp_stbcpo = pi->stbc5ghpo;
27826 tmp_bw40po = pi->bw405ghpo;
27828 tx_srom_max_rate = pi->tx_srom_max_rate_5g_hi;
27832 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate, pwr_offsets1,
27833 tmp_max_pwr, TXP_FIRST_OFDM,
27836 wlc_phy_ofdm_to_mcs_powers_nphy(tx_srom_max_rate,
27837 TXP_FIRST_MCS_20_SISO,
27838 TXP_LAST_MCS_20_SISO,
27841 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate, pwr_offsets2,
27843 TXP_FIRST_MCS_20_CDD,
27844 TXP_LAST_MCS_20_CDD);
27846 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27848 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate, tmp_cddpo,
27849 TXP_FIRST_MCS_20_CDD,
27850 TXP_LAST_MCS_20_CDD);
27853 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate,
27854 TXP_FIRST_OFDM_20_CDD,
27855 TXP_LAST_OFDM_20_CDD,
27856 TXP_FIRST_MCS_20_CDD);
27858 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate, pwr_offsets2,
27860 TXP_FIRST_MCS_20_STBC,
27861 TXP_LAST_MCS_20_STBC);
27863 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27865 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate,
27867 TXP_FIRST_MCS_20_STBC,
27868 TXP_LAST_MCS_20_STBC);
27871 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27872 &pwr_offsets2[2], tmp_max_pwr,
27873 TXP_FIRST_MCS_20_SDM,
27874 TXP_LAST_MCS_20_SDM);
27876 if (NPHY_IS_SROM_REINTERPRET) {
27878 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27881 TXP_FIRST_MCS_40_SISO,
27882 TXP_LAST_MCS_40_SISO);
27884 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate,
27885 TXP_FIRST_OFDM_40_SISO,
27886 TXP_LAST_OFDM_40_SISO,
27887 TXP_FIRST_MCS_40_SISO);
27889 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27892 TXP_FIRST_MCS_40_CDD,
27893 TXP_LAST_MCS_40_CDD);
27895 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate, tmp_cddpo,
27896 TXP_FIRST_MCS_40_CDD,
27897 TXP_LAST_MCS_40_CDD);
27899 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate,
27900 TXP_FIRST_OFDM_40_CDD,
27901 TXP_LAST_OFDM_40_CDD,
27902 TXP_FIRST_MCS_40_CDD);
27904 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27907 TXP_FIRST_MCS_40_STBC,
27908 TXP_LAST_MCS_40_STBC);
27910 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate,
27912 TXP_FIRST_MCS_40_STBC,
27913 TXP_LAST_MCS_40_STBC);
27915 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27918 TXP_FIRST_MCS_40_SDM,
27919 TXP_LAST_MCS_40_SDM);
27922 for (rate1 = TXP_FIRST_OFDM_40_SISO, rate2 =
27923 TXP_FIRST_OFDM; rate1 <= TXP_LAST_MCS_40_SDM;
27925 tx_srom_max_rate[rate1] =
27926 tx_srom_max_rate[rate2];
27929 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27930 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate,
27932 TXP_FIRST_OFDM_40_SISO,
27933 TXP_LAST_MCS_40_SDM);
27936 tx_srom_max_rate[TXP_MCS_32] =
27937 tx_srom_max_rate[TXP_FIRST_MCS_40_CDD];
27943 static void wlc_phy_txpwr_srom_read_ppr_nphy(phy_info_t *pi)
27945 u16 bw40po, cddpo, stbcpo, bwduppo;
27948 if (pi->sh->sromrev >= 9) {
27953 bw40po = (u16) PHY_GETINTVAR(pi, "bw40po");
27954 pi->bw402gpo = bw40po & 0xf;
27955 pi->bw405gpo = (bw40po & 0xf0) >> 4;
27956 pi->bw405glpo = (bw40po & 0xf00) >> 8;
27957 pi->bw405ghpo = (bw40po & 0xf000) >> 12;
27959 cddpo = (u16) PHY_GETINTVAR(pi, "cddpo");
27960 pi->cdd2gpo = cddpo & 0xf;
27961 pi->cdd5gpo = (cddpo & 0xf0) >> 4;
27962 pi->cdd5glpo = (cddpo & 0xf00) >> 8;
27963 pi->cdd5ghpo = (cddpo & 0xf000) >> 12;
27965 stbcpo = (u16) PHY_GETINTVAR(pi, "stbcpo");
27966 pi->stbc2gpo = stbcpo & 0xf;
27967 pi->stbc5gpo = (stbcpo & 0xf0) >> 4;
27968 pi->stbc5glpo = (stbcpo & 0xf00) >> 8;
27969 pi->stbc5ghpo = (stbcpo & 0xf000) >> 12;
27971 bwduppo = (u16) PHY_GETINTVAR(pi, "bwduppo");
27972 pi->bwdup2gpo = bwduppo & 0xf;
27973 pi->bwdup5gpo = (bwduppo & 0xf0) >> 4;
27974 pi->bwdup5glpo = (bwduppo & 0xf00) >> 8;
27975 pi->bwdup5ghpo = (bwduppo & 0xf000) >> 12;
27977 for (band_num = 0; band_num < (CH_2G_GROUP + CH_5G_GROUP); band_num++) {
27978 switch (band_num) {
27981 pi->nphy_txpid2g[PHY_CORE_0] =
27982 (u8) PHY_GETINTVAR(pi, "txpid2ga0");
27983 pi->nphy_txpid2g[PHY_CORE_1] =
27984 (u8) PHY_GETINTVAR(pi, "txpid2ga1");
27985 pi->nphy_pwrctrl_info[PHY_CORE_0].max_pwr_2g =
27986 (s8) PHY_GETINTVAR(pi, "maxp2ga0");
27987 pi->nphy_pwrctrl_info[PHY_CORE_1].max_pwr_2g =
27988 (s8) PHY_GETINTVAR(pi, "maxp2ga1");
27989 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_2g_a1 =
27990 (s16) PHY_GETINTVAR(pi, "pa2gw0a0");
27991 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_2g_a1 =
27992 (s16) PHY_GETINTVAR(pi, "pa2gw0a1");
27993 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_2g_b0 =
27994 (s16) PHY_GETINTVAR(pi, "pa2gw1a0");
27995 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_2g_b0 =
27996 (s16) PHY_GETINTVAR(pi, "pa2gw1a1");
27997 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_2g_b1 =
27998 (s16) PHY_GETINTVAR(pi, "pa2gw2a0");
27999 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_2g_b1 =
28000 (s16) PHY_GETINTVAR(pi, "pa2gw2a1");
28001 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_targ_2g =
28002 (s8) PHY_GETINTVAR(pi, "itt2ga0");
28003 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_targ_2g =
28004 (s8) PHY_GETINTVAR(pi, "itt2ga1");
28006 pi->cck2gpo = (u16) PHY_GETINTVAR(pi, "cck2gpo");
28008 pi->ofdm2gpo = (u32) PHY_GETINTVAR(pi, "ofdm2gpo");
28010 pi->mcs2gpo[0] = (u16) PHY_GETINTVAR(pi, "mcs2gpo0");
28011 pi->mcs2gpo[1] = (u16) PHY_GETINTVAR(pi, "mcs2gpo1");
28012 pi->mcs2gpo[2] = (u16) PHY_GETINTVAR(pi, "mcs2gpo2");
28013 pi->mcs2gpo[3] = (u16) PHY_GETINTVAR(pi, "mcs2gpo3");
28014 pi->mcs2gpo[4] = (u16) PHY_GETINTVAR(pi, "mcs2gpo4");
28015 pi->mcs2gpo[5] = (u16) PHY_GETINTVAR(pi, "mcs2gpo5");
28016 pi->mcs2gpo[6] = (u16) PHY_GETINTVAR(pi, "mcs2gpo6");
28017 pi->mcs2gpo[7] = (u16) PHY_GETINTVAR(pi, "mcs2gpo7");
28021 pi->nphy_txpid5g[PHY_CORE_0] =
28022 (u8) PHY_GETINTVAR(pi, "txpid5ga0");
28023 pi->nphy_txpid5g[PHY_CORE_1] =
28024 (u8) PHY_GETINTVAR(pi, "txpid5ga1");
28025 pi->nphy_pwrctrl_info[PHY_CORE_0].max_pwr_5gm =
28026 (s8) PHY_GETINTVAR(pi, "maxp5ga0");
28027 pi->nphy_pwrctrl_info[PHY_CORE_1].max_pwr_5gm =
28028 (s8) PHY_GETINTVAR(pi, "maxp5ga1");
28029 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_5gm_a1 =
28030 (s16) PHY_GETINTVAR(pi, "pa5gw0a0");
28031 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_5gm_a1 =
28032 (s16) PHY_GETINTVAR(pi, "pa5gw0a1");
28033 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_5gm_b0 =
28034 (s16) PHY_GETINTVAR(pi, "pa5gw1a0");
28035 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_5gm_b0 =
28036 (s16) PHY_GETINTVAR(pi, "pa5gw1a1");
28037 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_5gm_b1 =
28038 (s16) PHY_GETINTVAR(pi, "pa5gw2a0");
28039 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_5gm_b1 =
28040 (s16) PHY_GETINTVAR(pi, "pa5gw2a1");
28041 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_targ_5gm =
28042 (s8) PHY_GETINTVAR(pi, "itt5ga0");
28043 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_targ_5gm =
28044 (s8) PHY_GETINTVAR(pi, "itt5ga1");
28046 pi->ofdm5gpo = (u32) PHY_GETINTVAR(pi, "ofdm5gpo");
28048 pi->mcs5gpo[0] = (u16) PHY_GETINTVAR(pi, "mcs5gpo0");
28049 pi->mcs5gpo[1] = (u16) PHY_GETINTVAR(pi, "mcs5gpo1");
28050 pi->mcs5gpo[2] = (u16) PHY_GETINTVAR(pi, "mcs5gpo2");
28051 pi->mcs5gpo[3] = (u16) PHY_GETINTVAR(pi, "mcs5gpo3");
28052 pi->mcs5gpo[4] = (u16) PHY_GETINTVAR(pi, "mcs5gpo4");
28053 pi->mcs5gpo[5] = (u16) PHY_GETINTVAR(pi, "mcs5gpo5");
28054 pi->mcs5gpo[6] = (u16) PHY_GETINTVAR(pi, "mcs5gpo6");
28055 pi->mcs5gpo[7] = (u16) PHY_GETINTVAR(pi, "mcs5gpo7");
28059 pi->nphy_txpid5gl[0] =
28060 (u8) PHY_GETINTVAR(pi, "txpid5gla0");
28061 pi->nphy_txpid5gl[1] =
28062 (u8) PHY_GETINTVAR(pi, "txpid5gla1");
28063 pi->nphy_pwrctrl_info[0].max_pwr_5gl =
28064 (s8) PHY_GETINTVAR(pi, "maxp5gla0");
28065 pi->nphy_pwrctrl_info[1].max_pwr_5gl =
28066 (s8) PHY_GETINTVAR(pi, "maxp5gla1");
28067 pi->nphy_pwrctrl_info[0].pwrdet_5gl_a1 =
28068 (s16) PHY_GETINTVAR(pi, "pa5glw0a0");
28069 pi->nphy_pwrctrl_info[1].pwrdet_5gl_a1 =
28070 (s16) PHY_GETINTVAR(pi, "pa5glw0a1");
28071 pi->nphy_pwrctrl_info[0].pwrdet_5gl_b0 =
28072 (s16) PHY_GETINTVAR(pi, "pa5glw1a0");
28073 pi->nphy_pwrctrl_info[1].pwrdet_5gl_b0 =
28074 (s16) PHY_GETINTVAR(pi, "pa5glw1a1");
28075 pi->nphy_pwrctrl_info[0].pwrdet_5gl_b1 =
28076 (s16) PHY_GETINTVAR(pi, "pa5glw2a0");
28077 pi->nphy_pwrctrl_info[1].pwrdet_5gl_b1 =
28078 (s16) PHY_GETINTVAR(pi, "pa5glw2a1");
28079 pi->nphy_pwrctrl_info[0].idle_targ_5gl = 0;
28080 pi->nphy_pwrctrl_info[1].idle_targ_5gl = 0;
28082 pi->ofdm5glpo = (u32) PHY_GETINTVAR(pi, "ofdm5glpo");
28085 (u16) PHY_GETINTVAR(pi, "mcs5glpo0");
28087 (u16) PHY_GETINTVAR(pi, "mcs5glpo1");
28089 (u16) PHY_GETINTVAR(pi, "mcs5glpo2");
28091 (u16) PHY_GETINTVAR(pi, "mcs5glpo3");
28093 (u16) PHY_GETINTVAR(pi, "mcs5glpo4");
28095 (u16) PHY_GETINTVAR(pi, "mcs5glpo5");
28097 (u16) PHY_GETINTVAR(pi, "mcs5glpo6");
28099 (u16) PHY_GETINTVAR(pi, "mcs5glpo7");
28103 pi->nphy_txpid5gh[0] =
28104 (u8) PHY_GETINTVAR(pi, "txpid5gha0");
28105 pi->nphy_txpid5gh[1] =
28106 (u8) PHY_GETINTVAR(pi, "txpid5gha1");
28107 pi->nphy_pwrctrl_info[0].max_pwr_5gh =
28108 (s8) PHY_GETINTVAR(pi, "maxp5gha0");
28109 pi->nphy_pwrctrl_info[1].max_pwr_5gh =
28110 (s8) PHY_GETINTVAR(pi, "maxp5gha1");
28111 pi->nphy_pwrctrl_info[0].pwrdet_5gh_a1 =
28112 (s16) PHY_GETINTVAR(pi, "pa5ghw0a0");
28113 pi->nphy_pwrctrl_info[1].pwrdet_5gh_a1 =
28114 (s16) PHY_GETINTVAR(pi, "pa5ghw0a1");
28115 pi->nphy_pwrctrl_info[0].pwrdet_5gh_b0 =
28116 (s16) PHY_GETINTVAR(pi, "pa5ghw1a0");
28117 pi->nphy_pwrctrl_info[1].pwrdet_5gh_b0 =
28118 (s16) PHY_GETINTVAR(pi, "pa5ghw1a1");
28119 pi->nphy_pwrctrl_info[0].pwrdet_5gh_b1 =
28120 (s16) PHY_GETINTVAR(pi, "pa5ghw2a0");
28121 pi->nphy_pwrctrl_info[1].pwrdet_5gh_b1 =
28122 (s16) PHY_GETINTVAR(pi, "pa5ghw2a1");
28123 pi->nphy_pwrctrl_info[0].idle_targ_5gh = 0;
28124 pi->nphy_pwrctrl_info[1].idle_targ_5gh = 0;
28126 pi->ofdm5ghpo = (u32) PHY_GETINTVAR(pi, "ofdm5ghpo");
28129 (u16) PHY_GETINTVAR(pi, "mcs5ghpo0");
28131 (u16) PHY_GETINTVAR(pi, "mcs5ghpo1");
28133 (u16) PHY_GETINTVAR(pi, "mcs5ghpo2");
28135 (u16) PHY_GETINTVAR(pi, "mcs5ghpo3");
28137 (u16) PHY_GETINTVAR(pi, "mcs5ghpo4");
28139 (u16) PHY_GETINTVAR(pi, "mcs5ghpo5");
28141 (u16) PHY_GETINTVAR(pi, "mcs5ghpo6");
28143 (u16) PHY_GETINTVAR(pi, "mcs5ghpo7");
28148 wlc_phy_txpwr_apply_nphy(pi);
28151 static bool wlc_phy_txpwr_srom_read_nphy(phy_info_t *pi)
28154 pi->antswitch = (u8) PHY_GETINTVAR(pi, "antswitch");
28155 pi->aa2g = (u8) PHY_GETINTVAR(pi, "aa2g");
28156 pi->aa5g = (u8) PHY_GETINTVAR(pi, "aa5g");
28158 pi->srom_fem2g.tssipos = (u8) PHY_GETINTVAR(pi, "tssipos2g");
28159 pi->srom_fem2g.extpagain = (u8) PHY_GETINTVAR(pi, "extpagain2g");
28160 pi->srom_fem2g.pdetrange = (u8) PHY_GETINTVAR(pi, "pdetrange2g");
28161 pi->srom_fem2g.triso = (u8) PHY_GETINTVAR(pi, "triso2g");
28162 pi->srom_fem2g.antswctrllut = (u8) PHY_GETINTVAR(pi, "antswctl2g");
28164 pi->srom_fem5g.tssipos = (u8) PHY_GETINTVAR(pi, "tssipos5g");
28165 pi->srom_fem5g.extpagain = (u8) PHY_GETINTVAR(pi, "extpagain5g");
28166 pi->srom_fem5g.pdetrange = (u8) PHY_GETINTVAR(pi, "pdetrange5g");
28167 pi->srom_fem5g.triso = (u8) PHY_GETINTVAR(pi, "triso5g");
28168 if (PHY_GETVAR(pi, "antswctl5g")) {
28170 pi->srom_fem5g.antswctrllut =
28171 (u8) PHY_GETINTVAR(pi, "antswctl5g");
28174 pi->srom_fem5g.antswctrllut =
28175 (u8) PHY_GETINTVAR(pi, "antswctl2g");
28178 wlc_phy_txpower_ipa_upd(pi);
28180 pi->phy_txcore_disable_temp = (s16) PHY_GETINTVAR(pi, "tempthresh");
28181 if (pi->phy_txcore_disable_temp == 0) {
28182 pi->phy_txcore_disable_temp = PHY_CHAIN_TX_DISABLE_TEMP;
28185 pi->phy_tempsense_offset = (s8) PHY_GETINTVAR(pi, "tempoffset");
28186 if (pi->phy_tempsense_offset != 0) {
28187 if (pi->phy_tempsense_offset >
28188 (NPHY_SROM_TEMPSHIFT + NPHY_SROM_MAXTEMPOFFSET)) {
28189 pi->phy_tempsense_offset = NPHY_SROM_MAXTEMPOFFSET;
28190 } else if (pi->phy_tempsense_offset < (NPHY_SROM_TEMPSHIFT +
28191 NPHY_SROM_MINTEMPOFFSET)) {
28192 pi->phy_tempsense_offset = NPHY_SROM_MINTEMPOFFSET;
28194 pi->phy_tempsense_offset -= NPHY_SROM_TEMPSHIFT;
28198 pi->phy_txcore_enable_temp =
28199 pi->phy_txcore_disable_temp - PHY_HYSTERESIS_DELTATEMP;
28201 pi->phycal_tempdelta = (u8) PHY_GETINTVAR(pi, "phycal_tempdelta");
28202 if (pi->phycal_tempdelta > NPHY_CAL_MAXTEMPDELTA) {
28203 pi->phycal_tempdelta = 0;
28206 wlc_phy_txpwr_srom_read_ppr_nphy(pi);
28211 void wlc_phy_txpower_recalc_target_nphy(phy_info_t *pi)
28213 u8 tx_pwr_ctrl_state;
28214 wlc_phy_txpwr_limit_to_tbl_nphy(pi);
28215 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
28217 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
28219 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12)) {
28220 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, MCTL_PHYLOCK);
28221 (void)R_REG(pi->sh->osh, &pi->regs->maccontrol);
28225 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
28227 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12))
28228 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, 0);
28231 static void wlc_phy_txpwrctrl_coeff_setup_nphy(phy_info_t *pi)
28235 u32 iqcomp, locomp, curr_locomp;
28236 s8 locomp_i, locomp_q;
28237 s8 curr_locomp_i, curr_locomp_q;
28238 u32 tbl_id, tbl_len, tbl_offset;
28241 if (pi->phyhang_avoid)
28242 wlc_phy_stay_in_carriersearch_nphy(pi, true);
28244 wlc_phy_table_read_nphy(pi, 15, 7, 80, 16, iqloCalbuf);
28248 for (tbl_id = NPHY_TBL_ID_CORE1TXPWRCTL;
28249 tbl_id <= NPHY_TBL_ID_CORE2TXPWRCTL; tbl_id++) {
28252 26) ? (((u32) (iqloCalbuf[0] & 0x3ff)) << 10) |
28253 (iqloCalbuf[1] & 0x3ff)
28254 : (((u32) (iqloCalbuf[2] & 0x3ff)) << 10) |
28255 (iqloCalbuf[3] & 0x3ff);
28257 for (idx = 0; idx < tbl_len; idx++) {
28258 regval[idx] = iqcomp;
28260 wlc_phy_table_write_nphy(pi, tbl_id, tbl_len, tbl_offset, 32,
28265 for (tbl_id = NPHY_TBL_ID_CORE1TXPWRCTL;
28266 tbl_id <= NPHY_TBL_ID_CORE2TXPWRCTL; tbl_id++) {
28269 (u32) ((tbl_id == 26) ? iqloCalbuf[5] : iqloCalbuf[6]);
28270 locomp_i = (s8) ((locomp >> 8) & 0xff);
28271 locomp_q = (s8) ((locomp) & 0xff);
28272 for (idx = 0; idx < tbl_len; idx++) {
28273 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28274 curr_locomp_i = locomp_i;
28275 curr_locomp_q = locomp_q;
28277 curr_locomp_i = (s8) ((locomp_i *
28278 nphy_tpc_loscale[idx] +
28281 (s8) ((locomp_q * nphy_tpc_loscale[idx] +
28284 curr_locomp = (u32) ((curr_locomp_i & 0xff) << 8);
28285 curr_locomp |= (u32) (curr_locomp_q & 0xff);
28286 regval[idx] = curr_locomp;
28288 wlc_phy_table_write_nphy(pi, tbl_id, tbl_len, tbl_offset, 32,
28292 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
28294 wlapi_bmac_write_shm(pi->sh->physhim, M_CURR_IDX1, 0xFFFF);
28295 wlapi_bmac_write_shm(pi->sh->physhim, M_CURR_IDX2, 0xFFFF);
28298 if (pi->phyhang_avoid)
28299 wlc_phy_stay_in_carriersearch_nphy(pi, false);
28302 static void wlc_phy_ipa_internal_tssi_setup_nphy(phy_info_t *pi)
28306 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28307 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
28308 if (CHSPEC_IS2G(pi->radio_chanspec)) {
28309 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28310 TX_SSI_MASTER, 0x5);
28311 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28314 if (pi->pubpi.radiorev != 5)
28315 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
28318 if (!NREV_IS(pi->pubpi.phy_rev, 7)) {
28320 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
28324 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
28325 core, TSSIG, 0x31);
28328 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28329 TX_SSI_MASTER, 0x9);
28330 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28332 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28335 if (pi->pubpi.radiorev != 5) {
28336 if (!NREV_IS(pi->pubpi.phy_rev, 7)) {
28338 WRITE_RADIO_REG3(pi, RADIO_2057,
28343 WRITE_RADIO_REG3(pi, RADIO_2057,
28349 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_VCM_HG,
28351 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_IDAC,
28353 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_VCM,
28355 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_MISC1,
28359 WRITE_RADIO_SYN(pi, RADIO_2056, RESERVED_ADDR31,
28360 (CHSPEC_IS2G(pi->radio_chanspec)) ? 0x128 :
28362 WRITE_RADIO_SYN(pi, RADIO_2056, RESERVED_ADDR30, 0x0);
28363 WRITE_RADIO_SYN(pi, RADIO_2056, GPIO_MASTER1, 0x29);
28365 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
28366 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, IQCAL_VCM_HG,
28368 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, IQCAL_IDAC,
28370 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_VCM,
28372 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TX_AMP_DET,
28374 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_MISC1,
28376 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_MISC2,
28378 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_MISC3,
28381 if (CHSPEC_IS2G(pi->radio_chanspec)) {
28382 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28383 TX_SSI_MASTER, 0x5);
28385 if (pi->pubpi.radiorev != 5)
28386 WRITE_RADIO_REG2(pi, RADIO_2056, TX,
28388 if (NREV_GE(pi->pubpi.phy_rev, 5)) {
28390 WRITE_RADIO_REG2(pi, RADIO_2056, TX,
28391 core, TSSIG, 0x31);
28393 WRITE_RADIO_REG2(pi, RADIO_2056, TX,
28394 core, TSSIG, 0x11);
28396 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28399 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28400 TX_SSI_MASTER, 0x9);
28401 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28403 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28405 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28412 static void wlc_phy_txpwrctrl_idle_tssi_nphy(phy_info_t *pi)
28417 if (SCAN_RM_IN_PROGRESS(pi) || PLT_INPROG_PHY(pi) || PHY_MUTED(pi))
28422 wlc_phy_ipa_internal_tssi_setup_nphy(pi);
28425 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28426 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12),
28428 NPHY_REV7_RFCTRLOVERRIDE_ID0);
28429 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28430 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 13), 0, 3, 0);
28433 wlc_phy_stopplayback_nphy(pi);
28435 wlc_phy_tx_tone_nphy(pi, 4000, 0, 0, 0, false);
28439 wlc_phy_poll_rssi_nphy(pi, (u8) NPHY_RSSI_SEL_TSSI_2G, rssi_buf,
28441 wlc_phy_stopplayback_nphy(pi);
28442 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_OFF, 0);
28444 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28445 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12),
28447 NPHY_REV7_RFCTRLOVERRIDE_ID0);
28448 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28449 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 13), 0, 3, 1);
28452 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28454 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_2g =
28455 (u8) ((int_val >> 24) & 0xff);
28456 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_5g =
28457 (u8) ((int_val >> 24) & 0xff);
28459 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_2g =
28460 (u8) ((int_val >> 8) & 0xff);
28461 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_5g =
28462 (u8) ((int_val >> 8) & 0xff);
28464 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_2g =
28465 (u8) ((int_val >> 24) & 0xff);
28467 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_2g =
28468 (u8) ((int_val >> 8) & 0xff);
28470 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_5g =
28471 (u8) ((int_val >> 16) & 0xff);
28472 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_5g =
28473 (u8) ((int_val) & 0xff);
28478 static void wlc_phy_txpwrctrl_pwr_setup_nphy(phy_info_t *pi)
28481 s16 a1[2], b0[2], b1[2];
28482 s8 target_pwr_qtrdbm[2];
28483 s32 num, den, pwr_est;
28484 u8 chan_freq_range;
28486 u32 tbl_id, tbl_len, tbl_offset;
28490 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12)) {
28491 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, MCTL_PHYLOCK);
28492 (void)R_REG(pi->sh->osh, &pi->regs->maccontrol);
28496 if (pi->phyhang_avoid)
28497 wlc_phy_stay_in_carriersearch_nphy(pi, true);
28499 or_phy_reg(pi, 0x122, (0x1 << 0));
28501 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28502 and_phy_reg(pi, 0x1e7, (u16) (~(0x1 << 15)));
28505 or_phy_reg(pi, 0x1e7, (0x1 << 15));
28508 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12))
28509 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, 0);
28511 if (pi->sh->sromrev < 4) {
28512 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_2g;
28513 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_2g;
28514 target_pwr_qtrdbm[0] = 13 * 4;
28515 target_pwr_qtrdbm[1] = 13 * 4;
28524 chan_freq_range = wlc_phy_get_chan_freq_range_nphy(pi, 0);
28525 switch (chan_freq_range) {
28526 case WL_CHAN_FREQ_RANGE_2G:
28527 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_2g;
28528 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_2g;
28529 target_pwr_qtrdbm[0] =
28530 pi->nphy_pwrctrl_info[0].max_pwr_2g;
28531 target_pwr_qtrdbm[1] =
28532 pi->nphy_pwrctrl_info[1].max_pwr_2g;
28533 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_2g_a1;
28534 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_2g_a1;
28535 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_2g_b0;
28536 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_2g_b0;
28537 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_2g_b1;
28538 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_2g_b1;
28540 case WL_CHAN_FREQ_RANGE_5GL:
28541 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_5g;
28542 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_5g;
28543 target_pwr_qtrdbm[0] =
28544 pi->nphy_pwrctrl_info[0].max_pwr_5gl;
28545 target_pwr_qtrdbm[1] =
28546 pi->nphy_pwrctrl_info[1].max_pwr_5gl;
28547 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gl_a1;
28548 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gl_a1;
28549 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gl_b0;
28550 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gl_b0;
28551 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gl_b1;
28552 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gl_b1;
28554 case WL_CHAN_FREQ_RANGE_5GM:
28555 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_5g;
28556 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_5g;
28557 target_pwr_qtrdbm[0] =
28558 pi->nphy_pwrctrl_info[0].max_pwr_5gm;
28559 target_pwr_qtrdbm[1] =
28560 pi->nphy_pwrctrl_info[1].max_pwr_5gm;
28561 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gm_a1;
28562 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gm_a1;
28563 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gm_b0;
28564 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gm_b0;
28565 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gm_b1;
28566 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gm_b1;
28568 case WL_CHAN_FREQ_RANGE_5GH:
28569 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_5g;
28570 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_5g;
28571 target_pwr_qtrdbm[0] =
28572 pi->nphy_pwrctrl_info[0].max_pwr_5gh;
28573 target_pwr_qtrdbm[1] =
28574 pi->nphy_pwrctrl_info[1].max_pwr_5gh;
28575 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gh_a1;
28576 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gh_a1;
28577 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gh_b0;
28578 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gh_b0;
28579 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gh_b1;
28580 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gh_b1;
28583 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_2g;
28584 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_2g;
28585 target_pwr_qtrdbm[0] = 13 * 4;
28586 target_pwr_qtrdbm[1] = 13 * 4;
28597 target_pwr_qtrdbm[0] = (s8) pi->tx_power_max;
28598 target_pwr_qtrdbm[1] = (s8) pi->tx_power_max;
28600 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28601 if (pi->srom_fem2g.tssipos) {
28602 or_phy_reg(pi, 0x1e9, (0x1 << 14));
28605 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28606 for (core = 0; core <= 1; core++) {
28609 if (CHSPEC_IS2G(pi->radio_chanspec)) {
28610 WRITE_RADIO_REG3(pi, RADIO_2057,
28615 WRITE_RADIO_REG3(pi, RADIO_2057,
28626 write_radio_reg(pi, RADIO_2056_TX_TX_SSI_MUX |
28630 radio_chanspec)) ? 0xc : 0xe);
28631 write_radio_reg(pi,
28632 RADIO_2056_TX_TX_SSI_MUX |
28636 radio_chanspec)) ? 0xc : 0xe);
28639 write_radio_reg(pi, RADIO_2056_TX_TX_SSI_MUX |
28640 RADIO_2056_TX0, 0x11);
28641 write_radio_reg(pi, RADIO_2056_TX_TX_SSI_MUX |
28642 RADIO_2056_TX1, 0x11);
28647 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12)) {
28648 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, MCTL_PHYLOCK);
28649 (void)R_REG(pi->sh->osh, &pi->regs->maccontrol);
28653 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28654 mod_phy_reg(pi, 0x1e7, (0x7f << 0),
28655 (NPHY_TxPwrCtrlCmd_pwrIndex_init_rev7 << 0));
28657 mod_phy_reg(pi, 0x1e7, (0x7f << 0),
28658 (NPHY_TxPwrCtrlCmd_pwrIndex_init << 0));
28661 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28662 mod_phy_reg(pi, 0x222, (0xff << 0),
28663 (NPHY_TxPwrCtrlCmd_pwrIndex_init_rev7 << 0));
28664 } else if (NREV_GT(pi->pubpi.phy_rev, 1)) {
28665 mod_phy_reg(pi, 0x222, (0xff << 0),
28666 (NPHY_TxPwrCtrlCmd_pwrIndex_init << 0));
28669 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12))
28670 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, 0);
28672 write_phy_reg(pi, 0x1e8, (0x3 << 8) | (240 << 0));
28674 write_phy_reg(pi, 0x1e9,
28675 (1 << 15) | (idle_tssi[0] << 0) | (idle_tssi[1] << 8));
28677 write_phy_reg(pi, 0x1ea,
28678 (target_pwr_qtrdbm[0] << 0) |
28679 (target_pwr_qtrdbm[1] << 8));
28683 for (tbl_id = NPHY_TBL_ID_CORE1TXPWRCTL;
28684 tbl_id <= NPHY_TBL_ID_CORE2TXPWRCTL; tbl_id++) {
28686 for (idx = 0; idx < tbl_len; idx++) {
28688 8 * (16 * b0[tbl_id - 26] + b1[tbl_id - 26] * idx);
28689 den = 32768 + a1[tbl_id - 26] * idx;
28690 pwr_est = max(((4 * num + den / 2) / den), -8);
28691 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
28693 (uint) (31 - idle_tssi[tbl_id - 26] + 1))
28696 target_pwr_qtrdbm[tbl_id - 26] +
28699 regval[idx] = (u32) pwr_est;
28701 wlc_phy_table_write_nphy(pi, tbl_id, tbl_len, tbl_offset, 32,
28705 wlc_phy_txpwr_limit_to_tbl_nphy(pi);
28706 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 84, 64, 8,
28707 pi->adj_pwr_tbl_nphy);
28708 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 84, 64, 8,
28709 pi->adj_pwr_tbl_nphy);
28711 if (pi->phyhang_avoid)
28712 wlc_phy_stay_in_carriersearch_nphy(pi, false);
28715 static bool wlc_phy_txpwr_ison_nphy(phy_info_t *pi)
28717 return read_phy_reg((pi), 0x1e7) & ((0x1 << 15) |
28718 (0x1 << 14) | (0x1 << 13));
28721 static u8 wlc_phy_txpwr_idx_cur_get_nphy(phy_info_t *pi, u8 core)
28724 tmp = read_phy_reg(pi, ((core == PHY_CORE_0) ? 0x1ed : 0x1ee));
28726 tmp = (tmp & (0x7f << 8)) >> 8;
28731 wlc_phy_txpwr_idx_cur_set_nphy(phy_info_t *pi, u8 idx0, u8 idx1)
28733 mod_phy_reg(pi, 0x1e7, (0x7f << 0), idx0);
28735 if (NREV_GT(pi->pubpi.phy_rev, 1))
28736 mod_phy_reg(pi, 0x222, (0xff << 0), idx1);
28739 u16 wlc_phy_txpwr_idx_get_nphy(phy_info_t *pi)
28744 if (wlc_phy_txpwr_ison_nphy(pi)) {
28745 pwr_idx[0] = wlc_phy_txpwr_idx_cur_get_nphy(pi, PHY_CORE_0);
28746 pwr_idx[1] = wlc_phy_txpwr_idx_cur_get_nphy(pi, PHY_CORE_1);
28748 tmp = (pwr_idx[0] << 8) | pwr_idx[1];
28751 ((pi->nphy_txpwrindex[PHY_CORE_0].
28752 index_internal & 0xff) << 8) | (pi->
28755 index_internal & 0xff);
28761 void wlc_phy_txpwr_papd_cal_nphy(phy_info_t *pi)
28764 && (pi->nphy_force_papd_cal
28765 || (wlc_phy_txpwr_ison_nphy(pi)
28768 ABS(wlc_phy_txpwr_idx_cur_get_nphy(pi, 0) -
28769 pi->nphy_papd_tx_gain_at_last_cal[0]) >= 4)
28771 ABS(wlc_phy_txpwr_idx_cur_get_nphy(pi, 1) -
28772 pi->nphy_papd_tx_gain_at_last_cal[1]) >= 4))))) {
28773 wlc_phy_a4(pi, true);
28777 void wlc_phy_txpwrctrl_enable_nphy(phy_info_t *pi, u8 ctrl_type)
28779 u16 mask = 0, val = 0, ishw = 0;
28786 if (pi->phyhang_avoid)
28787 wlc_phy_stay_in_carriersearch_nphy(pi, true);
28789 switch (ctrl_type) {
28790 case PHY_TPC_HW_OFF:
28791 case PHY_TPC_HW_ON:
28792 pi->nphy_txpwrctrl = ctrl_type;
28798 if (ctrl_type == PHY_TPC_HW_OFF) {
28799 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28801 if (wlc_phy_txpwr_ison_nphy(pi)) {
28802 for (core = 0; core < pi->pubpi.phy_corenum;
28804 pi->nphy_txpwr_idx[core] =
28805 wlc_phy_txpwr_idx_cur_get_nphy(pi,
28814 for (ctr = 0; ctr < tbl_len; ctr++) {
28817 wlc_phy_table_write_nphy(pi, 26, tbl_len, tbl_offset, 16,
28819 wlc_phy_table_write_nphy(pi, 27, tbl_len, tbl_offset, 16,
28822 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28824 and_phy_reg(pi, 0x1e7,
28825 (u16) (~((0x1 << 15) |
28826 (0x1 << 14) | (0x1 << 13))));
28828 and_phy_reg(pi, 0x1e7,
28829 (u16) (~((0x1 << 14) | (0x1 << 13))));
28832 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28833 or_phy_reg(pi, 0x8f, (0x1 << 8));
28834 or_phy_reg(pi, 0xa5, (0x1 << 8));
28836 or_phy_reg(pi, 0xa5, (0x1 << 14));
28839 if (NREV_IS(pi->pubpi.phy_rev, 2))
28840 mod_phy_reg(pi, 0xdc, 0x00ff, 0x53);
28841 else if (NREV_LT(pi->pubpi.phy_rev, 2))
28842 mod_phy_reg(pi, 0xdc, 0x00ff, 0x5a);
28844 if (NREV_LT(pi->pubpi.phy_rev, 2) && IS40MHZ(pi))
28845 wlapi_bmac_mhf(pi->sh->physhim, MHF1, MHF1_IQSWAP_WAR,
28846 MHF1_IQSWAP_WAR, WLC_BAND_ALL);
28850 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 84, 64,
28851 8, pi->adj_pwr_tbl_nphy);
28852 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 84, 64,
28853 8, pi->adj_pwr_tbl_nphy);
28855 ishw = (ctrl_type == PHY_TPC_HW_ON) ? 0x1 : 0x0;
28856 mask = (0x1 << 14) | (0x1 << 13);
28857 val = (ishw << 14) | (ishw << 13);
28859 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28860 mask |= (0x1 << 15);
28861 val |= (ishw << 15);
28864 mod_phy_reg(pi, 0x1e7, mask, val);
28866 if (CHSPEC_IS5G(pi->radio_chanspec)) {
28867 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28868 mod_phy_reg(pi, 0x1e7, (0x7f << 0), 0x32);
28869 mod_phy_reg(pi, 0x222, (0xff << 0), 0x32);
28871 mod_phy_reg(pi, 0x1e7, (0x7f << 0), 0x64);
28872 if (NREV_GT(pi->pubpi.phy_rev, 1))
28873 mod_phy_reg(pi, 0x222,
28874 (0xff << 0), 0x64);
28878 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28879 if ((pi->nphy_txpwr_idx[0] != 128)
28880 && (pi->nphy_txpwr_idx[1] != 128)) {
28881 wlc_phy_txpwr_idx_cur_set_nphy(pi,
28891 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28892 and_phy_reg(pi, 0x8f, ~(0x1 << 8));
28893 and_phy_reg(pi, 0xa5, ~(0x1 << 8));
28895 and_phy_reg(pi, 0xa5, ~(0x1 << 14));
28898 if (NREV_IS(pi->pubpi.phy_rev, 2))
28899 mod_phy_reg(pi, 0xdc, 0x00ff, 0x3b);
28900 else if (NREV_LT(pi->pubpi.phy_rev, 2))
28901 mod_phy_reg(pi, 0xdc, 0x00ff, 0x40);
28903 if (NREV_LT(pi->pubpi.phy_rev, 2) && IS40MHZ(pi))
28904 wlapi_bmac_mhf(pi->sh->physhim, MHF1, MHF1_IQSWAP_WAR,
28905 0x0, WLC_BAND_ALL);
28908 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
28909 0x29b, (0x1 << 2), (0) << 2);
28911 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
28912 0x29b, (0x1 << 2), (0) << 2);
28918 if (pi->phyhang_avoid)
28919 wlc_phy_stay_in_carriersearch_nphy(pi, false);
28923 wlc_phy_txpwr_index_nphy(phy_info_t *pi, u8 core_mask, s8 txpwrindex,
28926 u8 core, txpwrctl_tbl;
28927 u16 tx_ind0, iq_ind0, lo_ind0;
28930 u16 rad_gain, dac_gain;
28933 u16 iqcomp_a, iqcomp_b;
28936 u8 tx_pwr_ctrl_state;
28940 if (pi->phyhang_avoid)
28941 wlc_phy_stay_in_carriersearch_nphy(pi, true);
28947 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
28949 if ((core_mask & (1 << core)) == 0) {
28953 txpwrctl_tbl = (core == PHY_CORE_0) ? 26 : 27;
28955 if (txpwrindex < 0) {
28956 if (pi->nphy_txpwrindex[core].index < 0) {
28961 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28962 mod_phy_reg(pi, 0x8f,
28964 pi->nphy_txpwrindex[core].
28966 mod_phy_reg(pi, 0xa5, (0x1 << 8),
28967 pi->nphy_txpwrindex[core].
28970 mod_phy_reg(pi, 0xa5,
28972 pi->nphy_txpwrindex[core].
28976 write_phy_reg(pi, (core == PHY_CORE_0) ?
28978 pi->nphy_txpwrindex[core].AfeCtrlDacGain);
28980 wlc_phy_table_write_nphy(pi, 7, 1, (0x110 + core), 16,
28981 &pi->nphy_txpwrindex[core].
28984 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m1m2);
28985 m1m2 &= ((core == PHY_CORE_0) ? 0x00ff : 0xff00);
28986 m1m2 |= ((core == PHY_CORE_0) ?
28987 (pi->nphy_txpwrindex[core].bbmult << 8) :
28988 (pi->nphy_txpwrindex[core].bbmult << 0));
28989 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m1m2);
28991 if (restore_cals) {
28993 wlc_phy_table_write_nphy(pi, 15, 2,
28994 (80 + 2 * core), 16,
28996 nphy_txpwrindex[core].
28999 wlc_phy_table_write_nphy(pi, 15, 1, (85 + core),
29002 nphy_txpwrindex[core].
29004 wlc_phy_table_write_nphy(pi, 15, 1, (93 + core),
29007 nphy_txpwrindex[core].
29011 wlc_phy_txpwrctrl_enable_nphy(pi, pi->nphy_txpwrctrl);
29013 pi->nphy_txpwrindex[core].index_internal =
29014 pi->nphy_txpwrindex[core].index_internal_save;
29017 if (pi->nphy_txpwrindex[core].index < 0) {
29019 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
29020 mod_phy_reg(pi, 0x8f,
29022 pi->nphy_txpwrindex[core].
29024 mod_phy_reg(pi, 0xa5, (0x1 << 8),
29025 pi->nphy_txpwrindex[core].
29028 pi->nphy_txpwrindex[core].
29030 read_phy_reg(pi, 0xa5);
29033 pi->nphy_txpwrindex[core].AfeCtrlDacGain =
29036 PHY_CORE_0) ? 0xaa : 0xab);
29038 wlc_phy_table_read_nphy(pi, 7, 1,
29039 (0x110 + core), 16,
29041 nphy_txpwrindex[core].
29044 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16,
29046 tmpval >>= ((core == PHY_CORE_0) ? 8 : 0);
29048 pi->nphy_txpwrindex[core].bbmult =
29051 wlc_phy_table_read_nphy(pi, 15, 2,
29052 (80 + 2 * core), 16,
29054 nphy_txpwrindex[core].
29057 wlc_phy_table_read_nphy(pi, 15, 1, (85 + core),
29060 nphy_txpwrindex[core].
29063 pi->nphy_txpwrindex[core].index_internal_save =
29064 pi->nphy_txpwrindex[core].index_internal;
29067 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
29068 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
29070 if (NREV_IS(pi->pubpi.phy_rev, 1))
29071 wlapi_bmac_phyclk_fgc(pi->sh->physhim, ON);
29073 wlc_phy_table_read_nphy(pi, txpwrctl_tbl, 1,
29074 (tx_ind0 + txpwrindex), 32,
29077 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
29079 (txgain >> 16) & ((1 << (32 - 16 + 1)) - 1);
29082 (txgain >> 16) & ((1 << (28 - 16 + 1)) - 1);
29084 dac_gain = (txgain >> 8) & ((1 << (13 - 8 + 1)) - 1);
29085 bbmult = (txgain >> 0) & ((1 << (7 - 0 + 1)) - 1);
29087 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
29088 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
29089 0xa5), (0x1 << 8), (0x1 << 8));
29091 mod_phy_reg(pi, 0xa5, (0x1 << 14), (0x1 << 14));
29093 write_phy_reg(pi, (core == PHY_CORE_0) ?
29094 0xaa : 0xab, dac_gain);
29096 wlc_phy_table_write_nphy(pi, 7, 1, (0x110 + core), 16,
29099 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m1m2);
29100 m1m2 &= ((core == PHY_CORE_0) ? 0x00ff : 0xff00);
29103 PHY_CORE_0) ? (bbmult << 8) : (bbmult << 0));
29105 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m1m2);
29107 wlc_phy_table_read_nphy(pi, txpwrctl_tbl, 1,
29108 (iq_ind0 + txpwrindex), 32,
29110 iqcomp_a = (iqcomp >> 10) & ((1 << (19 - 10 + 1)) - 1);
29111 iqcomp_b = (iqcomp >> 0) & ((1 << (9 - 0 + 1)) - 1);
29113 if (restore_cals) {
29114 regval[0] = (u16) iqcomp_a;
29115 regval[1] = (u16) iqcomp_b;
29116 wlc_phy_table_write_nphy(pi, 15, 2,
29117 (80 + 2 * core), 16,
29121 wlc_phy_table_read_nphy(pi, txpwrctl_tbl, 1,
29122 (lo_ind0 + txpwrindex), 32,
29124 if (restore_cals) {
29125 wlc_phy_table_write_nphy(pi, 15, 1, (85 + core),
29129 if (NREV_IS(pi->pubpi.phy_rev, 1))
29130 wlapi_bmac_phyclk_fgc(pi->sh->physhim, OFF);
29133 wlc_phy_table_read_nphy(pi,
29136 NPHY_TBL_ID_CORE1TXPWRCTL
29138 NPHY_TBL_ID_CORE2TXPWRCTL),
29139 1, 576 + txpwrindex, 32,
29142 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
29143 0x29b, (0x1ff << 4),
29144 ((s16) rfpwr_offset) << 4);
29146 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
29147 0x29b, (0x1 << 2), (1) << 2);
29151 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
29154 pi->nphy_txpwrindex[core].index = txpwrindex;
29157 if (pi->phyhang_avoid)
29158 wlc_phy_stay_in_carriersearch_nphy(pi, false);
29162 wlc_phy_txpower_sromlimit_get_nphy(phy_info_t *pi, uint chan, u8 *max_pwr,
29165 u8 chan_freq_range;
29167 chan_freq_range = wlc_phy_get_chan_freq_range_nphy(pi, chan);
29168 switch (chan_freq_range) {
29169 case WL_CHAN_FREQ_RANGE_2G:
29170 *max_pwr = pi->tx_srom_max_rate_2g[txp_rate_idx];
29172 case WL_CHAN_FREQ_RANGE_5GM:
29173 *max_pwr = pi->tx_srom_max_rate_5g_mid[txp_rate_idx];
29175 case WL_CHAN_FREQ_RANGE_5GL:
29176 *max_pwr = pi->tx_srom_max_rate_5g_low[txp_rate_idx];
29178 case WL_CHAN_FREQ_RANGE_5GH:
29179 *max_pwr = pi->tx_srom_max_rate_5g_hi[txp_rate_idx];
29183 *max_pwr = pi->tx_srom_max_rate_2g[txp_rate_idx];
29190 void wlc_phy_stay_in_carriersearch_nphy(phy_info_t *pi, bool enable)
29192 u16 clip_off[] = { 0xffff, 0xffff };
29194 ASSERT(0 == (R_REG(pi->sh->osh, &pi->regs->maccontrol) & MCTL_EN_MAC));
29197 if (pi->nphy_deaf_count == 0) {
29198 pi->classifier_state =
29199 wlc_phy_classifier_nphy(pi, 0, 0);
29200 wlc_phy_classifier_nphy(pi, (0x7 << 0), 4);
29201 wlc_phy_clip_det_nphy(pi, 0, pi->clip_state);
29202 wlc_phy_clip_det_nphy(pi, 1, clip_off);
29205 pi->nphy_deaf_count++;
29207 wlc_phy_resetcca_nphy(pi);
29210 ASSERT(pi->nphy_deaf_count > 0);
29212 pi->nphy_deaf_count--;
29214 if (pi->nphy_deaf_count == 0) {
29215 wlc_phy_classifier_nphy(pi, (0x7 << 0),
29216 pi->classifier_state);
29217 wlc_phy_clip_det_nphy(pi, 1, pi->clip_state);
29222 void wlc_nphy_deaf_mode(phy_info_t *pi, bool mode)
29224 wlapi_suspend_mac_and_wait(pi->sh->physhim);
29227 if (pi->nphy_deaf_count == 0)
29228 wlc_phy_stay_in_carriersearch_nphy(pi, true);
29230 if (pi->nphy_deaf_count > 0)
29231 wlc_phy_stay_in_carriersearch_nphy(pi, false);
29233 wlapi_enable_mac(pi->sh->physhim);